[vorbis] Beta3 impressions

Segher Boessenkool segher at wanadoo.nl
Mon Nov 20 06:18:01 PST 2000



> > The leader in eliminating pre-echo is AAC
> > (Liquid Audio, Low Profile AAC), because even at ~128kbps stereo there is
> > very little or no pre-echo (Temporal Noise Shaping works very well
> > obviously).
> 
> ...and is totally unusable due to patent complications.

A simple idea to remove pre-echo (don't know if it is patented, just made
it up, maybe I'm not that original):

Find the point in the audio stream where you would want to switch to
short blocks (exact samplenumber, not blocknumber). Now instead of
doing block-switching, encode two blocks: first the original, filled
with zeroes *from* the switch point; then the original, filled with
zeroes *to* the switch point. In decoding, you just omit the stuff
in the decoded block, which should be zero.

> > In his interview to Slashdot, Monty said that wavelets will be used in
> > Vorbis (after version 1.0). I guess that wavelets will be able to eradicate
> > pre-echo more thoroughly ?
> 
> Yes, wavelets are my attempt at solving the problem correctly.

Do you already have an algorithm to decide which part to encode with
mdct, and which part with wavelets? I'm currently working on something
like this.

> > - There is also an improvement (from beta2) with gapless tracks, but small
> > clicks are still there (not often though). I guess the only 100% solution
> > is, like Monty said, to add a feature to the encoder so that encoder knows
> > that it should match the end of one file with the begging of another one.
> 
> Correct summary.

Why is it done in the encoder, i.s.o. in the decoder?

Ciao,

Segher

--- >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-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 mailing list