Design and analysis of dynamic Huffman coding

  • Authors:
  • Jeffrey Scott Vitter

  • Affiliations:
  • -

  • Venue:
  • SFCS '85 Proceedings of the 26th Annual Symposium on Foundations of Computer Science
  • Year:
  • 1985

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce an efficient new algorithm for dynamic Huffman coding, called Algorithm V. It performs one-pass coding and transmission in real-time, and uses at most one more bit per letter than does the standard two-pass Huffman algorithm; this is optimum in the worst case among all one-pass schemes. We also analyze the dynamic Huffman algorithm due to Faller, Gallager, and Knuth. In each algorithm, both the sender and the receiver maintain equivalent dynamically varying Huffman trees. The processing time required to encode and decode a letter whose node in the dynamic Huffman tree is currently on the lth level is O(l); hence, the processing can be done in real time. Empirical tests show that Algorithm V performs quite well in practice, often better than the two-pass method. The proposed algorithm is well-suited for file compression and online encoding/decoding in data networks.