Académique Documents
Professionnel Documents
Culture Documents
Introduction. Cette partie va présenter une compression sans perte appelé codage de
Lempel Ziv Welch (LZW). Elle va d'abord décrire le codage avant de présenter la
compression et la décompression effectuées par ce codage
Description
Le codage de Lempel Ziv Welch est une adaptation du codage LZ78 d’Abraham Lempel et
Jacob Ziv amélioré par Terry Welch. Les codages Lempel Ziv ont inventé et posé les bases
du codage par dictonnaire et le codage LZW en est donc un lui aussi.
Un codage par dictionnaire (ou codage par facteur) est un codage basé sur un dictionnaire
ou une liste de mot. Ici, l’objectif va être de remplacer un mot par sa position dans le
dictionnaire.
Le codage LZW est utilisé dans les format GIF, TIFF et MOD.
Compression
Le principe de la compression est le suivant :
On lit une lettre du mot à coder qu’on ajoute au mot surveillé actuel (à l’origine :
le mot vide):
o Si le mot est présent dans le dictionnaire, on recommence l’opération en
lisant la lettre suivante
o Si le mot n’est pas présent dans le dictionnaire, on l’ajoute au dictionnaire
et on code le mot privé de la dernière lettre lue avec sa position dans le
dictionnaire. On recommence la lecture avec cette dernière lettre lue (et
donc la première lettre non codée).
Pour présenter la compression, nous allons utiliser un exemple et nous décrirons
chaque étape de compression.
Lettre E T W -
Indice 0 1 2 3
Comme il est montré notre dictionnaire contient des lettres qui portent des indices de 1 à 5, si on
rencontre un caractère qui ne se trouve pas dans le tableau (dictionnaire) on le rajoute.
TW existe
TWE 4 TWE,10
E existe
EE existe
EET 6 EET,11
T 1
Exemple2 : soit à coder la séquence "barbapapa" à l’aide du codage LZW, sachant que le
dictionnaire de base est celui du code ASCCI
Dès lors, le mot "barbapapa" est codé par "98 97 114 257 112 97 261"
Décompression
De la même manière, nous allons présenter la décompression par l’exemple en
décompressant notre format compressé.
Prenons le code "98 97 114 257 112 97 261" qui représente le mot "barbapapa". Le principe
de la décompression suit l'enchainement inverse. La difficulté est de rajouter les mots non
rencontrés au dictionnaire.