MPEG Vidéo

  

e

La quantité d’information d’un flux vidéo numérique est réellement considérable, même avec un codage couleur YUV en 4 :2 :2 pour une vidéo FullHD en 25 images par seconde elle atteint 103.7 MO (Mēga Octets) par secondes, soit 373 GO par heure d’enregistrement. De tels débits sont quasiment impossibles à transmettre sur les ondes radios et très lourd a stoker. Il a donc fallu inventer des méthodes de compression pour la vidéo.


sphere%2025%20px.gif Compression JPG

On découpe l'image en blocs de 8x8 pixels (l’image est donc recadrée pour former un nombre entier de blocs de 8x8 px). Chaque bloc est ensuite comparé aux 64 blocs standards du tableau ci-dessous. Les blocs de ce tableau correspondent à des fonctions cosinus (transformée discrète en cosinus des blocs 8x8), en donnant à chaque bloc un coefficient de -1 à +1 il est possible de reconstituer par approches successives n’importe quel bloc de 64 pixels sans pertes d’informations

  

transformation%20cosinus.jpg


L’image reconstituée est décrite par une suite de 64 valeurs correspondant aux 64 blocs servant à l'encodage, plus le numéro du bloc augmente, moins l’information visuelle qu’il apporte est importante.

No du bloc
1
2
3
4
5
6
7
8
etc..
Coefficient  
+0,852
-0,224 0,002
   -0,127 +0,056 -0,203   -0,039 +0,371 etc...

  
En fonction du niveau de compression souhaité ces coefficients sont ensuite arrondis et tous les blocs qui tombent dessous d’un certain seuil sont simplement ignorés, c’est ici que la compression produit des pertes d’informations. Seules les valeurs restantes sont écrites dans un fichier qui sera finalement comprimé avec un algorithme sans perte du même genre que les fichiers ZIP informatique.


Ce système est très efficace parce que l'on opère sur des blocs de petite taille où de grandes variations de l'image sont peu probables. Si le niveau de compression reste raisonable, la méthode de seuillage ne détruit que des détails imperceptibles à l’ œil et produit des fichiers avec des grandes suites de 0 ce qui augmente l'efficacité de compression finale sans perte du type ZIP. La méthode n’est pourtant pas vraiment adaptée aux images comportant du texte parce qu’un effet « mosaïque » désagréable apparaît dès que l’om augmente trop le taux de compression.


Pour le cinéma numérique chaque image du master est codée celons ce procédé avec un taux de compression relativement modéré.


sphere%2025%20px.gif Compression MPEG

Le groupe MPEG a été établi en 1988 dans le but de développer des standards internationaux de compression, décompression, traitement et codage d'images animées et de données audio. Depuis, la quasi-totalité des méthodes de compression utilisent les principes décrits ci-dessous.

Il existe plusieurs standards MPEG :

• Le MPEG-1, développé en 1988, est un standard pour la compression des données vidéo et deux canaux audio. Il permet le stockage dans une qualité proche des cassettes VHS). La norme MPEG-1 représente chaque image comme un ensemble de blocs 16 x 16. Elle permet d'obtenir une résolution de 352x288 à 25 images par seconde en PAL/SECAM avec un débit de l'ordre de 1.2 Mbps (exploitable sur un lecteur de CD).


• Le MPEG-2, uun standard dédié originalement à la télévision numérique (HDTV) offrant une qualité élevé à un débit pouvant aller jusqu'à 40 Mbps, et 5 canaux audio suround. Le MPEG-2 permet de plus une identification et une protection contre le piratage. Il s'agit du format utilisé par le DVD vidéo.

• Le MPEG-4, un standard destiné à permettre le codage de données multimédia sous formes d'objets numériques, afin d'obtenir une plus grande interactivité, ce qui rend son usage particulièrement adapté au Web et aux périphériques mobiles.


point%20rouge%2000.gif Le MPEG nécessite plusieurs techniques de codages:

Pour commencer le signal vidéo en entrée est converti à la norme 4:2:0 (lire dabord la page vidéo numérique) avec seulement 8 bits, les mages en 10 ou 12 bits nécessitent des calculs avec  des arrondis pour obtenir 8 bits. Ces calculs et le sous-échantillonnage couleur introduisent une perte d’informations faible mais irréversible, (Rapport signal bruit de 48 DB  et 65536 couleurs seulement) mais aussi la première réduction du débit.


Ensuite on part du constat que dans une courte séquence vidéo, la majorité des scènes sont fixes ou bien changent très peu, c'est ce qui s'appelle la redondance temporelle. On imagine aisément que dans un plan fixe ou une cigogne passe dans le paysage, il suffirait d’enregistrer une seule image du paysage et 25 petites images contenant seulement la cigogne pour obtenir une seconde de vidéo
 4%20images%20video.jpg
 

C’est le principe du codage temporel du format MPEG. Les images sont découpé en blocs de 16x16 pixels (appelés macro blocs), puis l'algorithme compare chaque image avec une image de référence bloc par bloc pour encoder uniquement les blocs qui ont changés de façon suffisamment importante. A la lecture ces blocs seront simplement superposés à l'image de référence conservée en mémoire.


Imaginons une vidéo avec un lent panoramique, on pourrait enregistrer la première image en entier, puis au fur et à mesure du déplacement de la camera couper un bout et coller de l’autre cote le petit bout d’image qui manque
 



Sur ce principe, chaque macro blocs de 16 x 16 pixels est comparé à ceux des images précédente ou suivante, le programme de compression détermine de combien de pixels ce ploc c’est déplacé et n’enregistre que les informations de déplacement des blocs (en X et en Y)  et le bout d'image manquant.
 



Cette technique dite de codage par compensation de mouvement donne un niveau de compression très important, mais induit un petit retard (puisqu'il faut connaître l'image suivante) et oblige à garder en mémoire au moins trois images (la précédente, l'actuelle et la suivante).


Dans la pratique du codage MPEG, la vidéo est donc d’abord décomposé en courte séquence appelée GOP (Group Of Picture). Ce paquet à une longueur de 8 à 16 images celons le niveau de compression souhaitée et comporte trois sortes d’image :

•Intra coded frames (Frames I, codage Intégral): C’est la première image de chaque  GOP, elle est codée dans sa totalité au format JPG pour servir de référence aux images suivantes. Ces images sont indispensables à la cohésion du film puisque toutes les autres sont décrites par rapport aux images qui les entourent. Pour commencer la lecture d’une vidéo a un point quelconque il faut évidemment attendre l’arrivée de la première image du type « I Frame ».

•Predictive coded frames (frames P ou codage prédictif): Toutes les trois images une image dite prédictive est définie par différence avec l'image de type I Frame ou P frame précédentes. Ici le codage temporel est privilégie par rapport à la compensation de mouvement

•Bidirectionally predictive coded frames (Frames B): Toutes les autres images sont des B Frames, elles sont décrites par différence avec l'image de type I Frame ou  B Frame précédente et suivante, cette fois la compensation de mouvement est privilégie par rapport au le codage temporel.

 

GOP_2_thumb.jpg

C'est la finesse de la recherche et de l’analyse des macro-blocs qui déterminera la vitesse de l'encodage et la qualité de la compression, plus l'algorithme cherche des détails fin à l’intérieur des blocs plus la qualité de la vidéo sera bonne, mais il perdra plus de temps...


         

         


 Retour a l'acceuil