these de doctorat

Transcription

these de doctorat
UNIVERSITE MOHAMMED V-AGDAL
FACULTE DES SCIENCES
RABAT
Numéro d'ordre : 2339
THESE DE DOCTORAT
Présentée par :
Mohammed BENABDELLAH
Discipline : Sciences de l'ingénieur
Spécialité : Informatique, Télécommunications et Multimédia
OUTILS DE COMPRESSION ET DE CRYPTOCOMPRESSION : APPLICATIONS AUX IMAGES
FIXES ET VIDEO
Soutenue publiquement le 20 Juin 2007 à 16h30, devant le jury composé de :
Président :
El. H. BOUYAKHF Professeur à la Faculté des Sciences de Rabat-Agdal.
Examinateurs :
F. REGRAGUI
A. TOUZANI
N. ZAHID
A. TAMTAOUI
Professeur à la Faculté des Sciences de Rabat-Agdal,
Professeur à l'Ecole Mohammadia d'Ingénieurs de Rabat,
Professeur à la Faculté des Sciences de Rabat-Agdal,
Professeur à l’Institut National des Postes et
Télécommunications de Rabat.
Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat-Maroc
Tel +212 (0) 37 77 18 34/35/38, Fax : +212 (0) 37 77 42 61, http://www.fsr.ac.ma
Avant Propos
Mes travaux de recherche effectués au sein du Laboratoire d’Informatique, Mathématiques Appliquées, Intelligence Artificielle et Reconnaissance de Formes (LIMIARF), sous
la direction du Professeur d’Enseignement Supérieur Madame Fakhita Regragui, portent
sur la compression et la crypto-compression des images fixes et aussi sur la compression
des séquences vidéo. Ces trois volets de recherche ont fait l’objet de plusieurs publications et communications. Pour la compression des images fixes, nous avons introduit deux
articles. Le premier papier intitulé "adaptive compression of images based on wavelets"
était publié par International Journal of Computer Sciences and Telecommunications
(GESJ). Le deuxième article sous le titre "Adaptive compression of cartographic images
based on Haar’s wavelets" était publié par The Morrocan International Journal Physical
and Chemical News. Sur le deuxième axe concernant la crypto-compression des images,
nous avons publié un article intitulé "Encryption-Compression of Echographic images
using FMT transform and DES algorithm" dans le journal International INFOCOMP
et un autre sous le titre "Encryption-compression of images based on Faber-schauder
Multi-scale Transform and AES algorithm" qui a été publié par le Journal International
Applied Mathematical Sciences. Quant au troisième volet traitant la compression vidéo,
nous avons reussi à introduire deux papiers, le premier qui a pour titre "A method for
choosing reference images based on edges detection for video compression" était publié
par International Journal of Computer Sciences and Telecommunications, et le deuxième
intitulé "Choice of reference images for video compression" qui se base sur la Transformation Multi-échelle de Faber Schauder a été publié dans le Journal International Applied
Mathematical Sciences.
Ces travaux de recherche sont réalisés en co-direction de Professeur d’Enseignement
Supérieur à la Faculté des Sciences de Rabat, Monsieur El Houssine Bouyakhf, et le
i
AVANT PROPOS
ii
Professeur Assistant à la Faculté des Sciences de Rabat, Monsieur Mourad Gharbi, et
aussi en collaboration et en co-direction, sur l’axe de crypto-compression, de Professeur
d’Enseignement Supérieur à la Faculté des sciences de Rabat Monsieur Noureddine Zahid.
Je tiens à exprimer ma gratitude et mes vifs remerciements à :
Mon directeur de recherche, Madame Fakhita Regragui, Professeur d’Enseignement
Supérieur à la Faculté des sciences de Rabat-Agdal, pour sa bienveillance et ses conseils
avisés, pour l’aide et pour l’orientation durant ma préparation doctorale,
Mon Directeur des Ressources Humaines de Ministère de la justice, Monsieur Said
Soufi, qui m’a beaucoup encouragé et aidé afin de pouvoir continuer mes recherches doctorales,
Le président de jury, Monsieur El Houssine Bouyakhf, Professeur d’Enseignement Supérieur à la Faculté des sciences de Rabat-Agdal et responsable du Laboratoire d’Informatique, Mathématiques Appliquées, Intelligence Artificielle et Reconnaissance de Formes,
qui m’a aussi dirigé, en collaboration, durant ma préparation de thèse doctorale,
Monsieur Noureddine Zahid, Professeur d’Enseignement Supérieur au laboratoire LCS,
à la Faculté des sciences de Rabat-Agdal, d’avoir accepter de rapporter ce travail, je le
remercie également pour l’aide et la direction durant ma préparation doctorale surtout
sur la partie de crypto-compression et aussi pour sa participation au jury afin de juger en
totalité mes travaux de recherche.
Monsieur Abderrahmane Touzani, Professeur d’Enseignement Supérieur à l’Ecole Mohammadia d’Ingénieurs, d’accepter de participer au jury et de m’avoir honnorer en rapportant cette thèse, je le remercie vivement pour ces cours de traitement d’images qui
nous a donnée au cours de la préparation de mon DESA.
Monsieur Ahmed Tamtaoui, Professeur d’Habilitation à l’Institut National de Poste
et Télécommunications, d’avoir examiner et juger mes travaux de recherche.
Je ne pourrai clôre ces remerciements avant de remercier vivement tous mes collègues
de service informatique au DRH de la justice, surtout mon chef de service d’informatique,
Madame Latifa Elharadji, qui m’a encouragé pour continuer ma préparation doctorale,
Mes chers parents et à toute ma famille.
Table des matières
Avant Propos
i
Résumé
xii
Abstract
xiii
Introduction
1
Objectifs et plan de thèse
5
1 Théorie de l’information, codages et définitions en imagerie
7
1.1
Approche historique de la théorie de l’information . . . . . . . . . . . . . .
7
1.2
Codages des images binaires . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.2.1
Définitions principales . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.2.2
Codage par segments . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.3
Codage par contours . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.4
Codage par régions . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.5
Codage par formes . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3
1.4
Notion de la lumière . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.1
Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.2
Notion de la couleur . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.3
Fonctionnement de l’œil humain . . . . . . . . . . . . . . . . . . . . 18
1.3.4
Synthèse additive et soustractive . . . . . . . . . . . . . . . . . . . 19
Codage de la couleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.1
Les représentations de la couleur . . . . . . . . . . . . . . . . . . . 21
iii
TABLE DES MATIÈRES
1.5
1.6
iv
1.4.2
Le codage RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.3
Le codage HSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.4
Le codage CMY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.5
Le codage CIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.6
Le codage YUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4.7
Le codage YIQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Image numérique, Informations et Médias
. . . . . . . . . . . . . . . . . . 26
1.5.1
Les images numériques . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5.2
L’évolution des informations . . . . . . . . . . . . . . . . . . . . . . 33
1.5.3
Les médias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Technologies d’affichage et Définitions en imagerie . . . . . . . . . . . . . . 36
1.6.1
Les technologies d’affichage . . . . . . . . . . . . . . . . . . . . . . 37
1.6.2
La notion de pixel
1.6.3
Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6.4
Bruit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6.5
Histogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.6.6
Contours et textures . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.6.7
Contraste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.6.8
Images à niveaux de gris . . . . . . . . . . . . . . . . . . . . . . . . 40
1.6.9
Images en couleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6.10 La représentation en couleurs réelles . . . . . . . . . . . . . . . . . 40
1.6.11 La représentation en couleurs indexées . . . . . . . . . . . . . . . . 41
1.6.12 Autres modèles de représentation . . . . . . . . . . . . . . . . . . . 41
1.6.13 Définition et Résolution . . . . . . . . . . . . . . . . . . . . . . . . 41
1.6.14 Le codage de la couleur . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.6.15 Poids d’une image
. . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.6.16 Transparence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.6.17 Format de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.7
1.8
Introduction à la vidéo numérique . . . . . . . . . . . . . . . . . . . . . . . 45
1.7.1
Définition de la vidéo . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.7.2
Vidéo numérique et analogique . . . . . . . . . . . . . . . . . . . . 45
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
TABLE DES MATIÈRES
v
2 Principes de la compression en imagerie
49
2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2
Intérêt de la compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3
La compression de données . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.4
Caractérisation de la compression . . . . . . . . . . . . . . . . . . . . . . . 50
2.5
Types de compressions et de méthodes . . . . . . . . . . . . . . . . . . . . 51
2.6
2.5.1
Compression physique et logique
2.5.2
Compression symétrique et asymétrique
2.5.3
Compression avec pertes . . . . . . . . . . . . . . . . . . . . . . . . 51
2.5.4
Encodage adaptif, semi adaptif et non adaptif . . . . . . . . . . . . 52
2.5.5
Filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.8
2.9
. . . . . . . . . . . . . . . 51
Les principes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.6.1
2.7
. . . . . . . . . . . . . . . . . . . 51
Extraction de l’information pertinente et élimination de la redondance 54
Les mesures utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.7.1
Evaluation de la compression . . . . . . . . . . . . . . . . . . . . . 56
2.7.2
La mesure de la qualité de l’image . . . . . . . . . . . . . . . . . . . 57
Cas des séquences animées . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.8.1
Analyse du mouvement . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.8.2
Les méthodes de compensation de mouvement . . . . . . . . . . . . 60
Les normes de compression des images . . . . . . . . . . . . . . . . . . . . 66
2.9.1
La norme de compression JPEG
. . . . . . . . . . . . . . . . . . . 66
2.9.2
La norme de compression JBIG . . . . . . . . . . . . . . . . . . . . 67
2.9.3
La norme de compression H.26x . . . . . . . . . . . . . . . . . . . . 67
2.9.4
La norme de compression MPEG . . . . . . . . . . . . . . . . . . . 69
2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3 Compression des images fixes
71
3.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2
Les diverses méthodes de compression . . . . . . . . . . . . . . . . . . . . . 72
3.2.1
Classification des méthodes de compression . . . . . . . . . . . . . . 72
3.2.2
Méthodes sans distorsion des données . . . . . . . . . . . . . . . . . 73
3.2.3
Méthodes avec distorsion des données . . . . . . . . . . . . . . . . . 84
TABLE DES MATIÈRES
3.3
3.4
vi
Compression adaptative d’images basée sur les ondelettes . . . . . . . . . . 103
3.3.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.3.2
Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.3.3
Applications et résultats . . . . . . . . . . . . . . . . . . . . . . . . 116
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4 Compression des séquences vidéo
124
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.2
Le MPEG-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.2.1
Les frames I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.2.2
Les frames P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.2.3
Les frames B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.2.4
Les frames D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3
Les différents codecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.4
Modélisation du mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.5
Estimation du mouvement . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.6
Méthode de choix des images de référence . . . . . . . . . . . . . . . . . . 130
4.7
4.6.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.6.2
Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.6.3
Applications et Résultats . . . . . . . . . . . . . . . . . . . . . . . . 150
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5 Crypto-Compression d’images
155
5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.2
Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.3
5.4
5.2.1
Les techniques de cryptographie . . . . . . . . . . . . . . . . . . . . 157
5.2.2
Quelques applications de la cryptographie . . . . . . . . . . . . . . 162
Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
5.3.1
Transformation multi-échelle de Faber-Schauder . . . . . . . . . . . 174
5.3.2
Schéma de principe des approches de crypto-compression proposées 180
Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
5.4.1
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
TABLE DES MATIÈRES
5.4.2
5.5
vii
Comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Conclusion générale et perspectives
187
Annexes
192
Bibliographie
215
Table des figures
1.1
L’espace de rayonnements observés par l’œil humain. . . . . . . . . . . . . 18
1.2
Les composantes de l’œil humain. . . . . . . . . . . . . . . . . . . . . . . . 18
1.3
Représentation de la Sensibilité de l’œil humain aux trois couleurs primaire. 19
1.4
Synthèse additive des couleurs. . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5
Synthèse soustractive des couleurs. . . . . . . . . . . . . . . . . . . . . . . 20
1.6
Représentation graphique du codage RGB. . . . . . . . . . . . . . . . . . . 22
1.7
Représentation graphique du codage HSL. . . . . . . . . . . . . . . . . . . 23
1.8
Système colorimétrique CIE. . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.9
Détail d’une image binaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.10 Détail d’une image en niveaux de gris. . . . . . . . . . . . . . . . . . . . . 27
1.11 Image binaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.12 Image en niveaux de gris. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.13 Image couleur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.14 Principe des moniteurs d’ordinateur. . . . . . . . . . . . . . . . . . . . . . 37
1.15 Pixel : le plus petit élément constitutif d’une image numérique. . . . . . . . 38
1.16 Processus de traitement d’information par l’ordinateur. . . . . . . . . . . . 44
1.17 Champs des lignes paires et impaires en vidéo. . . . . . . . . . . . . . . . . 46
2.1
Evaluation en temps de calcul et en volume, de la compression symétrique.
2.2
Filtre 3 x 3 cœfficients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.3
Schéma de principe de la compensation de mouvement. . . . . . . . . . . . 62
2.4
Sous-échantillonnage de chrominance 4 :2 :0 et 4 :2 :2. . . . . . . . . . . . . 63
2.5
L’ordonnancement du Flux vidéo. . . . . . . . . . . . . . . . . . . . . . . . 65
2.6
Le débit vidéo en fonction des types d’images utilisées. . . . . . . . . . . . 65
viii
51
TABLE DES FIGURES
ix
2.7
Principe de l’algorithme JPEG avec pertes. . . . . . . . . . . . . . . . . . . 67
2.8
Principe de l’algorithme JPEG sans pertes. . . . . . . . . . . . . . . . . . . 67
3.1
Schéma d’un codeur source. . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.2
Principe de fonctionnement de LZ77. . . . . . . . . . . . . . . . . . . . . . 76
3.3
Principe du quantificateur vectoriel. . . . . . . . . . . . . . . . . . . . . . . 85
3.4
Principe d’un système de codage par transformation. . . . . . . . . . . . . 86
3.5
Séquence ZigZag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.6
Construction de la fonction d’échelle et de l’ondelette de Haar. . . . . . . . 97
3.7
Décomposition par Analyse Multi-résolution. . . . . . . . . . . . . . . . . . 99
3.8
Principe de décomposition 2D. . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.9
Diagramme de Mallat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.10 Analyse multirésolution par ondelettes de Haar d’une image de synthèse. . 101
3.11 Décomposition en sous-bandes par ondelettes. . . . . . . . . . . . . . . . . 102
3.12 Processus d’échange des données entre deux niveaux. . . . . . . . . . . . . 105
3.13 Génération des masques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.14 Sélection des Zones d’Intérêt. . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.15 Principe de la compression d’images par ondelettes. . . . . . . . . . . . . . 111
3.16 Ondelette de Haar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.17 Construction de la base canonique de l’espace Ep à partir des vecteurs de
sous-espaces Ep−1 et Fp−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.18 Décomposition en 2D par ondelettes. . . . . . . . . . . . . . . . . . . . . . 113
3.19 Schéma d’algorithme de la compression par ondelettes de Haar. . . . . . . 113
3.20 Traitement de deux couches d’ondelettes. . . . . . . . . . . . . . . . . . . . 114
3.21 Schéma général de la méthode proposée. . . . . . . . . . . . . . . . . . . . 116
3.22 Taux de compression théoriques obtenus en fonction du facteur de souséchantillonage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
3.23 Résultats obtenus et publiés par le Journal International PCN. . . . . . . . 122
4.1
La première et la deuxième dérivée du transition " Amplitude Jump ". . . 132
4.2
Logiciel contour2D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.3
Générateur du bruit gaussien. . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.4
Sigma de la gaussienne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
TABLE DES FIGURES
x
4.5
Choix de la constante α du filte de Canny-Deriche. . . . . . . . . . . . . . 137
4.6
Choix de rayon du cercle lié aux moments géométriques. . . . . . . . . . . 138
4.7
Configuration géométrique autour d’un pixel E. . . . . . . . . . . . . . . . 139
4.8
Sous-échantillonnage de la chrominance. . . . . . . . . . . . . . . . . . . . 142
4.9
Formats d’image numérique. . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4.10 Schéma général d’un codeur vidéo. . . . . . . . . . . . . . . . . . . . . . . 144
4.11 Principe de codage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.12 Hiérarchique du codage MPEG. . . . . . . . . . . . . . . . . . . . . . . . . 145
4.13 Structure du GOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
4.14 Allure typique d’une courbe du rapport débit/distorsion. . . . . . . . . . . 147
4.15 Images originales utilisées pour la constructions des images mosaïques. . . 148
4.16 Image mosaïque1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.17 Image mosaïque2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.18 Prédiction lors d’un changement de plan (Séquence News). . . . . . . . . . 149
4.19 La séquence kiss cool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
4.20 Schéma de la méthode proposée. . . . . . . . . . . . . . . . . . . . . . . . . 151
4.21 Reconstruction d’une séquence. . . . . . . . . . . . . . . . . . . . . . . . . 152
4.22 Rapport débit/distorsion pour les différentes images Intra du GOP 78-90
de la séquence Kiss Cool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.23 Résultats obtenus et publiés par International Journal of computer sciences
and telecommunications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.24 Résultats obtenus et publiés par le Journal International Applied Mathematical sciences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.1
Schéma de chiffrement et déchiffrement. . . . . . . . . . . . . . . . . . . . . 157
5.2
Schéma de chiffrement à clé symétrique. . . . . . . . . . . . . . . . . . . . 158
5.3
Schéma de chiffrement à clé publique. . . . . . . . . . . . . . . . . . . . . . 160
5.4
Schéma représentant l’algorithme D.E.S. . . . . . . . . . . . . . . . . . . . 164
5.5
Schéma représentant le mode opérationnel C.B.C. . . . . . . . . . . . . . . 166
5.6
Schéma bloc de l’algorithme AES, version 128 bits. . . . . . . . . . . . . . 168
5.7
Tableau récapitulatif de la gestion des clés avec R.S.A. . . . . . . . . . . . 171
TABLE DES FIGURES
5.8
xi
Représentation à échelles séparées pour une image 9 × 9 transformée dans
la base multi-échelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
5.9
Représentation à échelles mixtes, les coefficients sont placés à l’endroit où
leurs fonctions de base sont maximales. . . . . . . . . . . . . . . . . . . . . 178
5.10 Représentation à échelles mixtes (en bas) et à échelles séparées (en haut) de
l’image Echographique. Les coefficients sont dans la base canonique dans
(a) et (c) et dans la base multi-échelle de Faber-Schauder dans (b) et (d). . 179
5.11 Echantillon d’histogrammes de l’image " Lena " exprimée dans la base
canonique (à gauche) et dans la base multi-échelle (à droite). . . . . . . . . 179
5.12 Dégradation par FMT. Pourcentage de coefficients éliminées : (a) l’image
Arches originale, (b) 90%, (c) 93%. . . . . . . . . . . . . . . . . . . . . . . 180
5.13 Pourcentage des coefficients éliminés et PSNR de quelques images reconstituées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.14 Schéma de principe des approches de crypto-compression introduites. . . . 181
5.15 Les étapes suivies après application de la méthode AES-FMT sur les images
Lena, Echo.3, Flower et Arches. . . . . . . . . . . . . . . . . . . . . . . . . 182
5.16 Histogrammes des images originales et des images compressées et cryptées
par la méthode AES-FMT. . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.17 Les étapes suivies après application de la méthode DES-FMT sur les deux
autres images échographiques. . . . . . . . . . . . . . . . . . . . . . . . . . 183
5.18 Histogrammes des images originales et des images compressées et cryptées
par la méthode DES-FMT. . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
5.19 Comparaison des methodes DCT-RSA, FMT-DES et FMT-AES (Résultats publiés sur le Journal International INFOCOMP et sur le journal International Applied Mathematical Sciences). E.O.I. : Entropie de l’image
originale. Q.O.I. : Qualité de l’image originale. E.R.I. : Entropie de l’image
reconstituée. Q.R.I. : Qualité de l’image reconstituée. C.T. : Temps calculé. 184
5.20 Damier noir et blanc 10 × 10 pixels. . . . . . . . . . . . . . . . . . . . . . . 205
5.21 Codage de la chaîne : DU CODAGE AU DECODAGE. . . . . . . . . . . . 207
5.22 Décodage de la chaîne : DU CODAGE AU DECODAGE. . . . . . . . . . . 209
E
F
Résumé
Dans ce travail, nous proposons le test de plusieurs techniques de compression sur des images fixes et
animées et aussi la combinaison entre compression et cryptage des images.
Pour la compression des images fixes, généralement, l’utilisateur ne s’intéresse qu’à certaines zones d’une
même image. Ceci suggère que ces différentes zones peuvent être traitées par des approches différentes réversibles ou irréversibles. Nous proposons une approche de compression adaptative à l’aide de méthodes irréversibles. Après sélection des zones qualifiées d’intérêt, l’approche consiste à appliquer une compression par
ondelettes de Haar sur ces zones et une compression par la méthode classique JPEG avec pertes sur le contexte
de l’image. Le test de cette approche sur des images avec une ou plusieurs zones d’intérêts, a révélé la supériorité
de cette approche par rapport aux méthodes de compression classique en termes de taux de compression. En
plus, comparée au technique adaptive basée sur LZ77, notre approche s’avère toujours plus efficace en termes
de taux de compression pour une qualité visuelle comparable.
Pour la compression des images vidéo, nous proposons d’effectuer des tests sur la modification de la séquence d’encodage des images d’une séquence vidéo, afin d’apporter un gain en termes de débit et de PSNR
moyen. Les expérimentations réalisées utilisent seulement les images intra et prédites extraites de séquences
sur lesquelles nous effectuons la détection de contours ou la transformation Multi-échelles de Faber-Schauder
(FMT). Chacune de ces images est comparée aux autres en effectuant une soustraction des contours correspondants. Le choix de la meilleure image de référence, pour chaque image intra ou prédite, se base sur le critère
de minimum de pixels dans le cas où les résultats après soustractions présentent uniquement des points et le
critère du distance minimale entre les lignes s’ils présentent des lignes parallèles et éventuellement des points.
Le test des deux approches proposées sur des séquences vidéo a révélé une amélioration de débit et du PSNR
moyen par rapport à l’encodage original et à la méthode de choix des images de référence sur la base de l’erreur
quadratique moyenne.
Enfin, pour la crypto-compression, Le développement des applications liées à plusieurs domaines de traitement d’images nécessite l’utilisation des technologies de l’information et des télécommunications qui ont
évolué très rapidement ces dernières années. La compression et le cryptage de données sont deux techniques
H
G
dont l’importance croit d’une manière exponentielle dans une myriade d’applications. L’usage des réseaux
informatiques, pour la transmission et le transfert des données, doit satisfaire à deux objectifs qui sont la
réduction du volume des informations pour désencombrer le maximum possible, les réseaux publics de communications et la protection en vue de garantir un niveau de sécurité optimum. Pour cela nous avons proposé
deux nouvelles approches hybrides de crypto-compression, qui reposent sur un cryptage à base de l’algorithme
DES et l’algorithme AES des cœfficients dominants, en représentation à échelles mixtes, de la compression
par la transformation multi-échelle de Faber-Schauder. La comparaison de ces deux méthodes avec d’autres
méthodes de crypto-compression a bien montré leur bonne performance.
Mots clefs : Compression adaptative, zones d’intérêt, ondelettes, images de référence, Compression vidéo,
crypto-compressio.
xii
E
TABLE DES FIGURES
F
xiii
Abstract
In this work, we propose the test of several compression techniques on still images and video sequences
and we introduce an Encrption-compression mehtods of images.
For still images compression, the user is interested generally only in certain regions of the image. In these
cases, it is reasonable to consider adaptive processing of different regions in the image. We propose an adaptive
image compression technique for still images using irreversible methods. After the selection of regions of interest,
the approach consists in applying wavelet compression to these regions and classical JPEG image compression
with losses to the context of the image. Testing this approach on images with regions of interest produced good
results. Preliminary results revealed the superiority of adaptive compression in terms of compression ratio for
comparable visual image quality. Moreover, when the context is compressed using JPEG, the wavelet method
on regions of interest always outperforms the reversible LZ77 method in terms of compression ratio and visual
image quality.
In video compression, we propose carrying out tests on the encoding sequence of a video sequence to
improve data flow and average PSNR. We experiment with the choice of reference images, in the process of
video compression, by using only the intra and predicted images extracted from sequences. For each intra
and predicted image, we perform edge detection or Faber-Schauder Multi-scales Transform. Each image of the
sequence is compared with the other images by subtracting corresponding edges. The choice of the reference
image is based on the result of subtraction. We adopt the criterion of minimum pixels if the resulting images
present only points and the criterion of minimum distance between the lines if they present parallel lines and
possibly points. Testing this approach on a video sequences revealed an improvement in data flow and average
PSNR as compared to the original encoding and choosing reference images based on the mean square error.
Finally, The compression and the encryption of data are two techniques whose importance believes in
an exponential way in a myriad of applications. The development of the applications related to several fields
H
G
of image processing requires the use of telecommunication and information technologies which evolved very
quickly these last years. The use of the data-processing networks, for the transmission and the transfer of the
data, must satisfy two objectives which are : the reduction of the volume of information to free, the maximum
possible, the public networks of communication, and the protection in order to guarantee a level of optimum
safety. For this we have proposed a new hybrid approaches of encryption-compression, which are based on
the DES and the AES encryption algorithms of the dominant cœfficients, in a mixed-scale representation, of
compression by the multi-scale transformation of Faber-Schauder. The comparison of this approach with other
methods of encryption-compression showed its good performance.
Keywords : Adaptive compression, Zones of Interest, Wavelets, Reference images, Video compression,
Encryption-compression.
Introduction générale
De nos jours, la puissance des processeurs augmente plus vite que les capacités de
stockage, et énormément plus vite que la bande passante de reseaux informatiques, qui
malgré les nouvelles technologies, a du mal à augmenter car cela demande d’énormes
changements dans les infrastructures telles que les installations téléphoniques. Ainsi, on
préfère réduire la taille des données en exploitant la puissance des processeurs plutôt que
d’augmenter les capacités de stockage et de télécommunications.
Pour utiliser les images numériques, il faut comprimer les fichiers dans lesquels elles
sont enregistrées. L’image consomme une quantité impressionnante d’octets quand elle
est numérisée. Aujourd’hui, on parle de " qualité megapixel " pour les appareils photo
numériques ; cela signifie que chaque image comporte environ un million de pixels dont
chaque pixel nécessite trois octets pour les composantes RVB (rouge, vert, bleu). Donc,
sans compression, cela représenterait un peu plus de 3 Mo pour une seule photographie.
L’équivalent d’une pellicule de trente-six poses occuperait ainsi 100 Mo !.
Pour remédier à ces contraintes, il n’y a qu’une solution : comprimer les images. Les
chercheurs ont imaginé de nombreuses méthodes de compression, que l’on classe en deux
catégories : celles qui se contentent de comprimer les données sans les altérer, et celles
qui les compactent en les modifiant. Les premières, dites non destructives, permettent de
reconstituer, au bit près, le fichier dans l’état où il était avant la compression [123] .
Pour réduire le volume global des images tout en conservant l’image originale, un
moyen consiste en la compression des images avec le minimum de dégradation et le maximum d’efficacité possible.
Les méthodes de compression et de codage réduisent le nombre de bits par pixel à
stocker ou à transmettre, en exploitant la redondance informationnelle dans l’image.
Les principaux critères d’évaluation de toute méthode de compression sont :
1
INTRODUCTION
2
– La qualité de reconstitution de l’image
– Le taux de compression
– La rapidité du codeur et décodeur (codec).
Entre chacun des pixels et ses voisins, il existe une dépendance (la luminosité varie
très peu d’un pixel à un autre voisin) traduisant une corrélation très forte sur l’image. On
essaie donc de tirer partie de cette corrélation, pour réduire le volume d’information en
effectuant une opération de décorrélation des pixels [124].
La décorrélation consiste à transformer les pixels initiaux en un ensemble de cœfficients
moins corrélés, c’est une opération réversible [125].
La quantification des cœfficients a pour but de réduire le nombre de bits nécessaires
pour leurs représentations. Elle représente une étape clé de la compression. Elle approxime
chaque valeur d’un signal par un multiple entier d’une quantité q, appelée quantum élémentaire ou pas de quantification. Elle peut être scalaire ou vectorielle. Un des résultats
fondamentaux des travaux de Shannon concernant la relation (Débit/distorsion) montre
que l’on obtient de meilleures performances en utilisant la quantification vectorielle [126].
Une fois les cœfficients quantifiés, ils sont codés. Un codeur doit satisfaire à priori les
conditions suivantes :
– Unicité : deux messages différents ne doivent pas être codés de la même façon.
– Déchiffrabilité : deux mots de codes successifs doivent être distingués sans ambiguïté.
L’exploitation de technologies multimédias pour une diffusion auprès du grand public,
et notamment dans le secteur éducatif, suppose de disposer d’équipements d’utilisation
simple et d’un coût raisonnable [127].
Pour tous les objets envisagés : sons, images naturelles fixes ou animées, réalisations
infographiques..., les volumes de données générés sont considérables ; le stockage, notamment sur un support d’édition, le transport sur les réseaux publics, mêmes dits " à hauts
débits ", voire la simple exploitation à partir d’un disque dur, supposent, dès lors qu’il
s’agit par exemple de vidéo, la mise en œuvre de débits considérablement plus importants
que ceux qui sont actuellement disponibles [128].
Une image au standard VGA+ (640 x 480, 256 couleurs) occupe un octet par pixel soit
300 ko. Dans cette définition, qui reste limitée par rapport aux standards audiovisuels, 25
images (soit une seconde de vidéo) occuperaient plus de 7 Mo, sans parler du son ! Il est
aisé de comprendre que ces valeurs sont incompatibles avec la plupart des supports infor-
INTRODUCTION
3
matiques actuels, et même avec les contraintes des réseaux publics ou privés envisageables
à moyen terme.
La conclusion s’impose d’elle-même : en l’état, une telle technique de codage est inutilisable ; il est impératif de faire tenir ces informations dans un volume largement moindre,
en un mot de les compresser.
Les développements technologiques et les exigences des utilisateurs conduisent à des
quantités de données toujours plus importantes ; ainsi, depuis les débuts des technologies
de l’information, le problème de l’exploitation optimale des voies de communication et
des capacités de stockage, est toujours resté un sujet d’actualité [129]. Plusieurs études
sont effectuées sur les algorithmes de compression, dans le but de mettre les données
sous un format tel qu’elles occupent moins de volume. Une fois compressées, les données
ne sont plus directement accessibles, et il est nécessaire de les décompresser pour qu’elles
redeviennent intelligibles. La grande variété des domaines d’exploitation, chacun ayant ses
contraintes spécifiques (nature des données, capacités de traitement), conduit aujourd’hui
à un très grand nombre de procédés de compression [122].
Dans le multimédia, la plupart des données traitées sont volumineuses : une image
640x480 en 16 millions de couleurs approche le megaoctet. Pourtant, c’est dans le domaine
de l’image animée, et en particulier de la vidéo, que le problème est particulièrement
crucial : le débit nécessaire pour une séquence composée d’images VGA 256 couleurs
serait de 56 Mbits/s, et les besoins d’une transmission selon la norme de vidéo numérique
CCIR 601 s’élèveraient, quant à eux, à 166 Mbits/s ![117].
Les débits disponibles pour la transmission des données, constituent la contrainte
principale à prendre en compte. C’est naturellement le CD-ROM simple vitesse, seul
disponible il y a encore peu de temps, ainsi que le réseau Numéris (RNIS), qui ont servi
de référence aux principaux travaux. Pour le CD-ROM, on obtient un débit d’environ 1,5
Mbits/s, soit à peu près 3% du flux nominal qui serait nécessaire pour transmettre des
images VGA animées et moins de 0,6% si la base retenue est le format vidéo numérique
normalisé CCIR 601. Pour une transmission sur le réseau Numéris, limité aujourd’hui à
64 kbits/s, ces valeurs devraient encore être divisées par près de 20 ![118].
Les ordres de grandeur de ces quelques valeurs montrent bien l’ampleur du problème
à résoudre. Les techniques de compression, aussi élaborées soient-elles, ne peuvent à elles
seules apporter une réponse à tous les besoins, et il sera nécessaire dans bien des cas de
INTRODUCTION
4
faire des sacrifices sur la définition initiale. C’est ainsi que, dans le domaine de la vidéo,
on a défini le format SIF (Source Intermediar Format) : retenant une définition inférieure,
il exploite des flux et une qualité sensiblement plus réduits que le CCIR 601[119].
Aussi, une exploitation facile sur des matériels de grande diffusion suppose la
disponibilité de composants électroniques peu onéreux, spécialisés dans la compression/décompression. Les investissements nécessaires à leur fabrication en grande série
ne peuvent être engagés en l’absence d’un standard reconnu, qu’il soit normalisé ou non.
Pour l’heure, même si quelques solutions on fait l’objet de normalisations, et même de
mise en production industrielle, les standards restent encore moins véritablement imposé,
en particulier pour la vidéo [121].
Devant cette situation encore confuse, il convient sans doute de comprendre un peu
les principes de fonctionnement des diverses techniques mises en œuvre. La multiplicité
et la complexité des solutions ne permettent pas de dire celle qui sera la bonne. À l’heure
des choix, tant pour un équipement matériel ou logiciel que pour un projet éditorial, il
convient surtout de se méfier des promesses commerciales, et de privilégier, lorsque c’est
possible, les options qui préserveront au mieux l’avenir [120].
D’autre part, si le but traditionnel de la cryptographie est d’élaborer des méthodes
permettant de transmettre des données de manière confidentielle, la cryptographie moderne s’attaque en fait plus généralement aux problèmes de sécurité des communications.
Le but est d’offrir un certain nombre de services de sécurité comme la confidentialité,
l’intégrité, l’authentification des données transmises,.... Pour cela, on utilise un certain
nombre de mécanismes basés sur des algorithmes cryptographiques. La confidentialité est
historiquement le premier problème posé à la cryptographie. Il se résout par la notion
de chiffrement. Il existe deux grandes familles d’algorithmes cryptographiques à base de
clefs : les algorithmes à clef secrète ou algorithmes symétriques, et les algorithmes à clef
publique ou algorithmes asymétriques.
Objectifs et plan de thèse
Nos travaux de recherche portent sur la compression des images fixes et des images vidéo. Ces deux volets de recherche ont fait l’objet de publications : Pour la compression des
images fixes, nous avons introduit deux approches, la première " adaptive compression of
images based on wavelets " publiée dans The Gergian International Journal of Computer
Sciences and Telecommunications. La deuxième " Adaptive compression of cartographic
images based on Haar’s wavelets " publiée à son tour dans le Journal International marocain Physical and Chemical News. Quant à la troisième méthode " A method for choosing
reference images based on edge detection for video compression " appliquée sur la compression des images animées, a été publiée dans The Gergian International Journal of
Computer Sciences and Telecommunications.
Le plan de la thèse sera décliné en cinq chapitres :
Le premier chapitre traite la théorie de l’information et le codage en imagerie, dans
lequel nous passons en revue l’approche historique de la théorie de l’information puis nous
discutons les différentes méthodes de codage des images numériques. Ensuite, nous expliquons d’une part la notion et le codage de la lumière, la définition de l’image numérique,
et d’autre part les informations, les médias, les formats de fichiers graphiques et nous
donnons une introduction à la vidéo numérique en terminant par une conclusion.
Le second chapitre est reservé aux principes de la compression. Dans un premier temps,
nous allons aborder l’intérêt de la compression, puis la compression de données, la caractérisation, les types, les méthodes et les principes de base de la compression. Nous allons
discuter le cas des séquences vidéo et nous terminons par une conclusion.
Pour le troisième chapitre qui discute la compression des images fixes. Nous allons
parler des diverses méthodes de compression et nous détaillons le principe de base des
méthodes introduites pour la compression adaptative, des images fixes, qui se base sur
5
OBJECTIFS ET PLAN DE THESE
6
les ondelettes de Haar. Dans ces méthodes, après sélection des zones qualifiées d’intérêt, l’approche consiste à appliquer une compression par ondelettes sur ces zones et une
compression par la méthode classique JPEG avec pertes sur le contexte. Les résultats
préliminaires obtenus ont révélé d’une part la supériorité des approches de compression
adaptatives par rapport aux méthodes classiques en termes de taux de compression pour
des qualités comparables. Enfin, nous terminons ce chapitre par une conclusion et quelques
perspectives.
Le quatrième chapitre s’occupe de la partie compression des images vidéo. Dans ce
cadre, nous allons parler, de la modélisation et de l’estimation du mouvement, de la
méthode introduite concernant le choix des images de référence sur le processus de compression vidéo qui se base sur la détection des contours. L’objectif visé par cette méthode
est d’effectuer des tests sur la modification de la séquence d’encodage des images d’une
séquence vidéo, afin d’apporter un gain en termes de débit et de PSNR moyen. Il s’agit de
réaliser des expérimentations sur le choix des images de référence en utilisant seulement
les images intra et prédites extraites de séquences. Le choix de l’image de référence, pour
une image donnée, se basera sur des critères selon l’aspect du résultat de la soustraction.
Le test de cette approche sur des séquences vidéo a révélé une amélioration de débit et
PSNR moyen par rapport à l’encodage original et à la méthode de choix des images de
référence qui se base sur l’erreur quadratique moyen. Nous terminons ce chapitre par une
conclusion et quelques perspectives.
Sur le cinquième chapitre, nous allons parler de la cryptographie, ses techniques et
quelques algorithmes d’applications et nous expliquons les deux méthodes que nous avons
introduit sur l’axe concernant la crypto-compression. Nous finalisons notre mémoire de
thèse par une conclusion générale et quelques perspectives.
Chapitre 1
Théorie de l’information, codages et
définitions en imagerie
1.1
Approche historique de la théorie de l’information
L’étude scientifique de l’information a débuté en 1924 sous l’égide de mathématiciens
et physiciens (Gabor, Hartley, Nyquist, Wiener), mais elle n’a pris toute sa dimension
qu’avec l’élaboration de la théorie mathématique de l’information, publiée en 1949 par
Shannon et Weaver. Le développement des transmissions télégraphiques imposait, déjà,
d’optimiser l’utilisation des canaux de transmission offerts, et donc d’éliminer des données
à transmettre tout ce qui n’était pas indispensable à la compréhension.
Ainsi, la théorie de l’information attribue à chaque signifiant élémentaire d’un message
une mesure de sa quantité d’information théorique, d’autant plus élevée que ce signifiant
est " nouveau ", c’est-à-dire non déductible des éléments précédents. Inversement, on
attribue également une mesure de redondance à chaque élément de message, d’autant
plus faible que son poids d’information est fort [2].
Pour faire comprendre le principe de sa théorie, on rapporte que Shannon se livrait
à un petit jeu lors des soirées mondaines : un convive ayant choisi une phrase, les autres
doivent, en connaissant uniquement le début, deviner le mot suivant. Le taux de réussite
de l’assistance donne une idée de ce qu’est le " poids de redondance ", alors que son
complément à 1 (100% - taux de réussite) illustre la notion de " poids d’information ".
Bien que la " méthode " soit fort grossière, elle permet de mieux approcher des concepts,
7
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE8
par ailleurs fort compliqués...
Les systèmes organisés comme les langues naturelles offrent des caractéristiques de
redondance bien précises, qui peuvent être exploitées par les systèmes de transport de
l’information pour optimiser l’utilisation des canaux disponibles. La fréquence d’utilisation de chaque lettre de l’alphabet, par exemple, constitue une première évaluation de
sa probabilité d’apparition ; les caractères qui précèdent permettent également d’améliorer la " prédiction " (une voyelle, par exemple, est généralement suivie d’une consonne,
et ce dans une proportion parfaitement mesurable). En faisant du caractère l’unité minimale d’information, le message étant composé dans une langue donnée, on peut donc
parfaitement évaluer ses caractéristiques de redondance.
De telles évaluations peuvent également être conduites en utilisant d’autres signifiants
élémentaires, par exemple les mots dans le cadre de systèmes de communications utilisant
un vocabulaire réduit [3].
Cependant, il ne faudrait pas déduire de ce qui précède que ce qui est redondant n’est
qu’un " bruit " par rapport au " signal " principal, et peut donc être supprimé sans altérer
le message. Seul un signifiant " totalement redondant " (situation impossible), qui serait
l’illustration d’un événement certain (probabilité égale à 1), pourrait être considéré comme
inutile. En outre, la redondance des langages naturels est souvent utile pour faciliter la
compréhension d’un message, notamment en cas de dégradation partielle (communications
téléphoniques dégradées). La mesure mathématique de la quantité d’information, on l’a
compris, n’a qu’un très lointain rapport avec le " poids sémantique " du message dans
son système d’origine.
Shannon définit également l’entropie d’un message, d’une manière comparable à la
notion utilisée en thermodynamique. Dans cette discipline, il s’agit d’une grandeur physique qui permet d’évaluer la dégradation de l’énergie d’un système ; on dit souvent que
l’entropie mesure le degré de désordre d’un système. Dans la théorie de l’information,
l’entropie d’un message indique le poids d’information mathématique qu’il porte, et donc
sa " compressibilité " théorique [4].
D’un strict point de vue quantitatif, on ne peut que constater que la plupart des
langues véhiculaires comprennent beaucoup moins de mots que les possibilités offertes
par l’alphabet, et il en est de même de données organisées devant traduire des images et
des sons.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE9
Ainsi, les codages traditionnels, qui représentent ou cherchent à représenter toutes
les combinaisons théoriques, se révèlent extrêmement simplistes et peu performants (voir
codage sur annexes). Le codage ASCII sur 7 bits, par exemple, fournit plus de 4 000
milliards de possibilités pour coder les mots de 8 lettres, alors que les dictionnaires de la
langue française en comptent moins de 3 000...[51].
En tenant compte des caractéristiques d’entropie des données à traiter, il est donc
possible de définir des codages plus performants. Les travaux de Shannon et de ses collaborateurs ont conduit à développer des codages statistiques fondés sur la fréquence
d’apparition d’une information [2].
La théorie de l’information s’est attachée, dès les années vingt, à quantifier les flux
nécessaires aux transferts d’information, ainsi qu’à optimiser l’utilisation des voies de
communication en recherchant les codages les plus adaptés [51].
Shannon et Weaver ont développé une théorie mathématique qui attribue à chaque
signifiant élémentaire un poids d’information d’autant plus élevé qu’il est non déductible
du contexte. Le degré de complexité, ou, en référence à la thermodynamique, de désordre
du message considéré est quantifié par son entropie [1].
Que chacun se rassure cependant, il n’est pas nécessaire d’avoir lu - et compris - les
œuvres complètes de Shannon et Nyquist pour comprendre les principes fondamentaux
des techniques de compression, pas plus d’ailleurs que pour utiliser un micro-ordinateur !.
1.2
Codages des images binaires
1.2.1
Définitions principales
Il existe un ensemble de notions propres aux images binaires. Soit I une image binaire
et I(m) ou I(i,j) la valeur du pixel m de coordonnées (i,j) dans I.
Image :
Une image est une forme discrète d’un phénomène continu obtenue après discrétisation.
Le plus souvent, cette forme est bidimensionnelle. L’information dont elle est le support
est caractéristique de l’intensité lumineuse (couleur ou niveaux de gris).
I : [0, L-1] x [0, C-1] 7−→ [0, M ]p définit une image de L lignes et C colonnes dont
l’information portée est définit dans un espace à p dimensions.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE10
Si I est une image binaire, alors (p, M) = (1,1).
Si I est une image en niveaux de gris, alors p = 1 et le plus souvent M = 255.
Si I est une image couleur, alors p = 3 et le plus souvent M = 255.
Maillage :
Le maillage est l’arrangement géométrique des pixels dans l’image. On utilise généralement un des trois types qui résultent de différentes tessélations du plan par des figures
géométriques. Tout d’abord, le maillage carré qui correspond à la réalité physique du capteur CCD. On peut également utiliser un maillage hexagonal (maillage de référence pour
le domaine de la morphologie mathématique). Le maillage triangulaire est plus confidentiel.
Distance :
Tout pixel d’une image est caractérisé par un couple de coordonnées (x,y). Il existe
des distances pour tous les éléments d’une image. Pour les distances entre pixels, on se
reportera aux définitions principales qui suivent. On notera par la suite d(p,q) la distance
entre deux pixels.
– Soient m(x, y) un pixel et A un composant (segment ou objet) de I :
D (m, A) = D (A, m) = min d(m,m’) pour tout m’ pixel de A.
– Soient A et B deux composants (segments ou objets) de I :
D (A, B) = D (B, A) = min d (m, m’) pour tout pixel m de A et tout pixel m’ de
B.
Les distances les plus courantes sont (pour deux pixels P (xp , yp ) et Q(xq , yq ) [99] :
– Distance de Manathan : d1 (P, Q) = |xp − xq | + |yp − yq |
– Distance euclidienne : d2 (P, Q) = [(xp − xq )2 + (yp − yq )2 ]1/2
– Distance de l’échiquier : dinf (P, Q) = M ax(|xp − xq |, |yp − yq |).
Ces distances sont reliées par la propriété : dinf (P, Q) ⇐ d2 (P, Q) ⇐ d1 (P, Q).
Voisinage d’un objet :
Par extension, on définit le voisinage de tout composant A de l’image I par l’union de
tous les voisinages des pixels de A.
On peut définir un objet par la relation de voisinage. On dit que deux points P et Q
sont connectés s’il existe un chemin connexe (suite de points P=P0 , P1 , ..., Pn−1 , Pn =Q
telle que Pi est voisin de Pi−1 ) entre P et Q de points ayant la même valeur. Cette relation
est une relation d’équivalence, dont chaque classe définit un objet de l’image. Le type de
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE11
voisinage utilisé influe bien sûr sur les objets résultants. Des algorithmes très efficaces
permettent d’étiqueter les différents objets d’une image (Composantes connexes) (voir
annexes)[101].
On appelle voisinage d’ordre k du pixel P et l’on note Vk (P) l’ensemble des pixels Q
définit par : Vk (P) = Q : 0 < d(P,Q) ⇐ k .
Connexité :
On appelle relation de connexité et l’on note C0 (s,s’), la relation définie sur S de la
manière suivante :
a) C0 (s,s’) ⇔ s dans S(i, x) et s’ dans S(i-1,x) et g(s’) < d(s)+1 ou g(s) < d(s’)+1.
On dit alors que s est connecté avec s’ ou que s et s’ sont connexes.
b) C0 (s,s’) ⇒ C0 (s’,s).
La décomposition ligne à ligne est donc indépendante du choix de la ligne de départ.
On note C0 * la fermeture transitive de C0 [100].
Ordre de connexité :
Il existe principalement deux ordres de connexité : 4 et 8. Ce nombre correspond à
la taille du plus petit voisinage non vide d’un pixel. Un pixel a 4 voisins directs si l’on
choisit la distance d1, il en a 8 avec la distance dinf [98].
Forme, Fond :
Ces deux classes forment une partition de l’image I.
– Forme = m dans I : I(m) = 1
– Fond =m dans I : I(m) = 0
La forme peut représenter plusieurs objets (notion de composante connexe) ; certaines
composantes du fond peuvent représenter des trous dans les objets.
Segment :
On appelle segment de l’image I, le quadruplet s = (g, d, l, v) vérifiant :
Pour tout i dans [g, d], I (l, i) = v.
Un segment est donc une suite continue de pixel de même valeur sur une ligne donnée.
Chaque élément du quadruplet porte un nom.
– g : gauche de s
– d : droite de s
– l : ligne de s
– v : valeur de s
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE12
Bien sûr, cette décomposition de l’image en segments n’est pas unique car elle privilégie
une analyse ligne à ligne. Une analyse colonne à colonne est tout aussi envisageable. Les
éléments du quadruplet porteraient alors les noms haut, bas, colonne et valeur.
Soit S (i,x) l’ensemble des segments de la ligne i ayant pour valeur x :
– S (i, x) = s : l(s) = i et v(s) = x
L’ensemble S des segments de l’image I est défini par :
– S = U nioni,x S(i,x)
Région, Objet, Composante Connexe :
On appelle région ou objet, un ensemble de segments vérifiant une propriété commune.
La décomposition d’une image en objets repose sur la notion de connexité. On appelle en
effet objet de I tout classe d’équivalence de S par rapport à la relation C0 *.
Courbe, Arc :
Une courbe est un chemin connexe dont tous les points possédant exactement deux
voisins. Un arc est une courbe pour laquelle les deux points extrémités n’ont qu’un seul
voisin.
L’information est codée en binaire (voir annexes). Le support évolue mais le principe
est toujours le même : un même élément peut se trouver dans 2 états différents stables.
Il constitue une mémoire élémentaire ou bit. Conventionnellement on attribue le symbole
0 à l’un de ces 2 états et le symbole 1 à l’autre.
A l’aide de 1 bit on a donc 2 possibilités 0/1 ou ouvert/fermé ou noir/blanc ;
A l’aide de 2 bits on a 2x2 = 4 possibilités : 00/01/10/11 ;
A
l’aide
de
3
bits
on
a
2x2x2
=
23
=
8
possibilités
:
000/001/010/011/100/101/110/111 ;
A l’aide de 8 bits on a 2x2x2x2x2x2x2x2 = 28 = 256 possibilités.
Cet ensemble de 8 bits est appelé " octet ". En général les informations sont regroupées
par groupe de 8, 16, 24, 32 ou 64 bits c’est à dire 1, 2, 3 ou 4 octets.
Avec 16 bits ou 2 octets on a 2x2x2x2x2x2x2x2x2x2x2x2x2x2x2x2= 216 = 256x256 =
65536 possibilités.
Avec 24 bits ou 3 octets on a 256x256x256 = 16777216 possibilités (plus de 16 millions).
On parle de KiloOctet : 1 Ko = 210 octets = 1024 octets (et non pas 1000...).
Mégaoctet : 1Mo = 220 octets.
Gigaoctet : 1Go = 230 octets.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE13
L’un des points très important dans la manipulation des images binaires est leur
codage, dans un but de compression de données, à partir de la matrice binaire. Un autre
point important est bien sûr la description des objets codés. C’est pourquoi on recherche
souvent dans bien des cas un codage qui fasse ressortir les caractéristiques et/ou facilite
les traitements [95].
La représentation de départ est donc une matrice de pixels à 0 ou 1 dans laquelle
apparaissent les objets. Il existe quatre types de codages :
– Codage par segments,
– Codage par contours,
– Codage par régions,
– Codage par formes.
1.2.2
Codage par segments
Le codage d’une image binaire par segments lignes ou colonnes a déjà été abordés
(voir Détail plus loin). Il peut être compacté de la manière suivante : on ne conserve
pour chaque ligne que la valeur du premier segment et la liste des longueurs des différents
segments (dont la valeur change obligatoirement à chaque nouveau segment). Par exemple,
la ligne de pixel 1000110 sera codée par (1, 1, 3, 2,1) soit : première valeur 1, longueurs
des segments successifs : 1, 3, 2, 1 soit 7 pixels au total. Sur un autre exemple :
1 1 0 0 (1, 2, 2)
0 1 1 0 (0, 1, 2, 1)
0 0 0 0 (1, 4)
1 0 0 0 (1, 1, 3)
Il est évident que plus les segments sont courts, moins le codage est efficace car les
longueurs sont des entiers et non plus des valeurs binaires. Un codage équivalent est bien
sûr possible avec une description en colonnes plutôt qu’en lignes. Ce codage est davantage
utilisé pour réaliser des manipulations de type algébrique (complémentation, ...) que pour
décrire les objets [97].
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE14
1.2.3
Codage par contours
Dans une image binaire, les points de contour sont reconnaissables au fait qu’un au
moins de leurs points voisins appartient au fond. Il n’y a donc aucune ambiguïté de
détection. Lors de la recherche du contour d’un objet, il est inutile de balayer toute
l’image ; il existe des algorithmes de suivi de contour fournissant un codage sous forme de
Freeman de la suite des points du contour.
Soit Pn un point contour courant, le point contour suivant Pn+1 est un voisin de Pn .
Le déplacement de Pn à Pn+1 ne peut se faire que dans une des 8 directions du voisinage
de Pn selon le codage de Freeman :
321
4 ∗ 0
567
Dans la majorité des cas le point Pn n’a que deux candidats potentiels pour Pn+1 dont
un est le point Pn−1 . Il n’y a donc pas d’ambiguité. Cependant, il faut aussi prendre en
compte les points anguleux n’ayant aucun suivant. La technique la plus simple consiste
à supprimer de l’image de départ toutes les configurations de ce type (transition L et
transition I) :
000000
010010
011010
Transitions en L (à gauche) et en I (à droite). Chacune de ces figures ne représente
qu’un des configurations possibles. Il y a ainsi 8 configurations de chaque type, que l’on
obtient par rotation de 45o .
Une fois le contour extrait, on peut se contenter de ne mémoriser que les coordonnées
du point de départ et la suite des directions d (d dans 0, ..., 8) plutôt que les coordonnées
des points successifs.
La suite des directions, traduit la forme et le point de départ sa localisation spatiale.
Ce type de codage est très utile pour la reconnaissance de formes car beaucoup y ont
vu une signature invariante d’une forme. De plus, de très nombreux paramètres de forme
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE15
peuvent être mesurés directement sur le codage de Freeman (périmètre, aire, centre de
gravité, axes d’inertie, ...).
Le codage sera d’autant plus efficace en termes de compression que les objets seront
gros. Soit O un objet comportant A pixels dont P sont des pixels de son contour. Le
codage binaire classique nécessite A bits dans l’image de départ. Le codage de Freeman a
lui besoin de 3P bits + les coordonnées d’un point de référence. Le facteur de compression
sera donc directement lié au ratio P/A [96].
1.2.4
Codage par régions
Il est bien sûr possible de généraliser le codage par segments au codage des entités
surfaciques bidimensionnelles. Parmis les nombreuses techniques de codage par région, la
plus connue fait appel aux quadtrees. Il s’agit d’un découpage récursif du support image
jusqu’à obtention de blocs homogènes (ayant tous la même valeur). A la ième itération,
on définit les carrés de côté 2n−i (où 2n est le côté de l’image initiale) ; le plus petit bloc
possible est le pixel. Ces primitives sont ensuite organisées de façon arborescente.
Exemple :
Pour le codage, on utilise une technique de parenthésage (une parenthèse équivaut à un
niveau de récursivité dans l’algorithme de recherche de blocs homogènes) et on mémorise
uniquement la valeur du bloc.
Pour lever toute ambiguïté, on adopte un sens de balayage unique :
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE16
12
34
On obtient alors le codage suivant :
I = (((0001)(0)(0111)(1))((0010)(0)(1000)(0))(1)(0))
Cette représentation permet des opérations ensemblistes (intersection, union,...), la
recherche de contours, ... ; mais elle n’est pas vraiment adaptée à la description de formes
de par sa non invariance en translation.
D’autres types de pavages peuvent être définis, par exemple en polygones de Voronoï,
à partir de germes prédéfinis dans l’image [99].
1.2.5
Codage par formes
Parmis les méthodes tenant davantage compte de la morphologie de l’objet, on trouve
en premier lieu les codages par squelettes.
Un squelette est une représentation filiforme en centrée de l’objet initial, obtenu par
amincissements successifs. Cet amincissement se réalise sous la contrainte de préservation
des points significatifs de son élongation, ou nécessaires à la connexité du squelette résultant (transformation homotope). De très nombreux travaux portent sur la recherche
d’algorithmes efficaces (temps de calcul, qualité du résultat), en particulier pour le traitement en reconnaissance des caractères. En effet, si le squelette est unique et sans problème
dans un espace continu, il est beaucoup moins facile à trouver dans un espace discret qu’est
une image numérique. Sa définition plus précise nécessite de redéfinir les concepts de base
de la géométrie, ce qui a donné naissance à la géométrie discrète [8].
La transformation produisant le squelette d’un objet n’est pas réversible (on ne peut
revenir à l’objet en partant de son seul squelette) mais elle donne un résultat significatif
de l’allure de l’objet codé et est donc particulièrement adapté aux objets minces.
Bien sûr, la réversibilité du codage est primordiale pour des objets que l’on souhaite
stocker. La notion d’axe médian est à ce titre intéressante : on recouvre l’objet par des
boules de taille maximale incluses dans l’objet et centrées sur les points de l’objet. L’axe
médian est ensuite formé des centres des boules qui ne sont pas incluses dans aucune autre
et l’on associe aux centres conservés la taille de leurs boules. Dans l’exemple suivant,
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE17
on représente en chaque point la taille de la plus grande boule centrée sur le point et
complètement contenue dans la forme (une taille de 1 équivaut à un carré 1x1, 2 à un
carré 3x3 et 3 à un carré 5x5) :
Les points en noirs sont les trois points de l’axe médian nécessaire pour reconstruire la
forme initiale. La taille de la boule correspond en fait à la notion de distance au contour.
Le résultat final dépend de la distance utilisée. Le problème de l’axe médian est qu’il n’est
pas formé de points consécutifs. Pour le faire " ressembler " à un squelette, on reconnecte
les poins de l’axe médian par un chemin de crète. On obtient alors la ligne médiane que
l’on peut voir comme un squelette pondéré de l’objet initial. La ligne médiane et l’axe
médian sont des codages réversibles [98].
1.3
1.3.1
Notion de la lumière
Définition
C’est une forme d’énergie issue de deux composantes :
– une onde électromagnétique ondulatoire
– un aspect corpusculaire (les photons)
La lumière a une vitesse de déplacement d’environ 300000 km/s, et une fréquence
d’environ 600000 GHz.
1.3.2
Notion de la couleur
Elle est caractérisée par sa fréquence, elle-même conditionnée par la longueur d’onde
et la célérité de l’onde. On caractérise généralement la longueur d’onde d’un phénomène
oscillatoire par la relation :
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE18
λ = CT , où :
– λ désigne la longueur d’onde
– C désigne la célérité de l’onde (pour la lumière 3 × 108 m/s)
– T désigne la période de l’onde (en secondes)
L’œil humain est capable de voir des lumières dont la longueur d’onde est comprise
entre 380 et 780 nanomètres. En dessous de 380 nm se trouvent des rayonnements tels
que les ultraviolets, au-dessus de 780 on trouve les rayons infrarouges.
Fig. 1.1 – L’espace de rayonnements observés par l’œil humain.
1.3.3
Fonctionnement de l’œil humain
Grâce à la cornée (l’enveloppe translucide de l’œil) et de l’iris (qui en se fermant
permet de doser la quantité de lumière), une image se forme sur la rétine. Celle-ci est
composée de petits bâtonnets et de cônes.
Fig. 1.2 – Les composantes de l’œil humain.
Les bâtonnets permettent de percevoir la luminosité et le mouvement, tandis que les
cônes permettent de différencier les couleurs. Il existe en réalité trois sortes de cônes :
– Une sorte pour le rouge (580 nm)
– Une sorte pour le vert (540 nm)
– Une sorte pour le bleu (450nm)
Ainsi, lorsqu’un type de cône fait défaut, la perception des couleurs est imparfaite,
on parle alors de daltonisme (ou dichromasie). On distingue généralement les personnes
présentant cette anomalie selon le type de cône défectueux :
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE19
– Les protanopes sont insensibles au rouge
– Les deutéranopes sont insensibles au vert
– Les trinatopes sont insensibles au bleu
D’autre part il est à noter que la sensibilité de l’œil humain aux intensités lumineuses
relatives aux trois couleurs primaire est inégale :
Fig. 1.3 – Représentation de la Sensibilité de l’œil humain aux trois couleurs primaire.
1.3.4
Synthèse additive et soustractive
Il existe deux types de synthèse de couleur :
La synthèse additive est le fruit de l’ajout de composantes de la lumière. Les composantes de la lumière sont directement ajoutées à l’émission, c’est le cas pour les moniteurs
ou les télévisions en couleur [11]. Lorsque l’on ajoute les trois composantes Rouge, vert et
bleu (RVB), on obtient du blanc. L’absence de ces trois composantes donne du noir. Les
couleurs secondaires sont le cyan, le magenta et le jaune car :
– Le vert combiné au bleu donne du cyan
– Le bleu combiné au rouge donne du magenta
– Le vert combiné au rouge donne du jaune
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE20
Fig. 1.4 – Synthèse additive des couleurs.
La synthèse soustractive permet de restituer une couleur par soustraction, à partir
d’une source de lumière blanche, avec des filtres correspondant aux couleurs complémentaires : jaune, magenta et cyan. L’ajout de ces trois couleurs donne du noir et leur absence
produit du blanc. Les composantes de la lumière sont ajoutées après réflexion sur un objet,
ou plus exactement sont absorbées par la matière. Ce procédé est utilisé en photographie
et pour l’impression des couleurs. Les couleurs secondaires sont le bleu, le rouge et le vert
car [14] :
– Le magenta (couleur primaire) combiné avec le cyan (couleur primaire) donne du
bleu,
– Le magenta (couleur primaire) combiné avec le jaune (couleur primaire) donne du
rouge,
– Le cyan (couleur primaire) combiné avec le jaune (couleur primaire) donne du vert.
Fig. 1.5 – Synthèse soustractive des couleurs.
Deux couleurs sont dites " complémentaires " si leur association donne du blanc en
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE21
synthèse additive, ou du noir en synthèse soustractive.
1.4
Codage de la couleur
1.4.1
Les représentations de la couleur
Pour pouvoir manipuler correctement des couleurs et d’échanger des informations
concernant celles-ci il est nécessaire de disposer de moyens permettant de les catégoriser et de les choisir. Ainsi, il n’est pas rare d’avoir à choisir la couleur d’un produit avant
même que celui-ci ne soit fabriqué. Dans ce cas, une palette de couleurs nous est présentée, dans laquelle nous choisissons la couleur convenant le mieux à notre envie ou notre
besoin. La plupart du temps le produit (véhicule, bâtiment, ...) possède une couleur qui
correspond à celle que l’on a choisie.
En informatique, de la même façon, il est essentiel de disposer d’un moyen de choisir
une couleur parmi toutes celles utilisables. Or la gamme de couleur possible est très vaste
et la chaîne de traitement de l’image passe par différents périphériques : par exemple un
numériseur (scanner), puis un logiciel de retouche d’image et enfin une imprimante. Il
est donc nécessaire de pouvoir représenter fiablement la couleur afin de s’assurer de la
cohérence entre ces différents périphériques [18].
On appelle ainsi espace de couleurs la représentation mathématique d’un ensemble de
couleurs. Il en existe plusieurs, parmi lesquels les plus connus sont :
– Le codage RGB (Rouge, Vert, Bleu, en anglais RGB, Red, Green, Blue),
– Le codage TSL (Teinte, Saturation, Luminance, en anglais HSL, Hue, Saturation,
Luminance),
– Le codage CMY,
– Le codage CIE,
– Le codage YUV,
– Le codage YIQ.
1.4.2
Le codage RGB
Le codage RGB correspond à la façon dont les couleurs sont codées informatiquement,
ou plus exactement à la manière dont les tubes cathodiques des écrans d’ordinateurs
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE22
représentent les couleurs. Il consiste à affecter une valeur à chaque composante de Rouge,
de Vert et de Bleu.
Ainsi, le modèle RGB propose de coder sur un octet chaque composante de couleur,
ce qui correspond à 256 intensités de rouge (28 ), 256 intensités de vert et 256 intensités
de bleu, soient 16777216 possibilités théoriques de couleurs différentes, c’est-à-dire plus
que ne peut en discerner l’œil humain (environ 2 millions). Toutefois, cette valeur n’est
que théorique car elle dépend fortement du matériel d’affichage utilisé [18].
Etant donné que le codage RGB repose sur trois composantes proposant la même
gamme de valeur, on le représente généralement graphiquement par un cube dont chacun
des axes correspond à une couleur primaire :
Fig. 1.6 – Représentation graphique du codage RGB.
1.4.3
Le codage HSL
Le modèle HSL (Hue, Saturation, Luminance, ou en français TSL), s’appuyant sur
les travaux du peintre Albert H.Munsell (qui créa l’Atlas de Munsell), est un modèle de
représentation dit " naturel ", c’est-à-dire proche de la perception physiologique de la couleur par l’œil humain. En effet, le modèle RGB aussi adapté soit-il pour la représentation
informatique de la couleur ou bien l’affichage sur les périphériques de sortie, ne permet
pas de sélectionner facilement une couleur [80]. En effet, le réglage de la couleur en RGB
dans les outils informatiques se fait généralement à l’aide de trois glisseurs ou bien de
trois cases avec les valeurs relatives de chacune des composantes primaires, or l’éclaircissement d’une couleur demande d’augmenter proportionnellement les valeurs respectives
de chacune des composantes. Ainsi le modèle HSL a-t-il été mis au point afin de pallier à
cette lacune du modèle RGB [18].
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE23
Le modèle HSL consiste à décomposer la couleur selon des critères physiologiques :
– La teinte (en anglais Hue), correspondant à la couleur de base (T-shirt mauve ou
orange),
– La saturation, décrivant la pureté de la couleur, c’est-à-dire son caractère vif ou
terne (T-shirt neuf ou délavé),
– La luminance, indiquant la brillance de la couleur, c’est-à-dire son aspect clair ou
sombre (T-shirt au soleil ou à l’ombre).
Voici une représentation graphique du modèle HSL, dans lequel la teinte est représentée
par un cercle chromatique et la luminance et la saturation par deux axes :
Fig. 1.7 – Représentation graphique du codage HSL.
Le modèle HSL a été mis au point dans le but de permettre un choix interactif rapide
d’une couleur, pour autant il n’est pas adapté à une description quantitative d’une couleur
[80].
Il existe d’autres modèles naturels de représentation proches du modèle HSL :
– HSB : Hue, Saturation, Brightness soit Teinte, Saturation, Brillance en français.
– HSV : Hue, Saturation, Value soit Teinte, Saturation, Valeur en français.
– HSI : Hue, Saturation, Intensity soit Teinte, Saturation, Intensité en français.
1.4.4
Le codage CMY
Le codage CMY (Cyan, Magenta, Yellow, ou Cyan, Magenta, Jaune en français, soit
CMJ) est à la synthèse additive, ce que le codage RGB est à la synthèse soustractive. Ce
modèle consiste à décomposer une couleur en valeurs de Cyan, de Magenta et de Jaune.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE24
1.4.5
Le codage CIE
Les couleurs peuvent être perçues différemment selon les individus et peuvent être
affichées différemment selon les périphériques d’affichage. La Commission Internationale
de l’Eclairage (CIE) a donc défini des standards permettant de définir une couleur indépendamment des périphériques utilisés. A cette fin, la CIE a défini des critères basés sur
la perception de la couleur par l’œil humain, grâce à un triple stimulus [18].
En 1931 la CIE a élaboré le système colorimétrique xyY représentant les couleurs selon
leur chromaticité (axes x et y) et leur luminance (axe Y). Le diagramme de chromaticité,
issu d’une transformation mathématique représente sur la périphérie les couleurs pures,
repérées par leur longueur d’onde. La ligne fermant le diagramme (donc le spectre visible)
se nomme la droite des pourpres :
Fig. 1.8 – Système colorimétrique CIE.
Toutefois ce mode de représentation purement mathématique ne tient pas compte des
facteurs physiologiques de perception de la couleur par l’œil humain, ce qui résulte en
un diagramme de chromaticité laissant par exemple une place beaucoup trop large aux
couleurs vertes [80].
En 1960 la CIE a mis au point le modèle Lu*v*.
Enfin en 1976, afin de pallier aux lacunes du modèle xyY, la CIE développe le modèle
colorimétrique La*b* (aussi connu sous le nom de CIELab), dans lequel une couleur est
repérée par trois valeurs :
– L, la luminance, exprimée en pourcentage (0 pour le noir à 100 pour le blanc),
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE25
– a et b deux gammes de couleur allant respectivement du vert au rouge et du bleu
au jaune avec des valeurs allant de -120 à +120.
Le mode Lab couvre ainsi l’intégralité du spectre visible par l’œil humain et le représente de manière uniforme. Il permet donc de décrire l’ensemble des couleurs visibles
indépendamment de toute technologie graphique. De cette façon il comprend la totalité
des couleurs RGB et CMY, c’est la raison pour laquelle des logiciels tels que PhotoShop
utilisent ce mode pour passer d’un modèle de représentation à un autre [80].
Il s’agit d’un mode très utilisé dans l’industrie, mais peu retenu dans la plupart des
logiciels étant donné qu’il est difficile à manipuler.
Les modèles de la CIE ne sont pas intuitifs, toutefois le fait de les utiliser garantit
qu’une couleur créée selon ces modèles sera vue de la même façon par tous ! [14].
1.4.6
Le codage YUV
Le modèle YUV (appelé aussi CCIR 601) est un modèle de représentation de la couleur
dédié à la vidéo analogique. Il s’agit du format utilisé dans les standards PAL (Phase
Alternation Line) et SECAM (Séquentiel Couleur avec Mémoire) [80]. Le paramètre Y
représente la luminance (c’est-à-dire l’information en noir et blanc), tandis que U et V
permettent de représenter la chrominance, c’est-à-dire l’information sur la couleur. Ce
modèle a été mis au point afin de permettre de transmettre des informations colorées aux
téléviseurs couleurs, tout en s’assurant que les téléviseurs noir et blanc existant continuent
d’afficher une image en tons de gris [16].
Voici les relations liant Y à R,G et B, U à B et à la luminance, et enfin V à B et à la
luminance :
– Y = 0.299R+0.587G+0.114B
– U = - 0.147R - 0.289G + 0.463B = 0.492(B - Y)
– V = 0.615R - 0.515G - 0.100B = 0.877(B - Y)
1.4.7
Le codage YIQ
Le modèle YIQ est très proche du modèle YUV. Il est notamment utilisé dans le
standard vidéo NTSC (utilisé entre autres aux États-Unis et au Japon).
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE26
Le paramètre Y représente la luminance. I et Q représentent respectivement l’Interpolation et la Quadrature. Les relations entre ces paramètres et le modèle RGB sont les
suivantes [79] :
– Y = 0.299R + 0.587G + 0.114B
– I = 0.596R - 0.275G - 0.321B
– Q = 0.212R - 0.523G + 0.311B
1.5
Image numérique, Informations et Médias
1.5.1
Les images numériques
Avant toute chose, mettons-nous d’accord sur le terme " image " ; en effet, le traitement
d’images fait appel non pas à des images optiques classiques (telles que notre œil les
perçoit), mais à des images numériques. Les logiciels de traitement d’images travaillent
sur des données chiffrées contenues dans l’image, modifient ces données qui sont ensuite
utilisées pour construire une seconde image " transformée " visualisable. La représentation
numérique des images permet de combiner des images obtenues sous différents modes
de macro ou de microscopie, de représenter une organisation spatiale (3D) à partir d’un
ensemble de clichés successifs (2D), d’archiver les images et de les transférer par les réseaux
informatiques [13].
Les calculs effectués sur ces données numériques, par un logiciel de traitement d’images
ou par un logiciel d’analyse d’images, vont permettre de modifier l’aspect visuel de l’image
et d’extraire des données quantifiées sur cette image [17].
Il existe 2 types d’images :
– les images vectorielles : utilisées principalement dans le monde du graphisme et de
la conception assistée par ordinateur,
– les images bitmap ou matricielles : utilisées dans le domaine du traitement et de
l’analyse d’images ; ce sont celles qui seront décrites dans ce support.
Définition de l’image numérique
L’image numérique correspond à une matrice (ensemble ordonné à deux ou trois dimensions) de données numériques. Nous nous intéresserons uniquement aux images en
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE27
deux dimensions. On peut concevoir ces images en deux dimensions comme un tableau
de valeurs auxquelles on fait correspondre une position sur un plan (x,y) et une couleur
pour visualiser l’image sur l’écran d’un ordinateur [17] :
– Exemple d’un détail d’une image binaire dont la couleur est codée en 0 ou en 1 :
Fig. 1.9 – Détail d’une image binaire.
– Exemple d’un détail d’une image en niveaux de gris dont la valeur de gris est codée
entre 0 et 255 :
Fig. 1.10 – Détail d’une image en niveaux de gris.
Une image numérique 2D est donc composée d’unités élémentaires appelées pixels
(ou " picture elements ") qui représente chacune, une portion de l’image, codée par des
valeurs numériques (des explications complémentaires sur les pixels seront données dans
la partie résolution spatiale d’une image, située plus loin dans ce chapitre). Une image
est définie par le nombre de pixels qui la composent en largeur et en hauteur (qui peut
varier théoriquement presque à l’infini) et l’étendue des teintes de gris ou des couleurs
que peut prendre chaque pixel (on parle de dynamique de l’image). Toutes les données
correspondant aux informations chiffrées contenues dans l’image sont structurées, afin de
permettre leur stockage [13].
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE28
Une image numérique en elle-même est en fait un concept tout à fait abstrait (des
données chiffrées) qui ne trouve une signification à nos yeux qu’à la visualisation, lorsque
l’on utilise un logiciel de représentation adéquat.
Obtention d’une image numérique
La numérisation d’une image est obtenue par l’intermédiaire d’un capteur et d’un
numériseur, qui transforment un signal optique en un signal numérique. Le signal optique peut être obtenu directement ou par l’intermédiaire d’un système d’agrandissement
optique : lentille simple, loupe ou microscope photonique. Le capteur est constitué par
un ensemble de capteurs élémentaires, une barrette de CCD (Charge Couple Device), ça
peut être une caméra, noir et blanc ou couleur, un appareil photo numérique ou un scanner (scanner à plat ou scanner à diapositives) [14]. Le signal électrique est repris par un
convertisseur analogique-digital (carte de numérisation intégrée ou non au capteur) qui
transforme les données continues en données numériques codées sur 1, 8, 16 ou 24 bits.
Le codage utilisé définit le type d’images (noir et blanc, niveaux de gris ou couleur) et
sa " profondeur ". La taille des CCD et le pas d’échantillonnage de l’image au niveau de
la carte de numérisation définissent la résolution spatiale de l’image. Le format de l’image
est défini par l’entête du fichier et peut être précisé par son extension .bmp, .tif, .gif, .jpeg
etc..., il renseigne sur le mode de présentation des données et leur degré de compression
[17].
N.B. : dans les deux images qui vont suivre, le caractère x signifie que les pixels ont
n’importe quelle valeur, le but de ce schéma étant purement explicatif.
Remarque : il n’existe que 3 possibilités de partitionner l’espace de façon régulière
(avec des éléments de même surface) (pensons au pavage d’un sol) :
– par un maillage carré :
Dans cette configuration, le pixel central a 8 voisins :
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE29
- 4 directs, tous situés à la distance d du pixel central,
√
- 4 indirects, tous situés à la distance d 2 du pixel central.
Par la suite, on verra que l’on peut parfois demander que les opérateurs (utilisés pour
réaliser une transformation sur l’image) ne s’intéressent qu’aux 4 voisins directs ou bien
à l’ensemble des 8 voisins du pixel traité.
– par un maillage hexagonal :
Dans cette configuration, le pixel central a 6 voisins tous situés à égale distance de lui.
– par un ensemble de triangles, mais cette dernière configuration n’est qu’un sousensemble de la maille hexagonale.
La maille hexagonale est celle qui permet de mieux suivre les contours courbes des
objets. Mais, les cartes de digitalisation actuelles ne génèrent que des images en maille
carrée ; on peut, cependant, quand cela s’avère nécessaire, repasser d’une maille carrée à
une maille hexagonale, grâce à un simple calcul, effectué par certains logiciels d’analyse
d’images [17].
codage :
Le codage utilisé définit la " profondeur " et le type d’image (noir et blanc, niveaux
de gris ou couleur) :
– Une valeur provenant d’une image noir et blanc (ou rouge, selon le logiciel utilisé)
est représentée par 1 bit (correspondant à la zone de stockage élémentaire des ordinateurs) qui prend la valeur 1 (pour le blanc ou le rouge) et la valeur 0 (pour le
noir), on parlera d’une " image binaire ". Le noir représente le " fond " de l’image
tandis que le rouge (ou le blanc) représente le ou les " objets " de l’image.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE30
Fig. 1.11 – Image binaire.
– Une image en niveaux de gris nécessite, pour son codage, 8 bits (correspondant à
1 octet) ; les valeurs de niveau de gris étant comprises entre 0 (pour le noir) et 255
(pour le blanc) (256 valeurs=28 ).
Fig. 1.12 – Image en niveaux de gris.
– Une image couleur peut être codée elle aussi sur 4 bits (image en 16 couleurs), 8
bits (image en 256 couleurs) ou davantage : 24 bits pour une image en 16 millions
de couleur (16777216 = 224 ).
Fig. 1.13 – Image couleur.
Sur le cas particulier des images couleur, il est possible de décomposer l’image couleur
initiale en ses 3 plans : rouge, vert et bleu.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE31
Ce n’est pas parce que la " profondeur " du pixel est de 256 couleurs (par exemple, mais
ceci est aussi valable pour les autres types de codage) que l’image va forcément contenir
256 couleurs, ceci veut tout simplement dire qu’elle pourra au plus être composée de 256
couleurs [17].
D’autre part, il y a un petit " piège " : une image codé en 8 bits peut être, soit
une image en niveaux de gris, possédant au maximum 256 niveaux de gris, soit une image
couleur (au sens propre du terme) possédant au maximum 256 couleurs. A la visualisation,
une image en niveaux de gris n’est qu’un cas particulier d’images couleur.
Résolution spatiale d’une image
Elle est définie par le nombre de points image ou " pixels " représentant l’image,
par unité de longueur de la structure à numériser (l’image initiale) ; on exprime cette
résolution en points ou pixels par pouce (ppp) ou " dots per inch " (dpi). Beaucoup
de personnes expriment la résolution d’une image par son nombre total de pixels en x
et y, mais c’est un abus de langage. Ce paramètre est fixé lors de la numérisation et
dépend principalement des caractéristiques du matériel (comme le scanner) utilisé lors du
processus de numérisation.
" pixel " : on peut se le figurer comme un carré élémentaire, ou une brique utilisée
pour construire un bâtiment, en l’occurrence ici une image numérique. Chaque pixel est
caractérisé par sa position (x,y) dans l’image et sa couleur qui constitue sa troisième
dimension.
Plus le nombre de pixels est élevé par unité de longueur de la structure à numériser,
plus la quantité d’information qui décrit cette structure est importante et plus la résolution
est élevée. Mais, dans ce cas, l’image occupe une place plus importante dans la mémoire de
l’ordinateur (le N.B du bas). Lorsque la résolution diminue, la précision diminue puisque
l’objet est représenté par un nombre moins important de pixels [13].
Si l’on prend une image numérique et qu’on divise sa taille par 4 (ce qui équivaut
à la scanner à une résolution 2 fois moins élevée que celle qu’elle a pour le moment),
son nombre de pixels va être divisé par 4 (il va en effet, y avoir 2 fois moins de pixels
en abscisse et 2 fois moins de pixels en ordonnée). Il en résulte une perte de certaines
informations contenues auparavant dans l’image, car on a maintenant 4 fois moins de
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE32
pixels pour pouvoir " construire " l’image numérique, le logiciel ne gardant de l’image de
départ qu’une information sur 2 [13].
Au contraire, il ne faut pas pour autant dire que si l’on multiplie par 2 la taille d’une
image numérique, l’image obtenue aura plus de détails ; en effet, l’image de départ sur
laquelle on va faire " l’opération " ne possédant pas ces détails fictifs, ces derniers ne
vont pas apparaître par enchantement dans l’image résultante ! ; le logiciel ne fera, dans le
meilleur des cas, qu’interpoler les valeurs des pixels, c’est à dire les déduire par le calcul
à partir des valeurs de voisinage.
L’interpolation a pour effet d’obtenir des images de plus grande taille, mais elle n’apporte pas d’informations supplémentaires " réelles " par rapport à l’image de départ.
L’augmentation de la taille de l’image est dans ce cas " logicielle ".
Par contre, si l’on numérise par exemple, avec un scanner, un document original à
une résolution de 300 dpi, on aura évidemment plus de détails que si on le scanne à une
résolution de 150 dpi, mais en contre partie cette image sera 4 fois plus volumineuse [17].
Ainsi, un petit " piège " peut exister :
Un scanner a une résolution maximale (par exemple de 600 dpi, pour un scanner à plat
de performances moyennes) déterminée par la structure de son capteur, mais le logiciel
qui pilote le scanner peut proposer de numériser l’image voulue à 1200 dpi !. En fait,
l’image va n’être numérisée qu’à une résolution de 600 dpi par le capteur, mais le logiciel
qui pilote le scanner va faire ensuite une interpolation à 1200 dpi.
Il semble clair que la représentation numérique d’une structure (telle un disque par
exemple) peut aboutir à une représentation biaisée de cette structure. Le choix de la
résolution est donc un facteur primordial lorsque l’on réalise une numérisation. Ce choix
va conditionner la qualité de l’information véhiculée dans l’image (et donc ce que l’on va
pouvoir en faire par la suite) ainsi que son poids c’est à dire l’encombrement en mémoire
de cette image... [80].
N.B. : La place mémoire occupée par une image codée en pixels est égale au nombre de
pixels qui la composent, multiplié par le nombre d’octets nécessaire pour coder la valeur
d’un pixel, auquel il faut ajouter l’entête du fichier (qui peut renfermer en particulier les
informations sur le format et la résolution de l’image) ainsi que les LUT (LookupUnit
Table) qui sont étudiées dans le cas particulier des images couleur.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE33
1.5.2
L’évolution des informations
Nous sommes loin du temps où les informations étaient transmises par signaux de
fumée, où celles-ci se répandaient de bouche à oreille, à pied ou à cheval, ou encore
par tam-tam. Avec l’invention de l’imprimerie par Gutenberg en 1438, l’écrit a pris un
essor considérable dans les communications ; on assiste à la généralisation de la presse
écrite et aux débuts d’un média de communication de masse [58]. Plus récemment, le
déploiement des satellites de communication, la compression numérique, la multiplication
des systèmes interactifs de communication et d’information à distance (Internet) nous ont
fait entrer dans l’ère du multimédia et de l’instantanéité. L’accroissement de leur volume
et la multiplication de leurs moyens d’accès en a fait une réalité incontournable à gérer
dans la vie quotidienne de chaque personne [17].
1.5.3
Les médias
Sources d’information
Plus nombreux et variés que jamais, les médias sont les supports techniques et les entreprises par lesquels toutes ces informations nous deviennent accessibles dans une variété
de genres et de langages [60]. Nous les fréquentons surtout dans les temps de loisirs où ils
nous informent et nous conseillent en déployant tous leurs artifices pour attirer notre attention, nous informer et nous divertir. Séduits, nous vivons avec eux comme s’ils étaient
un cadeau permanent et comme s’ils étaient une fenêtre transparente, gratuite, ouverte sur
le monde. Nous percevons difficilement le caractère toujours problématique de ce qu’ils
décident de nous représenter. Nous ne réalisons pas aisément la différence qu’apporte
une information indépendante. Nous connaissons mal l’importance d’identifier la source
d’une information faute d’avoir eu l’occasion d’apprendre comment interroger le processus
complexe qui l’achemine jusqu’à nous. Nous oublions que les médias ne traitent pas nécessairement de tous les sujets. Ils établissent des priorités et sélectionnent les informations
en vertu de critères où se mêle leur mission commerciale avec leur rôle d’informateur.
Comment savoir de quoi ils ne parlent pas ? Comment savoir s’ils traitent avec rigueur et
éthique les sujets qu’ils nous offrent à consommer ? Comment savoir si les informations
qu’ils nous communiquent sont justes, importantes, utiles, complètes, suffisantes ? Com-
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE34
ment apprendre à diversifier nos propres sources d’information pour être des personnes,
des citoyens et des consommateurs autonomes, avertis et exigeants à l’égard des médias ?
Nous devons faire confiance à ceux dont le métier (journalistes, auteurs, créateurs) et la
mission (médias) sont de nous informer [5].
Les informations des médias
Les informations sont des renseignements ou des événements portés à la connaissance
d’un public par l’émission ou la création de messages écrits, sonores ou visuels en vue de
communiquer des idées ou des faits de toutes sortes provenant de tous les domaines. Les
informations se retrouvent dans les articles de journaux, de magazines ou sur Internet,
dans des bulletins de nouvelles, des documentaires, des débats et des dossiers à la télévision
ou à la radio, mais aussi dans les fictions, les publicités, les jeux, etc. Ces informations
sont des " récits " de caractère ludique, expressif, incitatif, informatif ou, souvent, un
mélange de ces diverses intentions de communication [11]. Elles résultent toujours d’un
travail concret de production de sens de la part de journalistes, d’auteurs et de créateurs.
Ces "récits" ne sont jamais totalement neutres. Les informations ne sont jamais la réalité
elle-même mais bien toujours une reconstruction de celle-ci. Aussi éclairantes qu’elles
soient, elles sont donc inévitablement un " compte rendu " fragmentaire de la réalité. La
puissance persuasive des médias nous amène souvent à croire que tout ce qu’ils disent est
vrai [5].
Education aux médias
Les médias exercent un rôle d’informateur déterminant dans la vie quotidienne des
individus et des communautés. Ce rôle ne se limite pas à leurs seuls journaux quotidiens.
Il englobe leurs magazines, leurs stations de radio, leurs chaînes de télévision, leurs sites
web et quantité d’autres produits médiatiques. Par l’information générale ou spécialisée,
par la diffusion d’œuvres de fiction, de musiques, de chansons, de spectacles et d’images
de toutes sortes, par la promotion de leurs produits et les publicités qu’ils diffusent, les
médias contribuent à former l’opinion publique en matière de vie sociale, politique et
économique. Ils influencent la quantité de valeurs qui affectent les relations humaines, les
modèles esthétiques et la consommation. Ils alimentent un " savoir de base " qui sert
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE35
de cadre de référence pour juger des réalités ou des événements et prendre des décisions
[11]. Ils exercent ainsi un leadership déterminant dans des champs névralgiques de la
vie personnelle des citoyens-nes (jeunes et adultes) où ils figurent aujourd’hui parmi les
agents importants de l’éducation, de la culture, du divertissement et de la consommation
en général.
L’éducation aux médias permet de développer des outils d’évaluation de la qualité
d’une information, de repérer sa source et d’être mieux averti face aux séductions de la
rhétorique médiatique. Elle donne les moyens de connaître les mécanismes qui président
à la priorisation et au choix d’une information par rapport à d’autres ou qui expliquent
le silence d’un ou plusieurs médias sur certaines réalités. Elle apprend comment les informations sont le résultat d’une construction et qu’elles ne représentent jamais rien d’autre
qu’un regard, un point de vue, aussi riche et bien exprimé soit-il sur une réalité [5].
L’éducation aux médias offre les moyens d’interpréter tous les genres d’informations
fabriquées avec les langages de l’écriture, de l’image et du son. Elle offre des moyens de
travailler sur la manière dont les productions médiatiques sont diffusées et sur les modalités de leur réception. Elle favorise l’expression sur les idées, les valeurs et les points de
vues qu’elles véhiculent. Elle offre à chaque individu les moyens d’enrichir ses expériences
personnelles avec les médias et elle contribue à accroître la responsabilité des membres de
la société civile à l’égard des divers enjeux que posent les médias.
Comprendre les médias
– Comprendre les messages médiatiques par la maîtrise d’une méthode d’analyse des
contenus.
– Se connaître comme récepteur de contenu (consommateur, auditeur, internaute,
téléspectateur, destinataire, etc.) afin de pouvoir choisir et gérer consciemment son
exposition médiatique.
– Evaluer et gérer la place de l’univers médiatique dans ses activités de loisir et d’apprentissage par rapport à celles d’autres activités.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE36
Etre critique face aux médias
– Reconnaître le principe de " non-transparence des médias " nous force à examiner
la manière dont les médias s’y prennent pour construire et diffuser leurs " représentations " et comment celles-ci sont perçues et interprétées par le public.
– Identifier les sept champs d’investigation pour analyser la construction des informations médiatiques :
Les représentations : Le champ qui nous permet de développer un esprit critique par
rapport au réel et à sa représentation par la compréhension des processus de construction
de la " réalité médiatique " et de comprendre quel est le sens des informations.
Les publics : Celui qui nous indique à qui les informations sont-elles destinées.
Les types de messages, Les langages et Les technologies : Ces trois champs
nous informent sur certains aspects plus techniques de la construction des informations.
Les producteurs : Le champ qui nous fournit des indications sur qui est l’auteur et
le producteur des informations.
L’esthétique : Celui qui nous permet de poser un jugement sur la qualité du message.
S’exprimer par les médias
– Percevoir les dimensions socio-économiques et les pouvoirs d’influence sociopolitiques des médias sur les comportements individuels et sociaux afin de pouvoir
influencer les contenus et intervenir dans l’univers médiatique par la connaissance
des moyens d’intervention.
– S’approprier les codes nécessaires et maîtriser les éléments créateurs de sens, notamment les technologies et les techniques de communication.
– Produire et créer ses propres messages en recourrant aux processus de construction
médiatique.
1.6
Technologies d’affichage et Définitions en imagerie
On appelle infographie le domaine de l’informatique concernant la création et la manipulation des images numériques. L’infographie regroupe de nombreux savoirs, parmi
lesquels la représentation des éléments graphiques (texte, image ou vidéo), ainsi que leurs
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE37
transformations (rotation, translation, zoom, ...) par l’intermédiaire d’algorithmes [17].
1.6.1
Les technologies d’affichage
L’image s’affiche sur un écran (appelé aussi moniteur), il s’agit d’un périphérique de
sortie permettant de fournir une représentation visuelle. Ces informations proviennent de
l’ordinateur, mais de façon " indirecte ". En effet le processeur n’envoie pas directement
les informations au moniteur, mais traite les informations provenant de sa mémoire vive
(RAM), puis les envoie à une carte graphique qui est chargée de convertir les informations
en impulsions électriques qu’elle envoie au moniteur.
Les moniteurs d’ordinateur sont la plupart du temps des tubes cathodiques, c’est à dire
un tube en verre dans lequel un canon à électrons émet des électrons dirigés par un champ
magnétique vers un écran sur lequel sont disposés de petits éléments phosphorescents
(luminophores) constituant des points (pixels) émettant de la lumière lorsque les électrons
viennent les heurter (voir figure ci-dessous)[80].
Pour reconstituer les couleurs, le balayage est réalisé par trois faisceaux qui activent
des éléments de couleur rouge, verte et bleue sur la surface de l’écran.
L’écran apparaît donc comme une multitude de points pouvant émettre une lumière
rouge, verte ou bleue, avec une intensité variable dépendant de celle du faisceau qui
l’active.
Fig. 1.14 – Principe des moniteurs d’ordinateur.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE38
1.6.2
La notion de pixel
Une image est constituée d’un ensemble de points appelés pixels (pixel est une abréviation de PICture ELement). Le pixel représente ainsi le plus petit élément constitutif
d’une image numérique. L’ensemble de ces pixels est contenu dans un tableau à deux
dimensions constituant l’image [17] :
Fig. 1.15 – Pixel : le plus petit élément constitutif d’une image numérique.
Etant donné que l’écran effectue un balayage de gauche à droite et de haut en bas, on
désigne généralement par les coordonnées [0,0] le pixel situé en haut à gauche de l’image,
cela signifie que les axes de l’image sont orientés de la façon suivante :
– L’axe X est orienté de gauche à droite.
– L’axe Y est orienté de haut en bas, contrairement aux notations conventionnelles en
mathématiques, où l’axe Y est orienté vers le haut.
1.6.3
Dimension
C’est la taille de l’image. Cette dernière se présente sous forme de matrice dont les
éléments sont des valeurs numériques représentatives des intensités lumineuses de pixels.
Le nombre de lignes de cette matrice multiplié par le nombre de colonnes nous donne le
nombre total de pixels dans une image [20].
1.6.4
Bruit
Un bruit (parasite) dans une image est considéré comme un phénomène de brusque
variation de l’intensité d’un pixel par rapport à ses voisins, il provient de l’éclairage des
dispositifs optiques et électroniques du capteur [26].
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE39
1.6.5
Histogramme
On appelle histogramme de l’image I, la fonction H définie sur l’ensemble des entiers
naturels par :
H(x) = CardP : I(P) = x c’est à dire que H(x) traduit le nombre d’apparitions du
niveau de gris x dans l’image I. Cette définition se généralise aux images multi-bandes,
l’histogramme est alors une fonction de p variables où p désigne le nombre de canaux.
L’histogramme est un outil privilégié en analyse d’images car il représente un résumé
simple, mais souvent suffisant du contenu de l’image.
Pour diminuer l’erreur de quantification, pour comparer deux images obtenues sous
des éclairages différents, ou encore pour mesurer certaines propriétés sur une image, on
modifie souvent l’histogramme correspondant [26].
Il permet de donner un grand nombre d’information sur la distribution des niveaux de
gris (couleur) et de voir entre quelles bornes est repartie la majorité des niveaux de gris
(couleur) dans les cas d’une image trop claire ou d’une image trop foncée.
Il peut être utilisé pour améliorer la qualité d’une image (Rehaussement d’image)
en introduisant quelques modifications, pour pouvoir extraire les informations utiles de
celle-ci [27].
1.6.6
Contours et textures
Les contours représentent la frontière entre les objets de l’image, ou la limite entre deux
pixels dont les niveaux de gris représentent une différence significative [28]. Les textures
décrivent la structure de ceux-ci. L’extraction de contour consiste à identifier dans l’image
les points qui séparent deux textures différentes [27].
1.6.7
Contraste
C’est l’opposition marquée entre deux régions d’une image, plus précisément entre les
régions sombres et les régions claires de cette image. Le contraste est défini en fonction
des luminances de deux zones d’images.
Si L1 et L2 sont les degrés de luminosité respectivement de deux zones voisines A1 et
A2 d’une image, le contraste C est défini par le rapport [30] : C=L1-L2/L1+L2.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE40
1.6.8
Images à niveaux de gris
Le niveau de gris est la valeur de l’intensité lumineuse en un point. La couleur du pixel
peut prendre des valeurs allant du noir au blanc en passant par un nombre fini de niveaux
intermédiaires. Donc pour représenter les images à niveaux de gris, on peut attribuer
à chaque pixel de l’image une valeur correspondant à la quantité de lumière renvoyée.
Cette valeur peut être comprise par exemple entre 0 et 255. Chaque pixel n’est donc plus
représenté par un bit, mais par un octet. Pour cela, il faut que le matériel utilisé pour
afficher l’image soit capable de produire les différents niveaux de gris correspondant. Le
nombre de niveaux de gris dépend du nombre de bits utilisés pour décrire la " couleur "
de chaque pixel de l’image. Plus ce nombre est important, plus les niveaux possibles sont
nombreux [29].
1.6.9
Images en couleurs
Même s’il est parfois utile de pouvoir représenter des images en noir et blanc, les applications multimédias utilisent le plus souvent des images en couleurs. La représentation
des couleurs s’effectue de la même manière que les images monochromes avec cependant
quelques particularités [58]. En effet, il faut tout d’abord choisir un modèle de représentation. On peut représenter les couleurs à l’aide de leurs composantes primaires. Les
systèmes émettant de la lumière (écrans d’ordinateurs,...) sont basés sur le principe de
la synthèse additive : les couleurs sont composées d’un mélange de rouge, vert et bleu
(modèle R.G.B.) [29].
1.6.10
La représentation en couleurs réelles
Elle consiste à utiliser 24 bits pour chaque point de l’image. Huit bits sont employés
pour décrire la composante rouge (R), huit pour le vert (V) et huit pour le bleu (B). Il est
ainsi possible de représenter environ 16,7 millions de couleurs différentes simultanément.
Cela est cependant théorique, car aucun écran n’est capable d’afficher 16 millions de
points. Dans la plus haute résolution (1600 x 1200), l’écran n’affiche que 1 920 000 points.
Par ailleurs, l’œil humain n’est pas capable de distinguer autant de couleurs [43].
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE41
1.6.11
La représentation en couleurs indexées
Afin de diminuer la charge de travail nécessaire pour manipuler des images en 24 bits,
on peut utiliser le mode de représentation en couleurs indexées. Le principe consiste à
déterminer le nombre de couleurs différentes utilisées dans l’image, puis à créer une table
de ces couleurs en attribuant à chacune une valeur numérique correspondant à sa position
dans la table. La table, appelée palette, comporte également la description de chacune
des couleurs, sur 24 bits [80].
1.6.12
Autres modèles de représentation
Le modèle R.V.B. (R.G.B. en anglais) représentant toutes les couleurs par l’addition
de trois composantes fondamentales, n’est pas le seul possible. Il en existe de nombreux
autres. L’un d’eux est particulièrement important. Il consiste à séparer les informations
de couleurs (chrominance) et les informations d’intensité lumineuse (luminance). Il s’agit
du principe employé pour les enregistrements vidéo. La chrominance est représentée par
deux valeurs (selon des modèles divers) et la luminance par une valeur [80].
1.6.13
Définition et Résolution
On appelle définition le nombre de points (pixel) constituant l’image, c’est-à-dire sa "
dimension informatique " (le nombre de colonnes de l’image que multiplie son nombre de
lignes). Une image possédant 640 pixels en largeur et 480 en hauteur aura une définition
de 640 pixels par 480, notée 640x480.
La résolution, terme souvent confondu avec la " définition ", détermine par contre le
nombre de points par unité de surface, exprimé en points par pouce (PPP, en anglais DPI
pour Dots Per Inch) ; un pouce représentant 2.54 cm. La résolution permet ainsi d’établir
le rapport entre le nombre de pixels d’une image et la taille réelle de sa représentation
sur un support physique. Une résolution de 300 dpi signifie donc 300 colonnes et 300
rangées de pixels sur un pouce carré ce qui donne donc 90000 pixels sur un pouce carré.
La résolution de référence de 72 dpi nous donne un pixel de 1"/72 (un pouce divisé par
72) soit 0.353mm, correspondant à un point pica (unité typographique anglo saxonne)
[80].
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE42
1.6.14
Le codage de la couleur
Une image est donc représentée par un tableau à deux dimensions dont chaque case est
un pixel. Pour représenter informatiquement une image, il suffit donc de créer un tableau
de pixels dont chaque case contient une valeur. La valeur stockée dans une case est codée
sur un certain nombre de bits déterminant la couleur ou l’intensité du pixel, on l’appelle
profondeur de codage (parfois profondeur de couleur). Il existe plusieurs standards de
codage de la profondeur :
– bitmap noir et blanc : en stockant un bit dans chaque case, il est possible de définir
deux couleurs (noir et blanc).
– bitmap 16 couleurs ou 16 niveaux de gris : en stockant 4 bits dans chaque case, il
est possible de définir 24 possibilités d’intensités pour chaque pixel, c’est-à-dire 16
niveaux de gris allant du noir au blanc ou bien 16 couleurs différentes.
– bitmap 256 couleurs ou 256 niveaux de gris : en stockant un octet dans chaque case,
il est possible de définir 28 intensités de pixels, c’est-à-dire 256 niveaux de gris allant
du noir au blanc ou bien 256 couleurs différentes.
– palette de couleurs (colormap) : grâce à cette méthode, il est possible de définir
une palette, ou table des couleurs, contenant l’ensemble des couleurs pouvant être
contenues dans l’image, à chacune d’elles est associé un indice. Le nombre de bits
réservé au codage de chaque indice de la palette détermine le nombre de couleurs
pouvant être utilisées. Ainsi en codant les indices sur 8 bits il est possible de définir
256 couleurs utilisables, c’est-à-dire que chaque case du tableau à deux dimensions
représentant l’image va contenir un nombre indiquant l’indice de la couleur à utiliser.
On appelle ainsi image en couleurs indexées une image dont les couleurs sont codées
selon cette technique [60].
– true color : cette représentation permet de représenter une image en définissant
chacune des composantes (RGB : rouge, vert, bleu). Chaque pixel est représenté
par un entier comportant les trois composantes, chacune codée sur un octet, c’està-dire au total 24 bits (donc 224 possibilités, c’est-à-dire plus que 16,7 millions de
couleurs). Il est possible de rajouter une quatrième composante permettant d’ajouter
une information de transparence ou de texture, chaque pixel est alors codé sur 32
bits.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE43
1.6.15
Poids d’une image
Pour connaître le poids (en octets) d’une image, il est nécessaire de compter le nombre
de pixels que contient l’image, cela revient à calculer le nombre de cases du tableau, soit
la hauteur de celui-ci que multiplie sa largeur. Le poids de l’image est alors égal à son
nombre de pixels que multiplie le poids de chacun de ces éléments.
Voici le calcul pour une image 640x480 en True color :
– Nombre de pixels : 640 x 480 = 307200 avec utilisation de 3 octets pour chaque
pixel.
– Le poids de l’image est ainsi égal à : 307200 x 3 = 921600 octets = 900 Ko
Pour connaître la taille en Ko il suffit de diviser par 1024. Voici quelques exemples (en
considérant que l’image n’est pas compressée) :
Définition de l’image
Noir et blanc 256 couleurs 65000 couleurs True color
(1bit)
(8bits)
(16bits)
(24bits)
320x200
7.8 ko
62.5 ko
125 ko
187.5 ko
640x480
37.5 ko
300 ko
600 ko
900 ko
800x600
58.6 ko
468.7 ko
937.5 ko
1.4 Mo
1024x768
96 ko
768 ko
1.5 Mo
2.3 Mo
Cela met en évidence la quantité de mémoire vidéo que nécessite votre carte graphique
en fonction de la définition de l’écran (nombre de points affichés) et du nombre de couleurs.
L’exemple montre ainsi qu’il faut une carte ayant au minimum 4 Mo de mémoire vidéo
afin d’afficher une résolution de 1024x768 en true color...
1.6.16
Transparence
La transparence est une caractéristique permettant de définir le niveau d’opacité des
éléments d’une image, c’est-à-dire la possibilité de voir à travers l’image des éléments
graphiques située derrière celle-ci.
Il existe deux modes de transparence :
– La transparence simple s’applique pour une image indexée et consiste à définir parmi
la palette de couleurs une des couleurs comme transparente.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE44
– La transparence par couche alpha (ou canal alpha, en anglais alpha channel) consiste
à rajouter pour chaque pixel de l’image un octet définissant le niveau de transparence
(de 0 à 255). Le processus consistant à ajouter une couche transparente à une image
est généralement appelé alpha blending.
1.6.17
Format de fichier
Nous avons vu précédemment la façon suivant laquelle une image était codée pour
l’afficher sur un moniteur, toutefois lorsque l’on veut stocker une image dans un fichier ce
format n’est pas le plus pratique... On peut en effet vouloir une image qui prenne moins
de place en mémoire, ou bien une image que l’on puisse agrandir sans faire apparaître de
pixellisation. Ainsi, il est possible de stocker l’image dans un fichier avec une structure de
donnée décrivant l’image à l’aide d’équation, et qui devra être décodée par le processeur
avant que les informations soient envoyées à la carte graphique :
Fig. 1.16 – Processus de traitement d’information par l’ordinateur.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE45
Les types de formats de fichiers
Il existe un grand nombre de formats de fichiers. Parmi les formats de fichiers graphiques voici les plus utilisés :
Format
Compression
Dimensions
Nombres de couleurs
maximales
maximal
BMP
Aucune/RLE
65 536 x 65 536
16 777 216
GIF
LZW
65 536 x 65 536
256
IFF
Aucune/RLE
65 536 x 65 536
Supérieur à 16 777 216
JPEG
JPEG
65 536 x 65 536
Supérieur à 16 777 216
PCX
Aucune/RLE
65 536 x 65 536
16 777 216
PNG
RLE
65 536 x 65 536
Supérieur à 16 777 216
TGA
Aucune/RLE
65 536 x 65 536
Supérieur à 16 777 216
232 -1
Supérieur à 16 777 216
TIFF/TIF Pack bits/CCITT G3 et 4/
RLE/JPEG/LZW/UIT-T
1.7
Introduction à la vidéo numérique
1.7.1
Définition de la vidéo
Une vidéo est une succession d’images à une certaine cadence. L’œil humain a comme
caractéristique d’être capable de distinguer environ 20 images par seconde. Ainsi, en
affichant plus de 20 images par seconde, il est possible de tromper l’œil et de lui faire
croire à une image animée.
D’autre part la vidéo au sens multimédia du terme est généralement accompagnée de
son, c’est-à-dire de données audio.
1.7.2
Vidéo numérique et analogique
On distingue généralement plusieurs grandes familles d’images animées :
– Le cinéma, consistant à stocker sur une pellicule la succession d’images en négatif.
La restitution du film se fait alors grâce à une source lumineuse projetant les images
successives sur un écran.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE46
– La vidéo analogique, représentant l’information comme un flux continu de données
analogiques, destiné à être affichées sur un écran de télévision (basé sur le principe du
balayage). Il existe plusieurs normes pour la vidéo analogique. Les trois principales
sont : PAL, SECAM et NTSC.
– La vidéo numérique consistant à coder la vidéo en une succession d’images numériques.
PAL et SECAM
Le format PAL/SECAM (Phase Alternating Line/Séquentiel Couleur avec Mémoire),
utilisé en Europe pour la télévision hertzienne, permet de coder les vidéos sur 625 lignes
(576 seulement sont affichées car 8% des lignes servent à la synchronisation). A raison
de 25 images par seconde pour un format 4 : 3 (c’est-à-dire que le rapport largeur sur
hauteur vaut 4/3) [11].
Or à 25 images par seconde, de nombreuses personnes perçoivent un battement dans
l’image. Ainsi, étant donné qu’il n’était pas possible d’envoyer plus d’information en raison
de la limitation de bande passante, il a été décidé d’entrelacer les images, c’est-à-dire
d’envoyer en premier lieu les lignes paires, puis les lignes impaires. Le terme " champ "
désigne ainsi la " demi image " formée soit par les lignes paires, soit par les lignes impaires
comme indiqué sur la figure suivante :
Fig. 1.17 – Champs des lignes paires et impaires en vidéo.
Grâce à ce procédé appelé " entrelacement ", le téléviseur PAL/SECAM affiche 50
champs par seconde (à une fréquence de 50 Hz), soit 2x25 images en deux secondes [42].
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE47
NTSC
La norme NTSC (National Television Standards Committee), utilisée aux Etats-Unis
et au Japon, utilise un système de 525 lignes entrelacées à 30 images/seconde (donc à
une fréquence de 60Hz). Comme dans le cas du PAL/SECAM, 8% des lignes servent à
synchroniser le récepteur. Ainsi, étant donné que le NTSC affiche un format d’image 4 :
3, la résolution réellement affichée est de 640x480 [52].
La vidéo numérique
La vidéo numérique consiste à afficher une succession d’images numériques. Puisqu’il
s’agit d’images numériques affichées à une certaine cadence, il est possible de connaître le
débit nécessaire pour l’affichage d’une vidéo, c’est-à-dire le nombre d’octets affichés (ou
transférés) par unité de temps.
Ainsi le débit nécessaire pour afficher une vidéo (en octets par seconde) est égal à la
taille d’une image que multiplie le nombre d’images par seconde.
Soit une image true color (24 bits) ayant une définition de 640 pixels par 480. Pour
afficher correctement une vidéo possédant cette définition il est nécessaire d’afficher au
moins 30 images par seconde, c’est-à-dire un débit égal à (900 Ko×30) = 27 Mo/s [15].
1.8
Conclusion
Pour définir l’information Shannon et Weaver se basent sur le deuxième principe de
la thermodynamique (science des machines à feu) énoncé par Carnot : " dans un système
physique, l’énergie tend à se dégrader ". Shannon et Weaver distinguent trois types de
problèmes de communication :
– Les problèmes techniques qui concernent l’exactitude du transfert des séries de symboles, en fonction du canal, de l’espace et du temps, depuis l’émetteur jusqu’au
récepteur.
– Les problèmes sémantiques qui concernent l’identité (ou une approximation suffisamment proche), entre l’interprétation du récepteur et l’intention de l’émetteur. Il
s’agira de s’assurer que les images, les représentations de l’objet convoyé sont les
plus proches possibles, pour l’émetteur et le récepteur.
CHAPITRE 1. THÉORIE DE L’INFORMATION, CODAGES ET DÉFINITIONS EN IMAGERIE48
– Les problèmes d’efficacité concernent le succès avec lequel la signification transportée
jusqu’au receveur, provoque chez lui la conduite désirée. (Sciences de l’information
et de la communication, Daniel Bougnoux).
En conclusion on dira :
– qu’on peut mesurer mathématiquement la quantité de l’information,
– qu’on peut faire un rapprochement avec les principes de la thermodynamique,
– qu’il y a un rapport entre l’information et l’entropie/néguentropie,
– que in-former c’est lutter contre le chaos,
– qu’on peut utiliser les probabilités : l’information c’est l’improbable ou le surprenant.
Comme cela a été indiqué précédemment, la problématique résulte de la nécessité de
réduire de manière importante la quantité d’éléments binaires d’information nécessaire à
la représentation des images à des fins de mémorisation ou de transmission à distance.
Bien que les images soient très variées, et qu’en conséquence les informations qu’elles
contiennent puissent toutes être très différentes (couleur, lumière, objets,...), il demeure
préférable de mettre en place une procédure unique de codage à compression d’information, que l’on appliquera à chaque image indépendamment de ses caractéristiques. Par
ailleurs, les signaux audiovisuels sont des signaux analogiques (continus) dont la représentation nécessite une très importante quantité de données (ex : pour une seule seconde de
vidéo, il faut être capable de stocker une séquence de 25 images). La représentation efficace
de tels signaux requière donc la mise en place de méthodes adéquates. La représentation
binaire d’un signal analogique n’est possible que si ce dernier a subi un échantillonnage
(classiquement temporel, spatial,...), afin de pouvoir travailler sur un nombre finis d’échantillons de ce signal. Les amplitudes liées à un signal analogique s’étendent également sur
un intervalle continu qu’il va falloir discrétiser selon différents critères : il s’agit de la
quantification du signal.
La compression des données est appelée à prendre un rôle encore plus important en
raison du développement des réseaux et du multimédia. Son importance est surtout due au
décalage qui existe entre les possiblités matérielles des dispositifs que nous utilisons (débits
sur Internet, sur Numéris et sur les divers cables, capacité des mémoires de masse,...) et les
besoins qu’expriment les utilisateurs (visiophonie, vidéo plein écran, transfert de quantités
d’informations toujours plus importantes dans des délais toujours plus brefs).
Chapitre 2
Principes de la compression en imagerie
2.1
Introduction
La puissance des processeurs augmente plus rapidement que les capacités de stockage,
et énormément plus vite que la bande passante d’Internet qui demande beaucoup de
changements d’infrastructures telles que les installations téléphoniques. Ainsi il semble
plus simple de réduire la taille des données plutôt que d’augmenter les espaces de stockage
et/ou les infrastructures téléphoniques.
La réduction de la taille des données se fait donc par la compression du codage du
fichier source. Ainsi pour réduire la taille d’une image, il faut arriver à diminuer son code
source, en trouvant un algorithme qui le convertira au mieux en un code moins redondant,
et en restituant l’image originale avec le moins de pertes possibles.
Nos études portent donc sur les principales manières de compresser les images numériques fixes et animées. Nous avons d’un côté les compressions dites conservatrices telles
que le codage RLE et le codage LZW car l’image une fois compressée est identique à
l’originale, il n’y a donc aucune perte de qualité. De l’autre côté, nous avons les compressions non conservatrices : elles restituent l’image originale avec des pertes plus ou moins
minimes de qualité, on s’intéressera plus particulièrement à la norme JPEG, les ondelettes et la norme MPEG, qui permettent de choisir ce niveau de pertes. Nous dégagerons
finalement les spécificités de chaque type de compression.
49
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
2.2
50
Intérêt de la compression
De nos jours, la puissance des processeurs augmente plus vite que les capacités de
stockage, et énormément plus vite que la bande passante des réseaux, car cela demande
d’énormes changements dans les infrastructures de télécommunications. Ainsi, pour pallier
ce manque, il est courant de réduire la taille des données en exploitant la puissance des
processeurs plutôt qu’en augmentant les capacités de stockage et de transmission des
données [42].
2.3
La compression de données
La compression consiste à réduire la taille physique de blocs d’informations. Un compresseur utilise un algorithme qui sert à optimiser les données en utilisant des considérations propres au type de données à compresser ; un décompresseur est donc nécessaire
pour reconstruire les données originelles grâce à l’algorithme inverse de celui utilisé pour la
compression [7]. La méthode de compression dépend intrinsèquement du type de données
à compresser : on ne compressera pas de la même façon une image qu’un fichier audio...
[83].
2.4
Caractérisation de la compression
La compression peut se définir par le quotient de compression, c’est-à-dire le quotient
du nombre de bits dans l’image originale par le nombre de bits dans l’image compressée. Le taux de compression, souvent utilisé, est l’inverse du quotient de compression,
il est habituellement exprimé en pourcentage. Enfin le gain de compression, également
exprimé en pourcentage, est le complément à 1 du taux de compression [83] : ρ=1-(Taille
compressé/Taille normale)
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
2.5
2.5.1
51
Types de compressions et de méthodes
Compression physique et logique
La compression physique agit directement sur les données ; il s’agit ainsi de regarder les
données redondantes d’un train de bits à un autre. La compression logique par contre est
effectuée par un raisonnement logique en substituant une information par une information
équivalente [83].
2.5.2
Compression symétrique et asymétrique
Dans le cas de la compression symétrique, la même méthode est utilisée pour compresser et décompresser l’information, il faut donc la même quantité de travail pour chacune
de ces opérations. C’est ce type de compression qui est généralement utilisée dans les
transmissions de données [83].
Fig. 2.1 – Evaluation en temps de calcul et en volume, de la compression symétrique.
La compression asymétrique demande plus de travail pour l’une des deux opérations,
on recherche souvent des algorithmes pour lesquels la compression est plus lente que la
décompression. Des algorithmes plus rapides en compression qu’en décompression peuvent
être nécessaire lorsque l’on archive des données auxquelles on n’accède pas souvent (pour
des raisons de sécurité par exemple), car cela crée des fichiers compacts [83].
2.5.3
Compression avec pertes
La compression avec pertes (en anglais lossy compression), par opposition à la compression sans pertes (lossless compression), permet d’éliminer quelques informations pour
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
52
avoir le meilleur taux de compression possible, tout en gardant un résultat qui soit le plus
proche possible des données originales. C’est le cas par exemple de certaines compressions
d’images ou de sons.
Etant donné que ce type de compression supprime des informations contenues dans les
données à compresser, on parle généralement de méthodes de compression irréversibles.
Les fichiers exécutables par exemple ont notamment besoin de conserver leur intégrité pour
fonctionner, en effet il n’est pas concevable de reconstruire à l’à-peu-près un programme
en omettant parfois des bits et en ajoutant là où il n’en faut pas [83].
2.5.4
Encodage adaptif, semi adaptif et non adaptif
Certains algorithmes de compression sont basés sur des dictionnaires spécifiques à un
type de données : ce sont des encodeurs non adaptifs. Les occurrences de lettres dans un
fichier texte par exemple dépendent de la langue dans laquelle celui-ci est écrit.
Un encodeur adaptif s’adapte aux données qu’il va devoir compresser, il ne part pas
avec un dictionnaire déjà préparé pour un type de données.
Enfin un encodeur semi adaptif construira celui-ci en fonction des données à compresser : il construit le dictionnaire en parcourant le fichier, puis compresse ce dernier.
2.5.5
Filtrage
Le filtrage consiste à appliquer une transformation (appelée filtre) à tout ou partie
d’une image numérique en appliquant un opérateur. On distingue généralement les types
de filtres suivants [45] :
– Les filtres passe-bas, consistant à atténuer les composantes de l’image ayant une
fréquence haute (pixels foncés). Ce type de filtrage est généralement utilisé pour
atténuer le bruit de l’image, c’est la raison pour laquelle on parle habituellement de
lissage. Les filtres moyenneurs sont un type de filtres passe-bas dont le principe est
de faire la moyenne des valeurs des pixels avoisinants. Le résultat de ce filtre est une
image plus floue.
– Les filtres passe-haut, à l’inverse des passe-bas, atténuent les composantes de basse
fréquence de l’image et permettent notamment d’accentuer les détails et le contraste,
c’est la raison pour laquelle le terme de " filtre d’accentuation " est parfois utilisé.
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
53
– les filtres passe-bande permettant d’obtenir la différence entre l’image originale et
celle obtenue par application d’un filtre passe-bas.
– les filtres directionnels appliquant une transformation selon une direction donnée.
On appelle filtrage adaptatif toute opération de filtrage possédant une étape préalable
de sélection des pixels.
Définition de filtre
Un filtre est une transformation mathématique (appelée produit de convolution) permettant, pour chaque pixel de la zone à laquelle il s’applique, de modifier sa valeur en
fonction des valeurs des pixels avoisinants, affectées de cœfficients.
Le filtre est représenté par un tableau (matrice), caractérisé par ses dimensions et
ses cœfficients, dont le centre correspond au pixel concerné. Les cœfficients du tableau
déterminent les propriétés du filtre. Voici un exemple de filtre 3 x 3 [45] :
Fig. 2.2 – Filtre 3 x 3 cœfficients.
Ainsi le produit de la matrice image, généralement très grande car représentant l’image
initiale (tableau de pixels) par le filtre donne une matrice correspondant à l’image traitée.
Notion de bruit
Le bruit caractérise les parasites ou les interférences d’un signal, c’est-à-dire les parties
du signal déformées localement. Ainsi le bruit d’une image désigne les pixels de l’image
dont l’intensité est très différente de celles des pixels voisins.
Le bruit peut provenir de différentes causes :
– Environnement lors de l’acquisition
– Qualité du capteur
– Qualité de l’échantillonnage
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
54
Lissage
On appelle " lissage " (parfois débruitage ou filtre anti-bruit) l’opération de filtrage
visant à éliminer le bruit d’une image.
L’opération de lissage spécifique consistant à atténuer l’effet d’escalier produit par les
pixels en bordure d’une forme géométrique est appelée anti-crénelage (en anglais antialiasing) [45].
Accentuation
L’accentuation (ou bruitage) est l’inverse du lissage ; il s’agit d’une opération visant à
accentuer les différences entre les pixels voisins.
Ainsi l’accentuation peut permettre de mettre en exergue les limites entre les zones
homogènes de l’image et est alors appelée extraction de contours (également contourage
ou réhaussement de contours).
Tramage
Le tramage (en anglais dithering) est une technique consistant à alterner des motifs
géométriques utilisant peu de couleur, appelés " trame ", afin de simuler une couleur plus
élaborée [60].
2.6
Les principes de base
2.6.1
Extraction de l’information pertinente et élimination de la
redondance
Sur les images fixes, les méthodes de compression se basent sur la corrélation spatiale entre pixels (redondances spatiales). Pour la vidéo, on peut supprimer 2 types de
redondances :
– Les redondances spatiales, on utilisera pour se faire des techniques de transformées
en fréquence de type DCT (transformées en cosinus discrète) ;
– les redondances temporelles (au moyen de techniques d’estimation et compensation
de mouvements).
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
55
Les normes de compression d’images utilisées dans la visiophonie et la visioconférence
(H261 et H263) ainsi que MPEG1 et MPEG2 utilisent la DCT et la compensation de
mouvements [6]. On utilise également la redondance des valeurs à transmettre en attribuant aux valeurs les plus fréquentes les mots de code les plus courts, ce qui contribue à la
réduction des informations à transmettre (technique dite de codes à longueurs variables).
Ces techniques de codes à longueurs variables sont réversibles et sont également utilisées
pour la compression de fichiers informatiques [102].
Pour le codage des signaux audio, les phénomènes de masquage auditif sont largement
exploités par une analyse fréquentielle (analyse en sous-bandes) et une quantification
optimisée [64].
Les algorithmes de codage de la parole les plus performants utilisent une modélisation
du système phonatoire (gorge, cordes vocales), ce qui permet d’obtenir des débits de
quelques Kilobits par seconde.
Le principe de la compression repose, pour faire simple, sur l’idée qu’un certain nombre
de données dans un fichier sont répétitives. Imaginez un fruitier qui fait l’inventaire de
ses stocks ; il a deux façons de procéder :
Soit il compte fruit par fruit : 1 banane + 1 banane + 1 banane + 1 orange + 1 orange
+ 1 banane + 1 banane + 1 orange + 1 orange + 1 orange + 1 orange + 1 orange + 1
orange + 1 orange + 1 orange + etc...
Soit il compte par lots : 3 bananes + 2 oranges + 2 bananes + 8 oranges + etc...
Les plus perspicaces d’entre vous auront remarqué que la deuxième méthode est nettement moins longue, qu’elle prend nettement moins de place. Pour la compression de
données, c’est pareil.
Là où le fichier binaire écrit : 11111111000011111000000111, L’algorithme de compression écrit : 8*1,4*0,5*1,6*0,3*1.
Le gain de place est évident et peut en outre s’appliquer à tout type de fichiers : les
exécutables, les images et aussi les sons.
Evidemment, la démonstration ci-dessus, simpliste au possible, ne rend pas compte
de la complexité des algorithmes de compression mis en œuvre par des logiciels comme
Winzip, WinARJ, WinRAR ou Stuff It. Mais le principe est là, dans les grandes lignes
[7].
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
56
Pour rentrer dans les détails, sachez que de nombreux compacteurs recourent à l’algorithme de compression Huffman qui code les données selon leur récurrence statistique :
Plus une séquence de données se répète dans le fichier, plus son code sera court. A l’inverse, les séquences plus rares sont dotées d’un code plus long. A la décompression, tous
les codes sont confrontés à une table de correspondance qui permet de réatribuer chaque
séquence de données au code correspondant.
Pour les données :
Banane, Banane, Orange, Banane, Orange, Orange, Poire, Poire, Pomme, Poire, Orange,
Banane, Banane, Banane, Banane, Banane, Banane, Poire, Poire, Poire, Poire, Poire,
Poire, Orange, Orange, Orange, Orange, Orange, Orange, Orange, Orange, Orange,
Orange,
on aura ainsi une table de correspondance :
et le codage sera :
B=Banane
2B, O, B, 2O, 2P, Po, O, 6B, 6P, 10O
O=Orange
P=Poire
Po=Pomme
Notez que la pomme qui n’apparaît qu’une fois reçoit le code Po, plus long que les
autres codes, ce qui permet de garder les codes courts pour les séquences les plus fréquentes
(ici P est gardé pour Poire).
2.7
2.7.1
Les mesures utilisées
Evaluation de la compression
On retrouve dans les divers articles concernant la compression, des évaluations de
performances difficilement comparables, dans la mesure où elles ne sont pas fondées sur
les mêmes principes. Il semble donc utile de préciser les moyens de mesurer la compression
qui sont retenus par les spécialistes [7].
Le degré de réduction des données obtenu par une méthode de compression peut être
évalué au moyen du quotient de compression défini par la formule : Q=Taille initiale/Taille
après compression.
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
57
Le taux de compression, généralement exprimé en pourcentage, est l’inverse du quotient de compression : T=1/Q.
Le gain de compression est également exprimé en pourcentage ; c’est le complément à
1 du taux de compression : G=1-T.
Un fichier original de 2 000 signes compressé en 800 signes présente un quotient de
compression de 2.5, un taux de compression de 40%, et un gain de compression de 60%.
2.7.2
La mesure de la qualité de l’image
Elle dépend, d’une part, de la qualité des images d’origine et, d’autre part, des moyens
mis en œuvre pour convertir un signal analogique en un signal numérique. Elle dépend
aussi de :
– La qualité des périphériques de numérisation de l’image, du nombre de niveaux de
gris ou de couleurs enregistrées, etc.
– La qualité de l’affichage à l’écran : définition de l’écran, nombre de teintes disponibles
simultanément, calibrage de l’écran, etc.
Les critères d’appréciation de la qualité d’une image, dépendent largement de la structure même de l’image réaliste ou conceptuelle et de son mode de représentation (bitmap
ou vectorielle) [25].
Qualité technique de l’image
Nous parlons ici de la qualité brute d’une image, pas de rapport qualité/prix, qualité/taille, qualité/temps de transmission etc...
Chacun verra ensuite dans quelle mesure il accepte de dégrader la qualité brute en
fonction de la destination de l’image.
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
Quelle caractéristique regarder pour voir la " qualité brute " d’une photo [14] :
Caractéristique
Exemple en Paysage
Exemple en Portrait
Netteté
L’idéal est que tout le
Les yeux doivent être net.
paysage soit net ! (voir
"Profondeur de champs" !)
Flou volontaire : tout ce
Voir ci-dessus !
L’arrière plan ne doit pas
qui est flou dans l’image
Contre-exemple : si une voiture
perturber. Légèrement flou
doit avoir été prévu !
ou un personnage passe dans
s’il situe l’environnement
le paysage, son mouvement
du portrait, très flou si
peut le rendre flou
on ne doit pas le voir.
par rapport au paysage net.
Eclairage adapté
L’éclairage doit permettre
L’éclairage doit montrer
de donner du relief aux
ce qui est caractéristique
détails
(douceur des joues,
couleur des yeux) en
cachant le reste (boutons,
intérieur des narines !)
Fidélité des couleurs
Le bleu du ciel, le bleu de
Nuances de la peau :
la mer, le vert des prairies,
bronzée, rouge, pâle...
des forêts, les gris et
Couleurs des yeux
marrons des montagnes...
Richesse des nuances de
Feuillages des arbres,
Dégradés de la lumière
couleurs ou (pour le Noir
herbe, plage...
sur les joues, dans les
et Blanc) de la palette
cheveux... Irisation
de gris
des yeux...
Finesse des plus petits
Les brins d’herbe, les
Les cheveux, les poils de
détails visibles
feuilles des arbres, le sable
la barbe, la texture des
de la plage, les cailloux du
vêtements (laine, jean,
chemin...
cotes des tee shirts...)
Présence de détails dans
Voir les détails ci-dessus
Voir les détails ci-dessus
les ombres (elles ne sont
dans les parties à l’ombre et
dans les parties éclairées
pas "bouchées") et les
au soleil
comme dans les parties
lumières (elles ne sont pas
"brulées", ou "cramées" !)
sombres
58
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
59
Qualité documentaire de l’image
Il s’agit de voir ce que l’image nous apprend sur le sujet ; souvent dans le cadre d’un thème, ou
d’un reportage. Les informations apportées par la ou les images doivent permettre de retrouver
le thème et le sujet du reportage. Cet aspect est souvent considéré comme le principal pour
une photo. Car, contrairement à la peinture et au dessin, la photographie est une technique qui
permet de fixer une scène (presque) comme elle a été vue. La photo a longtemps été considérée
comme un témoignage fidèle et impartial, au point de servir parfois de preuve juridique ! [14].
Mais n’oubliez jamais que d’une part les techniques, aujourd’hui comme hier, permettent de
modifier la " réalité " présente sur la photo, d’autre part, une photo n’est qu’une partie des
scènes vues ! Petit échantillon séparé de l’ensemble, aussi bien dans l’espace (extrait d’une scène
plus globale), que dans le temps (instantané, ne montrant ni le passé, ni le futur).
Qualité artistique de l’image
Il s’agit de voir ce que l’image nous apprends sur le photographe et son intention. Choisie
comme moyen d’expression, l’image contient des impressions, des sentiments, une sensibilité,
un aspect de sa personnalité que le photographe nous communique. Contrairement à une idée
répandue, il n’est pas forcément question ici de faire référence à des siècles de culture et des années
d’étude !. Une œuvre artistique peut évidemment s’envisager dans la continuité (ou la rupture !)
de toute une histoire, mais tout essai d’écriture, de peinture, de musique, de photographie et
autre peut s’apprécier comme un ensemble de sentiments que l’auteur veut transmettre [14].
Tout dans l’image est susceptible de contribuer à cet effet :
– la technique, l’éclairage, la netteté, la composition...
– le choix du sujet
– les formes, les lignes
– l’assortiment des couleurs, les contrastes
– la texture du papier, l’aspect de l’image
– la présentation de l’image, la couleur et la matière du cadre, sa forme
– et tout le reste...
Chacun est libre de renforcer et de souligner comme il l’entend les sentiments qu’il veut faire
passer...
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
2.8
2.8.1
60
Cas des séquences animées
Analyse du mouvement
L’analyse du mouvement dans une séquence d’images numériques est un problème particulièrement ardu. La formulation de modélisations probabilistes appropriées, associée à des méthodes
d’estimation bayésienne, s’est développée à partir de la fin des années 1980 pour y répondre.
Qu’il s’agisse de détection (séparer les objets mobiles du fond fixe), de segmentation (partitionner l’image en régions de mouvement homogène), ou de mesure (calculer le champ des vitesses), le
problème revient à estimer des variables cachées (exprimant l’information de mouvement recherchée) à partir des observations que forment les intensités (ou leurs gradients spatio-temporels)
dans les images successives de la séquence. L’approche markovienne permet ainsi de résoudre
les épineux problèmes des mouvements incomplètement caractérisés localement, des observations bruitées, des occultations, et surtout des discontinuités, a priori inconnues, du mouvement.
Des modèles de champs de Markov hiérarchiques, spatiaux voire spatio-temporels, ont été ainsi
définis pour spécifier de manière mathématiquement bien fondée et algorithmiquement efficace
les propriétés attendues de la solution. Leur utilisation, associée à des représentations multirésolutions des images, permet d’appréhender les mouvements à différentes échelles et conduit à
des résolutions (itératives) performantes [39].
Les techniques d’estimation robuste sont venues compléter l’approche markovienne dans le
milieu des années 1990. Elles ont également permis le calcul direct du mouvement dominant
dans l’image, c’est-à-dire celui lié au mouvement de caméra, sans avoir besoin au préalable de
le dissocier des mouvements secondaires correspondant aux objets mobiles de la scène filmée.
Les applications de ces approches statistiques sont nombreuses : restauration de films anciens,
indexation de vidéo, mesure de champs de vents en météorologie, interfaces gestuelles, etc.
Actuellement, les chercheurs se penchent sur deux sujets difficiles. Tout d’abord, le problème
du suivi d’objets mobiles multiples (avec croisements éventuels) qui peut allier filtrage particulaire
et technique probabiliste d’association des mesures aux modèles de trajectoire estimés. La seconde
question concerne l’apprentissage statistique, à partir d’un jeu de séquences d’images, de modèles
de mouvement pour la détection ou la reconnaissance d’événements significatifs.
2.8.2
Les méthodes de compensation de mouvement
Les industries de la télévision, de la vidéo et de la cinématographie utilisent de nombreux
formats d’image. La résolution spatiale ou la fréquence d’images peuvent varier dans ces formats.
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
61
La fréquence d’images représente le nombre d’images par seconde. Par exemple, un film 35 mm
est tourné à 24 images par seconde, alors que la télévision utilise 30 images/seconde en Amérique
du Nord et 25 images/seconde en Europe. Il existe donc un besoin pour convertir les fréquences
d’images [11].
La conversion des fréquences d’images peut être réalisée par une répétition des images, par
un filtrage temporel ou par une interpolation à compensation de mouvement. La répétition des
images produit un mouvement saccadé et les filtres temporels produisent des zones de mouvement floues [45]. Ces méthodes simples sont inadéquates lorsqu’on désire des images de haute
qualité et de la finesse dans les mouvements. Bien que la méthode de l’interpolation des images
à compensation de mouvement (IICM) soit plus complexe à réaliser, elle offre de bien meilleurs
résultats que ceux obtenus par les autres méthodes. Le défi à relever est d’estimer de manière
précise le mouvement réel entre les deux images et de traiter adéquatement les surfaces couvertes
et nouvellement exposées créées par l’occlusion des mouvements.
Le CRC-FRC est un algorithme de conversion évolué de fréquences d’images pour les films
de haute qualité et la conversion temporelle vidéo. Le cœur de CRC-FRC est une technique
brevetée permettant l’interpolation de trames par compensation de mouvements basée sur les
objets. Comme il est axé sur les objets images plutôt que sur des blocs ou des pixels, le CRCFRC permet d’estimer avec une précision supérieure le vrai mouvement des objets. De nouvelles
images sont créées par interpolation temporelle à compensation de mouvement entre deux images
d’entrée et la direction du mouvement. Cette méthode produit des images de qualité supérieure et
un mouvement plus harmonieux, comparé à une répétition d’images uniques, au filtrage temporel
ou à l’interpolation d’images à compensation de mouvement conventionnelle.
Le mouvement réduit la similitude entre deux images et augmente la quantité de données
nécessaires à la création de l’image de différence. La compensation de mouvement est utilisée
pour accroître cette similitude. Le schéma ci-dessous en montre le principe.
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
62
Fig. 2.3 – Schéma de principe de la compensation de mouvement.
Quand un objet se déplace sur l’écran TV, il apparaît à un endroit différent, mais il ne change
pas beaucoup d’aspect. La différence d’image peut être réduite en mesurant le déplacement au
codeur. Ce déplacement est transmis au décodeur sous la forme d’un vecteur. Le décodeur utilise
ce vecteur pour décaler une partie de l’image précédente vers l’emplacement approprié dans la
nouvelle image. Un vecteur concerne le déplacement d’une zone entière de l’image appelée "
macrobloc ". La taille d’un macrobloc est déterminée par le codage DCT et la structure de souséchantillonnage couleur. La figure a, ci-dessous, montre que, dans un système 4 :2 :0, l’espacement
horizontal et vertical des échantillons couleur est exactement le double de l’espacement de la
luminance. Un simple bloc DCT de 8x8 échantillons couleur couvre la même surface que 4 blocs
de 8x8 échantillons de luminance. C’est pourquoi c’est la taille minimale de la zone d’image qui
peut être déplacée par un vecteur. Un macrobloc 4 :2 :0 contient donc 4 blocs de luminance, 1
bloc Cr et 1 bloc Cb. Dans la profil 4 :2 :2, la couleur n’est sous-échantillonnée que dans l’axe
horizontal [68].
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
63
Fig. 2.4 – Sous-échantillonnage de chrominance 4 :2 :0 et 4 :2 :2.
La figure ci-dessus, montre que, dans un système 4 :2 :2, un simple bloc de 8x8 échantillons
de chrominance couvre la même surface que deux blocs de 8x8 échantillons de luminance. Un
macrobloc 4 :2 :2 contient donc 4 blocks de luminance, 2 blocs Cr et 2 blocs Cb. Le calculateur de
mouvement utilise la comparaison des données de luminance entre deux images successives. Un
macrobloc de la première image est utilisé comme référence. Quand le signal d’entrée est entrelacé,
les pixels se trouveront à des endroits différents dans les deux trames et il sera alors nécessaire
d’interpoler une trame avant de la comparer à une autre. La corrélation entre la référence et
l’image suivante est effectuée pour tous les sens possibles de déplacement avec une résolution
de 1/2 pixel dans toute la plage de recherche. Quand la plus grande corrélation est trouvée,
elle est censée représenter le mouvement correct. Le vecteur de mouvement a une composante
verticale et une composante horizontale. Dans une image de programme normal, le mouvement
s’étend sur plusieurs images. On obtient un meilleur facteur de compression en transmettant
différentiellement le vecteur de mouvement. Par conséquent, si un objet se déplace à vitesse
constante, les vecteurs ne changent pas et la différence de vecteur est nulle. Les vecteurs de
mouvement sont associés à des macroblocs et non à des objets réels de l’image ; il peut se trouver
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
64
des occasions où une partie seulement du macrobloc se déplace et l’autre pas. Il est impossible,
dans ce cas, d’effectuer convenablement la compensation. Si le déplacement de la partie mobile
est compensé par la transmission d’un vecteur, la partie fixe sera déplacée indûment et devra être
corrigée par des données de différence. Si aucun vecteur de mouvement n’est transmis, la partie
fixe sera correcte mais il faudra des données de différence pour corriger la partie mobile. Un
compresseur devra donc essayer les deux méthodes et sélectionner la moins exigeante en données
de différence [102].
En MPEG, trois différents types d’image sont nécessaires pour effectuer le codage différentiel et le codage bidirectionnel avec un minimum d’erreurs de propagation : Les images I sont
intra-codées et ne nécessitent pas d’information supplémentaires pour être décodées. Elles nécessitent beaucoup de données comparativement aux autres types d’image et c’est pourquoi elles
ne sont transmises que quand cela est nécessaire. Elles consistent essentiellement en cœfficients
de transformée et n’ont pas de vecteur de mouvement. Elles autorisent la commutation de voies
et bloquent la propagation des erreurs. Les images P sont celles qui sont déduites d’une image
antérieure qui peut être de type I ou P. Les données d’une image P sont constituées de vecteurs
décrivant où chaque macrobloc doit être pris dans l’image précédente et des cœfficients non transformés décrivant la correction ou les données de différence à ajouter à ce macrobloc. Les images
P comportent pratiquement la moitié des données d’une image I. Les images B sont prédictées
bidirectionnellement à partir d’images antérieures ou postérieures de type I ou P. Les données
des images de type B consistent en vecteurs décrivant l’endroit où les données doivent être prises
dans les images antérieures ou postérieures. Elles contiennent également les cœfficients de transformée fournissant la correction. La prédiction bidirectionnelle est si efficace que les données de
correction sont minimes et que l’image de type P utilise pratiquement le quart des données par
rapport à une image de type I. Introduisons le concept de Groupe d’Images (GOP = Group Of
Pictures). Le GOP commence par une image I, suivie de quelques images P espacées et entre
lesquelles se placent les images restantes qui sont de type B. La fin du GOP se situe à la dernière
image précédant immédiatement une nouvelle image I. La longueur d’un GOP est variable, mais
la valeur la plus courante se situe entre 12 et 15. En fait, si les données d’une image B doivent
être utilisées pour construire une image ultérieure, ces données doivent rester disponibles dans
le décodeur. Par conséquent, le codage bidirectionnel implique que les données soient extraites
de la séquence et provisoirement sauvegardées [102].
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
65
Fig. 2.5 – L’ordonnancement du Flux vidéo.
La figure ci-dessus montre également que les données de l’image P sont émises avant celles
de l’image B. Notez également que les dernières images B du GOP ne peuvent être transmises
qu’après la première image I du GOP suivant dans la mesure où elles ont besoin de son contenu
pour être décodées bidirectionnellement.
Afin de replacer convenablement les images dans leur ordre, une référence temporelle est incluse dans chaque image. Comme des en-têtes sont régulièrement insérés dans le flux de données,
un fichier MPEG peut être affiché dans l’ordre chronologique sur un ordinateur, par exemple.
L’extraction des données d’image d’une séquence non seulement nécessite un supplément de
mémoire dans le codeur et le décodeur mais aussi génère du retard. Le nombre d’images bidirectionnelles insérées entre des images d’autres types doit être réduit pour diminuer le coût des
équipements et limiter le retard si celui-ci doit répondre à des contingences. Un compromis doit
être fait entre le facteur de compression et le retard de codage.
Fig. 2.6 – Le débit vidéo en fonction des types d’images utilisées.
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
66
Pour une qualité donnée, l’émission d’images I uniquement double pratiquement le débit par
rapport à une séquence IBBP. Quand les facilités de montage sont essentielles, une séquence IB
constitue un compromis pratique.
2.9
Les normes de compression des images
Jusqu’au début des années 80, les recherches ont essentiellement porté sur des algorithmes de
compression et ont donné naissance à des normes qui permettaient des économies de l’ordre de
10 à 90%, mais qui ont été très vite insuffisantes devant les problèmes que posaient le stockage de
milliers d’images ( banques d’images ) ou l’utilisation de séquences vidéo sur ordinateur, ce qui a
rendu nécessaire la mise en place sur le plan international de groupes de coordination et d’étude,
chargés de mettre au point des standards adaptés à ces applications afin de rendre cohérents et
compatibles les échanges d’informations sur les canaux de communication connus ou futurs [52].
2.9.1
La norme de compression JPEG
La norme JPEG (Joint Photographic Experts Group) est conçue par le groupe ISO (International Standards Organisation) et le groupe CEI (Commission Electronic International). Elle
est destinée à la compression des images fixes en couleurs et à niveaux de gris en vue de leurs
stockages sur les supports numériques [107].
Elle a été réalisée dans la perspective de couvrir les applications les plus diversifiées en tenant
compte des contraintes réalistes par rapport aux applications les plus visibles : publication,
transmission, banques d’images [19].
Les techniques définies par la norme JPEG se divisent en deux classes : les méthodes de
compression avec pertes qui sont basées sur la DCT suivie d’une quantification et d’un codage
entropique. La seconde classe, concerne les processus de codage sans pertes, cette classe de
codeurs n’est pas basée sur la DCT mais sur le codage MICD suivi d’un codage entropique.
Pour les méthodes avec pertes, quatre codeurs ont été spécifiés :
– Un codage de base où l’image compressée puis décompressée n’est plus identique à l’image
originale, ce processus utilise la DCT et un codage de Huffman [52].
– Les trois autres types de codage sont une extension de codage de base. Ils diffèrent de codage
de base principalement par le codage entropique en utilisant un codage arithmétique ou
par restitution progressive de l’image [86].
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
67
Fig. 2.7 – Principe de l’algorithme JPEG avec pertes.
Fig. 2.8 – Principe de l’algorithme JPEG sans pertes.
2.9.2
La norme de compression JBIG
La norme JBIG (Joint Bi-level Image Group) est destinée à la compression d’images photographiques représentées en deux tons ( noir et blanc ), et d’images textes.
Cette norme est destinée aussi, pour des débits variant de 9.6 Kbits/s à 64 Kbits/s. Elle
utilise un codage sans perte avec codeur arithmétique adaptatif. Sa structure est sous forme de
couches, chaque couche est un codeur indépendant [52].
2.9.3
La norme de compression H.26x
H.261 est une norme développée par CCITT (Commission Consultative Internationale de la
Télégraphie et de la Téléphonie). Ce standard est destiné au codage des images animées pour
la visiophonie (Téléphonie Visuelle) [52]. Le H-261 utilise un codage hybride combinant la DCT
et le codage prédictif. La DCT est utilisée pour la réduction de la redondance spatiale (codage
intra-trames). Le codage prédictif est utilisée pour la réduction de la redondance temporelle entre
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
68
les images de la séquence (codage inter-trames) [20].
H.264, ou MPEG-4 AVC, est une norme de codage vidéo développée conjointement par l’UITT Q.6/SG16 Video Coding Experts Group (VCEG) ainsi que l’ISO/CEI Moving Picture Experts
Group (MPEG) et est le produit d’un effort de partenariat connu sous le nom Joint Video Team
(JVT). La norme UIT-T H.264 et la norme ISO/CEI MPEG-4 Part 10 (ISO/CEI 14496-10) sont
techniquement identiques, et la technologie employée est aussi connue sous le nom AVC, pour
Advanced Video Coding. La première version de la norme a été approuvée en mai 2003 et la plus
récente date de mars 2005 [77].
Le nom H.264 provient de la famille de normes vidéo H.26x définies par l’UIT-T. Dans le
cadre de MPEG, le nom AVC a été choisi par analogie avec le codec audio AAC MPEG-2 part
7 qui avait été nommé ainsi pour le différentier du codec audio MPEG-2 part 3. La norme est
habituellement appelée H.264/AVC (ou AVC/H.264 ou H.264/MPEG-4 AVC ou MPEG-4/H.264
AVC) pour souligner l’héritage commun. Le nom H.26L, rappelant son lien avec l’UIT-T est
nettement moins commun mais toujours utilisé. De temps en temps, il est aussi appelé " le
codec JVT ", en référence à l’organisation JVT qui l’a développé. Il existe un précédent dans
l’élaboration d’une norme de codage vidéo commune entre MPEG et l’UIT-T avec MPEG-2 et
H.262 qui sont identiques. Cependant, ce codec a été développé dans le cadre de MPEG, l’UIT-T
se contente de l’adopter ensuite et de l’éditer en son sein.
A l’origine, l’UIT-T lança le projet H.26L en 1998 dans le but de créer une nouvelle architecture de codec ayant pour but un gain en efficacité de codage d’un rapport au moins égal à 2
par rapport aux standards existants (MPEG-2, H.263 et MPEG-4 Part 2). Un autre but était
de créer une interface simple pour pouvoir adapter le codec aux différents protocoles de transport (commutation de paquets et de circuits). Le codec a été développé en s’assurant qu’il serait
implantable sur plate-formes à un coût raisonnable, c’est à dire en tenant compte des progrès
réalisés par l’industrie des semi-conducteurs en matière de design et procédés. En 2001, le projet
H.26L avait atteint ses objectifs en taux de compression comme le démontrent des tests subjectifs réalisés par ... MPEG. C’est à ce moment que l’UIT-T et MPEG décidèrent d’un commun
accord de créer le Joint Video Team (JVT) dans le but de standardiser le codec ensemble et de
l’adapter aux différents besoins de l’industrie (Vidéophonie, Streaming, Télévision, Mobile). En
effet, les applications traditionnellement visées par l’UIT-T concernent les bas débits (Vidéophonie, Mobile), applications pour lesquelles H.26L était optimisé, alors que les membres de MPEG
désiraient l’adapter à d’autres formats (Télévision HD). Des outils algorithmiques comme le support de l’entrelacé ont été ajoutés et une réduction de la complexité a été accomplie. Le codec
H.264/AVC est donc adapté à une très grande variété de réseaux et de systèmes (par exemple,
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
69
pour la diffusion de la télévision , le stockage HD-DVD et Blu-Ray, le streaming RTP/IP, et des
systèmes de téléphonie propre à l’UIT-T) [77].
A la suite de la première version de la norme, le JVT a développé quelques extensions, connues
sous le nom Fidelity Range Extensions (FRExt). Ces extensions ont pour but de prendre en
charge une précision d’échantillonnage accrue (ajout des codages 10-bit et 12-bit) et une meilleure
définition de la chrominance (ajout des structures d’échantillonnage YUV 4 :2 :2 et YUV 4 :4 :4)
et visent des applications professionnelles (Studio). Plusieurs autres fonctionnalités ont aussi été
adoptées pour améliorer la qualité subjective en Haute Définition (ajout d’une transformée 8x8
en plus de la transformée 4x4 existante, ajout de matrices de quantification) ou pour des besoins
spécifiques (codage sans perte, support d’autres espaces de couleurs). Le travail de conception
sur les Fidelity Range Extensions a été finalisé en juillet 2004, et figé en septembre 2004.
Depuis la fin du développement de la version originale de la norme en mai 2003, le JVT a
fait publier 4 versions approuvés par l’UIT-T et MPEG, correspondant à l’ajout de FRExt et à
des corrections.
2.9.4
La norme de compression MPEG
Les efforts développés par les équipes du CCITT pour le H.261 ont été utilisés comme point de
départ pour le développement d’un standard de codage d’images animées par l’ISO, ce standard
s’intitule MPEG pour " Moving Pictures Experts Group " [19].
Contrairement au H.261 en première phase, MPEG est destinée au codage des images animées
en vue de leur stockage sur les supports numériques d’où les contraintes plus souples que celles
du H.261 (c’est pour cela qu’on l’appelle le standard des applications multimédia) [86].
La première phase de MPEG intitulée MPEG-1 spécifie une compression du signal vidéo à
un débit de 1.5 Mbits/s. Les deux autres phases ont pour but d’améliorer la qualité du codage
vidéo en sacrifiant une augmentation de débit, MPEG-2 est destinée à la compression du signal
vidéo à des débits d’ordre de 10 Mbits/s [6], MPEG-3 étant destinée à la télévision haute définition à des débits de 30 à 40 Mbits/s. Une quatrième phase, MPEG-4 est destinée au codage
d’images animées à très faibles débits (10 Mbits/s)[30]. Le MPEG-7, une phase visant à fournir
une représentation standard des données audio et visuelles afin de rendre possible la recherche
d’information dans de tels flux de données. Ce standard est ainsi également intitulé Multimedia Content Description Interface [102]. le MPEG-21, en cours d’élaboration, dont le but est de
fournir un cadre de travail (en anglais framework) pour l’ensemble des acteurs du numériques
(producteurs, consommateurs, ...) afin de standardiser la gestion de ces contenus et de spécifier
CHAPITRE 2. PRINCIPES DE LA COMPRESSION EN IMAGERIE
70
les droits d’accès, les droits d’auteurs, ... [73].
2.10
Conclusion
La compression des données est appelée à prendre un rôle encore plus important en raison du
développement des réseaux et du multimédia. Son importance est surtout due au décalage qui
existe entre les possibilités matérielles des dispositifs que nous utilisons (débits sur Internet, sur
Numéris et sur les divers câbles, capacité des mémoires de masse,...) et les besoins qu’expriment
les utilisateurs (visiophonie, vidéo plein écran, transfert de quantités d’information toujours plus
importantes dans des délais toujours plus brefs). Quand ce décalage n’existe pas, ce qui est rare,
la compression permet de toutes façons des économies. Les méthodes déjà utilisées couramment
sont efficaces et sophistiquées (Huffman, LZW, JPEG) et utilisent des théories assez complexes,
les méthodes émergentes sont prometteuses (fractales, ondelettes) mais nous sommes loin d’avoir
épuisé toutes les pistes de recherche. Les méthodes du futur sauront sans doute s’adapter à la
nature des données à compresser et utiliseront l’intelligence artificielle.
Chapitre 3
Compression des images fixes
3.1
Introduction
La société actuelle produit un nombre croissant de données qui doivent être traitées, transmises et / ou stockées. Celles-ci sont principalement des sons, des images ou des textes et
proviennent de différents secteurs tels que par exemple la physique, la médecine, la biologie,
l’industrie, la culture, le tourisme ou la finance.
A présent, l’ordinateur peut être associé à des analyseurs d’images, des caméras, des appareils
photo, des scanners, des modulateurs de transmission, etc..., sans oublier les logiciels et les
liaisons avec des banques de données. Ainsi secondé, il devient appareil de saisie de l’information,
enregistreur, machine de traitement, machine de création ou d’aide à la création, appareil de
diffusion de tous messages audiovisuels et autres, en d’autres termes : machines à communiquer.
Les supports traditionnels (papier, disque, bande) peuvent être remplacés par un support
unique et universel, la mémoire de l’ordinateur (RAM, Disque dur, ...), ce qui tente d’exprimer
le vocable " multimédia ". Le seul facteur de limitation à ces techniques réside pour le moment
dans l’énorme espace mémoire exigé par les images.
Un moyen réduisant le volume global des images tout en conservant l’image originale, consiste
en la compression des images avec le minimum de dégradation et le maximum d’efficacité possible.
La représentation de ces informations sous forme numérique fiabilise leur transmission à travers des réseaux informatiques et facilite leur manipulation. La numérisation présente cependant
un inconvénient : elle requiert que les dispositifs de stockage ainsi que les largeurs des bandes passantes des lignes de transmission soient suffisamment importants. Ceci n’est pas possible toujours
et il faut dans ce cas faire appel à des algorithmes de compression des données.
71
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
72
L’idée de base de la compression des images est de réduire le nombre moyen de bits par pixel
nécessaire à sa représentation. Il est possible dans une certaine limite de réduire ce nombre sans
perte d’information. Au-delà, il est nécessaire d’élaborer des algorithmes de compression (irréversibles) induisant une distorsion pas ou peu visible dans les conditions normales d’observation
des images.
Nous nous intéressons dans le premier volet de recherche doctorale, à la compression des
images numériques fixes et nous allons pour cela, présenté à la fin de ce chapitre notre méthode
de compression adaptative d’images fixes, qui se base sur les ondelettes de Haar.
3.2
3.2.1
Les diverses méthodes de compression
Classification des méthodes de compression
La plupart des méthodes de compression visent à enlever la redondance présente dans l’image
de manière à diminuer le nombre de bits nécessaires à sa représentation.
Plusieurs types de redondance en terme de corrélation peuvent être considérés :
– La redondance spatiale entre pixels ou blocs voisins dans l’image ;
– La redondance temporelle entre images successives dans une séquence vidéo ;
Les méthodes de compression peuvent se regrouper, en deux classes :
– Les méthodes sans perte d’information (sans distorsion ou réversible) ;
– Les méthodes avec perte d’information (avec distorsion ou irréversible).
Les expérimentations menées montrent que généralement les méthodes qui atteignent des
taux de compression très élevés sont les méthodes avec distorsion. Par contre, les méthodes
sans distorsion engendrent des taux de compression très faibles et ne sont utilisées que dans des
applications sensibles telles que les images médicales et les images satellites [25].
Les principaux critères d’évaluation de toute méthode de compression sont :
– La qualité de reconstitution de l’image ;
– Le taux de compression ;
– La rapidité du codeur et décodeur (codec).
Le schéma fonctionnel de la compression est présenté dans la figure ci-dessous :
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
73
Fig. 3.1 – Schéma d’un codeur source.
Décorrélation
La dépendance existante entre chacun des pixels et ses voisins (la luminosité varie très peu
d’un pixel à un pixel voisin) traduit une corrélation très forte sur l’image [59]. On essaie donc de
tirer partie de cette corrélation, pour réduire le volume d’information en effectuant une opération
de décorrélation des pixels. La décorrélation consiste à transformer les pixels initiaux en un
ensemble de cœfficients moins corrélés, c’est une opération réversible [24].
Quantification
La quantification des cœfficients a pour but de réduire le nombre de bits nécessaires pour
leurs représentations. Elle représente une étape clé de la compression [94]. Elle approxime chaque
valeur d’un signal par un multiple entier d’une quantité q, appelée quantum élémentaire ou pas de
quantification. Elle peut être scalaire ou vectorielle. Un des résultats fondamentaux des travaux
de Shannon concernant la relation : Débit/Distorsion, montre que l’on obtient de meilleures
performances en utilisant la quantification vectorielle [21].
Codage
Une fois les cœfficients quantifiés, ils sont codés. Un codeur doit satisfaire à priori les conditions suivantes [19] :
– Unicité : deux messages différents ne doivent pas être codés de la même façon,
– Déchiffrabilité : deux mots de codes successifs doivent être distingués sans ambiguïté.
Plusieurs types de codage seront détaillés ci-après.
3.2.2
Méthodes sans distorsion des données
Elles permettent de retrouver exactement les pixels de l’image numérique originale.
Méthodes statistiques (entropiques)
Le principe est d’associer à chaque pixel de l’image un mot de code dont la longueur dépend
de la probabilité d’apparition du niveau de gris correspondant.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
74
Pour obtenir un codage efficace, il suffit d’associer les mots de code les plus courts aux niveaux
de gris ayant les plus fortes probabilités d’apparition et inversement pour les niveaux présentant
une faible probabilité.
Les méthodes statistiques sont aussi connues sous le nom de méthodes VLC (Variable Length
Code). Elles peuvent être combinées avec d’autres schémas de codage telles que les méthodes par
transformée ou prédictives [10].
Codage de shannon-fano :
C.Shannon du laboratoire Bells et R. M. Fano du MIT ont développé à peu près en même
temps une méthode de codage basée sur de simples connaissances de la probabilité d’occurrence
de chaque symbole dans le message [62].
Le procédé de Shannon-Fano construit un arbre descendant à partir de la racine, par divisions successives. Le classement des fréquences se fait par ordre décroissant, ce qui suppose une
première lecture du fichier et la sauvegarde de l’en-tête [19].
le principe est le suivant
1. Classer les n fréquences non nulles fi par ordre décroissant.
2. Répartir la table des fréquences en deux sous tables de fréquences proches. Poursuivre
l’arborescence jusqu’à ce que toutes les fréquences soient isolées.
3. Attribuer dans l’arborescence le bit 0 à chaque première sous table et le bit 1 à la deuxième
sous table correspondante.
4. Attribuer à chaque symbole le code binaire correspondant aux bits de sa description sur
l’arborescence.
Codage de Huffman :
D.A. Huffman a inventé en 1952, un algorithme de compression capable, à partir d’une analyse
statistique des données, d’associer à celles les plus souvent présentes les codes les plus courts.
Inversement, les données les plus rares se verront attribuer les codes les plus longs [48].
Cet algorithme permet d’obtenir de bons résultats, mais il faut conserver entre la compression
et la décompression, le dictionnaire des codes utilisés (voir l’exemple sur annexes).
Le codage de Huffman crée des codes à longueurs variables sur un nombre entier de bits.
L’algorithme considère chaque message à coder comme étant une feuille d’un arbre qui reste à
construire. L’idée est d’attribuer aux deux messages de plus faibles probabilités, les mots codés
les plus longs. Ces deux mots codés ne se différencient que par leur dernier bit. Contrairement au
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
75
codage de Shannon-Fano qui part de la racine des feuilles de l’arbre et, par fusions successives,
remonte vers la racine [20].
le principe est le suivant
1. Répartir les fréquences fi des lettres.
2. Classer les symboles dans l’ordre décroissant des fréquences d’occurrence. Le résultat de
l’algorithme ne change donc pas si l’on remplace les fréquences fi par les probabilités
P
Pi = fi / fi .
3. Regrouper par séquences les paires de symboles de plus faible probabilité, en les reclassant
si nécessaire. Plus précisément : calculer s = f (in ) + f (in−1 ), la somme des deux plus
faibles fréquences.
4. Choisir le plus petit indice k tel que s soit supérieur ou égal à f (ik ), remplacer k par k+1.
5. Recomposer la table des fréquences en plaçant à la k me position la valeur s et en décalant
les autres d’une position vers le bas. Puis décrémenter n d’une unité, poursuivre jusqu’à
ce que la table des fréquences ne comporte plus que deux éléments.
6. Coder avec retour arrière depuis le dernier groupe, en ajoutant un 0 ou un 1 pour différencier les symboles préalablement regroupés.
Codage arithmétique :
Contrairement aux algorithmes de Huffman et de Shannon-Fano qui associent à des symboles
des motifs binaires dont la taille dépend de leur distribution. Le codeur arithmétique traite le
fichier dans son ensemble, en lui associant un unique nombre décimal rationnel.
Ce nombre compris entre 0 et 1, possède d’autant moins de chiffres après la virgule que le
fichier dont il est redondant. Ces chiffres décimaux dépendent non seulement des symboles du
fichier dans l’ordre où ils apparaissent, mais aussi de leur distribution statistique [20].
Algorithme du codage arithmétique
1. Calculer la probabilité associée à chaque symbole dans la chaîne à coder.
2. Associer à chaque symbole un sous intervalle proportionnel à sa probabilité, dans l’intervalle [0,1] (l’ordre de rangement des intervalles sera mémorisé car il est nécessaire au
décodeur).
3. Initialiser la limite inférieure de l’intervalle de travail à la valeur 0 et la limite supérieure
à la valeur 1.
4. Tant qu’il reste un symbole dans la chaîne à coder :
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
76
– largeur = limite supérieure - limite inférieure,
– limite inférieure = limite inférieure + largeur×(limite basse du sous intervalle du symbole),
– limite supérieure = limite inférieure + largeur×(limite haute du sous intervalle du symbole),
5. La limite inférieure code la chaîne de manière unique.
Méthodes Lempel Ziv
Les algorithmes de compression et décompression LZ ont des fonctionnement symétriques :
leur principe est fondé sur l’indexation de chaînes dans un dictionnaire qui, dans les deux cas,
est construit durant le traitement.
Le dictionnaire est défini comme un tableau de chaînes de tailles variables, repérées par leur
adresse ; la taille du tableau est également variable, limitée par le mode de codage des adresses.
Cette méthode, plus performante que celles utilisées auparavant, souffre cependant de
quelques difficultés. Sa programmation est assez complexe (gestion de pointeurs " glissants " sur
des fenêtres, gestion de tableaux de longueur variable composés d’objets de longueur variable),
et le programme peut conduire à des délais de traitement longs, notamment en compression. Le
traitement s’effectuant sur une fenêtre, c’est sa taille qui détermine les performances du dispositif : lors du codage, les chaînes du tampon de lecture sont comparées à toutes les positions dans
la fenêtre, et une taille réduite conduit à ne pas prendre en compte des chaînes répétées au delà
de cette distance ; en revanche, une taille plus importante impose des traitements considérables,
en multipliant le nombre de comparaisons nécessaires. De plus, s’il n’y a pas de correspondance,
les caractères doivent être transmis individuellement, avec une longueur de séquence à zéro, ce
qui peut conduire à une augmentation de la taille des données.
Fig. 3.2 – Principe de fonctionnement de LZ77.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
77
En 1978, Lempel et Ziv ont publié une nouvelle version de leur algorithme [108], abandonnant
le concept de fenêtre glissante. Le dictionnaire se construit dynamiquement, tout au long du
traitement. Chaque signe transmis par le codeur comprend un index dans le dictionnaire, ainsi
que le caractère suivant à coder. La longueur de la chaîne n’a plus à être transmise, puisqu’elle
est conservée dans le dictionnaire ; la concaténation de la chaîne répétée avec le caractère suivant
est également placée dans le dictionnaire, et devient ainsi disponible pour la totalité du codage
ultérieur. Cette nouvelle version permet de dépasser les limites de LZ77, et améliore largement
les performances, surtout sur les fichiers longs. Cependant, une nouvelle difficulté apparaît :
la taille du dictionnaire est limitée par le mode de codage de ses index (souvent sur 16 bits,
soit 65 536 entrées), et il est donc nécessaire de gérer l’évènement " dictionnaire plein ". Une
possibilité est de laisser le dictionnaire en l’état, et de simplement l’utiliser, mais cela conduit à
une détérioration des performances dans le cas de longs fichiers, qui peuvent présenter de grands
changements dans la nature des données ; une autre solution est de supprimer le dictionnaire
existant, et d’en reconstruire un autre, mais, dans le cas de données homogènes, cela peut conduire
à une détérioration des performances. La solution généralement retenue est d’analyser le taux de
compression obtenu avec le dictionnaire existant, et de le reconstruire seulement si on constate
une détérioration.
Terry Welch (le " W " de LZW) a publié en 1984 de nouvelles améliorations [109]. Contrairement au dictionnaire de LZ78, qui ne contient au départ qu’une chaîne vide repérée par l’index
" 0 ", celui de LZW comprend au départ les codes ASCII, repérés de 0 à 255 ; tous les symboles
peuvent ainsi être directement codés selon le dictionnaire, permettant ainsi d’éviter la détérioration des performances pour les fichiers ne présentant que peu de répétitions. De plus, Welch a
également défini les principes de communication entre codeur et décodeur : le caractère autoadaptatif du procédé est amélioré par la possibilité d’adapter dynamiquement les paramètres au
cours du codage, les modifications étant communiquées au décodeur selon un codage spécifique.
Il s’agit par exemple de l’augmentation de la taille des adresses, de la purge partielle ou totale
du dictionnaire, de la création temporaire d’un autre dictionnaire, et plus généralement de tout
changement de technique de compression en cours de traitement.
La plupart des compacteurs du marché utilisant LZ et ses variantes (Arj, Pkzip...) exploitent
conjointement un algorithme statistique limité (issu de Huffman ou de Shannon-Fano), mais
en évitant l’analyse préalable de l’ensemble du fichier, trop pénalisante en termes de vitesse
d’exécution. Dans la plupart des cas, l’analyse est limitée à une fenêtre, dont la taille varie en
fonction des mesures de représentativité statistique des résultats obtenus. D’autres variantes
prévoient d’effectuer le compactage par " paquets " de taille fixe, ce qui permet des codages
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
78
statistiques faciles, tout en ménageant des possibilités d’accès direct et de traitement " au vol "
(modems).
Le plus cité des algorithmes LZ, le LZW (perfectionnements divers apportés par Welch en
84) est sans doute aussi le moins utilisé, car il a fait l’objet d’un brevet déposé par Unisys pour
une exploitation directe par le système Unix. Dans la plupart des cas, les algorithmes mis en
œuvre par les logiciels actuels sont des évolutions de LZ77 ou LZ78, exploitant quelques uns des
principes mis en place par Welch, comme le codage des caractères ASCII ou l’adaptation de taille
des dictionnaires.
Performances
Les codages Lempel Ziv sont à ce jour ceux qui permettent les meilleurs taux de compactage non destructif sur la plupart des fichiers. Les possibilités de paramétrage et d’association à
d’autres techniques (statistiques notamment) offrent une infinité de variations permettant d’optimiser le rapport entre taux de compression et vitesse de traitement. Les taux obtenus sur un
jeu d’essai mettent en évidence des compressions deux fois plus efficaces que celle de Huffman
[9]. Les tests effectués par Mark Nelson montrent des gains de compression moyens compris entre
45 et 50% pour les différentes variantes [10].
Implémentations
De très nombreux programmes de tous types utilisent les algorithmes LZ. Outre les utilitaires
spécialisés (Arc, Pkzip, Lharc, Arj), on peut citer les logiciels de sauvegarde (QIC-122 pour
les sauvegardes à bandes, PC Backup, Norton Backup, MS Backup, Sytos), les protocoles de
transmission haute vitesse par modem (V42bis), ainsi que diverses implémentations intégrées aux
systèmes d’exploitation (Compress sous Unix, Dblspace de DOS 6). L’ensemble des compacteurs
" temps réel " (Dblspace, Stacker...) utilisent ces techniques. Les variantes mises en œuvre sont
souvent issues de LZ77, qui se révèle plus performant sur les fichiers courts (le dictionnaire, et
donc l’efficacité de LZ78 et des versions postérieures croissent avec la taille du fichier) ; en outre,
il a l’avantage d’être dans le domaine public.
Les algorithmes et exemples donnés sont issus de Plume [7]. Les algorithmes de compactage
et décompactage utilisent un dictionnaire de taille limitée (1024 entrées). Les codes sont donc
toujours de même taille (sur 10 bits) (voir l’exemple sur annexes). Certaines variantes utilisent
des dictionnaires de taille variable, les codes étant eux-mêmes de longueur croissante au long du
fichier. Un code réservé indique alors que le nombre de bits de codage est incrémenté.
Algorithme de compactage LZ
début
/∗ Initialisation∗ /
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
Dictionnaire = table ASCII
Code_latent = ””/∗ vide∗ /
Maxdim = 1024/∗ taille maximale du dictionnaire (optionnel)∗ /
Taille_dico = 257
/∗ Traitement∗ /
lire l’octet 1 du fichier
c = octet1
Tant que c<>EOF/∗ fin de fichier = faux∗ /
si Code_latent = " "/∗ vide∗ /alors
Code_latent = c
Ancien_rang = ASCII(c)/∗ sauve le rang de c∗ /
sinon
Chaine = latent + c/∗ concatenation∗ /
si chaine appartient au dictionnaire
alors
Code_latent = Chaine
Ancien_rang = rang de chaine dans le dictionnaire
sinon
Emettre(Ancien_rang)
Ajouter chaine au dictionnaire
Taille_dico = Taille_dico + 1
si Taille_dico=Maxdim
alors/∗ reinitialisation du dictionnaire (optionnel)∗ /
Emettre code 257
Taille_dico = 257
fin si
Code_latent = c
Ancien_rang = ASCII(c)
fin si
fin si
Lire(c)
Fin Tant que
Emettre Ancien_rang/∗ indice dernière chaîne∗ /
Emettre 256/∗ codef in de traitement∗ /
79
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
fin traitement
Algorithme de décompactage LZ
Debut
/∗ initialisation∗ /
Dictionnaire =table ASCII
Code_latent = ””
Code_fin_compression = 256
/∗ traitement∗ /
Lire Code
Tant que Code <> 256
/∗ fin de compression ∗ /
si Code_latent = " "
alors
Code_latent = Code
Emettre Code
sinon
si Code < 255
Alors
Emettre Code
Chaine = Code_latent + Code
Ajouter Chaine au dictionnaire
Code_latent = Code
sinon
Chaine= Séquence (code)
/∗ chaine correspondant à ce code dans le dictionnaire∗ /
Emettre Chaine
Chaine_tempo = Code_latent + premier caractère de Chaîne
Ajouter Chaine_tempo au dictionnaire
Code_latent = Chaine
fin si
fin si
fin tant que
fin traitement
80
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
81
Méthodes de plages (Compression Run Length Encoding)
Lorsqu’on considère une ligne de la matrice représentant une image numérique, plusieurs
échantillons successifs sur cette ligne peuvent posséder la même valeur.
L’ensemble de ces échantillons est appelé " plages ". Cette méthode consiste donc à décrire
les suites des pixels identiques par leurs longueurs et leurs valeurs. Par exemple, une plage de
vingt pixels noirs équivaut à la donnée de 2 nombres : 20 et 0 [19].
Le procédé " Run Length " ne relève pas d’une théorie mathématique très complexe. Il
s’agit simplement de remplacer des éléments signifiants successifs identiques par un seul d’entre
eux, suivi du nombre de répétitions (un exemple de traitement RLE est donné sur annexes).
Ce procédé peut paraître simpliste et peu performant si on cherche à l’appliquer, par exemple,
à un texte : même dans plusieurs langues, les répétitions nombreuses de lettres n’apporteraient
qu’une compression dérisoire !. En revanche, si on l’applique à une image, en particulier d’origine infographique, il est aisé de s’apercevoir que les plages de couleur homogènes sont souvent
importantes, surtout si le nombre de couleurs est faible, et l’image limitée à la colorisation de
quelques centaines de pixels, sur un fond uniforme...
Particulièrement simple à mettre en œuvre, c’est un procédé qui a été largement utilisé par
les logiciels de dessin dans les années passées, éventuellement associé à un autre algorithme plus
complexe. Dans certains cas, le RLE est utilisé pour les images animées, sans aucune exploitation
de la redondance temporelle.
Procédé
Si n octets successifs sont dans un même état, il est aisé de transmettre l’octet répété et
le nombre de répétitions. On pourra ainsi, dans la plupart des cas, coder sur 3 octets les n
octets composant le signal initial. Dans le cas de textes, voire de fichiers binaires, cette analyse
exclusivement réalisée au niveau des octets successifs n’apporterait qu’une faible amélioration ;
en revanche, dans le cas d’images bitmap (codées pixel par pixel), et particulièrement pour les
dessins réalisés " à main levée ", les plages de répétition sont considérables (zones de couleurs
homogènes), et les résultats beaucoup plus probants [48].
S’il est relativement simple de coder l’octet à répéter, suivi du nombre de répétitions dans
l’octet suivant, cette méthode peut se révéler très pénalisante pour certains fichiers : à la limite,
si deux octets consécutifs sont toujours différents, le volume du fichier " compressé " sera le
double de celui du fichier initial ! Pour éviter cet inconvénient, les versions les plus avancées du
codage Run Length utilisent un code discriminant pour indiquer le début d’une séquence " octet
à répéter + nombre de répétitions ", les octets isolés restant codés sous leur forme initiale.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
82
Performances
On le comprendra aisément, un tel codage ne peut apporter des performances considérables,
mais il présente l’avantage de la simplicité. Cette méthode convient mieux à des dessins bitmap,
mais peut apporter des résultats comparables pour des images naturelles en 256 couleurs. Au
delà (codages sur 4 096 couleurs et plus), les résultats obtenus se révèlent plus décevants, les
pixels identiques étant moins fréquents [59].
En pratique, on obtient des gains de compression de 30 à 50% dans la plupart des cas pour
les dessins, sensiblement moins pour les images naturelles.
Implémentations
Le format PCX de Z-soft, repris à son compte par Microsoft avec les différentes implémentations de Paintbrush, sans doute un des plus répandus des formats graphiques, utilise ce mode de
compression. Après un en-tête de 127 octets contenant diverses informations sur le codage (taille
de l’image, nombre de plans, nombre de bits par pixel, ainsi éventuellement que des informations
de palette), on rencontre les données compressées selon ce principe. Dans le cas où l’image est
codée selon des plans de couleur (RVB par exemple), le codage se fait ligne par ligne, successivement dans les différents plans (par exemple, en VGA 16 couleurs, ligne 1 dans les quatre plans,
puis ligne 2 dans les quatre plans, etc.).
Le codage Run Length est également largement utilisé dans les différents modes de télécopie
développés par le CCITT (télécopie groupes 3 et 4 en particulier), généralement associé à un
codage statistique de Huffman.
Les extensions multimédias de Windows reconnaissent également les fichiers RLE, qui sont
une version compressée Run Length du format BMP. Ce format n’a guère connu de succès auprès
des éditeurs, qui préfèrent en utiliser d’autres plus répandus (PCX ou TIFF par exemple), ou
directement le format BMP non compressé [58].
Le CD-I de Philips, parmi d’autres formats graphiques, utilise deux formats Run Length
codés respectivement sur deux octets avec une palette sur sept bits (CLUT 7) et sur un octet
avec une palette sur trois bits (CLUT 3).
La méthode Run Length se révèle inutile lorsque les systèmes d’exploitation ou des utilitaires
de bas niveau (Dblspace de DOS 6.0, Stacker...) mettent eux mêmes en œuvre des dispositifs plus
performants (généralement LZx). L’utilisation de ces outils, qui travaillent directement au stade
des écritures sur disques rend la méthode Run Length totalement inutile : on ne constate pratiquement aucune différence de taille après compactage entre les fichiers soumis non compressés
et ceux qui ont été traités par Run Length au préalable.
Les méthodes Run Length consistent à coder les octets répétés sous forme d’un seul octet,
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
83
suivi du nombre de répétitions. Cette méthode non dégradante est très simple, mais donne néanmoins de bons résultats pour certains types d’images (dessins au trait, images monochromes).
Les codages Run Length sont surtout utilisés actuellement sur des matériels disposant de
faibles capacités de traitement (télécopie, CD-I).
Méthodes prédictives (Différentielles)
Dans le cas des images, il est aisé de constater qu’il y a une forte corrélation spatiale entre un
pixel et la zone qui l’entoure : dans la très grande majorité des cas, les images, naturelles ou de
synthèse, présentent de larges zones dont les couleurs sont très proches (ciel, mer, constructions,
etc.). Pour les images animées, quiconque a regardé par transparence un morceau de film a pu
constater que les images successives sont très souvent quasi semblables. À la corrélation spatiale
évoquée plus haut s’ajoute donc une corrélation temporelle, sans doute encore plus forte.
Méthode différentielle simple
Une première étape pour réduire la taille des données est de transmettre non plus la valeur
de l’échantillon, mais celle de la différence avec l’échantillon précédent, qui est statistiquement
inférieure et peut donc être codée sur un nombre de bits plus réduit. L’utilisation de ce principe
pour un codage non dégradant (entièrement réversible) suppose cependant un codage des différences entre deux échantillons avec un codage à longueur variable, à la manière de la méthode
de Huffman. Or, une telle méthode, qui suppose une analyse statistique préalable de l’ensemble
des données, n’est pas adaptée à ce type d’utilisation : d’une part, elle ne peut être appliquée en
temps réel (analyse et compression en deux passes), et, d’autre part, elle nécessite des traitements
de décodage plus complexes qui peuvent se révéler incompatibles avec les matériels de restitution
grand public envisagés.
Exemple
Dans le cas des images fixes, on peut également utiliser une méthode différentielle, par ligne,
ou par colonne. Chaque pixel sera alors codé à partir de la différence avec le pixel précédent, et on
peut alors appliquer les méthodes Huffman ou LZ aux données obtenues. Ce codage, largement
utilisé par le passé, suppose néanmoins des traitements assez lourds (calcul des différences et
codage LZW) et se révèle de moins en moins performant lorsque le nombre de couleurs augmente.
Dans ce cas, il est nécessaire de réaliser un codage en 3 plans monochromes (RVB ou YUV) pour
obtenir de bons résultats.
On peut également citer le format DYUV exploité par le CD-I, qui ne code totalement que
le premier pixel de chaque ligne, les autres étant codés par différence avec l’élément précédent.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
84
Méthodes adaptatives (Différentielles)
La méthode prédictive est l’une des plus anciennes, c’est une méthode décorrélative dont le
principe est le suivant :
Dans le codage par prédiction la valeur de chaque pixel est prédite à partir des pixels précédemment codés. Seul l’écart entre la valeur prédictive et la valeur réelle est quantifié puis codé
et transmis. L’écart étant en général faible, sa représentation nécessite moins de bits que le pixel
lui même. Les méthodes prédictives permettent une mise en œuvre facile et conduisent à de
bons taux de compression. Elles sont efficaces pour les images dont les évolutions temporelles ou
spatiales sont petites [24].
Les méthodes classiques de compactage, comme celles de Huffman ou de Lempel-Ziv, permettent alors de réduire la taille des données obtenues. Dans le cas le plus simple, la prédiction
est réalisée à partir de la moyenne des pixels de l’image, le cœfficient de corrélation des pixels
consécutifs, et l’unique valeur du pixel précédent.
L’algorithme obtenu est dissymétrique : le codage, qui comprend une analyse préalable de la
totalité de l’image, se révèle largement plus complexe que le décodage. Des procédés plus élaborés
peuvent être utilisés en étendant l’environnement à un plus grand nombre de pixels (souvent 8),
ainsi qu’en découpant l’image de base en plusieurs images plus réduites (souvent 8x8 pixels), ce
qui permet de réduire l’écart type.
La compression d’images selon ces méthodes donne des gains de compression temporelle
très variables, selon la nature des données (entre 20 et 80%), mais qui se détériorent lorsque le
nombre de couleurs augmente. Les algorithmes prédictifs introduisent la notion de traitement
dissymétrique, le codage étant beaucoup plus complexe (et long) que le décodage.
En ce qui concerne les images, le format GIF, développé par Compuserve, utilise la méthode
différentielle, associée aux méthodes de compactage traditionnelles LZ et Huffman.
3.2.3
Méthodes avec distorsion des données
Ces méthodes permettent de retrouver une approximation de l’image numérique. Les pertes
sont généralement indécelables à l’œil nu.
Quantification vectorielle
Les techniques de compression d’images exploitent généralement la redondance statistique
présente dans l’image. La quantification scalaire qui associe à une variable continue une variable
discrète pouvant prendre un nombre plus faible, et fini de valeurs. Ces valeurs ne sont jamais tota-
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
85
lement décorrélées, ou indépendantes. Shannon a montré qu’il était toujours possible d’améliorer
la compression de données en codant des vecteurs plutôt que des scalaires [20].
La Quantification Vectorielle (QV), développée par Gersho et Gray [93] a pris une place très
importante dans le domaine de la compression d’image que ce soit dans le but de transmission
ou d’archivage.
Principe de la quantification vectorielle
La quantification vectorielle, dans son sens le plus général, est l’approximation d’un signal
d’amplitude continue par un signal d’amplitude discrète [16]. Elle peut être vue comme une
application Q associant à chaque vecteur d’entrée x de dimension K, un vecteur y = Q(x) de
même dimension appartenant à un ensemble fini Y appelé DICTIONNAIRE de taille finie N, Y
= (yj , j = 1...N). Elle se décompose en deux applications : codeur, décodeur [93].
Codeur
Le rôle du codeur consiste, pour tout vecteur x du signal en entrée, à rechercher dans le
dictionnaire Y le code vecteur yj le plus proche du vecteur source x. C’est uniquement l’adresse
du code vecteur yj ainsi sélectionnée qui sera transmise ou stockée. C’est à ce niveau donc que
s’effectue la compression.
Décodeur
Il dispose d’une réplique du dictionnaire et consulte celui-ci pour fournir le code vecteur
d’indice correspondant à l’adresse reçue. Le décodeur réalise l’opération de décompression.
Fig. 3.3 – Principe du quantificateur vectoriel.
Où M inj d(x,yj ) = distorsion minimale entre les vecteurs x et yj .
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
86
Méthodes par transformée
Dans ces méthodes, l’image de dimension NxN est subdivisée en sous images ou blocs de
taille réduite (la quantité de calcul demandée pour effectuer la transformation sur l’image entière
est très élevée) [23]. Chaque bloc subit une transformation mathématique orthogonale inversible
linéaire du domaine spatial vers le domaine fréquentiel, indépendamment des autres blocs (transformée en un ensemble de cœfficients plus ou moins indépendants). Les cœfficients obtenus sont
alors quantifiés et codés en vue de leur transmission ou de leur stockage. Pour retrouver l’intensité des pixels initiaux, on applique sur ces cœfficients la transformation inverse [22]. Parmi les
transformations linéaires existantes :
– Transformation de Karhunen-Loeve (KLT).
– Transformation de Fourrier discrète (DFT).
– Transformation de Hadamard (HT).
– Transformation en ondelettes (WT).
– Transformation en cosinus discrète (DCT).
Le principe d’un système de codage par transformation est le suivant :
Fig. 3.4 – Principe d’un système de codage par transformation.
Transformation en Cosinus Discrète (DCT) :
C’est une transformation mathématique qui transforme un ensemble de données d’un domaine spatial en un spectre de fréquence et inversement(IDCT). C’est la plus utilisée parmi les
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
87
transformations citées.
Elle permet schématiquement de changer l’échelle de mesure, en passant d’une échelle définissant un pixel en fonction de sa position en x et en y à une échelle définissant la fréquence
d’apparition de ce pixel dans un bloc de pixels, en effet, il est dés lors possible de supprimer des
informations sans pour autant altérer le résultat final, contrairement à un bloc de pixels où la
disparition brute de plusieurs éléments est immédiatement visible [40].
La DCT est effectuée sur une matrice carrée N × N de valeurs de pixels et donne une matrice
carrée N × N de cœfficients de fréquence. Le temps de calcul requis pour chaque élément dans
la DCT dépend de la taille de la matrice.
Vu la difficulté d’appliquer la DCT sur la matrice entière, celle-ci est décomposée en blocs
de taille 8 × 8 pixels.
A la sortie de la matrice de la DCT, la valeur de la position (0,0) est appelée le cœfficient
continu, cette valeur représente une moyenne de la grandeur d’ensemble de la matrice d’entrée,
ce cœfficient est plus grand d’un ordre de grandeur à toute valeur dans la matrice de la DCT,
par convention, les 64 valeurs transformées (de chaque bloc) sont positionnées d’une certaine
manière, ainsi la valeur moyenne de tous ces cœfficients est placée en haut à gauche de ce bloc.
Plus on s’éloigne des cœfficients continus plus leur grandeurs tendent à diminuer. Ce qui signifie
que la DCT concentre la représentation de l’image en haut à gauche de la matrice de sortie. Les
cœfficients en bas et à droite de cette matrice contient moins d’information utile [19].
Les équations qui suivent, donnent respectivement la transformée en cosinus discrète directe
et inverse.
Transformée Directe
Pour u, v = 0, 1, 2,...,N-1.
Transformée Inverse
Pour x, y = 0, 1, 2,...,N-1. Avec :
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
88
f(x,y) représente une valeur de l’image initiale pour x et y données.
F(u,v) représente les cœfficients de la DCT.
N représente la taille d’un bloc.
La compression JPEG Avec perte
Historique :
L’histoire commence à la fin des années 80, lorsque deux importants groupes de normalisation,
le CCITT (Commission Consultative Internationale de la Télégraphie et de la Téléphonie) et
l’ISO (Organisation Internationale de Standardisation) ont décidé de créer, appuyés par divers
groupes industriels et universitaires, une norme internationale pour la compression d’images fixes
[107]. La mise en place d’un standard international était devenue nécessaire pour archiver ou pour
faciliter l’échange des images dans des domaines aussi variés que les photos satellites, l’imagerie
médicale, la télécopie couleur, ou la cartographie [52]. C’est ainsi que fut créé le groupe JPEG
(Joint Photgraphic Experts Group) à l’origine de la norme qui porte son nom. Cette norme
comprend des spécifications pour les codages conservateurs (l’image est restituée identique à
elle-même à la suite du codage) et non conservateurs (l’image est légèrement modifiée pendant
le cycle de compression mais cette modification reste imperceptible pour l’œil) de l’image. Le
JPEG est aujourd’hui largement utilisé dans les secteurs de l’informatique et de la communication
(appareils photo numériques, scanners, imprimantes, télécopieurs,...) [14].
Principe général :
Le principe de l’algorithme JPEG pour une image à niveaux de gris (étant donné qu’une
image couleur est la somme de 3 images de ce même type, dans la suite nous ne considérerons
plus que ce genre d’images) est le suivant. La matrice des pixels de l’image numérique est décomposée en blocs de 8×8 pixels qui vont tous subir le même traitement. Une transformation linéaire,
le plus souvent du type FFT (Fast Fourier Transform) ou DCT (Discret consine Transform) est
réalisée sur chaque bloc. Ces transformations complexes concentrent l’information sur l’image
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
89
en haut et à gauche de la matrice [68]. Les cœfficients de la transformée sont ensuite quantifiés
à l’aide d’une table de 64 éléments définissant les pas de quantification. Cette table permet de
choisir un pas de quantification important pour certaines composantes jugées peu significatives
visuellement. On introduit ainsi un critère perceptif qui peut être rendu dépendant des caractéristiques de l’image et de l’application (taille du document). Des codages (prédictif, entropique,
l’algorithme de Huffmann ou arithmétique), sans distorsion, sont ensuite réalisés en utilisant les
propriétés statistiques des images. Ces compressions seront suivies d’une transformation inverse
de la transformation initiale, conduisant à la restitution de l’image [54].
Approfondissons un peu...
Soit un bloc de 8 × 8 pixels à 256 niveaux de gris.
Remarque
Si l’on avait pris une image 24 bits, on aurait eu trois matrices différentes ; l’une codant pour
le rouge, l’une codant pour le vert et l’une codant pour le bleu. On peut aussi ajouter une matrice
pour la chrominance ou pour la luminance. Mais alors l’image sera codée sur 32 bits...
Matrice de pixels d’entrée :
La DCT
L’image est découpée en bloc de 8 × 8 pixels. Ensuite la Transformée en Cosinus Discrète
(DCT) est appliqué sur les pixels de chaque bloc. Cette transformation numérique est une variété
de la transformée de Fourier. Elle permet de décrire chaque bloc en un graphique de fréquences
(correspondant à l’importance et à la rapidité d’un changement de couleur) et en amplitudes (qui
est l’écart associé à chaque changement de couleur) plutôt qu’en pixels et qu’en couleurs comme
c’est le cas normalement. La DCT étant un procédé très complexe nous ne pouvons aller plus
loin dans notre développement et une longue formule que l’on ne comprend pas n’apporterait
rien... A ce niveau-ci il n’y a pas encore de pertes de données [68].
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
90
Matrice DCT :
Les valeurs de la matrice DCT ont été arrondies à l’entier le plus proche. Le cœfficient
continu 1210 sur la composante (0,0) représente " la moyenne " de la grandeur d’ensemble de la
matrice d’entrée. Cette moyenne n’est pas une moyenne statique mais un nombre proportionnel
à la somme de toutes les valeurs du signal. Les autres valeurs de la DCT sont les " écarts "
par rapport à cette moyenne. Lorsque l’on monte dans les hautes fréquences, les valeurs de la
matrice ont tendance à s’approcher de 0 quand on s’éloigne du coin supérieur gauche de la
matrice. L’étape de la quantification de chaque bloc regroupe les ensembles de valeurs proches
[68].
Ensuite, chaque amplitude originale sera remplacée par la valeur moyenne de l’intervalle,
c’est à dire l’étape de quantification est de diminuer la précision du stockage des entiers de
la matrice DCT pour diminuer le nombre de bits occupés par chaque entier. C’est la partie
non conservative de la méthode. Les basses fréquences sont conservées, la précision des hautes
fréquences est diminuée. La perte de précision est plus grande lorsqu’on s’éloigne de la position
(0,0). Les valeurs de la matrice DCT sera divisée par la matrice de quantification [68].
La quantification
Supposons qu’une variable puisse prendre les valeurs 1, 2, 3, 4, 5... Si l’on prend un pas de
quantification de 4 on garde le quotient de la division euclidienne de la valeur par le pas de
quantification. Pour cela on utilise d’abord les congruences pour trouver le reste de la division
euclidienne, cette division est de la forme a = bq + r avec 0 < r < b donc q = (a − r)/b Donc
pour trouver le reste il faut d’abord le calculer avec une congruences de la forme a congru à r
modulo b.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
91
Donc si on prend un pas de quantification de 4 on va remplacer :
0, 1, 2, 3 par 0
4, 5, 6, 7 par 1
8, 9, 10, 11 par 2
12, 13, 14, 15 par 3
C’est à cette étape que nous allons perdre de l’information et nous allons la perdre d’une
manière " astucieuse " parce que le pas de quantification dont dépend la précision de l’image
restituée, va dépendre de la position de la valeur dans la matrice. Nous allons prendre un pas
relativement petit pour les valeurs importantes (en haut à gauche) et prendre un pas de plus en
plus grand au fur et à mesure qu’on descend vers le bas et la droite de la matrice. L’ensemble
des pas qui vont être utilisés constituent ce que l’on appelle une matrice de quantification. Une
matrice peut être fabriquée grâce une petite formule :
Q(i, j) = 1 + (1 + i + j) × F q, F q est le facteur de qualité.
Si l’on prend ici un facteur de qualité de 2 nous obtenons après calcul la matrice qui va suivre.
Le calcul est très simple, on prend la position de chaque pixel dans la matrice DCT, la valeur
du pixel n’intervient pas dans le calcul, puis on met le résultat dans la matrice de quantification
aux mêmes coordonnées que dans la matrice DCT.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
92
Matrice de quantification :
Matrice DCT quantifiée :
Pour cela on divise juste comme expliqué ci-dessus la matrice DCT par la matrice de quantification. Et cela nous donne :
Lors de la décompression, il suffira de multiplier la valeur de la matrice DCT quantifiée par
l’élément correspondant de la matrice de quantification pour obtenir une approximation de la
DCT. La matrice obtenue est appelée matrice DCT déquantifiée.
L’encodage :
Le codage de la matrice DCT quantifiée se fait en parcourant les éléments dans l’ordre imposé
par une séquence appelée Séquence zigzag (voir figure ci-dessous). Les éléments sont parcourus
en commençant par les basses fréquences puis ensuite en traitant les fréquences de plus en plus
élevées. Etant donné qu’il y a beaucoup de composantes de hautes fréquences qui sont nulles
dans la matrice DCT, la séquence zigzag engendre de longues suites de 0 consécutifs. D’une part,
les suites de valeurs nulles sont simplement codées en donnant le nombre de 0 successifs. D’autre
part, les valeurs non nulles seront codées en utilisant une méthode statistique de type Huffman
[68].
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
93
Remarque : Les fréquences les plus hautes se situent en bas à droite et les fréquences les
plus basses se situent en haut à gauche.
Fig. 3.5 – Séquence ZigZag.
Compression par ondelettes :
Historique :
La théorie sur laquelle repose la technologie des ondelettes est récente : début des années
1980. Bien que plusieurs scientifiques aient contribué à ce projet, le géophysicien français Jean
Morlet est généralement reconnu comme étant le père de cette méthode de compression [55].
Dans un premier temps, nous allons nous intéresser à l’analyse multirésolution, elle conduit
directement à la transformée en ondelettes. La modification de la résolution d’un signal permet
de traiter les détails pour une échelle choisie. L’aspect théorique de l’analyse multirésolution est
exposé en reprenant la présentation faite par S. Mallat [111] et Y. Meyer [112]. La présentation
décrit un algorithme pyramidal de calcul rapide de la transformée en ondelettes utilisée dans
JPEG2000.
Décomposition par ondelettes et Analyse multirésolution :
Cette partie a pour but de présenter la décomposition par ondelettes et l’Analyse MultiRésolution (AMR). La compression adaptative développé, est basée sur l’analyse par ondelettes de
Haar. Les ondelettes permettent de représenter une image, comme le font les fonctions sinus et
cosinus dans l’analyse de Fourier. Les ondelettes améliorent l’étude des signaux par rapport aux
cosinus et sinus. Elles autorisent une bonne localisation en temps et en fréquence, toute l’information se concentre sur très peu de cœfficients. La décomposition se fait à partir d’un ensemble
d’ondelettes de base obtenu à partir d’une ondelette ’mère’ notée : ψ(x). Cette base d’ondelettes
est obtenue par translations et dilatations. L’analyse par ondelettes découle de l’AMR.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
94
Introduction :
L’analyse d’une image à une seule échelle est inefficace. Les objets formant une image sont
de nature fréquentielle différente, apparaissant à une échelle (résolution) puis disparaissant à une
autre. Une étude hiérarchique de l’image fait coïncider le contenu spectral pour une résolution.
Burt et Adelson [110] ont défini une pyramide multirésolution afin de traiter une image en
basse résolution puis de l’augmenter si nécessaire. Ici, nous voulons connaître la composition
spectrale d’un signal à toutes ses résolutions. L’analyse temps-fréquence par transformation d’un
signal dans la base de Fourier est limitée (principe d’incertitude de Heisenberg). Il est impossible
d’avoir une bonne localisation en temps et en fréquence, même en utilisant des méthodes à base de
fenêtres glissantes à cause de la taille de la fenêtre d’analyse. L’AMR permet de s’affranchir de ces
problèmes, le signal sera projeté sur des fonctions analysantes pour toutes les résolutions 2−j qui
composent le signal de longueur 2j échantillons, avec j ∈ Z . En effet, comme nous le verrons par
la suite, le signal d’approximation de résolution 2−j sera ensuite décomposé pour la construction
du signal d’approximation et de détails de résolution 2−(j+1) .L’itération de ce processus conduit
à un pavage temps-fréquence. Cette décomposition joue le rôle d’un " zoom mathématique ".
L’analyse étant réversible sous certaines conditions, on peut reconstruire l’approximation du
niveau i à partir des sous-bandes du niveau i+1. Après plusieurs itérations le signal original
peut-être reconstruit. L’approximation d’une fonction à une résolution 2−j est déterminée par des
moyennes locales sur 2j échantillons. D’une façon plus formelle, l’approximation d’une fonction à
la résolution 2−j est définie comme sa projection orthogonale sur un espace Vj ⊂ L2 (R). L’espace
Vj regroupe toutes les approximations possibles à l’échelle 2j . La projection orthogonale de f sur
Vj est la fonction fj ∈ Vj qui minimise la distance k fj − f k. La transformée en ondelettes offre
une étude pyramidale. L’analyse se fait à partir de dilatés et de translatés de l’ondelette mère.
Cette transformation décrit les détails d’une image pour chaque niveau de résolution. Ces détails
correspondent à la différence d’informations entre deux niveaux de résolution successifs.
Après cette présentation, nous allons étudier le concept d’analyse multirésolution qui est sousjacent à la transformée en ondelettes tel que l’a introduit S. Mallat. On se limite à l’étude d’une
analyse dyadique, c’est-à-dire à des facteurs d’échelle égale à 2 sur des signaux de longueur égale
à 2j échantillons. Nous commençons par les signaux mono-dimensionnels puis nous généraliserons
facilement pour les signaux bidimensionnelles (images).
Aspects mathématiques
L’AMR et la transformée en ondelettes ont fait l’objet de nombreux travaux et diverses
adaptations. Le but ici est de présenter aux lecteurs les fondements mathématiques sur lesquels
reposent ces méthodes, afin de comprendre les intérêts d’une telle analyse. Voici la définition des
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
95
espaces multirésolution telle que l’ont énoncé S. Mallat [111]et Y. Meyer [112].
Rappel
Le facteur d’échelle 2j est l’inverse de la résolution 2−j .
La Multirésolution
Une suite de sous-espaces fermés {Vj }j∈Z de L2 (R) est une suite d’approximations multirésolution si elle vérifie les six propriétés suivantes :
– ∀(j, k) ∈ Z 2 , f (x) ∈ Vj ⇔ f (x − 2j k) ∈ Vj .
Vj est invariant pour toute translation de longueur proportionnelle à l’échelle 2j . Il existe
une grille spatiale ou temporelle sous-jacente par pas de 2j .
– ∀j ∈ Z, Vj+1 ⊂ Vj
Une approximation à la résolution 2−j contient toute l’information nécessaire à la construction d’une résolution plus grossière 2−(j+1) , c’est une propriété de causalité.
– ∀j ∈ Z, f (x) ∈ Vj ⇔ f (x/2) ∈ Vj+1
La dilatation par un facteur de 2 agrandit les détails d’un facteur de 2, on a bien une
approximation à une résolution plus grossière. Il existe une grille fréquentielle sous-jacente
en progression géométrique.
T
– lim Vj = Vj ={0}, avec j allant de −∞ à +∞.
L’intersection des Vj est réduite à 0 dans L2 (R). Si la résolution est trop faible, c’est-à-dire
que 2−j tend vers 0, on perd tous les détails. A résolution minimale, on perd toute l’image.
S
– lim Vj = Adhérence( Vj ) = L2 (R) (ou dense dans L2 ), avec j allant de +∞ à −∞.
L’adhérence d’un espace désigne le plus petit espace fermé contenant cet espace. D’un
autre côté, si la résolution 2−j tend vers +∞, l’approximation converge vers le signal. A
résolution infinie, on reproduit parfaitement tous les signaux.
– ∃ une fonction θ / {θ(x − n)}n∈Z soit une base de Riesz de V0 .
Cette existence fournit un théorème de discrétisation. Chaque résolution est engendrée par
une base d’atomes (boîte d’Heisenberg) translatés de 2j . Une base de Riesz est une frame
de vecteurs indépendants [35].
L’opération de base de l’AMR est la décomposition du signal en deux parties : une approximation et les détails du signal. L’approximation est obtenue en projetant le signal sur les
translatées d’une fonction basse fréquence appelée fonction échelle. Cette projection isole les variations lentes par un filtrage passe-bas. Les détails du signal sont obtenus par projection sur un
filtre passe-haut appelé ondelette. La réponse de ce filtre donne les variations rapides du signal :
les détails [34].
Espace d’approximation
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
96
Les espaces des approximations se construisent par AMR. La construction nécessite une
fonction que nous allons définir. Une fonction nomée, φ0 (x) ∈ V0 , où l’ensemble de ses translatées
est une base de V0 : φ0 (x − k) avec k ∈ Z.
La fonction φ0 (x) est une fonction d’échelle si elle vérifie les deux conditions suivantes :
– Les fonctions φj,k (x) = 2−j/2 φ0 (2−j x − k) avec j, k ∈ Z constituent une base de Vj .
√
– φ1 (x) = (1/ 2)φ0 (x/2) est compris dans V0 . Elle représente une combinaison linéaire des
fonctions de base (φ0 (x − k)) de V0 .
Voici l’équation reliant deux échelles :
P
φ1 (x) = k uk φ0 (x − k) = (u ∗ φ0 )(x). Avec uk la séquence génératrice (le filtre) de la
fonction d’échelle. Elle décrit la multirésolution en permettant d’engendrer la famille des
fonctions d’échelles aux différentes résolutions. Les fonctions d’échelles φj,k engendrent
pour k ∈] − ∞, +∞[ l’espace des approximations à l’échelle j [66].
Espace des détails
L’espace des détails est complémentaire à l’espace des approximations pour chaque échelle j.
La construction de cet espace se fait à partir de la fonction d’échelle φ0 qui génère une ondelette
mère ψ0 . L’espace des détails à l’échelle j est engendré par une famille d’ondelettes obtenues par
changement d’échelle et par translation de l’ondelette mère : ψj,k (x) = 2−j/2 ψ0 (2−j x − k).
L’ondelette ψ1 (x) est une combinaison linéaire des fonctions d’échelle translatées :
P
ψ1 (x) = k vk φ0 (x − k) = (v ∗ φ0 )(x)
√ P
On peut écrire cette relation en utilisant φj,k : ψ0 (x) = 2 k vk φ0 (2x − k).
Comme les fonctions d’échelle, les ondelettes sont engendrées par une séquence génératrice
(un filtre), vk , qui définit l’AMR [105].
Définie en 1910, l’ondelette de Haar représente la première fonction d’analyse. La figure cidessous illustre les constructions de la fonction d’échelle et de l’ondelette de Haar. La fonction
d’échelle se construit à partir de fonctions portes. L’ondelette se déduit ensuite de la fonction
d’échelle. L’ondelette de Haar présente une discontinuité en temps. Depuis, pour améliorer les
performances de l’AMR, d’autres ondelettes ont vu le jour (Daubechies, Battle-Lemarié...).
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
97
Fig. 3.6 – Construction de la fonction d’échelle et de l’ondelette de Haar.
L’analyse multi-résolution (AMR) utilise, comme nous venons de le voir, une fonction
d’échelle et une ondelette pour définir les sous-espaces. Comme pour un filtre, l’ondelette doit
respecter quelques règles pour ne pas perturber le signal étudié.
Caractéristiques des ondelettes
Ondelettes orthogonales ou biorthogonales
Il existe deux types d’ondelettes, les ondelettes dites orthogonales et biorthogonales. Les ondelettes orthogonales définissent une base dans L2 . Le sous-espace des détails de niveau j est
le complémentaire orthogonal du sous-espace des approximations de niveau j. En conséquence,
deux ondelettes de même échelle sont orthogonales. Ces ondelettes présentent un grand intérêt car elles bâtissent une base orthonormée de l’espace des signaux, ce qui facilite l’inversion
de la transformation. La famille des ondelettes orthogonales à support compact, est la plus intéressante, les filtres étant à réponse impulsionnelle finie ce qui facilite leur implémentation.
L’orthogonalité permet d’obtenir une bonne qualité d’image lors de la reconstruction du signal.
Pour la compression, la base doit être orthogonale pour être optimale, car elle élimine la redondance, donc, les cœfficients sont fortement décorrélés. Cependant, les ondelettes orthogonales
ne sont pas symétriques et induisent des distorsions lors du changement de base. Pour palier à
ce problème, les ondelettes biorthogonales ont été proposées. Sans être orthogonales, elles possèdent les caractéristiques des ondelettes orthogonales. En plus, elles sont symétriques. Ce sont
des filtres en quadrature, ne formant pas une paire orthogonale. Lors de la reconstruction, une
autre paire de filtres orthogonaux doit être utilisée.
Propriétés des ondelettes
Chaque ondelette possède des propriétés spécifiques. Une ondelette est principalement caractérisée par trois propriétés : localisation, oscillation et régularité. Les explications seront présentées dans le cas d’un signal 1D. Elles restent valables dans le cas d’un signal 2D.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
98
Localisation
Elle est obtenue en faisant varier deux paramètres, l’un d’échelle et l’autre de translation.
Ces deux paramètres permettent d’ajuster l’analyse de l’ondelette en agissant comme un zoom
d’agrandissement ou de réduction pour une position donnée. Cette propriété est très intéressante
pour l’extraction d’indices visuels. Ainsi, elle permet de caractériser précisément des phénomènes
locaux ou des événements de plus grande échelle. Dans la pratique, cette propriété est liée à la
taille de la fonction analysante. L’ondelette notée ψj,k , sera de résolution j et de translation k.
Oscillation (Moments)
Ce paramètre se traduit graphiquement par plusieurs passages par zéro de l’ondelette. On
peut aussi la définir comme le nombre M de moments nuls de la fonction ψ ou comme le nombre
de fois où elle est dérivable. Il existe un entier M tel que :
R k
x ψ(x)d(x) = 0 avec 0 ≤ k ≤ M .
Comme le montre Kouomou [113], l’analyse des régions régulières (pour une image, ce serait
une zone homogène), entraîne des cœfficients d’autant plus petits que M est grand. Ceci permet
de concentrer l’information en mettant un grand nombre de cœfficients à zéro sans nuire à la
qualité de l’image reconstruite. Le nombre de moments utilisé pour une ondelette dépend du
nombre de cœfficients. Comme la décomposition se fait par convolution, le temps de calcul est
proportionnel à la taille du filtre. Ce qui impose des filtres de taille raisonnable.
Régularité
La régularité agit sur la qualité de la reconstruction d’un signal. En image, la régularité est
plus importante que la sélectivité en fréquence. L’ordre de la régularité d’une ondelette est égal
au nombre de ses dérivées continues. Quand une ondelette est très lisse, elle est dite régulière. On
peut l’évaluer également avec l’exposant de Lipschitz. Cette propriété est importante lors de la
synthèse. Pour une analyse (la décomposition), il n’est pas nécessaire de disposer d’une ondelette
très régulière. Une ondelette avec une régularité faible fait simplement une moyenne des pixels
voisins, ce qui introduit des effets de blocs dans les basses échelles. Une ondelette avec une forte
régularité entraîne également des effets de blocs dus à un lissage trop important.
Après avoir présenté brièvement la théorie de l’AMR et des ondelettes, voici l’algorithme
de décomposition (d’analyse) et de reconstruction (synthèse) défini par S. Mallat. L’algorithme
fonctionne de manière récursive sur les sous-bandes d’approximation, séparant ainsi pour chaque
sous-bande, deux sous-bandes de résolution inférieure, définissant un nouvel espace d’approximation et de détails.
L’analyse
Appelons ax (j, k) et dx (j, k) les approximations et les détails aux échelles j et aux positions
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
99
k. Les relations suivantes présentent le calcul des cœfficients :
P
P
– ax (j, k) = hφj,k , f (x)i = p up hφj−1,2k+p , f (x)i = n un−2k hφj−1,n , f (x)i
P
P
– dx (j, k) = hψj,k , f (x)i = p vp hψj−1,2k+p , f (x)i = n vn−2k hψj−1,n , f (x)i
Le calcul des sous-bandes d’approximations et des détails à l’échelle j se fait, en fonction des
cœfficients d’approximation à l’échelle j − 1 :
P
– ax (j, k) = n un−2k ax (j − 1, k)
P
– dx (j, k) = n vn−2k dx (j − 1, k)
Les cœfficients d’approximation et les cœfficients de détails s’obtiennent par convolution
des cœfficients d’approximation à une échelle supérieure, suivie d’un sous-échantillonnage d’un
facteur 2. Le sous-échantillonnage ne fait pas perdre en résolution fréquentielle. On peut voir
les fonctions d’échelle et d’ondelette comme deux filtres passe-bas et passe-haut qui séparent en
deux la bande passante de V. Chaque réponse contient seulement une partie complémentaire de
l’information. Les réponses des deux filtres n’utilisent que la moitié de la longueur V, soit au
total une longueur identique (même quantité d’information). Les réponses impulsionnelles des
filtres donnant les approximations (LF(n)) et les détails (HF(n)) sont des copies retournées
des séquences génératrices :
– LF(n)=u(−n)
– HF(n)=v(−n)
Le schéma suivant montre les étapes de l’analyse Multi-résolution :
Fig. 3.7 – Décomposition par Analyse Multi-résolution.
La synthèse
Pour recomposer le signal ou un niveau d’approximation inférieur, une base réciproque est
utilisée, égale à la base d’ondelette dans le cas orthogonal. En utilisant les propriétés des espaces
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
100
emboîtés, l’espace d’approximation j − 1 est la somme des espaces d’approximation et de détails
de niveau j :
ax (j − 1, k) =
P
n ax (j, n)h̃(k
− 2n) +
P
n dx (j, n)g̃(k
− 2n) avec h̃(n) = un et g̃(n) = vn
Pour obtenir l’approximation au niveau j −1, des zéros sont entrelacés et les filtres passe-haut
g̃(n) et passe-bas h̃(n) sont appliqués. Ainsi par itération, on reconstruit le signal à partir de ses
approximations et de ses détails.
Vers une généralisation dans les cas des signaux 2D
Nous allons maintenant généraliser l’AMR pour les images : les signaux à deux dimensions.
Comme pour la DCT, la décomposition en ondelettes est séparable. Une décomposition 2D revient à une application successive de décomposition en ondelettes 1D suivant des axes différents,
ce qui à l’avantage d’alléger considérablement les calculs effectués par l’algorithme de transformation. Dans le cas des signaux 2D, on n’a plus une sous-bande de détails, mais trois. Ces trois
espaces de détails correspondent aux détails verticaux, horizontaux et en diagonales. On obtient
cette décomposition par filtrage passe-bas (L) et passe-haut (H) dans le sens horizontal (X) et
vertical (Y). Après chaque filtrage un sous-échantillonnage est effectué. On obtient ainsi une
décomposition en quatre sous-bandes. L’espace de représentation conserve la taille du signal de
départ, comme dans le cas d’un signal 1D. Le schéma suivant présente le principe par étapes de
la décomposition.
Fig. 3.8 – Principe de décomposition 2D.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
101
Les ondelettes encodent la différence d’information entre une image et sa sous-échantillonnée
d’un facteur 2, c’est-à-dire les détails qu’il faut restaurer quand on double la résolution. Pour
chaque niveau de décomposition, on obtient quatre images de résolutions inférieures. Comme
nous avons vu précédemment, l’AMR utilise le même nombre d’échantillons pour coder l’information. C’est la sous-bande LL qui est utilisée pour établir une nouvelle décomposition. La
limite est atteinte quand la sous-bande LL mesure un cœfficient, soit huit sous-bandes pour une
image 256x256. Le diagramme ci-dessous, représente les cœfficients d’ondelettes de la transformée,
classés par sous-bande de filtrage et niveau de décomposition. Le résultat de la décomposition
s’organise de la manière suivante :
Fig. 3.9 – Diagramme de Mallat.
La figure ci-dessous présente une image de synthèse et sa décomposition en huit sous-bandes.
L’ondelette utilisée est celle de Haar.
Fig. 3.10 – Analyse multirésolution par ondelettes de Haar d’une image de synthèse.
N.B. : Les cadres gris clair ont été ajoutés après l’AMR pour faciliter la compréhension.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
102
Algorithme de la transformation en ondelettes :
L’algorithme de la compression par ondelettes se compose des étapes suivantes :
1. Transformations par ondelettes
2. Quantification : les valeurs des images de détails inférieures à un certain niveau sont éliminées, en fonction de l’efficacité recherchée. C’est cette étape qui introduit des pertes.
3. Codage des valeurs restantes.
La transformation par ondelettes est une technique de traitement de signal qui consiste à
décomposer une image en une myriade de sous-bandes, c’est à dire des images de résolution
inférieure (figure ci-dessous) [55].
Pour obtenir un niveau inférieur de sous bande, on moyenne les pixels de l’image originale
deux à deux suivant l’axe horizontal (par exemple : H(X) = (Xn + Xn+1 )/2). Puis on calcule l’erreur entre l’image originale et l’image sous-échantillonnée dans le sens horizontal (par
exemple : G(X) = (Xn − Xn+1 )/2). Pour chacune des deux images intermédiaires, on moyenne
les pixels deux à deux suivant l’axe vertical (par exemple : H(Y ) = (Yn + Yn+1 )/2). Enfin pour
chacune des deux images intermédiaires, calculer l’erreur suivant l’axe vertical (par exemple :
G(Y ) = (Yn − Yn+1 )/2) [103].
Le résultat est une image d’approximation qui a une résolution divisée par 2 et trois images
de détails qui donnent les erreurs entre l’image originale et l’image d’approximation. Cette transformation est répétée autant de fois que nécessaire pour obtenir le nombre voulu de sous-bandes
(voir figure ci-après). [55].
Fig. 3.11 – Décomposition en sous-bandes par ondelettes.
Avantages des ondelettes (JPEG 2000) par rapport à la DCT (JPEG) :
La compression DCT, du format JPEG, analyse l’image par bloc de 8×8 pixels, ce qui produit
un effet de mosaïque (les limites des blocs sont visibles à fort taux de compression) [107]. La
compression par ondelettes ne présente pas cet effet de mosaïque indésirable. Il est donc possible
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
103
de compresser des images par ondelettes avec un taux de compression élevé tout en conservant
une bonne qualité picturale [48].
Les blocs JPEG 8 × 8 pixels sont quantifiés indépendamment les uns des autres, ce qui
ne permet pas de réduire les redondances au delà d’un bloc. Au contraire, la compression par
ondelettes est une méthode globale sur toute l’image. Cet avantage se traduit par une efficacité
encore plus importante sur les grosses images. Une image de 50 Mo peut être réduite à 1 Mo
[103].
Le ratio de compression est directement programmable dans la compression par ondelettes
en format JPEG 2000. Il est donc possible de prévoir la taille du fichier compressé, quelle que
soit l’image, ce qui n’est pas faisable avec la méthode DCT du JPEG [103].
La compression par ondelettes est intrinsèquement progressive ce qui permet de reconstruire
facilement l’image à plusieurs résolutions [55].
Méthodes hybrides
Le terme hybride fait référence aux techniques qui combinent le codage prédictif et le codage
par transformée.
Dans le cas des images fixes, on effectue une transformation à une dimension le long des
lignes et ensuite, une prédiction le long des colonnes. Pour les images animées, on effectue une
combinaison entre une transformation bidimensionnelle dans le domaine spatial et une prédiction
le long de la composante temporelle pour exploiter la redondance temporelle du signal d’image.
Le codeur hybride regroupe les avantages des deux techniques qui le composent [24].
3.3
Compression adaptative d’images basée sur les ondelettes
3.3.1
Introduction
Dans les domaines tels que la médecine, la photographie aérienne ou satellitaire ou le multimédia, l’image occupe une place de choix. Sa numérisation fiabilise sa transmission et son
stockage. La représentation en format numérique présente cependant un inconvénient majeur :
elle requiert que les dispositifs de stockage et de transmission aient respectivement de larges
capacités et de larges bandes passantes. Souvent l’utilisateur ne s’intéresse qu’à une partie de
l’information véhiculée à travers l’image et c’est cette information qu’il va qualifier de pertinente.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
104
Aussi une approche intéressante de la compression consiste-elle à ne pas dégrader l’image dans
certaines zones qualifiées d’intérêt et à dégrader de façon contrôlée les autres zones qualifiées de
contexte.
La compression adaptative est fondée sur le fait de coder à l’aide de différentes méthodes
les zones de la scène caractérisées par degré d’importance. Durant la dernière décennie, la compression adaptative a fait l’objet d’un certain nombre de travaux. En particulier, Guisto et al.
en 1990 [51] ont proposé une compression " intelligente " basée sur l’utilisation d’un système
qui permet de localiser d’abord les zones d’intérêt, sur lesquelles, ils ont appliqué des techniques
comme la quantification vectorielle ou l’approximation polynomiale sans se soucier des pertes
dans ces zones. Nguyen en 1995 [57], proposa une méthode originale de compression sélective
de séquences d’images pour la transmission à très bas débit. Cette méthode repose sur la notion de niveau d’intérêt affecté à chaque région de la scène dans laquelle le codeur ayant une
structure hybride utilise une représentation sous-bande globale. L’auteur porte une attention
particulière au codage mais sa méthode ne permet pas de contrôler la résolution du contexte
filtré. Pour pallier ce problème Benharrosh proposa, en 1998 [38], une approche adaptative basée sur des techniques classiques de compression réversibles associées à des techniques d’analyse
multi-résolution afin de pouvoir transmettre de façon optimale sur un réseau à débit limité une
image contenant des thèmes préservés à haute résolution dans un contexte à basse résolution,
en évitant toute perte sur les zones d’intérêt. Dans ce travail, les zones d’intérêt sont détectées
manuellement. La détection automatique des zones d’intérêt a fait l’objet de travaux divers tel
que celui de Hodschneider qui utilisa la Transformation en ondelettes à trous (T.O.T) [38].
Les ondelettes sont largement utilisées pour la compression d’image. Récemment, Albanesi
proposa, en 2003, un codeur localement adaptatif d’image par ondelettes [32]. La méthode est
basée sur un modèle de système visuel humain intégré, qui exploite l’espace et des propriétés de
localisation de fréquence au niveau des décompositions par ondelettes, pour accorder l’étape de
quantification pour chaque cœfficient de la transformation par ondelettes discrète (DWT), selon
les propriétés locales de l’image. La quantification est exécutée de telle sorte à diminuer le débit
binaire sans affecter la qualité visuelle résultante. La technique pour accorder la qualité visuelle
de cible permet à l’utilisateur de définir des régions arbitrairement formées d’intérêt et de placer
pour chacun un facteur de qualité différent [36].
Dans ce travail, nous n’accordons pas d’attention pour la détection automatique des zones
d’intérêt, mais plutôt nous nous intéressons à la qualité de l’image et au taux de compression
au niveau des zones d’intérêt et de l’image toute entière après compression. Nous proposons
d’appliquer une méthode irréversible, basée sur les ondelettes discrète de Haar, sur les zones
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
105
d’intérêt et la méthode JPEG avec pertes sur le contexte. Nous comparons les performances
de l’approche proposée, en termes de qualité visuelle et taux de compression, à celles obtenues
après application de la méthode réversible LZ77 sur les zones d’intérêt et la méthode JPEG avec
pertes sur le contexte. Nous comparons aussi nos résultats avec ceux obtenus en effectuant une
compression de l’image entière par ondelettes et par JPEG avec pertes.
3.3.2
Méthodes
Concept de la compression adaptative
Le concept de la compression adaptative proposé s’inscrit directement dans le processus
d’échange de données. Ce processus d’échanges peut être représenté fonctionnellement par la
figure ci-dessous. Il consiste en :
– Une analyse préliminaire des données, par l’émetteur, afin de déterminer celles qui sont
pertinentes : les zones qualifiés d’intérêt,
– Une sélection manuelle ou semi - automatique des zones d’intérêt,
– Une compression adaptative des donnés à transmettre ou à stocker de manière à ne pas
trop dégrader les zones d’intérêt.
On retrouve ainsi l’idée même du concept de généralisation cartographique dans laquelle on
sélectionne les objets pertinents avant de les modifier et ce dans le but de les conserver après
changement d’échelle [48].
Fig. 3.12 – Processus d’échange des données entre deux niveaux.
Après la transmission ou le stockage, il y’a synthèse ou reconstruction des données et analyse
des données. La synthèse consiste à reconstruire les données transmises ou stockées, qui est
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
106
une étape correspondant à la décompression des données [67]. L’analyse consiste à examiner les
données transmises (zones d’intérêt dans un contexte dégradé).
Les images à très haute résolution offrent, de par leur finesse de détails, de nombreux avantages pour l’analyse d’image. En revanche, elles ne permettent pas d’appréhender une scène dans
son ensemble, de connaître l’environnement général et de sélectionner rapidement des zones d’intérêt. Pour produire de telles images, à partir d’images haute résolution, on se borne bien souvent
à sous-échantillonner l’image haute résolution. Que l’on fasse un sous-échantillonnage brutal (on
prélève un point sur N) ou plus conforme aux exigences de la théorie du signal (on commence
par filtrer l’image avant de conserver qu’un point sur N) , le résultat obtenu est très peu apte
à supporter une exploration d’ensemble de la scène : les structures ponctuelles et linéaires sont
gommées et les structures surfaciques sont modifiées, alors que ce sont précisément ces éléments
qui sont utiles à l’utilisateur pour se repérer dans l’image [38].
Dans une image avec zones d’intérêt, le contexte de l’image doit permettre à l’utilisateur
d’appréhender la scène dans son ensemble. Il n’a donc pas besoin d’être représenté à pleine
résolution [69]. Aussi, il est possible de choisir de le compresser très fortement en fonction de
l’intérêt que lui porte l’utilisateur. La méthode JPEG avec pertes permet d’obtenir des taux de
compression importants après lissage et décimation effectués au préalable [72].
Compression des zones d’intérêt :
Extraction des zones d’intérêt
Le but, est de présenter une méthode permettant de générer une image basse résolution
préservant une zone qualifiée d’intérêt par l’utilisateur. Pour cela, une étape préalable consiste
à la détecter puis l’extraire. Les algorithmes d’extraction ne sont pas encore vraiment fiables
et nécessitent d’être implémentés et testés. D’autre part les zones d’intérêt retenues dans une
image peuvent être variés ce qui nécessite d’étudier et de mettre en œuvre un divers algorithmes
d’extraction. On préfère aussi se placer dans un contexte supervisé (interactif). Dans ce contexte,
l’opérateur peut définir lui-même les pixels qu’il considère comme appartenant à des zones qualifiées d’intérêt. Le principal avantage offert par cette approche est que certains pixels peuvent
appartenir simultanément à plusieurs thèmes d’intérêt. L’opérateur peut également définir simplement des " Zones génériques " qu’il qualifie d’intérêt. Ces zones peuvent être de différentes
natures : bandes, carrés, ronds,....Pour ces raisons, nous n’avons pas cherché à étudier des algorithmes d’extraction existants dans la littérature. Des méthodes manuelles sont utilisées. Il
s’agit de saisir directement sur l’image, les objets qui intéressent l’utilisateur à l’aide de la souris (l’image est une image binaire (zone d’intérêt et contexte)[46]. Ces objets peuvent être de
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
107
différents types :
– Les objets linéiques (exemple en médecine : cellules anormales enchaînées,...)
– Les objets surfaciques (exemple en médecine : ensemble de cellules infectées,...)
– Les objets ponctuels (exemple en médecine : une cellule infectée,...)
Dans le cas d’une saisie manuelle d’objets linéiques, à partir de l’image binaire de référence, on
peut construire un ensemble de masques de plus en plus larges. Ainsi, si on dispose par exemple
d’une référence définie par des linéiques de m pixels d’épaisseur, les masques choisis auront
une épaisseur de m+2, m+4,...,m+2n (cela ayant pour effet de fournir un lissage progressif en
échelle entre un pixel de contexte et un pixel appartenant au thème retenu)[40]. Dans le cas
des ponctuelles et des surfaciques, cela revient à générer des masques autour des zones d’intérêt
définis par des carrés (Figure ci-dessous).
Fig. 3.13 – Génération des masques.
Dans cette étude, nous avons choisi d’extraire manuellement les zones d’intérêt sur la base de
sélection surfacique qui consiste à sélectionner des carrés représenté chacun par trois paramètres :
les deux premiers permettent de le localiser dans l’image initiale (cordonnées du centre (xi , yi )
et le côté ai ), le troisième paramètre correspond à sa valeur intrinsèque dans l’image c’est à dire
les radiométries des pixels constituant la zone d’intérêt (Figure ci-dessous).
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
108
Fig. 3.14 – Sélection des Zones d’Intérêt.
Compression par la méthode des ondelettes de Haar :
Cette technique repose sur un principe de décomposition en sous-bandes et de transformation
mathématique par projection sur des bases orthogonales [50]. La compression par ondelettes
présente de nombreux avantages par rapport à ses concurrentes [37] :
– Fort taux de compression : Jusqu’à des taux de compression de 20, JPEG et les ondelettes donnent des résultats voisins. Au-delà, on observe un phénomène de décrochage avec
JPEG. En revanche, les ondelettes continuent à donner de bons résultats avec des taux de
compression de 30 à 50. Et comme le traitement s’effectue sur l’image toute entière, plus
la taille de celle-ci est grande et plus le taux de compression maximal sera élevé [103].
– Contrôle de la compression : On peut paramétrer le compresseur afin de privilégier le taux
de compression ou la qualité de l’image.
– Traitement progressif : Lorsque l’image a été découpée en sous- bandes (voir illustration
sur la figure 3.11), le fichier contient les informations relatives à toutes les étapes. Lors
de la reconstruction, on peut donc extraire plusieurs images intermédiaires de qualités
différentes [103].
Une image en noir et blanc peut être considérée comme un ensemble de pixels, chaque pixel
représentant un niveau de gris. On peut modéliser cette image par une matrice carrée de taille
égale à la résolution de l’image [41]. Pour une image en couleur, il suffit de considérer trois
images, chacune représentant le niveau de rouge, de vert et de bleu de l’image originale [106].
Algorithme de Haar
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
109
Pour mettre en application la méthode de Haar on pourrait considérer la matrice comme un
échantillonnage en mettant ses lignes bout à bout. Cependant on perd le lien avec les colonnes. Il
est donc plus efficace d’appliquer l’algorithme de Haar aux lignes de la matrice puis à ses colonnes.
Cet algorithme de différentiation et sommation se traduit par la multiplication matricielle à l’aide
d’une matrice contenant beaucoup de 0 [116].
Prenons l’exemple d’une matrice 4 × 4 :
On l’appelle matrice A. en effet on remarque que si on prend une matrice M, soit (a, b, c, d)
sa première ligne. Alors le produit de M par A nous donne la ligne suivante : ((a+b)/2, (c+d)/2,
(a-b)/2, (c-d))/2.
Dans le cas d’une matrice 8 × 8 la matrice creuse aura l’allure suivante :
Et ainsi de suite, en fait c’est le principe déjà exposé dans la compression de signal, c’est
à dire que la première moitié des colonnes de la matrice représente l’échantillon principal et la
seconde les détails [116].
Quelque soit le rang de la matrice, on peut définir ses cœfficients de la façon suivante [116] :
Soit n le nombre de colonne de la matrice, n est pair, i et j des entiers positifs.
– On a Ai,j = 1/2 si j ≤ n/2 et i = 2j − 1 ou 2j
– On a Ai,j = 1/2 si j > n/2 et i = 2(j − n/2)
– On a Ai,j = −1/2 si j > n/2 et i = 2(j − n/2) − 1
– Sinon Ai,j = 0
Ainsi quelque soit le rang de la matrice représentant l’image on peut facilement définir un
algorithme et ainsi bâtir un programme permettant d’obtenir la matrice creuse de compression
[116].
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
110
Pour effectuer l’opération sur les colonnes, il suffit de multiplier à gauche par la transposée de
A. Nous obtenons donc une matrice N= t (A)M A. Ensuite on choisit une précision e, et on enlève
de la matrice N les cœfficients de valeur absolue inférieure à e. on obtient donc une nouvelle
matrice N’. On réobtient la matrice M en posant M’= t (A−1 )N 0 A−1 avec A−1 est la matrice
inverse de A [70].
On peut réduire les calculs en rendant la Matrice A comme produit de matrices orthogonales.
Ainsi l’inverse de la matrice A se calculera facilement. Les vecteurs de A sont déjà orthogonaux
par rapport au produit scalaire euclidien. Il suffit donc de les normer. Ici il suffit donc de remplacer
√
1/2 par 1/ 2 [33].
On peut donc écrire la matrice A comme le produit de matrices orthogonales en prenant :
On a donc A = A1 × A2 × A3 , de ce fait on peut dire que A−1 =t A1 ×t A2 ×t A3 [106].
Le principe de la méthode de compression par ondelettes est donné par la figure suivante :
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
111
Fig. 3.15 – Principe de la compression d’images par ondelettes.
Principe
On procède à une décomposition de l’image fréquentielle et spatiale, par projections successives (de manière récursive en fait) sur deux sous-espaces orthogonaux, l’un donnant l’allure
générale de l’image (il s’agit de l’image en résolution moitié) et l’autre les détails. Les sous-espaces
sont définis par une base orthonormée de vecteur, dont j’explique la construction plus loin. La
projection se fait très simplement, étant donné que l’on a une base orthonormée. Il ne s’agit que
de calculer des produits scalaires [50].
Intérêt
– Les détails sont presque nuls (pour des images suffisamment régulières, comme c’est le cas
pour des photos)
– Ces détails peuvent être négligés en dessous d’un certain seuil (modifications indécelables).
– Le traitement de l’image n’est pas uniforme (dans l’espace), puisque on conserve une information spatiale.
Décomposition
On note Ep l’ensemble des images de taille 2p × 2p. On décompose donc Ep de la manière
L
suivante : Ep = Ep−1 Fp−1 .
Il est alors possible de décomposer Ep−1 de la même manière. Concrètement, on connait les
vecteurs d’une base orthogonale de Ep−1 et Fp−1 et on projette en calculant les produits scalaires.
Le produit scalaire adopté est : hf |gi = Intégrale ( fg , I ) où I est un segment borné qui est le
support du signal [taille du signal finie] [53].
Construction de la base
On se place dans le cas d’un signal à une dimension pour simplifier l’étude. (les images sont
des signaux à deux dimensions). On choisit une fonction dite " ondelette mère ". Cette fonction
doit être d’intégrale nulle et tendre rapidement vers 0 à ses extrémités [53].
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
112
Fig. 3.16 – Ondelette de Haar.
Pour former une base de Fp−1 , on procède par dilatation / translation de l’ondelette mère. La
base de Ep est la base canonique. Par le processus suivant, on remplace deux à deux les vecteurs
de la base de Ep par un vecteur de Ep−1 et son complémentaire qui est dans Fp−1 [53] :
Fig. 3.17 – Construction de la base canonique de l’espace Ep à partir des vecteurs de
sous-espaces Ep−1 et Fp−1 .
Les deux nouveaux vecteurs sont orthogonaux entre eux [intégrale de la fonction d’ondelette
nulle] ainsi qu’à tous les autres vecteurs de la base [car tous les vecteurs sont nuls en dehors
de leur support]. Concrètement, lorsqu’on calcule les cœfficients d’ondelettes, un cœfficient élevé
signifie qu’au voisinage du support du vecteur d’ondelette, le signal oscille à une fréquence proche
de celle du vecteur de la base [53].
En deux dimensions, cette décomposition peut se visualiser de la manière suivante :
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
113
Fig. 3.18 – Décomposition en 2D par ondelettes.
On travaille d’abord sur les colonnes, en appliquant ce qu’on a vu en une dimension à chacune
des lignes [traitée indépendamment], puis on travaille sur les lignes du résultat obtenu. Ce principe
est plus facile lorsqu’on regarde le cas particulier des ondelettes de Haar (Figure ci-dessous) [103] :
Fig. 3.19 – Schéma d’algorithme de la compression par ondelettes de Haar.
Le traitement est effectué suivant chaque axe de l’image par filtrages successifs suivis d’une
décimation (on ne garde qu’un point sur deux)(voir la figure ci-dessous).
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
114
Fig. 3.20 – Traitement de deux couches d’ondelettes.
L’intérêt du traitement réside dans les caractéristiques des images " detail " qui permettent
d’employer des algorithmes de quantification performants. L’analyse de ces images montre qu’elles
sont constituées d’une grande quantité de points de faible valeur qui, une fois forcés à zéro par
quantification, permettront un fort taux de compression. L’image " smooth " quant à elle ne subit
aucune altération (il n’y a pas de quantification), il faudra donc limiter sa taille pour réduire le
volume de données ; 5 couches de traitement donnent une image " smooth " 1024 fois plus petite
que l’image originale [47].
La quantification peut être scalaire, comme dans le système de compression des archives
d’empreintes digitales du FBI ; dans ce cas, on ne profite pas des similitudes entre les couches
(un motif se retrouve souvent d’une couche à une autre) ; ce type de quantification présente
l’intérêt d’être très simple à mettre en œuvre [55].
Une approche plus performante est la quantification vectorielle qui tire profit des similitudes
entre les couches (d’où la notion de vecteur) pour offrir de meilleures performances ; il existe
plusieurs approches de réalisation, comme l’arbre de zéro ou le codage en treillis [63]. Outre
les bonnes performances obtenues en terme de taux de compression, ce sont des approches qui
offrent de nouvelles possibilités d’exploitation des images compressées [65] :
– Progressivité en résolution spatiale : avec peu de volume de données, on peut obtenir
l’image " smooth ", l’image affichée sera alors petite ou floue si elle est agrandie ; en
récupérant les images " detail " on pourra alors affiner la résolution spatiale de l’image.
– Progressivité en qualité : le principe est de commencer à afficher une image de qualité
modeste, avec peu de données, et passer ensuite à une meilleure qualité en chargeant plus
de données ; par exemple afficher en monochrome et passer à la couleur .
– Accès sélectif à une zone : la quantification vectorielle permet d’extraire les données de
reconstruction d’une zone de l’image, sans avoir à charger toute l’image ; un exemple d’uti-
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
115
lisation de cette fonctionnalité est une carte routière que l’on affiche dans sa totalité en
faible résolution, l’utilisateur pouvant ensuite demander un zoom sur sa zone d’intérêt.
Ces notions de progressivité et d’accès sélectif sont particulièrement intéressantes pour la
transmission des images sur des supports à bande passante limitée, tels que le web ou la téléphonie
portable ; elles facilitent également la constitution de banques d’images, celles-ci étant stockées à
forte résolution et diffusées en tenant compte des conditions d’utilisation (par exemple, consulter
une carte routière sur l’écran d’un téléphone portable) [103].
Description générale de la méthode
La figure ci-dessous décrit la méthodologie proposée. Le taux de compression que l’on va
atteindre en utilisant cette méthodologie va dépendre d’une part de la taille des zones d’intérêt
par rapport à la taille de l’image et d’autre part du facteur de réduction appliqué au support. La
méthode proposée consiste à traiter chaque donnée de façon optimale par rapport à son type.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
116
Fig. 3.21 – Schéma général de la méthode proposée.
3.3.3
Applications et résultats
Nous avons testé la méthode adaptative introduite sur des images médicales et des images
cartographiques. Notons aussi que les zones d’intérêt sont choisies manuellement dans ces applications.
Compression des zones d’intérêt (branche1-figure précédente)
Pour toutes les images, nous avons choisi de considérer les zones d’intérêt comme un masque
binaire permettant de localiser les centres et les côtés des carrés dans l’image et un fichier image
comprenant les radiométries des pixels constituant ces carrés.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
117
Le masque est compressé au moyen d’un Run Length Encoding (taux de compression moyen
de l’ordre de 10). Le fichier des radiométries associées quant à lui, est également compressé par la
méthode des ondelettes de Haar (taux de compression supérieur à 20).Nous aurions pu également
considérer la zone d’intérêt comme un fichier texte regroupant les cordonnées et la radiométrie de
chaque élément [104]. Remarquons que dans la mesure où la sélection des zones d’intérêt serait
uniquement manuelle, il serait préférable de considérer le masque binaire non plus comme image
mais comme un fichier vectoriel permettant de reconstruire l’image masque [103].
Compression du contexte (branche2-figure précédente)
Dans cette opération, un lissage est d’abord effectué qui a pour rôle de rendre les algorithmes
plus efficaces vue l’augmentation de la corrélation entre pixels voisins, suivi d’une décimation
du contexte qui permet d’augmenter très fortement le taux de compression sur le contexte.
Cependant, il est nécessaire avant décimation de réaliser une diffusion de façon à limiter au plus
les effets dus au repliement de spectre. Il est à noter que le niveau de dégradation appliqué à
l’image lors de la diffusion est fonction du facteur de décimation choisi [56].
Le sous-échantillonnage autant que le JPEG permettent de comprimer le contexte de manière
importante. Cependant, en considérant la qualité de l’image reconstruite, il vaut mieux moins
sous-échantillonner et appliquer un JPEG plus fort [61, 71]. Ceci a montré que la compression
JPEG appliquée après décimation présente des effets de blocs. notre méthode en revanche, permet
d’appliquer la méthode JPEG avec pertes sur le contexte et d’obtenir par conséquent une image
beaucoup plus lisse et offre de surcroît, un meilleur taux de compression et une meilleure qualité.
Afin d’évaluer de façon théorique les performances de la décimation en terme de compression,
nous utilisons les courbes théoriques de la figure suivante, qui montrent l’évolution du taux de
compression en fonction du facteur de sous-échantillonnage appliqué au contexte et du pourcentage de la taille de la zone d’intérêt par rapport à l’image toute entière. Dans la mesure où l’on
choisit de compresser uniquement les zones d’intérêt sans transmettre par exemple le contexte
dégradé, on obtient la courbe " limite " en fonction de l’importance de la zone d’intérêt par
rapport à l’image [31]. Dans notre cas, nous avons trouvé que pour une image comportant 5%
des points appartenant à la zone d’intérêt, un facteur de sous-échantillonnage égal à 4 permet
d’atteindre un taux de compression de l’ordre de 13.
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
118
Fig. 3.22 – Taux de compression théoriques obtenus en fonction du facteur de souséchantillonage.
Applications
Cas d’une seule zone d’intérêt [115]
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
119
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
Cas de deux zones d’intérêt [115]
120
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
Cas de trois zones d’intérêt [115]
121
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
122
Les deux tableaux ci-dessous englobent les résultats obtenus, sur les trois images cartographiques, après application de la méthode introduite :
Fig. 3.23 – Résultats obtenus et publiés par le Journal International PCN.
3.4
Conclusion
Nous avons proposé le concept de compression adaptative. Ce concept repose sur un constat :
un utilisateur ne s’intéresse généralement qu’à certaines parties d’une image.
Nous avons vu qu’une approche intéressante consistait en une dégradation imperceptible à
l’œil nu sur certaines zones qualifiées d’intérêt et à dégrader de façon contrôlée les autres zones,
qualifiées de contexte. La sélection des zones qualifiées d’intérêt peut être réalisée de manière
supervisée ou non. La méthode de compression proposée peut intégrer de manière intelligente
des techniques d’analyse multirésolution et des techniques de compression existantes (avec ou
CHAPITRE 3. COMPRESSION DES IMAGES FIXES
123
sans perte). Elle offre à l’utilisateur la possibilité de traiter de façon optimale chaque donnée en
fonction de son type et d’obtenir, par conséquent, des taux de compression relativement élevés
et une meilleure qualité.
Les méthodes automatiques d’extraction des zones d’intérêt ont pour avantage de maîtriser
la résolution de l’image filtrée. Cependant leur mise en ouvre est assez lourde (gestion d’un
grand nombre d’images, images de détails et images de résolution dégradée de même taille que
l’image initiale pour le cas de la Transformée en Ondelettes à Trous). De plus, ces méthodes ne
permettent pas de synthétiser n’importe quelle échelle.
Nous pensons faire une extension de ces travaux de recherche par l’application des paquets
d’ondelettes et la combinaison entre fractales et ondelettes sur les zones d’intérêt.
Les méthodes de compressions évoluent, comme les outils mathématiques qu’elles utilisent.
La plupart sont optimisées pour certains types d’images.
La compression du futur semble être la compression par ondelettes et fractale (Annexes). Elle
demande beaucoup de calcul lors de la compression, mais la décompression est quasi immédiate.
De telles caractéristiques semblent inutilisables pour des transmissions instantanées. Cependant,
pour la transmission d’images comme sur Internet, pour la transmission de films stockés dans
des banques de données, ou pour le stockage sur CD ROM d’information, cette compression est
idéale.
Des forums sur Internet permettent d’avoir plus d’informations sur toutes ces nouvelles technologies.
Beaucoup d’ouvrages existent sur ce sujet, les plus anciens n’expliquent que les fondements
mathématiques, alors que d’autres, plus récents, proposent des programmes en C.
Chapitre 4
Compression des séquences vidéo
4.1
Introduction
Une image d’une vidéo non compressée occupe une taille d’environ 1 Mo. Afin d’obtenir
une vidéo paraissant fluide, il est nécessaire d’avoir une fréquence d’au moins 25 ou 30 images
par seconde, ce qui produit un flux de données d’environ 30 Mo/s, soit plus de 1.5 Go par
minute. Il est évident que ce type de débit est peu compatible avec les espaces de stockage
des ordinateurs personnels ni même avec les connexions réseau de particuliers ou de petites et
moyennes entreprises.
Ainsi, afin de pallier cette difficulté, il est possible de recourir à des algorithmes permettant de
réduire significativement les flux de données en compressant/décompressant les données vidéos.
On appelle ces algorithmes CoDec (pour COmpression/DECompression).
Le principe du Motion JPEG (noté MJPEG ou M-JPEG, à ne pas confondre avec le MPEG)
consiste à appliquer successivement l’algorithme de compression JPEG aux différentes images
d’une séquence vidéo.
Etant donné que le M-JPEG code séparément chaque image de la séquence, il permet d’accéder aléatoirement à n’importe quelle partie d’une vidéo. Ainsi son débit de 8 à 10 Mbps le rend
utilisable dans les studios de montage numérique.
Dans de nombreuses séquences vidéos, de nombreuses scènes sont fixes ou bien changent très
peu, c’est ce que l’on nomme la redondance temporelle.
Lorsque seules les lèvres de l’acteur bougent, presque seuls les pixels de la bouche vont être
modifiés d’une image à l’autre, il suffit donc de décrire seulement le changement d’une image
à l’autre. C’est là la différence majeure entre le MPEG (Moving Pictures Experts Group) et le
124
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
125
M-JPEG. Cependant cette méthode aura beaucoup moins d’impact sur une scène d’action.
Le groupe MPEG a été établi en 1988 dans le but de développer des standards internationaux
de compression, décompression, traitement et codage d’image animées et de données audio.
Il existe plusieurs standards MPEG :
– Le MPEG-1, développé en 1988, est un standard pour la compression des données vidéos
et des canaux audio associés (jusqu’à 2 canaux pour une écoute stéréo). Il permet le
stockage de vidéos à un débit de 1.5Mbps avec une qualité proche des cassettes VHS sur
un support CD appelé VCD (Vidéo CD).
– Le MPEG-2, un standard dédié originalement à la télévision numérique (HDTV) offrant
une qualité élevée pour un débit pouvant aller jusqu’à 40 Mbps, et 5 canaux audio surround.
Le MPEG-2 permet de plus une identification et une protection contre le piratage. Il s’agit
du format utilisé par les DVD vidéo.
– Le MPEG-4, un standard destiné à permettre le codage de données multimédia sous
formes d’objets numériques, afin d’obtenir une plus grande interactivité, ce qui rend son
usage particulièrement adapté au Web et aux périphériques mobiles.
– Le MPEG-7, un standard visant à fournir une représentation standard des données audio
et visuelles afin de rendre possible la recherche d’information dans de tels flux de données.
Ce standard est ainsi également intitulé Multimedia Content Description Interface.
– Le MPEG-21, en cours d’élaboration, dont le but est de fournir un cadre de travail (en anglais framework) pour l’ensemble des acteurs du numériques (producteurs, consommateurs,
...) afin de standardiser la gestion de ces contenus, les droits d’accès, les droits d’auteurs,
...
4.2
Le MPEG-1
La norme MPEG-1 représente chaque image comme un ensemble de blocs 16x16 pixels. Elle
permet d’obtenir une résolution de :
– 352 × 240 à 30 images par seconde en NTSC.
– 352 × 288 à 25 images par seconde en PAL/SECAM.
Le MPEG-1 permet d’obtenir des débits de l’ordre de 1.2 Mbps (exploitable sur un lecteur de
CD-ROM). Il encode une vidéo grâce à plusieurs techniques [9] :
– Intra coded frames (Frames I, correspondant à un codage interne) : les images sont codées
séparément sans faire référence aux images précédentes.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
126
– Predictive coded frames (Frames P ou codage prédictif) : les images sont décrites par
différence avec les images précédentes.
– Bidirectionally predictive coded frames (Frames B) : les images sont décrites par différence
avec l’image précédente et l’image suivante.
– DC Coded frames : les images sont décodées en faisant des moyennes par bloc.
4.2.1
Les frames I
Ces images sont codées uniquement en utilisant le codage JPEG, sans se soucier des images
qui l’entourent. De telles images sont nécessaires dans une vidéo MPEG car ce sont elles qui
assurent la cohésion de la séquence (puisque les autres sont décrites par rapport aux images qui
les entourent), elles sont utiles notamment pour les flux vidéo qui peuvent être pris en cours de
route (télévision), et sont indispensables en cas d’erreur dans la réception. Il y en a donc une ou
deux par seconde dans une vidéo MPEG [73].
4.2.2
Les frames P
Ces images sont définies par différence par rapport à l’image précédente. L’encodeur recherche
les différences de l’image par rapport à la précédente et définit des blocs, appelés macroblocs
(16x16 pixels) qui se superposeront à l’image précédente.
L’algorithme compare les deux images bloc par bloc et à partir d’un certain seuil de différence,
il considère le bloc de l’image précédente différent de celui de l’image en cours et lui applique
une compression JPEG.
C’est la recherche des macroblocs qui déterminera la vitesse de l’encodage, car plus l’algorithme cherche des " bons " blocs, plus il perd de temps...
Par rapport aux frames-I (compressant directement), les frames-P demandent d’avoir toujours
en mémoire l’image précédente [73].
4.2.3
Les frames B
De la même façon que les frames P, les frames B sont codées par différence par rapport à une
image de référence, sauf que dans le cas des frames B cette différence peut s’effectuer soit sur
la précédente (comme dans le cas des frames P) soit sur la suivante, ce qui donne une meilleure
compression, mais induit un retard (puisqu’il faut connaître l’image suivante) et oblige à garder
en mémoire trois images (la précédente, l’actuelle et la suivante) [73].
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
4.2.4
127
Les frames D
Ces images donnent une résolution de très basse qualité mais permettent une décompression
très rapide, cela sert notamment lors de la visualisation en avance rapide car le décodage " normal
" demanderait trop de ressources processeur [73].
Afin d’optimiser le codage MPEG, les séquences d’images sont dans la pratique codées suivant
une suite d’images I, P, et B (D étant comme on l’a dit réservé à l’avance rapide) dont l’ordre
a été déterminé expérimentalement. La séquence type appelée GOP (Group Of Pictures ou en
français groupes d’images) est la suivante : IBBPBBPBBPBBI.
Une image I est donc insérée toutes les 12 frames.
4.3
Les différents codecs
Le format DivX
Le format DivX est un format de compression/décompression vidéo permettant d’obtenir
des vidéos compressées très peu volumineuses avec une perte de qualité très raisonnable. Ainsi
le format DivX permet de stocker un film complet de 650 ou 700 Mo sur un CD-ROM.
Le format DivX a été mis au point en 1999, par le développeur français Jérome ROTA, à
partir du codec MPEG-4 v3 de Microsoft. En effet, le codec MPEG-4, fourni en standard avec la
version Bêta du lecteur multimédia Windows Media Player, était parfaitement opérationnel mais
à la sortie de la version officielle, celui-ci ne fonctionnait plus correctement, c’est la raison pour
laquelle Jérôme ROTA décida de le corriger ainsi que d’y ajouter la possibilité de compresser le
son au format MP3 et mis au point ce qui allait devenir le format " DivX ;-) " (avec un D et un
X majuscules), un clin d’œil au système DivX (Digital Video Express) dont l’objectif était de
protéger les DVD contre les copies illégales mais qui ne vit jamais le jour dans la mesure où les
DVD ainsi protégés devenaient illisibles au bout de quelque temps [58].
Le codec, jusqu’à sa version 3.11 alpha, était un projet OpenSource (appelé OpenDivX et
porté par le Project Mayo) basé sur un " hack " du codec de Microsoft. En 2001, Jérôme ROTA
fonda l’entreprise DivX Networks afin de produire un nouveau codec propriétaire entièrement
réécrit afin de s’affranchir de la dépendance des droits vis-à-vis de la firme Microsoft, ce qui
déboucha sur la version 4 du codec, baptisée DivX4.
Lors du passage à la version 5 du codec (nommée DivX5), le codec de compression DivX est
r ) ou bien contient un spyware dans sa version gratuite (DivX T M ) [58].
devenu payant (DivX XviD
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
128
Le format XviD est une implémentation OpenSource du codec DivX, développée à partir de
2001, à l’occasion du passage du format DivX original (porté par le groupe Project Mayo) à un
format propriétaire. Le format XviD propose ainsi une compression de très bonne qualité.
VP3
Le format VP3 est un format alternatif OpenSource développé par la société On2. La qualité
des vidéos est moindre qu’en DivX mais le format VP3 est avant tout destiné à une utilisation
en streaming.
3ivX
Le format 3ivX est un format de compression vidéo alternatif permettant une compression
MPEG-4 dans des fichiers Apple QuickTime (extension .mov), ce qui le rend particulièrement
apprécié des utilisateurs de Mac. Le format 3ivX souffre toutefois d’une qualité bien moindre
que le format DivX.
DivX et légalité
Le format DivX (à partir des versions 4 et supérieures) ainsi que les autres formats vidéo ne
sont pas illégaux en soi, mais leur utilisation peut l’être en raison du droit d’auteur qui s’applique
sur les œuvres compressées.
Ainsi les articles L122-5-2 et L211-3 du code de la propriété intellectuelle autorisent la copie
privée d’une œuvre à partir d’un original acquis légalement (par exemple un DVD de location),
pour un usage privé et dans un cercle familial. Une taxe a ainsi été appliquée aux supports de
stockage (CD-R) afin de compenser le manque à gagner des artistes provoqué par le droit à la
copie privée.
En contrepartie la diffusion (mise en partage sur Internet, envoi par messagerie ou tout autre
moyen ou via un logiciel d’échange de fichiers) et le téléchargement d’œuvres protégées par le
droit d’auteur sont interdits par la loi et le cas échéant sanctionnés pour contrefaçon.
Le format MKV
Le format MKV (MatrosKa Video) est un format vidéo entièrement libre. Plus exactement
il s’agit d’un conteneur (d’où le nom Matroska, en référence aux poupées russes) permettant de
contenir de la vidéo (DivX, XviD,RV9, etc.), du son (MP3, MP2, AC3, Ogg, AAC, DTS, PCM),
ainsi que des sous-titres (SRT, ASS, SSA, USF, etc.) dans un même fichier.
Le format MKV est basé sur une structure dérivée de XML, appelée EBML (Extensible
Binary Meta Language). Ainsi grâce au format Matroska, il est notamment possible de réaliser des
fonctions de chapitrage, de créer des menus, de faire des recherches dans le fichier, de sélectionner
une source sonore ou bien de choisir un sous-titrage.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
4.4
129
Modélisation du mouvement
Pour modéliser un mouvement ou une animation, on décompose les phénomènes qui le caractérisent en éléments plus simples à représenter. Dans le cas des images naturelles, le plus simple
est de revenir à une décomposition en images fixes comme pour le cinéma.
Pour les images animées de synthèse, on trouve des modèles de description plus simples et
plus proches du " scénario " qu’une décomposition image par image. L’animation se résume
à la description des déplacements de chacun de ces éléments. Ainsi des animations très complexes peuvent être mémorisées sous forme de programmes , c’est à dire des listes d’instructions
élémentaires [74].
4.5
Estimation du mouvement
L’étape d’estimation consiste à déterminer le champ de vitesse entre deux images successives.
La phase d’analyse permet d’extraire de cette mesure du mouvement des informations descriptives de la séquence.
On a développé deux estimateurs de mouvement basés sur des modèles de mouvement opposés. Des algorithmes s’inscrivent dans le cadre des méthodes différentielles et reposent sur la
résolution d’un système d’équations du flot optique sur-contraint par le modèle de mouvement
[88]. L’estimation des paramètres du modèle est dans les deux cas obtenue par une méthode
robuste, itérative et multi-résolutions.
La première approche utilise un modèle de mouvement translationnel estimé localement. Une
décomposition de la séquence par un banc de filtres de Gabor spatiaux et l’application de l’équation du flot optique sur chaque sous-bande permet de contourner le problème d’ouverture [50].
La décomposition est implantée par des filtres récursifs, permettant une réduction importante
du coût calculatoire de l’algorithme. Les résultats obtenus sur des séquences artificielles et réelles
montrent que la méthode permet de mesurer de manière fiable et précise le flot optique entre
deux images.
La deuxième méthode est basée sur une modélisation globale du mouvement. Le modèle,
valide en tout point de l’image, doit être suffisamment riche pour approximer les mouvements
complexes présent dans les séquences d’images [74]. On a défini deux types de modèle : l’un est
basé sur les séries de Fourier, l’autre sur les séries d’ondelettes. Les paramètres de Fourier ou
d’ondelettes sont estimés en résolvant le système d’équations du flot optique appliqué en chaque
pixel de l’image. Les meilleurs résultats sont obtenus par un modèle basé sur des ondelettes
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
130
B-splines, et sont comparables aux résultats de l’approche d’estimation locale. Les paramètres
des modèles du mouvement global fournissent une signature compacte et précise du mouvement
et peuvent être vus comme des descripteurs du mouvement. Une expérience de classification de
base vidéo et une de segmentation temporelle de vidéos montrent que les cœfficients d’ondelettes
B-spline du flot optique sont effectivement des descripteurs pertinents [39].
4.6
Méthode de choix des images de référence
4.6.1
Introduction
La compression des séquences vidéo est nécessaire pour en permettre le stockage de manière
économique, ainsi que pour pouvoir transmettre les données vidéos numériques à travers un
réseau à bande passante limitée ou depuis un média ayant une limite de taux de transfert.
Au cours des dernières années, l’intérêt pour le multimédia, et en particulier pour la diffusion de contenus audiovisuels, a entraîné de nombreuses recherches dans le domaine du codage
du signal vidéo, qui ont abouti à plusieurs normes tels que H-263, H.26L et MPEG-4. Ces
normes consistent finalement en des boîtes à outils de traitement du signal vidéo, qui permettent
d’adapter le traitement apporté en fonction du contexte et du résultat souhaité (rapport débit/distorsion). Les dernières recherches visent donc à améliorer ces outils, et à en apporter de
nouveaux.
Nous proposons dans ce travail d’effectuer des tests sur la modification de la séquence d’encodage des images d’une séquence vidéo, afin d’apporter un gain en termes de débit et de PSNR
moyen. Il s’agit de réaliser des expérimentations sur le choix des images de référence dans le
processus de compression vidéo en utilisant seulement les images intra et prédictives extraites de
séquences.
Pour chaque image intra et prédictive, nous effectuons une détection de contours. Chaque
image de la séquence est comparée aux autres images en effectuant une soustraction des contours
correspondants. Le choix de l’image de référence se base sur des critères selon l’aspect du résultat
de la soustraction. Nous adoptons le critère de minimum de pixels dans le cas où les images
résultantes présentent uniquement des points et le critère de distance minimale entre les lignes
si elles présentent des lignes parallèles et éventuellement des points.
Le test de cette approche sur les séquences News et Kiss cool a révélé une amélioration de
débit et PSNR moyen par rapport à l’encodage original et à la méthode de choix des images de
référence sur la base de l’erreur quadratique moyen.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
131
Nous présenterons dans ce qui suit la détection de contours automatique, et la méthode
proposée pour le choix des images de référence qui se base sur la détection de contours, dont
nous décriverons les techniques utilisées dans le processus de compression vidéo. Ensuite, nous
expliquerons les étapes suivis afin de réaliser nos expériences, et leur résultats qui seront comparés
avec la séquence originale et la méthode qui se base sur l’EQM.
4.6.2
Méthodes
Détection de contours
Introduction
La détection de contours et la segmentation des images sont des traitements très importants
en analyse d’images et en vision par ordinateur. La performance d’un système de vision et d’un
système de reconnaissance de formes dépend beaucoup de la qualité des contours détectés.
L’objectif de cette partie est de réaliser une détection de contours automatique et de tester
son application sur les images de séquences News et kiss cool étudiées.
Pour se faire, nous avons choisi d’utiliser des types de filtres : le filtre de Sobel, le filtre par
un laplacien d’une gaussiènne (LoG), l’opérateur de Shen et Castan, l’opérateur de Canny et
Deriche et l’opérateur basé sur les moments.
Ces filtres sont utilisés pour calculer les dérivées directionnelles premières et secondes des
variations de niveaux de gris de l’image. Les dérivées premières permettent d’obtenir l’amplitude
du gradient de l’image, et donnent ainsi une première image en niveaux de gris des contours.
Les dérivées secondes, et en particulier leurs passages par zéro nous permettent de déterminer
les maxima du gradient.
On déduit de ces informations les contours des objets présents sur l’image initiale. Ces résultats sont présentés sous la forme d’une image binaire, avec des contours blancs d’épaisseur 1
pixel, sur fond noir.
On effectuera plusieurs fois ces calculs en utilisant différents paramètres pour chaque filtre,
et on retiendra le meilleur résultat en se basant sur un test statistique.
Ces contours présentent cependant un léger bruit, sous formes de points isolés ou de branches
courtes.
Afin d’optimiser la détection de contours, on effectue une vérification automatique des
contours, basée sur une méthode de suivi et de classification des branches. On obtient ainsi
une image des contours lissés, et sans bruit.
Notions générales
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
132
Les contours dans une image sont associés à une forte variation localisée des niveaux de gris.
Afin de déterminer ces variations, on effectue une dérivation directionnelle sur les niveaux de
gris de l’image. On obtient ainsi une valeur du gradient selon la direction spatiale choisie : c’est
un vecteur [87].
La sommation de tous les gradients calculés nous donne l’amplitude du gradient de l’image,
dont les maxima caractérisent les contours. Pour déterminer les contours, on peut effectuer
directement une segmentation sur l’image de l’amplitude du gradient. On obtient ainsi une image
binaire des contours, en blanc sur fond noir par exemple. Cependant les contours obtenus sont
relativement épais, ce qui les rend moins précis, et peut devenir gênant pour leur étude par une
méthode de suivi [39].
On préférera donc calculer la dérivée seconde de l’image, dont les passages par zéro nous
donneront, entre autre, les maxima de l’amplitude du gradient (Figure ci-dessous).
Fig. 4.1 – La première et la deuxième dérivée du transition " Amplitude Jump ".
Ces deux informations combinées (amplitude du gradient et passages par 0) nous permettent
d’en déduire les contours recherchés, en appliquant une méthode de segmentation adaptée (détaillée dans la suite).
Détection
La méthode générale de détection de contours, maintenant largement acceptée, consiste en
un filtre de lissage suivi d’un filtre de dérivation. Le lissage a pour but la réduction du bruit dans
l’image sans éliminer les contours. Généralement un compromis doit être trouvé sur le degré de
lissage entre le bruit présent et la finesse des contours. Le filtre dérivatif détecte les transitions
ou les changements de niveau de gris dans l’image. Communément la dérivée seconde est utilisée
pour déterminer avec précision la localisation du taux maximum de changement des niveaux de
gris.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
133
Ici sont implémentés les algorithmes suivants :
– Filtre 3x3 de Sobel
– Filtre par un laplacien d’une gaussienne, noté LoG
– Opérateur de Shen et Castan
– Opérateur de Canny et Deriche
– Moments
Ces méthodes sont présentées d’une manière unifiée afin de permettre une comparaison objective des résultats. Chacune de ces méthodes fournissent les images suivantes :
– Gradient dans la direction des X
– Gradient dans la direction des Y
– Module du gradient
– Laplacien
Logiciel
Nous avons utilisé le logiciel contour2D (voir figure ci-dessous) qui permet de comparer différentes méthodes de détection-localisation de contours dans des images, ainsi que leur robustesse
au bruit. Initialement développé avec un objectif d’enseignement, il peut aussi être utilisé comme
un utilitaire de détection de contours. Cet outil logiciel est associé au cours sur la Détection de
contours et de surfaces : Compromis Détection-Localisation dispensé par Chafiaâ HamitoucheDjabou en option Signal et Image de l’École Nationale Supérieure des Télécommunications de
Bretagne.
Fig. 4.2 – Logiciel contour2D.
L’interface graphique possède l’avantage de présenter le flot de données et les traitements
successifs directement à l’utilisateur. Ce dernier n’a pas à se perdre dans des menus en cherchant
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
134
les différentes méthodes et options. C’est un aspect important dans un point de vue pédagogique.
Le logiciel est composé de trois modules :
– Le chargement d’une image puis un générateur de bruit blanc gaussien.
– Différents algorithmes de détections de contours.
– Des post-traitements.
A chaque étape, il est possible de sauvegarder les images résultats.
Bruit
L’objectif de ce programme étant la comparaison de différentes méthodes de détection de
contours, la robustesse au bruit doit impérativement être évaluée. Il faut donc pouvoir introduire
du bruit de manière continue afin d’évaluer la manière dont les différents algorithmes se comportent pour une même image bruitée et dans quelle mesure leurs performances se dégradent en
fonction de l’intensité du bruit.
Fig. 4.3 – Générateur du bruit gaussien.
Le générateur ajoute un bruit blanc gaussien centré (les échantillons sont indépendants) sur
l’image d’entrée. Ce bruit est produit de manière indépendante pour chaque pixel de l’image mais
il n’y a aucune garantie quant à la distribution spectrale de l’énergie non plus qu’à la décorrélation
spatiale. L’utilisateur peut choisir interactivement la valeur sigma de la distribution gaussienne
ou le rapport signal sur bruit (SNR).
Pour chaque pixel, une valeur du bruit est calculée : une valeur est prise aléatoirement
(fonction random de la librairie math.h de C++) puis passée à travers une table la convertissant
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
135
en une distribution gaussienne. Cette table est construite en utilisant l’intégrale (discrète) de la
distribution désirée.
Le bouton Apply ajoute le bruit à l’image d’entrée. Le bouton OK fait de même mais ferme
de plus la fenêtre.
Filtre de SOBEL
Le filtre de Sobel est une approximation simple du concept de gradient en utilisant un lissage.
Le lissage dans la direction des X est effectué grâce au masque de convolution :
1
2
1
Le filtre de dérivation est quant à lui donné par :
-1
0
1
Aussi le masque de convolution pour détecter les gradients dans la direction des X est :
-1
0
1
-2
0
2
-1
0
1
De même, celui dans la direction des Y est :
-1
-2
-1
0
0
0
1
2
1
Cette méthode présente l’avantage de nécessiter un temps de calcul court. Cependant elle est
très sensible au bruit et produit des contours discontinus. Quand les images sont bien contrastées
et sans bruit, c’est la meilleure méthode de détection de contours.
√
Le module du gradient est donné en chaque pixel par : Gm = (G2x + G2y )
L’image lissée est obtenue en utilisant le masque de convolution suivant :
1
2
1
2
4
2
1
2
1
Le laplacien de l’image est obtenu en appliquant en seconde fois le masque de dérivation sur
chacune des images dérivées Gx et Gy pour obtenir Gxx et Gyy . La somme de ces deux valeurs
est une estimation de l’opérateur laplacien en continu : ∇2 I = ∂ 2 I/∂x2 + ∂ 2 I/∂y 2
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
136
Filtre du laplacien d’une gaussienne (LoG)
La méthode du laplacien d’une gaussienne fût proposée par Marr et Hildreth pour leurs études
de la vision humaine [90]. L’observation de la réponse des cônes et des bâtonnets de la rétine
humaine leur inspira ce modèle. Cette réponse possède une région centrale de haute sensitivité
avec une région latérale d’inhibition. Le modèle de vision humaine proposé par Marr suppose
que l’appareil visuel humain effectue une analyse multi-échelle de l’image et qu’il détecte des
contours à chaque échelle puis qu’il estime leur intensité [90].
De ce modèle de la vision, ils proposèrent un opérateur de détection de contours basé sur
le laplacien d’une gaussienne (connue aussi comme LoG). Certains auteurs trouvèrent que cette
fonction pouvait être approchée par la différence de deux gaussiennes en choisissant soigneusement leurs valeurs de sigma respectives [92]. Le principal intérêt de cette approximation était la
performance lors des calculs. Ensuite le laplacien d’une gaussienne fût approchée par un filtre à
Réponse Impulsionnelle Infinie (IIR) implémentée comme un filtre récursif [92].
Le filtrage peut être vu comme l’application d’un filtre de lissage suivi d’une dérivation.
Le lissage est obtenu par la convolution avec une fonction gaussienne. Généralement une fonction gaussienne tronquée est utilisée quand la convolution est calculée directement. Il peut être
prouvé que les dérivations appliquées à une fonction lisse peut-être obtenue en appliquant une
convolution avec la dérivée du masque de convolution.
L’une des caractéristiques intéressantes de cette méthode est sa symétrie circulaire qui est
cohérente avec l’anisotropie implicite de données réelles.
Fig. 4.4 – Sigma de la gaussienne.
Dans ce programme, l’utilisateur peut définir de manière interactive la valeur sigma de la
gaussienne.
Filtre SHEN et CASTAN
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
137
L’opérateur de Shen et Castan est un détecteur de contour utilisant un filtre à réponse impulsionnelle infinie. Il a été développé par Shen et Castan pour bénéficier des points forts du
Laplacien d’une Gaussienne tout en évitant ses points faibles [89]. En effet, en prenant une
gaussienne avec un écart-type faible, les contours seront détectés avec une bonne localisation,
malheureusement l’opérateur est très sensible au bruit. Par contre, si l’écart-type est élevé, l’opérateur sera robuste vis à vis au bruit, mais les contours seront très mal localisés. Par ailleurs dans
l’implantation récursive, il suffit d’un seul paramètre de réglage du degré de lissage (équivalent
de l’écart-type).
Filtre de CANNY et Deriche
L’opérateur de Canny-Deriche est le résultat d’un problème d’optimisation sous contraintes.
Les critères étaient la sensibilité, la localisation et l’unicité locale. Deriche développa une implémentation récursive de cet opérateur [90]. La performance élevée de la version récursive la rend
plus intéressantes pour des applications générales. Toutefois elle présente l’inconvénient de ne pas
être symétrique d’un point de vue radial aussi sa réponse est-elle anisotropique. En pratique cela
se traduit par une meilleure détection des contours horizontaux et verticaux que des contours
diagonaux.
Fig. 4.5 – Choix de la constante α du filte de Canny-Deriche.
Cette méthode peut être vue comme un lissage effectué avec une combinaison linéaire de
fonctions exponentielles, suivie de dérivations. L’utilisateur peut choisir la valeur de la constante
de l’exponentielle.
Opérateur basé sur les moments
L’opérateur basé sur les moments fût proposé pour la première fois comme un estimateur
indirect des paramètres du profil en niveau de gris. Supposant que la transition des niveaux de
gris peut être considérée comme des fonctions marche dans une orientation particulière en 2D,
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
138
l’évaluation des moments géométriques jusqu’au second ordre permet d’estimer les paramètres de
la fonction 2D du contour marche théorique [91]. Des variantes de ce concepts furent développées
ensuite : l’une en changeant la base des moments de fonctions polynomiales en polynômes de
Zernike, d’autres en généralisant le profile du niveau de gris [91].
Le principal inconvénient de cette méthode est le temps de calcul. Il peut être de 10 à
100 fois plus long que les méthodes utilisant des filtres récursifs. Il est possible d’améliorer les
performances mais pas jusqu’à égaler les méthodes récursives [91].
Fig. 4.6 – Choix de rayon du cercle lié aux moments géométriques.
Les moments géométriques étant évalués dans un domaine circulaire, l’utilisateur peut choisir
le rayon du cercle. Afin de conserver l’homogénéité avec les autres méthodes, une variante a été
implémentée ici. Le moment d’ordre zéro peut être assimilé à l’image lissée et le moment d’ordre
1 au module du gradient. Le moment d’ordre 2, une fois aligné le long de la direction du gradient
peut être orthogonalisé par rapport aux moments d’ordre 0 et 1. Ce moment orthogonal d’ordre
2 peut alors être assimilé au laplacien.
Post-traitements
Les post-traitements consistent en les deux méthodes suivantes :
– Recherche des maxima locaux et seuillage par hystéresis.
– Recherche des passages par zéro et seuillage par hystéresis.
La recherche des maxima locaux est historiquement reliée à la méthode de Canny et Deriche
mais peut être appliquée en tant que post-traitement à n’importe quel algorithme de détection
de contours. L’objectif de cette recherche est d’affiner les contours sous l’hypothèse que dans la
direction orthogonale au contour seul un pixel doit être retenu. En pratique la méthode évalue
pour chaque pixel E s’il y a, dans la direction du gradient, des pixels avec une valeur de gradient
supérieur.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
139
Fig. 4.7 – Configuration géométrique autour d’un pixel E.
La figure ci-dessus montre la configuration géométrique autour du pixel E. La droite NM
est orthogonale au contour (i.e. est parallèle à la direction du gradient). Les valeurs du niveau
de gris en points N et M sont calculées par interpolation linéaire entre B et C et entre G et
H respectivement. Si la valeur en E est supérieure à celles en M et N, le pixel E est considéré
comme faisant partie du contour, sinon il est éliminé.
Le seuillage par hystéresis est une méthode ayant pour objectif de séparer les contours importants de ceux qui ne le sont pas. Le principe est de ne retenir que ceux topologiquement connecté
aux pixels de fort gradient. Deux seuils sont utilisés, si le gradient est plus bas que le seuil bas,
le pixel est éliminé du contour. Sinon, il sera conservé si et seulement si il est connecté à un pixel
ayant une valeur de gradient supérieure au seuil haut. Il ya connectivité topologique entre deux
point A et B s’il existe un chemin de pixel de A vers B tel que tous les pixels ont une valeur de
gradient supérieure au seuil bas.
La méthode des maxima locaux fonctionne bien lorsque les régions de transitions des niveaux
de gris sont fines. Quand ces régions s’épaississent, la méthode échoue.
Le passage par zéro du laplacien implique deux étapes. Premièrement un seuillage des valeurs du gradient afin de sélectionner les contours importants et d’éliminer les contours faibles
probablement générés par le bruit de l’image. Deuxièmement, il faut suivre les contours qui sont
supposés être une séquence de pair de pixels. Dans ce cas, le contour est considéré comme le
passage entre deux pixels au lieu d’être un ensemble de points connectés. Une paire de pixel
appartient au contour si tous les deux possèdent un gradient de valeur supérieure au seuil.
Suivi de contours
Pour effectuer le suivi de contours on balaye l’image à la recherche d’un point de contour. Il
faut ensuite rechercher les points connexes pour le suivi.
Lors des tests des plus proches voisins, l’ordre des tests est important. Par exemple, il faut
privilégier les pixels directs (les plus proches du pixel en cours, dessus, dessous, droite, gauche)
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
140
et tester les diagonales ensuite sinon, on peut se retrouver bloquer rapidement. Voir schéma (les
rosaces représentent les directions privilégiées) :
Tous les points de contours repérés sont placés dans une liste chaînée.
Cas limite
Voici un cas limite, une fois un choix de parcours effectué, une partie est oubliée et la liste
s’arrête car il n’y a plus de pixel de contour à proximité.
Pour éviter de se retrouver bloquer, on relance la détection dans l’image. On retrouve un
nouveau point et on recommence le suivi de contour, en ajoutant les nouveaux pixels détectés à
la suite de notre liste.
N.B. : Si la détection de contour a été correcte, l’épaisseur des contours ne doit pas dépasser
1 pixel. Ce cas n’est pas censé se produire en utilisant la méthode de détection de contours que
nous avons choisi.
Elimination des petites branches (dues au bruit)
La phase de détection de contours a engendré de nombreux faux contours, caractérisés par
de petites branches. Il faut les supprimer.
Effectivement, la première idée qu’on vient en tête afin d’éliminer les faux contours (petites
branches), serait de faire appel à la morphologie mathématique.
Une ouverture supprime bien les petites branches sur les images artificielles. Mais on voit que
sur des images réelles, comme les empreintes digitales. Le suivi de contour n’est plus possible,
car les stries sont discontinues. Il faut donc tenter de supprimer les faux contours lors du suivi.
Conclusion
La détection de contours en traitement d’image est essentielle car elle permet une réduction
drastique de la quantité d’information relative à une image, tout en préservant des informations
structurelles comme les contours et les frontières des images.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
141
Il s’agit de pouvoir détecter dans une image un contour constitué par l’addition d’une marche
d’escalier (le contour le plus simple et le plus courant) et d’un bruit blanc gaussien. Un tel contour
est détecté au niveau des maxima locaux présents dans l’image en sortie du filtre linéaire. Mais les
auteurs diffèrent quant au choix des critères à optimiser, quant à l’importance relative à accorder
à chacun de ces critères, quant aux conditions aux limites à adopter et les filtres optimaux qu’ils
proposent ne sont pas toujours identiques, du moins ont des performances différentes selon les
critères retenus.
En résumé, il nous a semblé que l’implémentation pratique présentait déjà de tels écarts avec
les spécifications théoriques optimales, préconisées par les auteurs qu’il devenait très difficile de
pouvoir juger avec une étude pratique, des petites divergences théoriques concernant le choix
des critères. Ces écarts sont dus à diverses choses : les filtres sont à réponse impulsionnelle finie,
et il faut donc, dans le cas de la dérivée de gaussienne, par exemple, de choisir une troncature
adéquate au delà de laquelle la valeur de la fonction tombe au dessous d’une certaine fraction de
sa valeur crête. Or les valeurs des intégrales intervenant dans les mesures des critères appliqués
au filtre dérivée de gaussienne sont calculées avec des bornes infinies. Il y a là un décalage entre
mise en œuvre pratique du filtre et performances théoriques qui lui sont faussement attribuées.
Il en est de même pour le filtre (également dérivée de gaussienne), optimal pour le critère de
localisation, à condition qu’il s’agisse d’une gaussienne non tronquée (la preuve mathématique
qu’ils exhibent tient en effet compte des bornes infinies dans les intégrales). Il n’est pas dit que
le filtre dérivée de gaussienne tronqué soit réellement optimal pour ce critère de localisation. De
plus, les paramètres intervenant dans la mise en œuvre du filtre dérivée de gaussienne et d’autres
filtres optimaux sont très dépendants des images et il est difficile de se placer dans un contexte
de comparaison rigoureuse.
La représentation d’une séquence vidéo
Une séquence vidéo brute est une suite d’images fixes, qui peut être caractérisée par trois
principaux paramètres : sa résolution en luminance, sa résolution spatiale et sa résolution temporelle.
La résolution en luminance détermine le nombre de nuances ou de couleurs possibles pour un
pixel. Celle-ci est généralement de 8 bits pour les niveaux de gris et de 24 bits pour les séquences
en couleurs. La résolution spatiale quant à elle, définit le nombre de lignes et de colonnes de la
matrice de pixels. Enfin, la résolution temporelle est le nombre d’images par seconde. La valeur
de ces trois paramètres détermine l’espace mémoire nécessaire pour stocker chaque image de
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
142
la séquence. Cet espace mémoire est caractérisé par le débit, qui est le coût de stockage pour
une seconde (capacité mémoire nécessaire pour stocker une seconde de vidéo). Par exemple, une
seconde ayant une résolution de 720 par 576 pixels, un codage des couleurs sur 24 bits, et une
fréquence de 25 images par seconde, nécessitera un débit de 137 Mb/s. Le débit d’une séquence
vidéo brute, est très élevé comparé aux débits et à l’espace offerts par les moyens de stockage et
de transferts actuels [84].
Réduction d’information par la représentation en format YUV
A l’entrée de l’étape de codage, les données vidéo sont présentées sous forme numérique où
chaque pixel est codée par trois composantes, une pour la luminance (notée Y) et deux pour la
chrominance (notées U et V). La résolution de l’image, notée h × η, est déterminée par le nombre
de lignes (résolution verticale η) et le nombre de pixels par ligne (résolution horizontale h). Alors
que chaque pixel est représenté par une valeur de luminance, les valeurs de chrominance sont
souvent sous-échantillonnées de manière à ce qu’on ait une seule valeur de composante U (resp.
V), pour deux ou quatre pixels. Cette première réduction de la quantité d’information se base sur
le fait que la perception humaine est plus sensible à l’intensité de la lumière qu’à la couleur. On
parle alors de format d’échantillonnage (voir figure ci-dessous). Les principaux formats utilisées
par MPEG-2 sont : 4 :2 :0, 4 :2 :2 et 4 :4 :4 (MPEG-1 utilise surtout le format 4 :2 :0) [6]. Le
tableau encore ci-dessous montre les résolutions en Y, U et V des deux formats les plus utilisés
dans la pratique, le CCIR 601 (ou encore ITU-R BR601) et le SIF (standard Image Format).
Fig. 4.8 – Sous-échantillonnage de la chrominance.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
143
Fig. 4.9 – Formats d’image numérique.
Algorithme de codage
La compression de données permet de réduire la quantité d’information, en modifiant son
mode de représentation. Les techniques utilisées pour compresser le signal vidéo utilisent la
redondance spatiale et la redondance temporelle. Le but est de réduire le débit de la séquence
vidéo à compresser, tout en minimisant les erreurs visibles (EQM et PSNR). Pour cela, il existe
deux principales techniques, la compression sans pertes et la compression avec pertes. La première
permet de retrouver l’information initiale après décompression, tandis que la deuxième n’en
restituera qu’une approximation. Dans le cas des images naturelles, la compression sans pertes
est insuffisante, et l’introduction de pertes dans le processus de compression permet d’obtenir de
meilleurs résultats sans empêcher l’interprétation du contenu visuel [83].
Les normes vidéo actuelles utilisent un système de codage hybride avec compensation du
mouvement basé sur des blocs et réduction de l’entropie par transformée (voir figure ci-dessous)
[85].
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
144
Fig. 4.10 – Schéma général d’un codeur vidéo.
L’entropie (H(x) = −
P
i Pi log2 (Pi ))
d’une image est la quantité moyenne d’informations
apportée par chaque nouveau pixel transmis, ou encore, l’incertitude moyenne sur le prochain
pixel qui va être traiter [82]. Elle sera maximale si la source obéit à une loi uniforme, alors
qu’elle sera plus faible si la distribution est concentrée autour de quelques valeurs seulement. Le
but de la réduction de l’entropie est par conséquent de transformer la distribution des valeurs
de l’information à transmettre. La réduction de l’entropie est composée de trois étapes : la
décorrélation, la quantification et le codage entropique. La décorrélation est opérée par un codage
par transformé. Parmi les transformations utilisées, on peut citer la transformation de Karhunen
Loève (KLT), la Transformée en Cosinus Discrète (DCT) et les Transformées en Ondelettes
Discrètes (DWT) [5].
L’application d’une transformée sur une image naturelle permet d’obtenir des composantes
dont la variance est concentrée sur les composantes de basses fréquences. L’image ainsi transformée est ensuite quantifiée puis compressée à l’aide d’un codeur entropique (figure ci-après)
[75].
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
145
Fig. 4.11 – Principe de codage.
Structure du codage et structure du GOP(Group Of Pictures)
La norme MPEG définit un ensemble d’étapes de codage qui permettent de transformer un
signal vidéo (numérisé dans un format normalisé) en un train binaire (bit stream) destiné à
être stocké sur un support ou transmis dans un réseau. Le train binaire est décrit selon une
syntaxe codée d’une manière normalisée pour pouvoir être restitué par n’importe quel décodeur
respectant la norme MPEG [5].
L’algorithme de codage définit une structure hiérarchique contenant les niveaux décrits sur
la figure suivante [76] :
Fig. 4.12 – Hiérarchique du codage MPEG.
Le groupe d’images ou GOP est constitué d’une suite périodique d’images compressées. Il
y a trois types d’images compressées : Une image de type I (Intra) compressée d’une manière
indépendante des autres images, à la manière de JPEG pour les images fixes (Still image), Une
image de type P (Prédictive)codée en utilisant une prédiction d’une image antérieure de type I
ou P et une image de type B (Bidirectionnelle)codée par double prédiction (ou Interpolation) en
utilisant comme références une image antérieure de type I ou P et une image future de type I ou
P.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
146
Un GOP commence par une image I, contient une suite périodique d’images P séparées par un
nombre constant d’images B à la manière de l’exemple de la figure suivante :
Fig. 4.13 – Structure du GOP.
La structure du GOP est alors définie par deux paramètres : le nombre d’images du GOP et
la distance entre les images I et P.
L’image elle même découpée en tranches ou slices dont le but est de limiter la propagation
d’erreurs de transmission/stockage dans l’image restituée. Une tranche est une suite de macrosblocs. Un macro-bloc représente une partie de l’image de 16 × 16 pixels. Un bloc est une matrice
de 8 × 8 cœfficients chacun représentant l’une des trois composantes d’un pixel, Y, U ou V.
Dans le format 4 : 2 : 0 (resp.4 : 2 : 2) par exemple, un macro-bloc est constitué de quatre
blocs Y, un (resp. deux) bloc(s) U et un (resp. deux) bloc(s) V.
Appréciation des erreurs de compression
Après quantification il y a des pertes d’informations qui sont mesurées par l’erreur quadratique moyenne (EQM) entre l’image originale et l’image reconstruite :
EQM = 1/N
P
i (xi
− x̄i )
Un autre grandeur, appelé en anglais Peak Signal to Noise Ratio (PSNR), plus significative,
se dérive de l’EQM par la relation :
P SN R = 10 log10 (Ng2 /EQM )
Où Ng représente le niveau de gris maximal que peut prendre un pixel. Par exemple pour les
images codées sur 8 bits, Ng = 255.
Cette mesure de la distorsion couplée avec le débit de la séquence résultante permet d’apprécier le compromis entre le gain de la compression et la qualité de restitution [54]. Ce compromis
est visible sur la courbe da la figure suivante. Le but est, en général, d’obtenir la meilleure fidélité
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
147
(ou la plus grande distorsion) compte tenu de la capacité du canal de transmission qui détermine
la contrainte de débit. Cette optimisation peut être faite à l’aide des techniques de minimisation
de Lagrange fondées sur la théorie du débit-distorsion [82].
Fig. 4.14 – Allure typique d’une courbe du rapport débit/distorsion.
Les images de références
On appelle image de référence, l’image qui va être utilisée pour prédire une image et estimer le
mouvement à compenser. Cette image peut être simplement une image précédemment codée dans
la séquence. Dans les dernières normes, de nouvelles images sont utilisées : les objets mosaïques.
Un objet mosaïque contient l’ensemble de l’information disponible sur un objet physique donné.
Il est souvent utilisé sous la forme d’objet mosaïque plan (voir la figure ci-dessous) appelé MOP
(Mosaic Objet Plane) qui est construit à partir d’une séquence de vues de l’objet considéré.
Le principe de construction consiste à recaler les images (ou portions d’images) traitées dans le
référentiel de l’objet mosaïque [81]. Les images peuvent être utilisées pour représenter sur une
seule image la totalité d’une scène [82]. Cette mosaïque est généralement plus grande qu’une
image de la séquence.
Le standard MPEG-4 [76] a ajouté le mode de codage sprite aux modes Intra et Inter, pour
construire de tels objets. En revanche, rien n’est spécifié dans ce standard en ce qui concerne le
processus de construction.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
148
Fig. 4.15 – Images originales utilisées pour la constructions des images mosaïques.
Fig. 4.16 – Image mosaïque1.
Fig. 4.17 – Image mosaïque2.
Problématiques
Classiquement, l’image de référence utilisée lors de l’encodage d’une image prédictive, n’est
pas choisie, c’est l’image de type P ou I précédente qui est utilisée. Or, dans certain cas, le choix
d’une image située plus loin dans la séquence semblerait plus approprié [153].
Prenons comme premier exemple le cas d’un changement de plan répétitif. Si un changement
de plan survient entre deux images prédictives, la prédiction de la première image du second
plan sera faite à partir d’une image du plan précédent, alors qu’il semblerait plus intéressant
d’utiliser une image antérieure du même plan ( si une telle image existe). Ce problème s’illustre
parfaitement sur la séquence News de la figure suivante où l’image prédictive 69 fait référence à
une image du plan B, alors que des images du plan A ont déjà été codées ultérieurement (voir
l’image prédictive 63).
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
149
Fig. 4.18 – Prédiction lors d’un changement de plan (Séquence News).
Le deuxième exemple concerne l’entrée d’un objet dans une scène comme le montrent les
images ci-dessous de la scène Kiss Cool constituée de 713 images de la figure suivante. Dans ce cas,
il semblerait intéressant de choisir comme image de référence l’image où l’objet est complètement
rentré dans le champ de vision. Ainsi, les prédictions seraient plus efficaces pour les parties visibles
de l’objet pour chaque image où il apparaît [153].
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
150
Fig. 4.19 – La séquence kiss cool.
Le but de ce travail est de faire des expériences sur l’utilisation des images de référence
pertinentes, en essayant de trouver des critères pour déterminer les images à utiliser comme
images de référence.
4.6.3
Applications et Résultats
Pour appliquer notre méthode, nous avons choisi séquence de kiss cool de la figure précédente.
La prise de vue est fixe, et à lieu sur un escalier, où deux objets apparaissent, déambulent sur
l’escalier puis disparaissent. Cette séquence est intéressante car le début est sans mouvement
ensuite les objets apparaissent un par un puis ils disparaissent.
La deuxième séquence utilisée est celle de News (échantillons visible sur la FIG.4.18.), qui a
été construite afin d’obtenir des changements de plan. Cette séquence comporte 88 images dont
un changement de plan à la 66eme image, et un retour sur le premier plan à la 69eme image.
Méthode proposée
Le schéma de la méthode proposée est donnée sur la figure suivante :
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
151
Fig. 4.20 – Schéma de la méthode proposée.
L’algorithme de la méthode proposée consiste à extraire, dans un premier temps, les différentes images Intra, Prédictives et Bidirectionnelles qui constituent la séquence vidéo originale.
Après qu’on fera la détection des contours des images Intra et Prédictives, nous faisons une soustraction entre images contours et le choix de la meilleure image de référence pour chaque image
Intra ou prédictive se fait comme suit :
– Si tous les résultats contiennent des points alors, la meilleure image de référence sera celle
qui correspond au résultat englobant le minimum de points.
– Si par contre les résultats obtenus contiennent des points et des lignes parallèles de points
gardant la même distance, nous choisissons la meilleure image de référence celle qui correspond au résultat qui contient des lignes parallèles mais avec la distance minimale entre
lignes, comparé aux autres résultats.
Reconstruction de séquences
Nous avons modifié les séquences en entrée pour pouvoir choisir les images qui seraient
utilisées comme images de références, ou comme image-clé des GOPs (image I). Lors de la
reconstruction du GOP, nous pouvions alors modifier l’ordre des images afin de voir l’influence
des images de référence choisies sur la qualité de la compression.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
152
Fig. 4.21 – Reconstruction d’une séquence.
Recherche de la meilleure image Intra
Etant donné que la reconstruction des séquences permettait de choisir l’image Intra d’un
GOP, nous voulons observer l’influence du choix de l’image Intra sur la qualité de la compression
(au sens débit/distorsion). Les gens ont fourni un script qui permet pour un GOP donné, de
tester l’encodage avec chaque image du GOP comme image Intra, et de fournir un graphique
représentant les coûts de stockage des images P et les PSNR moyens des images décodées de
chaque encodage [82].
On peut voir sur la figure ci-après le résultat de l’exécution de ce script sur la séquence Kiss
Cool pour le GOP comprenant les images de 78 à 90. on remarque un gain au niveau du stockage
pour l’encodage de la séquence en utilisant la deuxième image (l’image 79) comme image Intra.
Pour les images suivantes, on obtient pas de bons résultats. L’utilisation de l’image 81 produit
un résultat équivalent (stockage un peu plus élevé, mais distorsion plus faible).
Pour obtenir de bons résultats, nous allons réordonnancer complètement la séquence.
Fig. 4.22 – Rapport débit/distorsion pour les différentes images Intra du GOP 78-90 de
la séquence Kiss Cool.
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
153
Ordonnancement des images et résultats
La démarche consiste à rassembler dans un premier temps les images similaires en se basant
sur la détection des contours des images Intra et Prédictive puis faire la soustraction entre l’image
en question et les autres images Intra et Prédictive du GOP. L’image de référence choisie est celle
dont la soustraction de ses contours avec ceux de l’image en question donne soit peu de point
soit plusieurs points gardant la même distance minimale par rapport aux autres soustractions
avec les autres images Intra et Prédictive.
Une nouvelles séquence est alors reconstruite image par image, en comparant chaque image
aux autres, pour pouvoir sélectionner la plus proche. Puis une recherche de la meilleure image
Intra est effectuée pour chaque GOP de la séquence.
Une fois toutes ces informations calculées, il ne reste plus qu’à construire la séquence à
encoder à partir de ces informations.
Les résultats de cette méthode sur la séquence News (images 60-81) et sur la séquence Kiss
Cool (images 132-153) sont donnés sur la figure suivante [114] :
Fig. 4.23 – Résultats obtenus et publiés par International Journal of computer sciences
and telecommunications.
En utilisant la Transformation Multi-échelle de Faber-Schauder (Voir le chapitre suivant de
crypto-compression) à la place de la détection des contours et en suivant les mêmes étapes déjà
expliquées nous obtenons pour les deux séquences News et kiss cool les résultats suivants :
CHAPITRE 4. COMPRESSION DES SÉQUENCES VIDÉO
154
Fig. 4.24 – Résultats obtenus et publiés par le Journal International Applied Mathematical sciences.
L’ordonnancement de la séquence a été performant puisque les images ont été regroupées par
plan. Pour la même qualité visuelle, le débit obtenu avec le réordonnancement de la séquence est
bien meilleur que celui obtenu avec la séquence originale et celui obtenu par la méthode qui se
base sur l’EQM afin de déduire les images semblables et reconstruire la séquence d’images.
4.7
Conclusion
Notre objectif est d’effectuer des tests sur la modification de la séquence d’encodage des
images d’une séquence vidéo, afin d’apporter un gain sur le résultat obtenu. Certains tests ont
permis de mettre en évidence le gain possible pour certaines séquences par la modification des
images de références utilisées.
Notre méthode est bien meilleure que celle classique originale, et celle qui se base sur l’EQM,
pour pouvoir tirer les images similaires et les rassembler avant d’appliquer l’encodage.
Nous penserons d’appliquer cette méthodes sur tout type d’images constituant les GOPs y
compris les images Bidirectionnelles.
Chapitre 5
Crypto-Compression d’images
5.1
Introduction
La transmission et le transfert d’images, en espaces libre et sur les lignes, est encore actuellement peu protégé. Les techniques standard de chiffrement ne conviennent pas au cas particulier
des images. Le meilleur serait de pouvoir appliquer des systèmes de chiffrement asymétriques
pour ne pas avoir de clé à transférer. Du fait de la connaissance de la clé publique, les systèmes
asymétriques sont très coûteux en temps de calcul, et donc pas envisageable pour un transfert sécurisé d’images. Les algorithmes symétriques imposent de transférer la clé secrète. Les méthodes
classiques de chiffrement d’images imposent le transfert de la clé secrète par un autre canal ou un
autre moyen de communication [128] [129]. Les algorithmes de chiffrement par blocs appliqués
aux images présentent deux inconvénients : d’une part, quand l’image contient des zones homogènes, tous les blocs identiques sont également identiques après chiffrement. Pour celà, l’image
cryptée contient des zones texturées et l’entropie de l’image n’est pas maximale. D’autre part
les techniques de cryptage par blocs ne sont pas robustes au bruit. En fait, une erreur sur un
bit chiffré va propager des erreurs importantes sur le bloc courant entièrement. Les méthodes
de crypto-compression classiques ont toutes tendance à réaliser des techniques de cryptage et de
compression de manière disjointe ; ceci posait un problème au moment des étapes de décryptage
et de décompression, surtout pour le cas de certains domaines d’applications du type temps réel
comme l’émission des images par satellites ou encore la télémédecine où le temps est un facteur
primordial. Pour un transfert d’images sécurisé et réduit, les algorithmes de cryptage d’images
doivent pouvoir être combinés avec les algorithmes de compression d’images. Les techniques de
compression cherchent les redondances contenues dans les images afin de réduire la quantité
155
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
156
d’information. Par contre les techniques de cryptage ont pour objectif de supprimer toutes les
redondances pour éviter des attaques statistiques d’où le fameux problème !. Dans beaucoup de
méthodes de compression d’images à niveaux de gris, l’idée principale consiste à les transformer
de façon à concentrer l’information (ou l’énergie) de l’image sur un petit nombre de pixels. En
général, les transformations linéaires sont préférées car elles se prêtent très bien à une étude
analytique. Parmis les transformations les plus utilisées, on peut citer celle de cosinus qui est à
la base de la norme de compression JPEG [136]. Les transformations multi-échelles permettent
de prendre en compte, en même temps, les grandes structures et les petits détails contenus dans
une image et de ce point de vue elles possèdent des similarités avec le système visuel humain
[137]. L’algorithme de pyramide laplacienne de Burt-Adelson fut le premier exemple connu mais
il souffre notamment de la redondance de la représentation des données après transformation.
Mallat a utilisé l’analyse des ondelettes pour développer un algorithme rapide de transformations
multi-échelles d’images qui a la même philosophie que le schéma de la pyramide laplacienne mais
qui est plus efficace. Nous présentons dans ce papier, la transformation multi-échelle de FaberSchauder (FMT), qui effectue un changement de la base canonique vers celle de Faber-Schauder.
Nous utilisons un algorithme de transformation (et transformation inverse) qui est rapide et exact.
Nous présentons ensuite une méthode de visualisation à échelles mixtes qui permet d’observer, sur
une seule image, l’effet de la transformation. On remarque alors une concentration de coefficients
autour des régions de contours et ceci et confirmé par l’aspect particulier de l’histogramme. Si on
crypte uniquement ses coefficients significatifs on a seulement une petite perturbation de l’image
multi-échelle et avec un bon conditionnement on pourra décrypter et reconstruire l’image initiale
sans grande dégradation. Dans ce qui suit, nous décrivons la construction de la base multi-échelle
de Faber-Schauder et nous attaquons l’algorithme de transformation et transformation inverse.
Puis après, nous introduisons la visualisation à échelles mixtes des images transformées et ses
propriétés. Ensuite, nous parlons de la compression d’images par la FMT et nous expliquons les
deux algorithmes de cryptage DES et AES. Enfin, nous terminons par le schéma de principe de
la méthode hybride de crypto-compression introduite et les résultats trouvés, après application
et comparaison avec d’autres méthodes de crypto-compression.
5.2
Cryptographie
Depuis longtemps, la transmission de données sensibles a nécessité l’utilisation d’un système
de sécurisation performant.
Les services secrets des grandes puissances économiques et politiques, de tout temps très
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
157
impliqués, ont développé, tout d’abord, des codages alphabétiques et numériques simples, puis des
techniques cryptographiques plus poussées, grâce à l’outil mathématique pour rendre inviolables
et inexploitables directement leurs données sensibles.
La cryptologie, véritable science régissant le codage de l’information, a connu une réelle
explosion avec le développement des systèmes informatiques, passant d’une ère artisanale et
confidentielle à des systèmes de très hautes technologies nécessitant une importante puissance
de calcul. Elle a connu un plus large essor encore avec l’arrivée des systèmes de communications
modernes (internet, etc...) où il y a une nécessité absolue de protéger les données échangées pour
respecter les individus.
5.2.1
Les techniques de cryptographie
La cryptologie, science fondamentale qui régit la cryptographie, est essentiellement basée sur
l’arithmétique [140].
Ainsi dans le cas d’un texte, il s’agit de transformer les lettres qui composent le message en
une succession de chiffres (sous forme de bits dans le cas de l’informatique pour permettre le
fonctionnement binaire des ordinateurs), puis ensuite de faire des calculs sur ces chiffres pour :
– d’une part les modifier et les rendre incompréhensibles. Le résultat de cette modification
(le message chiffré) est appelé cryptogramme,
– d’autre part, faire en sorte que le destinataire sache les déchiffrer en utilisant les outils
préétablis ou joints aux données.
Le fait de coder un message de façon à le rendre secret s’appelle chiffrement. La méthode
inverse consistant à retrouver le message original, est appelée déchiffrement.
Fig. 5.1 – Schéma de chiffrement et déchiffrement.
Le chiffrement se fait généralement à l’aide d’une clef de chiffrement, le déchiffrement avec
une clef de déchiffrement. On distingue généralement deux types de clefs :
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
158
– Les clés symétriques : on utilise des clés identiques à la fois pour le chiffrement et pour le
déchiffrement. On parle alors de chiffrement symétrique ou de chiffrement à clé secrète. Il
s’agit de la cryptographie à clé privée.
– Les clés asymétriques : on utilise de clés différentes pour le chiffrement et le déchiffrement.
On parle alors de chiffrement asymétrique. Il s’agit de la cryptographie à clé publique.
Au cours des années soixante dix, un systéme de sécurisation basé sur la polarisation des photons
est apparu : la cryptographie quantique. Cette technique est différente des autres cryptosystèmes
à clé puisqu’elle fonctionne sur des propriétés physiques intrinsèques au système [141].
La cryptographie à clé privée
Le chiffrement à clé privée, aussi appelé chiffrement symétrique ou chiffrement à clé secrète,
consiste à utiliser la même clé pour le chiffrement et le déchiffrement [142].
Si A veut envoyer un message à B, tous deux doivent au préalable s’être transmis la clé.
Celle-ci est identique chez l’émetteur et le destinataire du message. Les deux parties doivent
se communiquer la clé à un moment ou à un autre, ce qui constitue un risque non négligeable
d’interception. Elle peut servir pour plusieurs messages ou être modifiée à chaque échange. Dans
le premier cas, elle repose sur la confiance en l’utilisateur [143].
Les systèmes à clé privée posent un second problème. Si une clé différente est mise en oeuvre
pour chaque paire d’utilisateurs du réseau, le nombre total des clés augmente beaucoup plus
rapidement que celui de protagonistes. Dans les années 20, Gilbert Vernam et Joseph Marlogne
Fig. 5.2 – Schéma de chiffrement à clé symétrique.
mettent au point la méthode du one time pad (méthode du masque jetable) , basée sur une clé
privée générée aléatoirement, utilisée une et une seule fois puis détruite. Plus tard, le Kremlin
et la Maison Blanche sont reliés par le fameux téléphone rouge, dont les communications étaient
cryptées par une clé privée selon la méthode du masque jetable. La clé était alors échangée au
moyen de la valise diplomatique (jouant le rôle de canal sécurisé)[141].
Dans les années 80, Claude Shannon démontra que pour être totalement sûr, les systèmes à
clef privée doivent utiliser les clefs d’une longueur au moins égale à celle du message à chiffrer,
ce qui pose problème [141].
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
159
De plus, le chiffrement symétrique impose d’avoir un canal sécurisé pour l’échange de la clé,
ce qui dégrade sérieusement l’intérêt d’un tel système de chiffrement [141].
La cryptographie à clé publique
La cryptologie moderne est née en 1976 avec l’introduction par deux chercheurs de l’Université
de Stanford, Whitfield Diffie et Martin Hellman, du concept de clé publique [144].
Le principe émet que seule l’opération de déchiffrement doit être protégée par une clé gardée
secrète. Le chiffrement peut parfaitement être exécuté à l’aide d’une clé connue publiquement,
à condition, bien sûr, qu’il soit virtuellement impossible d’en déduire la valeur de la clé secrète.
On parle alors de " cryptographie asymétrique ". Les deux inventeurs butent cependant sur la
difficulté de proposer un véritable cryptosystème à clé publique ; la solution vient du MIT en
1978, avec la publication d’un procédé de chiffrement mettant en œuvre les idées de Diffie et
Hellman [144].
Ils constatent que la clé publique permet le transport des clés conventionnelles, qui ne repose pas sur l’existence d’une hiérarchie cloisonnée. C’est bien ainsi que fonctionne le système
actuellement. Ils savent également qu’un système de chiffrement peut être utilisé comme mode
d’authentification : c’est le principe de l’I.F.F. (Identification Friends and Foes), mis au point
dans les années 1950 par l’armée de l’air américaine, qui identifie les appareils amis par leur capacité à déchiffrer un message choisi au hasard et inclus dans le signal radar. Dans le contexte de
la clé publique, pouvoir déchiffrer un message produit la preuve qu’on est en possession de la clé
secrète. Contrairement au mode conventionnel, cette preuve est opposable aux tiers, puisque quiconque peut vérifier par chiffrement public qu’on restitue le message initial. On réalise l’analogue
d’une signature manuscrite liant un document à son auteur. C’est précisément ce mécanisme de
signature numérique qui se met en place aujourd’hui pour les besoins du commerce électronique
[149].
Au-delà de l’invention de la clé publique, l’un des apports de la cryptologie moderne est d’avoir
su fournir un cadre conceptuel cohérent pour analyser qualitativement les menaces potentielles
contre un système cryptographique. La sécurité est algorithmique : elle fait l’hypothèse que
l’adversaire éventuel dispose d’une puissance de calcul importante mais bornée ; ceci est contraire
à la théorie de Shannon qui attribue à l’ennemi une capacité infinie de calcul et conduit de ce fait
à ce qu’on appelle la " sécurité inconditionnelle ". Cette dernière mène à des systèmes peu utilisés
puisque la clé a nécessairement une longueur au moins égale au texte à chiffrer. Elle est toutefois
parfaitement réalisable par combinaison du texte clair -supposé d’une suite de bits (c’est-à-dire
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
160
0 et 1) avec une autre suite constituant la clé, la combinaison étant réalisée par une addition de
bits à bits, analogue à l’addition ordinaire, à ceci près que 1+1 vaut 0. Ce mécanisme, connu sous
le nom de " chiffrement de Vernam ", est parfaitement sûr lorsque chaque clé n’est utilisée qu’une
seule fois. On peut imaginer d’autres mécanismes de sécurité qui ne soient ni algorithmiques ni
inconditionnels ; c’est ainsi qu’on envisage aujourd’hui la possibilité de procédés de cryptographie
sur les lois de la physique quantique [150].
Fig. 5.3 – Schéma de chiffrement à clé publique.
Les mécanismes mis en œuvre :
La quasi-totalité des systèmes cryptographiques asymétriques repose sur l’emploi de méthodes
mathématiques issues de la théorie des nombres et développées au XIXe siècle, notamment dans
les travaux de l’allemand Carl Friedrich. Pour les appréhender, on doit substituer à l’arithmétique
ordinaire des mécanismes de calcul modulo n où les nombres manipulés ne dépassent jamais une
certaine valeur n. Dès que le résultat d’un calcul atteint ou dépasse cet entier n, on le remplace
par son reste dans la division par n ainsi, modulo 35, le produit de 12 et 4 vaut-il 13 ? Outre
l’addition et la multiplication, il est possible de définir dans ce cadre l’opération d’exponentiation,
notée ab (mod n) et correspondant à b fois le produit de a par lui-même. Le chiffrement R.S.A.
(que nous étudierons dans la seconde partie) réalise l’exponentiation me (mod n), où m est un
message (supposé codé par un entier inférieur à n) et où e est un entier fixé appelé l’exposant
R.S.A. Le couple (n, e)constitue la clé publique. L’opération inverse qui permet le déchiffrement
est aussi une exponentiation, mais le calcul de l’exposant correspondant, gardé secret nécessite
la connaissance de la factorisation de n. Or on sait qu’un nombre premier n’admet d’autre
diviseur que 1 et lui-même ; la suite des nombres premiers est infinie et commence par 2,3,5,7,
etc. Tout nombre s’écrit comme produit p et q. Le problème de recouvrer p et q à partir de la
seule connaissance de n est algorithmiquement très difficile : on est actuellement incapable de
le résoudre dès que n dépasse 140 chiffres décimaux et ce " record " n’est atteint qu’au prix de
l’utilisation de centaines de machines durant plusieurs mois [145].
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
161
La sécurité de la R.S.A., liée au problème de la factorisation, s’interprète comme la difficulté
de trouver la solution d’équations du type xe (modn) = c, où x est l’inconnue. Un problème
voisin, celui du logarithme discret, correspond à l’équation g x (modn) = v, où x est l’inconnue.
Plusieurs systèmes cryptographiques reposent sur la difficulté de résoudre ce problème. C’est
le cas en particulier de la solution " partielle " au problème de la clé publique proposée par
Diffie et Hellman dans leur article fondateur : cette solution permet, sans convention préalable,
l’établissement d’une clé symétrique commune entre deux entités qui communiquent par un
canal non sûr, ce qui est, en pratique, l’une des applications principales des cryptosystèmes à clé
publique. Cependant, au contraire de la R.S.A., le système de Diffie et Hellman n’autorise pas
directement la signature numérique, même si des variantes réalisant le chiffrement à clé publique
et la signature ont été proposées ultérieurement. La même année est apparue l’idée d’utiliser des
structures mathématiques plus complexes que les entiers modulo n mais conservant la possibilité
de définir des opérations analogues à la multiplication et à l’exponentiation : il s’agit des courbes
elliptiques. Le problème du logarithme discret pour ces courbes pourrait être notablement plus
difficile, permettant ainsi le recours à des clés de tailles moindres. L’idée de les utiliser dans des
applications pratiques fait son chemin [146].
La cryptographie quantique
Sur le réseau Internet, les cryptographies à clé publique ou privée ne permettent pas de savoir
si le message crypté émis a été intercepté par une personne autre que le destinataire. En revanche
avec la cryptographie quantique, un espion est immédiatement repéré.
Née au début des années 70, cette méthode est liée au principe d’incertitude de Heisenberg
selon lequel la mesure d’un système quantique perturbe ce système. Le texte du message codé sous
la forme de bits classiques est ici représenté par un ensemble de photons dont l’état quantique
correspond à la valeur de ses bits. Si un intrus agit sur un des photons, il en détruit la polarisation,
si bien que l’émetteur et le récepteur s’en rendent immédiatement compte.
La cryptographie quantique permet ainsi l’échange d’informations confidentielles. Notamment
de la clé de codage employée dans une méthode asymétrique à clé publique. L’inconvénient réside
dans l’atténuation du flux de photons le long des fibres optiques par lesquelles ils transitent ;
au-delà de quelques kilomètres, la cryptographie quantique cesse d’opérer. En vertu du même
principe d’incertitude qui garantit l’efficacité du système, l’emploi de répétiteurs pour amplifier le
signal n’est pas possible. Pour amplifier, il faut connaître l’état des photons : or mesurer celui-ci
entraîne inéluctablement sa modification [150].
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
5.2.2
162
Quelques applications de la cryptographie
Les banques, la médecine, le militaire, mais aussi de nombreuses entreprises, échangent couramment des informations confidentielles sous la forme de données télématiques par l’intermédiaire d’ordinateurs. Ces données sont en général transmises par le réseau téléphonique ou par
d’autres réseaux publics, si bien qu’il convient de mettre au point des cryptages efficaces pour
les protéger. En combinant les systèmes de cryptographie évoqués ci-dessus, on peut ainsi créer
des chiffres de complexité variée, avec la contrainte que les clés sont elles aussi amenées à être
transmises sur ces réseaux [147].
Avec suffisamment de temps et de matériel, on peut résoudre la plupart des codes chiffrés
et découvrir ainsi leurs clés. Aussi la complexité du code doit-elle être adaptée afin qu’il soit
impossible de le découvrir en un temps raisonnable. Par exemple, des ordres militaires qui ne
doivent rester secrets que pendant quelques heures peuvent être cryptés au moyen d’un chiffre
qui ne conviendrait pas au codage de rapports diplomatiques exigeant une confidentialité à long
terme [147].
Avec ses pages interactives, ses images, ses documents sonores, le réseau Internet a permis
le développement d’une forme plus spectaculaire de commerce électronique que celui déjà connu
par le minitel. Désormais, les entreprises de vente par correspondance peuvent concevoir des
catalogues illustrés sous forme électronique et les achats peuvent s’effectuer au moyen d’une
carte de crédit (les jeux téléchargés permettent de faire l’économie du prix de l’emballage).Il
existe cependant un obstacle majeur : le seul standard actuel de paiement électronique est la
carte bleue. C’est donc ici qu’intervient le cryptage, qui n’est pourtant pas encore légal dans tous
les pays. En effet, un problème d’Internet est la question de la sécurité et de la confidentialité.
Par nature Internet, étant ouvert à tous, se prête facilement aux piratages de toute nature. Des
logiciels de cryptographie permettent d’assurer une relative confidentialité des échanges [147].
D.E.S, le chiffrement à clé secrète
a) Histoire de DES :
Au début des années 70, le N.B.S. (National Bureau of Standards) a lancé un appel dans le
Federal Register pour la création d’un algorithme de cryptage répondant aux critères suivants :
– un haut niveau de sécurité lié à une clé,
– compréhensible,
– ne devant pas dépendre de la confidentialité de l’algorithme,
– adaptable et économique,
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
163
– efficace et exportable,
Fin 1974, IBM propose Lucifer, qui grâce à la NSA (National Security Agency) est modifié
pour donner le D.E.S. (Data Encryption Standard : "standard de cryptage de données ") le 23
novembre 1976. Le DES a finalement été approuvé en 1978 par le NBS. Le D.E.S. sert à la cryptographie et l’authentification de données. Il a été jugé si difficile à percer par le gouvernement des
Etats-Unis qu’il a été adopté par le Ministère de la Défense des Etats-Unis, qui a contrôlé depuis
lors son exportation. D.E.S. a été pensé par les chercheurs d’IBM pour satisfaire la demande des
banques. Il a été conçu pour être implanté directement en machine. En effet puisque les étapes
de l’algorithme étaient simples, mais nombreuses, il était possible à IBM de créer des processeurs
dédiés, capables de crypter et de décrypter rapidement des données avec l’algorithme D.E.S..
Cet algorithme a donc été étudié intensivement depuis les 15 dernières années et est devenu
l’algorithme le mieux connu et le plus utilisé dans le monde à ce jour. Il est réactualisé tous les
5 ans [148].
Bien que D.E.S. soit très sûr, certaines entreprises préfèrent utiliser le " triple-D.E.S. ". Le
triple-D.E.S. n’est rien d’autre que l’algorithme D.E.S. appliqué trois fois, avec trois clés privées
différentes.
b) Principes :
C’est un système de chiffrement par blocs de 64 bits uniquement, dont le dernier octet sert
de test de parité (pour vérifier l’intégrité des données). Il consiste à faire des combinaisons, des
substitutions et des permutations entre le texte à chiffrer et la clé, en faisant en sorte que les
opérations puissent se faire dans les deux sens (pour le décryptage). La clé est codée sur 64
bits et formée de 16 blocs de 4 bits, généralement notés k0 k15 . Etant donné que 8 bits de la clé
sont réservés pour le test de la parité, " seulement " 56 bits servent réellement à chiffrer, ce qui
représente tout de même 256 possibilités, c’est-à-dire environ 72 × 1015 clés possibles...
Les grandes lignes de l’algorithme sont les suivantes :
DES utilise une clé secrète de 56 bits, qu’il transforme en 16 " sous-clés " de 48 bits chacune.
Le cryptage se déroule sur 19 étapes.
La première étape est une transposition fixe (standard) des 64 bits à crypter.
Les 16 étapes suivantes peuvent être divisées en 2 " sous-étapes " chacune. Dans un premier
temps, le bloc de 64 bits est découpé en 2 × 32 bits, et une substitution est effectuée entre ces
deux blocs. En fait, ces deux blocs seront tout simplement échangés l’un avec l’autre. Dans un
second temps, le bloc de 32 bits ayant le poids le plus fort (le bloc qui va du bit n◦ 32 au bit
n◦ 63) subira une transposition contrôlée par la sous-clé correspondant à l’étape en cours [144].
Les étapes 18 et 19 sont deux transpositions.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
164
Fig. 5.4 – Schéma représentant l’algorithme D.E.S.
c) Le décryptage avec l’algorithme D.E.S.
Pour décrypter un document auparavant crypté avec D.E.S., il suffit d’effectuer l’algorithme
à l’envers avec la bonne clé. En effet, il n’est pas nécessaire d’utiliser un algorithme différent ou
une clé différente puisque D.E.S. est comme nous l’avons vu un algorithme symétrique. Il est
donc totalement et facilement réversible, si l’on possède la clé secrète.
Problèmes de la méthode
En 1990 Eli Biham et Adi Shamir ont mis au point la cryptanalyse différentielle qui recherche
des paires de texte en clair et des paires de texte chiffrées (cette méthode marche jusqu’à un
nombre de rondes inférieur à 15 d’où un nombre de 16 rondes dans l’algorithme présenté cidessus).
D’autre part, même si une clé de 56 bits donne un nombre énorme de possibilités, des processeurs permettent de calculer plus de 106 clés par seconde. Ainsi, s’ils sont utilisés parallèlement
sur un très grand nombre de machines, il peut être possible à un grand organisme (un Etat par
exemple) de trouver la bonne clé.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
165
Les modes opérationnels utilisés avec D.E.S.
Comme nous l’avons vu, l’algorithme D.E.S. ne permet que de crypter des blocs de 64 bits.
Pour crypter ou décrypter un document complet, il faut donc utiliser D.E.S. en série dans un "
mode opérationnel ". Il existe beaucoup de modes opérationnels, nous n’allons voir que le mode
ECB et le mode CBC [149].
a) Le mode opérationnel E.C.B.
ECB signifie Electronic Code Book (" catalogue électronique de codes "). Dans ce mode,
on découpe le document à crypter ou à décrypter en blocs de 64 bits qu’on crypte les uns
indépendamment des autres. Puisque, à chaque bloc en clair correspond un bloc crypté, pour
une clé donnée, cela peut faire penser à un " catalogue de codes ".
b) Le mode opérationnel C.B.C.
CBC signifie Chain Block Cipher (" Cryptogramme à blocs chaînés "). Comme nous l’avons vu
précédemment, le mode opérationnel ECB ne protège pas contre la présence de blocs redondants,
puisqu’ils sont cryptés indépendamment les uns des autres. La seconde faiblesse est qu’un bloc
en clair, hors contexte, et codé toujours avec la même clé, produira toujours le même bloc crypté.
Le CBC lui, répond à ces deux problèmes. Pour ce faire, avant de crypter un bloc en clair, on
va effectuer un " ou-exclusif " entre ce bloc en clair et le bloc précédemment crypté. Cela nous
donnera un nouveau bloc en clair que l’on cryptera.
En plus de posséder une clé secrète en commun, les deux interlocuteurs doivent dorénavant
se mettre d’accord sur un bloc de 64 bits de départ qu’on appellera " vecteur de départ ", ou "
vecteur initial " [149].
Procédé PKC (Public Key Cryptosystem).
Bien que moins performant que le DES, il élimine cependant le problème de distribution des
clés en utilisant à la fois une clé de chiffrage publique, transmise sans cryptage, et une clé de
déchiffrage privée qui n’est accessible qu’au destinataire du message. Il est ainsi possible d’assurer
la confidentialité de la transmission tout en authentifiant l’émetteur du message. Il s’agit donc
d’une signature électronique, permettant par exemple la réalisation de transactions commerciales
sur un réseau public, notamment sur Internet. La plupart des PKC sont fondés sur les propriétés
mathématiques des nombres premiers. Les systèmes de cartes bancaires à puce, qui authentifient
leur possesseur par un code secret, sont fondés sur les mêmes principes [145].
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
166
Fig. 5.5 – Schéma représentant le mode opérationnel C.B.C.
L’algorithme AES
AES est l’acronyme de Advanced Encryption Standard crée par Johan Daemen et Vincent
Rijmen. C’est une technique de cryptage à clé symétrique. Il est le résultat d’un appel à contribution mondiale pour la définition d’un algorithme de cryptage, appel issu de l’institut national des
standards et de la technologie du gouvernement américain (NIST) en 1997 et terminé en 2001.
cet algorithme fournit un cryptage fort et a été sélectionné par le NIST comme norme fédérale pour le traitement de l’information (Federal Information Processing Standard) en novembre
2001 (FISP-197), puis en juin 2003, le gouvernement américain (NSA) a annoncé que AES était
suffisamment sécurisé pour protéger les informations classifiées jusqu’au niveau TOP SECRET,
qui est le plus haut niveau de sécurité défini pour les informations qui pourraient causer des "
dommages exceptionnellement graves " en cas de révélations au public [128]. L’algorithme AES
utilise une des trois longueurs de clé de codage (mot de passe) suivantes : 128, 192 ou 256.
Chaque taille de clé de cryptage utilise un algorithme légèrement différent, ainsi les tailles de clé
plus élevées offrent non seulement un plus grand nombre de bits de brouillage des données mais
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
167
également une complexité accrue de l’algorithme [128]. Cet algorithme conserve toujours le haut
niveau de sécurité proposé par DES ; effectivement le processus est toujours basé sur une fonction
d’expansion E, des boîtes de substitutions S, appelées au niveau de la diversification de clé K ;
en outre, le processus conserve toujours le principe des étages au moment de l’étape d’expansion.
L’innovation apportée par l’AES est notée au niveau de la taille de la clé secrète ainsi que la
taille des données traitées en entrée ; justement nous passons d’une clé de chiffrement de taille 64
bits (8 octets) pour le cas du DES vers une clé de taille double 128 bits (16 octets) pour l’AES.
La taille des données à crypter est aussi notablement plus grande que celle de DES puisque
nous passons de 64 bits vers 128 bits [133]. En outre, comme pour le DES l’AES est un système
cryptographique à clé secrète ; ce qui rend l’opération de cryptage-décryptage assez légère [129].
La taille des données traitées par l’AES (16 octets) nous donne bien la possibilité d’exploiter
l’algorithme dans des applications supportant des fichiers de données de taille grande [136]. La
cryptographie à algorithmes symétriques utilise la même clé pour les processus de codage et de
décodage ; cette clé est le plus souvent appelée "secrète" (en opposition à "privée") car toute la
sécurité de l’ensemble est directement liée au fait que cette clé n’est connue que par l’expéditeur et le destinataire [139]. La cryptographie symétrique est très utilisée et se caractérise par
une grande rapidité (cryptage à la volée, "on-the-fly"), des implémentations aussi bien software
(Krypto Zone, firewalls logiciels type Firewall-1 et VPN-1 de Checkpoint) que hardware (cartes
dédiées, processeurs cryptos 8 à 32 bits, algorithmes cablés...) ce qui accélère nettement les débits
et autorise son utilisation massive. Ce type de cryptographie fonctionne habituellement suivant
deux procédés différents, le cryptage par blocs et le cryptage de "stream" (en continu). L’algorithme AES est itératif . Il peut être découpé en 3 blocs comme indiqué sur la figure ci-après
[138] :
– Initial Round. C’est la première et la plus simple des étapes. Elle ne compte qu’une seule
opération : Add Round Key.
– N Rounds. N étant le nombre d’itérations. Ce nombre varie en fonction de la taille de la
clé utilisée. 128 bits pour N=9, 192 bits pour N=11, 256 bits pour N=13. Cette deuxième
étape est constituée de N itérations comportant chacune les quatre opérations suivantes :
Sub Bytes, Shift Rows, Mix Columns, Add Round Key.
– Final Round. Cette étape est quasiment identique à l’une des N itérations de la deuxième
étape. La seule différence est qu’elle ne comporte pas l’opération Mix Columns.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
168
Fig. 5.6 – Schéma bloc de l’algorithme AES, version 128 bits.
R.S.A.
Le système R.S.A.
En 1978, l’algorithme à clé publique de Ron Rivest, Adi Shamir et Leonard Adelman (RSA)
apparaît. Il servait encore à l’aube de l’an 2000 à protéger les codes nucléaires de l’armée américaine et soviétique.
Fonctionnement de R.S.A.
Le fonctionnement du cryptosystème RSA est basé sur la difficulté de factoriser deux entiers.
Pour commencer, il nous faut donc choisir deux nombres premiers p et q très grands (de l’ordre
de 200 chiffres). Il y a des algorithmes de génération aléatoire de nombres premiers qui existent.
Ensuite on trouve le nombre n facilement : n = p.q. Puis il nous faut trouver un entier e compris
entre 2 et ϕ(n).ϕ(n) est la fonction indicatrice d’Euler, c’est en fait le nombre d’entiers inférieurs
à n qui sont premiers avec lui, on a ϕ(n) = (p − 1)(q − 1).ϕ(n) se calcule très facilement ici,
puisque l’on a p et q. Maintenant que l’on a n et e, nous sommes prêts à crypter. Les nombres
n et e forment ici notre clé publique que l’on notera [n, e]. Il nous faut calculer le nombre d qui
sera nécessaire au décryptage. Selon la théorie de RSA, nous devons avoir d tel que (e.d − 1) soit
divisible par ϕ(n). Comme e et ϕ(n) sont premiers entre eux, le théorème de Bezout prouve qu’il
existe d et k dans Z tel que e.d + k.ϕ(n) = 1 [144].
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
169
On pourra résoudre l’équation grâce à l’algorithme d’Euclide. Après résolution, on arrivera
à une classe de solution de la forme d = r.ϕ(n) + d0 (où r appartient à Z) puisque e a été choisi
premier avec ϕ(n). L’ensemble des solutions d à l’équation diophantienne e.d + k.ϕ(n) = 1 est
une classe de congruence modulo ϕ(n), il y a donc une unique solution d comprise entre 2 et
ϕ(n), donc d = d0 . Nous voilà prêts à décrypter. Le nombre d est notre clé privée.
Nous pouvons à présent rendre publique notre clé publique [n, e] et garder secrète notre clé
privée. Quant aux nombres p, q, et ϕ(n), on doit, soit les conserver secrets, soit les détruire car
ils ne serviront plus [144].
L’algorithme R.S.A.
Le brevet de cet algorithme appartient à la société américaine RSA Data Security, qui fait
maintenant partie de Security Dynamics et aux Public Key Parteners, (PKP à Sunnyvale, Californie, Etats-Unis) qui possèdent les droits en général sur les algorithmes à clé publique. RSA
est un algorithme à clé publique qui sert aussi bien à la cryptographie de documents, qu’à l’authentification. Grâce au fait qu’il était à clé publique, et au fait qu’il était très sûr, l’algorithme
RSA est devenu un standard de facto dans le monde.
Le cryptage avec l’algorithme R.S.A.
Pour crypter un document que l’on aura auparavant transformé en un nombre m inférieur à
n il nous faut effectuer l’opération c = me modn . c est ici notre nombre n une fois crypté. La
première opération peut être très longue à effectuer à la main, l’utilisation d’un ordinateur et
d’un programme spécial est fortement conseillée.
Le décryptage avec l’algorithme R.S.A.
Pour décrypter un document c, il nous faut effectuer l’opération m = cd modn. m sera bel et
bien notre nombre décrypté, qu’il ne restera plus qu’à retransformer en texte ou en autre chose.
La preuve de cette algorithme de chiffrement est faite avec le théorème de Fermat et le théorème
chinois des restes connus depuis quelques siècles !
L’authentification de documents
L’authentification d’un document, c’est le fait d’être sûr de l’identité de l’auteur d’un document. Cette authentification peut s’avérer indispensable pour la justice lors d’un litige sur un
contrat par exemple. L’authentification se fait toujours sur un contrat papier par une signature
manuscrite, à priori infalsifiable. Le problème de l’authentification d’un document " informatique ", est l’impossibilité physique d’y apposer une signature manuscrite à sa fin. On va donc y
apposer une signature " digitale ". Pour ne pas être falsifiable, on va crypter cette signature par
exemple avec l’algorithme RSA [144].
Les signatures digitales avec R.S.A.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
170
Pour bien prouver qu’un document a été composé par nous, il nous suffira de crypter par
exemple notre Nom, Prénom et fonction ou n’importe quoi d’autre, avec notre clé privée (en
théorie connue de nous seul). Ainsi, quiconque qui voudra vérifier l’auteur de ce document,
n’aura qu’à utiliser notre clé publique pour le décryptage. Et si le décryptage fonctionne, cela
veut bien dire que la signature a été " forgée " avec notre clé privée.
L’attaque d’un document crypté avec R.S.A.
Comme on l’a vu précédemment, la résistance d’un document crypté avec l’algorithme RSA
s’appuie sur le fait qu’il est extrêmement difficile de factoriser en deux facteurs premiers un très
grand nombre. L’attaque va donc consister à utiliser des algorithmes de factorisation les plus
rapides, et les plus puissants possibles, pour factoriser le nombre n extrêmement grand de la clé
publique visée. L’attaque d’un tel document et encore beaucoup plus long (pour une taille du
nombre n raisonnable) que l’attaque d’un document crypté avec DES. C’est pourquoi, de grandes
recherches en mathématiques sur des algorithmes de factorisation de plus en plus rapides sont
effectuées partout dans le monde. La méthode RSA, réputée pour sa quasi-invulnérabilité (quand
elle est utilisée avec une très grande clé) pourrait s’écrouler si quelqu’un parvenait un jour à écrire
un tel algorithme. Car RSA repose sur un principe qui a l’air évident mais qui n’a jamais été
prouvé !
Actuellement, il n’y a aucun algorithme/méthode connu, capable de factoriser dans un temps
convenable une très grande clé. Avec les algorithmes de factorisation actuels, il faudrait au briseur
de code une puissance beaucoup plus importante pour arriver à ses fins. Mais avec une puissance
de calcul plus importante, l’utilisateur peut aussi agrandir la taille de la clé de un bit ou deux,
par exemple. Or l’augmentation de la taille de la clé de un/deux bits signifie une multiplication
par deux/quatre le nombre maximum que peut être la clé ! Par exemple RSA Labs a mis sur le
marché il y a quelques mois un processeur dédié à la méthode RSA comportant des instructions
dites " de haut niveau " directement implémentées sur le processeur, comme une instruction
permettant de calculer le modulo d’un grand nombre avec un autre grand nombre rapidement,
et une instruction permettant de factoriser un grand nombre. Ce processeur factorise en effet
beaucoup plus vite qu’un ordinateur normal, puisque sur l’un, l’algorithme de factorisation est
implémenté en hardware alors que sur l’autre, il est implémenté en software. On peut remarquer
que ce processeur avantage plus ou moins également le crypteur que le briseur de code.
P.G.P.
Introduction à P.G.P. (Pretty Good Privacy)
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
171
Fig. 5.7 – Tableau récapitulatif de la gestion des clés avec R.S.A.
PGP est un cryptosystème inventé par Philip Zimmermann, un analyste informaticien. Philip
Zimmermann a travaillé de 1984 à 1991 sur un programme permettant de faire fonctionner RSA
sur des ordinateurs personnels (PGP). Cependant, étant donné que celui-ci utilisait RSA sans
l’accord de ses auteurs, cela lui a valu des procès pendant 3 ans. Il est donc vendu environ 150$
depuis 1993, les auteurs de RSA touchant des royalties. Il est très rapide et sûr ce qui le rend
quasiment impossible à cryptanalyser.
Le principe de P.G.P
PGP est un cryptosystème hybride, c’est-à-dire qu’il combine des fonctionnalités de la cryptographie de clef publique et de la cryptographie conventionnelle.
Lorsqu’un utilisateur chiffre du texte en clair avec PGP, ces données sont tout d’abord compressées à l’aide d’une fonction de hachage, afin de réduire le temps de transmission par modem,
d’économiser l’espace disque et surtout de renforcer la sécurité cryptographique.
La plupart des cryptanalystes exploitent les modèles trouvés dans le texte en clair pour casser le chiffrement. La fonction de hachage réduit ces modèles dans le texte en clair, améliorant
par conséquent considérablement la résistance à la cryptanalyse. Cette méthode de chiffrement
associe la facilité d’utilisation du chiffrement à clef publique à la vitesse du chiffrement symétrique. Les cryptosystèmes conventionnels sont environ 1 000 fois plus rapides que les systèmes
de chiffrement à clef publique.
De plus, le chiffrement à clef publique résout non seulement le problème de la distribution des
clés, mais également de la transmission des données. Utilisées conjointement, ces deux méthodes
améliorent la performance et la distribution des clefs, sans pour autant compromettre la sécurité
[147].
Les étapes du chiffrement
L’opération de chiffrement se fait en deux étapes principales :
– PGP crée une clé secrète IDEA de manière aléatoire, et chiffre les données avec cette clé.
– PGP chiffre la clé secrète IDEA précédemment créée au moyen de la clé RSA publique du
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
172
destinataire.
De même, l’opération de déchiffrement se fait elle aussi en deux étapes :
– PGP déchiffre la clé secrète IDEA au moyen de la clé RSA privée.
– PGP déchiffre les données avec la clé secrète IDEA précédemment obtenue.
C’est la combinaison algorithme symétrique (IDEA pour crypter les données) / algorithme asymétrique (RSA pour crypter la clé IDEA) qui confère à PGP sa vitesse et sa grande sécurité.
Les fonctionnalités de PGP
PGP offre les fonctionnalités suivantes :
– Signature électronique et vérification d’intégrité de messages : fonction basée sur l’emploi
simultané d’une fonction de hachage (MD5) et du système RSA. MD5 hache le message
et fournit un résultat de 128 bits qui est ensuite chiffré, grâce à RSA, par la clef privée de
l’expéditeur.
– Chiffrement des fichiers locaux : fonction utilisant IDEA.
– Génération de clefs publiques et privées : chaque utilisateur chiffre ses messages à l’aide de
clefs privées IDEA. Le transfert de clefs électroniques IDEA utilise le système RSA ; PGP
offre donc des mécanismes de génération de clefs adaptés à ce système. La taille des clefs
RSA est proposée suivant plusieurs niveaux de sécurité : 512, 768, 1024 ou 1280 bits.
– Gestion des clefs : fonction s’assurant de distribuer la clef publique de l’utilisateur aux
correspondants qui souhaiteraient lui envoyer des messages chiffrés.
– Certification de clefs : cette fonction permet d’ajouter un sceau numérique garantissant
l’authenticité des clefs publiques. Il s’agit d’une originalité de PGP, qui base sa confiance
sur une notion de proximité sociale plutôt que sur celle d’autorité centrale de certification.
– Révocation, désactivation, enregistrement de clefs : fonction qui permet de produire des
certificats de révocation.
Le format des certificats PGP
Un certificat PGP comprend, entre autres, les informations suivantes :
– Le numéro de version de PGP : identifie la version de PGP utilisée pour créer la clef
associée au certificat.
– La clef publique du détenteur du certificat : partie publique de votre paire de clefs associée
à l’algorithme de la clef, qu’il soit RSA, DH (Diffie-Hellman) ou DSA (Algorithme de
signature numérique).
– Les informations du détenteur du certificat : il s’agit des informations portant sur l’"
identité " de l’utilisateur, telles que son nom, son ID utilisateur, sa photographie, etc.
– La signature numérique du détenteur du certificat : également appelée autosignature, il
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
173
s’agit de la signature effectuée avec la clef privée correspondant à la clef publique associée
au certificat.
– La période de validité du certificat : dates/ heures de début et d’expiration du certificat.
Indique la date d’expiration du certificat.
L’algorithme de chiffrement symétrique préféré pour la clef : indique l’algorithme de chiffrement
que le détenteur du certificat préfère appliquer au cryptage des informations. Les algorithmes
pris en charge sont CAST, IDEA ou DES triple.
Le fait qu’un seul certificat puisse contenir plusieurs signatures est l’un des aspects uniques du
format du certificat PGP. Plusieurs personnes peuvent signer la paire de clefs/ d’identification
pour attester en toute certitude de l’appartenance de la clef publique au détenteur spécifié.
Certains certificats PGP sont composés d’une clef publique avec plusieurs libellés, chacun offrant
un mode d’identification du détenteur de la clef différent (par exemple, le nom et le compte de
messagerie d’entreprise du détenteur, l’alias et le compte de messagerie personnel du détenteur,
sa photographie, et ce, dans un seul certificat) [148].
Dans un certificat, une personne doit affirmer qu’une clef publique et le nom du détenteur
de la clef sont associés. Quiconque ne peut valider les certificats PGP. Les certificats X. 509
doivent toujours être validés par une autorité de certification ou une personne désignée par la
CA (Certification Authority) . Les certificats PGP prennent également en charge une structure
hiérarchique à l’aide d’une CA pour la validation des certificats. Plusieurs différences existent
entre un certificat X. 509 et un certificat PGP. Les plus importantes sont indiquées ci-dessous :
– Pour créer votre propre certificat PGP, vous devez demander l’émission d’un certificat X.
509 auprès d’une autorité de certification et l’obtenir.
– Les certificats X. 509 prennent en charge un seul nom pour le détenteur de la clef et une
seule signature numérique pour attester de la validité de la clé.
P.K.I. Qu’est-ce qu’une PKI ?
On appelle PKI (Public Key Infrastucture, ou en français infrastructure de clé publique
(ICP), parfois infrastructure de gestion de clé (IGC)) l’ensemble des solutions techniques basées
sur la cryptographie à clés publiques.
Les cryptosystèmes à clés publiques permettent de s’affranchir de la nécessité d’avoir recours
systématiquement à un canal sécurisé pour s’échanger les clés. En revanche, la publication de la
clé publique à grande échelle doit se faire en toute confiance pour assurer que :
– La clé publique est bien celle de son propriétaire,
– Le propriétaire de la clé est digne de confiance,
– La clé est toujours valide.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
174
Ainsi, il est nécessaire d’associer au bi-clé (ensemble clé publique/clé privée) un certificat délivré
par un tiers de confiance : l’infrastructure de gestion de clés [141].
Le tiers de confiance
Le tiers de confiance est une entité (appelée communément Autorité de Certification ou en
abréviation AC (Certification Authority)) chargée d’assurer la véracité des informations contenues dans le certificat de clé publique et de sa validité. Pour ce faire, l’autorité signe le certificat
de clé publique avec sa propre clé.
Rôle de l’infrastructure de gestion de clés publiques
Le rôle de l’infrastructure de gestion de clés publiques est :
– d’enregistrer des demandes,
– de générer les paires de clés (clé privée / clé publique),
– de garantir la confidentialité de la clé privée,
– de certifier la clé publique,
– de révoquer des clés (en cas de perte par son propriétaire ou de compromission de la clé).
5.3
5.3.1
Méthodes
Transformation multi-échelle de Faber-Schauder
Construction de la base multi-échelle de Faber-Schauder
L’analyse multirésolution [137] de L2 (R) se compose des espaces vectoriels (Vj ) des fonctions
continues linéaires par morceaux sur les intervalles ([k2j , (k + 1)2j ]k∈Z tel que :
.....V2 ⊂ V1 ⊂ V0 ⊂ V−1 ⊂ V−2 .....
Une base inconditionnelle de chaque espace , appelée base canonique, est donnée par la famille
j
−j
−j
de fonctions
 : [φn (x) = 2 φ(2 x − n)]n∈Z Où :


 1+x si -1 ≤ x ≤ 0
φ(x) = 1-x si 0 ≤ x ≤ 1


 0 sinon
Pour un signal 2D, une analyse multirésolution de L2 (R) peut être construite à partir des
produits tensoriels des espaces Vj :Vj = Vj × Vj , et la base canonique de Vj est donnée par :
[φjk,l (x, y) = 2−j φ(2−j x − k, 2−j y − l)]k,l∈Z avec φ(x, y) = φ(x) × φ(y) [152].
Les images sont elles aussi des séquences de nombres f 0 = (fk,l )k,l∈Z dans L2 (Z 2 ) représentant les valeurs de pixels. Une image peut alors être associée à une fonction f de V0 donnée par
P
f (x, y) = k,l fk,l φ0k,l (x, y) [151].
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
175
Pour la construction du base de Faber-Schauder, on suppose la famille des sous espaces
(Wj )j∈Z de L2 (R2 ) tel que Vj est la somme directe de Vj+1 et Wj+1 :
(
Vj = Vj+1 ⊕ Wj+1
Wj+1 = Vj+1 × Wj+1 ⊕ Wj+1 × Vj+1 ⊕ Wj+1 × Wj+1
j+1
j
La base de l’espace Wj+1 est donnée par : (ψ1,k,l
= φj2k+1 × ψlj+1 , ψ2,k,l
= ψkj+1 × φj2l ,
j
ψ3,k,l
= ψkj+1 × ψlj+1 )k,l∈Z et la base inconditionnelle et multi-échelle de Faber-Schauder de
m , ψm , ψm )
L2 (R2 ) est donnée par : (ψ1,k,l
2,k,l
3,k,l k,l,m∈Z [151].
P
0 φ0 (x, y) peut être décomposée de façon unique
Une fonction de V0 : f (x, y) = k,l∈Z fk,l
k,l
suivant V1 et W1 par :
P
P
31 3
21 2
11 1
1 φ1 (x, y) +
f (x, y) = k,l∈Z fk,l
k,l∈Z [gk,l ψk,l (x, y) + gk,l ψk,l (x, y) + gk,l ψk,l (x, y)].
k,l
La suite f 1 est une version grossière de l’image originale f 0 (une approximation polygonale
de f 0 ), tandis que g 1 = (g 11 , g 21 , g 31 ) représente la différence d’information entre f 0 et f 1 .
g 11 (respectivement g 21 ) représente la différence pour la première (respectivement la seconde)
variable et g 31 la différence diagonale pour les deux variables. Les suites f 1 et g 1 , peuvent être
calculées
à partir de f 0 de la manière suivante 153 :

0
1


 fk,l = f2k,2l


 g 11 = f 0
0
0
2k+1,2l − 1/2(f2k,2l + f2k+2,2l )
k,l
0
0
21 = f 0

gk,l

2k,2l+1 − 1/2(f2k,2l + f2k,2l+2 )



0
0
0
0
 g 31 = f 0
2k+1,2l+1 − 1/4(f2k,2l + f2k,2l+2 + f2k+2,2l + f2k+2,2l+2 )
k,l
Réciproquement
on peut reconstruire la suite f 0 à partir de f 1 et g 1 par [151] :

1
0


= fk,l
f2k,2l



 f0
= g 11 + 1/2(f 1 + f 1 )
2k+1,2l
k,l
k,l
k+1,l
11 + 1/2(f 1 + f 1
0

= gk,l
f2k,2l+1

k,l
k,l+1 )



0
31
1
0
1
1
 f
2k+1,2l+1 = gk,l + 1/4(fk,l + fk,l+1 + fk+1,l + fk+1,l+1 )
Nous obtenons ainsi un algorithme pyramidal qui, à chaque échelle j, décompose (respective-
ment reconstruit) la suite f j en (respectivement à partir de) f j+1 et g j+1 . Le nombre d’opérations
utilisées dans l’algorithme est proportionnel au nombre des données N non nulles dans le signal
(O(N )) ce qui fait de lui un algorithme très rapide,en plus les opérations contiennent uniquement
des nombres arithmétiques, donc la transformation est exacte et ne produit aucune approximation dans son implémentation numérique [131].
Les transformations multi-échelles ont été d’abord introduites dans le traitement d’images
par l’algorithme de la pyramide laplacienne de P.Burt et E.Adelson, ensuite Mallat a développé,
à partir des bases orthonormales des ondelettes, un algorithme rapide de transformation et de
reconstruction des images dans ces bases. L’algorithme de Mallat ressemble à l’algorithme de
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
176
Burt-Adelson mais il est plus efficace car il ne génère pas de la redondance dans l’information,
élimine les corrélations entre les différentes échelles, et donne des indications d’orientations spatiales dans l’image. La transformation FMT a exactement le même principe de construction que
celle de Mallat sauf que la base canonique de l’analyse multirésolution n’est pas une base orthogonale. Ceci ne l’empêche pas d’avoir les mêmes propriétés en traitement d’image que les bases
d’ondelettes. D’autres part, l’algorithme FMT est plus proche de celui de la pyramide laplacienne
car il est très simple et totalement discret ce qui permet d’observer directement sur les pixels les
effets de la transformation. En résumé, la transformation FMT est un bon compromis entre les
bases d’ondelettes et le schéma de la pyramide laplacienne [131].
Visualisation des images transformées par la FMT
Le résultat de la transformation par ondelettes d’une image est représenté par une séquence
pyramidale d’images qui englobe les différences d’information entre les échelles successives (Figure
4.25). Cependant, on peut regarder la transformation multi-échelle FMT comme une application
linéaire, de la base canonique à la base multi-échelle, qui distribue différemment l’information
contenue dans l’image initiale. Il est donc plus naturel de visualiser cette redistribution, dans la
base multi-échelle, sur une seule image comme c’est le cas dans la base canonique. Le principe de
visualisation des images dans la base canonique consiste à placer chaque coefficient à l’endroit où
sa fonction de base atteint son maximum, le même principe s’impose naturellement pour la base
multi-échelle (Figure 4.26)[131]. L’image obtenue ainsi est une image cohérente qui ressemble à
une représentation des contours de l’image originale (Figure 4.27). En effet, la transformation
FMT, comme certaines transformations d’ondelettes, possède des similarités avec le détecteur
de contours de Canny [135] où les contours correspondent aux maximums locaux en module de
la transformation. En fait, dans la cas de la transformation FMT, à chaque échelle, la valeur
de chaque pixel est donnée par le calcul de la différence avec ses voisins de l’échelle précédente.
Donc les régions qui présentent un pic local pour ces différences correspondent à une transition
lumineuse forte pour les valeurs de gris ; tandis que les régions, où ces différences sont nulles,
sont associées à une région où le niveau de gris est constant [134].
Compression d’images par la FMT
Nous avons constaté que la transformation par FMT des images donne, par le biais de la
visualisation à échelles mixtes, une bonne description des contours de l’image. En fait, le résultat
est plus qu’une image de contours parce qu’il contient exactement les mêmes informations que
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
177
Fig. 5.8 – Représentation à échelles séparées pour une image 9 × 9 transformée dans la
base multi-échelle.
l’image initiale et on peut même retrouver l’image originale par la transformation inverse. Ceci
nous conduit à poser la question de savoir si ces coefficients multi-échelles des régions de contours
caractérisent complètement l’image. Théoriquement la réponse est négative. En effet, il existe,
dans le cas des transformations continues d’ondelettes, des contre-exemples de fonctions différentes qui possèdent les mêmes points contours dans leur transformation d’ondelettes [135]. Alors
on ne peut qu’à souhaiter que les dégradations introduites, si on ne tient pas compte des régions
non contours, restent imperceptibles dans l’image reconstruite. Une propriété intéressante sur
la transformation FMT, qui est valable aussi pour les transformations d’ondelettes, est l’aspect
caractéristique observé sur les histogrammes des images transformées : le nombre des coefficients
pour un niveau de gris donné décroît très rapidement, pour devenir pratiquement nul, lorsqu’on
s’éloigne d’une valeur centrale très proche de zéro (Figure 4.28). Ceci implique que l’information
(ou l’énergie) de l’image transformée est concentrée dans un petit nombre des coefficients significatifs confinés dans les régions des contours de l’image initiale. Donc l’annulation des autres
coefficients (presque nuls) provoque uniquement une petite perturbation de l’image transformée.
Pour connaître l’effet d’une telle perturbation sur la reconstruction de l’image initiale il faut
calculer le conditionnement de la matrice de la transformation FMT. En effet, si on a f = Mg
où f est l’image initiale et g est l’image multi-échelle alors le conditionnement de M (Cond(M) =
||M||.||M −1 ||≥ 1) vérifie : ||δf ||/||f || ≤ Cond(M )||δg||/||g||. C’est-à-dire que la variation relative
de l’image restituée ne peut pas être très importante par rapport à celle de l’image multi-échelle
si le conditionnement est plus proche de 1 [131].
Pour les transformations orthonormales le conditionnement est toujours égale à 1 donc op-
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
178
Fig. 5.9 – Représentation à échelles mixtes, les coefficients sont placés à l’endroit où leurs
fonctions de base sont maximales.
timal, cependant on peut toujours améliorer le conditionnement si on peut multiplier chaque
colonne (ou chaque ligne) par un scalaire bien choisi, dans le cas d’un changement de base ceci
revient à changer la normalisation des éléments de la base.
Les résultats obtenus (Figures suivantes) confirment que dans ce cas aussi on obtient un bon
conditionnement. Plus généralement on a constaté qu’on peut pratiquement toujours éliminer
entre 90% et 99% de coefficients multi-échelles sans dégradation notable de l’image reconstruite
et avec un bon rapport signal bruit PSNR. Les résultats sont, bien sûr meilleurs, lorsque les
images ne sont pas très texturées (Tableau 1).
L’EQM et le PSNR sont des mesures mathématiques qui ont besoin de l’image d’origine,
avant compression pour mesurer la distorsion [130]. Les images sont de taille M × N , les pixels
ont pour coordonnées (m,n).
L’Erreur Quadratique Moyenne mesure le carré de la différence en chaque point entre l’image
originale et l’image compressée :
P
PM
2
EQM = 1/M.N N
n=1
m=1 (Ioriginale (m, n) − Icompresse (m, n))
Le PSNR (pour Peak Signal to Noise Ratio) mesure le rapport signal sur bruit crête :
P SN R = 10Log10 (Ng2 /EQM ) (en dB)
Où Ng représente le niveau de gris maximal que peut prendre un pixel. Par exemple pour les
images codées sur 8 bits, Ng = 255.
Si nous comparons les performances de la transformation FMT avec la méthode standard
de compression JPEG, on constate qu’on peut atteindre de bons résultats de compression sans
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
179
Fig. 5.10 – Représentation à échelles mixtes (en bas) et à échelles séparées (en haut) de
l’image Echographique. Les coefficients sont dans la base canonique dans (a) et (c) et dans
la base multi-échelle de Faber-Schauder dans (b) et (d).
Fig. 5.11 – Echantillon d’histogrammes de l’image " Lena " exprimée dans la base canonique (à gauche) et dans la base multi-échelle (à droite).
dégradations de l’image. De plus ces résultats sont obtenus en appliquant la transformation multiéchelle sur l’image toute entière tandis que la transformation DCT qui est à la base de la méthode
JPEG n’est efficace que lorsqu’elle est appliquée sur un bloc réduit de pixels (généralement
appliqué sur des blocs de taille 8×8 pixels) [132], ce qui entraîne l’apparition des blocs d’artefacts
sur les images quand le taux de compression est élevé [115]. Ce phénomène de blocs d’artefacts
n’est plus connu par la transformation FMT.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
180
Fig. 5.12 – Dégradation par FMT. Pourcentage de coefficients éliminées : (a) l’image
Arches originale, (b) 90%, (c) 93%.
Fig. 5.13 – Pourcentage des coefficients éliminés et PSNR de quelques images reconstituées.
5.3.2
Schéma de principe des approches de crypto-compression
proposées
L’idée primordiale est de combiner la compression et le cryptage au cours de la procédure, il
s’agit donc d’appliquer immédiatement le cryptage sur les coefficients de compression conservés
après l’application de la transformée FMT sur une visualisation en échelles mixtes. Notre schéma
de principe est donné sur la figure suivante :
Il consiste à effectuer un cryptage après l’étape de quantification et juste avant l’étape de
codage entropique. Pour restituer les informations de départ, on décode d’abord les coefficients
quantifiés de la matrice FMT par le décodeur entropique. Ensuite, on les décrypte avant l’étape
de déquantification. Enfin, on applique la IFMT (FMT inverse) pour restituer l’image.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
181
Fig. 5.14 – Schéma de principe des approches de crypto-compression introduites.
5.4
5.4.1
Résultats
Applications
Les résultats obtenus après application des deux méthodes de cryto-compression introduites,
FMT-AES et FMT-DES, sur les images : Lena, Lmage Echo.3, Flower, Arches, Image Echo.1 et
l’Image Echo.2 sont donnés comme suit :
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
182
Fig. 5.15 – Les étapes suivies après application de la méthode AES-FMT sur les images
Lena, Echo.3, Flower et Arches.
Les histogrammes des images originales et des images compressées et cryptées sont données
sur la figure suivantes :
Fig. 5.16 – Histogrammes des images originales et des images compressées et cryptées
par la méthode AES-FMT.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
183
Fig. 5.17 – Les étapes suivies après application de la méthode DES-FMT sur les deux
autres images échographiques.
Fig. 5.18 – Histogrammes des images originales et des images compressées et cryptées
par la méthode DES-FMT.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
5.4.2
184
Comparaison
La comparaison est effectuée après applications des méthodes de crypto-compression : DCTRSA, FMT-DES, et FMT-AES, sur les images Lena, Flower, Arches et les images échographiques
Echo.1, Echo.2 et Echo.3. Il faut noté que la résolution des iamgees est 256 × 256 dpi, et le
processeur utilisé est le Intel Pentium4 d’une cadence de 3.2 GHz. Les résultats obtenus est
données sur le tableau suivant : La méthode de cryptage RSA se propose de ne chiffrer que les
Fig. 5.19 – Comparaison des methodes DCT-RSA, FMT-DES et FMT-AES (Résultats
publiés sur le Journal International INFOCOMP et sur le journal International Applied
Mathematical Sciences). E.O.I. : Entropie de l’image originale. Q.O.I. : Qualité de l’image
originale. E.R.I. : Entropie de l’image reconstituée. Q.R.I. : Qualité de l’image reconstituée. C.T. : Temps calculé.
coefficients fréquentiels quantifiés relatifs aux basses fréquences. En chiffrant tous les coefficients
de la première colonne et de la première ligne des blocs 8 × 8, la taille de l’image cryptocomprimée est plus proche de la taille de l’image originale. Dans ce cas nous perdons en taux
de compression. En plus la méthode DCT-RSA dépend des coefficients sélectionnés avant la
réalisation du cryptage et entraîne l’apparition des blocs d’artefacts sur les images reconstituées
quand le taux de compression est élevé. Ce phénomène de blocs d’artefacts n’est plus connu ni
par la méthode AES-FMT ni par la méthode FMT-DES.
Pour la méthode DCT-RSA, nous avons cryptés seulement les cœfficients de la première ligne
et de la première colonne après application de la transformation DCT .
En général, la méthode DCT-RSA donne une moindre qualité visuelle par rapport aux méthode FMT-DES et FMT-AES.
Les principaux avantages de nos approches sont la flexibilité et la réduction du temps de
traitement, qui est proportionnel au nombre des coefficients dominants, lors des opérations de
cryptage et de décryptage. En effet, par nos méthodes, on peut faire varier le temps de traitement
selon le degré de sécurité voulu.
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
5.5
185
Conclusion
Nous avons présenté deux approches de crypto-compression qui se basent sur la transformation multi-échelle (FMT) issue de l’expression des images dans la base de Faber-Schauder et les
algorithmes de cryptage DES et AES.
La cryptologie a donc connu une rapide évolution à notre époque du fait, en partie, de deux
facteurs essentiels : l’irruption des mathématiques et de l’informatique et le développement des
moyens de télécommunication, qui ont eu pour effet de multiplier les activités où intervient la
cryptologie.
Le rôle de la cryptologie a évolué au fil des siècles. Auparavant, elle n’avait pour rôle que
de protéger un texte écrit. Actuellement, la cryptologie s’étend dans différents domaines tels
que l’imagerie, la télémedecine, la téléphonie, le télétraitement, le stockage des données, les
communications avec les satellites...
Depuis une vingtaine d’années, la cryptologie s’est enrichie de nouvelles techniques de cryptage électronique. Il est vraisemblable que la cryptologie ne disparaîtra pas du fait des nouvelles
techniques. Si elle devait disparaître, ce ne pourrait être que par suite d’une nouvelle conception
des rapports humains. Le chiffre, lui non plus, n’est pas prêt de disparaître puisqu’il a été et reste
encore le moyen le plus sérieux d’assurer la sécurité des correspondances. Il tend de plus en plus
vers une structure mathématique.
Il y a aujourd’hui une perpétuelle remise en cause de la cryptologie par la cryptanalyse.
C’est une sorte de véritable combat. Les progrès de la cryptanalyse entraînent nécessairement
des progrès en cryptologie et vice-versa. C’est une évolution sans fin. On peut se demander si la
confidentialité des messages ne se trouve pas altérée dans ces progressions. On peut citer, comme
exemple, la nouvelle réglementation française qui illustre bien que le secret n’est plus préservé
comme il l’était il y a quelques années. Les nouvelles techniques sont si puissantes à l’heure
actuelle que les gouvernements imposent des lois qui réglementent peut-être trop sévèrement
l’utilisation de la cryptologie.
La transformation FMT se distingue par sa simplicité et ses performances de confinement
de l’information sur les régions des contours de l’image. La visualisation à échelles mixtes des
images transformées permet de mettre en évidence ses propriétés, en particulier les possibilités
de compression des images et aussi l’amélioration des performances d’autres méthodes standards
de compression comme JPEG et GIF.
L’algorithme de cryptage AES permet de laisser dans l’étape de compression des zones homogènes dans les hautes fréquences. Il est environ deux fois plus rapide à calculer (en logiciel) et
CHAPITRE 5. CRYPTO-COMPRESSION D’IMAGES
186
environ 1022 fois plus sûr (en théorie) que DES. Cependant, même s’il est facile à calculer, il ne
l’est pas assez pour être pris en compte dans les cartes Wi-Fi actuelles. La norme 802.11i nécessitera donc un renouvellement du matériel pour pouvoir sécuriser les réseaux de transmissions
sans fils.
La comparaison de nos approches avec les méthodes : Quadtree-AES, DCT-RSA et DCTCryptage partiel a bien montré sa bonne performance.
Nous pensons finalement, d’utiliser des méthodes hyprides en compression et des méthodes de
cryptage par mélange de données et mettre en place une cryptanalyse des approches proposées.
Conclusion générale et perspectives
La compression des données est appelée à prendre un rôle encore plus important en raison du
développement des réseaux et du multimédia. Son importance est surtout due au décalage qui
existe entre les possibilités matérielles des dispositifs que nous utilisons (débits sur Internet, sur
Numéris et sur les divers câbles, capacité des mémoires de masse,...) et les besoins qu’expriment
les utilisateurs (visiophonie, vidéo plein écran, transfert de quantités d’information toujours plus
importantes dans des délais toujours plus brefs). Quand ce décalage n’existe pas, ce qui est rare,
la compression permet de toutes façons des économies.
Les méthodes déjà utilisées couramment sont efficaces et sophistiquées (Huffman, LZW,
JPEG) et utilisent des théories assez complexes, les méthodes émergentes sont prometteuses
(fractales, ondelettes) mais nous sommes loin d’avoir épuisé toutes les pistes de recherche.
La plus part des méthodes de compression ne sont pas figées et définitives. Même si la plus
grande part du chemin dans la compression des données semble avoir été accomplie, les recherches
se poursuivent pour améliorer encore les performances, au prix d’une complexité toujours accrue,
mais compatible avec les progrès parallèles des outils informatiques.
La compression graphique peut être considérée comme une branche à part de la compression.
Si elle peut utiliser seulement des algorithmes généraux (LZW), ceux-ci montrent rapidement
leurs limites, surtout pour les images en couleurs vraies. Il faut alors utiliser les propriétés des
images afin de trouver de nouvelles méthodes qui y sont adaptées (codage prédictif), quitte à
perdre un peu de l’information pour arriver à des taux beaucoup plus élevés(JPEG). En effet, il
serait illusoire de croire que la compression devient obsolète à cause de la capacité des mémoires
qui augmente sans cesse, car la quantité de données à conserver croît de la même manière, et les
réseaux évoluent pour leur part beaucoup moins vite. La compression peut même apporter un
gain de vitesse car par exemple il est plus rapide d’enregistrer une image sur son disque dur en
JPEG qu’en BMP car on perd moins de temps à compresser l’image qu’à écrire plus de données
sur le disque dur.
187
Conclusion générale et perspectives
188
Les méthodes de compressions évoluent, comme les outils mathématiques qu’elles utilisent.
La plupart sont optimisées pour certains types d’images.
La compression du futur semble être la compression par ondelettes et fractale. Elle sera, sans
doute, s’adapter à la nature des données à compresser et utiliseront l’intelligence artificielle.
Elle demande beaucoup de calcul lors de la compression, mais la décompression est quasi
immédiate. De telles caractéristiques semblent inutilisables pour des transmissions instantanées.
Cependant, pour la transmission d’images comme sur internet, pour la transmissions de films
stockés dans des banques de données, ou pour le stockage sur CD ROM d’information, cette
compression est idéale.
Depuis l’apparition du multimédia dans l’informatique, les méthodes de compression vidéo
n’ont cessé de s’améliorer, afin d’optimiser le stockage et la diffusion à travers les réseaux de
séquences audiovisuelles. On l’a vu, le comité MPEG travaille en ce sens, et le fruit de ses
recherches est aujourd’hui à la base de toutes les technologies multimédia existantes.
On peut désormais obtenir, dans les meilleurs des cas, des taux de compression vidéo proches
de 300 :1, avec une qualité très raisonnable. De nouvelles méthodes de compression d’images fixes,
en utilisant les fractales (Annexes)ou les ondelettes, laissent espérer de bien meilleurs résultats
encore dans le domaine de la vidéo (remplacement du JPEG par fractale ou ondelette pour les
images-clés).
Des forums sur Internet permettent d’avoir plus d’informations sur toutes ces nouvelles technologies (comp.compression).
Beaucoup d’ouvrages existent sur ce sujet, les plus anciens n’expliquent que les fondements
mathématiques, alors que d’autres, plus récents, proposent des programmes en C.
Nous avons proposé dans le premier axe de la compression d’images fixes, le concept de compression adaptative. Ce concept repose sur un constat : un utilisateur ne s’intéresse généralement
qu’à certaines parties d’une image.
Nous avons vu qu’une approche intéressante consistait en une dégradation imperceptible à
l’œil nu sur certaines zones qualifiées d’intérêt et à dégrader de façon contrôlée les autres zones,
qualifiées de contexte. La sélection des zones qualifiées d’intérêt peut être réalisée de manière
supervisée ou non. La méthode de compression proposée peut intégrer de manière intelligente
des techniques d’analyse multirésolution et des techniques de compression existantes (avec ou
sans perte). Elle offre à l’utilisateur la possibilité de traiter de façon optimale chaque donnée
en fonction de son type et d’obtenir, par conséquent, des taux de compression relativement
élevés et une meilleure qualité. Comme nous avons remarqué l’application de JPEG avec pertes
sur les images aériennes et les ondelettes sur les images des vertèbres donnent une mauvaise
Conclusion générale et perspectives
189
qualité. Alors que par notre méthode nous obtenons une bonne qualité avec un rapport de
compression supérieur à celui de la méthode adaptative qui utilise LZW, de JPEG avec pertes
et des ondelettes.
En dépit du grand nombre de succès qu’elle a pu rencontrer et de la diversité des applications
qu’elle a trouvées, l’analyse par ondelettes est loin de nous donner une réponse universelle et finale
au problème de représentation et codage des signaux. Cependant, elle fournit souvent une réponse
qui n’est pas très éloignée de la réponse optimale, ce qui, combiné à la grande simplicité de l’outil
et sa grande efficacité algorithmique, explique son succès grandissant. En revanche, dans certains
cas bien précis, il est nécessaire de rechercher des techniques permettant de s’approcher plus
encore de l’optimalité, tout en essayant de conserver les atouts des ondelettes. Une approche
possible consiste à rechercher des décompositions en ondelettes généralisées.
La motivation peut se résumer comme suit. Les ondelettes peuvent être vues comme un ensemble de signaux élémentaires, suffisant pour exprimer n’importe quel signal. En d’autres termes,
elles fournissent un dictionnaire de signaux élémentaires, à partir duquel l’on peut reconstruire
tout signal. L’analogie avec un dictionnaire est intéressante dès lors que l’on réalise que plus un
dictionnaire est complet, plus les phrases qu’il permet de former peuvent être courtes. En effet,
plus nous avons de mots à notre disposition, plus il nous sera facile de nous exprimer avec concision. La transcription mathématique de cette idée nous conduit tout droit à la problématique
des décompositions adaptatives des signaux. R. Coifman, Y. Meyer et leurs collaborateurs ont
montré que les algorithmes rapides associés aux décompositions en ondelettes permettent aussi
de définir des ondelettes généralisées (appelés des paquets d’ondelettes), qui offrent une souplesse
supplémentaire. Les paquets d’ondelettes contiennent non seulement les ondelettes usuelles, mais
aussi une multitude d’autres méthodes, toutes aussi efficaces algorithmiquement. Ceci suggère
de rechercher, pour un signal donné, laquelle de ces méthode conduit à la représentation la plus
efficace, dans un sens donné. Par exemple, si l’application est la compression des signaux, l’on va
rechercher la méthode qui fournit une compression optimale. Cette méthodologie est actuellement
à l’étude par les grandes compagnies pétrolières pour la compression des signaux récoltés lors
des campagnes de mesure en prospection pétrolière. Un autre aspect de ce problème concerne
le couplage des décompositions en ondelettes avec d’autres méthodes. Si nous prenons encore
une fois l’exemple de la compression de données, il faut réaliser que la compression ne se limite
pas à trouver une bonne représentation du signal. Il faut aussi se poser le problème du codage
des cœfficients (pratiquement, les cœfficients sont des nombres réels, que l’on code par des suites
de zéros et de uns). L’un des problèmes posé à l’heure actuelle est de “marier” les méthodes
de codage et les méthodes de transformation en ondelettes ou en ondelettes généralisées. Les
Conclusion générale et perspectives
190
méthodes automatiques d’extraction des zones d’intérêt ont pour avantage de maîtriser la résolution de l’image filtrée. Cependant leur mise en ouvre est assez lourde (gestion d’un grand
nombre d’images, images de détails et images de résolution dégradée de même taille que l’image
initiale pour le cas de la Transformation en Ondelettes à Trous (T.O.T). De plus, ces méthodes
ne permettent pas de synthétiser n’importe quelle échelle.
Nous pensons faire une extension de ces travaux de recherche par l’application des paquets
d’ondelettes et la combinaison entre fractales et ondelettes sur les zones d’intérêt.
La détection de contours en traitement de l’image est essentielle car elle permet une réduction
drastique de la quantité d’information relative à une image, tout en préservant des informations
structurelles comme les contours et les frontières des images.
Il s’agit de pouvoir détecter dans une image un contour constitué par l’addition d’une marche
d’escalier (le contour le plus simple et le plus courant) et d’un bruit blanc gaussien. Un tel contour
est détecté au niveau des maxima locaux présents dans l’image en sortie du filtre linéaire.
Mais les auteurs diffèrent quant au choix des critères à optimiser, quant à l’importance
relative à accorder à chacun de ces critères, quant aux conditions aux limites à adopter et les
filtres optimaux qu’ils proposent ne sont pas toujours identiques, du moins ont des performances
différentes selon les critères retenus.
Notre objectif, sur le deuxième volet qui traite la compression vidéo, est d’effectuer des tests
sur la modification de la séquence d’encodage des images d’une séquence vidéo, afin d’apporter
un gain sur le résultat obtenu. Certains tests ont permis de mettre en évidence le gain possible
pour certaines séquences par la modification des images de références utilisées.
Nos méthodes sont bien meilleure que celle classique, et celle qui se base sur l’EQM, pour
pouvoir tirer les images similaires et les rassembler avant d’appliquer l’encodage.
Nous souhaiterons appliquer ces méthodes sur tout type d’images constituant les GOPs y
compris les images Bidirectionnelles.
Les approches de crypto-compression classiques ont toutes tendance à réaliser les techniques
de cryptage et de compression de manière disjointe ; ceci posait un problème au moment des
étapes de décryptage et de décompression, surtout pour le cas de certains domaines d’applications du type temps réel comme l’émission des images par satellite ou encore la télémédecine
où le facteur temps est primordial. Ainsi de nouvelles approches mixtes de crypto-compression
commencent à prendre de l’essor. Le concept visait à combiner à la fois les deux techniques de
cryptage et de compression de manière à ce qu’elles soient effectuées de manière jointe. Le challenge est toujours de procurer pour toutes nos applications un volume de données de taille réduite
ainsi qu’une confidentialité robuste. Il s’agit alors de parvenir à trouver une approche efficace
Conclusion générale et perspectives
191
decrypto-compression. C’est dans cette thématique que notre travail se situe au troisième axe de
crypto-compression ; nous avons essayé de décrire le processus d’une technique hybride de cryptocompression à base de la FMT (Transformation de Faber-Schauder) et les deux algorithmes de
cryptage : DES et AES.
Nous pensons finalement, d’utiliser des méthodes hyprides en compression et des méthodes de
cryptage par mélange de données et mettre en place une cryptanalyse des approches proposées.
Actuellement, Nous essayons de mettre en place une méthode hybride qui combine entre
plusieurs méthodes de compression sur le premier axe, concernant la compression adaptative et
Nous travaillons aussi sur le tatouage des images fixes et des séquences vidéo.
Annexes
CODAGE BINAIRE
Codage sans bruit :
La base des définitions ci-dessus était la constatation qu’un élément d’un ensemble de taille
2n
peut être codé par n unités d’information. C’est le premier lien entre théorie de l’information
et codage [51].
Un codage sur un alphabet A est une application injective de A vers l’ensemble des mots sur
un alphabet B (souvent B=0,1). On dit que le codage est instantanément décodable s’il n’existe
pas deux lettres a , a’ de A telles que le code de a soit un préfixe du code de a’. Tous les codages
ci-dessous seront supposés instantanément décodables.
On étend le codage aux mots sur A par concaténation des codes des lettres. La propriété
d’être instantanément décodable garantit alors que le codage des mots est non ambigu.
Le problème est le plus souvent de trouver les codages les plus courts possibles. La stratégie
de base consiste à attribuer des codes courts aux lettres fréquentes, et des codes longs aux lettres
moins fréquentes [51].
Soient X1 , X2 , ....Xn , ... des variables aléatoires identiquement distribuées à valeurs dans un
ensemble A. Soit C un codage de A utilisant un alphabet B. On définit la longueur moyenne
du codage : L(C) = lim 1/nEl(C(X1 ...Xn )) où l représente la longueur d’un mot sur l’alphabet
B. On a alors le théorème de codage de Shannon, qui identifie entropie et taux de compression
maximal :
Théorème :
Soit C un codage instantanément décodable pour la suite de variables X1 , X2 , ....Xn , ... Alors :
L(C) ≥ S(X1 , ..., Xn , ...)/ log |B|.
De plus, on peut construire des codages ayant des longueurs arbitrairement proches de cette
valeur [51].
La preuve qu’aucun code ne fait mieux que cette valeur est simple : c’est essentiellement le
192
ANNEXES
P
193
pi =
P
qi = 1, alors
P
pi log qi est maximal quand pi = qi , et la remarque que si
P −li
les li sont les longueurs des codes d’un codage instantanément déchiffrable, on a
2 ≤ 1.
fait que si
L’idée de la preuve que l’optimum peut être approché est la suivante : les mots de longueur
n obtenus par tirage des Xi peuvent être décomposés en deux classes, une classe de mots "
typiques " et une classe de mots " rares ". Les mots typiques sont environ au nombre de 2nS ,
chacun d’entre eux étant de probabilité environ 2−nS ; les mots rares ont une probabilité totale
négligeable. Pour coder dans 0,1 un mot typique, on met un " 0 " suivi du code en base 2 du
numéro du mot typique parmi les 2nS mots typiques (ce qui prend nS chiffres en base 2) ; pour
un mot rare, on met un " 1 " suivi simplement du code en base 2 du numéro du mot rare parmi
l’ensemble des mots possibles sur l’alphabet de départ [1].
Un codage plus simple, proche du codage optimal, est le codage de Shannon-Fano : il consiste
à attribuer à la lettre a un code en base 2 de longueur (− log p(a)) (arrondi à l’entier supérieur),
ce qui est toujours possible : par exemple, arranger les probabilités de manière croissante sur
l’intervalle [0 ;1], ce qui donne une partition en sous-intervalles, si un intervalle est de longueur pi
on peut trouver un nombre binaire à (− log pi ) chiffres qu’on lui associe, de manière à former un
codage sans préfixes. Autrement dit on code les lettres plus fréquentes par des mots plus courts
[4].
Codage avec bruit :
On s’intéresse désormais au codage par des canaux de communication qui peuvent introduire
des erreurs. Soit X le message à la source, Z le message codé transmis dans un canal (qui est une
fonction aléatoire de X). Soit f une fonction de décodage, on veut que f(Z)=X le plus souvent
possible, mais le passage de X vers Z n’est pas forcément injectif. Le théorème suivant, dû à
Fano, affirme que la probabilité minimale d’erreur est liée à l’entropie :
Théorème :
Pour toute fonction de décodage f, la probabilité que f(Z) soit différent de X est supérieure
ou égale à S(X|Z) − 1/ log |X|, où |X| est la taille de l’alphabet de X.
Un canal de communication binaire étant donné, avec des probabilités d’erreur, il y a un
arbitrage à faire entre concision du codage et probabilité de décodage correct : si on prend un
codage sans aucune redondance, le décodage est très sensible à toute erreur ; si on répète trois
fois chaque mot, on a de meilleures chances d’être compris.
Supposons donc qu’un émetteur fait transiter une lettre X d’un alphabet A au travers d’un
canal binaire C. Auparavant, il code X par une suite binaire Y de longueur l. Le récepteur, lui,
reçoit à la sortie du canal une suite binaire Z qui est une fonction aléatoire de la suite binaire Y
donnée à l’entrée du canal.
ANNEXES
194
On définit la capacité d’un canal C par Cap(C)=supIM(Y,Z)/S(y), le sup étant pris sur
toutes les lois de probabilité possibles pour le mot binaire Y. Cette quantité ne dépend que du
canal.
Par exemple, imaginons que le canal transmette des 0 et des 1, mais, avec une faible probabilité p, change un 0 en 1 ou un 1 en 0. La capacité est alors 1+pLogp+(1-p)Log(1-p)≤ 1. Dans
le cas où p=1/2 , aucune information ne peut être tirée, la capacité est nulle.
Un canal étant donné, on peut se demander quel codage adopter. Soit A l’alphabet de départ,
un codage binaire est une application C :A→ {0, 1}l pour une certaine longueur l (pour simplifier,
on considère des codages à longueur constante). On définit la probabilité d’erreur Pe d’un codage
C (avec fonction de décodage D) par Pe (C) = sup P (D(Z) 6= X|Y = C(X)). On définit aussi le
taux de compression du codage par R(C)=(Log|A|)/l [1].
Shannon montre alors le théorème suivant, qui identifie la capacité du canal avec le taux de
compression optimal :
Théorème :
La capacité Cap(C) d’un canal C est égale au sup des nombres R tels que, pour tout ε > 0, il
existe un alphabet A, une longueur l, un codage C : A → {0, 1}l tels que R=R(C) et Pe (C) ≤ ε.
La preuve de ce théorème est hautement non constructive (on choisit le codage au hasard !),
et comme ci-dessus elle utilise des mots " typiques ". Ce domaine de recherche est encore très
ouvert.
Codage continu :
On s’intéresse désormais à la situation où on cherche à transmettre une quantité continue
(intensité, voltage...). Cette fois-ci on a donc des lois de probabilité sur R. Par analogie avec le
R
cas discret, l’entropie d’une distribution de probabilité f sur R est égale à − f (x)logf (x)dx [51].
On remarque que, si on multiplie par c la variable transmise par le canal, on ajoute à l’entropie
de l’information transmise (ce qui est naturel : en multipliant par 2 on a une précision deux fois
plus grande, ce qui donne un bit d’information en plus). Pour obtenir des résultats pertinents,
on suppose en général que les canaux utilisés sont limités en puissance, par exemple qu’ils ne
peuvent pas transmettre une variable dont la variance est supérieure à un certain seuil (sans
cette hypothèse, on peut facilement transmettre une quantité infinie d’information) [16].
Un simple calcul variationnel montre que, parmi les distributions de probabilité de variance
fixée, les gaussiennes sont celles d’entropie maximale. En effet, soit f une fonction maximisant
R
− f log f , et calculons l’entropie d’une fonction voisine f + δf de même variance. Comme f et
R
f + δf sont des mesures de probabilité, donc d’intégrale 1, on a δf = 0. On peut supposer
R
que f et δf sont de moyenne nulle (par translation), et donc tδf (t) = 0. Alors le fait que
ANNEXES
195
R
f + δf ait même variance que f s’écrit t2 δf (t) = 0. Maintenant, la variation d’entropie est
R
R
R
R
R
R
−δ f log f = − δf log f − f δ log f = − δf log f − f δf /f = − δf log f Pour tout δf
R
R
R
R
vérifiant δf = tδf (t) = t2 δf (t) = 0, on doit donc avoir δf log f = 0 si f est un extrémum
d’entropie. Cela implique log f (t) = A + Bt + Ct2 d’où la gaussienne [51].
Intéressons-nous au cas où on cherche à transmettre une information X à travers un canal
limité en puissance, la limite étant p (autrement dit l’espérance de X 2 doit être inférieure à p).
Mais ce canal est bruité ; plus exactement, on a un ennemi qui a accès à ce canal et qui peut
0
transmettre du bruit Y (indépendant de X), la puissance du bruit transmis étant inférieure à p .
Le récepteur reçoit X+Y, qui fait perdre de l’information par rapport à X. Ce qui intéresse le
transmetteur est de maximiser IM(X+Y,X) à Y donné, tandis que l’ennemi cherche à minimiser
cette quantité à X donné (si chacun connaît la stratégie appliquée par l’autre)[1].
Théorème :
Il y a un équilibre de Nash à ce jeu, qui vérifie : (inf /Y )(sup /X)(IM (X + Y, X)) =
0
(sup /X)(inf /Y )(IM (X + Y, X)) = 1/2 log(1 + p/p ).
0
Cet équilibre consiste pour chacun à utiliser des variables gaussiennes de variances p et p .
0
Noter que même si p > p, il reste encore quelque chose du message initial. La preuve
utilise des inégalités fines. Par analogie avec le fait que les variances de variables indépendantes
s’ajoutent, on définit la puissance-entropie N(X) d’une variable X comme la variance qu’aurait
une gaussienne de même entropie que X. (On vérifie qu’en dimension d, on a N=exp(2S/d)/2πe.
On a alors l’inégalité de puissance-entropie de Shannon pour des variables indépendantes :
N(X+Y)≥N(X)+N(Y). Pour conserver l’information on doit monter en puissance... Autre forme
équivalente : pour 0 < λ < 1, si X et Y sont des variables aléatoires indépendantes, alors
√
√
S( λX + (1 − λ)Y ) ≥ λS(X) + (1 − λ)S(Y ). Ceci peut servir à montrer par exemple que si
X1 , ..., Xn sont des variables aléatoires indépendantes identiquement distribuées, alors (X1 + ... +
√
Xn )/ n ressemble à une gaussienne (au moins si n est une puissance de 2 )...
Ces inégalités n’ont pas été rigoureusement démontrées par Shannon (elles le sont désormais). Elles sont à rapprocher, par exemple, de l’inégalité de Brunn-Minkowski, ou encore à
des problèmes de constantes optimales dans l’inégalité de convolution de Young ||f ∗ g||Lτ ≤
Cpqτ ||f ||Lp ||g||Lq pour 1 + 1/τ =1/p+1/q... Le sujet est donc loin d’être clos [1].
ANNEXES
196
EXEMPLE DU CODAGE DE HUFFMAN
Prenons comme exemple l’image suivante :
Cette image contient 30 pixels. Si l’on considère qu’ils sont codés sur 3 octets, la taille de
ce texte est de 30 x 3= 90 octet soit 720 bits. La table ci-dessous indique les fréquences des
valeurs du pixel de notre exemple. Nous pouvons remarquer que certaines valeurs définissant un
pixel apparaissent plus fréquemment que d’autres. L’algorithme va associer aux valeurs les plus
fréquentes le code le plus compact possible.
Pour réaliser cet algorithme, on commence avec une nouvelle table, similaire à la précédente,
on place les valeurs dans une première colonne et leur fréquence dans la seconde. Les données
sont triées par ordre de fréquence décroissante [62].
On construit ensuite le tableau, colonne par colonne, de gauche à droite. On effectue d’abord
la somme des 2 fréquences les plus faibles. On reporte dans la colonne suivante toutes les fréquences en supprimant les deux plus faibles. Et en les remplaçant par leur somme. Ce nombre
doit être positionné dans la colonne de sorte à respecter l’ordre décroissant. Chaque paire de
ANNEXES
197
l’ancienne colonne est annotée avec 0 pour la valeur la plus élevée et 1 pour la plus faible. On
procède ainsi jusqu’à ce qu’il ait plus qu’un élément dans la colonne [62].
ANNEXES
198
Légende :
Fréq = Fréquence.
Nv Fréq = Nouvelle Fréquence.
Bin = Binaire.
Cette première étape permet de constituer un arbre. L’arbre est constitué de nœuds et de
feuilles. Tous les nœuds ont deux liens vers d’autres nœuds ou des feuilles. On dit qu’il est le
père de deux fils. Le lien de gauche est étiqueté 0 et celui de droite 1. Ce type d’arbre s’appelle
un arbre binaire car tous les nœuds ont deux fils. Le nœud le plus élevé s’appelle la racine. On
trouve alors le code d’une lettre en partant de sa position dans l’arbre, en remontant vers la
racine tout en notant de droite à gauche les 1 et 0 rencontrés. Cet algorithme revient donc à
construire un arbre binaire. On note sur chaque nœud les sommes des fréquences des fils. Les
feuilles représentent les valeurs avec leurs fréquences. La racine indique donc la somme des valeurs
du texte. Chaque branche correspond soit à 0, soit à 1. Pour compresser l’image, il suffit, pour
chaque valeur, de parcourir l’arbre en partant de la feuille correspondant à la valeur voulue, et
de remonter jusqu’à la racine. Une fois arrivé, on émet les bits 1 ou 0 correspondant au chemin
parcouru [62].
ANNEXES
199
Dans un fichier, les bits sont représentés par groupe de huit et forment des octets. Le résultat
de la compression de notre exemple est donc le suivant :
ANNEXES
200
LA COMPRESSION FRACTALE
Les courbes
Introduction par un exemple simple :
– Soit le niveau 0 de la courbe, constitué d’un segment de droite.
– On dessine un triangle équilatéral dont le côté à une longueur égale au tiers du segment
initial. De plus ce triangle pointe vers le haut.
– On applique ce même procédé à chacun des segments de droite ainsi constitués (remarquons
que la transformation est applicable à l’infini).
Les images
Une image fractale est caractérisée par le type de transformation qu’elle a subit, l’algorithme
consiste principalement a coder celle-ci comme une suite de transformations. En effet, les données
d’une image contiennent généralement un ensemble plus ou moins grand d’éléments redondants
(partie similaire sur l’image ou autosimilarités). Etant inutile de stocker ces éléments autant de
fois qu’ils sont présents, la taille de l’image décroît. Pour obtenir une compression intéressante, on
influe sur l’image avec la façon dont travaille la vision humaine. En effet, notre œil est insensible
à certaines pertes d’informations (le cerveau assurant, par comparaison, la correction de l’erreur
générée). Ainsi, on peut modifier l’image, raisonnablement, de manière à augmenter le nombre
de suites redondantes. Tout ça en faisant en sorte que l’image transformée converge vers l’image
initiale, qui est alors l’attracteur de la transformation. Une même transformation peut donc être
appliquée à des images différentes, l’attracteur étant, quand à lui différent [25].
Exemple de types de transformation :
ANNEXES
201
Compression
La compression d’une image fractale consiste à mettre en relation un modèle mathématique
avec celle-ci afin de lui appliquer un transformation contractante. Il faudra ensuite définir les
autosimilarités, afin de ne les sauvegarder qu’une seule fois.
Cette recherche correspond à une transformation affine qui se résume à une approximation
de l’image d’origine, incluant donc un taux d’erreur de l’image finale variant selon la complexité
de la transformation ; c’est ce qui donne le taux de compression. Prenons le cas de l’exemple
1B, l’attracteur (image d’origine, qui est la lettre A) de cette transformation subit la variation
d’échelle. Le produit de ces transformations multiples offre une caractéristique intéressante, car
les détails supplémentaires apportés à l’image transformée sont générés " automatiquement "
par la méthode employée, détails qui dans certains cas sont très réalistes pour de faibles agrandissements. Cette méthode, implique un taux d’erreur +/- variable à la représentation finale de
l’image d’origine, ce qui est normal puisqu’il s’agit d’une approximation mathématique [30].
Imaginons une photocopieuse dont le but est de recopier l’entrée trois fois en divisant par
deux son échelle comme illustré sur la figure ci-dessous :
A chaque cycle de la copie, le document qui vient de sortir est remis en entrée de la photocopieuse de ce fait, après de nombreuses copies comportant les mêmes transformations (ici division
par 2 de l’échelle puis recopie de la source 3 fois), la sortie convergera vers ce que l’on appelle un
attracteur, c’est à dire une image qui lorqu’on la remet en entrée de cette photocopieuse donne
en sortie la même image. La transformation utilisée en exemple est l’une des très nombreuses
ANNEXES
202
transformations possibles. Et on peut immédiatement comprendre que d’autres transformations
conduiraient à d’autres attracteurs [20].
Indépendance de l’attracteur vis-à-vis de l’image d’origine
Mais considérons maintenant deux images totalement différentes, et appliquons à chacune
d’elles simultanément les mêmes transformations. Comme le montre la figure ci-dessous, les deux
images (a et b) qui au départ étaient dissemblables donnent lieu au même attracteur (c).
En fait, plus on réalise de copies, plus l’image d’origine disparaît pour ne devenir qu’un
point. Mais ce point existe en plusieurs copies agencées d’une certaine manière que définit la
transformation utilisée. Ainsi, un attracteur ne dépend que de la transformation utilisée. En
pratique, ces transformations sont des applications affines, c’est à dire des transformations du
plan dans le plan telles que chacune de ces transformations effectue au moins une des opérations
suivantes [25] :
– Etirement
– Rotation
– Translation
En pratique, l’ensemble de ces transformations est suffisant pour pouvoir donner lieu à un ensemble riche d’attracteurs.
La compression fractale consiste non pas à enregistrer les informations propres de l’image,
mais plutôt les transformations nécessaires à la constitution de l’image en tant qu’attracteur.
Connaissant cette suite de transformations, l’image pourra être reconstituée en partant de n’importe quelle image source (par exemple une image entièrement noire) car celle-ci devenant un
point parmi d’autres.
Voyons à présent la taille nécessaire au codage d’une transformation (on verra plus tard que
cela n’est pas suffisant pour coder une image quelconque complètement).
Comme il a été vu précédemment, chaque transformation est définie à partir de 6 réels qui
sont codables sur 32 bits. Il suffit donc de 192 bits pour stocker une transformation.
ANNEXES
203
Pour compresser l’image de la fougère ci-dessous (figure 4), comme il ne faut que 4 transformations (on ne prend pas encore en compte les transformations liées aux niveaux de gris), il
suffira de 4 x 192 bits = 768 bits (96 octets) pour stocker l’image alors qu’il faut environ 12kbits
pour stocker l’image avec la résolution actuelle [30].
Processus de compression
L’idée de base de ce procédé de compression d’images est de trouver l’attracteur de l’image à
compresser, au sens mathématique du terme si l’on modélise une image comme une application
de 1,...,N×1,...,N vers 0,...2p-1 ou N est le côté de cette image en nombre de pixels et p est le
nombre de bits que l’on utilise pour coder cette image (pour p bits, on obtient un nombre de
couleurs différentes utilisables de 2 exposant p) [25].
C’est parce qu’une manière de définir une fractale en mathématiques est de décrire une
fractale comme l’unique point fixe d’un attracteur. Nous allons donc tenter d’expliquer comment
fonctionne ce type de compression, mais dans les grandes lignes [20].
Tout comme pour la compression JPEG, l’algorithme découpe l’image en blocs-parents carrés
de 16 pixels de côtés, eux-mêmes subdivisés en 4 blocs-fils carrés de 8 pixels de côté. Le travail
principal de l’algorithme de compression est de calculer, pour chacun de ces blocs-parent et
de ces blocs-fils, l’attracteur qui lui est associé. On ne trouve généralement jamais exactement
l’attracteur exact associé à un bloc mais le travail consiste à en trouver un le plus fidèle possible.
Chaque attracteur spécifique à un seul bloc décrit ce bloc de la manière suivante.
Considérons un bloc et son attracteur associé : si, par la suite, l’on prend n’importe quel
autre bloc de la même taille mais dont le rendu n’a rien a voir avec ce dernier, et que l’on fait
l’image de ce bloc par l’attracteur considéré, on se rapproche chaque fois plus du premier bloc.
C’est la propriété de contractance de l’attracteur, via un théorème appelé théorème du " collage
" qui garantissent cette convergence.
ANNEXES
204
De cette manière, il semble exister une bijection entre tout bloc et son attracteur associé. Et
comme l’espace physique que prend l’attracteur, par rapport à celui que prend le bloc, est bien
inférieure le gain en espace physique de l’image qui n’est rien d’autre qu’un assemblage disjoint
de ces blocs s’en trouve diminué ; c’est le passage de la description d’un bloc par son attracteur
qui constitue l’étape de compression de ce processus. En effet, cet attracteur peut-être décrit
approximativement par deux paires de fonctions, une de réajustement, l’autre d’intensité qui
sont codées sur peu d’espace physique [25].
Il s’agit d’une approximation car si l’on désirait calculer précisément l’attracteur de chaque
bloc, il faudrait bien plus que deux paires de fonctions pour le décrire, mais plutôt 2n fonctions
telles que n serait d’autant plus grand que la précision requise serait importante. Dans la pratique,
il est possible de décrire chaque bloc assez précisément à l’aide d’un attracteur simple constitué
de deux paires de fonctions. Pour déterminer les fonctions qui décrivent cet attracteur, on doit
utiliser la méthode des moindres carrés qui, utilisée intensivement, est coûteuse en temps de
calcul, ce qui ralentit le processus de compression.
Ce procédé de compression d’images est non conservatif puisque cette correspondance évoquée précédemment ne sera pas parfaite. Cela va donc introduire des infidélités entre l’image
originale et l’information que détient l’image compressée. Le fichier compressé contient donc les
informations sur les attracteurs des blocs-parents (à savoir : la paire de fonctions d’intensité, la
paire de fonctions de réajustement étant fixée et stockée au début de l’en-tête), puis celles concernant les différents blocs. D’autres informations telles celles qui concernent la taille de l’image sont
contenues dans l’en-tête [20].
Les avantages
– La compression fractale permet un puissant zoom fractal pour agrandir une image sans
effet de pixellisation.
– Son taux de compression est très avantageux, tout en conservant un aperçu fidèle.
– Effet de lissage flou disponible en traitement d’images.
Les inconvénients
– Ce type de compression n’a pas encore fait l’objet de l’édition d’une norme.
– La compression reste lente malgré toutes les améliorations.
– La compression produit un flou dans l’image.
ANNEXES
205
EXEMPLE DE CODAGE RLE
Compression d’une image composée d’un damier noir et blanc. Dans le cas d’un damier noir
et blanc de 10 carrés sur 10, représenté sur un écran VGA monochrome 640 x 480, correspondant
à des carrés de 64 x 48, chaque ligne serait codée en regroupements de 64 bits, soit 8 octets.
Fig. 5.20 – Damier noir et blanc 10 × 10 pixels.
Les pixels blancs étant traduits par un bit à 0 et les noirs à 1, une séquence de 8 pixels
noirs sera codée " 11111111 ", soit par l’octet FFh en hexadécimal, et une séquence de 8 pixels
blancs sera codée " 00000000 ", soit par l’octet 00h en hexadécimal. Pour différencier le codage
de plages de pixels répétés des pixels isolés, on utilise un code discriminant réservé à cet usage,
généralement le caractère hexadécimal 14h (format PCX).
Dans le cas d’un octet non répété dont le code est celui de l’indicateur de répétition (14h),
le codage sera obtenu par la représentation du code 14h répété une fois, soit " 14 - 14 - 1 ".
Le " compactage " conduit ici à un triplement de la taille (3 octets au mieux d’un), mais cette
dégradation est heureusement rare.
On obtient alors " 14 - FF - 08 " pour 64 pixels noirs (14h indique la répétition ; FFh est
l’octet à répéter ; 08 est le nombre de répétitions), et " 14 - 00 - 08 " pour 64 pixels blancs (14h
indique la répétition ; 00h est l’octet à répéter ; 08 est le nombre de répétitions), soit finalement
" 14-FF-08-14-00-08-14-FF-08... " pour une ligne commençant par un carré noir, et " 14-00-0814-FF-08-14-00-08-... "pour une ligne commençant par un carré blanc.
Le codage obtenu est de 30 octets par ligne, soit 14 400 octets au lieu de 38 400 octets.
Evidemment, s’il était possible d’appliquer encore la même méthode sur des groupes de 8 octets,
ou même des lignes, les résultats seraient tout autres, mais le Run Length ne va pas jusque-là. Il
est facile de comprendre que le procédé LZW donnera dans pratiquement tous les cas de meilleurs
résultats, mais au prix de traitements largement plus complexes.
ANNEXES
206
Des variantes de ce procédé analysent les répétitions de bits (images monochromes, notamment issues de scanners) ou de pixels (séquences de 3 octets pour les images sur 24 bits). Dans
le cas d’images organisées en plans de bits (4 plans pour les images EGA/VGA 16 couleurs), la
compression sera plus importante en travaillant plan par plan, les composantes stables se révélant
plus nombreuses.
ANNEXES
207
EXEMPLE DE METHODE Lempel Ziv
La figure ci-dessous illuste le codage de la chaine " DU CODAGE AU DECODAGE " par la
méthode Lempel Ziv :
Fig. 5.21 – Codage de la chaîne : DU CODAGE AU DECODAGE.
Jusqu’à la première paire présente dans le dictionnaire, le codage est traditionnel. Pour toute
paire répétée, on ne transmet que son adresse ; l’absence de codage d’un caractère peut être
localisée par le code transmis immédiatement après qui est supérieur à 257. Un code spécifique
(non exploité ici) peut indiquer que les adresses seront codées avec un bit de plus à partir de
ANNEXES
208
ce rang lorsque la taille du dictionnaire n’est pas limitée. Ainsi, la taille des adresses peut ne
pas être prédéfinie, et il en est de même, par voie de conséquence, de la taille du dictionnaire.
Dans l’exemple cité, la taille du dictionnaire est fixée à 1024 entrées, ce qui permet un codage
fixe des adresses sur 10 bits. Ces différentes possibilités de paramétrage permettent d’adapter
l’algorithme à différentes situations, et notamment de l’optimiser en fonction de la taille des
fichiers. Dans tous les cas, le dictionnaire est reconstruit par le décompacteur durant son action,
et n’a donc pas à être conservé.
Des améliorations et variantes peuvent être apportées, notamment en conservant un certain nombre d’adresses du dictionnaire dans le fichier compacté pour des fonctions particulières,
comme l’augmentation de la taille des adresses, les changement éventuels de technique de compression, la purge de séquences rarement utilisées du dictionnaire, la réinitialisation du dictionnaire, ou la création d’un deuxième dictionnaire. La figure ci-dessous illuste le processus de
décodage.
La figure ci-dessous illuste le décodage de la chaine " DU CODAGE AU DECODAGE " par
la méthode Lempel Ziv :
ANNEXES
Fig. 5.22 – Décodage de la chaîne : DU CODAGE AU DECODAGE.
209
ANNEXES
210
COMPOSANTES CONNEXES
Partant d’une image binaire, on souhaite souvent faire des mesures sur les ensembles de points
connexes qui la composent. Ces éléments sont appelés les composantes connexes de l’image.
L’étiquetage des composantes connexes d’une image binaire consiste à attribuer un label,
étiquette ou numéro différent pour chaque composante connexe et identique pour tous les pixels
d’un même composante. Il existe de nombreux algorithmes réalisant cette fonction. Ils dépendent
de la connexité considérée et se différencient aussi par leur approche séquentielle ou parallèle.
Une composante connexe peut alors être extraite par l’intermédiaire de son étiquette pour
faire un traitement spécifique. L’image des étiquettes est une formulation implicite des composantes connexes ; l’extraction aura pour but la transformation de cette formulation implicite en
une formulation explicite (liste des composantes connexes avec des attributs par exemple) [98].
Etiquetage séquentiel itératif
C’est un algorithme qui est purement séquentiel et qui ne nécessite que la structure image
et un compteur d’étiquettes comme structure de données. Le contenu de la matrice image est
modifiée de manière itérative en alternant des parcours avant (indices des lignes et colonnes croissants) et des parcours arrières (indices des lignes et colonnes décroissants) jusqu’à stabilisation.
Lors de ces parcours, le traitement suivant est appliqué en chaque point P : Si P est un point
objet (i.e. I(P) = 255) Alors Si P a des prédécesseurs points objets. Alors P prend pour valeur
l’étiquette minimale de ses prédécesseurs Sinon P prend pour valeur une nouvelle étiquette Le
nombre d’itération dépend de la complexité des objets. Pour remédier à cela, on peut définir un
algorithme qui ne nécessite que deux parcours de l’image mais qui requiert en contrepartie la
gestion d’une table de correspondance [97].
Etiquetage séquentiel avec correspondance entre points
L’idée de l’algorithme est d’exploiter l’étiquetage effectué lors du premier parcours pour une
affectation finale des étiquettes ne demandant ainsi qu’un seul parcours supplémentaire. Une
table de correspondance T est créée et initialisée par T (i) = i. Le premier balayage séquentiel
de l’image est défini par le traitement suivant appliqué en tout point P :
Si Tous les prédécesseurs de P appartiennent au fond
Alors Affecter une nouvelle étiquette à P
Sinon Si Tous les prédécesseurs de P qui sont objet ont une même étiquette
Alors Attribuer cette étiquette à P
Sinon Rechercher la plus petite étiquette, e, non nulle de ces prédécesseurs.
Affecter T(e) à P
ANNEXES
211
Mettre à jour la table T par
Pour chaque prédécesseur d’étiquette a telle que T(e) != T(a)
Faire Tant que T(a) != a
Faire k = T(a)
T(a) = T(e)
a = k Fin faire
T(a) = T(e) Fin pour Fin si Fin si
A la fin de ce balayage de l’image, on actualise la table T de manière à ce qu’à tout indice
corresponde l’étiquette définitive de l’objet.
Pour i = 1 à nombre d’étiquettes utilisées
Faire j = i
Tant que T(j) != j Faire j = T(j)
T(i) = j Fin pour
Au terme de ce traitement, les points d’un même objet peuvent avoir des valeurs différentes
mais la table T permet de toutes les faire correspondre à une même étiquette.
Le second balayage sert à l’attribution définitive sur l’image d’une même étiquette pour tous
les points d’un même objet. Cet algorithme nécessite donc deux balayages et l’emploi d’une table
de correspondance. Il induit également la génération de nombreuses étiquettes temporaires dans
le cas d’un objet de forme complexe, ce qui implique la définition d’une table T de grande taille.
Ceci est du à la vue uniquement locale de l’algorithme lors de l’attribution des étiquettes [99].
Etiquetage parallèle
L’image à étiqueter étant codée par la matrice A de taille N x M, on construit la suite (Ai )
d’images (i=0 .. n) avec A0 =A et An =image étiquettée. L’algorithme est le suivant :
Pour Tous les points de A
Faire en parallèle Si A(i,j)=1
Alors A(i,j) = (i-1)*N+j
Fin si Fin pour
k=1
Répéter Pour Tous les points de Ak−1
Faire en parallèle Si Ak−1 (i,j) != 0
Alors Ak (i,j) = minimum sur le voisinage immédiat de Ak−1 (i,j)
Sinon Ak (i,j) = 0
Fin si Fin pour Jusqu’à Ak−1 = Ak .
L’algorithme converge en au plus racine(max(N,M)) itérations. Le test d’arrêt se ramène à
ANNEXES
212
un comptage de points modifiés.
Prédécesseur d’un point
Dans le schéma suivant, les pixels indiqués a sont les prédécesseurs du pixel P dans un
balayage avant, les pixels indiqués b sont les prédécesseurs de P dans un balayage arrière [101].
a
a
a
a
P
b
b
b
b
ANNEXES
213
Publications et Communications
– Un article intitulé : "A method for choosing reference images based on edge detection for
video compression", accepté par The International Georgian Journal of Computer Sciences
and Telecommunications. No.3(7), pp.33 − 39, December 31 2005. http : //gesj.internet −
academy.org.ge/gesj− articles/1120.pdf .
– Un article intitulé : "Adaptive compression of cartographic images based on Haar’s wavelets", accepté par The International Moroccan Journal Physical and Chimical News,
November 31 2005.
– Un article intitulé : "Adaptive compression of images based on wavelets", accepté par The
International Georgian Journal of Computer Sciences and Telecommunications. No.1(8),
pp.32-41, March 31 2006. http : //gesj.internet−academy.org.ge/gesj− articles/1172.pdf .
– Une communication intitulée : "Une méthode de choix des images de référence pour la
compression des images animées, basée sur la détection des contours", acceptée par The
International Conference on Approximation Methods and Numerical Modeling in Environnement and Natural Resources (MAMERN’05), Oujda, Morocco May 09-11 2005.
– Une communication intitulée : "Compression adaptative des images biomédicales basée sur
les ondelettes", acceptée par les Premiéres Journées Internationales de Mathématiques et
Informatique d’oujda (JIMIO’1). Oujda, Maroc, 27-28 mai 2005.
– Un article intitulé : "Adaptive compression of cartographic images based on wavelets",
accepté par le Workshop sur les Technologies de l’Information et de Communication (WOTIC’05). Kénitra, Maroc, 24-25 juin 2005.
– Un article intitulé : "Adaptive compression based on wavelets of cartographic images", accepté par The IEEE International Computer Systems and Information Technology Conference (ICSIT’05). Algiers, July 19-21 2005.
– Un article intitulé : "Adaptive compression of air images based on wavelets", accepté
par la Rencontre Franco-Marocaine d’Approximation et d’Optimisation, Applications aux
Sciences de l’ingénieur (RFMAO’2005). 19-20-21 Septembre 2005, Rabat-Maroc.
– Un article intitulé : "Adaptive compression of cartographic images based on wavelets",
accepté par les 8èmes Journées d’Analyse Numérique et d’Optimisation (JANO8). ENIMRabat, 14-16 Décembre 2005.
– Un article intitulé : "A method for choosing reference images based on edge detection
for video compression", accepté par the 4th International Multiconference on Computer
Science and Information Technology (CSIT 2006). Applied Science Private University,
ANNEXES
214
April 5-7 2006 Amman-Jordan.
– Un article intitulé : " A method for choosing reference images based on edge detection for
video compression", accepté par The second IEEE-EURASIP International Symposium
on Control, Communications, and Signal Processing (ISCCSP 2006), March 13-15 2006,
Marrakech, Morocco.
– Un article intitulé : "An approach for choosing reference images in video compression",
accepté par les 5èmes journées d’optique et de traitement de l’information, 19-20 avril
2006, INPT-Rabat.
– Un article intitulé : "A method for choosing reference images in video compression", accepté par The fifth IEEE-EURASIP International Symposium on COMMUNICATION
SYSTEMS, NETWORKS AND DIGITAL SIGNAL PROCESSING, July 19-21 2006, Electrical and Computer Engineering Department University of Patras, Patras, Greece.
– Un article intitulé : "Méthode hybride de crypto-compression des images, basée sur la
transformation multi-échelle de Faber-Schauder et l’algorithme AES", accepté par la Journée d’étude de Recherche et Pédagogie, 16 juillet 2006, Faculté des sciences BenMsik-casa,
Maroc.
– Un article intitulé : " Crypto-compression des images médicales par la transformation
Multi-échelle de Faber-Schauder et l’algorithme AES ", accepté par les 2ème journées
d’études Algéro-Francaises en imagerie médicale, (JETIM’06), 21-22 Novembre 2006, USTHB (Alger) et Corne d’or (Tipaza), Algérie.
– Un article intitulé : " Crypto-compression des images échographiques par la transformation de Faber-Schauder et l’algorithme DES ", accepté par le Colloque International sur
l’Informatique et ses Applications, (IA’2006), 31 octobre 1 et 2 Novembre 2006, ENSAO,
Oujda-Maroc.
– Un article intitulé : " Crypto-compression des images fixes par la FMT et l’AES ", accepté
par The 9th Magrebian Conference on Software Engineering and Artificial Intelligence,
(MCSEAI’06), 7-9 December 2006 Agadir-Morocco.
Bibliographie
215
Bibliographie
[1] Gérard BATTAIL, " Théorie de l’Information ", Masson, 1997.
[2] Robert B. Ash, " Information Theory ", Dover Publications, Inc, New-York, 1990.
[3] Fazlollah M. Reza, " An Introduction to Information Theory ", Dover Publications, Inc,
New-York, 1994.
[4] Richard E. Blahut, " Digital Transmission of Information ", Addison-Wesley, 1990.
[5] Grégoire MERCIER, Christian ROUX, Gilbert MARTINEAU, " Technologie de Multimédia
", ENST Bretagne, dpt ITI, BP832, F-29280 Brest, France, 15 Janvier 2003.
[6] John WATKINSON, " MPEG-2 ", Focal Press, 1999.
[7] Pascal PLUME, " Compression de données ", Editions Eyrolles, 1993.
[8] Delassale, B., " La Déferlante Numérique ", Sonovision, N◦ 355, janvier 1992.
[9] Marseau X., " Compression et cryptage en informatique ", Editions Hermès, Collection
Traité des nouvelles technologies, série informatique, 1992.
[10] M.Nelson, " La compression des données ", éditions Dunod, 1993.
[11] Paquel N., " Multimédia et télévision interactive ", Mémoires optiques et systèmes, N◦ 117,
septembre 93.
[12] Terrasson J., " Les outils du multimédia ", Editions Armand Colin, 1992.
[13] Cavet D., " Numérisation des images ", Note technique 013, CNDP, 1994.
www.cndp.fr/notestech/13/numerima.htm
[14] Cavet D., " Le système Photo CD de Kodak ", Note technique CNDP, 1992.
[15] Banckaert M., Gasser P., Lavacry M., " CD-I Digital Video et VHS : essais comparatifs ",
CNDP, 1994.
[16] Dossiers de l’ingénierie éducative, " De l’analogique au numérique ", CNDP, Les cartes
vocales, N◦ 13, juin 1993, p. 16-18.
216
BIBLIOGRAPHIE
217
[17] Daniel Salles, " Éducation à l’image et aux médias : la liberté de la presse ", Centre de
Ressources en éducation aux médias CREM, mars 2005.
[18] Jean CHARLES AMEY, " codage des couleurs ", TPE 2001-2002.
[19] M.Abdat, " Etudes des techniques de compression des images fixes et amélioration de la
résistance aux erreurs de transmission ",Thèse PhD, Blida-Algerie, Dec.1995.
[20] M.HADALLAH, " Codage des images fixes par une méthode hybride basée sur la QV et les
approximations fractales ", PFE USTHB 1997.
[21] O.SADOU, " Introduction de l’analyse en composantes principales pour la construction d’un
dictionnaire de QV ", PFE USTHB 1993.
[22] N.Ahmed, K.R.Rao, " Orthogonal transforms for digital ", Signal processing NY, 1975.
[23] H.C.Andrews, W.K.Pratt, " Transform image coding ", Processing communication, pp
63,84. 1969.
[24] N.Gamaz, " Etude et développement d’algorithmes de compression d’images fixes par TCD2D ", Magister CDTA 1992.
[25] S.Dekkar, " Compression des images fixes par la méthode des fractales ", PFE INI, 1996.
[26] R.C.Gonzales, P.Wintz, " Digital Image Processing ", Addison Wessley, 1977.
[27] M.Kunt, " Traitement Numérique des Images ", Presses Polytechniques et Universitaires
Romandes, Editeur scientifique et technique, Vol.2, 1993.
[28] F.Aurenhammer, " A survey of a fundamental geometric data structures ", ACM Comuting
Surveys Vol.23 N03, 1991.
[29] A.d’Hardancourt, " Fou du multimédia ", Sybex 1995.
[30] K.Tabari, S.Tagma, " Compression d’images animées à très faible débit par la géométrie
des fractales ", PFE USTHB 1996.
[31] Michael D. ADAMS, " The JPEG-2000 still Image Compression Standard ", Dept.of Elec.
And Comp. Engineering, Université of British columbia Vancouver, BC, Canada V6T 1Z4,
2001.
[32] M.G.Albanesi, F.Guerrini, " An HVS-based adaptative coder for perceptually lossy image
compression ", Dipartimento di Informatica e Sistemistica, University of Pavia, Via Ferrata
n.1-I-27100, Pavia, Italy.No. 4, pp. 997-1007, April 2003.
[33] M.Antonini, " Transformée en ondelettes et compression Numériques des images ", thèse de
doctorat, Nice- Sophia -Antipolis, sept 1991.
BIBLIOGRAPHIE
218
[34] M.Antonini, M.Barlaud, P.Mathieu, I.Daubechies, " Image Coding Using Wavelet Transform
", IEEE Trans. on Image Processing 1, No.2, April, 205-220, 1992.
[35] A.Averbuch, D.Lazar, M.Israeli, " Image Compression Using Wavelet Transform and Multiresolution Decomposition ", IEEE Trans. on Image Processing 5, No.1, Jan., 4-15, 1996.
[36] M.Barret, H.Bekkouche, " Adapted nonlinear multiresolution decomposition with applications in progressive lossless image coding ", Proc. ISPA’01, Pula, Croatia, pp.609-612, Juin
2001.
[37] H.Bekkouche, M.Barret, " Décomposition multi-résolutions adaptative. Application à la
compression sans pertes des images ", Présenté à la Réunion des Théoriciens des Circuits
et Systèmes de Langue Française RTCLF’2001, Paris, Sep.2001.
[38] Jean- Michel BENHARROSH, " Extraction de thèmes cartographiques dans les images
satellitales ou aériennes : Application à la génération de Quick-Looks adaptatifs et à la
compression des images ", thèse de doctorat, Université de Nice-SOPHIA ANTIPOLIS ,
Avril 1998.
[39] P.Bertolino, A . Montauvert, " Coopération Régime-Contours Multi-Résolution en Segmentation d’Images ", Proceeding RFIA, pp. 299- 307, Rennes, 1996.
[40] A. Bijaoui, J.L.Strack, F. Murtagh, " Restauration des images MultiEchelles par l’algorithme
à trous ", INIST-CNRS, I-Revues, Traitement du signal et des Images, vol.11, pp.229- 243,
1994.
[41] JP.Bolet, AR.Cowen, J.Launders, AG.Davies, GJS.Parkin, RF.Bury, " Progress with an
’All-Wavelet’ Approach to Image Enhancement and De-Noising of Direct Digital Thorax
Radiographic Images ", Proc. IEE IPA97 1, 244-248,1997.
[42] AM.Cohen, HL.Resnikoff " Image Compression for Radiology and Telemedicine ", Proc.
SPIE 2298, SPIE, Bellingham, Wash., pp. 304-315,1994.
[43] Monique COLINET, " Multimédia : Images, Sons et Vidéos ", Université Notre Dame de
Paix, CEFIS-FUNDP, Février 2001.
[44] RA.DeVore, B.Jawerth, BJ.Lucier, " Image Compression Through Wavelet Transform Coding ", IEEE Trans. Info. Theory 38, No.2, March, 719-746, 1992.
[45] O.Egger, W.Li., " Subband Coding of Images Using Asymmetrical Filter Banks ", IEEE
Trans. on Image Processing 4, No.4, April, 478-485, 1995.
[46] Véronique EGLIN, " Communication, Images et Numérique ", RFV-INSA de Lyon, 2001.
BIBLIOGRAPHIE
219
[47] IK.Eom, HS.Kim, KS.Son, YS.Kim, JH.Kim, " Image Coding Using Wavelet Transform
And Human Visual System ", Proc. of SPIE 2418, 176-186, 1995.
[48] F.Falzon, " Analyse Multi- échelle, Détection des singularités et Caractérisation de la Régularité des Images ", thèse de doctorat, Nice - Sophia- Antipolis, Décembre 1994.
[49] J.C. Feauverau, " Analyse Multi- Résolution par ondelettes non orthogonales et bancs de
filtres Numériques ", thèse de doctorat de l’université de Paris Sud, Janvier 1990.
[50] O. N. Gerek, A. E. Cetin, " Adaptive polyphase subband decomposition structures for image
compression ", IEEE Trans. Image Proc., vol. 9, no. 10, pp. 1649-1660, octobre 2000.
[51] DD.Guisto, C.S. Regazzoni, S.B.Serpico, G. Vernazza, " A New Adaptative Approach to
Picture Coding ", Ann. Télécommunications, 45, N◦ 9-10, pp.503-518, 1990.
[52] Jean-Paul Guillois, " Techniques de compression des images " Edition Hermès, 1996.
[53] M. Holdschneider, R.Kronland-Martinet, J. Morlet, ph.Tchamitchain, " A Real Time Algorithm for signal Analysis with the help of the wavelet Transform ", pp. 286 - 297, ed. J.M
Combes et al. Springer Verlag Berlin, 1989.
[54] I.Hontch, L.J.Karam, " Adaptive image coding with perceptual distorsion control ", No.3,
pp.213-222. IEEE Top reference, March2002.
[55] A.Manduca, " A Wavelet-Based Tool for Medical Image Compression ", Proc. of SPIE 1653,
495-503, 1992.
[56] G. Moury, " La compression d’images embarquée pour les missions spatiales ", Nouvelle
revue d’aéronautique et d’astronautique, N◦ 5, pp. 35-43, 1995.
[57] E.Nguyen, " Compression sélective et focalisation visuelle : Application au codage hybride
de séquences d’images ", thèse de l’université de Rennes I, décembre 1995.
[58] Jean-Michel PASCAL, " La Compression des Données ou le Flux Multimédia sous contrainte
", Découverte N0283, Décembre 2000.
[59] W. Pratt, " Digital Image Processing ", Willey Interscience Publications, 1991.
[60] M. Rabbani, P.W. Jones, " Digital Image-Compression Techniques ", D.C , O’S hea, series
Editor, vol.TT7, SPIE Optical Engineering Press, 1991.
[61] K.R.Rao, P .Yip, " Discrete cosine Transform- Algorithms, Advantages, Applications ",
Academic Press, Inc, London, 1990.
[62] O. Robineau, " Compresser les images fixes ", le monde de l’informatique, 14 Mars 1997.
BIBLIOGRAPHIE
220
[63] Saha S. And Vemuri R., " Adaptive Wavelet Coding of Multimédia Images ", Proc. ACM
Multimédia Conference, November 1999.
[64] RG.Simpson, " Interband Prediction Method for Subband Image Coding ", Proc. SPIE
2418, 187-198,1995.
[65] M.J.Shensa, " The discrete wavelet transform : wedding the a trons and Mallat algorithms
", IEEE transactions on signal Processing, Vol. 40, N◦ 10, October 1992.
[66] G.Strang, " Wavelets and Dilatation Equations : a brief introduction ", SIAM Review (31),
pp. 614 - 627, 1989.
[67] Rapport d’activité sur Projet TEMICS," Traitement, Modélisation d’images et Communications ", Université de Rennes, 2001.
[68] V.A Vaishampayan and N. Farvardin, " Optimal Block Cosine Transform Image Coding for
Noisy Channels ", IEEE Trans. on corn vol.38, N◦ 3, March 1990.
[69] Vasndev Bhaskaran, " Image and video Compression standards algorithms and Architectures
", Klawer Academic Publishers, Boston, 1996.
[70] V.Vlahakis ; RI.Kitney, " ROI Approach to Wavelet-Based, Hybrid Compression of MR
Images ", Proc. IEE IPA97 2, 833-837, 1997.
[71] G.K.Wallace, " The JEPG Still Picture Compression Standard ", communications of the
A.C.M, vol. 34, N◦ 4, pp. 30-44, April 1991.
[72] Weidong Kou, " Digital Image Compression Algorithms and Standards ", Kalwer Academic
Publishers, Boston, 1995.
[73] STC.Wong ; HK.Huang, " A Hospital Integrated Framework for Multimodality Image Base
Management ", IEEE Transactions on System, Man, and Cybernetics 26, No.4, July, 455469, 1996.
[74] Wu.Xiaolin ; P.Bao " L∞ constrained high-fidelity image compression via adaptive context
modeling ", No. 4, pp. 536-542, Image Processing, IEEE, Dept. of Comput. Sci., Univ. of
Western Ontario, London, April 2000.
[75] UIT-T. Recommandation H.263, version 2, " Codage vidéo pour communication à faible
débit ", 1998.
[76] Rob Kœnen., " Overview of the MPEG-4 standard ", iso/iec jtc1/sc29/wg 11 n4030. Mars
2001.
[77] Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG. Joint Final Commitee
Draft (JFCD) of Joint Vidéo Specification (ITU-T Rec. H.264 - ISO/IEC 14496-10 AVC).
BIBLIOGRAPHIE
221
[78] Majid Rabbani, Paul W. Jones, " Digital Image Compression Techniques ", volume 7 of
tutorial texts in optical engineering. SPIE Optical Engineering Press, Bellingham, WA,
USA, 1991.
[79] Henri Nicolas, " Contribution à la création et à la manipulation des objets vidéo ", PhD
thesis, Université de Rennes 1, Institut de Formation Supérieure en Informatique et Communication, 2001.
[80] M. Irani, P. Anandan, J. Bergen, R. Kumar et S. Hsu, " Efficient representations of vidéo
sequences and their applications ", Signal Processing : Image Communication, 8 :327-351,
1996.
[81] Guy Côté et Lowell Winger, " Progrès récents dans le domaine de la compression vidéo ",
IEEE canadian Review, 2002.
[82] Nicolas DUMOULIN, " Compression de séquences vidéo et choix des images de références
", Rapport de stage DEA Informatique, Université de Rennes 1-IFSIC, Juin 2003.
[83] Charles WAGNER , " De l’image vers la compression ", Rapport de Recherche de l’INRIA,
Septembre 1993.
[84] Monique COLINET, " Multimédia : Images-Sons-vidéos ", CEFIS-Université Notre Dame
de la Paix, Février 2001.
[85] Jacques GUICHARD, Dominique NASSE, " Traitement des images Numériques pour la
réduction du débit binaires ", CENT-Paris, CCETT, France.
[86] T.HUFFMAN, D.MULLER, " Techniques de compression des signaux vidéo pour la communication multimédia ", Revue des télécommunications 4e édition, 1993.
[87] J.P. Cocquerez, S. Philipp, " Analyse d’images : Filtrage et segmentation ", Editeur Masson,
sept. 1995.
[88] M. Shen, " Cours de traitement d’image ", DESS Ingénierie de l’Image année 1999 - 2000.
[89] John Canny, " A computational approach to edge detection ", IEEE Pami, vol. 8, n◦ 6,
novembre 1986, pp 679-698
[90] Libor A. Spacek, " Edge detection and motion detection, Image and vision computing ",
vol. 4, n◦ 1, pp 43-56, février 1986.
[91] Henant D. Tagare et Rui J.P. de Figueiredo, " On the localization performance measure and
optimal edge detection ", IEEE Transactions on pattern analysis and machine intelligence,
vol. 12, n◦ 12, décembre 1990
BIBLIOGRAPHIE
222
[92] J. Cocquerez et S. Philipp, " Analyse d’images : filtrage et segmentation ", Masson, 1996
[93] Gray R. M., " Vector quantization ", IEEE ASSP Magazine, pages 4-29, April 1984.
[94] L.BOUAZIZ, " Etude et implémentation des techniques de compression et restitution
d’images, application aux données spectrométriques ", PFE INI, 1992.
[95] Chassery J.M., Montanvert (A.), " Géométrie discrète en analyse d’images ", Hermès, Traité
des Nouvelles Technologies, série image, 1991.
[96] Coster M., Chermant (J.L.), " Précis d’analyse d’images ", Edition du CNRS, 1985.
[97] Rosenfeld A., " Sequential operations in digital picture processing ", Journal of the ACM,
Vol. 13, No 4, 1966, p. 471-494.
[98] Rosenfeld A., " Connectivity in digital pictures ", Journal of the ACM, Vol. 17, No 1, pp.
146-160, 1970.
[99] Samet, H., " The Design and Analysis of Spatial Data Structures ", Addison-Wesley, Readings, MA, 1990.
[100] Samet, H., " Application of Spatial Data Structures : Computer Graphics ", Image Processing, and GIS, Addison-Wesley, Readings, MA, 1990.
[101] Serra J., " Image Analysis and Mathematical Morphology ", Academic Press, 1982.
[102] www.mpeg.org
[103] www.wavelet.org
[104] www.multimania.com/dangt/ondelettes.html
[105] http ://www.cgl.uwaterloo.ca/ anicolao/wadingpool/WaveletWadingPool.html
[106] http ://cafe.rapidus.net/danilemi/onde.html
[107] www.jpeg.org
[108] Ziv J. et Lempel A., " Compression of individual sequences via varaible rate coding ",
IEEE Transactions on Information Theory, Vol. 24, septembre 1978.
[109] Welch, T., " A technique for high performance data compression ", IEEE Computer, Vol.
17, juin 1984.
[110] P. J. Burt et E. H. Adelson, " The Laplacian pyramid as a compact image code ", IEEE
Trans. Commun., 31(4) : 532-540, avril 1983.
[111] S. Mallat, " Multiresolution approximations and wavelets orthonormal bases of Transformer
", Math. Soc., 315 : 69-87, septembre 1989.
BIBLIOGRAPHIE
223
[112] Y. Meyer, " Ondelettes et opérateurs ", Tome 1. Hermann, Paris, 1990.
[113] J. W. Kouomou, " Ondelettes et applications en imagerie et en calcul de surfaces ", Thèse
préparée au sein du Laboratoire TIMC de l’IMAG, France, 04/11/1993
[114] M.Benabdellah, M.Gharbi, F.Regragui, E.H.Bouyakhf, " A method for choosing reference
images based on edges detection for video compression ", International Georgian Journal of Computer Sciences and Telecommunications. No.3(7), pp.33-39, 31 December 2005.
http ://gesj.internet- academy.org.ge/gesj− articles/1120.pdf
[115] M.Benabdellah, M.Gharbi, F.Regragui, N.Lamouri, E.H.Bouyakhf, " Adaptive compression of images based on wavelets ", International Georgian Journal of Computer
Sciences and Telecommunications. No.1(8), pp.32-41, 31 March 2006. http ://gesj.internetacademy.org.ge/gesj− articles/1172.pdf
[116] M.Benabdellah, M.Gharbi, F.Regragui, N.Lamouri, E.H.Bouyakhf, " Adaptive compression of cartographic images based on Haar’s wavelets ", International Moroccan Journal :
Physical and Chimical News, 31 November 2005.
[117] M.Benabdellah, M.Gharbi, F.Regragui, E.H.Bouyakhf, " Une méthode de choix des images
de référence pour la compression des images animées, basée sur la détection des contours",
Proceedings of The International Conference on Approximation Methods and Numerical
Modeling in Environnement and Natural Resources (MAMERN’05), Oujda, Morocco May
09-11, 2005.
[118] M.Benabdellah, M.Gharbi, F.Regragui, E.H.Bouyakhf, " Compression adaptative des
images biomédicales basée sur les ondelettes ", Proceedings des Premiéres Journées Internationales de Mathématiques et Informatique d’oujda (JIMIO’1), Oujda-Maroc, 27-28
mai 2005.
[119] M.Benabdellah, M.Gharbi, F.Regragui, E.H.Bouyakhf, " Adaptive compression based on
wavelets of cartographic images ", Proceedings de The IEEE International Computer Systems and Information Technology Conference (ICSIT’05), Algiers, July 19-21 2005.
[120] M.Benabdellah, M.Gharbi, F.Regragui, E.H.Bouyakhf, " Adaptive compression of air
images based on wavelets ", Proceedings de la Rencontre Franco-Marocaine d’Approximation et d’Optimisation, Applications aux Sciences de l’ingénieur (RFMAO’2005), 19-20-21
Septembre 2005, Rabat-Maroc.
[121] M.Benabdellah, M.Gharbi, N.Lamouri, F.Regragui, E.H.Bouyakhf, " A method for choosing reference images based on edge detection for video compression ", Proceedings de The
BIBLIOGRAPHIE
224
second IEEE-EURASIP International Symposium on Control, Communications, and Signal
Processing (ISCCSP 2006), 13-15 March 2006, Marrakech-Morocco.
[122] N.Lamouri, M.Benabdellah, M.Gharbi, F.Regragui, E.H.Bouyakhf, " Adaptive Still Image
Compression Using Semi-automatic Region of Interest Extraction ", Proceedings de The
second IEEE-EURASIP International Symposium on Control, Communications, and Signal
Processing (ISCCSP 2006), 13-15 March 2006, Marrakech-Morocco.
[123] M.Benabdellah, M.Gharbi, N.Lamouri, F.Regragui, E.H.Bouyakhf, " A method for choosing reference images in video compression", Proceedings de The fifth IEEE-EURASIP International Symposium on COMMUNICATION SYSTEMS, NETWORKS AND DIGITAL
SIGNAL PROCESSING, 19-21 July 2006, Electrical and Computer Engineering Department University of Patras, Patras, Greece.
[124] M.Benabdellah, M.Gharbi, F.Regragui, E.H.Bouyakhf, " Méthode hybride de cryptocompression des images, basée sur la transformation multi-échelle de Faber-Schauder et
l’algorithme AES ", Proceedings de la Journée d’étude de Recherche et Pédagogie, 16 juillet
2006, Faculté des sciences BenMsik, casa-Maroc
[125] M.Benabdellah, M.Gharbi, N.Zahid, F.Regragui, E.H.Bouyakhf, " Crypto-compression des
images médicales par la transformation Multi-échelle de Faber-Schauder et l’algorithme
AES ", Proceedings des 2ème journées d’études Algéro-Francaises en imagerie médicale,
(JETIM’06), 21-22 Novembre 2006, USTHB (Alger) et Corne d’or (Tipaza), Algérie.
[126] M.Benabdellah, M.Gharbi, N.Zahid, F.Regragui, E.H.Bouyakhf, " Crypto-compression des
images échographiques par la transformation de Faber-Schauder et l’algorithme DES ",
Proceedings du Colloque International sur l’Informatique et ses Applications, (IA’2006), 31
octobre 1 et 2 Novembre 2006, ENSAO, Oujda-Maroc.
[127] M.Benabdellah, M.Gharbi, N.Zahid, F.Regragui, E.H.Bouyakhf, " Crypto-compression des
images fixes par la FMT et l’AES ", Proceedings de 9th Magrebian Conference on Software
Engineering and Artificial Intelligence, (MCSEAI’06), 7-9 December 2006 Agadir-Morocco.
[128] A.Sinha and K.Singh, " A technique for image encryption using digital signature ", Optics
Communications, 218 : 229-234, 2003.
[129] C.C.Chang, M.S.Hwang and T-S Chen, " A new encryption algorithm for image cryptosystems ", Journal of Systems and Software, 58 : 83-91, 2001.
[130] G.Granland, M.Kocher and C.Horne, " Traitement numérique des images ", sous la direction de Murat Kunt, Press Polytechniques Universitaires Romande, Paris, CENT-ENST,
1993.
BIBLIOGRAPHIE
225
[131] H.Douzi, D.Mammass and F.Nouboud, " Amélioration de la Compression des Images par
la Transformation Multi-Echelle de Faber-Schauder ", Vision Interface ’99, Trois-Rivières,
Canada, May19-21, 1999.
[132] N.Ahmed, T.Natarjan and K.R.Rao, Discrete Cosine Transform, IEEE Trans. On Computers, Vol. C-23, pp. 90-93. January 1974.
[133] R.Norcen, M.Podesser, A.pommer, H.P.schmidt and A.Uhl, Confidential storage and transmission of medical image data, Computers in Biology and Medicine, 33 : 277-292, 2003.
[134] S.G.Mallat, Atheory for multiresolution signal decomposition :the wavelet representation,
IEEE Trans, on Pattern Analysis and Machine Intelligence, Vol 11, No 7, July 1989.
[135] S.G.Mallat and S.Zhong, Characterization of Signals from Multiscale Edges, IEEE Trans.
On Pattern Analysis and Machine Intelligence, Vol 14, No 7, July 1992.
[136] X.Marsault, Compression et Cryptage des Données Multimédias, Hermes, 1997.
[137] Y.Meyer, Ondelettes sur l’intervalle, Cahiers des mathématiques de la décision No 9020,
CEntre de REcherche de MAthématiques de la DEcision ( CERE-MADE), 1992.
[138] O. Frider, Cryptographie : Advanced Encryption System-AES, ETR6, Ecole d’ingénieurs
de Canoon de Vaud, tcom, Mai 2004.
[139] Alberdi Ion, Delaplac Mathieu, Gabes Jean, La sécurité du 802.11 (Wifi), Et son implication dans l’infrastructure des sociétés, 20 janvier 2005.
[140] Encyclopedie Universalis
[141] Encyclopedie Larousse
[142] Encyclopedie Hachette
[143] Le Quid
[144] La Cryptologie, éditions P.U.F. (III)
[145] Science et avenir
[146] Science et Vie Junior
[147] http ://www.encarta.fr
[148] http ://www.commentcamarche.com
[149] http ://cryptage.online.fr
[150] http ://michel.arboi.free.fr/cryptFAQ/index.html
BIBLIOGRAPHIE
226
[151] M.Benabdellah, N.Zahid, F.Regragui, E.H.Bouyakhf, " Encryption-Compression of Echographic images using FMT transform and DES algorithm ", INFOCOM International Journal, papier accepté en Mars 2007 et il sera publié prochainement.
[152] M.Benabdellah, F.Regragui, M.Gharbi, E.H.Bouyakhf, " Choice of reference images for
video compression ", Applied Mathematical science International Journal, papier accepté
en Mai 2007 et il sera publié prochainement.
[153] M.Benabdellah, F.Regragui, M.Gharbi, E.H.Bouyakhf, " Choix d’images de référence pour
la compression des séquences en téléconférence, basée sur la transformation multi-échelles de
Faber-Schauder ", Proceedings du Premier Congrès international sur Les technologies numériques de l’Information et de la Communication Educatives : Expériences et Perspectives,
2-4 Mai 2007, Marrakech, Maroc.
Année : 2006-2007
DOCTORAT
Numéro d'ordre : 2339
…………………………………………………………………………………………………...
TITRE DE LA THESE
OUTILS DE COMPRESSION ET DE CRYPTO-COMPRESSION :
APPLICATIONS AUX IMAGES FIXES ET VIDEO
…………………………………………………………………………………………………...
NOM ET PRENOM : BENABDELLAH Mohammed
DISCIPLINE : Sciences de l'ingénieur
SPECIALITE : Informatique, Télécommunications et Multimédia
RESUME :
Dans ce travail, nous proposons le test de plusieurs techniques de compression sur des images fixes et
animées et nous introduisons des méthodes de crypto-compression d’images.
Pour la compression des images fixes, généralement, l'utilisateur ne s'intéresse qu'à certaines zones d'une
même image. Ceci suggère que ces différentes zones peuvent être traitées par des approches différentes
réversibles ou irréversibles. Nous proposons une approche de compression adaptative à l'aide de méthodes
irréversibles. Après sélection des zones qualifiées d'intérêt, l'approche consiste à appliquer une compression
par ondelettes de Haar sur ces zones et une compression par la méthode classique JPEG avec pertes sur le
contexte de l'image. Le test de cette approche sur des images avec une ou plusieurs zones d'intérêts, a
révélé la supériorité de cette approche par rapport aux méthodes de compression classique en termes de
taux de compression. En plus, comparée au technique adaptive basée sur LZ77, notre approche s'avère
toujours plus efficace en termes de taux de compression pour une qualité visuelle comparable.
Pour la compression des images vidéo, nous proposons d'effectuer des tests sur la modification de la
séquence d'encodage des images d'une séquence vidéo, afin d'apporter un gain en termes de débit et de
PSNR moyen. Les expérimentations réalisées utilisent seulement les images intra et prédites extraites de
séquences sur lesquelles nous effectuons la détection de contours ou la Transformation Multi-échelles de
Faber-Schauder (FMT). Chacune de ces images est comparée aux autres en effectuant une soustraction des
contours correspondants. Le choix de la meilleure image de référence, pour chaque image intra ou prédite,
se base sur le critère de minimum de pixels dans le cas où les résultats après soustractions présentent
uniquement des points et le critère du distance minimale entre les lignes s'ils présentent des lignes
parallèles et éventuellement des points. Le test des deux approches proposées sur des séquences vidéo a
révélé une amélioration de débit et du PSNR moyen par rapport à l'encodage original et à la méthode de
choix des images de référence sur la base de l'erreur quadratique moyenne.
Enfin, pour la crypto-compression, le développement des applications liées à plusieurs domaines de
traitement d'images nécessite l'utilisation des technologies de l'information et des télécommunications qui
ont évolué très rapidement ces dernières années. La compression et le cryptage de données sont deux
techniques dont l'importance croit d'une manière exponentielle dans une myriade d'applications. L'usage
des réseaux informatiques, pour la transmission et le transfert des données, doit satisfaire à deux objectifs
qui sont la réduction du volume des informations pour désencombrer le maximum possible, les réseaux
publics de communications et la protection en vue de garantir un niveau de sécurité optimum. Pour cela
nous avons proposé deux nouvelles approches hybrides de crypto-compression, qui reposent sur un
cryptage à base de l'algorithme DES et l'algorithme AES des coefficients dominants, en représentation à
échelles mixtes, de la compression par la transformation multi-échelle de Faber-Schauder. La comparaison
de ces deux méthodes avec d'autres méthodes de crypto-compression a bien montré leurs bonnes
performances.
....................................................................................................................................................................
Mots clefs : Compression adaptative d’images, Zones d'Intérêt, Ondelettes, Compression Vidéo, MPEG, H26x,
Images de Référence, Transformation Multi-échelle de Faber-Schauder, Crypto-Compression, DES, AES.
...........................................................................................................................................................