Post on 05-Jan-2016
description
iMAGIS is a joint project of CNRS - INPG - INRIA - UJF
iMAGIS-GRAVIR / IMAG
Modèles de couleur
Nicolas Holzschuch
iMAGIS-GRAVIR/IMAG
iMAGIS-GRAVIR / IMAG
Modèles de couleur•Qu’est-ce qu’une couleur ? Définitions
– Artistiques• Teinte, saturation, luminance
– Physiques/biologiques• Spectre, stimulus
• Fonctions de base universelles
• Espaces perceptuellement uniformes
– Informatiques• RGB, CMYK, HSV, YCbCr…
iMAGIS-GRAVIR / IMAG
Définitions du peintre•Définitions basées sur le mélange des peintures
•Vocabulaire habituel de la couleur
Blanc
Noir
Couleur pure
Gris
Teintes
Tons
Ombres
Saturation
Luminosité
iMAGIS-GRAVIR / IMAG
Définition physique•Une couleur = un spectre
iMAGIS-GRAVIR / IMAG
Définition spectrale•Échantillonnage de la couleur entre 380 nm (violet) et 720 nm (rouge)
•Longueurs d’onde visibles– En dessous de 380 nm : ultra-violet– Au dessus de 720 nm : infra-rouge
iMAGIS-GRAVIR / IMAG
Teinte, saturation… (2)•Définition physique liée au spectre :
– Teinte = longueur d’onde dominante– Saturation = pureté de l’excitation– Luminance = quantité de lumière– Couleur pure = une seule longueur d’onde
iMAGIS-GRAVIR / IMAG
Exemple simplifié
Luminance= aire sous la courbe
400 nmViolet
760 nmRouge
EnergieP()
Teinte
Longueur d’onde dominantee2
e1Saturation
iMAGIS-GRAVIR / IMAG
Perception de la couleur•La rétine :
– Cônes– Bâtonnets
•Bâtonnets : – Perception achromatique– Lumière atténuée
•Cônes :– Perception chromatique (3 types)– Concentrés au centre de la rétine
iMAGIS-GRAVIR / IMAG
3 sortes de cônes
iMAGIS-GRAVIR / IMAG
3 sortes de cônes : conséquence
Spectres différents, couleurs perçues comme identiques : métamères
iMAGIS-GRAVIR / IMAG
Représentation des couleurs•La représentation spectrale est trop riche
– Par rapport à la vision– En coût mémoire
•La vision humaine n’a que trois fonctions de base
• Il doit exister une représentation compacte– Pourquoi pas les couleurs primaires ?
• Rouge, vert, bleu
iMAGIS-GRAVIR / IMAG
Un léger défaut
iMAGIS-GRAVIR / IMAG
Une nouvelle fonction de base• Les couleurs primaires ont un défaut :
– L’ensemble des couleurs visibles ne peut pas être représenté avec des coordonnées positives
• Besoin de nouvelles fonctions de base– Couvrant tout le visible
– Avec des coordonnées positives
– Linéaires par rapport à RVB
• Commission Internationale de l’Éclairage– www.cie.co.at
– 1931
iMAGIS-GRAVIR / IMAG
CIE XYZ
iMAGIS-GRAVIR / IMAG
CIE XYZ•Y = luminance (perçue par la vision humaine)•X,Y, Z : représentation de la couleur•Conversion vers RVB : linéaire
– Matrice 3x3 de conversion
•Chromaticité :– XYZ représente toutes les couleurs– Besoin de pouvoir séparer la luminance de la
chromaticité– « le même rouge, mais en plus sombre »
iMAGIS-GRAVIR / IMAG
Chromaticité•On introduit (x,y) :
•Parfois, on donne (x,y,Y) au lieu de (X,Y,Z)– Plus facile à mesurer– Conversion :
€
x= XX+Y+Z
y= YX+Y+Z
€
X=xyY
Z=1−x−yy Y
iMAGIS-GRAVIR / IMAG
Diagramme de chromaticité
x
y
380 nm
720 nm
500 nm
Couleurs pures
Couleurs combinées
iMAGIS-GRAVIR / IMAG
iMAGIS-GRAVIR / IMAG
iMAGIS-GRAVIR / IMAG
iMAGIS-GRAVIR / IMAG
Diagramme de chromaticité
iMAGIS-GRAVIR / IMAG
Diagramme de chromaticité
iMAGIS-GRAVIR / IMAG
Diagramme de chromaticité
Couleurs affichables par le moniteur
iMAGIS-GRAVIR / IMAG
Diagramme de chromaticité
iMAGIS-GRAVIR / IMAG
Perception des couleurs•Distance entre deux couleurs :
– Dans l’espace de base : facile– Pour la vision humaine : utile
• Idéalement, il y a un lien entre les deux•Espace des couleurs perceptuellement uniforme
– Lien constant, indépendant de la couleur
•Différences juste perceptibles :– Plus petite distance entre deux couleurs perçues
comme différentes
iMAGIS-GRAVIR / IMAG
Différences juste perceptibles dans l’espace xy
iMAGIS-GRAVIR / IMAG
Espaces perceptuellement uniformes
•CIE, 1976
•L*a*b* et L*u*v*
•An : coordonnée d’un blanc de référence
€
L*=116Y/Yn( )13−16 si Y/Yn>0.008856
L*=903.3Y/Yn( ) sinon
a*=500X/Xn( )13−Y/Yn( )
13
[ ]
b*=200Y/Yn( )13−Z/Zn( )
13
[ ]
€
u*=13L*(u'−u'n)v*=13L*(v'−v'n)u'= 4X
X+15Y+3Zv'= 9Y
X+15Y+3Z
iMAGIS-GRAVIR / IMAG
L*a*b* et L*u*v*•Perceptuellement uniformes tous les deux
– Par construction
•L* : luminance, perceptuellement uniforme
•L*a*b* :– Orthonormal
•L*u*v* :– Conversion facile avec XYZ et donc RGB– Simple projection
iMAGIS-GRAVIR / IMAG
Représentation informatique•Comment on définit une couleur ?
– Ensemble de coordonnées dans un espace de couleurs
•Plusieurs fonctions de base possibles
•Fidélité des couleurs
•Relation avec l’interface– Bleu pour le froid, rouge pour le chaud
iMAGIS-GRAVIR / IMAG
Fonctions de base•Basées sur l’outil d’affichage :
– RGB, CMYK, YCbCr
•Basées sur l’interface homme-machine– HSV
•Conversion entre eux ?
•Conversion vers un espace indépendant (par exemple XYZ) ?
iMAGIS-GRAVIR / IMAG
Rouge-Vert-Bleu•Le plus connu des systèmes
– utilisé (en interne) dans tous les moniteurs– additif
iMAGIS-GRAVIR / IMAG
Cyan-Magenta-Jaune•Utilisé dans les imprimantes couleurs
•Soustractif
iMAGIS-GRAVIR / IMAG
Conversion CMJ-RVB•En théorie :
• C=1-R• M=1-V• J=1-B
•En pratique :– Conversion non-linéaire– Contraintes physiques
• Ordre des couches d’encre, mélange…• Réaction du papier• …
iMAGIS-GRAVIR / IMAG
CMYK• K pour blacK• Économie :
– L’encre noire est moins chère que les encres de couleur
• Plusieurs possibilités :– Par exemple :
• K = min(C,M,Y)• C = C-K• M = M-K• Y = Y-K
– Suppose que le noir se mélange parfaitement à toutes les autres couleurs
– En pratique, conversion non-linéaire, basée sur l’expérience, l’ordre des couches…
iMAGIS-GRAVIR / IMAG
Le cube RVB/CMJ
iMAGIS-GRAVIR / IMAG
Fonctions de base “type Y”•YIQ, YUV, YcbCr…
•Utilisées pour la télévision couleur (et donc la vidéo)
– Y la luminance– Cb et Cr la chromaticité
•En N & B, on n’affiche que Y
•En couleur, on convertit vers RVB
•YUV=PAL, YIQ=NTSC
iMAGIS-GRAVIR / IMAG
Fonctions de base YCbCr•Y doit être égal à la luminance:
Y=LumaRed*R+LumaGreen*G+LumaBlue*B
•Cb est la chromaticité bleue :Cb = (B-Y)/(2-2*LumaBlue)
•Cr est la chromaticité rouge :Cr = (R-Y)/(2-2*LumaRed)
•LumaRed, LumaGreen, LumaBlue mesurées, correspondent aux phosphores du téléviseur
iMAGIS-GRAVIR / IMAG
Valeurs de luminance
•Les valeurs dépendent du standard télé choisi :– CCIR 601: Lr=0.299, Lg=0.587, Lb=0.114– CCIR 709: Lr=0.2125, Lg=0.7154, Lb=0.0721
•Espace YIQ (NTSC) :
Y
I
Q
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥=
0.299 0.587 0.1140.596 −0.275 −0.3210.212 −0.528 0.311
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
RGB
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
iMAGIS-GRAVIR / IMAG
Intérêts de YCbCr•Parfois, on est obligé de l’utiliser
– Travail avec entrées/sorties vidéo
•Efficace pour la compression d’images :– Meilleur taux de compression si on convertit en
YCbCr avant la compression– Grosse bande passante pour Y– Plus petite bande passante pour la chromaticité– L*a*b* est efficace pour ça aussi
iMAGIS-GRAVIR / IMAG
Teinte-Saturation-Luminance•Hue-Saturation-Value (ou Luminance) :
– HSV, HSL
•Pratique pour l’interface homme-machine:
iMAGIS-GRAVIR / IMAG
Teinte-Saturation-Luminance• max=max(R,G,B)• min=min(R,G,B)• V=max• S=(max-min)/max• delta=max-min• si max=R alors H=(G-B)/delta• sinon si max=G alors H=2+(B-R)/delta• sinon si max=B alors H=4+(R-G)/delta• H = H*60• si H<0 alors H=H+360
iMAGIS-GRAVIR / IMAG
TSL, HSV, HSL•Pratique pour les interpolations
– Interpoler entre rouge et vert– Rampe de couleur
•Effets de couleur pour la visualisation– Varier la saturation, à teinte constante– Varier la teinte, à saturation constante
• Carte d’altitude, par exemple
iMAGIS-GRAVIR / IMAG
Le cone HSV
iMAGIS-GRAVIR / IMAG
Espaces de couleur
iMAGIS-GRAVIR / IMAG
Fidélité des couleurs•Problème : conserver la même couleur quand on change d’outil de visualisation
•Solution : passer dans un espace indépendant– Échantillonner les phosphores RVB– Convertir en XYZ :
X
Y
Z
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥=
Xr Xg XbYr Yg YbZr Zg Zb
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
RGB
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
iMAGIS-GRAVIR / IMAG
Fidélité des couleurs (2)• Description du moniteur disponible sur le site du
fabricant– On extrait Xr, Xg, Xb…
• Pour d’autres sorties (imprimantes, par ex.) :– Tables de conversion multi-dimensionnelles
• « Profil » de chaque outil, disponible (www.icc.org)• Chaîne de conversion d’un outil à un autre
– RVB outil 1 vers XYZ
– XYZ vers Lab
– Lab vers CMYK outil 2
iMAGIS-GRAVIR / IMAG
En pratique…•Ça se dégrade avec l’âge :
– Les phosphores, le canon à électrons s’usent– Plus efficace de mesurer directement le profil du
moniteur, de l’imprimante• Mais plus cher (caméra spéciale, logiciel)
– Ou mesurer directement la chaîne de conversion• Scanner-moniteur-imprimante
iMAGIS-GRAVIR / IMAG
Gamma-Correction•La perception humaine est logarithmique
– L’une des causes du Mach-banding (cf. cours suivant)
• Intensité perçue, L*– Définie comme une racine cubique de l’intensité
émise, Y– En fait, à cause de l’offset et de l’échelle, presque
un Y puissance 0.4
iMAGIS-GRAVIR / IMAG
Gamma correction (2)•Le canon à électron du moniteur n’est pas linéaire non plus
– Luminance produite liée au voltage appliqué, à la puissance 2.5
•Théoriquement, les deux s’annulent• (Pure coïncidence)
•Mais en fait…– Les caméras vidéo font la conversion inverse– Plus pratique de stocker un RVB non linéaire (sur
8 bits)
iMAGIS-GRAVIR / IMAG
Gamma correction•Correction effectuée par la carte, avant le moniteur
– Pour compenser le comportement du canon à électrons
•Paramétrable– Une cause de bugs intéressante
• Surtout si mal paramétré (valeurs <1 ou > 4)
– Unix ≈ 1.45, Mac ≈ 1.8, NTSC & PC ≈ 2.2, PAL ≈ 2.9…
iMAGIS-GRAVIR / IMAG
Affichage des couleurs•Capacité d’affichage de l’outil
– Mesurée en bits :• 1 bit=2 niveaux, 8 bits=256 niveaux
– bits par fonction de base :• 24 bits=256 niveaux pour chacun de R,V,B
•Dépends de l’outil :TV : 30 dpi, 8bits de couleur
Moniteur : 70-100 dpi, 24 bits de couleur
Imprimante : 300-2400 dpi, 3 bits de couleur (8 couleurs)
Photo: 800 dpi, 36 bits de couleur
iMAGIS-GRAVIR / IMAG
Augmenter le nombre de couleurs
•La quantité de couleurs affichables est insuffisante
– Surtout avec 8 bits, ou une imprimante
•Afficher des images qui contiennent plus de couleurs ?
– Dépasser la capacité théorique de l’outil
• Idée de base :– Sacrifier la résolution spatiale au profit des
couleurs
iMAGIS-GRAVIR / IMAG
Halftoning• Imprimantes de qualité :
• Impriment des disques dont la taille varie inversement avec I
•Résolution de halftone – Différente de la résolution spatiale– 60-80 dpi pour un journal, 120-200 pour un livre
iMAGIS-GRAVIR / IMAG
Dithering•Autre méthode pour traiter plus de couleurs
•Un bloc de pixels pour représenter les couleurs– n*n pixels pour n*n+1 niveaux de couleur
iMAGIS-GRAVIR / IMAG
Dithering (2)•Exemple pour 2x2:
•Notation matricielle :0 1 2 3 4
0 2
3 1
⎡ ⎣ ⎢
⎤ ⎦ ⎥
iMAGIS-GRAVIR / IMAG
Notation matricielle•Pour le niveau i, on affiche les pixels avec v<i
•La forme de la matrice dépend de l’outil :– Points dispersés pour un moniteur– Points regroupés pour une imprimante
6 8 4
1 0 3
5 2 7
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
0 8 2 10
12 4 14 6
3 11 1 9
15 7 13 5
⎡
⎣
⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥
iMAGIS-GRAVIR / IMAG
Dithering, suite•Un pixel d’image remplacé par 4, 9, 16… pixels de l’imprimante
•On veut garder la résolution originale :– Utiliser un modulo :
• i=x modulo n
• j=y modulo n
• On allume le pixel si (i,j) dans la matrice de dithering est plus petit que I(x,y)
iMAGIS-GRAVIR / IMAG
Dithering, encore•On voit apparaître le motif de dithering
•Pour le faire disparaître :– Floyd-Steinberg– On commet une erreur à chaque pixel– Diffuser l’erreur aux pixels voisins
•Ça se voit moins, mais l’image est plus floue
iMAGIS-GRAVIR / IMAG
Conclusion•Représentation des couleurs
– Plusieurs fonctions de base– Adaptées à différentes taches
• Moniteur, imprimante, vidéo…
•Conversion facile entre les outils
•Fidélité des couleurs, représentation indépendante
•Dithering pour augmenter le nombre de couleurs