Chapitre 7 - fichiers images
Transcription
Chapitre 7 - fichiers images
7 FICHIERS-IMAGES DEFINITION Nous avons déjà donné une définition du fichier-image, c’est un fichier informatique, un enregistrement séquentiel de valeurs binaires, représentant les points élémentaires d’une image (les pixels). Les points peuvent être représentés en niveaux de gris (cas d’une image en noir & blanc), ou en couleur. Nous savons aussi (chapitre notions théoriques), que les niveaux de gris sont appelés “luminance” et les informations de couleur “chrominance”. Dans le cas d’un signal vidéo, la seule composante de luminance restitue l’image en noir & blanc. Actuellement, tous les systèmes de capture d’image se doivent de fournir une représentation la plus fidèle possible de la réalité, la couleur est donc indispensable. Les fichiers-images utilisent tous le système colorimétrique RVB. Chacune des trois composantes primaires est représentée par 256 gradations d’intensité, fournissant une palette de 16,7 millions de teintes différentes (256 x 256 x 256 = 2563 = 16,7 M). CONSTITUTION Pour faciliter leur manipulation, les images informatiques avec leurs pixels sont associées à un repère à deux dimensions. Les pixels sont repérés par un couple de coordonnées (x,y) et trois valeurs de couleur, Rouge, Vert et Bleu. Il faudrait donc 5 nombres pour définir un pixel, -52- comme le montre la figure 23 ci-dessous. Origine Pixel N°1 x Pixel N°640 Ecran X y Image (R,V,B) Couleurs primaires RVB fournies par le tube à rayons cathodiques du moniteur Y Pixel N°307200 Fig 23 - Image informatique Un tel système exige énormément de valeurs. Une image VGA (640 X 480 pixels) demenderait un total de 5 X 640 X 480 = 1.536.000 nombres. Un tel volume à conduit à adopter un premier système dans lequel la dimension des images est connu, et les couples (x,y) superflus, en copiant le principe mis en oeuvre en télévision, trame = succession de points dans une succession de lignes. Ainsi pour une image les points sont-ils rangés dans l’ordre suivant : 1er point = coin supérieur gauche, dernier point = coin inférieur droit. C’est leur numéro qui donne leur position. Une image VGA couleur, codée de cette façon ne demande plus que 640 X 480 X 3 = 921.000 nombres. Les valeurs sont rangées à la suite, et un pixel est ainsi repéré sachant qu’il occupe trois positions successives (R,V,B) dans la chaîne enregistrée constituant le fichier. Chaque valeur est codée en binaire, sur 8 bits (un octet). Pour faciliter l’écriture des nombres binaires (il faut écrire 8 symboles à chaque fois) les informaticiens préfèrent la numérotation hexadécimale (en base 16) où un octet est représenté par 2 symboles. Le tableau 7 de l’annexe B permet de passer d’un système à l’autre. Un fichier contenant la représentation mathématique d’une image VGA dans ce format affiche donc un volume de 921.000 octets ou pour utiliser une écriture plus pratique : 900 Ko. Un tel format existe toujours sous windows quand vous travaillez avec paintbrush. Les pixels sont rangés dans des fichiers reconnaissables à leur extension “BMP”. Ce type de représentation porte le nom de BitMap. Facile à gérer, ce système consomme énormément d’espace mémoire. Le logo de Windows 95 qui apparaît au démarrage de votre ordinateur est enregistré dans ce format (bien qu’il affiche l’extension sys). C’est aussi le type d’enregistrement adopté dans les appareils haut de gamme, pour lesquels la qualité l’emporte sur la place mémoire, car c’est structurellement le plus proche de l’image. Il faut cependant savoir que l’affichage d’un fichier-image est un peu plus compliqué que ce que montre la figure 30. La raison est essentiellement technique et provient de la structure de la carte vidéo, nous pouvons néanmoins nous satisfaire du fonctionnement simplifié vu ci-dessus pour le reste de l’explication. -53- Si 16,7 millions de couleurs vous paraissent trop importantes, ou si votre système ne peut gérer autant de couleurs, vous pouvez coder les couleurs avec seulement 16 gradations par primaire, ce qui donne 256 couleurs, valeur suffisante pour un affichage sur écran LCD par exemple. Le format “GIF” utilisé massivement sur INTERNET utilise ce mode de représentation. Avec 256 couleurs, il ne vous faut que 4 bits (24=16 ), donc 12bits (un octet et demi) par pixel . La taille du fichier est immédiatement divisé par un facteur 2 . Notre image VGA ne “pèserait” plus que 450 Ko. L’ordinateur sur lequel vous travaillez, pour restituer correctement l’image, doit cependant savoir quel type d’espace colorimétrique (16,7 M ou 256) il faut employer, les dimensions de l’image, son nom, la date à laquelle il a été crée etc.. Ces informations annexes indispensables doivent être rajoutées aux données propres de l’image. En général, elles sont regroupées au début du fichier, dans une zone appelée “en-tête” (Header). Le nom du fichier, son type, sa date d’enregistrement, sa longueur (en octets), sont par contre gérés par le système d’exploitation de l’ordinateur (MS-DOS, Windows, UNIX, MAC-OS etc...) et sont physiquement distincts du fichier lui-même. Un fichier-image est par conséquent constitué d’un en-tête contenant des informations utiles à son affichage et d’une succession de données représentant les éléments de l’image (les pixels), et il est identifié par le système d’exploitation par son nom, son type, le nombre de données qu’il contient etc... Les informations relatives au fichier (nom, type, date etc...) sont celles qui apparaîssent à l’écran après la commande DOS “dir”, ou dans la fenêtre de l’explorateur windows. Le contenu même du fichier ne peut être visualisé que par un logiciel spécialisé comme par exemple “PC Tools”. Le tableau 8 de l’annexe B montre le début du contenu d’un fichier image avec ses codes hexadécimaux. (Ne le perdez pas, nous y reviendrons bientôt). Avec le système MS-DOS, le nom peut avoir 8 caractères de long et le type est repéré par une extension de 3 lettres séparée du nom par un point. Ce système codé : “DOS 8.3” est aussi celui utilisé par les cartes CompactFlash. Maintenant que nous savons ce qu’est un fichier, il faut nous pencher sur un problème beaucoup plus crucial : la longueur de ce dernier. Le volume considérable que représente les informations picturales, le temps de traitement qu’elles necessitent et le prix des composants mémoire qui en limite l’extension ont obligé les informaticiens à trouver d’autres formes de stockage que le très rustique BMP . Le défi n’est rien de moins que d’arriver à représenter correctement une image avec un volume d’information pouvant être réduit à au moins 1/20ème de celui d’origine (Les spécialistes disent 1:20) . Ce taux de diminution est appelé taux de compression, et les recherches actuelles dans ce domaine font état d’un taux de 1:250 ! LA COMPRESSION de DONNEES Ce terme englobe toutes les astuces, les méthodes et les techniques mises en oeuvre pour arriver à représenter les mêmes informations avec moins de données numériques et par la même, produire une diminution de la longueur du fichier. -54- Le principe de base est toujours le même : diminuer par un moyen ou un autre, la longueur des codes binaires représentant les informations. Il faut savoir que le système de codage le plus ancien et celui universellement utilisé pour le codage est le code ASCII (American Standard Code for Information Interchange) ou code standard américain pour l’échange d’informations. Dans ce code, les symboles (essentiellement des lettres, des chiffres, des signes de ponctuation et quelques autres ) sont tous représentés par un nombre binaire de longueur fixe, l’octet.(revoir les notions théoriques, § informatique) Un octet pouvant prendre 256 valeurs différentes, le code ASCII peut donc visualiser 256 symboles d’une langue donnée. Ce système n’est pas du tout adapté au codage des images. Il a pourtant fait l’objet de recherches poussées sur la compression quand son apparus les besoins de transmission à distance de documents textuels. Le temps de transmission d’un fichier, et tout ce que celà implique en termes de rentabilité, est lié à sa longueur, et donc à la dimension de son code de représentation. Les premiers axes de recherche ont portés naturellement sur des solutions de remplacement du code ASCII, capables de représenter un texte de façon plus consise, sans en altérer l’intégrité. Ces méthodes sont basées sur des codes de longueur variables, dans lesquels les lettres apparaissant le plus souvent dans une langue, sont représentées avec des codes courts (cas de la lettre “e” en français), et celles étant le moins utilisées (le “w” en français) avec des codes plus longs. Etendue à des signes quelconques avec un inventaire statistique de leur apparition dans le corps d’un fichier donné, ce genre de méthodes est appelé “statistiques” ou “entropiques”. Une des plus connues porte le nom de codage de HUFFMANN. Il existe aussi une méthode basée sur des répétitions dans un fichier des mêmes symboles, avec un système de notation du nombre de répétitions et du signe répété. Le système le plus efficace de compression de ce type est le RLE (Run Lenght Encoding) ou codage de longueur de séquence.Dans le cas d’une image, les zones de même couleur comme un grand ciel bleu uniforme, vont donner une suite de pixels de même teinte, donc des codes binaires identiques. Si il y a 200 pixels bleus, on n’enregistrera pas 600 valeurs mais un couple constitué de 3 valeurs RVB et d’un nombre indiquant le nombre de fois qu’il faut répéter la séquence (200 dans notre cas). Le gain est flagrant : la portion de ciel ne prend plus 600 octets mais seulement 4 (200, R, V, B). Le taux de compression ponctuel est de 1:150 ! Un troisième axe porte sur l’utilisation d’un dictionnaire dynamique, dans lequel les symboles répétitifs rencontrés plusieurs fois sont ajoutés au dictionnaire de base (le code ASCII) . On ajoute effectivement de nouveaux codes , mais dans le cas de nombreuses séquences, ce n’est plus le code qu’on envoie, mais sa position dans le dictionnaire. Sur des fichiers contenant des motifs répétitifs, le gain peut s’avérer très important. Ce système a été inventé par trois chercheurs qui lui ont donné son nom : le codage LZW , ou LEMPEL-ZIV-WELCH . Mis à profit dans un logiciel très connu, -55- utilisé pour comprimer toutes sortes de fichiers : PKZIP, c’est aussi le mode de compression adopté dans le format “GIF” de Compuserve (non utilisé en photo numérique). Il existe encore de nombreuses autres méthodes comme le codage arithmétique, la méthode de Fano-Shanon, celle de Teuhola-Raita, celle du codage adaptatif des fréquences... Ce qu’il est important de retenir, c’est que ces méthodes, ou une de leurs variantes seront utilisées pour comprimer les images dans les appareils photo numériques. Mais toutes ces méthodes font partie de la famille des systèmes de compression conservative. Les fichiers , après la phase de décompression qu’ils ont subie, restent parfaitement identiques aux originaux, ils ne subissent aucune altération. La compression des images pour être vraiment efficace et offrir des taux élevés, utilise par contre d’autres procédés d’analyse qui font que l’image compressée n’est plus identique à l’originale. Elle va subir une altération qualitative qui reste cependant acceptable et imperceptible à l’oeil pour peu que l’on n’exige pas des taux de compression radicaux. Ces systèmes qui altèrent la qualité de l’image et par conséquent le contenu du fichier sont appelés par opposition, des systèmes de compression non-conservative. LES TYPES DE FICHIERS GRAPHIQUES Les photos numériques et leur fichiers-images associés, entrent dans la catégorie plus vaste et plus ancienne des fichiers graphiques, par opposition aux fichiers textes, systèmes ou exécutables. Sous MS-DOS, la distinction s’opère par l’extension, suffixe de trois lettres. Ainsi, un texte sera identifié par l’extension “TXT”, un programme par “COM” ou “EXE”, les drivers par “SYS” etc... Dans le domaine graphique, les formats sont pléthoriques. De l’antique “BMP” au “PCX” en passant par les “TIF”, “WMF”, “PIC” ,”GIF” ou autres “JPG” , il y a l’embarras du choix. D’évolutions technologiques en besoins qualitatifs, le monde des formats ne cesse de se développer. Dans tous les cas, les logiciels de retouche d’image permettent de travailler sur un grand nombre de formats différents, et autorisent même la traduction d’un format à un autre. Pour la photo numérique heureusement, seuls queques uns sont utilisés indépendament des formats spécifiques à certaines marques, dits “propriétaires”. On recense trois formats principaux : BMP, TIFF et JPEG. Ces formats sont ceux des fichiers fournis par l’appareil et stockés après transmission sur le disque et provenant de la mémoire FLASH interne. Leur représentation informatique avec triplets RVB ne correspond pas au type d’informations assuré par le capteur d’image de l’appareil. Le capteur contient un certain nombre de photosites quasiment équivalent au nombre de pixels de l’image. Si chaque photosite de donne qu’une valeur, le nombre total d’informations ne peut donc pas correspondre au nombre de triplets RVB du fichier. -56- Ceci provient du système de traitement des couleurs propre au capteur qui fait que les photosites sont masqués par un système de filtres colorés et associés 2 par 2 de façon logicielle dans l’appareil pour reconstituer les informations colorimétriques de chaque pixel. Le chapitre relatif aux capteurs d’image étudie tout ceci en détail. Le format BMP Ce format toujours en vigueur sous windows, n’est pas très efficace en termes de volume de stockage. Il est utilisé néanmoins sur les appareils professionnels où le stockage s’effectue sur un ordinateur ou un système annexe et pour lesquels la qualité est le facteur prépondérant. Les données sont codées sous forme de valeurs R,V,B, sur 8 ou 10 bits, enregistrées à la suite sans aucune compression. C’est la raison pour laquelle les professionnels utilisent plus souvent la notion de poids du fichier que celle de dimensions de l’image. Techniquement, le fichier est constitué d’un en-tête contenant les dimensions, le type d’espace colorimétrique et le nombre de bits par primaire. En photo numérique grand public, ce format n’est jamais implémenté tel quel, mais parfois une variante est utilisée restant néanmoins complètement associée au constructeur. Le format TIFF Originellement développé conjointement par les sociétés ALDUS et MICROSOFT, il a pour objectif de fournir un format universel facilement transportable sur des PC ou des Macintosh. TIFF est l’acronyme de Tagged Image File Format (format de fichierimage avec marqueurs). Standard très souple, il en existe de nombreuses variantes destinées à gérer les images noir & blanc, à niveaux de gris, couleurs 24 bits, avec ou sans compression. L’utilisation dans l’en-tête du fichier de marqueurs de longueurs fixes (les tags), autorise une très grande souplesse, une grande richesse fonctionnelle et une portabilité maximum. Il est reconnu par toutes les applications graphiques ou de PAO. Les données peuvent être brutes et donc non compressées, ou compressées selon la méthode LZW. C’est le format retenu par VIVITAR pour l’exportation de ces fichiers-images sur le Vivicam 3000. Cet appareil utilisant un procédé de compression non standardisé (les ondelettes), le format TIFF a donc été retenu pour sa portabilité car l’extension “SVI” n’est reconnue par aucun logiciel du commerce. L’examen du tableau 8 de l’annexe B (le début d’un fichier d’une photo prise avec un vivicam 3000) montre le début d’un fichier TIFF. Dès le premier coup d’oeil à la fin de l’extrait, on apperçoit le nom “SoundVision - SoundVisionMini” qui rappelle ainsi que le vivicam 3000 est en fait manufacturé par la société SOUNDVISION et se trouve être le clone du modèle SoundVisionMini de cette dernière. Tous les fichiers TIFF commencent par les deux octets “h49” “h49” (le petit “h” indique la notation hexadécimale) ou “4D” “4D” qui sont les codes ASCII des caractères alphabétiques respectivement “I” ou “M”. Le I indique INTEL et le M MOTOROLA, les deux principaux fournisseurs de micro-processeurs respectivement pour les IBM-PC et les MACINTOSH. -57- Cette distinction est importante pour l’ordre dans lequel sont rangées les octets représentant des valeurs numériques. Pour les micro-processeurs Motorola, l’ordre est normal, à savoir valeur la plus significative à gauche. Pour les micro-processeurs Intel par contre, cet ordre est inversé, ce qui implique une petite gymnastique pour la conversion. Le troisième octet “2A” = 42 en décimal représente le numéro de version du standard TIFF : 42 dans notre cas. Les 4 octets suivants après remise en ordre (le h49 indique que nous sommes chez Intel) donnent h0008= 8, qui est la longueur de l’en-tête. Nous trouvons donc 8 octets plus loin la valeur h15=21 qui est le nombre de “tags” du fichier. Ces tags ont une longueur fixe de 12 octets et sont identifiés par un numéro normalisé qui fait toute la richesse du système. La figure 24 montre la structure d’un fichier TIFF. Version N°42 Nbre de marqueurs (21) Marqueur (Tag) 12 octets INTEL 49 49 2A 00 08 00 00 00 15 00 FE 00 04 00 01 00 00 00 00 00 00 00 00 01 04 00 ... Octet (hexadécimal) Début du fichier Fin du fichier N° du marqueur (254 ici) Type de donnée du marqueur (entier long ici) Longueur de l’en-tête Fig.24 - Structure d’un fichier TIFF (Vivicam 3000) Ces marques sont rangées par ordre croissant de numéro ; Ainsi, le premier mar queur que nous rencontrons est-il le N° h00FE= 254, qui est l’identifiant “NewSubFileType”. Sa valeur est “long”, c’est-à-dire codée sur 4 octets et représente au niveau binaire des indicateurs d’état (Flags). Nous connaissont son type de données en regardant le 3ème octet du marqueur : les valeurs peuvent être : 1 : octet 2 : offset (ce n’est pas une valeur, mais un déplacement) 3 : entier (2 octets) 4 : entier long (4 octets) 5 : rationnel (fraction de deux entiers dans l’ordre numérateur/diviseur) Nous trouvons ici 4, donc un entier long . Comme il reste 8 octets, nous prenons les 4 premiers (poids le moins significatif) et donc h0001= 1. Ce 1 indique que le fichier ne contient qu’une image normale et pas une version réduite. En continuant de la sorte, on recense les 21 marqueurs utilisés par SoundVision. Certains sont propres à cette société mais d’autres sont standards et indispensables à un décodeur qui voudrait afficher l’image. Ces marqueurs sont : N°2 h100 ImageWidth (largeur de l’image en PIXELS) N°3 h101 ImageLenght (hauteur de l’image en PIXELS) N°4 h103 Compression (type de compression mise en oeuvre) N°5 h106 PhotométricInterpretation (type de données N&B, RVB ...) -58- N°6 h111 N°7 h115 N°8 h116 N°9 h117 N°10 h11A N°11 h11B N°12 h128 N°13 h131 N°14 h132 StripOffset (déplacement de l’origine à la première bande d’image). SamplesPerPixel (nombre d’échantillons par pixel ) RowsPerStrip (nombre de lignes par bandes) StripBytesCount (nombre d’octets par bande) XResolution (nombre de pixels horizontaux par unité de lon gueur. YResolution (nombre de pixels verticaux par unité de lon gueur) ResolutionUnit (unité de mesure, Cm ou inches) Software (nom du logiciel créateur du fichier) DateTime (date et heure de la prise de vue) Les 7 derniers marqueurs ne sont pas documentés. Les calculs necessaires à l’obtention des informations sus-citées s’ils ne sont pas vraiment compliqués, sont fastidieux pour qui n’est pas équipé d’une calculatrice héxadécimale.Aussi nous donnons-vous ces informations “en clair”. largeur : 960 pixels Hauteur : 800 pixels Pas de compression couleurs RVB début des données images : 16384 octets après le début du fichier. 3 octets par pixel 800 lignes par bande 2.304.000 octets par bande unité de mesure : pouce Nbre de pixels horizontaux : 306 par pouce Nbre de pixels verticaux : 314 par pouce Créateur : SoundVision Date et heure : 2 mai 98 à 17H10’15” Le fichier affiche un embonpoint conséquent : 2.266 Ko (2,21 Mo)! inutile donc d’essayer de l’enregistrer sur une modeste disquette. Si vous devez l’envoyer par e-Mail, et que vous avez la malchance de tomber à un moment où la transmission n’est que de 600 octets/secondes, votre correspondant attendra près d’une heure et votre note de téléphone en subira le contre-coup. C’est le prix à payer en échange d’un format facilement transposable et exploitable. La solution n’étant pas satisfaisante, un groupe de personnes ayant de gros intérêts (surtout financiers) dans les systèmes de transmission et d’affichage des images informatiques a longuement réfléchi à un autre système plus efficace et pouvant devenir un standard en la matière. Ce groupe de travail, par ses efforts coordonnés a produit un nouveau procédé de représentation des images avec un concept entièrement nouveau, le standard “JPEG” . Le standard JPEG Le nom est l’acronyme de Joint Photographic Experts Group, un regroupement d’organismes de normalisation dont font partie l’ ISO , le CIE et le CCITT. -59- Les premiers travaux remontent à l’année 1986 où le cahier des charge fut établi : produire un procédé de compression des images photographiques numérisées, indépendant de la résolution ou des dimensions, pouvant être facilement implanté dans des composants électroniques “câblés”, assurant une exellente qualité d’affichage, un volume pouvant descendre au 1/20ème du même fichier en “bitmap” tout en étant facilement exploitable sur des machines peu puissantes. Les premiers résultats furent atteint en mars 1987, avec le choix des différentes solutions techniques et les premières lignes directrices. Trois ans après, un rapport intitulé “compression et codage numériques des images fixes à tons continus” enregistré depuissous le N° ISO 10918-1 constitue désormais la norme du standard JPEG. La norme décrit un format de fichier, le “JFIF” (Jpeg File Interchange Format), qui établit les règles de structuration d’un fichier-image selon les considérations du JPEG. Comme pour le TIFF, on retrouve un en-tête, des marqueurs spécifiques et les données afférentes aux pixels. Le format est assez souple et autorise des implémentations libres pour les différents producteurs. Si jusqu’à maintenant les types de compression étudiés étaient conservatifs, la norme JPEG introduit une compression non-conservative des images, qui entraîne une perte des informations relatives aux pixels, et donc une diminution de la qualité picturale. Tout l’art mis en oeuvre dans le procédé réside dans un savant compromis entre volume informatif et qualité relative. Le principe de base est la perception finale d’une image par un observateur humain.Une analyse poussée des mécanismes de la vision a permis de mettre en évidence certaines caractéristiques propres à l’idée de “qualité” que l’on peut ressentir à l’observation . Les plus familières portent le nom “d’illusions d’optique”. La figure 25 ci-dessous en montre quelques-unes. Parmis les plus connues et celles mis en oeuvre par le JPEG, ont peut citer : - Les effets de bord - L’acuité visuelle - Le contraste relatif - Le mélange des couleurs etc... Fig.25 - Les illusions d’optique -60- Une autre caractéristique, plus technique celle-là, a conduit à un autre type de représentation des informations picturales, non plus sous forme spatiale, comme le montre la figure 30, mais sous forme fréquentielle. Dans une image, les pixels sont repérés par leur position verticale et horizontale (x,y), auquelle est associée les trois valeurs colorimétriques RVB. Le défaut du système est que le nombre de pixels, et donc de valeurs, ne peut être diminué sous peine de voir l’image perdre sa structure dimensionnelle. Le standard JPEG spécifie un passage à des coefficients de fréquence, c’est-à-dire que les valeurs sont représentées par leur présence ou leur absence dans un domaine prédéfini, le spectre. Ce concept est le plus productif mais aussi plus difficile à apréhender. Des ouvrages entiers lui sont dédiés, aussi est-ce une gageure que de vouloir le résumer à quelques lignes. La figure 26 illustre la différence entre les deux modes de représentations. L’outil mathématique mis en oeuvre par le JPEG et qui permet le passage d’un domaine spatial (largeur, hauteur, intensité représentés par les valeurs x,y et octet de couleur) à un domaine de fréquence (u,v) s’appelle la transformation en cosinus discrète. En anglais : DCT (Discrete Cosine Transform) Amplitude f F f 2F 4F F 2F 4F f f a) b) Fig.26 - représentations temporelle (a) et spectrale (b)Les formules mathématiques sont reportées au tableau 9 de l’annexe B. Les mathématiciens chevronnés auront certainement fait le rapprochement avec les transformées de Fourrier dont les fondements théoriques sont à la base de tout le procédé : l’idée est la même, tout signal périodique peut être décomposé en signaux de fréquences multiples (les harmoniques). Le signal d’origine peut donc être reconstruit par une somme de fréquences, dont le nombre de termes va determiner la fidélité de restitution. Pour faciliter les calculs, la transformation s’effectue sur une surface carrée de 8 pixels de côté. Les résultats sont rangés dans une matrice de dimensions identiques, mais cette fois, la position des valeurs n’est plus spatiale (8 pixels horizontaux et 8 pixels verticaux, soit une portion d’image de 64 pixels) mais agencée, grâce à la structure de la formule mathématique, selon un schéma qui va ranger les plus fortes valeurs au coin supérieur gauche de la matrice (indices (0,0)) et les plus faibles au coin inférieur droit (indice (7,7). Ces nouvelles valeurs sont ensuite pondérées par des coefficients judicieusement -61- choisis pour annuler certains éléments de la matrice. C’est le choix de ces coefficients qui va determiner le niveau de dégradation de l’image, en éliminant certaines composantes, car il se trouve justement que les valeurs ainsi supprimées correspondent à des fréquences élevées, donc difficilement perceptibles par l’oeil (revoir le chapitre notions théoriques, paragraphe relatif au seuil de perception). Les valeurs numériques plus élevées correspondent aux très faibles fréquences, celles que nous sommes capable de percevoir. Une autre faiblesse exploitée est celle qui fait que l’oeil est beaucoup moins sensible aux variations de teintes (la chrominance) qu’à celles de luminosité. Ceci est mis à profit dans la norme en transformant l’espace colorimétrique RVB en un nouvel espace YCrCb (c’est le CCIR 601) par les formules suivantes : Y= 0,299R + 0,587V + 0,114B Cb= 0,169R - 0,331V + 0,5B Cr= 0,5R - 0,419V - 0,081B en prenant pour les composantes de chrominance la moyenne de deux valeurs adjacentes mais en gardant intacte la composante de luminance. Les valeurs obtenues sont toujours dans l’intervalle (0,255) pour chaque composante, ceci a fait croire, à tort, à certains que le JPEG diminuait l’espace colorimétrique et le ramenait à 256 couleurs comme un vulgaire GIF.L’image est toujours codée sur 16,7 Millions de couleurs ! Cette simple opération (déjà mise à profit pour le standard PAL en télévision, où deux lignes adjacentes sont supposées avoir les mêmes couleurs) implique une réduction de 1/3 du volume global d’informations (chaque composante Y,Cb et Cr occupe 1/3 du volume total, si on prend la moitié de Cb et la moitié de Cr, on arrive bien à 1/3 + 1/6 + 1/6 = 2/3 du total). Ainsi, la DCT intervient 3 fois sur des “pavés” d’image de 8 X 8 pixels, une fois pour la luminance, et une fois pour chaque composante Cb et Cr. Après ces différentes opérations qui réduisent déjà considérablement le flot de données, on applique enfin le procédé de compression conservatif de Huffman qui à partir de sa table de codage dynamique va réduire la longueur des codes individuels. La méthode de Huffman peut aussi être complétée par une compression RLE pour les nombreux zéros que comportent les matrices. Les données sont finalement stockées dans un fichier auquel on ajoute un en-tête contenant différentes informations, pour produire un fichier-image au format “JFIF”.Ce fichier portera l’extension “JPG” sous DOS/Windows. On peut donc résumer ainsi l’algorithme de réalisation d’un fichier “JFIF”, selon les directives de la norme ISO 10918-1 : 1) Transcodage de l’espace RVB à celui YCbCr 2) Sous-échantillonage en blocs de 8 pixels carrés, avec 1 bloc pour Y et 1/2 bloc pour Cb et 1/2 bloc pour Cr (on voit parfois l’écriture 2:1:1). 3) Codage par fonction en cosinus discrète 4) Pondération des résultats par calcul matriciel avec une “table de quantisation” -62- 5) Compression des données par la méthode de Huffman (ou arithmétique) 6) Constitution du fichier par ajout d’un en-tête aux valeurs enregistrées. L’avantage des tables de quantisation, est que l’on peut choisir le facteur de qualité, (noté Q), ou si vous préférez le taux de compression. Sur un appareil photo numérique, le facteur de qualité est en général accessible en trois niveaux comme par exemple sur les KODAK DC-200/210 avec “supérieure”, “améliorée” et “bonne” pour des taux moyens de compression respectifs de 1:8, 1:11, 1:20. Voici ci-dessous un petit tableau comparatif pour un codeur JPEG standard : Fichier original TIFF non compressé 2.918 Ko Fichier JPEG Q=95 409 Ko Taux 1:7 Fichier JPEG Q=75 (défaut) 176 Ko Taux 1:16 Fichier JPEG Q=50 118 Ko Taux 1:25 Fichier JPEG Q=30 87,7 Ko Taux 1:33 Le taux peut aussi être fixé par logiciel, à partir de l’ordinateur, comme sur le VIVICAM 3000, ou être fixe et non accessible comme sur le PC-500. Dans ce dernier cas, et si le poids du fichier vous semble quand même trop important, vous avez toujours le recours de passer par un logiciel de retouche d’image et de sauvegarder le fichier préalablement ouvert sous un format “JPG” avec la possibilité de modifier le facteur de qualité. Dans “PhotoImpact”, le bouton “option” vous permet de choisir un facteur de qualité allant de 1 à 100. En règle générale, sans indication contraire, le facteur de qualité standard est de 75% (Q=75). Pour rester dans des considérations pratiques, nous allons maintenant analyser un fichier-image au format “JPG” (voir figure 27 ci-dessous) en provenance d’un CASIO QV-300. L’image est au format VGA et le fichier pèse 59 Ko. Il nous faut auparavant étudier la structure d’un en-tête de fichier JPEG et “décortiquer” les différents marqueurs. Nom du champ SOI (Start Of Image Marker) App0 Longueur Identificateur Version Unités Longueur 2 octets Valeur hFFD8 2 octets 2 octets 5 octets 2 octets 1 octet Densité-X Densité-Y Vignette-X Vignette-Y App0 (optionnel) Longueur Identificateur Code d’extension 2 octets 2 octets 1 octet 1 octet 2 octets 2 octets 5 octets 1 octet hFFE0 variable (ces 2 octets sont comptés ) h4A46494600 (“JFIF”) h0102 (version 1.02) h00=pas d’unités h01=points par pouce h02=points par Cm variable variable variable variable hFFE0 variable h4A46585800 (“JFXX”) h10=vignette codée en JPEG h11=vignette en 1octet par pixel h12=vignette en 3 octets par pixel -63- SOI 2 octets hFFD8 DQT 2 octets hFFDB (marqueur de table de valeurs de quantisation ) EOI (End Of Image 2 octets hFFD9 Marker) Il existe aussi d’autres marqueurs (voir tableau 10 annexe B ) dont la position est relative : DHT (define Huffman Table segment marker) de valeur hFFC4 EOI (End Of Image Marker ) de valeur hFFD9 La version actuelle est la 1.02, mais beaucoup de fichiers sont encore en 1.01. valeurs de la table Densité X (300 Dpi) SOI Longueur (16 ici) Version (1.01) Vignette X x Y (aucune) FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 01 2C 01 2C 00 00 FF DB 00 84 00 08 04 .... App0 “JFIF” (code ASCII) 1er octet du fichier Densité Y (300 Dpi) Unités (pouces) Longueur de la table (132) Marqueur de début de table de quantisation Fig.27 - Fichier JPG CASIO QV-300Après les 132 octets de la table de quantisation, se trouve un nouveau marqueur SOF0 “Start Of Frame N°0” (hFFC0) de longueur h11 (17 octets). Ce marqueur contient les données suivantes : Nom du champ SOF0 longueur précision Hauteur d’image Largeur d’image Nombre de composants Composant N°1(Y) Echantillonage N° de table de Quant. Composant N°2 (Cb) Echantillonage N° de table de Quant. Composant N°3 (Cr) Echantillonage N° de table de Quant. Longueur 2 octets 2 octets 1 octet 2 octets 2 octets 1 octet 1 octet 1 octet 1 octet 1 octet 1 octet 1 octet 1 octet 1 octet 1 octet Contenu hFFC0 h11=17 octets h08=8 bits) h01E0=480 pixels) h0280=640 pixels) h03= 3 composants : Y, Cb, Cr h01=1er comp. h22= 2 : 2 h00= 1ère table h02=2ème comp. h11= 1 : 1 h01= 2ème table h03=3ème comp. h11= 1 : 1 h01= 2ème table On trouve ensuite le marqueur de début de tables de Huffman (hFFC4) de longueur 418 octets, puis un marqueur SOS “Start Of Scan” (hFFDA) qui précède toutes les données compressées de l’image, pour arriver enfin au marqueur de fin d’image EOI “End Of Image marker” (hFFD9) à la fin du fichier. -64- Ce fichier est tout à fait représentatif d’un fichier JFIF “basique”, il contient le minimum vital pour être exploitable par n’importe quel décodeur JPEG. Il existe depuis la version 1.02, une extension de l’en-tête avec un marqueur supplémentaire qui autorise l’ajout de données non necessaires à la restitution de l’image. Cette possibilité est mise à profit sur le PC-500 d’EPSON dont nous vous proposons brièvement l’analyse. Le début du fichier (basse résolution, 240 X 320) est donné ci-dessous : FF D8 FF E0 00 10 4A 46 49 46 00 01 02 01 00 90 00 90 00 00 FF E0 08 7F 4A 46 58 58 00 10 FF D8 FF DB 00 43 ..... Le début est identique au précédent avec les valeurs suivantes : version 1.02, résolution 144 Dpi. Juste après nous retrouvons un marqueur App0 d’extension, reconnaissable à l’identificateur “JFXX” (en ASCII). Ce marqueur affiche la structure suivante: Nom Appo Longueur Identificateur Code d’extension Longueur 2 octets 2 octets 5 octets 1 octet Valeur hFFE0 h087F (2175 octets) h4A46585800 (ASCII=“JFXX”) h10 = vignette codée JPEG (cas ici) h11 = vignette codée 1octet/pixel h12 = vignette codée 3 octets/pixel Epson utilise ce marqueur pour ajouter des informations techniques aux images et y adjoindre une vignette (Thumbnail) de 60 X 80 pixels. C’est cette image réduite qui s’affiche sous forme de “planche contact” dans le logiciel “EPSON Photo!” quand l’appareil est relié à l’ordinateur. Les données concernant la vignette suivent immédiatement le marqueur SOI (hFFD8), et comme étant codées en JPEG, necessitent toutes les informations indispensables à leur affichage, raison pour laquelle nous retrouvons des tables de quantisation et des tables de Huffman (marqueurs hFFDB et hFFC4) . La vignette fait partie intégrante du marqueur App0, ce qui fait que celui-ci affiche une longueur de 2175 octets. Le début de l’image (marqueur SOF0 = hFFC0) suit 170 octets plus loin et apporte les informations suivantes : Dimensions de la vignette 60 x 80 (h003c X h0050) 3 composantes, avec Y echantilloné en 2 : 1 ( la dimension horizontale est gardée intacte, seule est échantillonée par un facteur 2 la dimension verticale). Les autres données sont identiques à celles de l’image entière. Après les données de la vignette, terminées 2175 octets plus loin par un marqueur EOI, suivent les informations relatives aux photos et apparaissant “en clair”. Parmi ces informations, dont certaines gardent leur caractère ésotériques, on voit quand même que les appareils d’EPSON sont fabriqués en OEM par SANYO et on peut en trouver d’autres comme par exemple : La date, la vitesse d’obturation, l’utilisation du flash (0=non, 1=oui), la résolution -65- (1=basse, 2=haute),la protection ( 0=non, 1=oui), le type d’appareil ( SR22), le N° de série (bizzare ici), la version du logiciel interne : le “firmware” (V22-75 ici), le nombre de photos prises par l’appareil depuis sa sortie d’usine (intéressant en cas d’achat d’occasion) , le facteur de qualité en %, certains paramètres ésotériques liés à l’espace colorimétrique (la correction GAMMA entre autres), le poids de l’image, le poids de la vignette etc ... jusqu’au marqueur hFFDB, qui avec les tables, indique le début des données de l’image. Les noms de fichiers sont au format windows 95, c’est-à-dire pouvant aller jusqu’à 256 caractères. Le constructeur exploite cette particularité en utilisant une identification univoque comprenant la date complète (en clair) et un numéro incrémental pour chaque vue. Si l’on est sous DOS, le nom est tronqué, et le numéro est ajouté après un “tilde”. Le modèle PC-600 quant à lui produit des fichiers semblables mais pas similaires. Les informations sont naturellement différentes en raison des possibilités photographiques avancées de l’appareil de même que le format d’image. La signature du constructeur indique cependant “SEIKO EPSON”, ce qui tendrait à montrer un changement de partenaire, ou du moins une discrètion plus “contractuelle” d’un éventuel OEM. Une personne intéréssée par l’écriture d’un logiciel donnant un apperçu de l’image sous forme de vignette, ainsi que tous les paramètres de prise de vue, possède désormais la matière d’oeuvre necessaire. De tels logiciels (“extractors” en Anglais ) existent dèjà pour certains appareils en version “shareware”. Les formats de fichier que nous venons de survoler, adhérant tous au standard “JFIF”, sont très appropriés pour le stockage brut des données. L’extension apportée par les marqueurs supplémentaire peut s’avérer insuffisante dans certains cas, surtout pour toutes les applications liées à la photographie numérique. Ces limitations et le cheminement vers un nouveau standard JPEG 2000 ont conduit certains constructeurs à modifier les caractéristiques de base du “JFIF” , favorisant ainsi l’apparition de formats alternatifs. Le format FlashPix Apparu officielement en juin 1996 sous l’impulsion conjuguée de 4 grands constructeurs : Kodak, Microsoft, Hewlett-Packard et Live Picture, ce nouveau format veut s’imposer comme standard de représentation graphique. Le concept principal, basé plus sur les besoins de représentation de l’image que sur son stockage, part du constat que le standard JFIF est exellent pour compacter une image, mais se trouve être médiocre pour l’exploitation. Le standard utilise ainsi plusieurs représentations de l’image, avec des résolutions différentes. A l’opposé du JFIF qui stocke l’image avec une seule résolution, toujours la plus élevée possible, FlashPix offre une résolution “à géométrie variable”, qui assure une parfaite adéquation avec le média d’affichage. L’affichage sur écran qui demande 72 Dpi ou l’impression jet d’encre de haute qualité à 300 Dpi en passant par une impression offset à 90 Lpi, ne demandent pas la même qualité d’image. L’objectif du format est donc de fournir une image adaptée au besoin final, en ne -66- demandant qu’un minimum de temps de calcul, un minimum de ressources système et bien sûr, un espace de stockage réduit. Ceci s’obtient au détriment d’un fichier original plus lourd sur le disque, mais paradoxallement moins encombrant en mémoire vive , jusqu’à 80% de moins qu’en TIFF. Un fichier-image au format FlashPix est environ 1/3 de fois plus volumineux que son homologue en TIFF (non compressés tous deux ). Cette “surcharge pondérale” est dûe à la redondance des images et à la présence de champs d’enregistrement informatifs tels les paramètres photographiques de la prise de vue, les caractéristiques de l’appareil ou encore la description textuelle des photos. La clé de voûte réside dans l’utilisation d’un stockage hiérarchique des images, avec pour unité, un pavé carré de 64 pixels de côté et une progression de raison 2. On obtient ainsi une 1ère image de 64 pixels de côté, puis une 2ème de 128 pixels de côté, puis une 3ème de 256 pixels, et ainsi de suite jusqu’à la résolution maximum. La figure 28 ci-dessous illustre cette architecture. Chaque pavé élémentaire peut être compressé en JPEG, non-compressé ou compressé en monochrome (si il contient 4096 pixels de même couleurs = 1 seul octet !). Image stockée Image originale stockée à résolution croissante pavé minimum 64 X 64 pixels Données de visualisation à la résolution minimum pour l’application demandée Données de visualisation Données annexes EN-TETE Données annexes Fichier Flashpix applicatif (objet) EN-TETE Fichier Flashpix original (source) Fig.28 - Structure d’un fichier FlashPix Pour respecter le rapport largeur/hauteur, un système de coordonnées spécial est utilisé pour repérer les éléments d’image à travers les différentes résolutions, dans lequel l’unité est prise comme étant l’image la plus grande. Le passage d’une représentation à une autre s’effectue grâce au changement de coordonnées, et l’affichage des images par un système de gestion de paramètres de visualisation qui opère par calcul sur des matrices prédéfinies classées en grandes familles. On trouve ainsi des matrices de transformations géométriques ( rotation, translation, réduction, agrandissement), de traitement colorimétriques (changement de couleurs, transcodage d’espace, corrections colorimétriques, balance, luminosité, contraste), et de filtrage. Le logiciel de traitement d’image va utiliser ces paramètres pour modifier l’image -67- objet (celle sur laquelle l’on travaille), avec la résolution minimum requise, à partir de l’image source (celle en haute définition stockée sur disque). Il est clair que cette façon de procéder va réduire le temps de traitement et l’espace RAM. Les modifications apportées sont visibles immédiatement mais n’affectent pas l’image originale. La sauvegarde de l’image cible, avec ses paramètres permet un gain de place non négligeable, en ce sens où ne sont enregistrés que les données necessaire à la représentation optimum sur le média concerné. Il est à noter cependant que pour les appareils photo numériques, l’image stockée est toujours celle offrant la meilleure résolution. Sur les appareils Kodak DC200/210 par exemple, l’utilisateur a le choix entre deux formats d’exportation : le FlashPix (extension “FPX”) ou le JFIF (extension “JPG”). La même image exportée en “JPG” occupe 270 Ko alors qu’en “FPX” elle occupe 495 Ko. Ces valeurs n’ont cependant rien à voir avec le poids réel de la photo tel qu’elle est stockée dans la mémoire FLASH de l’appareil. C’est le logiciel qui assure la mise en forme des fichiers en ajoutant l’en tête adéquat aux données brutes. Le fichier-image possède une structure assez particulière de stockage dans lequel les données sont enregistrées en secteurs de 512 octets aves des identificateurs de chaînage et de position proche de celui utilisé par MS-DOS. La complexité du système avec ses secteurs et ses tables de chaînage rend ici très difficile l’analyse d’un fichier type. Les lecteurs néanmoins interessés peuvent obtenir les spécifications techniques du format, regroupées dans un ouvrage édité par Kodak sous le nom de “FlashPix format & architecture white paper” et disponible gratuitement par téléchargement sur le site internet du constructeur (http://www.kodak.com/go/flashpix). Le format FlashPix est naturellement celui retenu par KODAK pour l’enregistrement sur ses CD-Photo (400 fichiers de 1.6 Mo), la capacité de stockage étant particulièrement adaptée aux volumineux fichiers générés par le standard pour des images en haute résolution . Il y a quand même une ombre au tableau : peu de logiciels reconnaissent ce format. Les autres formats Il existe encore quelques autres formats d’image dédiés aux appareils numériques, ainsi Kodak (encore !) et FUJI ont-ils conjointement développé un autre format, en octobre 1996, le EXIF pour EXchangeable Image File format. La version 1.0 a été adopté par le JEIDA, le Japan Electronic Industry Development Association, sous la référence JEIDA -49-1998. A la fin de l’année 1997, la société CANON et quelques 20 autres constructeurs d’origine variée ont aussi défini un autre format de fichier : le CIFF , pour Camera Interchange File Format. Les deux formats sont très proches et utilisent toujours la compression JPEG mais diffèrent légèrement du standard JFIF quant aux données annexes et à leur présentation. Les fichiers produits sont néanmoins lisibles et exploitable par n’importe quel décodeur supportant la norme JPEG. -68- Une autre voie radicalement différente a par contre été suivie par la société SoundVision, avec son SoundVision Mini (dont le Vivicam3000 est un clone) en effectuant des recherches sur la compression par ondelettes (Wavelets). Le fichier obtenu (extension SVI “Sound Vision Image”) pour une image de 960 X 800 pixels, en qualité supérieure, affiche un poids de 101 Ko, à comparer au poids du même fichier en JPG (Q=75) : 114 Ko . Le gain n’est pas flagrant, vu sous l’angle du volume. C’est un autre aspect qu’il faut apréhender, celui de la qualité de l’image pour un volume réduit. La compression par ondelette permet des taux de compression de l’ordre de 1:200 sur certaines images ! La qualité d’une image compressée par le procédé des ondelettes reste encore exellente comparée au même taux de compression JPEG, où la qualité est déja fortement dégradée à partir d’un facteur Q de 50. Le principe théorique mis en oeuvre dans le procédé est relativement récent (il remonte au début des années 80) et repose sur la même constatation que celle déjà effectuée dans la transformation par cosinus discrète, à savoir le passage d’un domaine spatial à un domaine fréquentiel. On retrouve le principe de décomposition d’un signal principal en une somme de signaux de fréquences et d’amplitude différentes. La grande différence réside en la possibilité de modifier les intervalles d’étude du signal en faisant intervenir des coefficients variables. On arrive ainsi à mieux cerner une fonction donnée en modifiant l’echelle d’analyse. Ce principe a donné son nom au procédé de décomposition en ondelettes, appelé aussi analyse multi-résolution. La réalisation pratique d’un compresseur par ondelette est en fait basée sur des fondements conceptuels assez proches des systèmes que nous avons jusqu’à maintenant étudiés. La société RICOH a réalisé un système complet, le CREW , traduisez Compression with Reversible Wavelets, qu’elle a récemment soumis au comité JPEG pour en faire une nouvelle norme de compression d’image. Les détails techniques sous-jacents étant simplifiés, on peut résumer ainsi le procédé: La décomposition en ondelettes opère sur les valeurs d’image (les valeurs numériques des pixels) et les transforme en les faisant passer par des filtres (des fonctions mathématiques assez simples) appelés “miroir” et “quadrature”. Ces filtres interviennent en favorisant ou non certaines valeurs, le filtre favorisant les valeurs élevées est appelé passe-haut (H), et celui favorisant les valeurs peu élevées est nommé passe-bas (L). (Voir tableau 10 annexe B, les formules mathématiques). Les valeurs obtenues en combinant les filtres représentent les informations présentes dans l’image en termes de contours (transitions rapides de valeurs), dans trois directions de l’espace : verticale, horizontale et diagonale. Chez RICOH, ces filtres sont appelés “Détails” et “Lissage” et les résultats sont représentés avec un nombre de bits différents (de 8 pour les détails à 4 pour l’original ). L’avantage du système d’analyse est qu’il est linéaire, (contrairement au système de DCT du procédé JPEG qui fournit une matrice carrée dont la représentation bidimen-69- sionnelle est engendrée par les formules et indispensable à la quantisation) et donc beaucoup moins gourmand en puissance de calcul et autorise une scrutation de l’image sur toute sa surface très proche de celle mise en oeuvre sur un écran. A ce stade, aucun gain en volume n’est obtenu, mais l’image de départ est transformée comme le montre la figure 29 ci-dessous : Image originale de résolution 1/2 IMAGE ORIGINALE LL LH HL HH Données des contours sens vertical Données des contours sens horizontal Données des contours sens diagonal Fig. 29 - 1er filtrage Le filtrage est ensuite appliqué plusieurs fois de suite. On obtient finalement une structure comme celle que montre la figure 30 ci-dessous: Fig. 30 - Filtage successif Le filtrage permet d’obtenir à chaque passe des valeurs numériques de plus en plus significatives, sachant que chaque rectangle situé au coin supérieur gauche représente l’image d’origine, de résolution réduite de moitié mais avec de plus en plus de détails. L’opération suivante se résume à ordonner les valeurs ainsi obtenues en les comparant à des valeurs de seuil en se déplaçant en “zig-zag” à travers les sous-images. On obtient ainsi une liste de valeurs progressives allant de la plus forte à des valeurs nulles. Le résultat obtenu est similaire à celui produit par la transformée en cosinus discrète (où le système de parcours des matrices de valeur est aussi en “zig-zag” ), à la grande différence que pour l’instant le procédé est réversible, et non destructif pour une résolution donnée, c’est à dire que la transformée mise en oeuvre est idempotente, ou pour être plus clair, possède la propriété de restituer le même résultat si on l’applique à -70- elle-même. En d’autres termes, la même image traitée plusieurs fois avec les mêmes paramètres ne sera pas altérée, contrairement au compresseur JPEG qui à chaque passage introduit une perte de qualité irréversible. Cette dégradation est une des faiblesses du système JPEG qui ne peut pour cette raison être appliquée plusieurs fois à la même image, fût-elle légèrement modifiée. Il suffit ensuite de coder la suite de valeurs avec une méthode à base de dictionnaire comme celle de Huffman. Tout ceci est très brièvement résumé, mais il faut savoir que les implémentations des différents industriels sont adaptées et comportent des variations subtiles. Le fonctionnement global suit cependant le schéma exposé ci-dessus. En général, ces opérations suivent une étape de trancodage d’espace colorimétrique comme par exemple l’espace YUrVr utilisé par Ricoh dont les équations sont données ci-dessous : Yr = (R + 2G + B ) / 4 Ur = R - G Vr = B - G Les équations inverses (passage au RVB) sont un peu plus longues et permettent une reconstruction sans perte de précision. Dans le cas du CREW, les données sont groupées par couches de résolution, précédées d’une zone descriptive (les fameux marqueurs ou “tags”), de la plus significative à la moins représentative (cette structure est appelée “pyramidale” ches Ricoh) .Le décodeur “voit” de la sorte l’image défiler avec une résolution croissante. Cet ordonnancement autorise de plus une fonction particulière (mise à profit dans le travail sur les images satellitaires) qui offre la possibilité de définir des “zones d’intérêt”, qui dessinent une fenêtre sur l’image avec une résolution différente. Ce n’est pas un “zoom” sur une surface agrandie, c’est un regard “en profondeur” de la surface sélectionnée, offrant plus de détail que le reste de l’image qui peut rester à une résolution beaucoup plus basse. Ce procédé d’analyse du fichier permet d’extraire l’image correcte pour un média donné sans avoir à décoder toutes les données c’est aussi une des raisons qui font que les images codées avec les ondelettes ont une meilleure qualité que celles obtenues avec le JPEG à taux de compression égal, car dans le procédé par ondelettes, il n’y a pas de découpage de l’image par blocs de pixels comme c’est le cas en JPEG (ce sont ces blocs qui finissent par apparaitre quand on exige un taux de compression trop élevé [avec Q<50 par ex.] ) Ce système de compression qui semble très prometteur n’est pour l’instant exploité commercialement que par quelques sociétés comme par exemple l’Américaine SUMMUS avec son logiciel “4U2C” (For you to see) représenté en France par la société “Image Etc...” . Le logiciel existe en version “Plug-In” gratuite pour le navigateur internet NETSCAPE. Un autre logiciel, “Lightning Strike” est lui commercialisé par la société “Infinet Op”. -71- La compression par ondelettes est néanmoins utilisée depuis longtemps par le FBI Américain pour son système de gestion de base de données d’empreintes digitales. Peut-être RICOH, dans un de ses prochains appareils va-t-il nous etonner ? car force est de constater que dans le domaine de la photo numérique, le standard JPEG est sans conteste le plus répandu et celui qui offre, pour l’instant, l’ouverture la plus grande dans le monde du traitement d’images numériques. Une nouvelle version est prévue sous l’appelation “JPEG 2000” et préfigure déjà le nouveau standard en matière de représentation d’images numériques. -72-