Sous échantillonnage et codage 8 bits/10bits

pixels bleus et mauves

Lorsqu’on s’intéresse un peu à la technique caméra, à l’encodage des images et à la compression on peut tomber sur ce genre de terme :

« 4:2:2 sous-échantillonnage de chrominance
8 ou 10 bits de profondeur de pixel »

Pas de panique, ce n’est pas si compliqué que ça !

Tout d’abord, un peu d’histoire :

Dans les années 50, lors du développement de la télévision couleur, Alda Bedford parle de sous-échantillonnage de la chrominance afin de réduire la bande passante. En effet, la puissance de l’époque ne permettait pas de retransmettre entièrement toutes les couleurs par le réseau Hertzien. Il fallait compresser tout ça ! A cette époque il démontre que l’œil humain a une meilleure sensibilité au noir et blanc, moins pour les couleurs comme le jaune ou le vert et beaucoup moins pour les couleurs aux extrémités du spectre chromatique (le Rouge et le Bleu).
schéma du spectre chromatique
Author Tatoute and Phrood~commonswiki
Ainsi, cela a permis de développer un système négligeant le signal bleu tout en conservant la plupart du signal vert ainsi qu’un bout du rouge. Le sous-échantillonnage de la chrominance est un type de compression qui permet de réduire les informations de couleurs tout en conservant celles sur la luminosité. Cela permet de réduire la bande passante nécessaire sans pour autant dégrader de façon visible l’image. Elle est de moins bonne « qualité » certes, mais cela n’est pas forcément perçu par notre œil.  On conserve une certaine clarté de l’image tout en réduisant le poids du fichier.

Alors en détail, qu’est-ce que c’est ? :

Dans une image, chacun des pixels comporte 3 types d’informations :

Luminance (Y’)
Chrominance bleue (Cb)
Chrominance rouge (Cr)

Maintenant pourquoi on parle de 4:2:2 par exemple ou de 4:4:4 ?

Parce que pour quantifier le sous-échantillonnage, on prend pour représentation une région de 4 pixels de largeur sur 2 pixels de hauteur.
Sur cet échantillon de 8 cases donc, on va placer différentes informations et quantités de luminances et de chrominances.

– Le premier chiffre indique le nombre d’échantillons de luminance (Y’) par ligne (en règle générale 4)
– le deuxième chiffre indique le nombre d’échantillons de chrominance (Cb, Cr) sur la première ligne de pixels.
– Le troisième chiffre indique le nombre d’échantillons de chrominance (Cb, Cr) sur la deuxième ligne de pixels.

échantillonnage
Auteur Ellande

Si vous avez quatre chiffres, par exemple, 4:4:4:4, alors le dernier chiffre représente la transmission ou l’enregistrement d’un canal alpha. On pourra approfondir le sujet dans un autre article si ça vous intéresse, pour l’instant on va se concentrer sur l’essentiel !

Vous remarquez que les informations de luminances sont très souvent de 4 car la vision humaine est plus sensible à la luminosité qu’à la couleur. Donc en gardant assez d’information de luminances et en se séparant d’informations de chrominances, on ne dégrade pas la qualité perçue de l’image.

Pour info un humain a environ 3 à 4 millions de cônes par œil (pour les couleurs) pour environ 100 millions de bâtonnets (lumière) pour chaque œil.

Explication des différentes structures d’échantillonnages :

Si vous avez une structure en 4:4:4 (comme c’est souvent le cas au cinéma) cela veut dire que vous n’avez aucune compression, donc pas de sous-échantillonnage. Tous les pixels de l’images sont « entiers » et conservent toutes leurs informations,  ce qui rend les travaux d’incrustations plus simples.
Cependant, vous vous en doutez, afin de traiter ces images en post production il faut des machines onéreuses capables de traiter un fort débit.

Alors que veut dire le 4:2:2 ? Il y a deux fois moins d’échantillons de chrominance que de luminance mais la qualité vidéo peut rester haute gamme.

Si on enregistre avec une structure de 4:2:0 vous remarquez qu’on a presque plus d’info de chrominance. On n’en a que sur la première ligne. A partir de là l’image sera tout de même de moins bonne qualité.

Quand on passe du 4:4:4 au 4:2:2 on gagne environ 33 % en taille de fichier.
Et quand on passe du 4:4:4 au 4:2:0 on gagne environ 50 % en taille de fichier.

Comment ça se passe ? :

Lors d’un sous échantillonnage en 4:2:2 par exemple, pour ne conserver qu’un pixel sur deux, une des méthodes consiste à faire la moyenne des couleurs.
Par exemple, sur une ligne de 4 pixels : 

carrés de couleurs

Le bleu et le rouge sont mélangés pour donner du magenta.

mauve
Et le rouge et le vert donnent une sorte de jaune.
jaunâtre
Evidemment ce n’est pas idéal puisqu’on perd en qualité mais notre œil humain le perçoit à peine. Cette opération s’est faite sur la première ligne de notre échantillon de 8 pixels ; c’était pour le premier 2. Et pour le deuxième 2 (4:2:2) on effectue la même opération mais sur la ligne du bas. A savoir que selon les codecs utilisés la méthode pour compresser peut changer un peu. On peut faire une moyenne avec le pixel du dessus ou recopier le pixel précédent par exemple. Alors là vous allez me dire : mais du coup ça fait des pâtés de couleur ! Et bien non, puisque si on rajoute les informations de luminances on obtient des pixels sensiblement différents :
couleur mauve
couleur rose
couleur marron
couleur grise

Les inconvénients :

En règle générale ces types de compressions sont invisibles pour l’œil humain mais dans certains cas, lorsqu’il y a des rayures dans l’image par exemple (sur une chemise par exemple), cela peut poser problème. On peut voir que le partage des informations de chaque pixel donne un effet de « fusion » :
lignes circulaires
(bien évidemment ce genre de chose arrive peu souvent)

Et le deuxième problème reste la difficulté à détourer des objets sur Photoshop avec des images sous échantillonnées.

Quand on parle de 10 ou 8 bits on parle de quoi ?

Chaque pixel qui nous donne une couleur contient en fait différentes informations de rouge,  de vert et de bleu (c’est l’espace RVB et jusqu’ici rien de neuf).

En 8 bits on a 256 façons de coder notre vert primaire, 256 façons de coder notre bleu primaire, et de 256 façons de coder notre rouge primaire.
Sur chaque couleur primaire on a 256 nuances différentes qu’on peut obtenir. Et en mettant plus ou moins de bleu, de rouge ou de vert on aura des couleurs différentes.

Si on multiplie 256 x 256 x 256 on obtient 16 777 216 nuances possibles de couleur en 8 bits.
8 bits = 16 millions de nuances environ.

Maintenant si on se met en 10 bits, on a plus de bits à disposition pour chaque couleur. Donc on peut avoir des nuances plus précises.

On aura donc en 10 bits :
1024 nuances de vert, 1024 nuances de rouge et évidemment 1024 nuances de bleu.
1024 x 1024 x 1024 = 1 073 741 824 nuances de couleurs différentes.
10 bits = 1 milliards de nuances environ.

Concrètement cela signifie qu’en 8 bits on est plus à même d’avoir des images avec un phénomène de banding

ciel bleu
phénomène de banding
Author Phlake at en.wikipedia

On appelle banding ces démarcations, ces lignes de couleurs. On peut en voir sur des photos de ciel par exemple.

Le ciel possède bien plus de nuances que la caméra ne peut reproduire. On va passer par exemple d’un ciel avec une nuance de bleu pâle, à une nuance de bleu « un peu moins pâle » et donc il va créer des nuances comme ça qui vont former des lignes sur notre image.

Et du coup, comme vous pouvez le voir sur les images ci-dessus, le 10 bits sera plus à même de représenter les différentes nuances de couleurs sans créer de banding.
A notez que le 8 Bits et le 10 bits sont indépendants de la compression en 4 :2 :2 par exemple. Ce sont deux paramètres bien différents mais on en parle souvent ensemble. 

Voilà, c’est tout pour cet article, si vous avez des questions posez les en commentaire et n’hésitez pas à partager à ceux que ça pourrait intéresser.

A plus pour un prochain article ! 

logo tips et cinéma
Compte Insta cinéma
Logo Neel Naja
Compte Insta Photos

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *