Exposés des élèves du cours de deuxième année de l'Ecole des Mines de Nancy RESEAUX 1996/1997
La compression vidéo MPEG
, par GERBER Jacques-Alexandre et GIGNOUX Sébastien

Compression vidéo : MPEG-1

MPEG-1

MPEG convertit les signaux vidéos analogiques en paquets de données numériques (digitales, en franglais) qui seront plus faciles à transporter sur un réseau. Les données digitales ont plusieurs avantages dont, en premier lieu, la non dégradation du signal. Le principe de la compression est de réduire autant que possible les redondances d'information sans que cela ne modifie l'aspect visuel du fichier ainsi traité.

MPEG est constitué de deux couches :

Compression

Il existe deux types de compression :

A ces deux techniques s'ajoutent deux autres techniques spécifiques à la compression vidéo :

La figure suivante schématise un système général de décompression MPEG :

Hierarchie des données

Hierarchie des données Vidéo

La figure ci-dessous schématise la hiérarchie des données dans le flux vidéo :

Les données sont hierarchisées de la façon suivante :

Hierarchie des données Audio

Le standard MPEG définit une hierarchie de structures de données qui code le signal audio. Ce flux audio est composé de paquets selon le schéma suivant :

Compression temporelle

Le standard MPEG spécifie trois types d'images :

Composition du flux vidéo

L'algorithme MPEG autorise à l'encodage le choix de la fréquence et de la position des images clés. ceci permet à l'application un accès aléatoire aux plages enregistrées. Pour les applications où l'accès aléatoire est important, les images clés sont positionnées typiquement toutes les demies secondes. à l'encodage on peut choisir le nombre d'images prédites entre n'importe quelle paire d'images de référence. Ce choix est basée sur des facteurs liés au décodeur (comme par exemple la quantité de mémoire) ainsi qu'aux caractéristiques de la séquence vidéo.

Les codeurs MPEG réordonnent les images dans le flux vidéo pour optimiser le travail du décodeur. Ainsi, les images de référence nécessaires à la reconstruction d'images prédites sont envoyés avant les images prédites.

Compensation du mouvement

La compensation de mouvement est une technique pour optimiser le compression des images intermédiaires et des images clés en éliminant la redondance temporelle. Typiquement, la méthode de compensation de mouvement optimise la compression par un facteur d'ordre trois comparé au codage interne à l'image. Les algorithmes de compensation de mouvement travaillent au niveau des macroblocs. Quand un macrobloc est compressé par la technique de compensation de mouvement, le fichier compressé contient les informations suivantes :

Toutes les informations d'une image ne peuvent pas être prédites de l'image précédente. Considérons une scène dans laquelle une porte s'ouvre : les détails visuels de la chambre derrière la porte ne peuvent pas être prédits de l'image précédente quand la porte était fermée. Quand un cas comme celui-ci arrive, c'est-à-dire lorsqu'un macrobloc ne peut pas être codé de manière efficace dans une image prédite par la technique de la compensation de mouvement, il est codé de la même façon qu'un macrobloc dans son image clé. La différence, au niveau de la compensation de mouvement, entre une image prédite et une image bidirectionnelle est la suivante : les macroblocs d'une image prédite n'utilisent que des références à l'image antérieure, alors que les images bidirectionnelles utilisent toute combinaison d'images futures et/ou passées.

Il y a ainsi quatre types d'encodage d'un macrobloc d'une image prédite :

L'encodage des images clés

La compression MPEG compressé s'est d'images avec un algorithme prend trois étapes

Les blocs d'erreur ainsi que les blocs image possède une grande redondance spatiale. Pour réduire cette redondance, l'algorithme MPEG transforme les blocs de huit pixels par huit pixels du domaine spatial vers le domaine fréquentiel en utilisant une transformation en cosinus discrète. Ensuite, l'algorithme quantise les coefficients fréquentiels. La quantisation consiste à approximer chaque coefficient fréquentiel par un nombre dans une nombre limité de valeurs. Le codeur choisit une matrice de quantisation qui détermine comment chaque coefficient de la matrice 8 x 8 est quantisé. La perception humaine de l'erreur de quantisation est plus faible pour les hautes fréquences spatiales, ces fréquences seront alors quantisées plus sévèrement (c'est-à-dire avec moins de valeurs) que les basses fréquences. la combinaison de la transformée en cosinus discrète et de la quantisation permet de transformer beaucoup de coefficients fréquentiels à zéro, notamment les coefficients correspondant à une grande fréquence spatiale. Les coefficients non nuls étant regroupés en haut et à gauche de la matrice, la matrice n'est pas lue par ligne et colonne mais en zigzag pour optimiser la compression. Ceci permet de mettre tous les zéros de la matrice les uns à la suite des autres.

Certains blocs, par exempte les blocs qui ont un léger gradiant intensité, ont besoin d'être codés de manière plus précise pour éviter que l'on voit les frontières entre les blocs. Pour gérer ces différences entre les blocs, l'algorithme MPEG autorise la modification du niveau de quantisation pour chaque macrobloc. Ce mécanisme peut être utilisé pour permettre une adaptation souple à débit particulier.

 

Méthodes de synchronisation

Le standard MPEG définit un mécanisme qui assure la synchronisation entre audio et vidéo. Le système inclus deux paramètres : l'horloge de référence du système (SCR) et le marquage temporel (PTS). Le MPEG spécifie une horloge système qui tourne à 90 KHz. L'horloge système de référence et le marquage temporel sont codés dans le flux MPEG en utilisant 33 bits, qui peuvent représenter n'importe quel cycle d'horloge dans une période de 24 heures.

introductionmpeg-2

Exposé précédent : EthernetExposé suivant : reseau Ecole