Colorimétrie et vidéo : les bases


Allez, un peu de théorie ça ne fait pas de mal (merci à John Watkinson et à Jacques Gaudin de l'INA).
Colorimétrie appliquée : de nombreuses références existent, je donne ici le lien du blog d' Oliver Peters qui en cite quelques unes tout en développant certaines techniques dans un excellent article. Un autre article sur ce même blog développe l'utilisation des LUT avec FCP X. C'est un tuto qui peut facilement être étendu à d'autres logiciels.


Nous savons que la couleur est reproduite en vidéo grâce au mélange additif de trois couleurs primaires : rouge, vert et bleu (RGB). Un écran couleur recevra donc trois signaux vidéo, chacun véhiculant une couleur primaire. Les caméras couleur ont souvent (mais pas toujours) trois capteurs séparés, un pour chaque couleur primaire, et par conséquent on pourra relier directement une caméra et un écran. Trois signaux parallèles forment un flux RGB, chacun d’entre eux ayant la même bande passante. Le système RGB n’est cependant pas utilisé pour les applications de broadcast en raison de son coût élevé.
Lorsque le système RGB est utilisé dans le domaine numérique, on peut voir que chaque image est composée de trois couches superposées d’échantillons, une pour chaque couleur primaire (figure 1). Un pixel n’est plus dès lors un simple nombre représentant une valeur scalaire de la luminosité, mais un vecteur qui décrit la luminosité, la teinte et la saturation de ce point dans l’image. En RGB, les pixels sont composés de trois nombres unipolaires représentant la proportion de chacune des trois couleurs primaires dans ce point de l’image.

Figure 1 : chaque pixel sur un plan à 2 dimensions a trois attributs, RGB ou Y, R-Y, B-Y


On peut réduire la bande passante nécessaire pour véhiculer le signal en utilisant des signaux de différence de couleur. Le système visuel (HVS) est beaucoup plus sensible à la luminosité pour distinguer les détails d’une image et beaucoup moins à la couleur : on aura besoin d’une résolution moins importante pour véhiculer l’information couleur. Par conséquent, le matriçage des signaux R, G et B forme un signal Y appelé luma (compatible avec les écrans monochromes) et qui lui seul  aura besoin de toute la bande passante. L’œil n’a pas la même sensibilité pour les trois couleurs primaires (figure 2) et par conséquent le signal de luma est une somme proportionnelle des trois signaux.

 Figure 2 : la sensibilité de l’œil à la couleur n’est pas uniforme


Le matriçage produit aussi deux signaux de différence de couleur, R-Y et B-Y. Les signaux de différence de couleur n’ont pas besoin de la même bande passante que Y, en raison de la différence de sensibilité à la couleur. Selon l’application, on pourra travailler avec la moitié ou le quart de la bande passante.

Dans le domaine numérique, chaque pixel contient à nouveau trois nombres, mais l’un est unipolaire et représente la luma et les deux autres sont bipolaires et représentent les valeurs de différence de couleur. Comme les signaux de différence de couleur peuvent se contenter d’une bande passante réduite, ceci se traduit dans le domaine numérique par l’utilisation d’un taux d’échantillonnage plus bas, en général entre la moitié et le 1/16 du débit de la luma.

Les trois composantes couleurs d’un système de télévision sont décrites uniquement en trois dimensions. Le modèle RGB est à la base un cube avec le noir à l’origine et le blanc à l’extrémité de la diagonale opposée (figure 3).


Figure 3 : le modèle RGB


La figure 4 montre les courbes de mélange des couleurs dans le modèle RGB. Pour chaque longueur d’onde du spectre visible, il existe un vecteur dont la direction est déterminée par les proportions des trois primaires. Si la luminosité change, cela affectera les trois primaires à la fois et par conséquent la longueur du vecteur dans la même proportion.


Figure4 : les courbes de mélange des couleurs dans le modèle RGB produisent un vecteur
dont le locus se déplace avec la longueur d’onde dans les trois dimensions.


Afin de pouvoir décrire et visualiser le comportement des couleurs dans le modèle RGB (et dans d’autres systèmes colorimétriques) on modifie ce diagramme afin de ne représenter que deux dimensions sur le plan. Cette transformation est effectuée en éliminant les variations de luminance et en décrivant chaque couleur avec une luminosité constante.

Le système colorimétrique de la Commission Internationale de l’Eclairage est crée de la sorte. Il permet de calculer la position de chaque couleur en relation avec ses couleurs primaires. Ce diagramme en deux dimensions n’est valable que pour une seule température de couleur donnée.

 Figure 5 : Section du diagramme CIE-1931


Ceci produira un nouveau système de coordonnées,  X, Y et Z, dans lequel seules des valeurs positives sont utilisées. A partir de ce système, une projection sur un diagramme à deux dimensions est effectuée : c’est ce qu’on appelle le diagramme de la CIE (figure 6), dans lequel le gamut des couleurs reproductibles par un système donné est matérialisé par un triangle à l’intérieur du spectrum locus  (voir figure 8).


Figure 6 : Corrélation entre le cube RGB et le diagramme CIE xy


Les blancs apparaissent toujours au centre du diagramme de chromaticité, ce qui correspond à des quantités à peu près égales de couleur primaire. Deux termes sont utilisés pour décrire la couleur : la teinte et la saturation. Les couleurs ayant la même teinte  se trouvent sur une même ligne droite entre le point blanc et le périmètre du triangle primaire. La saturation augmente avec la distance à partir du point blanc. Le rose, par exemple, est un rouge désaturé.

La couleur apparente d’un objet est aussi le résultat de la lumière qu’il reçoit. La « couleur véritable » ne sera observée que sous une lumière blanche idéale… ce qui est en pratique très peu fréquent. Un objet blanc idéal réfléchit toutes les longueurs d’onde de la même manière et sera coloré par la lumière ambiante. La figure 5 montre la position des illuminants ou sources de blanc idéal sur le diagramme de la CIE. L’illuminant A correspond à une lampe à filament de tungstène, l’illuminant B à la lumière du soleil en milieu de journée et l’illuminant C à la lumière du jour, laquelle contiendra plus de bleu car elle consiste en un mélange de lumière solaire et de lumière diffusée par l’atmosphère. Dans la vie quotidienne l’œil s’adapte facilement et automatiquement au changement dans la couleur apparente des objets, selon qu’on passe de la lumière du soleil à un éclairage artificiel et vice versa. Mais les caméras couleur reproduisent fidèlement de telles variations, ce qui impose des stratégies variées, et souvent complexes, de correction des couleurs afin de conserver une balance des blancs équilibrée.


Figure 7: position des trois illuminants sur le diagramme CIE 1931


Les caméras couleur et la plupart des cartes graphiques produisent trois signaux, ou composantes, R, G, et B, qui sont en réalité des signaux vidéo monochromes reproduisant la même image dans chacune des trois couleurs primaires. La figure 6 montre que les trois primaires sont positionnées à chaque extrémité du diagramme de chromaticité et les seules couleurs qu’un système puisse générer sont situées à l’intérieur du triangle résultant.

Fig. 8 Les primaires couleurs et leur position à l’intérieur du diagramme CIE


Les signaux RGB sont dits strictement compatibles  si et seulement si les couleurs primaires qui se trouvent à la source se retrouvent sur le système d’affichage. La télévision, et les différents systèmes de codage en vidéo ont besoin d’un ensemble de primaires standardisées pour fonctionner correctement.

Les signaux RGB et Y sont incompatibles entre eux, et cependant, lorsqu’on a introduit la télévision en couleurs il était nécessaire de pouvoir afficher des signaux de couleur sur des téléviseurs noir et blanc et inversement.

Générer ou transcoder un signal de luminance à partir des primaires RGB est relativement facile. La réponse spectrale de l’œil a un pic dans la région du vert. Les objets verts produiront une excitation plus grande sur l’œil que les objets rouges ayant la même luminosité, alors que les objets bleus en produiront le moins. Un signal de luminance peut être produit en combinant les primaires R, G et B, dans des proportions différentes, en relation avec la réponse relative du système visuel humain.

Ce qui donne, pour la résolution standard, dite SD :
Y = 0.29R + 0.59G + 0.11B

En numérique HD, c’est la norme ITU 709 (ou REC 709) qui définit les standards de la télévision numérique Haute Définition.
Cette norme établit un format d’image commun, appelé Common Image File (CIF) avec une résolution de 1920x1080, en mode progressif ou entrelacé et avec des fréquences de 23,98 à 60 images par seconde.
Cette norme utilise l’illuminant standard D65. Par conséquent, le point vert se situe très légèrement plus à droite sur le diagramme CIE que la norme EBU. Principales caractéristiques :
-          Rapport d’image 16/9ème
-          Pixels carrés
-          Nouveau codage de la luminance Y :
                                        Y = 0.213R + 0.715G +0.072B
Avec Y dérivé de cette manière, un écran monochrome donnera à peu près le même résultat qu’une caméra monochrome. Les résultats ne sont pas identiques en raison de la non-linéarité introduite par la correction de gamma et l’imperfection des filtres de couleur.

Comme les images en couleur sont fabriquées à partir de trois signaux, il est possible de combiner Y avec deux autres signaux, qu’un écran couleur pourrait arithmétiquement convertir pour finir en RGB. Il y a deux facteurs importants qui limitent la forme que les deux signaux pourraient prendre.
-          Il faut d’une part assurer la compatibilité inverse. Si la source est une caméra monochrome, elle produira seulement un signal Y et les deux autres signaux seront complètement absents. Dès lors, un écran couleur devrait être capable de fonctionner avec un signal Y et d’afficher une image monochrome.
-          L’autre condition est de conserver la même bande passante, essentiellement pour des raisons économiques.
Ces conditions sont remplies dans le domaine analogique par la création de deux signaux de différence couleur, R-Y et B-Y. Dans le domaine numérique, leurs équivalents sont Cr et Cb.

Comme les images couleur sont formées à partir de trois composantes primaires, il devrait être possible d’envoyer Y et deux autres signaux, qu’un dispositif d’affichage en couleurs pourrait convertir en R, G et B. Deux facteurs importants limitent la forme que ces deux signaux prennent.
-          Le premier a trait à la nécessité d’assurer une compatibilité inverse. Un écran couleur doit être capable de reproduire le seul signal Y (produit par une caméra monochrome, par exemple) et d’afficher une image monochrome.
-          Le deuxième facteur concerne la conservation de la même bande passante pour des raisons économiques.
Ces conditions sont remplies par l’utilisation de deux signaux de différence de couleur avec Y. Il y a trois combinaisons possibles : R-Y, B-Y et G-Y. Comme le signal vert est le plus important dans la génération de Y, l’amplitude de G-Y sera la plus petite et ce signal de différence pourrait générer du bruit. Dès lors on utilisera R-Y et B-Y.


Figure 9 : les composantes couleurs sont transformées en signaux de différence par le circuit transcodeur ci-dessus


Alors que des signaux tels que Y, R, G, et B sont unipolaires ou positifs, les signaux de différence de couleur sont bipolaires et peuvent donc prendre des valeurs négatives. La figure (10a) montre l’espace couleur disponible en 8-bit RGB. En informatique 8-bit RGB est une valeur courante  et on entend souvent dire que des cartes graphiques ont la possibilité d’afficher 16 millions de couleurs.
Une couleur est en réalité une combinaison donnée de teinte et de saturation et est indépendante de la luminosité. Par conséquent tous les ensembles de valeurs RGB ayant les mêmes proportions produisent la même couleur. Par exemple, R = G = B produira toujours la même couleur que la valeur d’un pixel soit 0 ou 255. Il y aura donc 256 valeurs de luminosité différentes qui auront la même couleur, ce qui produira 65000 couleurs – c’est déjà plus réaliste.
La figure (10c) montre la projection d’un cube RGB  sur l’espace de différence des couleurs en 8-bit, et ce cube n’en est plus un. L’axe des gris passe directement au milieu parce que les gris correspondent à des valeurs nulles de Cr et Cb. Pour visualiser l’espace de différence des couleurs, imaginez que vous regardez en bas le long de l’axe des gris. Cela montre que les extrémités du noir et du blanc coïncident au centre. Les six extrémités de l’espace légal de différence des couleurs correspondent maintenant aux six boites sur un vectorscope qui affiche des composantes. Bien qu’il y ait encore 16 million de combinaisons, un bon nombre d’entre elles sont désormais « illégales ». Par exemple, lorsqu’on approche du noir ou du blanc les signaux de différence couleur doivent tendre vers zéro.
(D’après J. Watkinson, ‘The Art of Digital Video’, Focal Press, 2008)


   Fig. 10 : Transformées de RGB dans le système YCrCb. Cette transformation est effectuée car R-Y  (Cr) et B-Y (Cb) peuvent être codés avec une bande passante réduite.  (a) cube RGB. L’axe blanc/noir est diagonal et tous les emplacements à l’intérieur du cube sont légaux. (b) Transformation RGB vers YCrCb
(c) Projection du cube RGB dans l’espace de différence de couleur et ce n’est plus un cube !
Les seules combinaisons de Y, Cr et Cb qui se trouvent dans l’espace tridimensionnel montré sur la figure sont légales. La projection de cet espace a crée la représentation familière de l’écran du vectorscope.

1 commentaire: