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
Multimédia : MPEG-4
Alors que pour MPEG-1 et MPEG-2, les technologies et évolutions étaient bien connues quand le projet a commencé, MPEG-4 est né dans une période où les conditions changent rapidement. MPEG-4 a néanmoins réussi à trouver son identité en offrant une réponse à des besoins émergeants pour des champs d'applications variés, des services audiovisuels interactif à la télésurveillance.
MPEG-4 est le premier standard de représentation vidéo tendant à rendre l'utilisateur actif et non plus passif. Et comme l'être humain n'aime pas intéragir avec des entités abstraites mais plutôt avec des éléments représentatifs faisant partie d'une scène, le concept de contenu est crucial pour MPEG-4.
Un autre point important est l'intégration. En fait, MPEG-4 souhaite considérer et intégrer harmonieusement des objets audiovisuels naturels et synthétiques incluant l'audio mono, stéréo et multi-canal (Dolby AC-3, ...) ainsi que la vidéo 2D ou 3D en mono, stéréo et en vue multiple. Cette stratégie d'intégration transversale devrait permettre à MPEG-4 de fournir un environnement standardisé où est mise en oeuvre une approche plus globale de la représentation audiovisuelle.
Les derniers points clés concernant MPEG-4 sont la flexibilité et l'évolutivité. Ces éléments sont essentiel dans le contexte technologique actuel en permanente évolution, est devrait être fournis par un langage de description syntaxique (SDL).
Ainsi MPEG-4 s'adresse t-il a la convergence des applications et la fusion de trois mondes : l'informatique, les télécoms et la télévision.
Interactivité basée sur le contenu
Manipulation basée sur le contenu et édition
du flux de données
MPEG-4 devrait fournir une syntaxe et des schémas pour
la manipulation basée sur le contenu et l'édition de
flux de données sans que le décodage ne soit
nécessaire. Ceci signifie que l'utilisateur devrait
être en mesure de sélectionner un objet
spécifique dans une scène et d'en changer
éventuellement les caractéristiques.
Codage des données hybrides (narturelles et
synthétiques)
MPEG-4 devrait fournir des méthodes efficaces pour
combiner des images de synthèse à des scènes
réelles. Cette fonctionnalité offre quelque chose de
nouveau au monde de l'image : l'intégration harmonieuse
d'objets audiovisuels naturels et synthètiques. Ceci
réprésente un premier pas vers l'unification de tous
types d'informations audiovisuelles.
Accès aléatoire temporel
amélioré
MPEG-4 devrait fournir des méthodes efficaces pour
l'accès aléatoire à des parties d'une
séquence multimédia délimitée dans le
temps et avec une bonne résolution.
Compression
Codage de multiple flots de données concurrents
MPEG-4 devrait être en mesure de coder de façon
efficace de multiples vues ou bandes sons ainsi qu'une
synchronisation suffisante entre les flots de données
élementaires résultants. Pour des applications de
vidéo multiple ou stéréoscopique, MPEG-4
devrait pouvoir exploiter la redondance d'information dans les
différentes vues d'une même scène, offrant par
ailleurs des solutions compatibles avec la vidéo
traditionnelle. Cette fonctionnalité devrait conduire
à des représentations efficaces d'objets naturels 3D
à condition qu'un nombre suffisant de vues soient
disponibles. Les applications comme la réalité
virtuelle pourront bénéficier de façon
substantielle de cette fonctionnalité.
Accès universel
Multirésolution
basée sur le contenue
MPEG-4 devrait pouvoir prendre en compte les
échelles et ainsi offrir une bonne granularité du
contenu et améliorer la résolution spatiale,
temporelle, la qualité et la complexité. Ceci
implique une hiérarchisation des objets dans la
scène. La prise en compte de plusieurs échelles
pourrait mener à des représentations
intéressantes de la scène, où les objets les
plus importants seraient représentés dans des
résolutions spatiales et/ou temporelles meilleures.
Les fonctionnalités précédemment décrites montrent la nécéssité d'objets audiovisuels (AVO). Le codage basé sur une structure orientée objet est nécessaire pour outre-passer les limites des performances actuelles. Globalement, une AVO peut être associer à :
Ainsi, une scène audiovisuelle doit être comprise comme la compostion d'AVOs selon un scripte décrivant leurs relations spatiale et temporelle.
Les caractéristiques spécifiques des composants audio et vidéo des différents AVOs peuvent être très différentes. Le composant audio peut être aussi bien synthétique que réel, mono, stéréo ou multicanal (surround,...). Le composant vidéo peut de même être aussi bien synthétique que réel, 2D ou 3D, mono, stéréo ou en vue multiple.
Les nouvelles fonctionnalités de MPEG-4 nécéssitent un environnement de représentation ou une architecture qui utilise une structure de données différentes de MPEG-1 et MPEG-2, parce que des parties significatives de l'information visuelle doivent être accessibles pour l'intéraction et la manipulation.
L'accès individuel à chacun de ces objets impose à la scène d'être représentée comme la composition d'objets divers qui seront ensuite rassemblés pour recréer la scène.
Dans la suite de l'exposé, nous utiliserons le terme VOP (Video Object Plan) qui correspond à un composant vidéo de forme arbitraire. Le bloc de définition VOP a pour tâche de définir les objets de la scène qui sont parlants et intéressants et avec lesquels des interactions et des manipulations indépendantes seront possibles. Ceci signifie que ces objets doivent être représentés de façon à fournir un accès simple et de préférence indépendant des autres objets de la scène. Attention, les VOPs n'ont pas nécessairement les même résolutions spatiales et temporelles.
Pour augmenter les possibilités de manipulation, il semble intéressant de considérer des hiérarchies de VOPs associés à différents degrés d'accessibilité (un VOP peut être divisé en sous-VOPs). On peut dès lors s'intéresser à aux moins trois types particuliers de VOPs :
2 VOPs ou plus mutuellement disjoints, résultants de
la segmentation d'une scène 2D
Ce cas correspond au partitionnement de la scène en
divers VOPs, en utilisant les séquences vidéos 2D
traditionnelles en entrée.
2 VOPs ou plus, résultants de la composition d'une
scène à partir de différentes sources
Ceci suppose que les données sont exploitables au
début du processus de production. Cette scène est
une compostion d'objets séparés.
L'utilisateur doit alors pouvoir intéragir avec les objets de la scène. Voici quelques manipulations possibles :
Les informations relatives à la forme, au mouvement et à la texture des VOPs sont codées dans des couches VOL (Video Object Layer) séparées afin de permettre le décodage séparé des VOPs. Le MPEG-4 VM (Video Verification Model) utilise un algorithme identique pour coder des informations relatives à la forme, le mouvement et la texture dans chaque couche. Cependant, l'information concernant la forme n'est pas transmise si la séquence qui doit être codée ne contient que des images standards de taille rectangulaire. Dans ce cas, l'algorithme de codage vidéo MPEG-4 à une structure similaire au algorithme MPEG-1 et -2.Cela convient à des applications qui requièrent une grande efficacité de codage sans nécessiter des fonctionnalités étendues basées sur le contenu.
L'algorithme de compression MPEG-4 VM est basé sur la technique hybride des DPCM/Transform déjà employée avec succès par les standard MPEG. La première VOP est codée en mode I-VOP. Chacune des images suivantes est codée en utilisant la prédiction inter-image (P-VOP). Seul les données de la plus proche image précédemment codée est utilisée pour la prédiction. A cela s'ajoute le support des B-VOP. Le procédé de codage est le même que celui des standard MPEG-1 et -2.
En générale, les images en entrée qui doivent être codées pour chaque couche VOP sont de forme arbitraire et la position et la forme des images varient dans le temps en respect d'une fenêtre de référence. MPEG-4 VM introduit alors le concept de VOP Image Window avec une grille de macrobloc adaptable à la forme. Toutes les couches VOL qui doivent être codées pour une séquence vidéo en entrée sont définies en référence à la fenêtre de référence dont la taille est constante. Un exemple de VOP Image Window avec sa fenêtre de référence et un exemple d'une grille de macrobloc pour une image VOP particulière est décrit ci-dessous :
L'information sur la forme d'une VOP est codée avant le codage des vecteurs de position basés sur la grille de macrobloc du VOP et est exploitable aussi bien pour l'encodage que pour le décodage. Dans les étapes suivantes du processus, seules les informations concernant le mouvement et la texture des blocs du macrobloc sont codées (ce qui inclue les macroblocs standards et les macroblocs de contour indiqués sur la figure ci-dessus).
Estimation et compensation du mouvement
Ces techniques sont utilisées pour explorer les
redondances temporelles du contenu vidéo des couches VOPs
séparées. De façon générale on
peut condidérer ces techniques comme une extension de
celles utilisées dans le standard MPEG. Cependant, un
enrichissement des différentes méthodes de
prédictions du mouvement est à l'étude.
Codage de la texture
Les I-VOPs et les erreurs résiduelles issues de la
compensation de mouvement sont codées par une DCT sur des
blocs 8x8 de façon similaire au standard MPEG. La grille de
macroblocs adaptable est ici à nouveau employée.
Pour chaque macrobloc un maximum de quatre blocs de luminance 8x8
et deux blocs de chrominance 8x8 sont codés. Une adaptation
particulière pour les blocs 8x8 representent les
frontières du VOP. Une technique particulière permet
de remplir l'arrière-plan hors du VOP avant de lui
appliquer la DCT.
Agencement des informations sur la forme, le
déplacement et la texture
Tous les "outils" (DCT, estimation et compensation du
mouvement,...) définis dans les standards MPEG sont pour
l'instant supportés par le MPEG-4 VM. L'alpha channel
compressé, les vecteurs de mouvement et la DCT sont
multiplexés dans une couche VOL du flux en codant les
informations sur la forme en premier suivi par le
déplacement et, finalement, les textures.
Efficacité du codage
A côté de toutes les nouvelles fonctionnalités et des systèmes de correction d'erreurs, d'une robustesse accrue, le codage de données vidéo avec une grande efficacité du codage à différents taux de treansfert continue à être supporté par le standard MPEG-4. MPEG-4 VM autorise le cas particulier d'un seul VOP permettant de coder une simple séquence d'images. Des expérimentations font espérer des améliorations substantielles permettant d'atteindre des taux de transfert inférieurs à 64Kb/s (débit rêvé pour la vidéo-conférence).
Multirésolution temporelle et spatiale
Un but important de la multi-résolution du codage vidéo est d'accroître la flexibilité au niveau du récepteur pour différentes bandes passantes, capacités d'affichage, requêtes sur une banque de données vidéo (qui permettrait par exemple de parcourir des séquences vidéo). Une autre capacité de la multi-résolution du codage est de permettre l'existence d'une couche vidéo à transmission prioritaire.
Multi-résolution temporelle
Cette technique a été développée
dans le même esprit que la mutli-résolution spatiale.
Un flux de données multi-couches autorise un utilisation
à différents taux de transfert. Enfin, la couche
supérieure est obtenue par prédiction temporelle
à partir des couches plus basses. De cette manière,
il est possible de gérer des scènes où les
VOP sont affichés à des taux de transfert
différents les uns des autres. Par exemple, un
personnage au premier plan peut être affiché à
un taux de transfert plus important que l'arrière-plan ou
d'autres objets de moindre importance.