Académique Documents
Professionnel Documents
Culture Documents
Télécommunication
Chapitre 4 : Compression de données. 1
I. Introduction :
La compression a pour but de réduire la longueur d’une chaîne sans affecter son contenu informatif.
Cela permet à la fois de réduire les exigences en mémoire et d’augmenter la capacité d’un canal de
transmission (théorie de Shannon). L’information d’un message peut se définir comme la "surprise"
causée par la connaissance de ce message.
Les supports de stockage de données se remplissent en même temps que leur taille croit.
Formats de fichiers intégrant la compression : images (gif ou jpeg) texte (pdf).
Réseaux : augmenter la bande passante en diminuant le nombre de bits émis (pb des chiffres)
Télécommunications : utilisation courante dans le fonctionnement des modems (protocole V42
par exemple) et pour les transmissions par télécopie.
Compression et décompression
Leur taux de compression (rapport de la taille du fichier compressé sur la taille du fichier initial)
La qualité de compression (sans/avec perte et alors pourcentage de pertes)
La vitesse de compression et de décompression
La compression peut être avec perte ou sans perte. On utilise la première pour les schémas, les photos,
les dessins techniques, les icônes, les bandes dessinées, les fichiers exécutables ou texte, le fax car les
images compressées présentent des défauts de compression, et la deuxième pour les images médicales, les
archives car il faut préserver une grande précision.
1) Sans perte (compactage) : La suite de bits obtenue après la compression est strictement identique
à l'originale. Il n'y a aucune perte dans l'information d'origine, l’information est seulement réécrite
d'une manière plus concise. Les algorithmes utilisés ne garantissent pas que tous les ensembles de
données en entrée sont réduits : en d’autres termes, il y a des données en entrée qui restent
inchangées
Ce type de compression est utilisé en :
Audio : RealPlayer (Windows, Mac OS X, Linux, Unix, Palm OS, Windows Mobile),
WMA (Windows Media Audio)
Images : GIF (Graphics Interchange Format), PNG (Portable_Network_Graphics), JPEG et
JPEG 2000 (Joint Photographic Experts Group), TIFF (Tagged Image File Format)
Video : H.264 ou MPEG-4 AVC (Advanced Video Coding), format propriétaire du Moving
Picture Experts Group
2) Avec pertes (irréversible ou non conservative) : La suite de bits obtenue après la compression est
différente de l'originale, mais l'information reste sensiblement la même. Elle est réservée aux
données «perceptibles», en général sonores ou visuelles, qui peuvent subir une modification, parfois
importante, sans que cela ne soit perceptible par un humain. La perte d'information est irréversible,
il est impossible de retrouver les données d'origine après une telle compression. La compression
avec perte est pour cela parfois appelée compression.
Les formats tels que Zip, RAR (Roshal ARchive inventé par Eugene Roshal).
MP3 (Mpeg 1 audio layer 3)
JPEG (Joint Photographic Experts Group) utilisent des algorithmes de compression.
3) Compression d’image :
L’encodage RLE remplace les suites de pixels de la même couleur par le nombre de pixels de cette
séquence.
Création d’une nouvelle séquence dans laquelle le deuxième élément correspond au niveau de gris
et le premier élément correspond au nombre de pixels consécutif possédant ce niveau de gris
On code séparément le niveau de gris et l’occurrence de chaque pixel.
b) Compression JPEG
JPEG est l’acronyme de Joint Photographic Experts Group. Il s'agit d'un comité d’experts qui édite des
normes de compression pour l’image fixe. La norme communément appelée JPEG, de son vrai nom
ISO/CEI 10918-1 UIT-T Recommendation T.81, est le résultat de l’évolution de travaux qui ont débuté
dans les années 1978 à 1980 avec les premiers essais en laboratoire de compression d'images.
Le groupe JPEG qui a réuni une trentaine d’experts internationaux, a spécifié la norme en 1991. La norme
officielle et définitive a été adoptée en 1992. Dans la pratique, seule la partie concernant le codage
arithmétique est brevetée, et par conséquent protégée par IBM, son concepteur.
Une photo de fleur compressée en JPEG, avec des compressions de plus en plus fortes,
de gauche à droite.
L’oeil étant plus sensible à la luminosité qu’à la couleur (95 % de bâtonnets pour la lumière
; 5 % de cônes pour la couleur), les humains sont plus sensibles à la luminosité d’une image
(composante Y) qu’à la couleur (composantes Cb et Cr).
Utilisation de l’espace YCbCr pour permettre une compression plus importante sans altérer
la qualité de l’image.
B. Sous-échantillonnage :
Le schéma de sous-échantillonnage est noté J:a:b où :
J : taille horizontale du bloc (généralement 4)
a : nombre de chrominances dans la 1ʳᵉ ligne
b : nombre de chrominances additionnels dans la 2ᵉ ligne
C. Découpage en sous-images 8 X 8 :
Chaque canal (Y, Cb, Cr) est découpé en blocs de 8X8 pixels.
L’énergie d’une image naturelle est principalement concentrée dans les basses fréquences, donc sur
quelques coefficients de la transformée de Fourier discrète seulement.
En pratique, la DCT (transformée en cosinus discrète : discrete cosine transform) est utilisée à la place
de la transformée de Fourier discrète pour des raisons des facilité d’implémentation.
Exemple :
D. Quantification de la transformée :
Plutôt que d’annuler purement et simplement les coefficients les plus faibles, on applique une
quantification différente en chaque fréquence. Ainsi, les coefficients supprimés sont ceux qui
n’affectent pas significativement l’image décompressée.
Où :
■ D : coefficients de la DCT
■ Q : matrice de quantification
■ D′ : coefficients quantifiés
E. Compression de la quantification :
Un parcours en zig-zag des blocs produit une séquence où les fréquences similaires sont regroupées.
Enfin, l’image est codée comme une suite de nombres avec un run-length encoding ou RLE qui est un
algorithme de compression des données sans perte. Une valeur quantifié de la DCT est suivit du nombre de
pixels consécutifs selon un balayage en zigzag.
Exemple complet
Cette image est en noir et blanc (nuances de gris) , c'est à dire qu’on ne va travailler qu’avec une seule
matrice au lieu de trois (mode RVB), on a dans ce cas R=V=B.
Dans ce cas (nuances de gris), on pas besoin de passer au mode YCbCr puisque Y=G, et donc les
matrices Cb et Cr prendront de l’espace inutilement. Puisqu’on n’est pas passé au mode YCbCr, on ne va
pas effectuer le sous échantillonnage qui s’applique sur les composantes Cb et Cr. (Chrominance). Avant
d’appliquer la DCT on va retrancher 128 : G_128 = G – 128 (avec G en mode « double (pour les nombres
négatifs) »):
Quantification :
Puisque la composante Y est équivalente à la matrice de pixels, dans ce cas, on va utiliser une table de
quantification basée sur la table de quantification de luminance : (Si l’image est en couleurs RVB, dans ce
cas on va utiliser une table de quantification de luminance pour Y et une table de chrominance pour CB et
CR. Ces tables changent bien sûr en fonction de la qualité). La table de luminance par défaut (pour
qualité=50) :
Parcours en zigzag :
Encodage RLE :
Codage de HUFFMAN :