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 number of bits 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 often, but not always, be smaller. We propose here a new dynamic Huffman encoding approach, that provably always performs at least as good as static Huffman coding, and may be better than the standard dynamic Huffman coding for certain files. This is achieved by reversing the direction for the references of the encoded elements to those forming the model of the encoding, from pointing backwards to looking into the future.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Faller, N.: An adaptive system for data compression. In: Record of the 7-th Asilomar Conference on Circuits, Systems and Computers, pp. 593–597 (1973)
Ferguson, T.J., Rabinowitz, J.H.: Self-synchronizing Huffman codes. IEEE Trans. Inf. Theory 30(4), 687–693 (1984)
Gallager, R.: Variations on a theme by Huffman. IEEE Trans. Inf. Theory 24(6), 668–674 (1978)
Huffman, D.: A method for the construction of minimum redundancy codes. Proc. IRE 40, 1098–1101 (1952)
Klein, S.T., Shapira, D.: A new compression method for compressed matching. In: Data Compression Conference, DCC 2000, Snowbird, Utah, USA, March 28–30, 2000, pp. 400–409 (2000)
Knuth, D.E.: Dynamic Huffman coding. J. Algorithms 6(2), 163–180 (1985)
Moffat, A.: Word-based text compression. Softw. Pract. Exper. 19(2), 185–198 (1989)
Schwartz, E.S., Kallick, B.: Generating a canonical prefix encoding. Commun. ACM 7, 166–169 (1964)
Storer, J.A., Szymanski, T.G.: Data compression via textural substitution. J. ACM 29(4), 928–951 (1982)
Véronis, J., Langlais, P.: Evaluation of parallel text alignment systems: the arcade project. In: Véronis, J. (ed.) Parallel Text Processing, pp. 369–388. Kluwer Academic Publishers, Dordrecht (2000)
Vitter, J.S.: Design and analysis of dynamic Huffman codes. J. ACM 34(4), 825–845 (1987)
Witten, I.H., Neal, R.M., Cleary, J.G.: Arithmetic coding for data compression. Commun. ACM 30(6), 520–540 (1987)
Zobel, J., Moffat, A.: Inverted files for text search engines. ACM Comput. Surv. 38(2), 6 (2006)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Klein, S.T., Saadia, S., Shapira, D. (2019). Forward Looking Huffman Coding. In: van Bevern, R., Kucherov, G. (eds) Computer Science – Theory and Applications. CSR 2019. Lecture Notes in Computer Science(), vol 11532. Springer, Cham. https://doi.org/10.1007/978-3-030-19955-5_18
Download citation
DOI: https://doi.org/10.1007/978-3-030-19955-5_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-19954-8
Online ISBN: 978-3-030-19955-5
eBook Packages: Computer ScienceComputer Science (R0)