YCbCr

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

Le modèle YCbCr ou plus précisément Y'CbCr est une manière de représenter l'espace colorimétrique en vidéo, issue essentiellement des problèmes de transmission hertzienne.

Une image captée par n'importe quel appareil est la somme des couleurs qui la composent, que le résultat soit en couleur ou en noir et blanc. Ainsi, même dans une image en noir et blanc, le signal Y' qui représente la luma (à ne pas confondre avec la luminance relative notée Y, le symbole prime de Y' indiquant une correction gamma), a été créé par la somme du rouge, du bleu et du vert.

Est envoyé Y', le signal de luminance (noir et blanc), plus deux informations de chrominance, Cb (Y' moins le bleu) et Cr (Y' moins le rouge). Le récepteur peut recréer le vert et reproduire une image couleur. En effet, si on a Y' (Rouge + Vert + Bleu) et Cb (Y' - Bleu) et Cr (Y' - Rouge), le vert peut être recréé mathématiquement en utilisant l'équation : Y' = 0,3 R' + 0,6 V' + 0,1 B'.

Intérêt et principe[modifier | modifier le code]

Ce standard a été développé à une époque où il fallait assurer la compatibilité entre des récepteurs de télévision noir et blanc et des récepteurs couleur.

La couleur étant créée par la juxtaposition de trois types de luminophores rouge (R), vert (anglais : green, G) et bleu (B), il faut transmettre trois composantes, trois signaux. Cependant, le noir et blanc ne comprend qu'une seule teinte, le niveau de gris. Les trois signaux transmis ne sont donc pas les trois composantes RGB mais la teinte de gris Y ou Y', et la différence entre cette teinte et deux autres composantes.

Ainsi, un récepteur noir et blanc ne traitera que la composante Y ou Y' et les récepteurs couleur déduiront les trois composantes chromatique par simple soustraction. Schématiquement, on transmet trois composante Y, U et V :

Y ≃ R + G + B
U ≃ B – Y
V ≃ R – Y

et dans le cas d'un récepteur couleur, on déduit :

R ≃ Y + V
G ≃ (–Y – U – V)/2
B ≃ Y + U

Dans la pratique, les luminophores n'ont pas le même rendement, on applique donc des coefficients correcteurs.

Utilisation[modifier | modifier le code]

Pour la télévision[modifier | modifier le code]

Ce système de transmission et de codage de la couleur pour la télévision a été nécessaire pour plusieurs raisons :

  • Assurer une restitution de la couleur plus fiable. Le signal Y', bien que noir et blanc, contient en effet toutes les infos pour les trois couleurs, et Cb et Cr étant des différences par rapport à Y', une valeur de soustraction erronée entre Y' et Cr ou Cb (en cas de problème de transmission) permet de rectifier plus aisément le tir.
  • Permettre la double compatibilité descendante, c'est-à-dire permettre à un téléviseur noir et blanc de décoder un signal de télévision couleur, ou plutôt de rajouter des informations de couleur dans le signal noir et blanc sans que cela ne perturbe l'ancien matériel, les nouvelles informations étant placées dans des fréquences plus élevées.
  • Dissocier l'information en noir et blanc de l'information en couleurs afin de diminuer la définition de la couleur seule, tout en restant en deçà de la perception visuelle humaine (rapport entre cônes et bâtonnets).

La notation Y'CbCr fait référence au transport de la composante vidéo en format numérique, contrairement à la notation Y'PbPr ou Y'DbDr.

En informatique[modifier | modifier le code]

Le système Y'CbCr est utilisé pour les images JPEG. Ce modèle colorimétrique permet en effet de réduire la taille d'une image. Cette réduction se base sur la constatation suivante : l'œil humain est plus sensible à la luminance qu'à la chrominance. Il est par conséquent possible de dégrader la chrominance d'une image tout en gardant une bonne qualité.

Formules de calcul[modifier | modifier le code]

Conversion R'G'B'/Y'CbCr[modifier | modifier le code]

Pour calculer les valeurs des composantes Y'CbCr d'une image[1] à partir des composantes R'V'B' (ou R'G'B') (qui varient de 0 à 255), on utilise les formules suivantes :

L'ajout de 128 à Cb et Cr permet d'obtenir des octets dont les valeurs varient entre 0 et 255 La conversion inverse se fait ainsi (les valeurs obtenues varient encore entre 0 et 255) :

Standard CCIR 601[modifier | modifier le code]

Dans le standard CCIR[2] 601 des composantes vidéo de la télévision, on fait varier Y' de 16 à 235, et Cr et Cb de 16 à 240. Les formules de conversion sont alors (les variables en minuscules variant de 0 à 1, pb et pr variant de -0.5 à 0.5, les variables en majuscules étant des octets entre 0 et 255) :

La conversion en octet se fait comme suit :

ou plus simplement :

Voir aussi[modifier | modifier le code]

À lire[modifier | modifier le code]

Notes et références[modifier | modifier le code]