Arithmetic Coding
Arithmetic coding is the most efficient method to code symbols according to the probability of their occurrence. The average code length corresponds exactly to the possible minimum given by information theory. Deviations which are caused by the bitresolution of binary code trees does not exist.
In contrast to a binary Huffman code tree the arithmetic coding offers a clearly better compression rate. Its implementation is more complex on the other hand.
Unfortunately the usage is restricted by patents. As far as known it is not allowed to use arithmetic coding without acquiring licences.
Arithmetic coding is part of the JPEG data format. Alternative to Huffman coding it will be used for final entropy coding. In spite of its less efficiency Huffman coding remains the standard due to the legal restrictions mentioned above.
