NIST

arithmetic coding

(algorithm)

Definition: A minimal variable-length message coding based on the frequency of each character. The message is represented by a fraction which is the repeated offset-plus-product reduction of the range (offset) and probability (product) of each character.

See also Huffman coding, Shannon-Fano coding.

Note: Shannon-Fano is a minimal prefix code. Huffman is optimal for character coding (one character-one code word) and simple to program. Arithmetic coding is a little better still, since it can allocate fractional bits, but is more complicated and has patents.

Patents cover some use of arithmetic coding.

Author: PEB

Implementation

Theory development and implementation (C).

More information

survey on data compression


Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul E. Black.

Entry modified Tue Jan 4 10:27:30 2005.
HTML page formatted Wed Oct 26 09:47:11 2005.

Cite this as:
Paul E. Black, "arithmetic coding", from Dictionary of Algorithms and Data Structures, Paul E. Black, ed., NIST.
http://www.nist.gov/dads/HTML/arithmeticCoding.html

to NIST home page