Inverting the Burrows—Wheeler transform

  • Authors:
  • Richard S. Bird;Shin-Cheng Mu

  • Affiliations:
  • Programming Research Group, Oxford University, Wolfson Building, Parks Road, Oxford OX1 3QD, UK (email: richard.bird@comlab.ox.ac.uk);Programming Research Group, Oxford University, Wolfson Building, Parks Road, Oxford OX1 3QD, UK (email: richard.bird@comlab.ox.ac.uk)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Burrows–Wheeler Transform is a string-to-string transform which, when used as a preprocessing phase in compression, significantly enhances the compression rate. However, it often puzzles people how the inverse transform is carried out. In this pearl we to exploit simple equational reasoning to derive the inverse of the Burrows–Wheeler transform from its specification. We also outline how to derive the inverse of two more general versions of the transform, one proposed by Schindler and the other by Chapin and Tate.