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. ...........................................................................................................................................................