Dynamic pipeline design of an adaptive binary arithmetic coder

Arithmetic coding is an attractive technique for lossless data compression but it tends to be slow. In this paper, a dynamic pipelined very large scale integration architecture with high performance for on-line adaptive binary arithmetic coding is presented. To obtain a high throughput pipelined architecture, we first analyze the computation flow of the coding algorithm and modify the operations whose data and/or control dependencies cause the difficulties in pipelining. Then, a novel technique called dynamic pipelining is developed to pipeline the coding process with variant (or run-time determined) pipeline latencies (or data initialization intervals) efficiently. As for data path design, a systematic design methodology of high level synthesis and a lower-area but faster fixed-width multiplier are applied, which implement the architecture with a little additional hardware. The dynamic pipelined architecture has been designed and simulated in Verilog HDL, and its layout has also been implemented with the 0.8-/spl mu/m SPDM CMOS process and the ITRI-CCL cell library. Its simulated compression speeds under working frequencies of 25 and 50 MHz are about 6 and 12.5 Mb/s, respectively. About two times the speedup with 30% hardware overhead relative to the original sequential realisation is achieved.

[1]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[2]  Andreas Moshovos,et al.  Dynamic Speculation and Synchronization of Data Dependences , 1997, ISCA.

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

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

[5]  Joan L. Mitchell,et al.  Optimal Hardware and Software Arithmetic Coding Procedures for the Q-Coder , 1988, IBM J. Res. Dev..

[6]  Jer Min Jou,et al.  Design of low-error fixed-width multiplier for DSP applications , 1997 .

[7]  Edwin Hsing-Mean Sha,et al.  Rotation Scheduling: A Loop Pipelining Algorithm , 1993, 30th ACM/IEEE Design Automation Conference.

[8]  Jorma Rissanen,et al.  Compression of Black-White Images with Arithmetic Coding , 1981, IEEE Trans. Commun..

[9]  Ronald Arps,et al.  A Multi-Purpose VLSI Chip for Adaptive Data Compression of Bilevel Images , 1988, IBM J. Res. Dev..

[10]  Glen G. Langdon,et al.  A simple general binary source code , 1982, IEEE Trans. Inf. Theory.

[11]  Alice C. Parker,et al.  Sehwa: a software package for synthesis of pipelines from behavioral specifications , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  R.C.T. Lee Taiwan R.O.C. , 1988, Revue scientifique et technique.

[13]  Jer Min Jou,et al.  Design of low-error fixed-width multipliers for DSP applications , 1999 .

[14]  Donald E. Knuth,et al.  Dynamic Huffman Coding , 1985, J. Algorithms.

[15]  Jer Min Jou,et al.  PASS: a package for automatic scheduling and sharing pipelined data paths , 1991, 1991., IEEE International Sympoisum on Circuits and Systems.

[16]  Vicki H. Allan,et al.  Software pipelining , 1995, CSUR.

[17]  P. Glenn Gulak,et al.  Architectural advances in the VLSI implementation of arithmetic coding for binary image compression , 1994, Proceedings of IEEE Data Compression Conference (DCC'94).

[18]  E. F. Girczyc,et al.  Loop winding--a data flow approach to functional pipelining , 1987 .

[19]  Alexander Aiken,et al.  Optimal loop parallelization , 1988, PLDI '88.

[20]  Sun Young Hwang,et al.  Automatic synthesis of dynamically configured pipelines supporting variable data initiation intervals , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[21]  Alexandru Nicolau,et al.  Percolation based synthesis , 1991, DAC '90.

[22]  Rolf Ernst,et al.  Experiments with low-level speculative computation based on multiple branch prediction , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[23]  Keshab K. Parhi,et al.  Two VLSI design advances in arithmetic coding , 1995, Proceedings of ISCAS'95 - International Symposium on Circuits and Systems.

[24]  G.S. Sohi,et al.  Dynamic Speculation And Synchronization Of Data Dependence , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.