A High Throughput No-Stall Golomb-Rice Hardware Decoder

Integer compression techniques can generally be classified as bit-wise and byte-wise approaches. Though at the cost of a larger processing time, bit-wise techniques typically result in a better compression ratio. The Golomb-Rice (GR) method is a bit-wise lossless technique applied to the compression of images, audio files and lists of inverted indices. However, since GR is a serial algorithm, decompression is regarded as a very slow process; to the best of our knowledge, all existing software and hardware native (non-modified) GR decoding engines operate bit-serially on the encoded stream. In this paper, we present (1) the first no-stall hardware architecture, capable of decompressing streams of integers compressed using the GR method, at a rate of several bytes (multiple integers) per hardware cycle; (2) a novel GR decoder based on the latter architecture is further detailed, operating at a peak rate of one integer per cycle. A thorough design space exploration study on the resulting resource utilization and throughput of the aforementioned approaches is presented. Furthermore, a performance study is provided, comparing software approaches to implementations of the novel hardware decoders. While occupying 10% of a Xilinx V6LX240T FPGA, the no-stall architecture core achieves a sustained throughput of over 7 Gbps.

[1]  Hyunjin Kim,et al.  A Lossless Color Image Compression Architecture Using a Parallel Golomb-Rice Hardware CODEC , 2011, IEEE Transactions on Circuits and Systems for Video Technology.

[2]  P.G. Howard,et al.  Fast and efficient lossless image compression , 1993, [Proceedings] DCC `93: Data Compression Conference.

[3]  Torsten Suel,et al.  Performance of compressed inverted list caching in search engines , 2008, WWW.

[4]  JUSTIN ZOBEL,et al.  Inverted files for text search engines , 2006, CSUR.

[5]  Leonardo Vidal Batista,et al.  Compression of ECG signals based on optimum quantization of discrete cosine transform coefficients and Golomb-Rice coding , 2003, Proceedings of the 25th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (IEEE Cat. No.03CH37439).

[6]  Torsten Suel,et al.  Inverted index compression and query processing with optimized document ordering , 2009, WWW '09.

[7]  Solomon W. Golomb,et al.  Run-length encodings (Corresp.) , 1966, IEEE Trans. Inf. Theory.

[8]  Terry A. Welch,et al.  A Technique for High-Performance Data Compression , 1984, Computer.

[9]  Nasir D. Memon Adaptive coding of DCT coefficients by Golomb-Rice codes , 1998, Proceedings 1998 International Conference on Image Processing. ICIP98 (Cat. No.98CB36269).

[10]  Claudia Feregrino Uribe,et al.  X-MatchPRO: A ProASIC-Based 200 Mbytes/s Full-Duplex Lossless Data Compressor , 2001, FPL.

[11]  Henrique S. Malvar Adaptive run-length/Golomb-Rice encoding of quantized generalized Gaussian sources with unknown statistics , 2006, Data Compression Conference (DCC'06).

[12]  Hyuk-Jae Lee,et al.  A New Frame Recompression Algorithm Integrated with H.264 Video Compression , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[13]  Yu-Hsuan Lee,et al.  A 6.4 Gbit/s Embedded Compression Codec for Memory-Efficient Applications on Advanced-HD Specification , 2010, IEEE Transactions on Circuits and Systems for Video Technology.

[14]  Bharat Sukhwani,et al.  High-Throughput, Lossless Data Compresion on FPGAs , 2011, 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines.

[15]  David J. Craft,et al.  A fast hardware data compression algorithm and some algorithmic extensions , 1998, IBM J. Res. Dev..

[16]  Guillermo Sapiro,et al.  LOCO-I: a low complexity, context-based, lossless image compression algorithm , 1996, Proceedings of Data Compression Conference - DCC '96.

[17]  Tilman Liebchen,et al.  MPEG-4 ALS: an emerging standard for lossless audio coding , 2004, Data Compression Conference, 2004. Proceedings. DCC 2004.

[18]  Hugh E. Williams,et al.  Compression of inverted indexes For fast query evaluation , 2002, SIGIR '02.

[19]  S. Golomb Run-length encodings. , 1966 .

[20]  Michael W. Hoffman,et al.  An analog-to-digital converter with Golomb-Rice output codes , 2006, IEEE Transactions on Circuits and Systems II: Express Briefs.

[21]  Tae Young Lee,et al.  A new frame-recompression algorithm and its hardware design for MPEG-2 video decoders , 2003, IEEE Trans. Circuits Syst. Video Technol..

[22]  Ajit Kumar Mahapatra,et al.  Inverted indexes: Types and techniques , 2011 .

[23]  Yunhua Zhang,et al.  ECG compression based on wavelet transform and Golomb coding , 2006 .