[vorbis] Bit Rate Peeling Quality

Beni Cherniavsky cben at techunix.technion.ac.il
Mon Jun 23 09:04:31 PDT 2003



J C Fitzgerald wrote on 2003-06-23:

> I know, but I haven't been able to glean a good definition of 'codec'
> yet (and my specific request for a definition went unanswered).
>
The Vorbis decoder is well-specified: any Vorbis decoder MUST produce
the same results for the same input as the reference decoder and as
the specs describe.  More exaclty, the spec defines the precise
results assuming infinite-precision arithmetics and various decoders
will give approximations of various accuracy due to limits of output
format and inaccurate FP computation - but these errors can be
bounded.

The decoder specification can be equivallently considered as a
specification of the Vorbis format - each possible Vorbis file has a
meaning as a representation of a specific waveform, the one that would
be produced by the refence decoding algorithms.

The encoder, OTOH, is not well specified at all.  A program that takes
a wav, throws it away and produces a random Ogg would still be *a*
Vorbis encoder - just a very bad one :-).  Precise specifications are
not practical or desirable because what we really care about is
subjective "quality" as humans hear it.  So different Vorbis encoders,
including different oggenc versions will produce different results and
it's good to such room for implementation.

So you should distinguish between a particulare encoder/decoder
implementation and the format.  The term "codec" technically refers to
a single pair of encoder/decoder.  Which is confusing because the
decoder is what actually defines the format while the encoder can be
replaced by competing encoders.  When there is just one
implementation, especially when the format undergoes incompatible
changes, people think of the whole combo as a "codec", e.g. the WMA9
codec.  But it's much more useful to think of a defined format
specification (if there is one and it's not a patent minefield) and
various encoder implementations.


-- 
Beni Cherniavsky <cben at tx.technion.ac.il>

"Reading the documentation I felt like a kid in a toy shop."
-- Phil Thompson on Python's standard library
--- >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