Abstract
Huffman coding is known to be optimal, yet its dynamic version may yield smaller compressed files. The best known bound is that the number of bits used by dynamic Huffman coding in order to encode a message of n characters is at most larger by n bits than the size of the file required by static Huffman coding. In particular, dynamic Huffman coding can also generate a larger encoded file than the static variant, though in practice the file might sometimes be smaller. We propose here a new variant of Huffman encoding, that provably always performs better than static Huffman coding by at least m − 1 bits, where m denotes the size of the alphabet, and may be better than the standard dynamic Huffman coding for certain files. The algorithm is based on reversing the direction for the references of the encoded elements, from pointing backwards into the past to looking forward into the future.
Original language | English |
---|---|
Pages (from-to) | 593-612 |
Number of pages | 20 |
Journal | Theory of Computing Systems |
Volume | 65 |
Issue number | 3 |
DOIs | |
State | Published - Apr 2021 |
Bibliographical note
Publisher Copyright:© 2020, Springer Science+Business Media, LLC, part of Springer Nature.
Keywords
- Dynamic Huffman coding
- Huffman coding
- Lossless data compression