Chapitre II : compression d’images fixes
Classe : MPSEIoT 1AU:2025/2026
Introduction
HEVC et SHVC
Plan Etude de performance
Optimisation de la prédiction Inter
Optimisation de la prédiction Inter
Conclusion
1 Introduction
2 JPEG
3 JPEG 2000
2
Introduction
JPEG
JPEG 2000
Le format JPEG (Joint Photographic Experts Group) est un format d’image offrant une
bonne compression pour une qualité très correcte.
Les spécifications de ce format ont commencés entre 1978 et 1980 mais c’est en 1991
que fut déposée la norme JPEG et en 1992 qu’elle fut adoptée.
Le format JPEG est représenté par les fichiers .jpeg ou .jpg et offre des taux de
compressions allant de 3 à 100.
JPEG 2000 est une norme de compression d’images qui offre une meilleure
compression pour une qualité bien plus importante. Cependant, le format JPEG 2000
est un format propriétaire ce qui freine sa diffusion.
JPEG 2000 est utilisée dans le domaine médical
Amina Kessentini 3
Introduction
JPEG
JPEG 2000
Table de spécification Table de spécification
Table de spécification Table de spécification
Amina Kessentini 4
Introduction
JPEG
JPEG 2000
Amina Kessentini 5
Introduction
JPEG
Prétraitement : changement de couleurs JPEG 2000
La première étape consiste à passer du modèle initial des couleurs de l’image
(souvent RVB) en modèle de type chrominance/luminance (YCrCb).
Y 0.299R 0.587G 0.114B
Cb 0.564( B Y )
Cr 0.713( R Y )
Amina Kessentini 6
Introduction
JPEG
Prétraitement : Sous-échantillonnage JPEG 2000
L’objectif ici va être de réduire l’information occupée par la chrominance.
Si l’œil humain est très sensible à la luminance, elle distingue par contre très mal la
chrominance.
On distingue 3 types majeurs de sous-échantillonnages :
4: 4 : 4
4: 2 : 2
4: 2 : 0
Amina Kessentini 7
Introduction
Prétraitement : Sous-échantillonnage JPEG
JPEG 2000
Type [Link]
Aucune compression n’est effectuée et aucune perte de qualité ne peut être
enregistrée.
Amina Kessentini 8
Introduction
Prétraitement : Sous-échantillonnage JPEG
JPEG 2000
Type [Link]
Consiste à supprimer les informations de la chrominance sur une colonne sur deux.
La colonne restante possède alors la moyenne des chrominances des deux colonnes.
Lors de la décompression, il suffira de recopier cette information sur la colonne vide.
Amina Kessentini 9
Introduction
Prétraitement : Sous-échantillonnage JPEG
JPEG 2000
Type [Link]
Ce type effectue le même processus que le [Link] mais en effectuant aussi cette
opération sur les lignes.
On divise donc ici par 4 l’information de la chrominance.
Amina Kessentini 10
Introduction
JPEG
Découpage en blocs de pixels 8x8 JPEG 2000
La compression est appliquée sur des blocs de pixels seulement. Ces blocs sont des
matrices de pixels 8*8 soient 64 pixels.
Amina Kessentini 11
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La transformation JPEG 2000
Le codec hybride
Le codage entropique
N 1
2n 1. .k
TCD extraite de la TFD: X c k C k . xn . cos
n 0 2.N
N 1 N 1
Coefficients TCD: CTCD u, v imagex, y cx, u c y, v
x 0 y 0
N 1 N 1
CTCD u, v cx, u imagex, y c y, v
x 0 y 0
N 1
S1 ix, y c y, v
y 0
La représentation matricielle d'une TCD unidimensionnelle d'ordre N est donnée par la
formule suivante: I C (N ) i ( N ,N ) (N)
Où i est un vecteur d'entrée, et I représente le vecteur de sortie.
C(N,N) est une matrice définie par la formule suivante:
C i, j Cos 2 j 1 i
(N, N ) 2 N
Amina Kessentini 12
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La transformation JPEG 2000
Le codec hybride
Le codage entropique
TCD
69 71 74 76 89 106 111 122 717.6 0.2 0.4 -19.8 -2.1 -6.2 -5.7 -7.6
59 70 61 61 68 76 88 94 -99.0 -35.8 27.4 19.4 -2.6 -3.8 9.0 2.7
82 70 77 67 65 63 57 70 51.8 -60.8 3.9 -11.8 1.9 4.1 1.0 6.4
97 99 87 83 72 72 68 63 30.0 -25.1 -6.7 6.2 -4.4 -10.7 -4.2 -8.0
91 105 90 95 85 84 79 75 22.6 2.7 4.9 3.4 -3.6 8.7 -2.7 0.9
92 110 101 106 100 94 87 93 15.6 4.9 -7.0 1.1 2.3 -2.2 6.6 -1.7
89 113 115 124 113 105 100 110 0.0 5.9 2.3 0.5 5.8 3.1 8.0 4.8
104 110 124 125 107 95 117 116 -0.7 -2.3 -5.2 -1.0 3.6 -0.5 5.1 -0.1
Amina Kessentini 13
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La transformation JPEG 2000
Le codec hybride
Le codage entropique
De point de vu transformation matricielle, l’algorithme se compose de 3 étapes:
1. On applique la TCD sur une direction
2. On transpose la matrice résultante
3. On applique une autre TCD 1D pour obtenir la bidirectionnalité.
C( N , N ) *
DC
Transpose Les AC
C( N , N ) *
Amina Kessentini 14
Introduction
JPEG
Codage entropique JPEG 2000
Amina Kessentini 15
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La transformation JPEG 2000
Le codec hybride
Le codage entropique
Amina Kessentini 16
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La transformation JPEG 2000
Le codec hybride
Le codage entropique
Image Initiale
Amina Kessentini 17
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La transformation JPEG 2000
Le codec hybride
Le codage entropique
coefficient DC + 8 AC DC+ 15 AC
coefficient DC seulement
Amina Kessentini 18
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La Quantification JPEG 2000
Le codec hybride
Le codage entropique
139 144 149 153 155 155 155 155 235.6 -1.0 -12.1 -5.2 2.1 -1.7 -2.7 1.3 16 11 10 16 24 40 51 61
144 151 153 156 159 156 156 156 -22.6 -17.5 -6.2 -.32 -2.9 -.01 0.4 -1.2 12 12 14 19 26 58 60 55
150 155 160 163 158 156 156 156 -10.9 -9.3 -1.60 1.50 0.2 -0.9 -0.6 -0.1 14 13 16 24 40 57 69 56
159 161 162 160 160 159 159 159 -7 -1.9 0.2 1.5 0.9 -0.1 0.0 0.3 14 17 22 29 51 87 80 62
159 160 161 162 162 155 155 155 -0.6 -0.8 1.5 1.6 -0.1 -0.7 0.6 1.3 18 22 37 56 68 109 103 77
161 161 161 161 160 157 157 157 1.8 -0.2 1.6 -0.3 -0.8 1.5 1.0 -1.0 24 35 55 64 81 104 113 92
162 162 161 163 162 157 157 157 -1.3 -0.4 -0.3 -1.5 -0.5 1.7 1.1 -0.8 49 64 78 87 103 121 120 101
162 162 161 161 163 158 158 158 -2.6 1.6 -3.8 -1.8 1.9 1.2 -0.6 -0.4 72 92 95 98 112 100 103 99
(a) Image Source (b) Coefficient de la TCD
© Table de quantification
15 0 -1 0 0 0 0 0 240 0 -10 0 0 0 0 0 144 146 149 152 154 156 156 156
-2 -1 0 0 0 0 0 0 -24 -12 0 0 0 0 0 0 148 150 152 154 156 156 156 156
-1 -1 0 0 0 0 0 0 -14 -13 0 0 0 0 0 0 155 156 157 158 158 157 156 155
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 160 161 161 162 161 159 157 155
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 163 163 164 163 162 160 158 156
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 163 164 164 164 162 160 158 157
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 160 161 162 162 162 161 159 158
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 158 159 161 161 162 161 159 158
(d) Coefficient quantifié normalisé (e) Coefficient déquantifié dé normalisé (f) Image reconstituée
Amina Kessentini 19
Introduction
Le modèle temporel
JPEG
Le modèle spatial
La Quantification JPEG 2000
Le codec hybride
Le codage entropique
139 144 149 153 155 155 155 155 144 146 149 152 154 156 156 156 5 2 0 1 1 1 1 1
144 151 153 156 159 156 156 156 148 150 152 154 156 156 156 156 4 1 3 2 3 0 0 0
150 155 160 163 158 156 156 156 155 156 157 158 158 157 156 155 5 1 3 5 0 1 0 1
159 161 162 160 160 159 159 159 160 161 161 162 161 159 157 155 1 0 1 1 1 0 2 4
159 160 161 162 162 155 155 155 163 163 164 163 162 160 158 156 4 3 3 1 0 5 2 1
161 161 161 161 160 157 157 157 163 164 164 164 162 160 158 157 2 3 3 3 2 3 1 0
162 162 161 163 162 157 157 157 160 161 162 162 162 161 159 158 2 1 1 1 1 4 2 1
162 162 161 161 163 158 158 158 158 159 161 161 162 161 159 158 4 3 0 0 1 3 1 0
(a) Image Source (b) Image reconstituée (c) Résiduelle
SAD= 112
Amina Kessentini 20
Introduction
Le modèle temporel
JPEG
Le modèle spatial
ZigZag JPEG 2000
Le codec hybride
Le codage entropique
Exemple : Ce qui donne la séquence zigzag
15 0 -1 0 0 0 0 0 suivante :
-2 -1 0 0 0 0 0 0
-1 -1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 15, 0, -2, -1, -1, -1, 0, 0, -1, 0,
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 0 0 0 0 0 0 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0 0 0 0 0 0 0 0
0, 0, 0, 0, 0, etc.
Amina Kessentini 21
Introduction
JPEG
Codage entropique JPEG 2000
Cette partie est décomposée en deux parties
Formation des séquences intermédiaires:
o Le premier coeff. (DC) de chaque bloc i qui concentre
la majeure partie de l’énergie, varie peu d’un bloc à
l’autre. La séquence {𝐷𝐶 𝑖 } est codée par codage
différentiel:
o Les autres coeff. (AC) de chaque bloc i sont lus en zigzag, formant une
séquence décroissante, dont une plage finale de coeff. nuls:
Codage entropique ( de Huffman ou arithmétique) de ces 2 séquences
Amina Kessentini 22
Introduction
JPEG
Codage entropique JPEG 2000
Codage DPCM des coefficients DC
Regroupement des coefficients DC 40 45 38
38v
Coder la différence
DIFF = DCi - DCi-1
Amina Kessentini 23
Introduction
JPEG
Codage entropique JPEG 2000
Codage entropique intermédiaire RLE
Dans la séquence des symboles intermédiaires, chaque coefficient AC non nul
est représenté en combinaison avec le nombre de coefficients nuls consécutifs
dans la séquence zigzag appelé runlength. Chaque combinaison (runlength,
coefficient non nul) est représentée par une paire de symboles :
• Symbole 01 Symbole 02
(Runlength, Taille) (Amplitude)
Amina Kessentini 24
Introduction
JPEG
Codage entropique JPEG 2000
Chaque symbole 01 est codé avec un code à longueur variable (Variable Length
Code, VLC) d'après la table de Huffman attribuée au bloc désigné de l'image.
Chaque symbole 02 est codé par un entier de taille variable (variable-length
integer, VLI) comme un code dont sa longueur en bits, est donnée par un tableau
spécifié par la norme
La norme de JPEG inclue dans son annexe d'information un ensemble
d'exemples de table de Huffman à utiliser.
Amina Kessentini 25
Introduction
JPEG
JPEG :Principe du codage RLE JPEG 2000
Compression RLE (Run length encoding) : le principe est basé sur la répétition des
données consecutives. Au lieu de coder les symbols consécutifs de la chaine, on
code le nombre des symbols consécutifs de la même valeur
Exemple
Amina Kessentini 26
Introduction
JPEG
JPEG :Principe du codage RLE JPEG 2000
Exemple
Amina Kessentini 27
Introduction
JPEG
Exemple Huffman JPEG 2000
Exemple
HOURRAHOURRAHOURRA
Amina Kessentini 28
Introduction
JPEG
Exemple Huffman JPEG 2000
Exemple
180
180
Amina Kessentini 29
Introduction
JPEG
Codage entropique JPEG 2000
Amina Kessentini 30
Introduction
JPEG
Codage entropique JPEG 2000
Résultat du zigzag scan ( le DC est codé séparément)
24 -31 0 -4 -2 0 6 -12 0 0 0 -1 -1 0 0 0 2 -2 0 0 0 0 0 -1 EOB
EOB : End of block . Les restes des coefficients sont tous des zéros
Amina Kessentini 31
Introduction
JPEG
Codage entropique JPEG 2000
Exemple
15 0 -1 0 0 0 0 0
-2 -1 0 0 0 0 0 0
-1 -1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Dans notre cas, on aura la séquence zigzag suivante:
15 0 -2 -1 -1 -1 0 0 -1 0 etc
Le reste sera des zéros.
Codage intermédiaire sera si on suppose que le DC précédent était 12:
(0,2) (3), (1,2) (-2), (0,1) (-1), (0,1) (-1), (0,1) (-1), (2,1) (-1), (0,0)
DC AC
Amina Kessentini 32
Introduction
JPEG
Codage entropique JPEG 2000
Dans notre cas, on aura la séquence zigzag suivante :
15 0 -2 -1 -1 -1 0 0 -1 0 ETC… Le reste sera des zéros.
Le Codage intermédiaire sera si on suppose que le DC précédent est 12 : DC_diff_value = (15-12) = 3
DC :( S1_DC, S2_DC) : S1 : 0/DC_size S2 : DC_value_differential : S1 : (0/table : 2),(3) Size AC_Value
AC, Le premier AC non nul est -2 1 -1,1
2 -3,-2, 2,3
( S1_AC, S2_AC) S2_AC_VALUE =-2 3 -7..-4, 4..7
4 -15..-8, 8,..15
S1_AC : (RLE/AC_SIZE) RLE =1 ET AC_SIZE = 2 5 -31..-16, 16..31
6 -63..-32, 32..63
7 -127..-64, 64..127
8 -255..-128, 128..255
9 -511..-256, 256..511
Le Codage intermédiaire est 10 -1023..-512, 512..1023
11 -2047..-1024, 1024..2047
(0/2,3) , (1/2,-2) , (0/1,-1) , (0/1,-1) , (0/1,-1) , (2/1,-1) , (0/0)
Tous les autres AC
DC AC
sont nuls
Amina Kessentini 33
Introduction
JPEG
Codage entropique JPEG 2000
Table de Huffman
RLE/size Code binaire RLE/size Code binaire
RLE/size Code binaire RLE/size Code40
binaire 38
38v
Amina Kessentini 34
Introduction
JPEG
Codage entropique JPEG 2000
Le code binaire de ce bloc de 8x8 est 01 11 11011 01 00 0 00 0 00 0 11100 0 1010 30 bits
Pour coder un bloc 8x8 sans compression, on a 64 coefficients sur 8 bits chacun
Nbre de bits initial = 64x 8 = 512
Nbre de bits après compression = 30 bits
Nc
τ= = 5,86% La taille est réduite à 5,68 % ; La taille est réduite de 94,1 %
No
Amina Kessentini 35
Introduction
JPEG
Les défauts de la norme JPEG JPEG 2000
Faible taux de compression
Phénomène de bloc ( block artifact)
Images de petites tailles
Amina Kessentini 36
Introduction
JPEG
Codeur JPEG 2000
Codeur
Transformée en Transformée en
Pré traitement
couleur ondelettes
Quantification
Contrôleur du
Codage Tier-1
taux
Codage Tier-2
Séquence de bits
010011…
Amina Kessentini 37
Introduction
JPEG
Décodeur JPEG 2000
Séquence de
bits Décodage Décodage
Déquantification
010011… Tier-2 Tier-1
Transformée en
ondelettes inverse
Transformée en
couleur inverse
Post traitement
Amina Kessentini 38
Introduction
JPEG
JPEG 2000
Généralités sur la théorie des ondelettes
• Un ensemble de fonctions déduites d’une même fonction, appelée fonction mère,
par opération de translation, dilatation et rotation.
• Domaine d’applications:
– Mathématique
– Physique
– Traitement de signal ..etc
Amina Kessentini 39
Introduction
JPEG
JPEG 2000
Généralités sur la théorie des ondelettes
•Analyse multi - résolution
Application de l’ondelette pour traiter les lignes de l’image
Application de l’ondelette pour traiter les colonnes de l’image
Traitement par résolution
LL HL
L H
LH HH
Exemple de décomposition
Amina Kessentini 40
Introduction
JPEG
JPEG 2000
Exemple: Ondelette de HAAR
s2l i s2l i 1
l 1
S i
2
s l
s l
Dil 1 2i 1 2i
2
120 126 120 122 121 123 130 126 123 121 122 128 3 1 1 -2
120 122 122 122 124 126 130 120 121 122 125 125 1 0 1 5
123 121 124 126 130 122 121 124 122 125 126 122 -1 1 4 1
126 130 120 130 122 121 124 126 128 125 121 125 -2 -5 1 1
120 126 120 122 121 124 126 130 123 121 122 128 3 1 1 -2
121 120 122 121 124 126 130 120 121 122 125 125 1 0 1 5
123 121 124 126 130 122 121 124 122 125 126 122 -1 1 4 1
126 130 120 130 122 121 124 126 128 125 121 125 -2 -5 1 1
L H
Amina Kessentini 41
Introduction
JPEG
JPEG 2000
Exemple sur l’image de lena
Amina Kessentini 42
Merci pour votre attention
Amina Kessentini 43