Importance de la terminologie et incertitudes entourant sRGB

Ce document est la traduction du billet des développeurs de Colour : The Importance of Terminology and sRGB Uncertainty. Il date du 5 décembre 2015 et est une réponse à l’imprécision d’un développeur d’Oculus VR sur l’espace colorimétrique sRGB, l’occasion de rappeler ce qu’est exactement sRGB.

Nous voulions écrire cet article depuis un moment, mais un très bon billet de Tom Forsyth d’Oculus VR nous a poussé à le faire.

Pendant que je lisais son article, je lui ai tweeté une réponse sur l’absence de précision quant au fait que sRGB est un espace colorimétrique ; un ensemble de primaires, un point blanc et des fonctions de transfert.

Dans un premier temps, l’article décrit sRGB de la façon suivante :

sRGB est une simple courbe gamma 2.2, légèrement modifiée.

Bien que cette représentation de la fonction de transfert électro-optique (Electro-Optical Transfert Function, ou EOTF) de l’espace colorimétrique sRGB soit exact, il peut être perturbant pour les non-experts de ne pas mentionner les autres composants d’un espace colorimétrique RVB.

Pour les habitués de la colorimétrie, le titre du billet et la mention de Gamma indique que l’article n’abordera vraisemblablement que l’EOTF et son inverse.

Attention : Chez colour-science.org le terme Gamma fait systématiquement référence à une fonction de puissance pure dont l’exposant est appelé Gamma.

Note : La FAQ Gamma de Charles Poynton est une référence exhaustive sur la correction Gamma.

Tom confirme cette intuition quelques paragraphes plus loin :

(La norme sRGB contient également un gamut et des spécifications de transformations de couleur, mais nous allons les ignorer pour l’instant et nous concentrer sur la partie concernant la courbe Gamma, car c’est ce qui nous intéresse pour le rendu)

Note : Comme Steve Agland (et nous-même) avons pu le démontrer, le gamut tel que défini par l’espace colorimétrique sRGB devrait au contraire être pris au sérieux quand on parle de rendu photoréaliste.

Qu’est-ce que sRGB ?

La terminologie d’un domaine scientifique donné est la clé de sa compréhension, et c’est particulièrement vrai en science des couleurs. Tout le monde sait ce qu’est la couleur, mais seuls quelques-uns peuvent la définir correctement, à cet égard, nous citons souvent Mark D. Fairchild :

Pourquoi est-il particulièrement difficile de se mettre d’accord sur une terminologie cohérente dans le domaine de l’apparence des couleurs ? La réponse réside peut-être dans la nature même du sujet. Presque tout le monde sait ce qu’est la couleur. Après tout, nous en faisons tous une première expérience peu de temps après notre naissance. Cependant, très peu d’entre nous peuvent décrire avec précision leurs expériences des couleurs ou même définir précisément ce qu’est la couleur. 1

sRGB n’est pas qu’un ensemble de fonctions de transfert, mais un espace colorimétrique RVB, défini par la norme IEC 61966-2-1:1999. Celons la norme ISO 22028-1, un espace colorimétrique RVB est défini par ces trois composants obligatoires :

Pour référence, voici la citation entière de la définition d’un espace colorimétrique RVB en additif par la norme ISO 22028-1 :

3.3

espace colorimétrique RVB en additif

un espace colorimétrique ayant trois couleurs primaires (généralement rouge, vert et bleu) de sorte que les valeurs tristimulus CIE XYZ puissent être déterminées depuis les valeurs de l’espace colorimétrique RVB en formant une combinaison pondérée des valeurs tristimulus CIE XYZ pour chaque primaire de couleur, où les poids sont proportionnels aux valeurs de l’espace colorimétrique radiométriquement linéaire pour les couleurs primaires correspondantes.

Note 1 à l’entrée : Une simple matrice de transformation linéaire 3 × 3 peut être utilisé pour passer de valeurs tristimulus CIE XYZ à des valeurs d’espace colorimétrique radiométriquement linéaires pour un espace colorimétrique RVB en additif.

Note 2 à l’entrée : Les espaces colorimétriques RVB additifs sont définis en spécifiant les valeurs de chromaticité CIE pour un ensemble de primaires RVB additives et un point blanc d’espace colorimétrique, ainsi qu’une fonction de transfert de composants de couleur.

Les primaires

Les coordonnées de chromaticité des primaires définissent le gamut (le triangle de couleurs) pouvant être encodé par un espace colorimétrique RVB donné.

Note : Lorsque vous effectuez des calculs autorisant des valeurs négatives et avec une précision suffisante, un espace colorimétrique RVB donné peut virtuellement encoder toutes les couleurs. Les couleurs dépassant son gamut sont simplement représentées par des valeurs négatives.

Il est important de comprendre que bien que fréquemment représenté par des triangles sur un diagramme de chromaticité (tel que le diagramme de chromaticité CIE 1931), les gamuts des espaces colorimétriques RVB définissent en fait les limites d’un volume 3D à l’intérieur de l’espace colorimétrique CIE xyY : Le diagramme de chromaticité est une projection 2D du volume de l’espace colorimétrique CIE xyY le long de son axe de Luminance Y.

Comparaison de plusieurs gamuts d’espaces colorimétriques RVB dans le diagramme de chromaticité CIE 1931 :

ACES2065-1_ACEScg_DCI-P3_ITU-R_BT__709_ITU-R_BT__2020_CIE_1931_Chromaticity_Diagram

Le diagramme de chromaticité CIE 1931 dans la vue en bas à droite est une projection 2D de l’espace colorimétrique CIE xyY dans la vue de gauche (Colour - Analysis) :

Colour - Analysis CIE xyY

Le point blanc

Le point blanc est défini par la CIE :

Stimulus de référence achromatique dans un diagramme de chromaticité qui correspond au stimulus qui produit une zone d’image qui a la perception du blanc.

Tout ensemble de couleurs se trouvant sur l’axe neutre passant par le point blanc, quelle que soit leur Luminance, sera neutre par rapport à cet espace colorimétrique RVB.

L’Illuminant standard CIE D65 est situé au sommet du volume de l’espace colorimétrique sRGB (Colour - Analysis) :

CIE xyY sRGB

Un espace colorimétrique RVB peut avoir différents points blancs suivant son usage, l’espace colorimétrique sRGB défini dans la norme IEC 61966-2-1:1999 adopte l’Illuminant standard CIE D65 en tant que point blanc, mais un profil d’espace colorimétrique sRGB ICC aurait probablement été chromatiquement adapté à l’Illuminant standard CIE D50.

Comparaison d’Illuminants des séries CIE D dans le diagramme de chromaticité CIE 1960 UCS :

CIE Illuminants D Series

Les fonctions de transfert

Les fonctions de transfert font la relation entre les composants lumineux linéaires (valeurs tristimulus) et un signal vidéo R'G'B' non-linéaire (généralement pour des questions d’optimisation du codage et de performance de la bande passante). 2

Les deux types de fonctions communes et leurs inverses sont définis comme suit .

Comparaison de fonctions de transfert opto-électriques :

ITU-R BT709 SMPTE 240M OETFs

Comparaison de fonctions de transfert électro-optiques :

ITU-R BT1886 sRGB EOTFs

Note : Jack Holm, secrétaire technique au IEC/TC 100/TA 2 qui a développé la norme IEC 61966-2-1:1999 est sans ambiguïté sur le fait que l’EOTF de sRGB est par morceau, c.à.d. n’est pas une approximation Gamma 2.2 et que la norme IEC 61966-2-1:1999 ne définit pas d’OETF :

Jack-Holm on the sRGB-EOTF

Message de Jack Holm, datant du 1ᵉʳ février 2016, adressé au Google Group « Academy ACES ».

Traduction du mail de Jack Holm :

De : Jack Holm jack.holm@mindspring.com

Date : Lundi 1 février 2016 à 18h29.

Sujet : Re: [AcademyACES] Sortie - sRGB (D60 sim.) sombre ?

À : AcademyACES@googlegroups.com

Je pense pouvoir répondre dans la mesure où je suis le secrétaire technique du IEC/TC 100/TA 2 qui a développé la norme IEC 61966-2-1 sRGB.

L’EOTF sRGB n’est pas un simple Gamma 2.2. La norme dit que l’affichage de référence est nominalement Gamma 2.2, mais c’est juste une approximation. La relation normative entre sRGB et CIE XYZ est spécifiée dans la norme en utilisant une EOTF par morceaux. Si vous voulez le constater par vous-même, vous pouvez acheter la norme sur www.iec.ch. Si vous souhaitez voir les équations des EOTF gratuitement, vous pouvez aller sur www.color.org/sRGB.pdf. Les applications affirmant qu’elles supportent sRGB doivent le faire en utilisant l’EOTF par morceaux normatifs pour être conforme à la norme sRGB.

La norme sRGB ne définit pas d’OETF. (NdT : Je n’ai pas réussi à traduire la phrase suivante). Comme dit plus haut, il ne définit pas de relation vers la colorimétrie de scène, la colorimétrie sRGB devrait être encodé en utilisant l’inverse de l’EOTF sRGB définit dans IEC 61966-2-1 après que tous les ajustements colorimétriques pour produire les couleurs désirées sur le moniteur sRGB eut été appliqué. (sRGB a été développé après l’utilisation des LUT vidéo dans les ordinateurs, il n’y avait donc pas besoin de s’inquiéter du gamma natif CRT.)

Il convient de noter que la norme IEC 61966-1-2 impose des conditions de visionnage de sRGB avec une illumination ambiante de 64 lux dans un environnement gris. C’est une des raisons pour laquelle l’EOTF sRGB n’est pas la même que l’EOTF ITU-R BT.1886, qui est prévu pour une illumination et un environnement variable. La différence entre ces EOTFs est une tentative de compenser approximativement les différences d’apparence résultantes des différentes conditions de visionnage, mais ce ne sera pas exact. Plus probablement, le moniteur de mastering vidéo aura une dynamique plus large que les 400:1 spécifiés dans l’IEC 61966-2-1.

sRGB est destiné aux ordinateurs personnels, pour visionner des images sur internet dans des conditions de visionnage typique d’un habitat ou d’un bureau. Il n’est pas destiné aux environnements cinématographiques ou de mastering vidéo. Il est surement possible de calibrer un moniteur principal RGB 709 en Gamma 2.2 et de s’en servir dans un tel environnement, mais on ne doit pas appeler ça « sRGB ».

Je n’ai pas d’objection à la circulation d’une ODT Gamma 2.2 pour les environnements mastering vidéo, mais elle devrait être différente d’une ODT sRGB et ne devra pas être appelé comme tel.

Jack Holm.

L’importance de la terminologie

Les composants de spécification de l’espace colorimétrique RVB décrits, il devrait maintenant être plus logique de comprendre pourquoi le fait de ne pas être précis et d’utiliser une terminologie claire peut conduire à de la confusion et de l’incertitude : Le vocabulaire lié à la colorimétrie est complexe.

Je rencontre souvent des gens qui n’ont pas une compréhension claire de ce qui compose un espace colorimétrique RVB, par conséquent, ils ne font pas la différence entre un gamut et des fonctions de transfert. La terminologie superficielle utilisée de manière récurrente en ligne en est probablement la cause première.

Quand on parle de sRGB, décrit-on les primaires de l’espace colorimétrique ou ses fonctions de transfert ? Discuter de la transformation sRGB en linéaire sans mettre l’accent sur son composant EOTF est troublant : Un moteur de rendu utilisant des couleurs et des textures d’entrées en espace colorimétrique sRGB linéaire, rend avec les primaires et le point blanc de l’espace colorimétrique sRGB (en supposant qu’aucune transformation de couleur ne se produise en interne), sa sortie est donc dans l’espace colorimétrique sRGB.

Quand on rend en espace colorimétrique BT.709 pour les TV HD, on utilise en fait les primaires et le point blanc de l’espace colorimétrique sRGB, avec des fonctions de transfert spécifiques différentes.

Les caméras de cinéma comme celles de Canon (Canon EOS 1DC, Canon CX00) utilisent les primaires et le point blanc BT.709, mais encode leurs valeurs linéaires de scène avec une courbe log personnalisée appelé C-Log.

Note : La plupart des fabricants de caméras implémentent leurs propres courbes log (ALEXA Log C pour les caméras ARRI Alexa, RED Log Film pour les caméras RED, etc.) et des spécifications d’espaces colorimétriques RVB propriétaires (ALEXA Wide Gamut RGB pour les caméras ARRI Alexa, REDcolor ou DragonColor pour les caméras RED, etc.).

De même, il est parfaitement valable d’utiliser les fonctions de transfert d’espace colorimétrique sRGB avec un autre ensemble de primaires et de points blancs. Quand ils travaillent dans Adobe Photoshop ou The Foundry Mari, certains studios VFX utilisent une spécification d’espace colorimétrique propriétaire avec les fonctions de transfert de l’espace colorimétrique sRGB : Ces fonctions de transfert étant couramment implémentées dans divers packages DCC, cela simplifie les diverses opérations de transformation des couleurs entre ces packages.

Conclusion

Lorsque quelqu’un parle de sRGB sans précisions, on peut supposer qu’il fait référence à l’espace colorimétrique sRGB conformément à la norme IEC 61966-2-1:1999, et pas seulement aux composants qui l’intéressent. Malheureusement ce n’est pas le cas, donc afin de diminuer l’incertitude et d’améliorer la terminologie utilisée, nous suggérons que :

Dans un futur proche, cela se révèlera surement crucial et judicieux à mesure que de nouveaux espaces colorimétriques RVB se généraliseront, comme BT.2020 ou les encodages ACES.

Bibliographie


  1. Fairchild, M. D. (2013). Color Appearance Models (3rd ed., pp. 1–10831). Wiley. ISBN:B00DAYO8E2 

  2. Poynton, C. (2012). Digital Video and HDTV - Algorithms and Interfaces - Second Edition (2nd ed.). Morgan Kaufmann. ISBN:9780123919267 

Dernière mise à jour : mar. 18 avril 2023