Les formats bitmap
Comment une image est-elle mémorisée par un ordinateur ?
Cours de base pour graphistes





Bits, nibbles, octets, bytes, mots et long-mots

Commençons par parler de ce que l'ordinateur utilise pour mémoriser toutes choses : les bits. Un bit est une "mémoire" qui peut se trouver dans deux états : l'état O et l'état I. C'est comme une pièce de monnaie posée sur une table : elle peut être côté côté pile ou côté face. Supposons par exemple qu'un ami passe chez toi tous les soirs. Mais parfois tu voudrais qu'il achète un pain chez le boulanger en bas de chez toi avant de monter chez toi. Tu pourrais passer la convention suivante avec lui : "Si un mouchoir est attaché au pignon de la fenêtre, il faut prendre un pain. S'il n'y a pas de mouchoir au pignon de la fenêtre il ne faut pas acheter de pain." Le pignon de la fenêtre est un bit. Il est dans l'état O (pas de mouchoir) ou dans l'état I (mouchoir). S'il est dans l'état O il ne faut pas acheter un pain. S'il est dans l'état I il faut acheter un pain. N'importe quoi convient pour servir de bit. Un ordinateur classique utilise trois moyens différents :
Quand l'ordinateur fonctionne, il utilise essentiellement les bits de son microprocesseur et de sa RAM, parce qu'ils sont très rapides. Le disque dur sert essentiellement au stockage. C'est pour cela qu'il est impératif que tes images soient "sauvées sur le disque dur" avant d'éteindre l'ordinateur.

Les images peuvent bien sûr aussi êtres stockées sur des disquettes. Elles fonctionnent comme le disque dur, mais elles sont beaucoup plus lentes et ne peuvent stocker que douze millions de bits. Leur avantage est qu'elles sont amovibles, légères et qu'elles ne coûtent que 15 FB pièce. Si tu poses un aimant puissant sur la surface de ferrite à l'intérieur de la disquette (en faisant coulisser le volet métallique), tu polarises tous les grains de ferrite avec leur pôle sud vers le haut ou vers le bas, donc tu mets tous les bits de cette zone à O ou à I, donc tu effaces les données mémorisées à cet endroit.

Tu vas peut-être me dire "C'est gentil que mon ordinateur contiennent des centaines de milliards de bits, mais avec un bit on ne peut vraiment pas faire grand-chose. C'est pas très performant ces machins là. Ils peuvent juste mémoriser "oui" ou "non". Tu as bien sûr raison. C'est pour cela qu'on utilise des groupes de bits :

Un nibble peut mémoriser un chiffre de 0 à 15. En effet, un groupe de 4 bits peut se trouver dans 16 état différents : OOOO, OOOI, OOIO, OOII, OIOO, OIOI, OIIO, OIII, IOOO, IOOI, IOIO, IOII, IIOO, IIOI, IIIO, IIII.

On a décidé que OOOO voulait dire 0, OOOI veut dire 1, OOIO veut dire 2, OOII veut dire 3, OIOO veut dire 4, OIOI veut dire 5, OIIO veut dire 6, OIII veut dire 7, IOOO veut dire 8, IOOI veut dire 9, IOIO veut dire 10, IOII veut dire 11, IIOO veut dire 12, IIOI veut dire 13, IIIO veut dire 14, IIII veut dire 15.

Un octet peut se trouver dans 256 états différents.

Un mot peut se trouver dans 65.536 états différents.

Un long-mot peut se trouver dans 4.294.967.296 états différents.

Par exemple, l'ordinateur utilise des octets pour mémoriser les caractères d'un texte : OOIOOOOO veut dire "un espace", OIOOOOOI veut dire "A majuscule", OIOOOOIO veut dire "B majuscule", OIOOOOII veut dire "C majuscule", OIIOOOOI veut dire "a minuscule", etc...

Un nibble convient très bien pour dire à ton ami combien de miches il faut acheter à la boulangerie. Tu poses quatre pots sur le rebord de ta fenêtre. Un pot retourné veut dire O, un pot à l'endroit veut dire I. S'il voit les deux premiers pots retournés, le troisième à l'endroit et le quatrième retourné, soit OOIO, il sait que tu veux deux miches.

Tu as peut-être déjà entendu des transmissions digitales à la radio. Une suite de sifflements stridents et désordonnés. Ce sont des ordinateurs qui se transmettent de l'information. Si par exemple tu entends taaat tuuut taaat taaat taaat taaat taaat tuuut, soit OIOOOOOI, tu sais que l'un des ordinateurs vient probablement de transmettre à l'autre le code de la lettre A majuscule. L'ordinateur destinataire stocke soigneusement chaque son dans un bit de sa mémoire. Quand il entend taaat il stocke O et quand il entend tuuut il stocke I. Bit, après bit, octet après octet, un texte est mémorisé dans sa mémoire. A la fin de sa transmission, il sait que ce paquet de disons 395 octets, là dans sa mémoire, contient les codes de 395 lettres qui forment un texte.




Les formats d'image.

Voyons tout d'abord les formats directs :
Voici les formats indexés (format indexé veut dire "image accompagné d'un index des couleurs", "une table des couleurs") :
Un graphiste ne travaille jamais avec des photos en format indexé. Ce pour deux raisons :
Les formats indexés ont été inventés parce qu'ils conviennent souvent assez bien pour mémoriser et reproduire une image et qu'ils utilisent moins de mémoire que les formats directs. Un graphiste peut donc éventuellement mettre une image en format indexé une fois qu'elle est terminée, pour qu'elle prenne moins de place, pour qu'elle se transmette plus vite par Internet.

 Un format indexé peut être avantageux pour travailler sur des logos bruts, quand le logiciels qu'on utilise est adapté aux images indexées. On peut alors disposer de certaines possibilités qu'on aurait pas en format direct. Par exemple on peut définir soi-même chacune des 2, 16 ou 256 couleurs qu'on utilise. Fondamentalement cela ne permet pas de faire des choses qui seraient impossibles en format direct, mais c'est plus pratique pour travailler.




Les techniques de compression

Les trois types d'image importants à connaître sont le type BMP, le type JPEG et le type GIF.
Tous les autres types de stockage d'images ; PCX, PPM, YUV, EPS, TIFF... ressemblent à ces trois types de base ou n'en sont que des adaptations.




La transparence

Certains logiciels et certains formats d'image permettent de définir la transparence de chaque point. Pour une photo simple, cette notion est inutile. Mais pour une image destinée à être posée sur une autre image, c'est une notion essentielle.

Prends par exemple les icônes sur ton bureau. Ce sont tous des bitmap 32x32 ou 64x64. Pourtant tu ne vois pas des carrés bruts de cette taille. L'icône de la poubelle, par exemple, est un joli polygone. Tout autour du dessin de la poubelle, le fond du bureau apparaît. Tout simplement, pour tous les points où le fond de l'écran doit apparaître, le bitmap de la poubelle contient l'information "Ce point est transparent ! Ne rien afficher ! Afficher ce qu'il y a derrière !".

Un autre exemple : les pages Web. Comment un logo rond peut-il être affiché correctement sur un fond bariolé alors qu'un bitmap est nécessairement rectangulaire ? Tout simplement parce que tous les points autour du rond sont notés "transparents".

La notion de transparence est vitale pour un graphiste. Quand il colle une image sur une autre image, il lui est nécessaire de pouvoir dire au préalable quelles parties de l'image qu'il colle doivent être transparentes, laisser voir la photo de fond. Pour éviter l'apparition "d'escaliers" il est même nécessaire, pour un travail professionnel, que chaque point puisse avoir une transparence variable. Certains points doivent totalement laisser voir la photo de fond, d'autres points doivent seulement la laisser apparaître partiellement. Ils doivent être partiellement transparent.

Le type GIF (couleurs indexées) permet de gérer la transparence de façon toute simple. Il suffit de dire "La couleur n° x n'est pas une couleur, elle veut dire que c'est transparent". Si on veut dessiner un rond, pour qu'il apparaisse comme un rond sur un fond quelconque, il suffit de dessiner tout ce qui est hors du rond disons en vert. Puis il faut dire au logiciel "Ce qui est vert (couleur n° x), et bien c'est transparent". Certains types travaillent d'une autre manière : l'image est accompagnée d'une image 1-bit de la même taille. Le bit de cette seconde image sert à définir si un point de l'image est transparent ou non. I il est transparent, O il n'est pas transparent (ou le contraire, peu importe).

Il existe des types d'image photo capables de mémoriser une transparence variable pour chaque point de l'image. Chaque point est donc constitué de 4 octets, 32 bits. Trois octets pour la proportion de rouge, vert et bleu. Un octet pour le degré de transparence : 0% le point est opaque, 100% il est totalement transparent (sa couleur n'a pas d'importance). 50% il est à moitié transparent (il faudra faire un mélange 50%-50% de sa couleur est de la couleur du point de l'image sur lequel on le superpose). (Ceci n'a rien à voir avec les "outils de superposition" que proposent certains logiciels. Ils permettent de définir la proportion et le type de transparence réciproque de deux images que l'on superpose. Les deux images peuvent ne contenir aucune information de transparence. Une fois la superposition faite, en transparence, elles n'en contiendront toujours pas.)




L'avenir des couleurs

Actuellement la photo, l'imprimerie, la télévision et l'informatique partent du principe qu'à base des trois couleurs fondamentales rouge, vert et bleu on peut reproduire toutes les couleurs perceptibles par l'oeil humain. La raison en est que l'oeil contient trois types de récepteurs différents :
Mais les récepteurs rouge et verts sont également sensibles au jaune. Les récepteurs verts et bleu sont également sensibles au cyan. Donc, quand l'oeil regarde un point jaune, qui envoie de la lumière jaune vers l'oeil, les récepteurs rouges et les récepteurs verts sont stimulés. Le cerveau en déduit qu'il voit du jaune.

Si on "triche", si l'oeil regarde un point qui lui envoie du rouge et du vert, le résultat sera le même : les récepteurs rouges et les récepteurs verts sont stimulés. Donc le cerveau en déduit qu'il voit du jaune. Pour faire croire qu'un point est orange, il suffit qu'il envoie beaucoup de rouge et un peu de vert... Pour faire croire qu'un point est vert citron, il suffit qu'il envoie beaucoup de vert et un peu de rouge. Ainsi, en trichant un peu, l'oeil est capable de percevoir toutes les couleurs de l'arc-en-ciel. Quand il voit du jaune, il est incapable de dire si c'est de la lumière jaune ou si c'est un mélange de lumière rouge et de lumière verte, mais peu importe. Quand il voit du rouge pur, du vert pur ou du bleu pur, alors on est certain que c'est bien de la lumière rouge, verte ou bleue.

L'élément exotique est que ce système fait apparaître des couleurs qui n'existent pas dans l'arc-en-ciel : par exemple le magenta. Le magenta est constitué de rouge et de bleu. D'un point de vue physique, la couleur magenta n'existe pas, elle ne fait pas partie de l'arc-en-ciel. Il n'existe pas de lumière magenta. La couleur magenta est nécessairement un mélange de lumière rouge et de lumière bleue. Quand l'oeil reçoit de la lumière rouge et de la bleue, il dit "Oh, du magenta !", tout comme il dit "Oh, du jaune!" quand il reçoit de la lumière rouge et de lumière verte ou de la lumière jaune (ou un mélange des trois).

En réalité l'oeil est sensible à plus que trois lumières. Presque tous les êtres humains sont sensibles au violet. Certaines personnes, surtout des femmes, sont sensibles à une cinquième lumière, située entre le vert et le bleu. La lumière violet contribue énormément à donner de la richesse à certains paysages ou à certains objets, à certaines textures. La firme Fuji, je crois, commercialise actuellement une pellicule photographique pour appareils 24x36 traditionnels qui est également sensible au violet. C'est un grand progrès. Espérons que nous ne devrons pas trop attendre avant que les écrans d'ordinateurs reproduisent aussi la lumière violette et la cinquième couleur entre le vert et le bleu.

Un autre progrès qu'il faut attendre de la part des écrans d'ordinateurs est qu'ils deviennent capables d'afficher des points beaucoup plus lumineux. Si tout un écran devient uniformément surbrillant, il est évidemment impossible à regarder. Mais quand il affiche par exemple un paysage avec le soleil qui brille et rend les nuages très brillants juste autour de lui, si l'écran pouvait reproduire la forte brillance de cette partie de l'image... Ou la forte brillance des petits reflets de soleil sur l'eau ou dans une ville... Quelle magie ce serait ! Pour le moment nous devons nous contenter de zones blanches saturées débordant sur les côtés... Un essai est facile en imprimerie, par exemple en plaçant une lampe très forte derrière ou devant une affiche spéciale. En lumière normale l'affiche apparaît très sombre ou incomplète. Avec la lampe très forte les zones sombre apparaissent normales et les zones claires sont surbrillantes. Avec un moniteur actuel, on peut obtenir une idée du résultat en procédant ainsi : se placer dans une pièce noire, régler le moniteur à la luminosité maximum et afficher une image assombrie avec quelques parties brillantes.



Eric Brasseur   - 13 janvier 2000       Pour Myriam       [ Accueil | eric.brasseur@gmail.com ]