Abstract

One of the most famous and investigated lossless data-compression schemes is the one introduced by Lempel and Ziv about 30 years ago [IEEE Trans. Inform. Theory, 23 (1977), pp. 337--343]. This compression scheme is known as “dictionary-based compressor” and consists of squeezing an input string by replacing some of its substrings with (shorter) codewords which are actually pointers to a dictionary of phrases built as the string is processed. Surprisingly enough, although many fundamental results are nowadays known about the speed and effectiveness of this compression process, “we are not aware of any parsing scheme that achieves optimality$\ldots$under any constraint on the codewords other than being of equal length” [N. Rajpoot and C. Sahinalp, in Handbook of Lossless Data Compression, Academic Press, New York, 2002, p. 159]. Here optimality means to achieve the minimum number of bits in compressing each individual input string without any assumption on its generating source. In this paper we investigate some issues pertaining to the bit-complexity of LZ77-based compressors, the most powerful variant of the LZ-compression scheme, and we design algorithms which achieve bit-optimality in the compressed output size by taking efficient/optimal time and optimal space.

Keywords

  1. compression
  2. Lempel--Ziv
  3. dynamic programming

MSC codes

  1. 68P30
  2. 68R10
  3. 68Q25
  4. 68P05

Get full access to this article

View all available purchase options and get full access to this article.

References

1.
A. Amir, G. M. Landau, and E. Ukkonen, Online timestamped text indexing, Inform. Process. Lett., 82 (2002), pp. 253--259.
2.
P. Beame and F. E. Fich, Optimal bounds for the predecessor problem, in Proceedings of the 31st ACM Symposium on Theory of Computing (STOC), 1999, pp. 295--304.
3.
M. A. Bender, M. Farach-Colton, and B. C. Kuszmaul, Cache-oblivious string b-trees, in Proceedings of the 25th Symposium on Principles of Database Systems (PODS), ACM, 2006, pp. 233--242.
4.
J. Békési, G. Galambos, U. Pferschy, and G. Woeginger, Greedy algorithms for on-line data compression, J. Algorithms, 25 (1997), pp. 274--289.
5.
P. Boldi, B. Codenotti, M. Santini, and S. Vigna, Ubicrawler: A scalable fully distributed web crawler, Software: Practice & Experience, 34 (2004), pp. 711--726.
6.
P. Boldi and S. Vigna, Codes for the world wide web, Internet Mathematics, 2 (2005), pp. 407--429.
7.
R. Cilibrasi and P. M. B. Vitányi, Clustering by compression, IEEE Trans. Inform. Theory, 51 (2005), pp. 1523--1545.
8.
M. Cohn and R. Khazan, Parsing with prefix and suffix dictionaries, in Proceedings of the Data Compression Conference (DCC), 1996, pp. 180--189.
9.
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms, 2nd ed., The MIT Press, Cambridge, MA, 2001.
10.
G. Cormode and S. Muthukrishnan, Substring compression problems, in Proceedings of the 16th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), 2005, pp. 321--330.
11.
M. Crochemore, L. Ilie, and W. F. Smyth, A simple algorithm for computing the Lempel-Ziv factorization, in Proceedings of the Data Compression Conference (DCC), 2008, pp. 482--488.
12.
P. Elias, Universal codeword sets and representations of the integers, IEEE Trans. Inform. Theory, 21 (1975), pp. 194--203.
13.
P. Fenwick, Universal codes, in Lossless Compression Handbook, Academic Press, New York, 2003, pp. 55--78.
14.
P. Ferragina, R. Giancarlo, G. Manzini, and M. Sciortino, Boosting textual compression in optimal linear time, J. ACM, 52 (2005), pp. 688--713.
15.
P. Ferragina, R. Giancarlo, and G. Manzini, The engineering of a compression boosting library: Theory vs. practice in bwt compression, in Proceedings of the 14th Annual European Symposium on Algorithms (ESA), 2006, pp. 756--767.
16.
P. Ferragina, R. González, G. Navarro, and R. Venturini, Compressed text indexes: From theory to practice, ACM J. Exp. Algorithmics, 13 (2008).
17.
P. Ferragina, Data structures: Time, I/Os, entropy, joules!, in Proceedings of the 18th European Symposium on Algorithms (ESA), Lecture Notes in Comput. Sci. 6347, Springer, New York, 2010, pp. 1--16.
18.
E. R. Fiala and D. H. Greene, Data compression with finite windows, Comm. ACM, 32 (1989), pp. 490--505.
19.
T. Gagie and G. Manzini, Space-conscious compression, in Proceedings of the 32nd International Symposium on Mathematical Foundations of Computer Science (MFCS), 2007, pp. 206--217.
20.
R. F. Geary, R. Raman, and V. Raman, Succinct ordinal trees with level-ancestor queries, ACM Trans. Algorithms, 2 (2006), pp. 510--534.
21.
J. Katajainen and T. Raita, An approximation algorithm for space-optimal encoding of a text, Computer J., 32 (1989), pp. 228--237.
22.
J. Katajainen and T. Raita, An analysis of the longest match and the greedy heuristics in text encoding, J. ACM, 39 (1992), pp. 281--294.
23.
S. T. Klein, Efficient optimal recompression, Computer J., 40 (1997), pp. 117--126.
24.
R. Kosaraju and G. Manzini, Compression of low entropy strings with Lempel--Ziv algorithms, SIAM J. Comput., 29 (1999), pp. 893--911.
25.
E. M. McCreight, Priority search trees, SIAM J. Comput., 14 (1985), pp. 257--276.
26.
G. Navarro and V. Mäkinen, Compressed full-text indexes, ACM Computing Surveys, 39 (2007).
27.
S. J. Puglisi, W. F. Smyth, and A. H. Turpin, A taxonomy of suffix array construction algorithms, ACM Computing Surveys, 39 (2007).
28.
N. Rajpoot and C. Sahinalp, Dictionary-based data compression, in Handbook of Lossless Data Compression, Academic Press, New York, 2002, pp. 153--167.
29.
D. Salomon, Data Compression: The Complete Reference, 4th ed., Springer-Verlag, New York, 2006.
30.
E. J. Schuegraf and H. S. Heaps, A comparison of algorithms for data base compression by use of fragments as language elements, Information Storage and Retrieval, 10 (1974), pp. 309--319.
31.
M. E. G. Smith and J. A. Storer, Parallel algorithms for data compression, J. ACM, 32 (1985), pp. 344--373.
32.
W. Szpankowski, Asymptotic properties of data compression and suffix trees, IEEE Trans. Inform. Theory, 39 (1993), pp. 1647--1659.
33.
J. S. Vitter and P. Krishnan, Optimal prefetching via data compression, J. ACM, 43 (1996), pp. 771--793.
34.
D. E. Willard, Examining computational geometry, van Emde Boas trees, and hashing from the perspective of the fusion tree, SIAM J. Comput., 29 (2000), pp. 1030--1049.
35.
I. H. Witten, A. Moffat, and T. C. Bell, Managing Gigabytes: Compressing and Indexing Documents and Images, 2nd ed., Morgan Kaufmann, Los Altos, CA, 1999.
36.
J. Ziv and A. Lempel, A universal algorithm for sequential data compression, IEEE Trans. Inform. Theory, 23 (1977), pp. 337--343.
37.
J. Ziv and A. Lempel, Compression of individual sequences via variable-rate coding, IEEE Trans. Inform. Theory, 24 (1978), pp. 530--536.
38.
J. Ziv, Classification with finite memory revisited, IEEE Trans. Inform. Theory, 53 (2007), pp. 4413--4421.

Information & Authors

Information

Published In

cover image SIAM Journal on Computing
SIAM Journal on Computing
Pages: 1521 - 1541
ISSN (online): 1095-7111

History

Submitted: 9 March 2012
Accepted: 8 May 2013
Published online: 9 July 2013

Keywords

  1. compression
  2. Lempel--Ziv
  3. dynamic programming

MSC codes

  1. 68P30
  2. 68R10
  3. 68Q25
  4. 68P05

Authors

Affiliations

Metrics & Citations

Metrics

Citations

If you have the appropriate software installed, you can download article citation data to the citation manager of your choice. Simply select your manager software from the list below and click Download.

Cited By

View Options

View options

PDF

View PDF

Figures

Tables

Media

Share

Share

Copy the content Link

Share with email

Email a colleague

Share on social media