[Vorbis-dev] 5.1 surround channel coupling

Sebastian Gesemann sgeseman at uni-paderborn.de
Fri Feb 2 16:01:22 PST 2007

Richard Lee wrote:
> But there is a caveat.  Does Vorbis coupling preserve "phase" relations?  Any references explaining this in simple detail?

"coupling" is a rather loose term in the sense that it doesn't exactly 
specify HOW it's done. It can be understood as the opposite of coding 
channels independently. Obviously there are many ways to do coupling.

Both a "lossless" variant and a "lossy" is possible within the Vorbis 
specification. The former is supposed to exploit redundancies between 
channels only while the latter is also a kind of irrelevancy reduction 
(like ignoring phase relations for intensity stereo).

If you really want to know the gritty details you should take a look at 
the Vorbis specification and the Vorbis Stereo modes HTML page.

In a nutshell:

"residue vector": A residue vector contains roughly speaking normalized 
spectral coefficients for one channel, one packet. Its components 
represent the "fine MDCT structure" and can be understood as function of 
frequency for a certain time slot.

- arbitrary pairs of residue vectors can be transformed in-place
   (square polar mapping). Cascading these transforms is possible.

- residue vectors can be interleaved to form larger vectors

- vectors are coded via multi-stage vector quantization


More information about the Vorbis-dev mailing list