Obligement - L'Amiga au maximum

Vendredi 17 novembre 2017 - 18:08  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Dossier : Le codage des images et de la couleur
(Article écrit par Jean-François Pillou - 2004)


Note : ce document est issu de Comment Ça Marche et mis à disposition sous les termes de la licence Creative Commons.

On appelle infographie le domaine de l'informatique concernant la création et la manipulation des images numériques. L'infographie regroupe de nombreux savoirs, parmi lesquels la représentation des éléments graphiques (texte, image ou vidéo), ainsi que leurs transformations (rotation, translation, zoom...) par l'intermédiaire d'algorithmes.

Les technologies d'affichage

L'image s'affiche sur un écran (appelé aussi moniteur), il s'agit d'un périphérique de sortie permettant de fournir une représentation visuelle. Ces informations proviennent de l'ordinateur, mais de façon "indirecte". En effet, le processeur n'envoie pas directement les informations au moniteur, mais traite les informations provenant de sa mémoire vive (RAM), puis les envoie à une carte graphique qui est chargée de convertir les informations en impulsions électriques qu'elle envoie au moniteur.

Il existe des moniteurs à tubes cathodiques, c'est-à-dire un tube en verre dans lequel un canon à électrons émet des électrons dirigés par un champ magnétique vers un écran sur lequel sont disposés de petits éléments phosphorescents (luminophores) constituant des points (pixels) émettant de la lumière lorsque les électrons viennent les heurter. Il y a aussi les écrans LCD (Liquid Crystal Display) qui sont composés de deux plaques parallèles rainurées transparentes, orientées à 90°, entre lesquelles est coincée une fine couche de liquide contenant des molécules (cristaux liquides) qui ont la propriété de s'orienter lorsqu'elles sont soumises à du courant électrique.

La notion de pixel

Une image est constituée d'un ensemble de points appelés "pixels" (pixel est une abréviation de PICture ELement). Le pixel représente ainsi le plus petit élément constitutif d'une image numérique. L'ensemble de ces pixels est contenu dans un tableau à deux dimensions constituant l'image :

pixel

Étant donné que l'écran effectue un balayage de gauche à droite et de haut en bas, on désigne généralement par les coordonnées [0,0] le pixel situé en haut à gauche de l'image, cela signifie que les axes de l'image sont orientés de la façon suivante :
  • L'axe X est orienté de gauche à droite.
  • L'axe Y est orienté de haut en bas, contrairement aux notations conventionnelles en mathématiques, où l'axe Y est orienté vers le haut.
Définition et résolution

On appelle définition le nombre de points (pixel) constituant l'image, c'est-à-dire sa "dimension informatique" (le nombre de colonnes de l'image que multiplie son nombre de lignes). Une image possédant 640 pixels en largeur et 480 en hauteur aura une définition de 640 pixels par 480, notée 640x480.

La résolution, terme souvent confondu avec la "définition", détermine par contre le nombre de points par unité de surface, exprimé en points par pouce (ppp, en anglais DPI pour Dots Per Inch) ; un pouce représentant 2.54 cm. La résolution permet ainsi d'établir le rapport entre le nombre de pixels d'une image et la taille réelle de sa représentation sur un support physique. Une résolution de 300 DPI signifie donc 300 colonnes et 300 rangées de pixels sur un pouce carré ce qui donne donc 90 000 pixels sur un pouce carré. La résolution de référence de 72 DPI nous donne un pixel de 1"/72 (un pouce divisé par 72) soit 0,353 mm, correspondant à un point pica (unité typographique anglo saxonne).

Bits et couleurs

Une image est donc représentée par un tableau à deux dimensions dont chaque case est un pixel. Pour représenter informatiquement une image, il suffit donc de créer un tableau de pixels dont chaque case contient une valeur. La valeur stockée dans une case est codée sur un certain nombre de bits déterminant la couleur ou l'intensité du pixel, on l'appelle profondeur de codage (parfois profondeur de couleur). Il existe plusieurs standards de codage de la profondeur :
  • Bitmap noir et blanc : en stockant un bit dans chaque case, il est possible de définir deux couleurs (noir ou blanc).
  • Bitmap 16 couleurs ou 16 niveaux de gris : en stockant 4 bits dans chaque case, il est possible de définir 24 possibilités d'intensités pour chaque pixel, c'est-à-dire 16 dégradés de gris allant du noir au blanc ou bien 16 couleurs différentes.
  • Bitmap 256 couleurs ou 256 niveaux de gris : en stockant un octet dans chaque case, il est possible de définir 28 intensités de pixels, c'est-à-dire 256 dégradés de gris allant du noir au blanc ou bien 256 couleurs différentes.
  • Palette de couleurs (colormap) : grâce à cette méthode, il est possible de définir une palette, ou table des couleurs, contenant l'ensemble des couleurs pouvant être contenues dans l'image, à chacune desquelles est associé un indice. Le nombre de bits réservé au codage de chaque indice de la palette détermine le nombre de couleurs pouvant être utilisées. Ainsi en codant les indices sur 8 bits il est possible de définir 256 couleurs utilisables, c'est-à-dire que chaque case du tableau à deux dimensions représentant l'image va contenir un nombre indiquant l'indice de la couleur à utiliser. On appelle ainsi image en couleurs indexées une image dont les couleurs sont codées selon cette technique.
  • "Couleurs vraies" (True Color) ou "couleurs réelles" : cette représentation permet de représenter une image en définissant chacune des composantes (RGB, pour rouge, vert et bleu). Chaque pixel est représenté par un entier comportant les trois composantes, chacune codée sur un octet, c'est-à-dire au total 24 bits (16 millions de couleurs). Il est possible d'ajouter une quatrième composante permettant d'ajouter une information de transparence ou de texture, chaque pixel est alors codé sur 32 bits.
Poids d'une image

Pour connaître le poids (en octets) d'une image, il est nécessaire de compter le nombre de pixels que contient l'image, cela revient à calculer le nombre de cases du tableau, soit la hauteur de celui-ci que multiplie sa largeur. Le poids de l'image est alors égal à son nombre de pixels que multiplie le poids de chacun de ces éléments.

Voici le calcul pour une image 640x480 en True Color :
640 x 480 = 307 200
24 bits / 8 = 3 octets
Soit un poids de 307 200 x 3 = 921 600 octets.

Voici quelques exemples (en considérant que l'image n'est pas compressée) :

Définition
de l'image
Noir et blanc
(1 bit)
256 couleurs
(8 bits)
65 000 couleurs
(16 bits)
True Color
(24 bits)
320x200 7,8 ko 62,5 ko 125 ko 187,5 ko
640x480 37,5 ko 300 ko 600 ko 900 ko
800x600 58,6 ko 468,7 ko 937,5 ko 1,4 Mo
1024x768 96 ko 768 ko 1,5 Mo 2,3 Mo

Cela met en évidence la quantité de mémoire vidéo que nécessite votre carte graphique en fonction de la définition de l'écran (nombre de points affichés) et du nombre de couleurs. L'exemple montre ainsi qu'il faut une carte ayant au minimum 4 Mo de mémoire vidéo afin d'afficher une résolution de 1024x768 en True Color.

Transparence

La transparence est une caractéristique permettant de définir le niveau d'opacité des éléments d'une image, c'est-à-dire la possibilité de voir à travers l'image des éléments graphiques située derrière celle-ci.

Il existe deux modes de transparence :
  • La transparence simple s'applique pour une image indexée et consiste à définir parmi la palette de couleurs une des couleurs comme transparente.
  • La transparence par couche alpha (ou canal alpha, en anglais alpha channel) consiste à ajouter pour chaque pixel de l'image un octet définissant le niveau de transparence (de 0 à 255). Le processus consistant à ajouter une couche transparente à une image est généralement appelée alpha blending.
Le codage de la couleur

Les représentations de la couleur

Afin de pouvoir manipuler correctement des couleurs et échanger des informations colorimétriques il est nécessaire de disposer de moyens permettant de les catégoriser et de les choisir. Ainsi, il n'est pas rare d'avoir à choisir la couleur d'un produit avant même que celui-ci ne soit fabriqué. Dans ce cas, une palette de couleurs est présentée, dans laquelle la couleur convenant le mieux au besoin est choisie. La plupart du temps le produit (véhicule, bâtiment, etc.) possède une couleur qui correspond à celle choisie.

En informatique, de la même façon, il est essentiel de disposer d'un moyen de choisir une couleur parmi toutes celles utilisables. Or la gamme de couleurs possibles est très vaste et la chaîne de traitement de l'image passe par différents périphériques : par exemple un numériseur (scanner), puis un logiciel de retouche d'image et enfin une imprimante. Il est donc nécessaire de pouvoir représenter de façon fiable la couleur afin de s'assurer de la cohérence entre ces différents périphériques.

On appelle ainsi "espace de couleurs" la représentation mathématique d'un ensemble de couleurs. Il en existe plusieurs, parmi lesquels les plus connus sont :
  • Le codage RGB (Rouge, Vert, Bleu, en anglais RGB, Red, Green, Blue).
  • Le codage TSL (Teinte, Saturation, Luminance, en anglais HSL, Hue, Saturation, Luminance).
  • Le codage CMYK.
  • Le codage CIE.
  • Le codage YUV.
  • Le codage YIQ.
Le spectre de couleurs qu'un périphérique d'affichage permet d'afficher est appelé gamut ou espace colorimétrique. Les couleurs n'appartenant pas au gamut sont appelées couleurs hors-gamme.

Le codage RGB

Le codage RGB, mis au point en 1931 par la Commission Internationale de l'Éclairage (CIE) consiste à représenter 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 façon dont les couleurs sont généralement codées informatiquement, ou plus exactement à la manière dont les tubes cathodiques des écrans d'ordinateurs représentent les couleurs.

Ainsi, le modèle RGB propose de coder sur un octet chaque composante de couleur, ce qui correspond à 256 intensités de rouge (28), 256 intensités de vert et 256 intensités de bleu, soient 16 777 216 possibilités théoriques de couleurs différentes, c'est-à-dire plus que ne peut en discerner l'oeil humain (environ 2 millions). Toutefois, cette valeur n'est que théorique car elle dépend fortement du matériel d'affichage utilisé.

Étant donné que le codage RGB repose sur trois composantes proposant la même gamme de valeur, on le représente généralement graphiquement par un cube dont chacun des axes correspond à une couleur primaire :

codage RVB

Le codage HSL

Le modèle HSL (Hue, Saturation, Luminance, ou en français TSL), s'appuyant sur les travaux du peintre Albert H. Munsell (qui créa l'Atlas de Munsell), est un modèle de représentation dit "naturel", c'est-à-dire proche de la perception physiologique de la couleur par l'oeil humain. En effet, le modèle RGB aussi adapté soit-il pour la représentation informatique de la couleur ou bien l'affichage sur les périphériques de sortie, ne permet pas de sélectionner facilement une couleur. En effet, le réglage de la couleur en RGB dans les outils informatiques se fait généralement à l'aide de trois glisseurs ou bien de trois cases avec les valeurs relatives de chacune des composantes primaires, or l'éclaircissement d'une couleur demande d'augmenter proportionnellement les valeurs respectives de chacune des composantes. Ainsi le modèle HSL a-t-il été mis au point afin de pallier cette lacune du modèle RGB.

Le modèle HSL consiste à décomposer la couleur selon des critères physiologiques :
  • La teinte (en anglais Hue), correspondant à la perception de la couleur (T-shirt mauve ou orange).
  • La saturation, décrivant la pureté de la couleur, c'est-à-dire son caractère vif ou terne (T-shirt neuf ou délavé).
  • La luminance, indiquant la quantité de lumière de la couleur, c'est-à-dire son aspect clair ou sombre (T-shirt au soleil ou à l'ombre).
Voici une représentation graphique du modèle HSL, dans lequel la teinte est représentée par un cercle chromatique et la luminance et la saturation par deux axes :

codage HSL

Le modèle HSL a été mis au point dans le but de permettre un choix interactif rapide d'une couleur, pour autant il n'est pas adapté à une description quantitative d'une couleur.

Il existe d'autres modèles naturels de représentation proches du modèle HSL :
  • HSB : Hue, Saturation, Brightness soit Teinte, Saturation, Brillance en français. La brillance décrit la perception de la lumière émise par une surface.
  • HSV : Hue, Saturation, Value soit Teinte, Saturation, Valeur en français.
  • HSI : Hue, Saturation, Intensity soit Teinte, Saturation, Intensité en français.
  • HCI : Hue, Chrominance, Intensity soit Teinte, Chrominance, Intensité.
Le codage CMY

Le codage CMY (Cyan, Magenta, Yellow, ou Cyan, Magenta, Jaune en français, soit CMJ) est à la synthèse soustractive, ce que le codage RGB est à la synthèse additive. Ce modèle consiste à décomposer une couleur en valeurs de Cyan, de Magenta et de Jaune.

L'absence de ces trois composantes donne du blanc tandis que leur ajout donne du noir. Toutefois, le noir obtenu par l'ajout des trois couleurs Cyan, Magenta et Jaune n'étant que partiellement noir en pratique (et coûtant cher), les imprimeurs ajoutent une composante d'encre noire que l'on appelle noir pur. On parle alors de quadrichromie, ou modèle CMYK (Cyan, Magenta, Jaune, Noir pur, ou en français CMJN).

Le codage CIE

Les couleurs peuvent être perçues différemment selon les individus et peuvent être affichées différemment selon les périphériques d'affichage. La Commission Internationale de l'Eclairage (CIE) a donc défini des standards permettant de définir une couleur indépendamment des périphériques utilisés. A cette fin, la CIE a défini des critères basés sur la perception de la couleur par l'oeil humain, grâce à un triple stimulus.

En 1931 la CIE a élaboré le système colorimétrique xyY représentant les couleurs selon leur chromaticité (axes x et y) et leur luminance (axe Y). Le diagramme de chromaticité (ou diagramme chromatique), issu d'une transformation mathématique représente sur la périphérie les couleurs pures, c'est-à-dire les rayonnements monochromatiques correspondant aux couleurs du spectre (couleurs de l'arc-en-ciel), repérées par leur longueur d'onde. La ligne fermant le diagramme (donc fermant les deux extrémités du spectre visible) se nomme la droite des pourpres, car elle correspond à la couleur pourpre, composée des deux rayonnements monochromatiques bleu (420 nm) et rouge (680 nm) :

codage CIE

On représente généralement le gamut d'un dispositif d'affichage en traçant dans le diagramme chromatique un polygone renfermant toutes les couleurs qu'il est capable de produire.

Toutefois, ce mode de représentation purement mathématique ne tient pas compte des facteurs physiologiques de perception de la couleur par l'oeil humain, ce qui résulte en un diagramme de chromaticité laissant par exemple une place beaucoup trop large aux couleurs vertes.

En 1960 la CIE mit au point le modèle Lu*v*.

Enfin, en 1976, afin de remédier aux lacunes du modèle xyY, la CIE développe le modèle colorimétrique La*b* (aussi connu sous le nom de CIELab), dans lequel une couleur est repérée par trois valeurs :
  • L, la luminance, exprimée en pourcentage (0 pour le noir à 100 pour le blanc).
  • a et b deux gammes de couleur allant respectivement du vert au rouge et du bleu au jaune avec des valeurs allant de -120 à +120.
Le mode Lab couvre ainsi l'intégralité du spectre visible par l'oeil humain et le représente de manière uniforme. Il permet donc de décrire l'ensemble des couleurs visibles indépendamment de toute technologie graphique. De cette façon il comprend la totalité des couleurs RGB et CMYK, c'est la raison pour laquelle des logiciels tels que Photoshop utilisent ce mode pour passer d'un modèle de représentation à un autre.

Il s'agit d'un mode très utilisé dans l'industrie, mais peu retenu dans la plupart des logiciels étant donné qu'il est difficile à manipuler.

Les modèles de la CIE ne sont pas intuitifs, toutefois le fait de les utiliser garantit qu'une couleur créée selon ces modèles sera vue de la même façon par tous !

Le codage YUV

Le modèle YUV (appelé aussi CCIR 601) est un modèle de représentation de la couleur dédié à la vidéo analogique. Il s'agit du format utilisé dans les standards PAL (Phase Alternation Line) et SECAM (Séquentiel Couleur avec Mémoire). Le paramètre Y représente la luminance (c'est-à-dire l'information en noir et blanc), tandis que U et V permettent de représenter la chrominance, c'est-à-dire l'information sur la couleur. Ce modèle a été mis au point afin de permettre de transmettre des informations colorées aux téléviseurs couleurs, tout en s'assurant que les téléviseurs noir et blanc existant continuent d'afficher une image en tons de gris.

Voici les relations liant Y à R, G et B, U à R et à la luminance, et enfin V à B et à la luminance :
  • Y = 0.299R + 0.587 G + 0.114 B
  • U = -0.147R - 0.289 G + 0.436B = 0.492(B - Y)
  • V = 0.615R -0.515G -0.100B = 0.877(R-Y)
Ainsi U est parfois noté Cr et V noté Cb, d'où la notation YCrCb.

Le codage YIQ

Le modèle YIQ est très proche du modèle YUV. Il est notamment utilisé dans le standard vidéo NTSC (utilisé entre autres aux États-Unis et au Japon). Le paramètre Y représente la luminance. I et Q représentent respectivement l'Interpolation et la Quadrature. Les relations entre ces paramètres et le modèle RGB sont les suivantes :
  • Y = 0.299 R + 0.587 G + 0.114 B
  • I = 0.596 R - 0.275 G - 0.321 B
  • Q = 0.212 R - 0.523 G + 0.311 B
Facteur gamma

On appelle facteur gamma le critère définissant le caractère non linéaire de l'intensité lumineuse d'un élément.

Ainsi la luminance d'un écran d'ordinateur est non linéaire dans la mesure où :
  • L'intensité lumineuse qu'il émet n'est pas linéairement proportionnelle à la tension appliquée, mais correspond à une courbe fonction du gamma de l'écran (généralement compris entre 2,3 et 2,6) : I ~ Vgamma.
  • L'intensité lumineuse perçue par l'oeil n'est pas proportionnelle à la quantité de lumière effectivement émise
Afin de remédier à cet effet et obtenir une reproduction satisfaisante de l'intensité lumineuse, il est possible de compenser la luminance en appliquant une transformation appelée "correction gamma".

Ainsi à chaque périphérique d'affichage correspond une transformation gamma, pouvant elle-même être adaptée à la perception de l'utilisateur.

La gestion de la couleur

Il est facile de comprendre l'intérêt du respect des couleurs d'une image lors du passage de celle-ci via plusieurs périphériques (chaîne numérique composée par exemple d'un scanner, d'un logiciel de traitement d'image, puis d'une imprimante) afin de s'assurer que l'image en fin de chaîne de traitement possède des couleurs proches de l'image d'origine. On appelle "gestion de la couleur" l'ensemble des opérations nécessaires afin de garantir la bonne conservation des couleurs d'une image.

Afin de pouvoir garantir la cohérence des couleurs il est essentiel d'étalonner (ou calibrer) l'ensemble des matériels de la chaîne numérique. Le calibrage (ou étalonnage) d'un matériel consiste ainsi à décrire dans un fichier, appelé profil ICC (International Color Consortium), l'ensemble des couleurs qu'il est capable d'acquérir ou de produire (il s'agit donc de son gamut) dans un espace de couleur indépendant (par exemple CIE Lab ou CIE XYZ).

Ce profil ICC est intégré dans l'image et véhicule l'ensemble des transformations qu'elle a subi le long de la chaîne de traitement, à la manière d'un carnet de suivi.


[Retour en haut] / [Retour aux articles]