Modern LZ Compression Part 2: FSE and Arithmetic Coding

5 pointsposted 7 hours ago
by glinscott

1 Comments

glinscott

7 hours ago

This is the second article in a series discussing modern compression techniques. The first one covered Huffman + LZ. This one covers optimal entropy coders (FSE and Arithmetic), and some additional tricks to get closer to the state of the art.

The full compressor and decompressor are just over 1500 lines of pretty compact C++: https://github.com/glinscott/linzip2/blob/master/main.cc.

It's been seven years since the first article! Hopefully not so long before the third (and probably final one).