Copyright © 2005 Elsevier Inc. All rights reserved.
A fast and efficient nearly-optimal adaptive Fano coding scheme
Received 8 February 2005;
References and further reading may be available for this article. To view references and further reading you must purchase this article.
Abstract
Adaptive coding techniques have been increasingly used in lossless data compression. They are suitable for a wide range of applications, in which on-line compression is required, including communications, internet, e-mail, and e-commerce. In this paper, we present an adaptive Fano coding method applicable to binary and multi-symbol code alphabets. We introduce the corresponding partitioning procedure that deals with consecutive partitionings, and that possesses, what we have called, the nearly-equal-probability property, i.e. that satisfy the principles of Fano coding. To determine the optimal partitioning, we propose a brute-force algorithm that searches the entire space of all possible partitionings. We show that this algorithm operates in polynomial-time complexity on the size of the input alphabet, where the degree of the polynomial is given by the size of the output alphabet. As opposed to this, we also propose a greedy algorithm that quickly finds a sub-optimal, but accurate, consecutive partitioning. The empirical results on real-life benchmark data files demonstrate that our scheme compresses and decompresses faster than adaptive Huffman coding, while consuming less memory resources.
Keywords: Adaptive coding; Fano coding; Data compression
Article Outline
- 1. Introduction
- 2. Adaptive Fano coding
- 2.1. A brute-force method for adaptive Fano coding
- 2.2. The greedy encoding algorithm
- 2.3. The greedy decoding algorithm
- 2.4. Tree-based adaptive Fano coding
- 3. Nearly-equal-probability partitioning
- 4. A greedy sub-optimal nearly-equal-probability partitioning
- 4.1. The multi-symbol case
- 4.2. The binary case
- 5. Correctness of the greedy adaptive Fano Coding
- 6. Empirical results
- 7. Conclusions
- Acknowledgements
- Appendix A. Encoding and decoding algorithms: Binary case
- Appendix B. Proofs
- References







E-mail Article
Add to my Quick Links

Cited By in Scopus (4)






