[vorbis-dev] Dot Product / Inverse Coupling

Sebastian Gesemann sgeseman at upb.de
Mon Nov 3 07:18:07 PST 2003



Saluton, Christian !

Christian Wassmer scribis:

> I've got two questions concerning two steps in the decoding process.
>
> - What's the reason for doing the inverse coupling step? The values
> calculated there aren't used anymore, are they?

Sure. These are the residues to be used for the dot product.

> - I wasn't able to find any dot product (next step in the decoding
> process) implementation neither at Tremor nor at jOrbis. I guess this

I don't know where it's implemented there, but is is. :)

> step is necessary otherwise the residues wouldn't make any sense. Or is
> the dot product somewhere where it's not so obvious to perceive. Another
> unclear part is, that my residues are mostly zero. This would lead to an
> audio spectrum nearly zero ...?

The basic Vorbis idea is simple:

Feed (multichannel) audio data into the MDCT (with variable block
length) for encoding and store the transformed data using a
factorization into floor/residue and independently code these
curves.
(The floor is a smooth (compact coded) curve used for scalling
the residue. The factorization is quite reasonable because it
prevents the demand for many many different code-books)

The decoder has now to decode the floor curves and residues,
combine them via dot product and feed these samples to the inverse
MDCT. et voila.

So, neither the floor nor the residue should equal zero
if you want to hear something.

<p>http://www.xiph.org/ogg/vorbis/doc/vorbis-spec-ref.html

<p>> Thanks,
> Christian

<p>Gxis!
Sebastian
--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list