VLSI Architecture of Arithmetic Coder Used in SPIHT

A high-throughput memory-efficient arithmetic coder architecture for the set partitioning in hierarchical trees (SPIHT) image compression is proposed based on a simple context model in this paper. The architecture benefits from various optimizations performed at different levels of arithmetic coding from higher algorithm abstraction to lower circuits' implementations. First, the complex context model used by software is mitigated by designing a simple context model, which just uses the brother nodes' states in the coding zerotree of SPIHT to form context symbols for the arithmetic coding. The simple context model results in a regular access pattern during reading the wavelet transform coefficients, which is convenient to the hardware implementation, but at a cost of slight performance loss. Second, in order to avoid rescanning the wavelet transform coefficients, a breadth first search SPIHT without lists algorithm is used instead of SPIHT with lists algorithm. Especially, the coding bit-planes of each zero tree are processed in parallel. Third, an out-of-order execution mechanism for different types of context is proposed that can allocate the context symbol to the idle arithmetic coding core with a different order that of the input. For the balance of the input rate of the wavelet coefficients, eight arithmetic coders are replicated in the compression system. And in one arithmetic coder, there exists four cores to process different contexts. Fourth, several dedicated circuits are designed to further improve the throughput of the architecture. The common bit detection (CBD) circuit is used for unrolling the renormalization stage of the arithmetic coding. The carry look-ahead adder (CLA) and fast multiplier-divider are also employed to shorten the critical path in the architecture. Moreover, an adaptive clock switch mechanism can stop some invalid bit-planes' clock for the power saving purpose according to the input images. Experimental results demonstrate that the proposed architecture attains a throughput of 902.464 Mb/s at its maximum and achieves savings of 20.08% in power consumption over full bit-planes coding scheme based on field-programmable gate arrays (FPGAs).

[1]  Chaitali Chakrabarti,et al.  A multi-bit binary arithmetic coding technique , 2000, Proceedings 2000 International Conference on Image Processing (Cat. No.00CH37101).

[2]  Sudipta Mahapatra,et al.  Efficient FPGA implementation of DWT and modified SPIHT for lossless image compression , 2007, J. Syst. Archit..

[3]  David S. Taubman,et al.  Concurrency techniques for arithmetic coding in JPEG2000 , 2006, IEEE Transactions on Circuits and Systems I: Regular Papers.

[4]  H. Printz,et al.  Multialphabet arithmetic coding at 16 MBytes/sec , 1993, [Proceedings] DCC `93: Data Compression Conference.

[5]  Glen G. Langdon,et al.  Arithmetic Coding , 1979 .

[6]  Andreas Antoniou,et al.  Hardware implementation of a wavelet based image compression coder , 1998, 1998 IEEE Symposium on Advances in Digital Filtering and Signal Processing. Symposium Proceedings (Cat. No.98EX185).

[7]  Kah Phooi Seng,et al.  Very Low-Memory Wavelet Compression Architecture Using Strip-Based Processing for Implementation in Wireless Sensor Networks , 2009, EURASIP J. Embed. Syst..

[8]  Jorma Rissanen,et al.  Generalized Kraft Inequality and Arithmetic Coding , 1976, IBM J. Res. Dev..

[9]  Roberto R. Osorio,et al.  High Speed 4-Symbol Arithmetic Encoder Architecture for Embedded Zero Tree-Based Compression , 2003, J. VLSI Signal Process..

[10]  Vojin G. Oklobdzija,et al.  An algorithmic and novel design of a leading zero detector circuit: comparison with logic synthesis , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[11]  Yair Wiseman,et al.  A Pipeline Chip for Quasi Arithmetic Coding , 2001 .

[12]  Heiko Schwarz,et al.  Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard , 2003, IEEE Trans. Circuits Syst. Video Technol..

[13]  Antonio Ortega,et al.  Line-based, reduced memory, wavelet image compression , 2000, IEEE Trans. Image Process..

[14]  Ashraf A. Kassim,et al.  Wavelet packet transform basis selection method for set partitioning in hierarchical trees , 2008, J. Electronic Imaging.

[15]  Ian H. Witten,et al.  Arithmetic coding for data compression , 1987, CACM.

[16]  Wan-Chi Siu,et al.  A fast and low memory image coding algorithm based on lifting wavelet transform and modified SPIHT , 2008, Signal Process. Image Commun..

[17]  Thomas Rauber,et al.  Wavelet based image compression using FPGAs , 2002 .

[18]  Gauthier Lafruit,et al.  A Scalable Architecture for MPEG-4 Wavelet Quantization , 1999, J. VLSI Signal Process..

[19]  Stefania Perri,et al.  Microprocessor-based FPGA implementation of SPIHT image compression subsystems , 2005, Microprocess. Microsystems.

[20]  James E. Fowler QccPack: an open-source software library for quantization, compression, and coding , 2000, Proceedings DCC 2000. Data Compression Conference.

[21]  William A. Pearlman,et al.  SPIHT image compression without lists , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[22]  M. A. Ansari,et al.  Context based medical image compression for ultrasound images with contextual set partitioning in hierarchical trees algorithm , 2009, Adv. Eng. Softw..

[23]  David S. Taubman,et al.  High performance scalable image compression with EBCOT , 1999, Proceedings 1999 International Conference on Image Processing (Cat. 99CH36348).

[24]  Jer Min Jou,et al.  The design of an adaptive on-line binary arithmetic-coding chip , 1998 .

[25]  V.K. Prasanna,et al.  A fast and area-efficient VLSI architecture for embedded image coding , 1995, Proceedings., International Conference on Image Processing.

[26]  M. B. I. Reaz,et al.  A modified-set partitioning in hierarchical trees algorithm for real-time image compression , 2008 .

[27]  Claudia Feregrino Uribe,et al.  FPGA-Based Modelling Unit for High Speed Lossless Arithmetic Coding , 2001, FPL.

[28]  Thomas Wiegand,et al.  Draft ITU-T recommendation and final draft international standard of joint video specification , 2003 .

[29]  Yau-Hwang Kuo,et al.  VLSI Implementation of a Modified Efficient SPIHT Encoder , 2006, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..

[30]  Scott Hauck,et al.  SPIHT image compression on FPGAs , 2005, IEEE Transactions on Circuits and Systems for Video Technology.

[31]  William A. Pearlman,et al.  A new, fast, and efficient image codec based on set partitioning in hierarchical trees , 1996, IEEE Trans. Circuits Syst. Video Technol..

[32]  K. M. Marks,et al.  A JBIG-ABIC compression engine for digital document processing , 1998, IBM J. Res. Dev..