Jump to content

Arithmetic coding

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 216.119.139.xxx (talk) at 02:52, 26 May 2001 (Fun CS and math entry - mathmatiticians should like the modeling involved.....................................................................). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Arithmetic coding is the process of encoding a stream of data into a large binary fraction.


Arithmetic coding actually refers to half of an Arithmetic Coding data compression system.


It has two parts:

  • An arithmetic coder
  • A data model (e.g., Markovian model)


At any point in time in coding the input stream of data,

  • There is a new data character (a fixed number of bits per character)
  • There is a set of probabilities for each possible character


The number of bits used to encode a character depends on how much of the range [0, 1] the character's probability is.


The larger the range, the less bits it takes to code the character. The smaller the range, the more bits it takes to code the character.


Typically, the model used to code the data changes based on the data input stream contents. This is known as adaptive coding.