Arithmetic coding
Appearance
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.