Channel coupling

From Hydrogenaudio Knowledgebase
Revision as of 19:39, 26 March 2006 by Hankwang (talk | contribs) (Major rewrite of the Vorbis part.)

Channel coupling is a method used to reduce bitrate demand by coding the stereo channel information more efficiently. there are several channel coupling methods. In mp3 the general term is joint stereo.

MP3 can use 2 different channel coupling methods: mid/side-coding and intensity stereo. Mid/Side-coding calculates a "mid"-channel by addition of left and right channel (l+r)/2 and a "side"-channel (l-r)/2. With more mono-like signals one can use less bitrate to encode the side-channel, so that the overall bitrate will be less than encoding the left and right channel. Intensity stereo destroys phase information, so it's used only at low bitrates.

Correctly implemented MP3 mid/side stereo (like in LAME) does very little or no damage to the stereo-image and increases compression efficiency either by reducing size or increasing overall quality.

Ogg Vorbis treats stereo information with square polar mapping which is beneficial when the correlation between the left and right channels are strong (this can also be extended to multichannel coupling as well). In Vorbis, the spectrum of each channel is normalized against a floor function, which is a rough envelope of the actual spectrum. In the square polar mapping, the (stereo) phase is roughly defined as the difference between the normalized left and right amplitude of a given frequency component. If the original left and right channel are the same within a certain frequency band, apart from an overall scaling factor, then the normalized frequency spectrum is the same left and right and the stereo phase is zero over the whole frequency band. Note that in the context of polar mapping, the term 'phase' (here: 'stereo phase') has a very different meaning from the phase of a periodic wave. Unlike in the Fourier transform, the cosine transform used in Vorbis and other encoders only provides amplitudes and no phases of the latter type.

Once the stereo information is represented in polar mapping as a magnitude and stereo phase, Vorbis can use three coupling methods:

  • Lossless coupling is equivalent to independent encoding of the two channels ('dual stereo' in MP3), but with the benefit of additional space-saving. It does polar mapping/channel interleaving using the residue vectors.
  • In point stereo, the stereo phase is discarded completely. All the stereo information comes from the difference in the spectral floors for the left and right channels.
  • In phase stereo', the stereo phase is quantized, i.e. stored at a lower resolution. Especially above 4 kHz, the ear is not very sensitive to phase information. Phase stereo is not currently implemented in reference encoder due to complexity, but will be re-added again later on. Note that phase stereo should not be compared to intensity stereo in MP3 coding.

Ogg Vorbis uses lossless/point stereo coupling below -q 6. Lossless channel coupling is used for high bitrates entirely (-q 6 and up). This can be adjusted via an advanced-encode switch, but is not done for simplicity's sake.

See also Ogg Vorbis stereo-specific channel coupling at xiph.org.