Adaptive Huffman coding
Appearance
Adaptive Huffman coding (also called Dynamic Huffman coding) is an adaptive coding technique based on Huffman coding. It permits building the code as the symbols are being transmitted, having no initial knowledge of source distribution, that allows one-pass encoding and adaptation to changing conditions in data.
The benefit of one-pass procedure is that the source can be encoded in real time, though it becomes more sensitive to transmission errors, since just a single loss ruins the whole code.
Algorithms
There are a number of implementations of this method, the most notable are FGK (Faller-Gallager-Knuth) and Vitter algorithm.
References
- Vitter's original paper: J. S. Vitter, "Design and Analysis of Dynamic Huffman Codes," Journal of the ACM, 34(4), October 1987, pp 825-845.
- J. S. Vitter, "ALGORITHM 673 Dynamic Huffman Coding," ACM Transactions on Mathematical Software, 15(2), June 1989, pp 158-167. Also appears in Collected Algorithms of ACM.
External links
- This article incorporates public domain material from Paul E. Black. "adaptive Huffman coding". Dictionary of Algorithms and Data Structures. NIST.
- University of California Dan Hirschberg site
- Cardiff University Dr. David Marshall site
- C implementation of Vitter algorithm