3 ms·
I thought Huffman coding was obsolete, arithmetic coding replaced it. It allows for fractional number of bits per symbol, so is more efficient.
by jhallenworld 3y ago
I thought Huffman coding was obsolete, arithmetic coding replaced it. It allows for fractional number of bits per symbol, so is more efficient.
- ixwt 3y agoMy understanding why arithmetic coding isn't used as much as Huffman coding is because of the patents that IBM had on arithmetic coding. I'm not familiar with any actively used compression algorithm that uses arithmetic coding. I have explored using arithmetic coding on some data at work (mainly large amounts of XYZ points). My attempts did not work better than standard zip compression.
- zulban 3y agoHuh? I thought you cannot patent an algorithm, mathematical process, number, game design, etc.
- cesarb 3y ago> I'm not familiar with any actively used compression algorithm that uses arithmetic coding. I believe some popular video codecs use arithmetic coding (and IIRC, some other video codecs use the related range coding to avoid these patents).
- adgjlsfhk1 3y agoThe patents all expired in ~2013ish. ZSTD uses arithmetic encoding and is well on it's way to replacing gzip since it's usually faster and smaller.
- Isamu 3y agoIt’s still used in PNG, it is part of the spec. There’s a trade off, Huffman is relatively fast and easier to get right, and the gains from increased compression may be considered marginal. This is a classic engineering trade off.
- adgjlsfhk1 3y agoPNG is also obsolete :)