Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: PNS and M/S coding (Read 4405 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

PNS and M/S coding

From the specifications of AAC

In M/S coding section

Please note that ms_used[][] is also used in the context of intensity stereo coding and perceptual noise substitution. If intensity
stereo coding or noise substitution is on for a particular scalefactor band, no M/S stereo decoding is carried out.


In PNS section

If the same scalefactor band and group is coded by perceptual noise substitution in both channels of a channel pair, the correlation of the noise signal can be controlled by means of the ms_used field: While the default noise generation process works independently for each channel (separate generation of random vectors), the same random vector is used for both channels if ms_used[] is set for a particular scalefactor band and group. In this case, no M/S stereo coding is carried out (because M/S stereo coding and noise substitution coding are mutually exclusive). If the same scalefactor band and group is coded by perceptual noise substitution in only one channel of a channel pair the setting of ms_used[] is not evaluated.


I'm confused after reading both these. If only one channel has PNS data and if MS coding is on for that particular scalefactor band. Do we need to proceed with M/S coding or skip M/S coding for that scalefactor band?

PNS and M/S coding

Reply #1
I'm confused after reading both these. If only one channel has PNS data and if MS coding is on for that particular scalefactor band. Do we need to proceed with M/S coding or skip M/S coding for that scalefactor band?

I'm confused, too. If you're building an encoder, I think you should avoid having PNS in only one channel-SFB of a channel pair element. Either in the same SFB in both channels, or in none. My guess is that you should assume that M/S decoding is skipped, but I'll double-check.

Chris
If I don't reply to your reply, it means I agree with you.

PNS and M/S coding

Reply #2
Hi Chris,

Thanks for your reply. I'm building a decoder. Can I assume that in a channel pair element, if one channel has PNS then the other channel also have PNS for the same SFB?

PNS and M/S coding

Reply #3
No, don't assume, check. If PNS is on in only one channel of a CPE for a SFB, this means stereo-wise it's treated as "on" in both channels, so you need to skip M/S decoding for that SFB (but of course you still do PNS decoding in the channel in which it's signaled).

Chris
If I don't reply to your reply, it means I agree with you.

PNS and M/S coding

Reply #4
What if only one channel has PNS on, Do I need to skip M/S Coding or proceed with M/S Coding?

PNS and M/S coding

Reply #5
I just answered that question.

Chris
If I don't reply to your reply, it means I agree with you.

PNS and M/S coding

Reply #6
Thanks Chris