[vorbis-dev] Re: RT & codebooks [was streaming metadata requirements
Kevin Marks
kmarks at apple.com
Wed Jun 13 23:06:22 PDT 2001
At 4:21 pm -0400 13/6/01, Monty wrote:
> > In practice, many vorbis files will be using standard codebooks. In
>> previous posts, you have said that optimising codebooks for a file
>> give a maybe 1% advantage.
>
>This is true enough *right now*. Note that every mode has different
>books however. Having all the currently used codebooks in each
>decoder app would be about 4MB of static data.
Interesting. What proportion of a given file is the codebooks? If
they are shared between files is the saving significant at modem
bitrates (20-40 kbit/s)?
> > It makes no sense to add this much overhead to a stream, and it will
>> prevent anyone joining a stream in the middle if the have to wait for
>> codebooks to come by.
>
>Not correct! When someone connects, the server pushes out a header
>then starts streaming. You do *not* need to start from the beginning
>of a stream! You only need the header, and it can just be tacked onto
>the beginning.
Ok, so the codebooks are in the SDP file. (excuse me for mapping this
all back to RTP - the HTTP/shoutcast-like case is relatively trivial,
as you say
> > The way JPEG coped with a very similar problem in RTP (sending the
>> quantization and Huffman tables) was to set aside a byte in each
>> packet to define which one is being used. They then defined 0-127 to
>> be predefined ones, and 128-255 to be dynamic ones, and added a way
>> to specify the dynamic ones inline at regular intervals.
>
>Every beta has used different codebooks, about a half a meg worth.
>This will naturally stabilize (at least in *our* encoder) after a
>time, but the variability of codebooks is one of the big reasons we
>have such a quality edge over mp3, and not something to simply be
>discarded because it's a harder technical problem than mp3's trivial
>HTTP pushability.
Did I say discard it? Making good codebooks sounds a bit of a black
art. Most people won't bother. Once you have stabilized, you can
define that bit of the profile. I doubt a stream would use more than
128 codebooks would it?
--- >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