[vorbis-dev] Why LSP?

Monty xiphmont at xiph.org
Tue Aug 29 19:23:39 PDT 2000



> 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.

It's also the case that Vorbis floor0 is encoding a very low resolution 
version of the envelope; typically 30 poles and 50 or so bits for the whole 
envelope in a 1024 sample frame.  It seems what you're describing would be a 
better solution for an envelope with a great deal more fine detail.  My 
envelope is more of a whitening filter.

(Note I'm using log domain only to ease the dynamic range necessary for 
accurate computation over a 140 dB range, not because of perceptual qualities 
which are somewhat irrelevant at such low resolution)

Monty

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



More information about the Vorbis-dev mailing list