Le média image

50
1 Le média image Institut Supérieur d’Informatique Année Universitaire 2008-2009 Chapitre 3

description

Institut Supérieur d’Informatique Année Universitaire 2008-2009 Chapitre 3. Le média image. Plan. Nature physique de l’image Qu'est-ce que la lumière? La perception visuelle chez l'être humain Synthèse de couleurs Additive Soustractive - PowerPoint PPT Presentation

Transcript of Le média image

Diapositive 1

1Le mdia imageInstitut Suprieur dInformatique Anne Universitaire 2008-2009

Chapitre 3PlanNature physique de limageQu'est-ce que la lumire? La perception visuelle chez l'tre humainSynthse de couleurs AdditiveSoustractiveModlisation et stockage de l'image2Les 2 natures de la lumire Ondulatoire Loptique ondulatoire considre la lumire comme une onde lectromagntique. Explique les phnomnes affectant les ondes : interfrences, diffraction Corpusculaire La thorie corpusculaire considre la lumire comme un flux discontinu de photons. Son nergie est lie la frq de l'onde : E = h (h, constante de Planck ; v, frq) Explique les observations relatives l'mission et l'absorption de la lumire par la matire. Vitesse de dplacement : ~ 300000 km/s.Caractristiques : Frquence. ~ 600000 Ghz lg donde : 500nmIntensit.

3 Spectre de la lumireCouleur dpend de la longueur d'onde

Couleur (notion perceptive) lg donde (notion physique) Attention : l'il ne distingue pas un Y monochromatique (une seule lg d'onde) d'une composition de G et de R. Cest lillusion qui permet d'afficher du Y sur les crans PC Longueur d'onde (nm)Couleur< 380rayonnements ultraviolets380 - 450 violet450 - 490bleu490 - 560vert560 - 590jaune590 - 640orange640 - 760rouge> 760rayonnements infrarouges

380nm760nm4La perception visuelleL'oeil humain : Grce la corne et l'iris limage se forme sur la rtineRtine : cnes + btonnetsBtonnets : peroivent la luminosit et le mouvement Cnes : diffrencient les couleurs 3 types : percevoir le bleu, le vert et le rouge. Perception entre 400 et 700 nm. Si un type de cnes manque : daltonisme.

5Sensibilit de l'oeilbeaucoup + grande aux variations d'intensit (luminance) qu'aux variations de couleur (chrominance)

Luminance (luminance) : % de N ou de B dans la couleur dsire, brillance de la couleur , aspect clair ou sombreChrominance :Teinte (hue) : dtermine la couleur souhaite partir des couleurs disposition (R,G,B,C,J,M); correspond la couleur de base Saturation (saturation) : mesure l'intensit ou la puret d'une couleur, % de couleur pure par rapport au B (caractre vif ou terne/ couleur vive ou pastel), (6Synthse additiveCalcul fait par addition des longueurs d'onde de sources lumineusesR, G, B : Toutes les couleurs peuvent tre synthtises en utilisant les 3 sources monochromatiques correspondant aux maxima de sensibilit des 3 types de cne de la rtine de lil humainModle RGBMode de synthse adapt pour les sources lumineuses (tubes cathodiques) Exemple: 2 composantes G et R d'un moniteur d'ordinateur sont allumes quand les phosphores associs sont frapps par les lectrons les couleurs des phosphores juxtaposs se superposent en raison de la mauvaise rsolution de l'il on voit du jaune

blancMlange des couleurs par addition7Synthse soustractiveCalcul fait par soustraction des longueurs d'onde de la lumireMode de synthse adapte dans le mlange de pigments, le filtrage et labsorption (imprimerie, peinture et art du vitrail)Exemple : L'herbe et les feuilles paraissent vertes car elles absorbent le complmentaire du vert ( violets et ultraviolets). Ce sont les ondes utilises dans la photosynthse.L'encre filtre la lumire rflchie par le papier blancLorsquon mlange 2 couleurs au pinceau, la couleur obtenue est le rsultat d'une synthse soustractiveLa couleur vue est la lumire non absorbe Cyan, Magenta, Yellow : C R, M G, Y B alors que B R & G, R G & B, G B & RCe sont les 3 couleurs complmentaires de RGB.Modle CMY

Mlange des couleurs par soustractionnoirPigment jaune absorbe le bleuW(R+G+B)Y=R+G8PlanNature physique de limageModlisation et stockage de l'imageChane de limageImage vectorielleImage bitmapEspace des couleurs et conversionCodage des imagesMthode simpleMthode par paletteAvantages/limitationsFormat : BMP, TIFF, GIF, PNG, Format : JPEG9Chane de limageAcquisition/cration : numrisation (scanners, appareils photos & camscopes numriques, carte dacquisition vido )/synthse (via souris, tablettes graphiques ou par modlisation 3D) Codage Perte d'information envisageable la compressionStockage (disquette, disque dur, CD-ROM...) Traitement : modifier la taille, la couleur, ajouter ou supprimer des lments, appliquer des filtres,Transmission change de graphiques, de dessins, d'images. Prolifration de formats, incompatibilits frquentes. Restitution : Affichage, projection, Impression10Format des imagesLes images vectorielles : On dcrit l'image comme une association dobjets graphiques simples (droites, ellipses,...). Formats SVG, SWF,...

Les images bitmap :Image pixlise. On indique la couleur de chaque pixelFormats BMP, GIF, JPEG,...

11Il existe un grand nombre de formats de fichiers. Parmi les formats de fichiers graphiques voici les plus utiliss : Format Compression Dimensions maximales Nombre de couleurs maximal BMPaucune / RLE65 536 x 65 53616 777 216GIFLZW65 536 x 65 536256IFFaucune / RLE65 536 x 65 536suprieur 16 777 216JPEGJPEG65 536 x 65 536suprieur 16 777 216PCXaucune / RLE65 536 x 65 53616 777 216PNGRLE65 536 x 65 536suprieur 16 777 216TGAaucune / RLE65 536 x 65 536suprieur 16 777 216TIFF/TIFPackbits / CCITT G3&4 / RLE / JPEG / LZW / UIT-T(2^32)-1suprieur 16 777 216

On distingue gnralement deux grandes catgories d'images: les images bitmap (appeles aussi images raster) : il s'agit d'images pixellises, c'est--dire un ensemble de points (pixels) contenus dans un tableau ,chacun de ces points possdant une ou plusieurs valeurs dcrivant sa couleur. les images vectorielles: les images vectorielles sont des reprsentations d'entits gomtriques telles qu'un cercle, un rectangle ou un segment. Ceux-ci sont reprsents par des formules mathmatiques (un rectangle est dfini par deux points, un cercle par un centre et un rayon, une courbe par plusieurs points et une quation). C'est le processeur qui sera charg de "traduire" ces formes en informations interprtables par la carte graphique. Grce la technologie dveloppe par la compagnie Macromedia et son logiciel Macromedia Flash, ou au plugiciel ("plug-in") SVG, le format vectoriel est aujourd'hui utilisable sur Internet. Image VectorielleImages dcrites comme l'association dobjets graphiques simples (droites, ellipses...).

3 types de donnes graphiques : Points isols => objets ponctuels. Lignes isoles => objets linaires. Surfaces isoles => objets surfaciques. Mthodes de reprsentation vectorielle : Fil de fer 2D. Polydrique. Codage des contours

12RedimensionnementPas de perte de qualit, les courbes sont lisses quelque soit l'chelle d'affichageBitmap

Vectorielle

13Le format WMF WMF (Windows Meta File) format vectoriel de Windows, utilis par Microsoft Draw, et anciennes versions de Word, Excel.Format mixte, pouvant contenir des informations sous forme matricielleUn fichier WMF contient : Une suite d'objet (cercle, carre, bitmap,...). Chacun dcrit par un entte. Peut contenir jusqu 65535 objets

14Autres formats vectorielsSVG (Scalable Vector Graphics) : Spcification W3C bas sur XML pour grer les images vectoriels notamment sur le web. Supporte les animations et le son. Format du futur mais dbut difficile :Pas dimplmentation native dans les navigateurs web; dveloppement en cours. Plug-in dAdobe : http://www.adobe.com/svg/viewer/install/main.htmlEditeurs libres : Sodipodi et OpenOffice Draw Apparition de banques de clipart sur l'Internet. AI (Adobe Illustrator) Format de Adobe, trs populaireEPS (Encapsuled PostScript) : Format mixte universel de Adobe bas sur postscript mais contenant une image de prvisualisation vectorielle ou bitmap. PDF (Portable Document Format): Format mixte universel de Adobe driv de PostScript et prservant la mise en forme, les polices, les couleurs et les graphiques du document source. PICT (Picture) : Format par dfaut de Mac OS.SWF (Flash) : Format danimation vectorielle propritaire de Macromedia destin au web, trs populaire. Supporte les animations et le son. DXF (Drawing eXchange Format): Format de AUtodesk utilis en DAO ( logiciel libre QCad)CGM (Computer Graphics Metafile) : norme ISO; Format mixte utilis en DAO

15AvantagesCodage riche prenant en compte la smantique Codage compact : fichiers de taille rduiteRedimensionnement sans perte de qualit Retouches aises car lments de l'image indpendantsAnimation + simple grce aux vecteursTraduction aise en bitmapRecherche de texte, dobjetsLien hypermdia sur des objets, interactivitGnration automatique partir de donnes XML,

16Limitations Inutilisables pour des photographiesPas adapte aux images complexes avec bcp d'objets de petites taillesBcp de formats industriels, non standardiss, non reconnus par les navigateurs webImpossible de transformer un bitmap en vecteur17Image bitmap Pixelmap, matricielle, raster

On indique la couleur de chaque pixel.Pixel (PICture ELement) : + petit lment constitutif d'une image numrique

Codage des couleurs: Choix du modle RGBCertains formats supportent le modle CMYK. Manipulation et restitution utilise dautres modles Critres de qualit : couleur & dfinitionDfinition (Ordinateur)Rsolution (Scanner, imprimante)Taille de limage en nb de pixelsNb de points par unit de longueur (2,54cm) (unit dpi/ppp : point par pouce) 300dpi 300 points sur une ligne de 2,54cm

18Espace des couleursReprsentation mathmatique d'un ensemble de couleurs. Il en existe plusieurs : Le codage RGB (Red, Green, Blue). Le codage CMY (Cyan, Magenta, Yellow)Le codage CMYKLe codage HSL (Hue, Saturation, Luminance). Le codage YUV : vido analogique (PAL et SECAM). Y reprsente la luminance (l'information en N&B), Cb et Cr la chrominance. Permet de transmettre des infos colores aux TV couleurs, en restant compatible avec les TV N&B affichant en niveau de gris. Y = 0,299 * Rouge + 0,587 * Vert + 0,114 * Bleu Cr= Rouge YCb= Bleu - YLe codage YIQ Le codage CIE

19On appelle ainsi espace de couleurs la reprsentation mathmatique 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 CMYK. Le codage CIE. Le codage YUV. Le codage YIQ. Le spectre de couleurs qu'un priphrique d'affichage permet d'afficher est appel gamut ou espace colorimtrique. Les couleurs n'appartenant pas au gamut sont appeles couleurs hors-gamme. Modles RGB, CMY et CMYK Modle RGBLa couleur est dfinie comme une somme pondre des couleurs primaires.Choix des couleurs primaires du systme : RGB : Red, Green, BlueModle CMYLa couleur est dfinie comme diffrence pondre entre le blanc et les couleurs primaires.Choix des couleurs primaires du systme : CMY : Cyan, Magenta, YellowModle CMYK Extension du modle CMYEn pratique, le noir n'est pas tout fait noir. Ajout d'une composante "noir pur". CMYK : Cyan, Magenta, Yellow, BlacK.Possibilit de remplacer les 3 encres couleurs par du noir pour rduire la consommation d'encre

20Modle naturel HSLModle de reprsentation proche de la perception physiologique de la couleur par l'oeil humain. Le modle RGB ne permet pas de slectionner facilement une couleur : claircir une couleur augmenter proportionnellement la valeur des 3 composantes. HSL (TSL en franais )HueSaturation Luminance21Le modle HSL (Hue, Saturation, Luminance, ou en franais TSL), s'appuyant sur les travaux du peintre Albert H.Munsell (qui cra l'Atlas de Munsell), est un modle de reprsentation dit "naturel", c'est--dire proche de la perception physiologique de la couleur par l'oeil humain. En effet, le modle RGB aussi adapt soit-il pour la reprsentation informatique de la couleur ou bien l'affichage sur les priphriques de sortie, ne permet pas de slectionner facilement une couleur. En effet, le rglage de la couleur en RGB dans les outils informatiques se fait gnralement 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 modle HSL a-t-il t mis au point afin de pallier cette lacune du modle RGB. Le modle HSL consiste dcomposer la couleur selon des critres physiologiques : La teinte (en anglais Hue), correspondant la couleur de base (T-shirt mauve ou orange) La saturation, dcrivant la puret de la couleur, c'est--dire son caractre vif ou terne (T-shirt neuf ou dlav) La luminance, indiquant la brillance de la couleur, c'est--dire son aspect clair ou sombre (T-shirt au soleil ou l'ombre)

Systme de reprsentationquation de conversion entre RGB et CMYExemple : Convertir le Blanc de RGB (1,1,1) CMY (0,0,0) et vice versa.Conversion CMY vers CMYK : mme principe.

C = 1 RM = 1 GY = 1 BR = 1 CG = 1 MB = 1 - Y

22Codage des images Coder une imageLe tableau de pixels. La couleur des pixels :Modle de reprsentationCouleur des pixels : 2 mthodesMthode simple (pixelcouleur)Mthode par palette (pixel indice dans la palette)

23Une couleur est reprsente dans un ordinateur par une valeur numrique: on parle de couleur numrique Il existe diffrents systmes pour reprsenter la couleur numrique. Les principaux sont:Systme HLS Systme RGB Systme CMY Systme CMYK

Le codage RGB, mis au point en 1931 par la Commission Internationale de l'Eclairage (CIE) consiste reprsenter l'espace des couleurs partir de trois rayonnements monochromatiques de couleurs : rouge (de longueur d'onde gale 700,0 nm), vert (de longueur d'onde gale 546,1 nm), bleu (de longueur d'onde gale 435,8 nm). Cet espace de couleur correspond la faon dont les couleurs sont gnralement codes informatiquement, ou plus exactement la manire dont les tubes cathodiques des crans d'ordinateurs reprsentent les couleurs. Ainsi, le modle RGB propose de coder sur un octet chaque composante de couleur, ce qui correspond 256 intensits de rouge (28), 256 intensits de vert et 256 intensits de bleu, soient 16777216 possibilits thoriques de couleurs diffrentes, c'est--dire plus que ne peut en discerner l'oeil humain (environ 2 millions). Toutefois, cette valeur n'est que thorique car elle dpend fortement du matriel d'affichage utilis. Etant donn que le codage RGB repose sur trois composantes proposant la mme gamme de valeur, on le reprsente gnralement graphiquement par un cube dont chacun des axes correspond une couleur primaire : Mthode simple Pour chaque pixel , chaque composante RGB occupe n bits. Pixel occupe 3 x n bits. Pixel peut avoir 23n couleurs. Mode True Color, Couleurs vraies : n = 8 24 bits 16 millions de couleurs.galement Mode 32 bits :Ajout dune 4ime composante sur 8 bits :le canal alpha. gre la transparence ou la texture des points. vite les effets de "marches d'escalier".Mode N&B: 1 bit/pixel 2 couleurs possibles (N ou B)Mode 16 couleurs/niveaux de grisMode 256 couleurs/niveaux de gris : 1 octet/pixelLimitations : Toutes les nuances ne sont pas utilise. Pas assez de nuances pour une teinte donne. Ex. : image sur la mer :bcp de nuances de B; peu de R.

24Mthode par palette Mthode par palette (colormap)choisir les couleurs disponibles. Image en couleurs indexesLa couleur de chaque pixel : Est code comme une rfrence dans une palette. La palette contient les composantes RGB de la couleur. On obtient alors : N couleurs parmi 23M possibles. N = nombre d'entres dans la palette. M = nombre de bits utiliss pour coder une composante d'une couleur dans la palette.25Taille d'une image Taille brute : sans compression. Taille = X . Y . n. X = nombre de colonnes. Y = nombre de lignes. n = nombre d'octets ncessaires pour coder un pixel. Exemple d'une rsolution de 1024 x 768. Nombre de couleursTailleEn octetsEn KoNoir et BlancX*Y*(1/8)98.30496 KoPalette de 16 couleursX*Y*(1/2)393.216384 KoPalette de 256 couleursX*Y*1786.432768 KoTrue Color, 16 millions de couleurs.X*Y*32.359.2962.304 Ko26AvantagesAdapt aux applications orientes images Qualit photographique

27Limitations Codage "pauvre" de l'information. Pas de distinction d'objet dans l'image. Taille des fichiers importante. Traitements d'image longs.

28Avantages & limitations (2/2) Limitations (suite) : L'agrandissement provoque un effet de mosaque :

La cration d'une image " la souris" est difficile. Usage conseill d'un priphrique de numrisation : scanner, digitaliseur, appareil photo numrique... Retouches dlicates : effacer un lment de l'image cre un "trou".

29Formats d'images bitmap NombreuxCaractristiques Nombre de couleurs. Mthode de compression utilise. Contexte d'utilisation. Comparaison : taille des fichiers pour les imagesNomRsolutionDfinitionNombre de couleursImageDroopy1024x76872 DPI256Trounesol1600x114472 DPI16 millions

30JPEG et JPEG2000Joint Photographic Experts GroupExcellente compressionCompression destructriceSpcialement conu pour les photographies, il est cependant utiliser avec dlicatesse tant sa compression peut brouiller l'image. Le format JPEG2000, volution du format original, peut tre rgl pour compresser sans pertes.

GIF (Graphical Interchange Format)H&R Block et CompuservePossibilit d'animation et de transparence, compression efficaceLimit 256 couleursTrs rpandu sur le Web malgr ses faiblesses et un problme de droit sur son format de compression. dconseiller pour les photos.

PNG (Portable Network Graphics)W3CExcellente compression sans perte. Possibilit de transparence. Standard donc prenne.Pas trs efficace pour les larges photographiesFormat destin remplacer le format GIF et ses limitations, mais ayant encore du mail s'implanter dans les habitudes des dveloppeurs. Peut remplacer les JPEG comme les GIF (sauf en ce qui concerne l'animation).

TIFF (Tagged Image File Format) AldusCompression sans perte efficace. Couche de transparence.Lourdeur des fichiers non compresss. Format propritaire.Format de stockage trs utilis, viter pour le Web

BMP (Bitmap)MicrosoftFormat par dfaut de WindowsDisponible uniquement sur la plateforme de MicrosoftGnralement non compress - le format RLE est possible mais peu reconnu

PSD (Photoshop Document)AdobeTrs complet, conserve toutes les couches de l'image.Taille prohibitiveFormat standard de l'outil Photoshop, trs populaire mais limiter au stockage de retouche d'image du fait de la taille des fichiers.Format BMP Dfini par Microsoft pour Windows Caractristiques1, 4, 8 ou 24 bits : jusqu' 16 millions de couleurs. Compression : sans perte, RLE (rarement). Fichiers de taille importante. Reconnu par une majorit de logiciels. ImageNb couleursCompressionTailleDroopy256770 KoDroopy256RLE613 KoTournesol16 millions5363 KoTournesol16 millionsRLE1745 Ko31Le format BMP est un des formats les plus simples dvelopp conjointement par Microsoft et IBM, ce qui explique qu'il soit particulirement rpandu sur les plates formes Windows et OS/2. Un fichier BMP est un fichier bitmap, c'est--dire un fichier d'image graphique stockant les pixels sous forme de tableau de points et grant les couleurs soit en couleur vraie soit grce une palette indexe. Le format BMP a t tudi de telle manire obtenir un bitmap indpendant du priphrique d'affichage (DIB, Device independent bitmap). La structure d'un fichier bitmap est la suivante : En-tte du fichier (en anglais file header) En-tte du bitmap (en anglais bitmap information header, appel aussi information Header) Palette (optionnellement) Corps de l'image

Entte du fichier

L'entte du fichier fournit des informations sur le type de fichier (Bitmap), sa taille et indique o commencent les informations concernant l'image proprement parler. L'entte est compos de quatre champs : La signature (sur 2 octets), indiquant qu'il s'agit d'un fichier BMP l'aide des deux caractres. BM, 424D en hexadcimal, indique qu'il s'agit d'un Bitmap Windows. BA indique qu'il s'agit d'un Bitmap OS/2. CI indique qu'il s'agit d'une icone couleur OS/2. CP indique qu'il s'agit d'un pointeur de couleur OS/2. IC indique qu'il s'agit d'une icone OS/2. PT indique qu'il s'agit d'un pointeur OS/2. La taille totale du fichier en octets (code sur 4 octets) Un champ rserv (sur 4 octets) L'offset de l'image (sur 4 octets), en franais dcalage, c'est--dire l'adresse relative du dbut des informations concernant l'image par rapport au dbut du fichier

Entte de l'image

L'entte de l'image fournit des informations sur l'image, notamment ses dimensions et ses couleurs. L'entte de l'image est compos de quatre champs : La taille de l'entte de l'image en octets (code sur 4 octets). Les valeurs hexadcimales suivantes sont possibles suivant le type de format BMP : 28 pour Windows 3.1x, 95, NT, ... 0C pour OS/2 1.x F0 pour OS/2 2.x La largeur de l'image (sur 4 octets), c'est--dire le nombre de pixels horizontalement (en anglais width) La hauteur de l'image (sur 4 octets), c'est--dire le nombre de pixels verticalement (en anglais height) Le nombre de plans (sur 2 octets). Cette valeur vaut toujours 1 La profondeur de codage de la couleur(sur 2 octets), c'est--dire le nombre de bits utiliss pour coder la couleur. Cette valeur peut-tre gale 1, 4, 8, 16, 24 ou 32 La mthode de compression (sur 4 octets). Cette valeur vaut 0 lorsque l'image n'est pas compresse, ou bien 1, 2 ou 3 suivant le type de compression utilis : 1 pour un codage RLE de 8 bits par pixel 2 pour un codage RLE de 4 bits par pixel 3 pour un codage bitfields, signifiant que la couleur est cod par un triple masque reprsent par la palette La taille totale de l'image en octets (sur 4 octets). La rsolution horizontale (sur 4 octets), c'est--dire le nombre de pixels par mtre horizontalement La rsolution verticale (sur 4 octets), c'est--dire le nombre de pixels par mtre verticalement Le nombre de couleurs de la palette (sur 4 octets) Le nombre de couleurs importantes de la palette (sur 4 octets). Ce champ peut tre gal 0 lorsque chaque couleur a son importance.

Palette de l'image

La palette est optionnelle. Lorsqu'une palette est dfinie, elle contient successivement 4 octets pour chacune de ses entres reprsentant : La composante bleue (sur un octet) La composante verte (sur un octet) La composante rouge (sur un octet) Un champ rserv (sur un octet)

Codage de l'image

Le codage de l'image se fait en crivant successivement les bits correspondant chaque pixel, ligne par ligne en commenant par le pixel en bas gauche. Les images en 2 couleurs utilisent 1 bit par pixel, ce qui signifie qu'un octet permet de coder 8 pixels Les images en 16 couleurs utilisent 4 bits par pixel, ce qui signifie qu'un octet permet de coder 2 pixels Les images en 256 couleurs utilisent 8 bits par pixel, ce qui signifie qu'un octet code chaque pixel Les images en couleurs relles utilisent 24 bits par pixel, ce qui signifie qu'il faut 3 octets pour coder chaque pixel, en prenant soin de respecter l'ordre de l'alternance bleu, vert et rouge. Chaque ligne de l'image doit comporter un nombre total d'octets qui soit un multiple de 4; si ce n'est pas le cas, la ligne doit tre complte par des 0 de telle manire respecter ce critre. Format TIFF TIFF (Tagged Image File Format). Origine Aldus et Microsoft. Standard de codage des images scannes; PAO, infographie, bureautique pour les images au trait (cliparts, FAX).Puissant mais complexe grer. Possibilit d'adaptation et d'volution. Diffrentes versions incompatibles! Caractristiques : Codage RVB, CMJN, couleur indexes, niveau de gris Compression : RLE, LZW, JPEG, compression FAX, ou aucune. Trs bonnes performances en compression d'images noir et blanc. Fichiers assez gros. Reconnu par une majorit de logiciels. ImageNb couleursCompressionTailleDroopy256Aucune771 KoDroopy256LZW364 KoDroopy2Huffman156 KoTournesol16 millionsAucune5364 KoTournesol16 millionsLZW3395 KoTournesol2Huffman462 Ko32Format GIF Format GIF (Graphic Interchange Format) : Compuserve, 1987 : GIF87a. Caractristiques 256 couleurs parmi 16 millions. Compression sans perte LZW, efficace s'il y a des zones homognes. GIF89a : possibilit de transparence, et d'animation. GIF89a : possibilit d'entrelacement (chargement graduel de l'image). Trs utilis :Reconnu par tous les logiciels ou presqueLE format du Web avec JPG. ImageNb couleursCompressionTailleDroopy256LZW353 KoTournesol256LZW1203 Ko33Le format GIF

Le format GIF (Graphic Interchange Format) est un format de fichier graphique bitmap (raster) par la socit Compuserve. Il existe deux versions de ce format de fichier dveloppes respectivement en 1987 et 1989 : GIF 87a supportant la compression LZW, l'entrelacement (permettant un affichage progressif), une palette de 256 couleurs et la possibilit d'avoir des images animes (appeles GIFs anims) en stockant plusieurs images au sein du mme fichier. GIF 89a ajoutant la possibilit de dfinir une couleur transparente dans la palette et de prciser le dlai pour les animations.

Caractristiques du format GIF

Une image GIF peut contenir de 2 256 couleurs (2, 4, 8, 16, 32, 64, 128 ou 256) parmi 16.8 millions dans sa palette. Ainsi grce cette palette limite en nombre de couleurs (et non limit en couleurs diffrentes), les images obtenues par ce format ont une taille gnralement trs faible. Toutefois, tant donn le caractre propritaire de l'algorithme de compression LZW, tous les diteurs de logiciel manipulant des images GIF doivent payer une redevance la socit dtentrice des droits, Unisys. C'est une des raisons pour lesquelles le format PNG est de plus en plus plbiscit, au dtriment du format GIF. Format PNG PNG (Portable Network Graphic). Pour remplacer le GIF (devenu payant!!!). Le futur format du Web? Caractristiques : 16 millions de couleurs. Compression sans perte LZW. Possibilit de transparence (niveau de transparence). Possibilit d'entrelacement (chargement graduel de l'image). Pas d'animation. Pas support pas tous les navigateurs web ImageNb couleursCompressionTailleDroopy256LZW310 KoTournesol256LZW2723 Ko34Le format PNG (Portable Network Graphics, ou format Ping) est un format de fichier graphique bitmap (raster). Il a t mis au point en 1995 afin de fournir une alternative libre au format GIF, format propritaire dont les droits sont dtenus par la socit Unisys (propritaire de l'algorithme de compression LZW), ce qui oblige chaque diteur de logiciel manipulant ce type de format leur verser des royalties. Ainsi PNG est galement un acronyme rcursif pour PNG's Not Gif.

Caractristiques du format PNG

Le format PNG permet de stocker des images en noir et blanc (jusqu' 16 bits par pixels de profondeur de codage), en couleurs relles (True color, jusqu' 48 bits par pixels de profondeur de codage) ainsi que des images indexes, faisant usage d'une palette de 256 couleurs. De plus il supporte la transparence par couche alpha, c'est--dire la possibilit de dfinir 256 niveaux de transparence, tandis que le format GIF ne permet de dfinir qu'une seule couleur de la palette comme transparente. Il possde galement une fonction d'entrelacement permettant d'afficher l'image progressivement. La compression propos par ce format est une compression sans perte (lossless compression) 5 25% meilleure que la compression GIF. Enfin PNG embarque des informations sur le gamma de l'image, ce qui rend possible une correction gamma et permet une indpendance vis--vis des priphriques d'affichage. Des mcanismes de correction d'erreurs sont galement embarques dans le fichier afin de garantir son intgrit.

Structure d'un fichier PNG

Un fichier PNG est constit d'une signature, permettant de signaler qu'il s'agit d'un fichier PNG, puis d'une srie d'lments appels chunks (le terme "segments" sera utilis par la suite). La signature d'un fichier PNG (en notation dcimale) est la suivante : 137 80 78 71 13 10 26 10 La mme signature en notation hexadcimale est : 89 50 4E 47 0D 0A 1A 0A

Chaque segment (chunk) est compos de 4 parties : La taille, un entier non sign de 4 octets, dcrivant la taille du segment Le type de segment (chunk type) : un code de 4 caractres (4 octets) composs de caractres ASCII alphanumriques (A-Z, a-z, 65 90 et 97 122) permettant de qualifier la nature du segment Les donnes du segment (chunk data) Le CRC (cyclic redundancy check), un code correcteur de 4 octets permettant de vrifier l'intgrit du segment Les segments peuvent tre prsents dans n'importe quel ordre si ce n'est qu'ils doivent commencer par le segment d'en-tte (IHDR chunk) et finir par le segment de fin (IEND chunk) Les principaux segments (appels critical chunks) sont : IHDR Image header PLTE Palette IDAT Image data IEND Image trailer Les autres segments (appels anciliary chunks) sont les suivants : bKGD Background color cHRM Primary chromaticities and white point gAMA Image gamma hIST Image histogram pHYs Physical pixel dimensions sBIT Significant bits tEXt Textual data tIME Image last-modification time tRNS Transparency zTXt Compressed textual data

Format JPG JPG ou JPEG (Joint Photographic Experts Group) Comit cr en 1986Norme adopte en 1992/93 (ISO/CEI 10918-1 ou UIT-T Recommandation T.81. )JPEG 2000 : compression par ondelettes. Caractristiques16 millions de couleurs. Compression avec pertePossibilit d'entrelacement (chargement graduel de l'image).Pas danimation, pas de transparenceTrs utilisReconnu par tous les logiciels ou presqueLE format du Web avec GIFImageNb couleursCompressionTailleDroopy16 millionsTaux 1451 KoDroopy16 millionsTaux 10159 KoDroopy16 millionsTaux 20119KoDroopy16 millionsTaux 9917KoTournesol16 millionsTaux 1897 KoTournesol16 millionsTaux 10457 KoTournesol16 millionsTaux 20346 KoTournesol16 millionsTaux 9940 Ko35Cet article est le premier d'une srie consacre aux diffrentes techniques de compression d'image et de squences vido. Nous avons choisi de ne pas nous intresser au son, dont le stockage est moins problmatique que celui des images.

Rappelons qu'une image sous forme numrique est constitue d'une matrice de pixels contenant des informations sur la couleur de chacun d'entre eux. Cette information peut tre code sur 1 bit (2 couleurs - noir et blanc), 8 bits (1 octet - 256 couleurs), 16 ou 24 bits (respectivement 65536 et plus de 16 millions de couleurs: dans ce dernier cas, chaque octet code l'une des couleurs fondamentales, le rouge, le vert ou le bleu). Il est mme possible de rajouter un octet contenant une information de transparence: l'information de couleur peut alors tre code sur 32 bits. La taille en octets de l'image est bien sr proportionnelle la prcision sur la couleur, et sa taille en pixels. La taille en octets d'une image 24 bits est vite considrable: une image 300x200 "pse" environ 176 Ko. D'o l'intrt des algorithmes de compression pour une transmission via le web. Ceci est encore plus vrai pour une squence de 25 images (300x200, 24 bits) par seconde d'une dure d'une minute, dont la taille est d'environ 258 Mo! Et encore, la taille de l'image est trs trs petite.

L'algorithme DCTLe format JPEG (Joint Photographic Experts Group) permet d'atteindre des taux de compression (sans perte notable de qualit) jusqu' un facteur 25. La technique sous-jacente repose sur une transformation matricielle appele DCT, pour Discrete Cosine Transform. L'algorithme DCT s'applique sur des sous-matrices (blocs) de 8x8 pixels. Mathmatiquement, la transformation s'crit, pour une sous-matrice A:tC.A.C (le . dsigne un produit matriciel)o tC dsigne la transforme de C: tC(i,j)=C(j,i). C est une matrice 8x8 de coefficents tels que: C(i,j)=K(j)/2*cos((2*i+1)*j*PI/16 avec K(0)=sqrt(1/2) et K(j)=1 pour j>0.La transformation DCT est orthogonale: on peut l'inverser. Si B est la matrice rsultant de l'opration, on rcupre A par C.B.tC.

En thorie, la transformation DCT est donc sans perte. En pratique, les arrondis vont venir la fausser. La transformation inverse ne donnera pas exactement A. Minimiser les arrondis permet d'obtenir un meilleur rsultat par consquent.En elle-mme, la transformation DCT ne compresse pas les donnes: elle modifie simplement les coefficients de la matrice initiale (RVB). Le but est analogue celui de la transforme de Fourier d'un signal: traduire l'image dans un "domaine de frquences" (peser le poids relatif de chaque frquence). Le bloc 8x8 initial donne par DCT un bloc 8x8 dont les coefficients en haut gauche sont les coefficients des basses frquences et les coefficients en bas droite ceux des hautes frquences. Que reprsente ces frquences? Elles caractrisent des courbes sinusodales qui sont elles-mmes la dcomposition du "signal" que reprsente l'image (en l'occurence le bloc). Ce sont des "frquences spatiales".

Notons qu'il est prfrable, afin d'obtenir ultrieurement une meilleure compression, de convertir au pralable (avant la transformation DCT) l'image RVB en image YUV (luminance - chrominance - saturation ou luminosit - teinte - saturation). Une image 16 bits traduite en luminance - chrominance puis transforme par DCT donnera lieu une matrice de blocs 8x8 contenant des paires de coefficients DCT exploitables au mieux.

Quantification et encodageUne fois la transformation DCT effectue, la premire tape de la compression proprement dite est la quantification des coefficients DCT. Chaque coefficient d'un bloc 8x8 est divis par un quantificateur lment d'une matrice 8x8 de quantification. Ces 64 quantificateurs sont soit calculs en fonction d'un paramtre de compression, soit donns par des tables standards, optimises par les concepteurs du format JPEG: il existe une table de quantification pour l'information de luminance, une autre pour l'information de chrominance (donnes ci-dessous). Luminance1611101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399Chrominance17182447999999991821266699999999242656999999999947669999999999999999999999999999999999999999999999999999999999999999999999999999Chaque coefficient DCT est divis par le quantificateur correspondant, puis arrondi l'entier le plus proche. Ceci a pour effet de diminuer (voire supprimer) le poids relatif des faibles coefficients (en valeur absolue) et d'abaisser le niveau de prcision qu'expriment les forts coefficients (en valeur absolue). L'tape de quantification (quantization) est donc l'tape de perte d'information.

L'encodage, dernire tape du processus, est prcd d'une rorganisation de la matrice (ensemble des sous-matrices ou blocs): les coefficients correspondant aux basses frquences, et en bas droite les coefficients correspondant aux hautes frquences (ces derniers ayant beaucoup plus de chances d'tre proches de - ou gaux - zro). On utilise ensuite gnralement l'algorithme de Huffman pour effectuer l'encodage.

Arbres de HuffmanUn tel arbre est construit partir de la matrice (prpare selon le processus ci-dessus) en construisant une liste des lments et de leur frquence (cette le fois le nombre d'occurences de chaque coefficient dans la matrice), par ordre croissant. Ensuite, les deux lments de plus basse frquence (occurence) consitueront deux des "feuilles" de l'arbre. Leur "parent" est ensuite construit en lui associant une valeur qui est la somme des frquences de ses deux fils. Ce noeud parent est ensuite inject dans la liste des frquences la place correspondant sa valeur, tandis que les deux lments ayant servis l'obtenir sont enlevs de la liste. Le processus est ensuite itr avec les autres lments (en commenant par les frquences basses) jusqu' ce qu'il ne reste plus qu'un seul lment dans la liste: l'lment racine de l'arbre de Huffman.L'encodage proprement dit est constitu en associant chaque feuille ou branche de l'arbre un identifiant unique: une feuille ou branche gauche se verra associ un "0", tandis qu'une feuille ou branche droite se verra associe un "1". Une feuille gauche d'une branche droite de la racine aura donc l'identifiant "01" (l'arbre est travers depuis la feuille dsire), unique. Les valeurs sont places dans une table qui constituera la plus grande partie du fichier JPEG. Ces donnes sont compresses par la reprsentation en arbre de Huffman, et au pralable par l'opration de quantification.

Il existe d'autres techniques de compression d'image, notamment la compression par ondelettes, sur lesquelles nous reviendrons. La compression JPEG reste largement rpandue sur le web, mme si elle pourrait tre supplante par des algorithmes plus performants dans un futur proche.Contraintes dexploitation fix par le comit JPEG Modes de compression avec ou sans dgradationImplmentation hard ou softRseau de transport Numris (64 kbits/s)Affichage squentiel ou progressifObjectifs fixs ambitieux 2.25 bits/pixel : qualit de loriginale0.75 bit/pixel : qualit excellente0.25 bit/pixel : qualit moyenne0.08 bit/pixel : reconnaissable !

JPEG compression36JPEG compression6 tapesFormat des donnes compresses et schma de d/codage. Algorithmes de d/compression proposs mais non normaliss.

37La norme dcrit principalement le format des donnes compresses et le schma de codage et de dcodage. Les algorithmes de compression et de dcompression y sont proposs, mais ne sont pas normaliss. Ce qui fait que tout programmeur est libre d'prouver ses propres algorithmes ou variantes, pourvus que les formats de sortie soient respects.JPEG Dcoupage de limage (1) & transformation des couleurs (2)Dcouper limage en M carreaux fi(x,y) de 8 x 8 ou 16x16 pixelsles matrices doivent tre carres petit bloc temps de calcul raisonnableJPEG peut coder les couleurs sous plusieurs modles, mais meilleure compression avec codage de type luminance/chrominance (YUV)Oeil + sensible luminance qu chrominance

38JPEG Sous chantillonnage (3)

Exploiter la faible sensibilit de l'il la chrominancesous chantillonner les signaux de chrominancesous chantillonner 4:4:4, 4:2:2, 4:1:1

39La faon la plus simple dexploiter la faible sensibilit de l'il la chrominance est simplement de sous-chantillonner les signaux de chrominance. Gnralement on utilise un sous chantillonnage de type 2h1v ou 2h2v. Dans le premier cas (le plus utilis) on a un sous chantillonnage 1:1 horizontalement et 2:1 verticalement, dans le deuxime cas on a un sous chantillonnage 2:1 horizontalement et verticalement. Ces sous chantillonnages sont utiliss pour les chrominances, pour la luminance on n'utilise jamais de sous chantillonnage.JPEG DCT (4)Discrete Cosine TransformApplique sur les matrices Y, Cb et Cr Spare les basses et les hautes frquences prsentes dans l'image Mme principe que la transforme de FourrierDcomposition de la fonction f(x,y) dans une base de N*N fonctions dont la somme pondres = f(x,y) Calcul des coefficients C(u,v)

1 si w[1,N-1]si40La transformation DCTLa transformation est ralise, non pas sur limage entire, mais sur des blocs de 8 x 8 pixels. En effet,les matrices doivent tre carres et une taille plus grande serait trop coteuse en temps de calcul.A partir des valeurs f(x,y) du bloc considr de NxN pixels, la transformation calcule les coefficientsC(u,v) par :

JPEG DCT (4)Fonction 2DCoefficient DC = valeur moyenne du bloc : cest le plus important Coefficients AC = puissance spectrale pour chaque frquence spatiale.41

DCTJPEG DCT (4)C42JPEG Quantification (5)Introduit les principales pertesLa DCT est conservatrice si on omet les erreurs darrondis.Rduire le nb de valeurs correspondant aux amplitudes. Hautes frquences = faibles amplitudes peu sensible pour l'il limines. Utilisation dune matrice Q (u,v) qui dfinit le niveau de quantification pour chaque frquence Moins de niveau pour les matrices de chrominance que pour la luminance

Les tables doivent tre transmises au dcodeur

43JPEG Quantification (5)

CC* =44Codage RLE, DPCM & Huffman (6)RLE zigzag pour les AC dun carreauDans notre exemple RLE sur : 0, -2, -1, -1, -1, 0, 0, -1, EOB (End Of Block) 0, -2, #3 -1, #20, -1, EOB (End Of Block) conomie de 3 valeursCompression diffrentielle DPCM des cfficients DC

Huffman sur les suites de DC et AC encodsLes tables doivent tre transmises au dcodeur

45JPEG Dcompression

Dans notre exemple

Rsultat :

Erreur : e(x,y)Amplitude max :5 Moyenne : 1.6Moyenne normalis 1% (1,6/150)

46Autres formats PCX (PiCture eXchange). Environnement PC (mode CGA). 256 couleurs. Compression RLE, adapt de faibles nombres de couleurs. PICT QuickDraw. Traite aussi le vectoriel. Spcifique Macintosh. FAX Transmission de documents. Codage binaire (noir et blanc). Compression RLC puis type Huffman. TGA Cr par Truevision (cartes Targa et Vista). Trs puissant (comme TIFF). Peu connu. Compression RLC. Palettes graphiques haut de gamme (PC).

47Le format PCX

Le format PCX a t mis au point par la socit ZSoft, ditant le logiciel PaintBrush quipant en standard les systmes d'exploitation Microsoft Windows partir des annes 80. Le format PCX est un format bitmap permettant d'encoder des images dont la dimension peut aller jusqu' 65536 par 65536 et codes sur 1 bit, 4 bit, 8 bit ou 24 bit (correspondant respectivement 2, 16, 256 ou 16 millions de couleurs). La structure d'un fichier PCX est la suivante : En-tte de l'image (en anglais bitmap information header) d'une longueur de 128 octets Corps de l'image Informations Palette des couleurs (optionnelle). Il s'agit d'un champ de 768 octets permettant de stocker les diffrentes valeurs de rouge, de vert et de bleu (RVB) de chaque lment de la palette

Entte de l'image

L'entte de l'image fournit des informations sur l'image, notamment ses dimensions et ses couleurs. L'entte de l'image est compos des champs suivants : La signature du fichier (sur un octet), permettant d'identifier le type du fichier. La valeur hexadcimale 0A dsigne un fichier PCX. La version (sur un octet) : 0= Version 2.5 2= Version 2.8 avec palette 3= Version 2.8 sans palette 5= Version 3.0 Le format (sur un octet), c'est--dire la mthode d'encodage utilise. La valeur 1 dsigne un encodage RLE. Le nombre de bits par pixel par plan (sur un octet) Xmin (sur deux octets), abscisse de l'angle suprieur gauche Ymin (sur deux octets), ordonne de l'angle suprieur gauche Xmax (sur deux octets), abscisse de l'angle infrieur droit Ymax (sur deux octets), ordonne de l'angle infrieur droit rsolution horizontale (sur deux octets) rsolution verticale (sur deux octets) Palette (sur 48 octets) Rserv (sur un octet) Nombre de plans de couleur (sur un octet) Nombre de bits par ligne (sur 2 octets) Type de palette (sur 2 octets) Remplissage (58 octets) Il est intressant de noter que Xmax - Xmin + 1 reprsente la largeur de l'image et que Ymax - Ymin + 1 reprsente la hauteur de celle-ci.

Codage de l'image

Le codage de l'image se fait en crivant successivement les bits correspondant chaque pixel, ligne par ligne en commenant par le pixel en haut gauche, puis en parcourant de gauche droite et de haut en bas.

Le format TIF

Le format TIF ou TIFF (Tagged Image File Format) est un format de fichier graphique bitmap (raster). Il a t mis au point en 1987 par la socit Aldus (appartenant dsormais Adobe). Les dernires spcifications (Revision 6.0) ont t publies en 1992.

Caractristiques du format TIF

Le format TIFF est un ancien format graphique, permettant de stocker des images bitmap (raster) de taille importante (plus de 4 Go compresses), sans perdition de qualit et indpendamment des plates formes ou des priphriques utiliss (Device-Independant Bitmap, not DIB). Le format TIFF permet de stocker des images en noir et blanc, en couleurs relles (True color, jusqu' 32 bits par pixels) ainsi que des images indexes, faisant usage d'une palette de couleurs. De plus le format TIF permet l'usage de plusieurs espaces de couleurs : RGB CMYK CIE L*a*b YUV / YCrCb

Structure d'un fichier TIFF

Le principe du format TIF consiste dfinir des balises (en anglais tags, d'o le nom Tagged Image File Format) dcrivant les caractristiques de l'image. Les balises permettent de stocker des informations concernant aussi bien les dimensions de l'image, le nombre de couleurs utilises, le type de compression (de nombreux algorithmes peuvent ainsi tre utiliss Packbits / CCITT G3&4 / RLE / JPEG / LZW / UIT-T), ou bien la correction gamma. Ainsi la description de l'image par balise rend simple la programmation d'un logiciel permettant d'enregistrer au format TIFF. En contrepartie la multiplicit des options proposes est telle que nombre de lecteurs d'images supportant le format TIFF ne les intgrent pas toutes, si bien qu'il arrive qu'une image enregistre au format TIFF ne soit pas lisible sous un autre. Exemple de dgradation JPG Taux 1Taux 10Taux 20897 Ko457 Ko346 KoTaux 50Taux 75Taux 99241 Ko119 Ko40 Ko

48Taux de compression JPG Droopy, compression 10 (159 Ko)

Droopy compression 20 (119 Ko)

49RcapitulatifsPour DroppyCompression sans perte : GIF & PNG. Compression avec pertes : JPG. FormatNb couleursCompressionTaille DroopyTaille TournesolBMP256770 Ko5363 KoBMP256RLE613 Ko1745 KoTIFF256771 Ko5364 KoTIFF256LZW364 Ko3395 KoTIFF2Huffman156 Ko462 KoGIF256LZW353 Ko1203 KoPNG256LZW310 Ko2723 KoJPG16 millionsTaux 1451 Ko897 KoJPG16 millionsTaux 10159 Ko457 KoJPG16 millionsTaux 20119 Ko346 KoJPG16 millionsTaux 9917 Ko40 KoPour TournesolCompression sans perte : GIF, mais 256 couleurs. PNG, mais compression insuffisante. JPG !!! Compression avec pertes : JPG50