This paper reports on work at IBM's Austin and Burlington laboratories concerning fast hardware implementations of general-purpose lossless data compression algorithms, particularly for use in enhancing the data capacity of computer storage devices or systems, and transmission data rates for networking or telecommunications channels. The distinctions between lossy and lossless compression and static and adaptive compression techniques are first reviewed. Then, two main classes of adaptive Lempel-Ziv algorithm, now known as LZ1 and LZ2, are introduced. An outline of early work comparing these two types of algorithm is presented, together with some fundamental distinctions which led to the choice and development of an IBM variant of the LZ1 algorithm, ALDC, and its implementation in hardware. The encoding format for ALDC is presented, together with details of IBM's current fast hardware CMOS compression engine designs, based on use of a content-addressable memory (CAM) array. Overall compression results are compared for ALDC and a number of other algorithms, using the CALGARY data compression benchmark file corpus. More recently, work using small hardware preprocessors to enhance the compression of ALDC on other types of data has shown promising results. Two such algorithmic extensions, BLDC and cLDC, are presented, with the results obtained on important data types for which significant improvement over ALDC alone is achieved.
[1]
Brennig James,et al.
THE UNIVERSAL ALGORITHM
,
1998
.
[2]
T. Bell,et al.
Better OPM/L Text Compression
,
1986,
IEEE Trans. Commun..
[3]
Abraham Lempel,et al.
On the Complexity of Finite Sequences
,
1976,
IEEE Trans. Inf. Theory.
[4]
Richard P. Brent,et al.
A Linear Algorithm for Data Compression
,
1987,
Aust. Comput. J..
[5]
Linda Duyanovich,et al.
A fast, highly reliable data compression chip and algorithm for storage systems
,
1996,
IBM J. Res. Dev..
[6]
James A. Storer,et al.
Data compression via textual substitution
,
1982,
JACM.
[7]
Abraham Lempel,et al.
Compression of individual sequences via variable-rate coding
,
1978,
IEEE Trans. Inf. Theory.
[8]
Abraham Lempel,et al.
A universal algorithm for sequential data compression
,
1977,
IEEE Trans. Inf. Theory.