[vorbis-dev] A bitrate peeling attempt

John Ripley jripley at rioaudio.com
Fri Jan 2 09:54:49 PST 2004



Given all this talk of peeling lately, I thought I'd try out a method
I've been thinking about for a while now. It goes something like this:

* Peeling is achieved by dropping some of the residue.
* The encoder indicates how much of the residue to retain (e.g a number
of stages, 3 bits in the stream per packet, non-standard!).
* The decoder (peeler) copies the contents of packets except for the
residue stages to drop.

I've got the decode-side of peeling working - it's about 10 times faster
than full decoding (e.g oggdec), due to not needing MDCTs or analysis.
It's a bit annoying that it still involves going through most of the
motions of real decoding because of the variable length codes everywhere
(especially the codebooks).

However... I'm a bit stuck trying to get the encoder (libvorbis) to
cooperate. First thing to do was remove that hard coded 3 stage limit
all over the place (easy enough). I then tried modifying an existing
static_bookblock to have the first stages of _resbook_44s_1, followed by
_resbook_44s_3, using 6 stages overall. The idea here is that it would
generate a q1 followed by a q3 residue. But this generates a file with a
huge amount of error.

What exactly should I be doing to generate residues like I describe
above?

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