Help - Search - Members - Calendar
Full Version: To PNS or Not PNS
Hydrogenaudio Forums > Lossy Audio Compression > AAC > AAC - General
guest0101
In a recent discussion with Alexander Lerch (the developer of the Compaact! encoder), this topic came up of whether the PNS setting shoiuld be turned on by default . We didn't come to a conclusion, and I wanted to get your feedback of the pros and cons of enabling the PNS setting in an MP4/M4A encoder.

Your comments about when (if ever) the PNS setting should be used would be appreciated also, as many people are confused about the PNS setting.

Is it only for low bitrates or for every bitrate? Nero has PNS turned off by default as do many other encoders. Is there ever a case for it to be turned on by default by the encoder? You weigh in and decide. Thanks!

Hopefully the results of this poll will help Alexander (and other developers of MP4 encoders) that are faced with the decision of whether to turn the PNS encoding setting on by default in their apps or not.

Also, hopefully we can share our experiences about if/when the PNS encoding setting helps (or hurts) the resulting encoded output file.
Ivan Dimkovic
QUOTE
Is it only for low bitrates or for every bitrate? Nero has PNS turned off by default as do most other encoders. Is there ever a case for it to be turned on by default by the encoder? You weigh in and decide. Thanks!


New upcoming version of AAC encoder in Nero will have PNS on by default for certain codec configurations (low bit rate modes and some new encoder configurations)

PNS, if implemeted correctly, could improve quality a lot for low bit rates only - high bit rate gain is not that big.

However, special care needs to be taken on speech signals like infamous MPEG es02.wav (German speech) - PNS should be off for replicated speech harmonics, and this is not that easy to detect (requires cepstral analysis in encoder like CVD in MPC but tuned for detection of isolated voice harmonics in replicated area (~7-12 kHz) not in LF area.
guest0101
Thanks Ivan for this explanation.

The whole debate started as we noticed that WinAmp 5.02 was crashing on all mp4/m4a files produced by the default encoding settings of the new 1.20 beta version of Compaact!, as it has PNS turned on by default for all encodes.

We dug deeper and found out that WinAmp 5.02 was using MPEG 2 only. WinAmp's native mp4/m4a decoder doesn't currently support PNS encoded file playback (it crashes), as PNS is in the MPEG 4 audio spec but not in MPEG 2 AAC.

Am I correct in saying that the choice to use PNS or not is very subjective and depends on the audio being encoded?

What advice should be given to newbies as to whether to use the PNS setting or not when encoding mp4/m4a files?

If one intends for people to download their .m4a files from the Internet, it appears that you must encode with the PNS option turned off, to avoid WinAmp users not being able to play your .m4a files.
bidz
Yes - If it is implemented in a good way, like Ivan said.
music_man_mpc
Null vote as it is obvious it shoule not "always be on."
wkwai
QUOTE(Ivan Dimkovic @ Feb 20 2004, 04:38 AM)

However, special care needs to be taken on speech signals like infamous MPEG es02.wav  (German speech)  - PNS should be off for replicated speech harmonics, and this is not that easy to detect (requires cepstral analysis in encoder like CVD in MPC but tuned for detection of isolated voice harmonics in replicated area (~7-12 kHz)  not in LF area.



cepstral analysis huh? Holy cow! I think I have to relook at my speech processing basic !

That is perhaps why the MPEG 4 Specs stated that "if the energy of a particular sf band does not differ very much than in the previous frames.. " I wondered if this would mean that PNS is automatically disabled for speech signals...
Garf
Very simple answer: it should be on in the situations that it improves the encoders result. It's up to you to figure out what those are.

If Winamp crashes on them, that's Winamps problem. It's clearly buggy, so why should you care for it?
Alexander Lerch
In my view, the discussion was not about the usefulness of PNS, but compatibility issues.
It is completely clear that a good PNS-tool makes sense at lower bitrates. It is also clear that PNS does not help much at higher bitrates.
Regarding the compatibility: If I assume Winamp will become the most popular decoder, then it could make sense to disable PNS by default, because Winamp is not able to decode AAC with PNS and the user will most likely blame the encoder (because other files play). OTOH, the use of PNS is completely valid in MPEG-4 LC, and to encode not in the best possible quality just because of one not-MPEG-4-LC-compliant decoder is not intriguing.

Just my thoughts,
Alexander
rjamorim
I don't see the sense in that poll either.

The question should be "to Winamp or not to Winamp", since obviously the blame is on Winamp for behaving badly on LC+PNS streams.

One could extrapolate your poll's question, and conclude DivX and XviD shouldn't use Advanced Simple Profile (default on certain profiles), only Simple Profile, because QuickTime can't cope with ASP.
dev0
Poll deleted for obvious reasons. This issue should be discussed rather than voted for in a poll.
Don't forget that there is a Winamp MP4 PlugIn, which does support PNS.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.