[theora-dev] What sort of math i required?

Christoph Lampert chl at math.uni-bonn.de
Thu Dec 11 06:28:59 PST 2003



On Thu, 11 Dec 2003, Mike Melanson wrote:

> On Thu, 11 Dec 2003, Martin Jeppesen wrote:
> 
> > Why are people still using Huffman? Haven't there come better algorithms
> > since?
> 
> 	Hey, if it works...but there are some alternatives. Most notably,
> there is something called arithmetic coding which offers better
> compression than Huffman. There is placeholder support for it in the JPEG
> spec and probably other specs. The big problem with using it is that
> someone has a patent on it and has not been shy about enforcing it. Oh,
> and arithmetic coding is also really, really slow, on both sides (coding
> and decoding).

CABAC (Context Adaptive Binary Arithmetic Coding) is part of MPEG 4 Visual
Part 10 (aka AVC, aka H.26L, aka H.264). It's about 10 percent more
effective than the also permitted CAVLC (Context-Adaptive Variable Length
Coding).  See here: 

http://bs.hhi.de/~wiegand/csvt_cabac_0305.pdf
 
> 	Off the top of my head, there is something called Rice coding.
> This is still Huffman coding, but in a pattern that follows a certain
> statistical model. I have read that it is used in Meridian Lossless
> Packing (MLP) used to compress DVD audio, as well as in Free Lossless
> Audio Compression (FLAC).
> 
> 	There is also something called Golomb codes. They are used in
> H.264 (from which SVQ3 and probably other methods are derived). I am not
> sure if they are a type of Huffman codes or something different.
> 

AFAIK, Rice is a special form of Golomb (and the most often used): 

http://members.optushome.com.au/emikulic/code/rice/
http://www.tutorgig.com/encyclopedia/getdefn.jsp?keywords=Golomb_coding

Golomb is kind of a very simple way of storing values in variable-length,
with strong preference of small absolute values. It's easy to parse, and
and don't need a lookup table for VLC, on which again there is some kind
of stupid patent (at least on MPEG's 3D run-level-end VLCs). 

 > Does there excist a wavelet codec today?
> 
> 	Intel Indeo Video versions 4 and 5 are supposed to be based on
> wavelet theory (as opposed to earlier versions which were VQ).

RealVideo with Scalable Video Technology is also sometimes assumed to be 
wavelet-based, but as far as I have heard, it's not, but they use
something "fractal". 

Christoph

P.S. For understanding of huffman/cabac/golomb you need some
knowledge about probabitily density functions, but that's more likely to
be taught in computer science "Information theory" than in a maths course
"probabitily theory". 

--- >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 'theora-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 Theora-dev mailing list