Telechargé par pap ppalias

ImInfo CM chap5

publicité
Chapitre 5
LA COMPRESSION DES
IMAGES NUMÉRIQUES
91
PROBLÈMES TRANSMISSION / STOCKAGE

Problèmes :
 Non
compressée (c’est-à-dire sous forme d’un
fichier BMP par exemple), une image couleur (en
RVB) haute résolution, en 1600 x 1200, occupe
5.5 Mo.
 Ceci
ne permet pas :
 une
transmission efficace de l’image : sur un réseau à
100 Mbits/s, la transmission prendrait 0.33 s.
 une
sauvegarde efficace de l’image : sur une carte
mémoire de 1 Go, on ne pourrait sauvegarder que 186
images.
92
INTÉRÊTS DE LA COMPRESSION

Intérêt :
 Gagner
de la place
 Diminuer le temps de transmission

Deux types de compression :
1.
Sans perte d'information :
le signal décompressé est identique au signal non compressé :
RLE, Huffman, LZW, Arithmétique…
2.
Avec perte d'information :
on sacrifie des informations pour compresser plus efficacement
: DCT, ondelettes, prédictif
93
COMPRESSION SANS PERTE : RLE
compression

Définition (Run-Length Encoding)




sans perte

RLE

LZW

Huffman

arithmétique

Exemple sur une image niveaux de gris

Problème
avec pertes

DCT

ondelettes

prédictif
comparaisons
Algorithme de compression qui consiste à
indiquer pour chaque suite de données
d'une même valeur, le nombre de
d’occurrences correspondantes.

Inefficace sur des images très texturées
94
COMPRESSION SANS PERTE : RLE
compression


sans perte

Exemples de formats d’image
 BMP

RLE
 Fichier

LZW


Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons
en 3 zones :
en-tête, palette (optionnelle), image
 Codage
des pixels en 1, 4, 8, 16 ou 24 bits
 Compression

RLE :
pour les images 8 et 4 bits
 Remarques
:
quasiment inexistant sur le Web
 excellente qualité (aucune dégradation d’image)
95
 très lourd


: Windows et OS/2
COMPRESSION SANS PERTE : RLE
compression



sans perte

Exemples de formats d’image
 PCX
: société ZSoft Corporation

RLE
 Fichier

LZW


Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
en 4 zones :
en-tête, image, information, palette (optionnelle)
 Nombre
de couleurs :
2 couleurs (1 bit), 16 (4 bits), 256 (8 bits) ou
16,8 millions (24 bits)
 en 24 bits/pixel : découpage en 3 plans de
couleur

comparaisons
96
COMPRESSION SANS PERTE : RLE
compression



sans perte

RLE

LZW

Huffman

arithmétique

Exemples de formats d’image
 PCX
: société ZSoft Corporation
 Compression


DCT

ondelettes

prédictif
comparaisons
mettre les couleurs :


avec pertes
RLE :
les plus fréquentes aux premières positions
(0x00 … 0xC0)
les moins fréquentes aux dernières positions
(0xC1 … 0xFF) > compression RLE
 Remarques
:
compression rapide, peu exigeant en mémoire
 pas très efficace, surtout pour les images issues
du monde réel

97
COMPRESSION SANS PERTE : LZW
compression


Définition (Lempel-Ziv-Welch)

sans perte

RLE

LZW

Huffman

arithmétique

Dictionnaire


DCT

ondelettes



prédictif
comparaisons
Initialisé avec les 256 valeurs de la table ASCII.
Découpage des données en chaînes d'octets, comparées au
dictionnaire et ajoutées si jamais elle n'y est pas présente.
Compression



Construction

avec pertes

Algorithme de compression qui construit
dynamiquement un dictionnaire à partir des
données à compresser, pour remplacer les
chaînes de caractères du dictionnaire par un
nouveau code.
Parcourt des données en les codant ; si jamais une chaîne est plus
petite que le plus grand mot du dictionnaire, elle est transmise.
Décompression

Le dictionnaire est reconstruit dans le sens inverse, et n'a donc
pas besoin d'être stocké.
98
COMPRESSION SANS PERTE : LZW
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

Exemples de formats d’image
 TIFF
: Adobe
 Stockage
d’images BITMAP de taille
importante (plus de 4 Go compressées)
 Nombre

de couleurs :
2 couleurs (1 bit), 16 (4 bits), 256 (8 bits),
65 536 (16 bits), 16,8 millions (24 bits) ou
4 milliards (32 bits)
 Espaces
de couleurs :
Non limité au RVB
 Possibilité d’utiliser CMJN, YCbCr, …

99
COMPRESSION SANS PERTE : LZW
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

Exemples de formats d’image
 TIFF
: Adobe
 Structure

du fichier TIFF
Utilisation de balises décrivant les
caractéristiques de l'image (dimensions de
l'image, nombre de couleurs utilisées, type
de compression, correction gamma, etc.)
 Algorithmes

RLE / JPEG / LZW / …
 Remarques

de compression
:
Possibilités qu’un logiciel ne puisse pas lire
le format TIFF créé sur un autre logiciel
100
COMPRESSION SANS PERTE : LZW
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

Exemples de formats d’image
 GIF
: CompuServe
 Caractéristiques
compression LZW (propriétaire)
 entrelacement pour affichage progressif
 limité à 256 couleurs parmi 16.8 millions dans
sa palette
 permettre les images animées
 couleur transparente

 Remarques
inefficace pour les photos réalistes
 efficace pour les logos et graphiques

101
COMPRESSION SANS PERTE : HUFFMAN
compression

Définition (Huffman)




sans perte

RLE

LZW

Huffman

arithmétique

Algorithme de compression de type
statistique, basé sur l'entropie de Shannon.
Grâce à une méthode d'arbre, il permet de
coder les octets revenant le plus
fréquemment avec une séquence de bits
beaucoup plus courte.
avec pertes

DCT

ondelettes

prédictif
comparaisons

Remarque

Cet algorithme offre des taux de compression
démontrés les meilleurs possibles pour un
codage par symbole.
102
COMPRESSION SANS PERTE : HUFFMAN
compression



sans perte

RLE

LZW

Huffman

arithmétique

3 variantes de l'algorithme de Huffman :




DCT


ondelettes

prédictif
comparaisons

Chaque octet a un code prédéfini par le logiciel.
Compression seulement sur un seul type de fichier
semi-adaptatif :

avec pertes

statique :
Le fichier est d'abord lu, de manière à construire un
arbre utile pour la compression / décompression
Nécessité de transmettre l’arbre pour la décompression
adaptatif :



Compression toujours optimale car l'arbre est construit
dynamiquement au fur et à mesure de la compression
du flux
Temps d'exécution plus long
103
Inutile de transmettre ou stocker l’arbre
COMPRESSION SANS PERTE : HUFFMAN
compression

Remarque


sans perte

RLE

LZW

Huffman

arithmétique

Exemples de format d’archive



avec pertes

DCT

ondelettes

prédictif
comparaisons
Quasi tous les compresseurs l'utilisent comme
2nd étage de compression, recomprimant ce
qui l’a été par une autre technique.
Le format GZIP


Format deflate basé sur la compression sans perte
combinée : RLE, LZ77 (algorithme précurseur du LZW),
Huffman
Le format BZIP2

Utilise la transformée de Burrows-Wheeler avec le codage
de Huffman. Le taux de compression est meilleur que celui
104
du format GZIP.
COMPRESSION SANS PERTE : HUFFMAN
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

Exemples de formats d’image
 PNG
: Unisys
 Alternative
libre au format GIF
 Structure
En-tête
 Découpage de l’image en segment contenant :


Taille et nature du segment, les données
compressées, code correcteur CRC
 Algorithmes

de compression
Deflate, basé sur le format ZIP (combinaison de
la compression LZ77 et Huffman)
105
COMPRESSION SANS PERTE : HUFFMAN
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Exemples de formats d’image
 PNG
: Unisys
 Remarques
Libre
 8 ou 16 bits / composante de couleurs
 Jusqu’à 24 ou 48 bits / pixel
 Images binaires, couleurs réelles ou indexées
 Transparence par couche alpha : 256 niveaux de
transparence possible (contre 1 pour le GIF)
 Bonne compression mais très vite limitée
comparée aux méthodes de compression avec
pertes

comparaisons
106
COMPRESSION SANS PERTE : HUFFMAN
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Exemples de formats d’image
 JPEG
: Joint Photographic Experts Group
 Méthode
de compression d’image basée
sur la transformée DCT en 1er étage et la
compression sans perte de Huffman dans
le 2nd étage.
 De
plus amples explications dans la section
« compression avec pertes : DCT »
comparaisons
107
COMPRESSION SANS PERTE : ARITHM.
compression

Définition




sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

Algorithme de compression qui s’apparente
au codage de Huffman, sauf qu'il encode le
message entièrement et le représente par
un seul nombre n (flottant) alors que les
autres codages séparent le message
d'entrée en les symboles qui le composent
et encodent ensuite chaque symbole par un
mot code.
Remarque


Cet algorithme offre des taux de compression
bien meilleurs que le codage de Huffman.
Aucun format d’images l’utilise : très lent 108
COMPRESSION AVEC PERTE : DCT
compression

Définition




sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif


algorithme de compression basé sur la
transformée DCT (Discrete Cosine Transform,
en français transformée en cosinus discrète),
variante de la transformée de Fourier.
Cette méthode permet de décrire chaque bloc
en une carte de fréquences et en amplitudes
plutôt qu'en pixels et couleurs.
Remarques


comparaisons

Fréquence ® importance et rapidité d’un
changement de couleur
Amplitude ® écart pour chaque changement de
couleur
Utilisée pour les formats JPEG et MPEG.
109
COMPRESSION AVEC PERTE : DCT
compression



Chaîne de traitement du format JPEG

Remarques
sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT


ondelettes


prédictif
Chaque image est décomposée en blocs 8x8
Sur les bords, on peut compléter les derniers blocs



comparaisons


Par des zéros
Par des prolongements continus
Par une symétrie
Chaque bloc est une ‘petite’ image
110
COMPRESSION AVEC PERTE : DCT
compression

sans perte

RLE

LZW

Huffman

arithmétique

Conversion RVB « YUV
(Y : luminance, U et V : chrominances)
 Système de conversion réversible :




L’œil est plus sensible à
l’intensité lumineuse qu’aux
informations colorées.



avec pertes

DCT

ondelettes

prédictif
comparaisons


Y = 0,299 R + 0,587 V + 0,114 B
U = - 0,1687 R - 0,3313 V + 0,5 B
V = 0,5 R - 0,4187 V - 0,0813 B
A cette étape, on réduit le nombre
de chrominance par 4.
Ainsi, le nombre de valeurs est
réduit par 2.
A cette étape, l'image a pu être dégradée de 2 façons :


perte de précision lors de la conversion RGB->YUV entre les
entiers et les flottants.
diminution de la précision du codage de la chrominance.
111
COMPRESSION AVEC PERTE : DCT
compression

Transformée en cosinus discret – DCT


sans perte

RLE

LZW

Huffman

arithmétique



avec pertes

DCT

ondelettes

prédictif
Calcul de la DCT sur un sous-bloc 8x8
Remarques


Chaque sous-bloc en 8x8 est transformée en une autre
matrice par la DCT
Il n’y a pas de perte d’information ici
comparaisons
112
COMPRESSION AVEC PERTE : DCT
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Transformée en cosinus discret – DCT

C’est une représentation fréquentielle



Composante continue
au coin en haut à gauche
Basses fréquences
en haut à gauche
Hautes fréquences
en bas à droite
comparaisons
113
COMPRESSION AVEC PERTE : DCT
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Quantification



Processus principalement responsable de la
dégradation de l'image.
Grâce à un facteur de qualité, on crée une table
de quantification 8x8 selon la formule :
Exemple pour un facteur de qualité de 3 :
comparaisons
114
COMPRESSION AVEC PERTE : DCT
compression



sans perte

RLE

LZW

Huffman

arithmétique

Quantification


avec pertes

DCT

ondelettes

prédictif
comparaisons

Ensuite chaque coefficient calculé par la DCT
va être quantifié afin de mettre à zéro une
grande partie des hautes fréquences.
La lecture des coefficients se fait en zigzag :
on ne garde que la composante continue et
quelques basses, voire moyennes fréquences.
Les méthodes de compression RLE et Huffman
sans perte deviennent ici
plus efficaces.
115
COMPRESSION AVEC PERTE : ONDELETTES
compression

Définition




sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

algorithme de compression basé sur
la transformée en ondelettes (Wavelet
Transform), variante de la transformée
de Fourier. Cette méthode est basée sur
le regroupement multirésolution de
l'information.
Remarques


Séparer de l’information général (basses
fréquences) et les détails (hautes fréquences),
contenue dans une image, un son, …
Utilisée pour les formats JPEG2000 et
116
MPEG2000.
COMPRESSION AVEC PERTE : ONDELETTES
compression



Chaîne de traitement du JPEG2000

Remarques
sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

JPEG2000 meilleur que JPEG


DCT


ondelettes


prédictif



Grande flexibilité
Multi-plate-forme
Peu de détériorations de l'image originale
Meilleur taux de compression pour une même qualité
Meilleure adaptation à des systèmes à faible débit

comparaisons

Envoi en priorité de certains bits correspondant à des régions
importantes de l'image, qui sera intelligible plus rapidement.
Possibilité de compresser avec ou sans perte.
117
COMPRESSION AVEC PERTE : ONDELETTES
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Partitionnement de l’image
 Définir
des zones (ROI : Regions Of Interest)
 où
la qualité doit être préservée
 mieux encodées, et décodées plus
rapidement, pour permettre un
affichage optimal par exemple lors de
communications réseau.
comparaisons
Avec ROI
Sans ROI
118
COMPRESSION AVEC PERTE : ONDELETTES
compression



sans perte

RLE

LZW

Huffman

arithmétique

Phase de normalisation


But : meilleurs taux de compression
Principe :



DCT

ondelettes

prédictif
comparaisons

les pixels codés entre 0 et 255,
sont codés entre -128 et 127
Pour une transformation irréversible (avec perte)

avec pertes

Utilisation d’un « level offset »
Normalisation des pixels entre - ½ et ½
Intérêt de la normalisation
La compression ne dépend plus du nombre de
bits nécessaires pour coder l'image.
 JPEG2000 gagne en flexibilité : on pourra
coder n'importe quelle profondeur de bit.

119
COMPRESSION AVEC PERTE : ONDELETTES
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Conversion RVB « YUV (Y : luminance, U et V :
chrominances)

Transformation réversible (RCT) :
Y = 0,299 R + 0,587 V + 0,114 B
 U = - 0,1687 R - 0,3313 V + 0,5 B
 V = 0,5 R - 0,4187 V - 0,0813 B


Transformation irréversible (ICT) :
Y = partie entière ((R + 2 V + B) / 4)
U=R-V
V=B-V

comparaisons
120
COMPRESSION AVEC PERTE : ONDELETTES
compression




Transformée en ondelettes discrètes 1D
sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

Il existe un nombre illimité d’ondelettes

Exemple : ondelettes discrètes 1D de Haar
Niveau de
détail #
Coefficients de moyenne
0
[9;7;3;5]
1
L1 = [ 8 = (9+7)/2 ; 4 = (3+5)/2 ]
H1 = [ 1 = (9-7)/2 ; -1 = (3-5)/2 ]
2
L2 = [ 6 = (8+4)/2 ]
H2 = [ 2 = (8-4)/2 ]
Coefficients de détail
L : filtre passe-bas (Low pass filter)
 H : filtre passe-haut (High pass filter)
 Séquence originale : [ 9 ; 7 ; 3 ; 5 ]
 Séquence finale : [ 6 ; 2 ; 1 ; -1 ]

121
COMPRESSION AVEC PERTE : ONDELETTES
compression



sans perte

RLE

LZW

Huffman

arithmétique

Transformée en ondelettes discrètes 2D

Construction par succession
d’ondelettes 1D discrètes suivant les
axes x, puis y de l’image 2D
avec pertes

DCT

ondelettes

prédictif
comparaisons
122
COMPRESSION AVEC PERTE : ONDELETTES
compression

Transformée en ondelettes discrètes 2D




sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons
Exemple : image 2D
4 niveaux de détail
de la décomposition
en ondelettes 2D
Pour chaque niveau
de détail, l’information
générale est en haut à
gauche, et les détails
dans la zone restante
Image initiale à gauche
Image décomposée avec
les ondelettes 2D à droite
123
COMPRESSION AVEC PERTE : ONDELETTES
compression

Quantification




sans perte

RLE

LZW

Huffman

arithmétique

Utilisation d'un quantificateur à pas variable
Prise en compte du système de vision humaine

Utilisation de la courbe de sensibilité au contraste
de l’œil humain en fonction de la fréquence de
changement de luminance
avec pertes

DCT

ondelettes

prédictif
comparaisons
124
COMPRESSION AVEC PERTE : ONDELETTES
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Codage arithmétique adaptatif
 Utilisation
d’un codeur arithmétique
adaptatif de type MQ (développé par
Mitsubishi).
 Intérêt
du JPEG2000
 Chaque
ROI et chaque niveau de détail
est codé indépendamment.
 Meilleurs résultats qu'un codage global
(tel que le format JPEG)
comparaisons
125
COMPRESSION AVEC PERTE : ONDELETTES
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif

Organisation du flux de données
 Les
données sont réorganisées
pour proposer une reconstruction
permettant d’avoir :
 Rendu
Basse Résolution - Haute Qualité
 Rendu Haute Résolution - Basse Qualité
 Organisation maximisant le rapport
Signal/Bruit
 Organisation optimisant le rendu visuel
…
comparaisons
126
COMPRESSION AVEC PERTE : PREDICTIF
compression

Qu’est ce que le format WebP ?


sans perte

RLE

LZW

Huffman

arithmétique




avec pertes

DCT

ondelettes

prédictif
Remarque




comparaisons
Format d’image matricielle développé par Google
Exploite un algorithme de compression avec
pertes prédictif utilisé pour les images clés
(intra) du codec vidéo VP8
Inclut dans un conteneur léger et extensible RIFF
Peut contenir jusqu’à 4 métadonnées
supplémentaires : le nom de l’auteur, le titre, les
droits d’auteurs et des commentaires
Format ouvert et récent
Taille maximale d’une image WebP : 268
mégapixels
127
COMPRESSION AVEC PERTE : PREDICTIF
compression



sans perte

RLE

LZW

Huffman

arithmétique
avec pertes

DCT

ondelettes

prédictif
comparaisons

Motivations :
 Réduire
la quantité de données circulant
sur l’Internet : les images constituent
environ 65% des données
 Tests
réalisés par Google :
 un
million d'images déja compressées
avec pertes
 en moyenne le WebP réduirait la taille des
fichiers de 39 % par rapport aux formats
JPEG, PNG et GIF, sans perte de qualité
perceptible.
128
COMPRESSION AVEC PERTE : PREDICTIF
compression

Fonctionnement :
1.

sans perte

RLE

LZW

Huffman

arithmétique
Découpage en blocs (comme le JPEG)


2.
Pour chaque bloc :



avec pertes

DCT

ondelettes

prédictif
comparaisons
Prédiction à partir des valeurs des trois blocs
(en haut et à gauche)
Prédiction selon quatre modes distincts :


3.

Profondeur de couleurs : 8 bits
Modèle YUV utilisé : YUV 4:2:0
Horizontal, vertical, DC (une couleur) et TrueMotion.
Les données malprédite ou non prédite sont
compressée en sous-blocs 4x4 avec une
transformée DCT et Walsh-Hadamard.
La sortie est compressée avec un codage
entropique (Huffman ou arithmétique).
129
COMPRESSION AVEC PERTE : PREDICTIF
compression



sans perte

RLE

LZW

Huffman

arithmétique

Critiques par Jason Garrett-Glaser :



avec pertes

DCT

ondelettes

prédictif
comparaisons
Développeur du codec vidéo x264
Il a fait état que :

entre les codecs JPEG, x264 et WebP,
la qualité WebP est la pire des trois
à cause d’un estompage de l’image
dans la plupart des cas.
Raison :


Forte optimisation du rapport
signal sur bruit
Sans tenir compte d’une bonne
optimisation psychovisuelle.
130
COMPARAISONS : RÉCAPITULATIF
compression

sans perte



LZW


Huffman

arithmétique
avec pertes
DCT

ondelettes

prédictif
comparaisons

Format très lourd
Compression sans perte



Sans compression : BMP
RLE



RLE : PCX

Poids plus faible : élimination des redondances par répétition

Utilisation d’un dictionnaire : plus efficace que RLE
LZW : GIF / TIFF
Compression avec pertes

Compression avec DCT : JPEG


Compression avec ondelettes : JPEG 2000




Réduction du coût mémoire et taux de compression réglable
Meilleur rapport taux de compression / qualité d’image
Gestion multirésolution de l’image
Compression avec ou sans perte
Compression prédictive : WebP



Meilleur taux de compression que JPEG, JPEG2000 et PNG
Estompage général sans optimisation psychovisuelle
131
Non disponible à l’heure actuelle
Téléchargement