Les modèles TSL dans Photoshop

Par Charles VASSALLO

octobre 2010

Introduction : à la recherche d’une description naturelle des couleurs

Chacun sait qu’on définit les couleurs par trois composantes RVB, mais on ne peut pas prétendre qu’on obtient ainsi une compréhension très intuitive de ces couleurs. On préférerait de beaucoup une représentation naturelle basée sur les 3 notions suivantes :

  • Une notion de pureté, de vivacité, de saturation de la couleur. Cette saturation diminue quand on mélange la couleur avec du blanc ou du gris et elle devient nulle pour du blanc ou du gris
  • Une notion de luminosité décrivant si cette couleur est lumineuse ou non. Cette luminosité diminue si on mélange la couleur avec du noir et elle devient nulle pour du noir pur.
  • Une notion de teinte, qui permettrait de différentier les rouges des oranges, des jaunes, des verts, etc.

Il faut bien comprendre que si ces notions sont très intuitives, les lignes ci-dessus sont très loin d’en fournir une description suffisamment précise pour en faire des quantités chiffrables avec lesquelles on pourrait définir les couleurs sans ambiguïté. Pour en arriver là, il y a eu un long effort historique à la charnière des 19ème et 20ème siècle ; nous y reviendrons un peu plus loin. Auparavant, avant de nous heurter à ces difficultés, on peut se demander s’il est possible d’en rester à ces composantes RVB si pratiques et d’en tirer des combinaisons simples qui se comporteraient plus ou moins comme les teintes, saturations et luminosités esquissées ci-dessus. C’est tout l’objet des modèles TSL et nous allons voir qu’il y en a deux à l’œuvre dans Photoshop. Soulignons qu’il s’agit de simples déguisements des modèles RVB.

Premier modèle TSL

C’est le modèle le plus visible dans Photoshop, celui qu’on voit en action dans le sélecteur de couleur ou dans la palette des informations (le menu local de cette palette permet d’adjoindre des composantes TSL aux RVB du point survolé)

Le sélecteur de couleurs permet d’explorer la relation entre les RVB et les TSL

On voit aisément que

  • la composante de saturation S est donnée par
  • S= 100*(Max-Min)/Max
  • Max et Min sont la plus grande et la plus petite des trois composantes RVB. De cette manière, les gris ou le blanc (pour lesquels les trois composantes RVB sont égales) correspondent bien à une saturation nulle. La composante de luminosité L est L = 100*Max/255. On a bien L=0 pour du noir (pour lequel RVB=0,0,0)
  • La composante de teinte T s’exprime en degrés le long du cercle chromatique. Pour calculer la teinte correspondant à un triplet RVB, on commence par retirer la composante de gris contenue dans la couleur, en enlevant la quantité Min aux trois composantes, ce qui annule alors l’une d’entre elles. On multiplie alors les deux autres par un même facteur, afin de porter la plus grande à 255, et on peut alors lire la teinte dans le graphique ci-contre. Par exemple, le jaune (R=V=255) correspond à une teinte à 60°.

Un deuxième modèle TSL

Une petite expérience :

Ouvrez un nouveau document et remplissez-le d’un dégradé «Spectre». La palette des infos affiche S=100% et L=100% pour toutes les couleurs. Maintenant, si vous ouvrez un réglage teinte/saturation, vous avez deux curseurs qui proposent d’augmenter encore la saturation et la luminosité. Il ne se passe rien avec le premier, mais le second fait quelque chose : toute l’image blanchit (et la palette des infos confirme que la saturation a baissé). Cependant, on ne peut pas récupérer celle-ci en poussant le curseur des saturations, celui-ci n’a pas l’air de fonctionner. Que se passe-t-il ?

Il se passe que ce réglage fonctionne avec un autre modèle TSL, où la saturation et la luminosité sont définies par

S’=100*(Max-Min)/255               L’=50*(Max+Min)/255

Pour comprendre comment fonctionne ce réglage, il faut inverser ces deux relations
Max=(255/2)*(L’/50 + S’/100)         Min=(255/2)*(L’/50 – S’/100)
On peut aussi lire ces deux formules comme les modifications de Max et Min requises par le déplacement des deux curseurs. Par exemple, si on met ces deux curseurs à +80 en saturation et +25 en luminosité, cela donne delta(L’/50)=0,5 et delta(S’/100)=0,8, d’où delta(Max) = 166 et delta(Min) = -38. Si Min tombe en dessous de 0, on le laisse à 0 ; de même, si Max monte au-dessus de 255, on le laisse à 255 ; ce sont ces écrêtages qui font que le réglage semble ne pas avoir d’effet sur certaines couleurs. Il faut également que Max reste supérieur à Min (sinon on aboutirait au résultat absurde S'<0) ; on arrive à cette situation quand on demande une diminution de la saturation supérieure à la saturation S0‘ initiale. Dans ce cas, on tronque la variation demandée de S’ à -S0‘.

C’est aussi ce modèle qui est en action dans le menu Image > Réglages > Désaturation : on a le même résultat qu’avec le réglage précédent quand on pousse le curseur saturation à -100 : S’ est partout mis à 0 (il ne peut pas devenir négatif), c.à.d. Min et Max se rejoignent, et comme L’ ne doit pas bouger dans cette opération, ils prennent tous deux la moyenne de leurs valeurs initiales.

Incidemment, dans le cas de l’image précédente où on a partout Min=0 et Max=255, le résultat de cette désaturation est un gris uniforme R=V=B=128 qui efface complètement la structure de l’image ; ce résultat est à la base de la mauvaise réputation attachée à cette façon de passer en noir et blanc.

Critiques. Vers le modèle LAB

Le deuxième modèle est un peu plus satisfaisant que le premier sur deux points :

  • la première formulation de la saturation conduit à 100% pour des tons très sombres (Max petit) lorsque Min est nul. Or, la perception de la couleur étant difficile pour de tels tons, il paraît hasardeux de parler de leur vivacité et donc de leur attribuer une saturation aussi grande. La deuxième formulation est plus satisfaisante.
  • Le blanc est la plus lumineuse de toutes les couleurs : cela n’apparaît pas avec la première formulation de la luminosité, mais avec la deuxième.

Ce deuxième modèle paraît également plus satisfaisant dans l’expérience suivante

En dessous de la charte du haut pleinement saturée (un dégradé «spectre»), les trois chartes désaturées ont été obtenues en parcourant les mêmes teintes, mais avec trois autres choix de Max et Min, chaque fois avec Max-Min=64, d’où la même valeur S’=25% pour ces trois gammes. Comme aucune ne donne l’impression d’avoir des couleurs plus vives qu’une autre, cette valeur unique de S’ est acceptable. A l’opposé, les trois valeurs très différentes de S, surtout celle du bas à 100%, ne sont pas acceptables.

On peut alors s’interroger pourquoi les chiffrages explicites de S et L dans Photoshop se font avec le premier modèle , le moins satisfaisant des deux. Formules un peu plus simples (surtout pour L) ? Tradition historique ? On peut également trouver ennuyeuse la coexistence inavouée de ces deux modèles différents. Cela n’a toutefois aucune incidence pratique sur le traitement des images puisque ces modèles n’interviennent que de manière anecdotique dans le fonctionnement intime de Photoshop.

Cependant, aucune de ces deux modèles n’est satisfaisant dans deux autres observations courantes :

  • Pour des couleurs bien saturées (Max nettement plus grand que Min), la sensation de luminosité de la couleur dépend de la teinte. Par exemple, les bleus bien saturés sont perçus comme des tons plus sombres que les jaunes
  • Les bleus les plus éclatants sont des tons bien plus sombres que les jaunes, les rouges ou les verts les plus vifs : le maximum de saturation d’une couleur donnée s’obtient pour des luminosités différentes quand on fait varier la teinte.

Autrement dit, la luminosité et la saturation ne dépendraient pas que des composantes Max et Min, mais aussi de la teinte ; on sent que ça va devenir compliqué. Cest maintenant une vieille histoire ; pendant que Munsell approfondissait ces notions dans les années 1900 de manière empirique, il y avait de nombreuses études expérimentales de cette dépendance pour la luminosité [cf Bruce Mc Evoy] et le tout a finalement convergé vers le fameux modèle LAB (en 1976) sur lequel Photoshop a été construit. Il n’est pas question de rentrer ici dans les détails ; je donnerai simplement la figure suivante pour faire sentir combien les formulations précédentes pour S et L sont insuffisantes.

Il s’agit des couleurs les plus saturées possibles qu’on puisse créer dans un système physique particulier, en l’occurrence en superposant les faisceaux de trois projecteurs, rouge, vert et bleu dont on peut faire varier les intensités ; les différentes teintes sont en abscisse et les luminosités en ordonnée, plus précisément la luminosité perçue pour les différentes teintes au sens des études expérimentales évoquées ci-dessus — on parle de luminance dans ce cas pour bien préciser les choses. Ce diagramme montre clairement que les bleus les plus éclatants s’obtiennent pour une luminosité bien plus basse que celle des verts ou des jaunes les plus vifs.

A propos des modes de fusion «TSL»

Pour terminer cet article, nous voudrions rectifier une confusion souvent commise. La longue liste des modes de fusion des calques (qu’on retrouve aussi dans les modes d’action des outils) se termine par les modes teinte, saturation, couleur, luminosité qu’on regroupe souvent dans la dénomination de «modes TSL». On affirme généralement que l’effet dans l’image d’un calque mis dans ce mode revient à prendre une ou deux des composantes TSL dans ce calque et à prendre les autres dans l’image juste en dessous, comme indiqué dans le tableau suivant

TeinteSaturationCouleurLuminosité
TCalqueDessousCalqueDessous
SDessousCalqueCalqueDessous
LDessousDessousDessousCalque

En fait il est facile de voir que les « T,S,L » dont il est question dans ces règles de composition ne sont pas les quantités utilisées dans les deux «modèles TSL».

Pour voir cela, plaçons un calque rempli d’un dégradé «spectre» au-dessus d’un calque rempli de gris et mettons le calque du haut en mode luminosité. On obtient le résultat ci-après :

En principe, l’affichage global reprend les T et S du dessous, c.à.d. de l’arrière-plan : la saturation globale doit donc être celle du gris, nulle, et c’est bien ce qui se passe puisqu’on obtient du noir et blanc. Par contre le «L» global doit être celui du calque arc-en-ciel ; si on utilisait les modèles TSL explicités plus haut, on aurait une valeur uniforme, soit L=100%, soit L=50%. On voit qu’il n’en est rien mais qu’on a une variété de gris allant d’un gris sombre pour le bleu à un gris très clair pour le jaune, exactement comme pour la luminance que nous venons d’évoquer.

Les composantes T,S,L prises en compte dans ces modes de fusion «TSL» devraient plutôt être interprétées comme les composantes correspondantes dans le modèle LAB et non pas comme celles des modèles TSL élémentaires.

Maintenant, pourquoi de telles précautions oratoires ? Parce qu’il aurait été trop beau que ça se passe vraiment comme ça. Ce qu’on aurait ainsi dû obtenir est la luminance (au sens LAB) du calque arc-en-ciel, c’est-à-dire ce qu’on obtient en passant en niveaux de gris. Ce qu’on voit est un peu plus sombre et plus contrasté :

Bref, on ne sait toujours pas exactement ce qui se passe dans Photoshop… Mon idée est qu’on a remplacé les formules exactes du modèle LAB par des approximations plus rapides à calculer, mais ce n’est qu’une hypothèse.

Peut-être cela contribue-t-il à maintenir un peu de poésie dans l’art de la retouche des images ?
  🙂