Dans le domaine de la vidéo numérique, s'il n'y avait pas de réduction de débit, il serait difficile de diffuser de la vidéo à travers les tuyaux et les supports mémoire actuels, au vu de l'énorme quantité de données à stocker depuis l'avènement de la HD et désormais du 4K.

Pour réduire autant le débit toujours plus gourmand de la vidéo, notamment aujourd'hui avec le passage à la UHD (4K), il faut inventer des stratégies de "perte" de poids binaire, un régime numérique ! Voici comment cela fonctionne.

Compression vidéo : Les principes

Pour commencer et donner un ordre d'idée : quelques exemples de débits non compressés et leur équivalents compressés.

Définition SD HD UHD
Débit du flux SDI
(transport vidéo en sortie de caméra)
SDI : 270 Mbps HD SDI : 1,5 Gbps UHD SDI 6G : 6 Gbps
Débit lors de la diffusion finale DVD : 8 Mbps Blu-ray : env. 20 Mbps YouTube 4K : 20 Mbps

Et voici maintenant un schéma des étapes générales de ce régime, à base de formules mathématiques :

Schéma de réduction des débuts vidéo
  • En 4K, le poids d'une seule image codée sur 8 bits par composante est de 25 Mo (3 octets RGB 8 bits x 8 millions de pixels), donc le débit à la sortie d'une caméra 4K tri-capteurs à 25 images/seconde est de 5 Gbps en RGB. À cette étape-là, le pixel est dit carré, et on ne perd aucun pixel entre la tête de caméra 3 capteurs RGB et sa sortie numérique.
  • La perte de poids numérique peut commencer en diminuant le nombre de pixels sur la définition horizontale; on parle alors de sous échantillonnage et de pixels rectangulaires, comme c'est le cas de tous les DVD qui affichent à l'écran une image au ratio 16/9 alors que le fichier VOB sur le disque n'enregistre que des images en 4/3.
  • La 2e étape de la réduction de débit est le passage d'un espace couleur RGB à un espace couleur YUV, ou YCbCr en numérique. On divise, on sépare pour plus tard mieux compresser la couleur sans toucher au signal noir et blanc, en suivant les caractéristiques physiologiques de l’œil humain qui comporte plus de bâtonnets que de cônes.
  • La 3e étape est la réduction de la définition de la couleur (chroma), sans toucher à la définition NB (luma). Soit on divise par deux, soit on divise par 4 cette définition couleur.
  • Les deux étapes suivantes sont la compression spatiale (INTRA) et la compression temporelle (INTER) via des formules mathématiques dépendant de la famille du codec (DCT ou DWT, Cosinus ou Ondelettes), que nous avons traité dans un article précédent avec les codecs SONY XAVC.

Nous allons dans cet article nous intéresser aux 2e et 3e étapes de la réduction de débit.

L'idée sur laquelle repose la réduction de débit est la suivante : en adaptant l'image aux caractéristiques physiologiques de l’œil et du cerveau, il doit être possible de "perdre" des données sans que l’œil et le cerveau ne s'en rendent compte. Le cerveau est moins regardant par exemple sur la définition quand l'image est en mouvement, et notre œil est constitué d'éléments différents affectés à différentes fonctions dans la captation de la lumière :

  • La qualité de la lumière, l'information de la couleur, est captée par des photorecepteurs appelés cônes. Ils sont au nombre de 6 millions environ, soit moins de 5 % du nombre total des photorécepteurs. Disons que nous appelons ces informations les informations de chrominance.
  • La quantité de la lumière, l'information en dégradés de gris, est captée par des photorecepteurs appelés bâtonnets, qui sont aussi reliés à la détection du mouvement. Ils sont au nombre de 120 millions environ. Disons que nous appelons ces informations les informations de luminance.

Schéma des photorécepteurs de la rétine humaine
Les deux grands types de photorécepteurs dans la rétine humaine : les bâtonnets et les cônes
(image tirée du site Le cerveau à tous les niveaux).

Première remarque importante : la "définition" de l’œil humain de la sensation de couleur est faible comparée à notre sensation d'intensité en noir et blanc. D'un point de vue humain, nous détectons plus de piqué en noir et blanc qu'en couleur pour notre reconstruction du réel.

Les chercheurs en modèles mathématiques appliqués à l'image numérique se posent donc la question suivante : et si l'on divisait par 2 la définition de la couleur de l'image numérique au stockage et à la diffusion, sans toucher à la définition du noir et blanc ? L’œil ne s'en apercevrait probablement pas !

Voyons comment mettre en place cette stratégie.

Du RGB au YCbCR

Problème : le signal vidéo d'une caméra est nativement transporté sur 3 couleurs primaires R (Rouge), G (Vert) et B (Bleu) ; il n'y a pas de signal noir et blanc, encore moins séparé des 3 signaux qui transportent la couleur.

Signal original en sortie de caméra sur 3 fils :

R | G | B

Solution : il faut donc transformer, matricer les 3 signaux R+G+B en 4 signaux NB/R/G/B, pour avoir d'un coté le signal noir et blanc, de l'autre les signaux de la couleur.

Pour réussir cette recette du matriçage vidéo, il faut déterminer les bonnes proportions de R, G et B pour la représentation de chaque pixel en noir et blanc, c'est-à-dire la bonne sensation de noir et blanc qui correspondra au mélange du rouge, du vert et du bleu.

Chaque norme introduit des proportions pour obtenir un noir et blanc adapté à différents facteurs :

  • la réponse moyenne de l’œil humain (courbes de réponse des cônes et bâtonnets) ;
  • la technologie du moment (SD, HD, 4K...) ;
  • les caractéristiques des dispositifs de captation et de diffusion, les primaires retenues dans l'espace colorimétrique cible...

Sans entrer dans le détail de chaque norme, voici la recette globale pour calculer la valeur en noir et blanc du pixel à partir de ses 3 composantes couleurs :

100% NB  = 30% R + 60% G + 10% B

En vidéo, le terme "NB" est remplacé par la lettre "Y".

Y  = 30% R + 60% G + 10% B

Sachant que le but ultime est de réduire le débit de la vidéo, il faut simplifier le transport et non l'alourdir.

Or, nous avions 3 signaux : R, G et B.

Et après matriçage, nous en avons 4: Y, R, G, B.

Plusieurs stratégies ont été mises en place pour simplifier le transport puis l'enregistrement :

  • Y étant la somme des 3 primaires couleurs, on peut faire disparaître l'une des primaires et la retrouver à la fin connaissant la somme; c'est une équation à une inconnue (x) :

    Y = 30% R + x(?) + 10% B ce qui permet de ne transporter que Y | R | B sur 3 fils, puis ensuite de retrouver mathématiquement la composante G.
  • Il est plus léger de transporter l'information de différence entre les composantes et Y (B-Y, R-Y, G-Y)), que l'information des composantes elles-mêmes.

Nous obtenons ainsi le mode de transport vidéo dit "composantes" sur 3 signaux :

Y | B-Y | R-Y

En numérique, le signal s'écrit généralement avec la lettre de la composante (C) primaire transportée :

Y | Cb | Cr

Arrivés à mi-parcours, résumons :

Voici le signal qui sort d'une caméra numérique (signal SDI) vu sur un oscilloscope en mode RGB :


3 signaux transportés pour alimenter un moniteur avec ses 3 composantes R, G, B.

Et voici le même signal, mais transformé et matricé en mode composantes Y Cb Cr, destiné à être transporté et compressé pour un enregistrement sur disque ou cartes par exemple :


3 signaux matricés et destinés au transport et à la compression : Y, Cb (B-Y), Cr (R-Y).

Souvent la représentation du signal Y est affichée en vert sur les oscilloscopes, ce qui peut ajouter de la confusion chez certains techniciens : ici, le signal G ("Green" pour "Vert") est absent de l'affichage, mais il sera reconstruit mathématiquement par différence des composantes couleurs avec Y ; la composante G est donc implicitement contenue dans Y, et c'est aussi la composante la plus forte (60 % dans le blanc à 100 %). À gauche sur l'image, le signal affiché en vert est donc le signal Y noir et blanc.

Nous voilà donc avec ces 3 beaux signaux Y Cb Cr, prêts pour la suite des aventures de la réduction de débit.

Réduction de la définition (chroma)

Poursuivons notre but : réduire la définition des composantes couleurs (chroma) sans toucher à Y (noir et blanc = luma).

En HD, l'image est composée de 1920 x 1080 pixels, soit environ 2 millions de pixels par composante.

  Composante R Composante G Composante B
Définition horizontale de l'image 1920 1920 1920
Définition verticale de l'image 1080 1080 1080
Poids numérique
sur 8 bits par image
2 Mo 2 Mo 2 Mo

L'image pèse alors 3 x 2 Mo, soit 6 Mo/image en HD RGB non compressée.

Si l'on divise par deux la définition des seules composantes couleurs Cb Cr, voici comment s'organise ce ratio de sous-échantillonnage entre la luma (Y) et la chroma (Cb et Cr):

  Composante Y Composante Cb Composante Cr
Définition horizontale
 
1920 960 960
Définition verticale
 
1080 1080 1080
Poids numérique
sur 8 bits par image
2 Mo 1 Mo 1 Mo

L'image ainsi sous-échantillonnée (par un facteur de 2) pèse 2 Mo + 1 Mo + 1 Mo = 4 Mo !

On vient de perdre 1/3 du poids numérique en dégradant simplement la définition de la représentation couleur (chroma).

Voyons si la dégradation est visible à l'œil nu :

Comparatif de sous-échantillonnage chromaZoom dans l'image RGB non sous-échantillonnée | Zoom dans l'image Y Cb Cr (chroma divisée par 2).

Difficile de voir la différence entre les deux images.

Du coup les chercheurs imaginent aller encore plus loin. Si on ne voit rien en divisant par deux la définition horizontale des composantes couleurs, peut-être est-il possible de diviser par 4 sans que le téléspectateur s'en aperçoive !

Ce qui donnerait :

  Composante Y Composante Cb Composante Cr
Définition horizontale
 
1920 480 480
Définition verticale
 
1080 1080 1080
Poids numérique
sur 8 bits par image
2 Mo 0,5 Mo 0,5 Mo

L'image ainsi sous-échantillonnée (par un facteur de 4) sur la chroma pèse 2 Mo + 0,5 Mo + 0,5 Mo = 3 Mo !

Soit cette fois 50 % de réduction de poids numérique par rapport à l'image RGB d'origine (6 Mo).

Voyons la différence en images :

Zoom dans l'image RGB non sous-échantillonnée | Zoom dans l'image Y Cb Cr (chroma divisée par 4).

Conclusion du sous-échantillonnage chroma : il est très difficile de voir la différence entre une image RGB et la même image YCbCr dont la chroma a été divisée par 2, ou même 4.

Pour pouvoir qualifier le niveau de sous-échantillonnage de la chroma, une dénomination particulière va être utilisée, en associant à chaque composante un rapport (ratio) entre la luma (Y) et la chroma (Cb et Cr) :

Pour 4 pixels de Y, combien me reste-t-il de pixels en comparaison en Cb et Cr, sachant que mon image d'origine RGB se note :

R
(ratio sur 4)
G
(ratio sur 4)
B
(ratio sur 4)
4 4 4
4 pixels de R 4 pixels de G 4 pixels de B

Noté comme cela dans les spécifications techniques du matériel :

RGB 4:4:4 (sans sous-échantillonnage, donc un signal parfait !)

Pour la suite, lorsque nous allons diviser par 2 ou par 4, le chiffre correspondant à la composante Cb et Cr va donc changer pour expliquer le rapport de perte : de 4, on va passer au chiffre 2 puis 1, pour indiquer la réduction de la définition par rapport au 4 du Y qui ne change pas.

Voici les tableaux complets :

  R G B
Définition horizontale 1920 [4] 1920 [4] 1920 [4]
Définition verticale 1080 1080 1080

  Y Cb Cr
Définition horizontale 1920 [4] 960 [2] 960 [2]
Définition verticale 1080 1080 1080

  Y Cb Cr
Définition horizontale 1920 [4] 480 [1] 480 [1]
Définition verticale 1080 1080 1080

Si je veux conserver une bonne définition horizontale seule, sans toucher à la définition verticale (notamment à cause de l'entrelacement de l'image), le mode 4:2:2 est idéal entre réduction de débit et qualité conservée.

Mais lorsque l'on désire aller plus loin en réduction de débit en diluant la perte à la fois sur la définition horizontale et aussi verticale, une solution a été trouvée :

  • une ligne en 4:2:2 : 960 pixels horizontaux en Cb et Cr

    puis la ligne suivante :
  • une ligne en 4:0:0 : on saute une ligne sur deux en Cb et Cr, soit 540 lignes verticales (1080/2)

Le résultat s'appelle le 4:2:0 :

  Y Cb Cr
Définition horizontale 1920 [4] 960 [2] 960 [2]
Définition verticale 1080 540
[0, 1 ligne sur 2]
540
[0, 1 ligne sur 2]
Noté sur les documentations : 4 2 0

Si le résultat est imperceptible à l’œil nu, il va potentiellement compliquer la post-production dans divers domaines :

  • incrustation sur fond bleu (un peu moins sur le vert) ;
  • étalonnage couleur (moins de précision avec moins de pixels couleur).

Pour voir à l'œil nu les différences entre les différents ratios luma/chroma, il faut un zoom puissant dans l'image d'une mire, et la dégradation qui en découle.

Étapes de compression vidéo

  • L'enregistrement en 4:4:4 est lourd est donc généralement destiné aux productions cinéma chères, aux publicités courtes, aux effets spéciaux, aux incrustations...
  • L'enregistrement en 4:2:2 est dit "broadcast", idéal pour la production TV de qualité.
  • L'enregistrement en 4:1:1 ou son équivalent en 4:2:0 trouve généralement sa place dans le grand public et la diffusion en télédiffusion numérique (TNT, sat, DVD, Blu-ray...).

Qui peut le plus peut généralement le moins, et le plus difficile est de faire de l'étalonnage avec des sources en 4:2:0 ou 4:1:1, qui vont nécessiter des traitements particuliers (plug-in par exemple dédié à la reconstruction de la chroma par calcul...).

Si vous désirez jouer avec ces paramètres, vous pouvez télécharger le labo "Biglab" pour Windows : BigLab 1.9.

Capture d'écran BigLab 1.9

PARTAGER
Contact Vie privée, Cookies Conditions Générales d'Utilisation