Lossless compression is bounded by how much redundancy a method can see. LZ-family and Huffman coding each reach a plateau on ordinary text.
Burrows and Wheeler's 1994 DEC report described a block-sorting transform: list every rotation of the block, sort them, and emit the last column. Because rotations share suffixes, identical characters cluster, and a short run-length and move-to-front pass turns that into very few symbols.
The transform is invertible, so it is a rearrangement not a loss. The result fed bzip2, which compressed text more effectively than contemporary tools and made the technique the standard for slow-but-tight compression.
Sort the block's rotations so like neighbors
Sorting rotations brings identical symbols together where context is the same.
Run-length and move-to-front coding then find long, cheap runs.
The transform is a permutation, so decompression is exact.
It works on any repeated structure, so it is not tuned to one file type.
Before you compress, reorder the data so identical symbols sit beside each other. A transform that clusters the predictable parts can make an ordinary compressor dramatically stronger.
The Burrows-Wheeler transform became bzip2's engine and later the basis of the FM-index, which finds substrings and maps genomes. The same idea powers high-throughput bioinformatics alignment tools today.
FOLLOW THE EVIDENCE
The sources
- A block-sorting lossless data compression algorithm DEC Systems Research Center Research Report 124 · web.stanford.edu
- Burrows-Wheeler transform Wikipedia · en.wikipedia.org