Skip to main content

Topic: PNS and M/S coding (Read 2665 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • sana.iitkgp
  • [*]
  • Banned
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?

  • C.R.Helmrich
  • [*][*][*][*][*]
  • Developer
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
  • Last Edit: 08 October, 2012, 05:39:56 AM by C.R.Helmrich
If I don't reply to your reply, it means I agree with you.

  • sana.iitkgp
  • [*]
  • Banned
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?

  • C.R.Helmrich
  • [*][*][*][*][*]
  • Developer
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
  • Last Edit: 09 October, 2012, 04:30:19 AM by C.R.Helmrich
If I don't reply to your reply, it means I agree with you.

  • sana.iitkgp
  • [*]
  • Banned
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?

  • C.R.Helmrich
  • [*][*][*][*][*]
  • Developer
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.

  • sana.iitkgp
  • [*]
  • Banned
PNS and M/S coding
Reply #6
Thanks Chris