Advertisement

A Simpler Analysis of Burrows-Wheeler Based Compression

  • Haim Kaplan
  • Shir Landau
  • Elad Verbin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4009)

Abstract

In this paper we present a new technique for worst-case analysis of compression algorithms which are based on the Burrows-Wheeler Transform. We deal mainly with the algorithm purposed by Burrows and Wheeler in their first paper on the subject [6], called bw0. This algorithm consists of the following three steps: 1) Compute the Burrows-Wheeler transform of the text, 2) Convert the transform into a sequence of integers using the move-to-front algorithm, 3) Encode the integers using Arithmetic code or any order-0 encoding (possibly with run-length encoding).

We prove a strong upper bound on the worst-case compression ratio of this algorithm. This bound is significantly better than bounds known to date and is obtained via simple analytical techniques. Specifically, we show that for any input string s, and μ> 1, the length of the compressed string is bounded by μ Open image in new window |s| H k (s) + log(ζ(μ)) Open image in new window |s| + g k where H k is the k-th order empirical entropy, g k is a constant depending only on k and on the size of the alphabet, and \(\zeta(\mu) = \frac{1}{1^\mu} + \frac{1}{2^\mu} + \ldots \) is the standard zeta function. As part of the analysis we prove a result on the compressibility of integer sequences, which is of independent interest.

Finally, we apply our techniques to prove a worst-case bound on the compression ratio of a compression algorithm based on the Burrows-Wheeler transform followed by distance coding, for which worst-case guarantees have never been given. We prove that the length of the compressed string is bounded by 1.7286 Open image in new window |s| H k (s) + g k . This bound is better than the bound we give for bw0.

Keywords

Compression Ratio Compression Algorithm Input String Arithmetic Code Consecutive Occurrence 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The canterbury corpus, http://corpus.canterbury.ac.nz
  2. 2.
    Abel, J.: Web page about Distance Coding, http://www.data-compression.info/Algorithms/DC/
  3. 3.
    Apostolico, A., Fraenkel, A.S.: Robust transmission of unbounded strings using fibonacci representations. IEEE Transactions on Information Theory 33(2), 238–245 (1987)CrossRefMathSciNetMATHGoogle Scholar
  4. 4.
    Bentley, J.L., Sleator, D.D., Tarjan, R.E., Wei, V.K.: A locally adaptive data compression scheme. Communications of the ACM 29(4), 320–330 (1986)CrossRefMathSciNetMATHGoogle Scholar
  5. 5.
    Binder, E.: Distance coder. Usenet group comp.compression (2000)Google Scholar
  6. 6.
    Burrows, M., Wheeler, D.J.: A block sorting lossless data compression algorithm. Technical Report 124, Digital Equipment Corporation, Palo Alto, California (1994)Google Scholar
  7. 7.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, ch. 16.3, 2nd edn., pp. 385–392. MIT Press and McGraw-Hill (2001)Google Scholar
  8. 8.
    Deorowicz, S.: Second step algorithms in the Burrows–Wheeler compression algorithm. Software – Practice and Experience 32(2), 99–111 (2002)CrossRefMATHGoogle Scholar
  9. 9.
    Elias, P.: Universal codeword sets and representation of the integers. IEEE Trans. on Information Theory 21(2), 194–203 (1975)CrossRefMathSciNetMATHGoogle Scholar
  10. 10.
    Ferragina, P., Giancarlo, R., Manzini, G., Sciortino, M.: Boosting textual compression in optimal linear time. Journal of the ACM 52, 688–713 (2005)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Fraenkel, A.S., Klein, S.T.: Robust universal complete codes for transmission and compression. Discrete Applied Mathematics 64(1), 31–55 (1996)CrossRefMATHGoogle Scholar
  12. 12.
    Huffman, D.A.: A method for the construction of minimum-redundancy codes. Proceedings of the IRE 40(9), 1098–1101 (1952)CrossRefGoogle Scholar
  13. 13.
    Lelewer, D.A., Hirschberg, D.S.: Data compression. ACM Computing Surveys 19(3), 261–296 (1987)CrossRefMATHGoogle Scholar
  14. 14.
    Manzini, G.: Personal communicationGoogle Scholar
  15. 15.
    Manzini, G.: An analysis of the Burrows-Wheeler transform. Journal of the ACM 48(3), 407–430 (2001)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Manzini, G., Ferragina, P.: Engineering a lightweight suffix array construction algorithm. Algorithmica 40, 33–50 (2004)CrossRefMathSciNetMATHGoogle Scholar
  17. 17.
    Moffat, A., Neal, R.M., Witten, I.H.: Arithmetic coding revisited. ACM Trans. Inf. Syst. 16(3), 256–294 (1998)CrossRefGoogle Scholar
  18. 18.
    Seward, J.: bzip2, a program and library for data compression, http://www.bzip.org/
  19. 19.
    Witten, I.H., Neal, R.M., Cleary, J.G.: Arithmetic coding for data compression. Communications of the ACM 30(6), 520–540 (1987)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Haim Kaplan
    • 1
  • Shir Landau
    • 1
  • Elad Verbin
    • 1
  1. 1.School of Computer ScienceTel Aviv UniversityTel AvivIsrael

Personalised recommendations