Compression vidéo - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

MPEG-2

L'algorithme MPEG-2 a été dessiné pour avoir une qualité pas inférieure à celle de NTSC/PAL et plus grande que celle du CCIR 60.

À la base, l'algorithme de MPEG-2 est identique à celui de MPEG-1 et il est donc compatible avec lui. Chaque décodeur MPEG-2 doit être capable de décoder un flux vidéo MPEG-1 valide. Plusieurs algorithmes ont été ajoutés pour s'adapter aux nouveaux besoins. MPEG-2 permet de traiter des images entrelacées.

MPEG-2 introduit le concept de « profils » et de « niveaux » pour être compatible avec les systèmes qui n'implémentent pas toutes ces fonctionnalités.

Chaque niveau spécifie la plage des différents paramètres utiles pour le codage.

Le niveau principal supporte au maximum une densité de 720 pixels en horizontal et 576 pixels en vertical, un débit d'images par seconde de 30 trames/sec et un débit de bit par seconde de 15 Mbit/s.

Conclusion

La combinaison des techniques de prédiction compensée de mouvement et de la transformation DCT peuvent être définies comme les éléments clé de la compression vidéo de type MPEG. Un troisième élément caractéristique est que ces techniques sont utilisées pour des petits blocs d'image (souvent 16x16 pixels pour la compensation de mouvement et 8x8 pixels pour le codage DCT).

Pour ces raisons le codage MPEG est référé aux algorithmes hybrides DPCM/DCT.

Schéma de base du codage entre trames

La technique de compression de base de MPEG-1 (et de MPEG-2) est basée sur une structure de macro-blocs. L'algorithme code la première trame d'une séquence avec un codage Intra-frame (trame I). Chaque trame successive est codée en utilisant la prédiction Inter-frame (trames P); seulement les données de la trame codée juste précédemment (trames I ou P) seront utilisées pour la prédiction. Chaque couleur d'une trame est partitionné en macro-blocs.

Chaque macro-bloc contient les données sur la luminosité et de la chrominance: 4 blocs de luminosité (Y1,Y2,Y3,Y4) et deux pour la chrominance (U,V), chacun de 8x8 pixels; ce qui donne un rapport entre luminosité et chrominance de 4 : 1 : 1

Schéma blocs du codage DCT/DPCM

La première trame d'une séquence vidéo (trame I) est encodé avec le mode Intra-frames sans aucune référence sur des trames passées ou futures. À l'encodeur la DCT est appliquée sur chaque bloc 8x8 de luminosité et de chrominance, chacun des 64 coefficients DCT sont quantifiés uniformément (Q). Après quantification, le coefficient plus petit (coefficient DC) est traité différemment par rapport aux autres (coefficients AC). Le coefficient DC corresponde a l'intensité moyenne du bloc et il est encodé avec une méthode de prédiction différentielle DC. Le reste des coefficients non nuls sont ensuite codés en zigzag comme dans le codage JPEG.

Schéma blocs du décodage DCT/DPCM

Le décodeur effectue l'opération inverse. Il commence par extraire et décoder les données des différents coefficients DCT pour chaque bloc. Avec la reconstruction (Q*) des coefficients non nuls il fait la DCT inverse (DCT-1) et les valeurs de quantification des pixels des blocs sont reconstituées. Toutes les blocs de chaque image sont décodés et reconstitués.

Pour coder les trames P, les trames précédents N-1(trames I ou P) sont mémorisées temporairement dans FS (frame store). La compensation de mouvement (MC) est effectué sur la base des macro-blocs. Un buffer vidéo (VB) est nécessaire pour assurer un débit constant de flux vidéo.

Conditions de remplissement

Une caractéristique apporté par l'algorithme MPEG-1 est la possibilité de mettre à jour les informations des macro-blocs au décodeur seulement si nécessaire (si le contenu d'un bloc est changé par rapport au contenu du même bloc de l'image précédente). La clé pour un codage efficient des séquences vidéo avec un faible débit de bits par seconde est le bon choix de l'algorithme de prédiction. Le MPEG standard distingue principalement trois différents méthodes (types MB):

  • MB par saut : Prédiction depuis les trames précédentes avec zéro vecteurs de mouvement. Aucune information sur les macro-blocs est ni codée ni transmise au récepteur.
  • Inter MB : Prédiction depuis les trames précédentes. Le type MB, l’adresse MB si demandé, le vecteur de mouvement, coefficients DCT et le pas de quantification sont transmis.
  • Intra MB : Aucune prédiction est utilisé. Seulement le type MB, l’adresse MB, le vecteur de mouvement, les DCT et le pas de quantification sont transmis.

Fonctionnalités de MPEG-1

Pour accéder à un support média, l'algorithme MPEG-1 fut pensé pour supporter différentes fonctionnalités comme l'accès aléatoire, la recherche en vitesse avant (FF-fast forward) et arrière (FR-fast reverse) dans le flux vidéo, etc.

Pour incorporer ces fonctionnalités et pour tirer plus d'avantage de la compensation de mouvement et de l'interpolation de mouvement, l'algorithme MPEG-1 introduit le concept d'images prédictées et interpolées bidirectionnellement (trames B).

Trois types de trames sont considérées :

  • Trames I : Ces trames sont codées sans aucune référence à autre image de la séquence vidéo, comme explique avant. Les trames I permettent de réaliser l'accès aléatoire et les fonctionnalités FF/FR, bien qu'elles ne permettent qu'un très bas taux de compression.
  • Trames P : Ces trames sont codées avec une référence à l'image précédente (trame I ou trame P). Ces trames sont utilisées pour la prédiction de trames futures ou passées et elles ne peuvent pas être utilisées pour réaliser l'accès aléatoire et les fonctionnalités FF/FR.
  • Trames B : Elles ont besoins des trames futures et passées comme référence pour être codées. Elles sont utilisées pour obtenir un très haut taux de compression. Elles ne sont jamais utilisées comme référence.

L'utilisateur peut arranger la séquence des différents types de trame selon le besoins de l'application. Généralement une séquence vidéo codée en utilisant seulement des trames I (I I I I I . . .) donne un haut degré d'accès aléatoire, de FF/FR et d’édition, mais un taux très bas de compression. Une séquence vidéo codée seulement avec des trames P ( I P P P P P P I P P P P . . .) permet un degré moyen d'accès aléatoire et de FF/FR.

Si on utilise les trois types de trames (I B B P B B P B B I B B P . . .) on arrive à un grand taux de compression et un raisonnable degré d'accès aléatoire et de FF/FR, mais on augmente beaucoup le temps de codage. Pour des applications comme la vidéotéléphonie ou la vidéoconférence ce temps peut devenir intolérable.

Page générée en 0.048 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise