Home
Akreson
Cancel

Entropy coding by a beginner for beginners - Part 7: ANS (rANS, FSE/tANS)

Introduction (Introduction is optional. TL; DR this part for people who are in the process of understanding how ANS works, so you need to be familiar with ANS theory in some sort to be able to fol...

Entropy coding by a beginner for beginners - Part 6: PPM SEE

Introduction At the current moment, EscapeFreq for a specific context equals the number of symbols in that context. This leads to the problem of assigning ESC codes that are either too short or to...

Entropy coding by a beginner for beginners - Part 5: Changing context building method for PPM

Initializing PPM The method of context building from the previous part is relatively simple. All these branches of contexts can be understood quite intuitively, and it is not complicated to show t...

Entropy coding by a beginner for beginners - Part 4: Basic PPM

About PPM For extending the idea of context modeling shown in SimpleOrder1AC, we don’t need to invent anything. It was already done for us back in 1984 by the authors who laid down the idea of the...

Entropy coding by a beginner for beginners - Part 3: Simple data models

Setting test In this part, we will start looking at how we can use the AC that has been written in the previous part. Entropy coders take values that need to be encoded from a model that drives th...

Entropy coding by a beginner for beginners - Part 2: Arithmetic Coding

Introduction The group of methods for encoding еntropy that can do this with a fractional part of code length is called arithmetic coding (AC for short). In this part, we will look at how the clas...

Entropy coding by a beginner for beginners - Part 1: Code Length

Introduction Once upon a time, when I had just got introduced to C, one of the initial projects that I chose to make was a steganography program. The idea didn’t seem too difficult. At that time, ...