[vorbis-dev] Why LSP?

Jean-Marc Valin jean-marc.valin at hermes.usherb.ca
Tue Aug 29 18:57:02 PDT 2000



> "You're correct that the cepstrum implements a very similar idea. In
> fact I'm encoding the LSP(log(envelope)) so in a way it's a closer parallel
> than is obvious ;-)  The reason I'm not quantizing the DCT is that LSP
> quantization does not produce ripple and irregularity throughout the envelope
> like quantizing a DCT would (and the DCT quantization error would tend to be
> greatest at the edges).  LSP quantization produces a more localized,
> predictable effect with less work."
> 
> Also note that LSP is a frequency domain representation of an IIR filter...

I'm saying that because I've had to quantized envelopes and what I used was
vector quantization of the [envelope.^alpha], .3<alpha<.4 (a DCT is optional if
you want to reduct the number of dimensions). The reason for replacing the log
by x^.3 (in the spectral *amplitude* domain) is that it fits more to the
perceptual error. Actually, since

log(x) = lim    [(x^a)-1]/a
         a->0

using a=.3 instead of a=0 just means that higher parts of the spectrum get more
be quantized with more accuracy and lower parts will have less accuracy (IIRC
a=.5 is the "loudness" domain). I'd be curious to see what effect something like
that could have on Vorbis, but for me, using x^.3 gave a huge improvement over
the log domain.

        Jean-Marc


-- 
Jean-Marc Valin
Universite de Sherbrooke - Genie Electrique
valj01 at gel.usherb.ca

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/




More information about the Vorbis-dev mailing list