Transformée Burrows Wheeler

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche

La transformée de Burrows-Wheeler (aussi appelé BWT) est la seconde étape, mais pas des moindres, de l'algorithme de compression bzip2. C'est d'ailleurs l'un des deux principaux rouages de l'algorithme d'après son auteur :

bzip2 compresses files using the Burrows-Wheeler block sorting text compression algorithm, and Huffman coding.

- Julian Seward

Utilisation

Cette transformée est utilisée pour faire apparaître des motifs redondants, ce qui aide à la compression avec l'encoding d'Huffman.

Principe de fonctionnement

La transformé de Burrows-Wheeler se construit à partir d'une matrice de permutations des lettres du mot (ou d'une séquence d'octet de façon général).

Prenons le mot ABRACADABRA. La matrice de rotation associé est la suivante :

ABRACADABRA
BRACADABRAA
RACADABRAAB
ACADABRAABR
CADABRAABRA
ADABRAABRAC
DABRAABRACA
ABRAABRACAD
BRAABRACADA
RAABRACADAB
AABRACADABR

Algorithme

Implémentation naïve

Implémentation avancé

Sources