Software synthesis of variable-length code decoder using a mixture of programmed logic and table lookups

Implementation of variable-length code (VLC) decoders can involve a tradeoff between the number of decoding steps and memory usage. In this paper, we proposed a novel scheme for optimizing this tradeoff using a machine model abstracted from general purpose processors with hierarchical memories. We formulate the VLC decode problem as an optimization problem where the objective is to minimize the average decoding time. After showing that the problem is NP-complete, we present a Lagrangian algorithm that finds an approximate solution with bounded error. An implementation is automatically synthesized by a code generator. To demonstrate the efficacy of our approach, we conducted experiments of decoding codebooks for a pruned tree-structured vector quantizer and H.263 motion vector that show a performance gain of our proposed algorithm over single table lookup implementation and logic implementation.

[1]  Daniel S. Hirschberg,et al.  Efficient decoding of prefix codes , 1990, CACM.

[2]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

[3]  Reza Hashemian Memory efficient and high-speed search Huffman coding , 1995, IEEE Trans. Commun..

[4]  Steven McCanne,et al.  Optimal routing table design for IP address lookups under memory constraints , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[5]  Allen Gersho,et al.  Vector quantization and signal compression , 1991, The Kluwer international series in engineering and computer science.

[6]  Yair Shoham,et al.  Efficient bit allocation for an arbitrary set of quantizers [speech coding] , 1988, IEEE Trans. Acoust. Speech Signal Process..

[7]  Alistair Moffat,et al.  On the implementation of minimum-redundancy prefix codes , 1996, Proceedings of Data Compression Conference - DCC '96.

[8]  Raymond W. Yeung Alphabetic codes revisited , 1991, IEEE Trans. Inf. Theory.

[9]  Andrzej Sieminski,et al.  Fast Decoding of the Huffman Codes , 1988, Inf. Process. Lett..

[10]  Itu-T Video coding for low bitrate communication , 1996 .

[11]  Kuo-Liang Chung,et al.  A novel memory-efficient Huffman decoding algorithm and its implementation , 1997, Signal Process..

[12]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[13]  Alistair Moffat,et al.  On the implementation of minimum redundancy prefix codes , 1997, IEEE Trans. Commun..