Vous êtes sur la page 1sur 19

1

Chapitre 3 : Codage et
compression des images
Chapitre 3 :
Codage et compression des images
1. L'image numrique: Composition
et caractristiques
1.1 Le pixel
1.2 La dfinition
1.3 La rsolution
1.4 Codage des couleurs
1.5 Taille de l'image
2. Codage des images
2.1 Bitmap
a) Format
b) Avantage et inconvnients
Cours Codage de donnes 120
Sommaire
2.2 Vectorielle
a) Format
b) Avantage et inconvnients
c) Vectorisation
3. Compression sans perte
3.1 Codage RLE
3.2 Codage de Huffman
3.3 Codage LZW
3.4 Bilan des mthodes sans
perte
3. Compression avec perte
b) Compression JPEG
c) Compression JPEG 2000
d) Compression Fractale
Ouni Sonia
1. L'IMAGE NUMRIQUE : COMPOSITION
ET CARACTRISTIQUES
Le pixel
Une image numrique est constitue d'un ensemble de points appels
pixels (abrviation de PICture Element) pour former une
image. Le pixel reprsente ainsi le plus petit lment
constitutif d'une image numrique. L'ensemble de ces pixels
est contenu dans un tableau deux dimensions constituant
l'image :
121 Cours Codage de donnes Ouni Sonia
La Dfinition
On appelle dfinition le nombre de points (pixels) constituant une image :
c'est le nombre de colonnes de l'image que multiplie son nombre de lignes.
Une image possdant 10 colonnes et 11 lignes aura une dfinition de 10 x11.
Les Principaux formats d'affichage:
Pour afficher ces images, des formats d'affichages standards ont t dfinis en
fonction de l'volution des capacits matrielles des carte graphiques et des
crans. Voici les principaux:
CGA (320 x 200) 4 couleurs.
VGA (640 x 480) 16 couleurs
SVGA (800x600) 256 couleurs
GA (1024 x 768) 256 couleurs
SXGA (1280 x 1024) en 16milions de couleurs.
Formule :
Calcul du nombre total des pixels dans une image:
Nombre total des pixels = colonnes x lignes.
Ex: 10x11= 110 pixels au total pour l'image ci-dessus.
122 Cours Codage de donnes Ouni Sonia
La rsolution
C'est le nombre de points contenu dans une surface prcise (en pouce). Elle est
exprime en points par pouce (PPP, en anglais: DPI pour Dots Per Inch).
Un pouce mesure 2.54 cm, c'est une unit de mesure britannique.
La rsolution permet ainsi d'tablir le rapport entre la dfinition en pixels
d'une image et la dimension relle de sa reprsentation sur un support
physique (cran, papier...)
123
Formule : Calculer la rsolution partir de la dfinition et de la dimension
Rsolution = dfinition / dimension
Ex: la rsolution d'une image de 300 x 300 pixels mesurant 2 pouces par cot
Rsolution = 300 / 2 = 150dpi
Cours Codage de donnes
Ouni Sonia
Rsum
La taille d'une image numrique peut se dfinir par:
sa dfinition en pixels (ex : 640x480 pixels)
ses dimensions en pouces (ex : 12'')
sa rsolution en dpi ou ppp. (ex: 300 dpi)
Ces 3 informations sont lies. Si vous en connaissez 2, vous
pouvez toujours calculer la troisime.
Formules :
Rsolution = dfinition / dimension
Dfinition = rsolution x dimension
Dimension = rsolution / dfinition
Exercice: quel serait la dfinition en pixel d'une feuille
scanne d'une largeur de 8,5 pouces sur une hauteur de 11
pouces en 300dpi?
Rponse: 300 X 8,5 = 2550 pixels 300 X 11 = 3300 pixels
La dfinition de l'image serait donc de 2550 X 3300 pixels
124 Cours Codage de donnes Ouni Sonia
2
Codage des couleurs
125
Le codage des couleurs correspond donner chaque pixel une
information complaimentaire qui est la couleur, ainsi que sa
prcision.
En plus de sa dfinition, une image numrique utilise plus ou
moins de mmoire selon le codage des informations de couleur
qu'elle possde. C'est ce que l'on nomme le codage de couleurs ou
profondeur des couleurs, exprim en bit par pixel (bpp): 1, 4, 8,
16 bits...
En connaissant le nombre de pixels d'une image et la mmoire
ncessaire l'affichage d'un pixel, il est possible de dfinir
exactement le poids que va utiliser le fichier image sur le disque
dur (ou l'espace mmoire requis en RAM pour raliser un calcul
sur cette image)
Formule: Calculer le poids d'une image en octet
Nombre de pixel total X codage couleurs (octet) = Poids (octet)
Cours Codage de donnes Ouni Sonia
Codage des couleurs
Bitmap noir et blanc : on dfinit 2 couleurs le noir ou le blanc
Bitmap en 8 bits par pixel (bpp) => 2
8
= 256 possibilites Chaque
pixel peut avoir 256 nuances de gris possibles
Bitmap en 16 bits par pixel (bpp) => 2
16
= 65536 possibilites
Chaque pixel peut avoir 65536 nuances de gris possibles
126 Cours Codage de donnes Ouni Sonia
Codage des couleurs
Bitmap en 8 bits par pixel (bpp) => 2
8
= 256 possibilites
Chaque pixel peut avoir jusque 256 couleurs fixes possibles.
127 Cours Codage de donnes Ouni Sonia
Codage des couleurs
Bitmap 65000 couleurs : on dfinit 65000 couleurs diffrentes =>
2
16
= 65000 possibilites
True-color : cette prsentation permet de dfinir la composante de
base RVB => 16 millions de couleur ou image de 24 bits
128 Cours Codage de donnes Ouni Sonia
Les Modes colorimtriques
RVB / CMJN
Afin de crer des images encore plus riches en couleurs (et donc
disposer de plus qu'une palette limite 256 couleurs), l'ide de
mlanger des couleurs primaires en couches est arrive. Il faut
savoir qu'il existe deux systmes de reprsentation des couleurs par
mlange, selon qu'on les reproduisent sur un cran d'ordinateur ou sur
support papier via une imprimante :
129
- La synthse additive : c'est le
phnomne qui se passe lorsqu'un un
cran affiche une image par la lumire. On
part du noir (lumire teinte) et on va vert
le blanc. L'addition du rouge, du vert et du
bleu donne le blanc :
- La synthse soustractive : c'est le
phnomne qui se passe lorsqu'on mlange
des pigments colors en peinture. On part du
blanc (support papier) pour aller vers le noir.
L'addition du Cyan, du Magenta et du Jaune
donne le Noir :
Cours Codage de donnes Ouni Sonia
Codage des couleurs
Mode couleur RVB : grce au mlange des 3 couches de couleur, il est
possible de reproduire un plus grand nombre de nuances qu'avec une
palette en mode couleurs indexes.
130 Cours Codage de donnes Ouni Sonia
3
Codage des couleurs
Avec un codage en RVB 8 bits PAR COUCHE:
Chaque couche utilise 8bit (1 octet), soit 256 nuances possibles: 8Bits
pour le Rouge, 8bit pour le Vert et 8bits pour le Bleu.
Donc utilisation de 3 x 8bits = 24 bits utilises au total.
=> 256 x 256 x 256 = 224= 16,7milions
Chaque pixel peut prendre 16,7Milions de couleurs possibles!
Avec un codage en RVB 16 bits PAR COUCHE:
Chaque couche utilise le double, soit 16bits! (65535 nuances).
3 x 16 = 48bits utilises au total.
=> 65535 x 65535 x 65535 = 248= 4 milliards
4 milliards de nuances de couleurs sont possibles!
131 Cours Codage de donnes Ouni Sonia
7DLOOHGHOLPDJH
132 Cours Codage de donnes Ouni Sonia
Exemple de quelques tailles d'images :
Codage des couleurs dans une image matricielle
Taille en octets d'une image matricielle =
T = (nombre de pixels * nombre de bits par pixels) / 8.
formats BMP et TIFF : compression sans perte peu efficace. (pas
pour le Web, pas pour les emails, .).
133 Cours Codage de donnes Ouni Sonia
2. Codage des images
Il y a deux modes de codage d'une image numrique :
Bitmap
Vectoriel
Pour stocker ces deux types d'images sur disque, il
existe de trs nombreux formats de fichiers. Ces formats
diffrent par les quantifications supportes (binaire,
niveaux de gris, palette, 24 bits, alpha-channel, etc.),
par leur algorithmes de compression, par la volont
d'avoir un format propritaire, ou au contraire ouvert,
etc.
134 Cours Codage de donnes Ouni Sonia
2.1 Images bitmap
Une image bitmap est un ensemble de points (=pixels),
caractrise par sa discrtisation et sa
quantification.
135
Deux grandes techniques de quantification :
codage direct de la couleur dans le pixel.
codage des couleurs dans une palette.
Cours Codage de donnes Ouni Sonia
)RUPDWVGHILFKLHUVGLPDJHV
bitmap
Formats limits 256 couleurs GIF, PCX, PGM, ...
Formats acceptant diffrentes quantifications BMP, TIFF,
TGA, PNG, .
Formats limits 16 millions de couleurs JPEG, JPEG
2000, ...
Certains de ces formats permettent une compression
des donnes
136 Cours Codage de donnes Ouni Sonia
4
)RUPDWVGHILFKLHUVGLPDJHVELWPDS
137 Cours Codage de donnes Ouni Sonia
2UJDQLVDWLRQW\SHGXQILFKLHU
bitmap
138 Cours Codage de donnes Ouni Sonia
Meta-donnes
Mta-donnes = informations sur les donnes. Informations stockes
dans les fichiers (JPEG, TIFF), dcrivant leur contenu aide la gestion
des images.
Deux standards :
EXIF (Exchangeable Image File Format) Informations techniques
enregistres automatique- ment lors de la cration d'un fichier
image par un appareil photo numrique (date, heure, modle de
l'APN, rglages, etc.)
IPTC (International Press and Telecommunications Council)
Informations de catalogage administratives, smantiques, lgales
(titre, auteur, mots-cls, etc.)
139 Cours Codage de donnes Ouni Sonia
Format RAW
C'est un format de fichiers contenant les donnes
brutes . Il n'existe pas de format prcisment dfini.
Gnralement, a consiste avoir les donnes de pixel
uniquement, sans en-tte.
Remarque : Ce terme raw est utilis de manire
gnrale pour dsigner des donnes brutes de toutes
sortes (image, son, etc.)
140 Cours Codage de donnes Ouni Sonia
Image Bitmap
Avantages des images bitmap
Les images bitmaps peuvent facilement tre cres et stockes dans
un tableau de pixels reprsentant l'image.
Lecture/criture d'un pixel aise de part la reprsentation de l'image
comme une grille.
Les images bitmaps peuvent facilement tre affiches sur un cran ou
tre imprimes.
Inconvnients des images bitmap
Les fichiers peuvent tre trs gros (ncessit de compression)
Problme de changement d'chelle (apparition d'effets demarches
d'escalier ou de flou avec interpolation).
Les dimensions de l'image doivent tre prvues pour la rsolution de
l'interface de sortie (cran, imprimante).
141 Cours Codage de donnes Ouni Sonia
Images vectorielles
Ne stocke pas le rsultat du dessin sous la forme de pixels
(=bitmap), mais la faon de dessiner par un ensemble d'objets
gomtriques (lignes, cercles, polygones, courbes de Bzier, texte,
...) dfinis par diffrents attributs (coordonnes, couleur, paisseur
de trait, remplissage, ...)
142 Cours Codage de donnes Ouni Sonia
5
Images vectorielles
Les domaines d'utilisation de ces images
sont trs varis : dessin industriel, PAO,
Systmes d'!nformation Gographiques
(SIG), Internet, etc.
143 Cours Codage de donnes Ouni Sonia
Avantages/ Inconvnients
Avantages des images vectorielles
Adaptes au stockage d'images composes de formes
gomtriques.
Peuvent aisment tre redimensionnes.
Prennent moins de place qu'une image bitmap.
Inconvnients des images vectorielles
Peuvent difficilement stocker des images complexes comme des
photographies.
L'affichage d'une image vectorielle peut prendre plus de temps
que l'affichage d'une image bitmap de complexit gale.
144 Cours Codage de donnes Ouni Sonia
Comparaison vectoriel / bitmap
145
Vectoriel
Fichier : 10 Ko
Bitmap
Fichier : 74 Ko
Cours Codage de donnes Ouni Sonia
Vectorisation
Il est facile de convertir une image vectorielle en image bitmap (il
suffit d'en faire le rendu).
La transformation inverse, appele vectorisation, est moins
triviale. L'algorithme doit analyser l'image bitmap pour en dduire
un ensemble de zones qu'il dcrira avec des primitives
gomtriques. L'opration s'accompagne d'une perte de dtails et
de nuances de couleurs.
146 Cours Codage de donnes Ouni Sonia
Vectorisation
La vectorisation donne de bons rsultats sur des images bitmap
comportant peu de couleurs et prsentant des formes gomtriques.
Ex: Vectorisation de planches scannes du cadastre.
147
Cadastre scann (image bitmap) Reprsentation vectorielle
Cours Codage de donnes Ouni Sonia
Formats d'images vectorielles
AI (Adobe Illustrator)
CDR (Corel Draw)
EPS (Encapsulated PostScript)
PDF (Portable Document Format)
PS (PostScript)
PSD (Adobe Photoshop)
SVG (Scalable Vector Graphics)
SWF (Flash)
WMF (Windows MetaFile) (cliparts Windows)
EMF (Enhanced MetaFile) (cliparts Windows)
148 Cours Codage de donnes Ouni Sonia
6
Compression
Compresser une image = rduire la taille de son fichier
en remplaant la srie de ses donnes par une autre
plus rduite.
Processus inverse : dcompression (par exemple pour
afficher l'image). Concerne essentiellement les images
bitmap.
Pourquoi compresser une image (ou tout autre type de
donnes : texte, son, vido, etc.) ?
Pour rduire sa place sur disque.
Pour acclrer sa transmission sur un rseau.
Ex: Une image en 16 millions de couleurs de 1600 x
1200 pixels taille = 1600 x 1200 x 3 octets = 5,49 Mo
149 Cours Codage de donnes Ouni Sonia
Compression
Taux de compression :
taux de compression =taille originale / taille compresse
Ex:
Soit une image originale de 100 Ko, compresse 20 Ko, le taux
decompression est de 5:1
Le taux de compression est variable, il dpend de la nature de
l'image compresser et de l'algorithme de compression utilis.
Deux types de compression :
Rversible, sans perte ( lossless )
Non rversible, avec pertes ( lossy )
150 Cours Codage de donnes Ouni Sonia
Compression sans perte
Pas de modification de l'image. Ne change que la faon
dont elle est code sur disque.
Algorithmes de compression sans perte :
Mthodes base de redondances (RLE)
utilises par les formats d'images PCX, TGA, BMP, ...
Mthodes statistiques (Huffman, ...)
utilises par les formats d'images JPEG (en partie), ...
Mthodes base de dictionnaires (LZW, ...)
utilises par les formats d'images G!F, T!FF, .
151 Cours Codage de donnes Ouni Sonia
Codage RLE (Run Length Encoded)
Code la rptition de pixels identiques en donnant le
nombre de rptitions et le pixel rpter.
Ex: ABCCCDDDDEF => AB3C4DEF
Surtout efficace pour des images 5 256 couleurs.
Inefficace pour des images en 16 millions de
couleurs (trop de nuances diffrentes pour qu'il y
ait de longues squences de pixels identiques).
152 Cours Codage de donnes Ouni Sonia
Codage de Huffman
Certaines couleurs de pixels reviennent plus
souvent que d'autres.
Ide : rduire le nombre de bits utiliss pour le codage
des pixels les plus frquents et d'augmenter ce nombre
pour les pixels plus rares.
Surtout efficace pour des images 5 256 couleurs.
Inefficace pour des images en 16 millions de
couleurs.
153 Cours Codage de donnes Ouni Sonia
Codage LZW (Lempel-Ziv-Welch)
Trouver des squences de pixels qui se rptent.
Construire un dictionnaire associant un code
unique chaque squence.
Remplacer la squence de pixels par le code.
Algorithme utilis par les formats GIF, TIFF, ...
Note :
Intressant lorsqu'il y a peu de couleurs.
Algorithme non spcifique aux images.
154 Cours Codage de donnes Ouni Sonia
7
Bilan des mthodes de
compression sans perte
Mthodes surtout utilisables sur des images
comportant peu de couleurs {5 256 couleurs).
Taux de compression dpendant du contenu des
images mais souvent peu important.
D'autres mthodes de compression ont t mises
au point, spcifiques aux images comportant
beaucoup de couleurs (16 millions), permettant
des taux de compression trs levs en
autorisant des pertes de qualit.
155 Cours Codage de donnes Ouni Sonia
4. Compression avec pertes
Principe : suppression des informations les moins
indispensables pour l'il humain.
Rduction du nombre de donnes
Taux de compression plus lev que compression
sans perte.
Plus le taux de compression est lev, plus le
niveau de pertes est important et plus la qualit
d'image est dgrade.
156 Cours Codage de donnes Ouni Sonia
Compression avec pertes
157
Image 512x512 pixels, 16 millions de couleurs :
- Brut : 769 Ko
- LZW : 631 Ko (ratio = 1.2 : 1)
- JPEG: 52 Ko (qualit 75 %) (ratio = 15 : 1)
Original JPEG
Cours Codage de donnes Ouni Sonia
4.1 Compression JPEG
JPEG = standard mis au point par le Joint Photographic Experts
Group (1992). Mthode de compression d'images la plus utilise.
Bibliothque libjpeg : http://www.ijg.org/
Principe :
158 Cours Codage de donnes Ouni Sonia
Le standard JPEG
159 Cours Codage de donnes Ouni Sonia 160
2 4 6 8 10 12 14 16
2
4
6
8
10
12
14
16
10
20
30
40
50
60
Dcoupage en blocs de 8x8
Image monochrome initiale de 16 X 16:
( Rouge = blanc et bleu = noir)
8 x 8 8 x 8
8 x 8 8 x 8
Cours Codage de donnes Ouni Sonia
8
Dcoupage Blocs 8x8
161 Cours Codage de donnes Ouni Sonia
Transformation des couleurs
Image RVB Image YC
1
C
2
(Luminance+Chrominance)
La Luminance et la chrominance sont compresses sparment.
Analyse de l'image par blocs de 8*8 (tableaux de 64 valeurs).
On peut noter que l'il est beaucoup plus sensible de faibles
variations d'intensit lumineuse (luminance) qu`a celles de la
couleur (chrominance) : les informations sur la couleur peuvent donc
tre davantage compresses que celles sur la luminance. Ainsi si l'image
initiale est code sous une forme RVB, une sparation luminance-
chrominance peut tre d'abord effectue.
On utilise une transformation conduisant un codage YC
1
C
2
:
Y=0.299R+0.587V+0.114B
C
r
=R-Y et C
b
=B-Y avec une compression plus importante sur ces
plans.
162 Cours Codage de donnes Ouni Sonia
Transformation des couleurs
163 Cours Codage de donnes Ouni Sonia
Sous-chantillonage chrominance
La faon la plus simple d'exploiter la faible sensibilit de l'il dans les couleurs
est simplement d'utiliser moins de pixels pour les diffrentes chrominances de
base. Par exemple, au lieu d'utiliser une information de chrominance par pixel, on
peut utiliser une information de chrominance pour deux pixels.
Remarquablement, cette rduction de 50% en volume n'a presque pas d'effet
dans la perception de qualit de l'image. Un gain quivalant ne serait pas possible
avec un systme comme RVB car en RVB chaque couleur de base transporte une
information de luminance et donc une perte de rsolution serait directement
visible.
L'il humain est plus sensible la luminance qu'a la chrominance :
164 Cours Codage de donnes Ouni Sonia
DCT ?
!l s'agit d'une reprsentation facilitant la
compression en minisant les pertes.
Analogue la transforme de FOURIER
mais ncessitant moins de coefficients
pour reconstituer le signal
165 Cours Codage de donnes Ouni Sonia
Compression DCT (Direct Cosinus
Transform)
Principe
Projeter un bloc d'une image dans une base de cosinus :
convertion d'une image en lment frquentiel.
Les basses frquences reprsentent les lments les plus
importants.
Les hautes frquences correspondent aux dtails de l'image.
Application de la DCT (Transforme en Cosinus Discrte)
sur chaque bloc donne une description de chaque bloc
dans le domaine des frquences
166 Cours Codage de donnes Ouni Sonia
9
DCT & frquences
1D 2D
Dans le cas d'une image, ce sont les brusques
changements de luminance/chrominance qui se
traduisent par une frquence leve, tandis que les
dgrads se traduisent par des frquences basses. L'il
humain est moins sensible aux variations rapides.
167 Cours Codage de donnes Ouni Sonia
La DCT
Application d'une DCT (Transforme de Cosinus Discrte) au tableau de
64 valeurs => tableau de 64 frquences (opration compltement
rversible)
168
matrice 1
(Bloc de 8x8 pixels)
(domaine spatial)
matrice 2
(Tableau de 8x8 frquences)
(domaine frquentiel)
Cours Codage de donnes Ouni Sonia
La DCT
Basses frquences : plage de couleurs uniforme.
Hautes frquences : variations brusques de couleur d'un pixel l'autre.
On observe que les basses frquences ont des coefficients plus levs
(donc plus significatifs) que les hautes frquences.
169
F rquences
les plus hautes
F rquences
les plus basses
Cours Codage de donnes Ouni Sonia 170
Le standard JPEG
Transforme DCT:
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
10
20
30
40
50
60
Basses frquences
hautes frquences
Cours Codage de donnes Ouni Sonia
La DCT
La matrice 2, la transforme par DCT, prsente la proprit de
regrouper les valeurs les plus leves (les composantes les plus
nergtiques du signal) dans le coin suprieur gauche de la
matrice (les valeurs devenant d'autant plus faibles que l`on
s'approche du coin infrieur droite, donc que l`on se situe dans les "
hautes frquences ").
La DCT est donc effectue sur chaque matrice 8x8 de valeurs de
pixels, et elle donne une matrice 8x8 de coefficients de frquence :
l'lment (0,0) reprsente la valeur moyenne du bloc (DC), les
autres (AC) indiquent la puissance spectrale pour chaque frquence
spatiale.
La DCT est conservatrice si on ne prend pas en compte les erreurs
d'arrondis qu'elle introduit.
171 Cours Codage de donnes Ouni Sonia
La DCT
172 Cours Codage de donnes Ouni Sonia
10
Quantification
Diviser chaque valeur de la matrice de frquences (matrice 2) par une
matrice de quantification (matrice 3)
=> On obtient une matrice quantifie (matrice 4) dans laquelle
beaucoup de coefficients sont nuls.
Matrice quantifie
Q F
Matrice obtenue par DCT
Matrice de Quantification
173 Cours Codage de donnes
La matrice de quantification est dfinie partir de critres psycho-visuels et
du taux de compression souhait.
Ouni Sonia
174
Quantification
Quantification :
Calcul de la quantification:
Matrice de quantification:
F u v round
F u v
Q u v
Q
( , )
( , )
( , )
Q = 6 9 12 15 18 21 24 27
9 12 15 18 21 24 27 30
12 15 18 21 24 27 30 33
15 18 21 24 27 30 33 36
18 21 24 27 30 33 36 39
21 24 27 30 33 36 39 42
24 27 30 33 36 39 42 45
27 30 33 36 39 42 45 48
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
10
20
30
40
50
60
Cours Codage de donnes Ouni Sonia
175
Quantification
Quantification :
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
10
20
30
40
50
60
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
10
20
30
40
50
60
Plein de 0
Cours Codage de donnes Ouni Sonia 176
Codage entropique
Codeur de coefficients (codage entropique):
Mise en ordre des composantes
Cours Codage de donnes Ouni Sonia
177
Codage entropique (DC)
Codeur de coefficients (codage entropique):
Codage du niveau DC (lment (0,0)) des blocs
successifs
- La diffrence prend moins de bits...
Cours Codage de donnes Ouni Sonia 178
Codage entropique (AC)
Codeur de coefficients (codage entropique):
Symbolisation des composantes AC:
longueur = nombre de 0 successifs (de 0 15);
taille = nombre de bits requis pour l'amplitude;
amplitude = amplitude de la composante AC.
- Complment 1.
symbole -1 symbole - 2
(longueur, taille) (amplitude)
Cours Codage de donnes Ouni Sonia
11
179
Codage entropique (AC)
Codeur de coefficients (codage entropique):
Symbolisation des composantes AC:
- Exemple: (6,2)(3)
Amplitude
de la composante AC
Taille
nombre de bits pour l`amplitude
Longueur
nombre de 0 successifs
Amplitude = 3 requiert 2 bits
Taille = 2
6 zros de suite avant la valeur 3
Donc X,0,0,0,0,0,0,3
conomie de 46 bits (10 bits au lieu de 56)
Cours Codage de donnes Ouni Sonia 180
Codage entropique (AC)
Symbolisation des composantes AC:
- Exemple: (6,2)(3)
2 bits 2 bits 6 bits
nombre de 0 successifs
Donc X,0,0,0,0,0,0,3
7 * 8 bits = 56
conomie de 46 bits (10 bits au lieu de 56)
10 bits
Cours Codage de donnes Ouni Sonia
181
Codage entropique (AC)
Codeur de coefficients (codage entropique):
Symbolisation des composantes AC:
Que faire si plus de 15 zros de suite.
Code (15,0) = 16 zros de suite;
- 8 bits au lieu de 128
(15,0)(15,0)(15,0)=48 zros de suite.
(0,0) = fin du bloc (il ne reste que des 0).
Cours Codage de donnes Ouni Sonia 182
Codage entropique (DC)
Codeur de coefficients (codage entropique):
Symbolisation des composantes DC:
Premier bloc:
- amplitude relle de la composante DC;
Ensuite:
- amplitude de l'cart de la composante DC avec celle du bloc prcdent.
symbole -1 symbole - 2
(taille) (amplitude )
Cours Codage de donnes Ouni Sonia
183
Codage entropique (DC)
Codeur de coefficients (codage entropique):
Symbolisation des composantes DC:
Exemple:
- (7)(100) . bloc 1 . (2)(4) . bloc 2 . (3)(-5) . bloc 3 .
- Composantes DC
- Bloc 1 = 100;
- Bloc 2 = 104;
- Bloc 3 = 99.
Premier bloc
Blocs suivants
Amplitude relle
de la composante DC
Taille
de la composante DC
Amplitude de OpFDUW
de la composante DC
avec celle du bloc
prcdent
Cours Codage de donnes Ouni Sonia 184
Codage entropique (DC)
Symbolisation des composantes DC:
Exemple:
- (7)(100) . bloc 1 . (2)(4) . bloc 2 . (3)(-5) . bloc 3 .
- Composantes DC
- Bloc 1 = 100; 7 ou 8 bits
- Bloc 2 = 104; 7 ou 8 bits
- Bloc 3 = 99. 7 ou 8 bits
- conomie de 9 bits (12 bits au lieu de 21 ou mme 24)
21 ou 24 bits
12 bits
Cours Codage de donnes Ouni Sonia
12
185 Cours Codage de donnes Ouni Sonia 186
Codage entropique
Codeur de coefficients (codage entropique):
Cours Codage de donnes Ouni Sonia
187
Codage entropique
Codeur de coefficients (codage entropique):
Valeur DC prcdente = 12
Cours Codage de donnes Ouni Sonia 188
Codage entropique
Codeur de coefficients (codage
entropique):
Valeur DC prcdente = 12
(2)(3), (1,2)(-2),
(0,1)(-1), (0,1)(-1),
(0,1)(-1), (2,1)(-1),
(0,0)
512 bits 64 bits 8
Cours Codage de donnes Ouni Sonia
189
Codage entropique
Codeur de coefficients (codage
entropique):
Valeur DC prcdente = 12
(2)(3), (1,2)(-2),
(0,1)(-1), (0,1)(-1),
(0,1)(-1), (2,1)(-1), (0,0)
512 bits
Cours Codage de donnes Ouni Sonia 190
codage entropique
Codeur de Huffman (codage entropique):
Frquence des symboles-1 ( moins l 'amplitude)
(2) 1 x
(0,0) 1 x
(0,1) 3 x
(1,2) 1 x
(2,1) 1 x
(2)(3), (1,2)(-2), (0,1)(-1),
(0,1)(-1), (0,1)(-1), (2,1)(-
1), (0,0)
Cours Codage de donnes Ouni Sonia
13
191
Codage entropique
Codeur de Huffman (codage entropique):
Arborescence des symboles-1
(0,1)
(2) (0,0) (1,2) (2,1)
0
0
0
0
1
1
1
1
Cours Codage de donnes Ouni Sonia 192
Codage entropique
Codeur de Huffman (codage entropique):
Frquence des symboles-1 sans l'amplitude
(2) 011
(0,0) 010
(0,1) 1
(1,2) 001
(2,1) 000
Cours Codage de donnes Ouni Sonia
193
Codage entropique
Codeur de Huffman (codage entropique):
(2)(3), (1,2)(-2),
(0,1)(-1), (0,1)(-1),
(0,1)(-1), (2,1)(-1),
(0,0)
(2) 011
(0,0) 010
(0,1) 1
(1,2) 001
(2,1) 000
Cours Codage de donnes Ouni Sonia 194
Codage entropique
Codeur de Huffman (codage entropique):
(2)(3), (1,2)(-2), (0,1)(-1), (0,1)(-1), (0,1)(-1), (2,1)(-1), (0,0)
64 bits 23 bits 2.78
01111 001 01 1 0 1 0 1 0 000 0 010
Si on ne regarde pas la table de HuIIman qu`il Iaut aussi transIerer,
on a compress de 512 23 bits
Cours Codage de donnes Ouni Sonia
195
Codage entropique
Codeur de Huffman (codage entropique):
(2)(3), (1,2)(-2),
(0,1)(-1), (0,1)(-1),
(0,1)(-1), (2,1)(-1),
(0,0)
64 bits 23 bits 2.78
01111001011010100000010
Si on ne regarde pas la table de HuIIman qu`il Iaut aussi transIerer,
on a compress de 512 23 bits
Cours Codage de donnes Ouni Sonia 196
([HPSOHGLPDJHjFRPSUHVVHU
Pizza:
-100 -100 -100 100 100 -100 -100 -100
-100 -100 100 100 100 100 -100 -100
-100 100 100 100 100 100 100 -100
100 100 100 100 100 100 100 100
100 100 100 100 100 100 100 100
-100 100 100 100 100 100 100 -100
-100 -100 100 100 100 100 -100 -100
-100 -100 -100 100 100 -100 -100 -100
Cours Codage de donnes Ouni Sonia
14
197
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
10
20
30
40
50
60
([HPSOHGLPDJHjFRPSUHVVHU
Pizza
Cours Codage de donnes Ouni Sonia 198
([HPSOHGLPDJHjFRPSUHVVHU
Sans compression: 8 x 8 x 8 bits = 512
bits
En plus, si 3 couleurs (RGB)
donc 1536 bits.
tape #1 inutile, car dj bloc de 8 x 8.
Cours Codage de donnes Ouni Sonia
199
([HPSOHGLPDJHjFRPSUHVVHU
tape #2 : DCT
200 0 -446 0 0 0 -31.7 0
0 0 0 0 0 0 0 0
-446 0 -200 0 185 0 0 0
0 0 0 0 0 0 0 0
0 0 185 0 200 0 -76.5 0
0 0 0 0 0 0 0 0
-31.7 0 0 0 -76.5 0 -200 0
0 0 0 0 0 0 0 0
Cours Codage de donnes Ouni Sonia 200
([HPSOHGLPDJHjFRPSUHVVHU
tape #3 : Quantification (matrice Q)
6 9 12 15 18 21 24 27
9 12 15 18 21 24 27 30
12 15 18 21 24 27 30 33
15 18 21 24 27 30 33 36
18 21 24 27 30 33 36 39
21 24 27 30 33 36 39 42
24 27 30 33 36 39 42 45
27 30 33 36 39 42 45 48
Cours Codage de donnes Ouni Sonia
201
([HPSOHGLPDJHjFRPSUHVVHU
tape #3 : Quantification
33 0 -37 0 0 0 -1 0
0 0 0 0 0 0 0 0
-37 0 -11 0 8 0 0 0
0 0 0 0 0 0 0 0
0 0 8 0 7 0 -2 0
0 0 0 0 0 0 0 0
-1 0 0 0 -2 0 -5 0
0 0 0 0 0 0 0 0
Cours Codage de donnes Ouni Sonia 202
([HPSOHGLPDJHjFRPSUHVVHU
tape #4 : Codage entropique
33 0 -37 0 0 0 -1 0
0 0 0 0 0 0 0 0
-37 0 -11 0 8 0 0 0
0 0 0 0 0 0 0 0
0 0 8 0 7 0 -2 0
0 0 0 0 0 0 0 0
-1 0 0 0 -2 0 -5 0
0 0 0 0 0 0 0 0 (6)(33) (2,6)(-37) (1,6)(-37) (6,4)(-11)
Cours Codage de donnes Ouni Sonia
15
203
([HPSOHGLPDJHjFRPSUHVVHU
tape #4 : Codage entropique
33 0 -37 0 0 0 -1 0
0 0 0 0 0 0 0 0
-37 0 -11 0 8 0 0 0
0 0 0 0 0 0 0 0
0 0 8 0 7 0 -2 0
0 0 0 0 0 0 0 0
-1 0 0 0 -2 0 -5 0
0 0 0 0 0 0 0 0
(8,1)(-1) (1,4)(8) (1,4)(8)
(1,1)(-1)
Cours Codage de donnes Ouni Sonia 204
([HPSOHGLPDJHjFRPSUHVVHU
tape #4 : Codage entropique
33 0 -37 0 0 0 -1 0
0 0 0 0 0 0 0 0
-37 0 -11 0 8 0 0 0
0 0 0 0 0 0 0 0
0 0 8 0 7 0 -2 0
0 0 0 0 0 0 0 0
-1 0 0 0 -2 0 -5 0
0 0 0 0 0 0 0 0
(11,3)(7) (10,2)(-2) (1,2)(-2) (6,3)(-5) (0,0)
Cours Codage de donnes Ouni Sonia
205
Exemple
Codage de Huffman - frquence des codes:
1 fois:
(6), (2,6), (1,6), (6,4), (8,1), (1,1), (11,3), (10,2),
(1,2), (6,3), (0,0)
2 fois:
(1,4)
Cours Codage de donnes Ouni Sonia 206
Exemple
Codage de Huffman - arborescence:
(1,4)
(6)
(2,6) (1,6)
(6,4) (8,1) (1,1) (11,3)
(10,2) (1,2) (6,3) (0,0)
Cours Codage de donnes Ouni Sonia
207
(1,4)
(6)
(2,6) (1,6)
(6,4) (8,1) (1,1) (11,3)
(10,2) (1,2) (6,3) (0,0)
Exemple
Codage de Huffman :
(6)(33)
(2,6)(-37)
(1,6)(-37)
(6,4)(-11)
011 100001
0101 011011
0100 011011
00111 0101
Attention, l `amplitude n`est pas dans les coeIIicients de HuIIman
Coeff. et ampl.
Cours Codage de donnes Ouni Sonia 208
(1,4)
(6)
(2,6) (1,6)
(6,4) (8,1) (1,1) (11,3)
(10,2) (1,2) (6,3) (0,0)
Exemple
Codage de Huffman :
(8,1)(-1)
(1,4)(8)
(1,4)(8)
(1,1)(-1)
00110 0
1 1000
1 1000
00101 0
Cours Codage de donnes Ouni Sonia
16
209
(1,4)
(6)
(2,6) (1,6)
(6,4) (8,1) (1,1) (11,3)
(10,2) (1,2) (6,3) (0,0)
Exemple
Codage de Huffman :
(11,3)(7)
(10,2)(-2)
(1,2)(-2)
(6,3)(-5)
00100 111
00011 01
00010 01
00001 011
(0,0) 00000
Cours Codage de donnes Ouni Sonia 210
Exemple
Donc, le message tient dans 95 bits.
Compression de 5.38 x.
Il faut quand mme inclure la table et
l'arborescence dans le message.
Ce qui diminue le taux de compression
Cours Codage de donnes Ouni Sonia
211
Dcompression JPEG
Schma de traitement - dcompression :
Image IDCT
Quantificateur
inverse
Dcodeur de
coefficient
Dcodeur de
Huffman
Image
encode
Pareille ou non a l`image source,
selon la qualite de l`encodage ou du decodage
Decompression de l`image
Cours Codage de donnes Ouni Sonia
Algorithme de
dcompression
Procd inverse de celui de la compression :
Pour chaque bloc 8x8 de pixels :
Dcompression par la mthode de Huffman.
Multiplication de la matrice obtenue par la matrice de
quantification.
Application de la DCT inverse pour retrouver une image plus ou
moins dgrade par rapport l'image initiale.
212 Cours Codage de donnes Ouni Sonia
213
Exemple
la rception,
on reconstitue la matrice de l'image quantifie
on d-quantifie l'image
on fait la IDCT.
Cours Codage de donnes Ouni Sonia 214
Exemple
Pizza reue:
-94.2 -102 -102 101 101 -102 -102 -94.2
-102 -103 103 96.7 96.7 103 -103 -102
-102 103 101 102 102 101 103 -102
101 96.7 102 96.4 96.4 102 96.7 101
101 96.7 102 96.4 96.4 102 96.7 101
-102 103 101 102 102 101 103 -102
-102 -103 103 96.7 96.7 103 -103 -102
-94.2 -102 -102 101 101 -102 -102 -94.2
Cours Codage de donnes Ouni Sonia
17
215
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
10
20
30
40
50
60
([HPSOHGLPDJHGpFRPSUHVVHU
Pizza:
Cours Codage de donnes Ouni Sonia
Performances de la compression
JPEG
Cours Codage de donnes 216
Original (769 Ko)
JPEG 99% (200 Ko)
Ratio = 4:1
Ouni Sonia
Performances de la compression
JPEG
Cours Codage de donnes 217
Original (769 Ko) JPEG 75% (52 Ko)
Ratio = 15:1
Ouni Sonia
Performances de la
compression JPEG
Cours Codage de donnes 218
Original (769 Ko)
JPEG 50% (24 Ko)
Ratio = 32:1
Ouni Sonia
Performances de la
compression JPEG
Cours Codage de donnes 219
Original (769 Ko)
JPEG 1% (6 Ko)
Ratio = 128:1
Ouni Sonia
JPEG : Avantages
Les taux de compression impressionnants (mais dpendant de
la nature de l'image)
Image visuellement identique a l'original : entre 1,5 et 2 bits par pixel
Image de qualit moyenne mais suffisante : entre 0,25 et 0,5 bit par
pixel
Standard largement rpandu
Implmentation hardware disponible
Personnalisation de la matrice de quantification
Extension adapt au squences d'images (NJPEG)
220 Cours Codage de donnes Ouni Sonia
18
JPEG : Inconvnients
Mauvaise apparence des images
pour des fortes compression
(l'image a tendance a apparatre
comme une composition de blocs
de 8x8 pixels)
- Amlior dans le JPEG 2000
Adapt pour des images
naturelles, mais pas des images
infographiques
- Mode sans pertes du JPEG 2000
221 Cours Codage de donnes Ouni Sonia
4.2 JPEG2000
JPEG2000 :
JPEG2000 utilise la transforme en ondelettes discrte
(DWT Discrete Wavelet Transform) encore plus
performante que la DCT
Neilleure qualit d'image
Taux de compression plus lev
222 Cours Codage de donnes Ouni Sonia
JPEG2000
volution du format JPEG : JPEG 2000, utilisant une
compression par ondelettes. Mthode aussi utilise par le
format ECW.
Qualit d'image plus leve fort taux de compression.
Taux de compression plus lev que JPEG.
Possibilit de ne charger (dcompresser) qu'une partie de l'image
Niveaux de dtail : possibilit de dcompresser des versions plus petites de
l'image.
Mode optionnel de compression sans perte.
Mthode globale portant sur toute l'image=>pas
d'apparition de blocscomme JPEG.
Artefacts de compression : image plus floue.
223 Cours Codage de donnes Ouni Sonia
JPEG2000
224 Cours Codage de donnes Ouni Sonia
4.3 Compression fractale
Qu'est ce qu'une image fractale ?
Imaginons une photocopieuse
En sortie : image duplique 3 fois en divisant par 2 sa taille
225 Cours Codage de donnes Ouni Sonia
Compression fractale
Pour des images diffrentes, on applique les mmes
transformations :
On finit par obtenir le mme attracteur
L'image d'origine disparat pour ne devenir qu'un point
226 Cours Codage de donnes Ouni Sonia
19
Compression fractale
227 Cours Codage de donnes Ouni Sonia
Compression fractale
Ide : image dcrite par un ensemble de motifs
identiques en nombre limits, transforms par
translations, rotations...
coder : dcrire les motifs et les transformations
codage indpendant de la taille
codage long (plusieurs minutes)
Diffrent du JPEG : zoom = flou (non pas pixlisation)
Possibilit de zoomer
228 Cours Codage de donnes Ouni Sonia