L'espace colorimétrique Oklab est un espace colorimétrique uniforme pour la couleur indépendante du périphérique, conçu pour améliorer l'écart de couleurs perçu, la prédiction de la teinte et de la luminosité, le mélange des couleurs, et la facilité d'utilisation, tout en assurant la stabilité numérique et une implémentation simple dans des projets informatiques. Présentés par Björn Ottosson en décembre 2020, Oklab et son homologue cylindrique Oklch ont, depuis décembre 2021, été inclus dans le projet CSS Color de niveau 4 et 5 pour les périphériques dépendant des couleurs Web . Ils sont tous deux pris en charge par les versions récentes des principaux navigateurs Web, et permettent la spécification de couleurs dans la gamme DCI-P3 situées en dehors de sRGB.
Le modèle Oklab fonctionne grâce à des données améliorées sur l'apparence des couleurs pour l'œil humain : données CAM16 pour la luminosité et la saturation, et données IPT pour la teinte. La dernière version corrige des problèmes tels que des variations inattendues de teinte et de luminosité des bleus présents dans l'espace colorimétrique CIELAB, simplifiant ainsi la création automatique de schémas de couleurs et de dégradés de couleurs plus harmonieux.
Le nom Oklab a été choisi parce que le modèle effectue un travail OK (adéquat), et est basé sur les trois coordonnées d'espace de couleur L, a, et b.
Coordonnées droite|vignette|Roue chromatique Oklch Oklab utilise la même structure spatiale géométrique que son prédécesseur CIELAB, représentant la couleur à l'aide de trois composantes ; L, a et b :
L représente la luminosité perçue, bornée entre 0 (noir pur) et 1 (blanc de référence, si l'image est achromatique). Elle est souvent exprimée en pourcentage. a et b représentent les canaux opposés des quatre teintes uniques, théoriquement non bornée, mais n'allant en pratique que de −0,5 à +0,5. CSS faut équivaloir ±100 % à ±0,4 a pour le vert (négatif) au rouge (positif) b pour le bleu (négatif) au jaune (positif)
Comme CIELCh, Oklch représente les couleurs à l'aide de trois composantes ; L, C et H :
L représente pour la luminosité perçue C est le chroma, représentant l'intensité chromatique, avec des valeurs de 0 (achromatique) sans limite supérieure, mais en pratique ne dépassant pas +0,5 ; CSS traite 100% comme +0.4 h désigne l'angle de la teinte dans un cercle chromatique, généralement exprimé en degrés décimaux.
centré|vignette| Espaces colorimétriques Oklab vs. Oklch. Les bacs de couleur affichés sont ceux qui se trouvent dans la gamme Rec. 2020 (une gamme RGB étendue).
Couleurs achromatiques Les gris neutres, le noir pur, et le blanc de référence sont achromatiques, c'est-à-dire, , , , et h est indéfini . L'attribution d'une valeur réelle à leur composante de teinte n'a aucun effet sur les conversions entre espaces colorimétriques.
Différences de couleur La différence de couleur perçue dans Oklab est calculée comme la distance euclidienne entre les coordonnées .
Conversions entre espaces colorimétriques
Conversion vers et depuis Oklch Comme pour CIELCh, les coordonnées cartésiennes a et b sont converties en coordonnées polaires C et h comme suit : et les coordonnées polaires sont converties en coordonnées cartésiennes comme suit :
Conversion depuis CIE XYZ La conversion de CIE XYZ avec un illuminant standard D65 implique :
L'application de la carte linéaire qui convertit les valeurs XYZ dans un espace analogue à l'espace colorimétrique LMS : L'application d'une non-linéarité de racine cubique : La conversion vers Oklab avec une autre application linéaire :
Les matrices de carte linéaire sont
Conversion depuis sRGB vignette| Visualisation de la correspondance entre les valeurs de couleur linéaires et les emplacements dans les espaces colorimétriques perceptifs La conversion à partir de sRGB nécessite d'abord une conversion de sRGB vers CIE XYZ avec un Illuminant Standard D65. Comme la dernière étape de cette conversion est une application linéaire de RGB linéaire à CIE XYZ, l'implémentation de référence utilise directement la matrice multipliée représentant la composition des deux applications linéaires :
Conversion vers CIE XYZ et sRGB La conversion en CIE XYZ et sRGB consiste simplement à appliquer les fonctions inverses respectives dans l'ordre inverse :
Notes et références
Notes
Références
Liens externes
OKLCH Sélecteur et convertisseur de couleurs par Andrey Sitnik et Roman Shamin
Catégorie:Nouveauté en 2020 Catégorie:Espace couleur