[vorbis] bit rate

Beni Cherniavsky cben at users.sf.net
Mon Sep 22 02:25:57 PDT 2003



Vincent wrote on 2003-09-22:

> hello,
> could someone give me the defintion of bitrate, and explain me why the
> bitrate is variable in vorbis?
> thnks
>
Bitrate is the size per unit of time that a file takes.  Usually
measured in kilobits per second.  For example with a bitrate of
100kbps, a 1-minute file will take 60sec * 100kbit/sec = 6Mbit =
750KByte.

Uncompressed formats (e.g. WAV) are equally wasteful for all sounds,
so they have a constant bitrate.  However, you can't compress
different sounds to the same degree.  Lossless compressed formats
therefore neccessarily have a variable bit rate - different parts of
the file take a different number of bits per unit of time to express.
You can then try to talk about the average bit rate of some portion of
a file (or the whole file) which will differ depending on the sounds
(and the format of course).

For lossy formats the situation is more complex because you have a
tradeoff between losing more quality and taking more space.  One
approach is to achieve a constant bitrate by allocating the same
number of bits to each block of the file; this means that you will get
a *variable quality* -- the harder-to-encode parts when reduced to the
same size will have lower quality.  In practice the overall quality
with real CBR (constant bitrate) is very unsatisfactory; most formats
(including MP3)  that claim they use CBR actually use ABR (average
bitrate) -- they allow the bitrate to vary but make sure the
variations cancel each other, so that the average bitrate over long
portions of the file is constant.

The other approach is the allow the bitrate to vary, attempting to
maintain constant quality; that's what is called VBR (variable
bitrate).  Note that VBR can always give better overall quality than
any kind of ABR/CBR, for the same overall size.  The Vorbis engine is
inherently VBR; that's the default mode when you specify quality with
``-q`` to oggenc.  Oggenc can be requested (with ``-b``, ``-m`` and
``-M``) to use "bitrate management" to constrain the average, maximum,
and/or minimum bitrate over some period of time (2 seconds, IIRC).
This gives you various forms of ABR but is not recommended unless you
have very specific needs to enable it.


-- 
Beni Cherniavsky <cben at users.sf.net>
--- >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