Compression boosting in optimal linear time using the Burrows-Wheeler Transform

  • Authors:
  • Paolo Ferragina;Giovanni Manzini

  • Affiliations:
  • Università di Pisa, Italy;Università del Piemonte Orientale, Alessandria, Italy

  • Venue:
  • SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we provide the first compression booster that turns a zeroth order compressor into a more effiective k-th order compressor without any loss in time efficiency. More precisely, let A be an algorithm that compresses a string s within λ|s|H*0(s)+μ bits of storage in O(T (|s|)) time, where H*0(s) is the zeroth order entropy of the string s. Our booster improves A by compressing s within λ|s|H*0(S) + log2 |s| + gk bits still using O(T (|s|)) time, where H*k(s) is the k-th order entropy of s.The idea of a "compression booster" has been very recently introduced by Giancarlo and Sciortino in [7]. They combined the Burrows-Wheeler Transform [3] with dynamic programming and achieved our same compression bound but with running time O(T (|s|)) + Ω(|s|2). We start from the same premises of [7], but instead of using dynamic programming we design a linear time optimization algorithm based on novel structural properties of the Burrows-Wheeler Transform.