# L*a*b* CIE 1976

L'espace chromatique L*a*b* CIE 1976, généralement nommé CIELAB, est un espace de couleur particulièrement utilisé pour la caractérisation des couleurs de surface. Trois grandeurs caractérisent les couleurs : la clarté L* dérive de la luminance de la surface ; les deux paramètres a* et b* expriment l'écart de la couleur par rapport à celle d'une surface grise de même clarté. L'existence d'une surface grise, non colorée, achromatique, implique d'indiquer explicitement la composition de la lumière qui éclaire la surface colorée. Cet illuminant est souvent la lumière du jour normalisée D65.
L'espace chromatique CIELAB est défini à partir de l'espace CIE XYZ. Par rapport à ce dernier, il présente l'avantage d'une répartition des couleurs plus conforme à la perception des écarts de couleur par le système visuel humain.

## Généralités

La Commission internationale de l'éclairage (CIE) a fourni les premiers systèmes colorimétriques à la fin des années 1920. L'espace CIE XYZ, normalisé en 1931, définit des relations linéaires entre le tableau d'analyse spectrale du rayonnement coloré et trois paramètres décrivant la perception de la couleur. Cette simplicité a l'inconvénient de ne pas représenter l'écart de couleurs perçu par la vision humaine de façon satisfaisante. En effet, deux points situés à une même distance dans cet espace peuvent correspondre à deux couleurs perçues identiques dans une zone, tandis qu'elles seront perçues comme distinctes dans une autre. Pour fournir un espace chromatique représentant mieux les écarts de couleur perçus, la CIE a défini en 1976 deux espaces non-linéaires de couleur, dits espaces chromatiques uniformes, L*u*v* CIE 1976 pour la caractérisation des lumières des éclairages et écrans, et L*a*b*, particulièrement utilisé pour la caractérisation des couleurs de surface. Si deux points de l'espace L*a*b* sont à la même distance, on considère que la différence de couleur est la même : les deux couleurs contrastent de la même façon. En pratique toutefois, tous les espaces présentent des défauts d'uniformités : des défauts ont été pointés au niveau des jaunes saturés et des bleus et violets saturés.
Les paramètres du système L*a*b* sont :
* la clarté L* qui prend des valeurs entre 0 (noir) à 100 (blanc de référence) ;
* le paramètre a* représente la valeur sur un axe vert → rouge ;
* le paramètre b* représente la valeur sur un axe bleu → jaune.
L'étoile après les symboles L*, a*, b* évite la confusion avec les paramètres du modèle Hunter Lab développé progressivement à partir de 1948. Bien que fondés sur les mêmes principes, les deux espaces donnent des résultats numériques très différents$^,$.
Les couleurs existant réellement forment dans cet espace un volume en forme de cornet, dont la pointe inférieure est noire et le haut de la calotte est blanc. Sur les flancs, les couleurs optimales forment la limite théorique pour les couleurs non fluorescentes. L'échelle des gris occupe l'axe central (a*=0, b*=0), du noir au point blanc défini pour l'espace, généralement l'illuminant lumière du jour D65. Il suffit de quelques représentations de tranches horizontales dans ce modèle pour situer les couleurs par rapport à l'ensemble des possibles.
On utilise parfois les coordonnées polaires dans le plan (a*, b*) pour représenter la chrominance par un angle de teinte et une chromaticité.

## Passage de l'espace CIE XYZ à l'espace CIELAB

L'espace chromatique CIELAB est défini à partir de l'espace CIE XYZ comme suit.
    ${\begin{aligned}L^{*}&=116f(Y/Y_{n})-16\\a^{*}&=500\left[f(X/X_{n})-f(Y/Y_{n})\right]\\b^{*}&=200\left[f(Y/Y_{n})-f(Z/Z_{n})\right]\end{aligned}}$ $\qquad \mathrm {o} \mathrm {\grave {u}} ~f(t)={\begin{cases}t^{1/3}&{\mbox{si }}t>({\frac {6}{29}})^{3}\\{\frac {1}{3}}\left({\frac {29}{6}}\right)^{2}t+{\frac {4}{29}}&{\mbox{sinon}}\end{cases}}$
Ici $X_{n}$, $Y_{n}$ et $Z_{n}$ sont les composantes du blanc de référence (l'indice $n$ signifie neutre).
Les grandeurs suivantes, analogues à des coordonnées polaires, peuvent être définies dans l'espace CIELAB :
* le chroma : $C_{ab}^{*}={\sqrt {a^{*2}+b^{*2}}}$ ;
* l'angle de teinte : $h_{ab}=\arctan {\frac {b^{*}}{a^{*}}}$.

## Écart de couleur

Connaissant les propriétés de deux stimulus correspondant à deux couleurs, il est possible d'évaluer l'écart de couleur entre la couleur (1) et la couleur (2) :
    $\Delta E_{ab}={\sqrt {(\Delta L^{*})^{2}+(\Delta a^{*})^{2}+(\Delta b^{*})^{2}}}$,
avec, si la couleur (1) est prise comme référence :
    $\Delta L^{*}=L_{2}^{*}-L_{1}^{*}$,
    $\Delta a^{*}=a_{2}^{*}-a_{1}^{*}$,
    $\Delta b^{*}=b_{2}^{*}-b_{1}^{*}$.
D'autres méthodes d'évaluation des écarts de couleur associés à d'autres espaces colorimétriques, CIELUV ou les améliorations de CIELAB (CMC (1984), CIE1994, CIEDE2000) peuvent présenter des résultats différents.

## Passage de l'espace CIELAB à l'espace CIE XYZ

La transformation inverse peut être effectuée comme suit.
    $Y=Y_{n}\cdot f^{-1}\left({\frac {L^{*}+16}{116}}\right)$ $\qquad \mathrm {o} \mathrm {\grave {u}} ~f^{-1}(t)={\begin{cases}t^{3}&{\mbox{si }}t>{\tfrac {6}{29}}\\3\left({\tfrac {6}{29}}\right)^{2}\left(t-{\tfrac {4}{29}}\right)&{\mbox{sinon}}\end{cases}}$ $X=X_{n}\cdot f^{-1}\left({\frac {L^{*}+16}{116}}+{\frac {a^{*}}{500}}\right)$ $Z=Z_{n}\cdot f^{-1}\left({\frac {L^{*}+16}{116}}-{\frac {b^{*}}{200}}\right)$

## CIELAB et l'informatique

L'espace L*a*b* est prévu pour les couleurs de surface, et non pour les couleurs d'écran, pour lesquelles on devrait utiliser CIE L*u*v*. Sa définition de couleurs peut servir en préparation d'impression ou de fabrication d'objets colorés ; les profils colorimétriques des terminaux permettent d'assurer que les écarts de couleurs perçus sur l'un se retrouveront sur l'autre. Pour des raisons de commodité, l'espace est également utilisé pour caractériser les couleurs des périphériques informatiques, y compris les écrans sous forme de profils colorimétriques.
Dans ce contexte les composantes a* et b* sont le plus souvent notées par une valeur entière de −128 à 127, soit 256 niveaux (8 bits) ou de -32768 à 32767, soit 65536 niveaux (16 bits).