Introduction
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
interagir 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
![]() | Outils
d'accès aux données multimédia basées sur le contenu MPEG-4 devrait fournir un accès aux données et une organisation efficace basée sur le contenu audiovisuel. Les outils d'accès seraient alors les fonctions d'indexation, liens hypertexte, requêtes, affichage, transfert, chargement et suppression. |
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 (naturelles 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 repré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
amélioré Un des objectifs de MPEG-4 est de fournir une qualité audiovisuelle meilleure que celle qu'offrent d'autres standards émergeant, à taux de transfert équivalent. |
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
élémentaires 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
![]() | Robustesse
dans des environnements peu fiables MPEG-4 devrait être particulièrement robuste aux erreurs. Et plus particulièrement pour de faibles taux de transfert avec une liaison fortement perturbée. Il est à noter que MPEG-4 sera le seul standard de représentation audiovisuelle où les caractéristiques des canaux sont considérées dans la spécification des méthodes de représentation. |
![]() | MultiRésolution basée sur le contenu 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écessité 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 à :
![]() | juste
un composant vidéo |
![]() | juste
un composant audio |
![]() | les
deux |
Ainsi,
une scène audiovisuelle doit être comprise comme la composition 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 multi-canal (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écessitent 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'interaction 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 :
![]() | Un
unique VOP (2D) Dans ce cas la représentation du VOP se ramène au cas bien connu d'une unique scène comme savent les manipuler les standards actuels. |
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 composition d'objets séparés.
L'utilisateur
doit alors pouvoir interagir avec les objets de la scène. Voici quelques
manipulations possibles :
![]() | Modification
de la position spatiale d'un objet (VOP) dans la scène |
![]() | Application
d'un facteur d'échelle spatiale à un objet de la scène |
![]() | Changement
de la vitesse avec laquelle un objet se déplace dans la scène |
![]() | Ajout
d'objets |
![]() | Suppression
d'un objet de la scène |
![]() | Représentation
de la luminance et de la chrominance au standard Y:U:V par des pixels régulièrement
échantillonnés au format 4:2:0. L'intensité de chaque pixel Y, U ou V est
quantisé en 8 bits. La taille et la forme de l'image dépendent de
l'application. |
![]() | Codage
de multiples VOPs comme image de forme arbitraire : l'image rectangulaire
n'est qu'un cas particulier. |
![]() | Codage
de la forme et de la transparence de chaque VOPs par des séquences d'images
planes binaires ou en nuances de gris (alpha channel) selon une méthode
particulièrement optimisée. |
![]() | Support
de I-VOP (Intra-VOP), P-VOP (temporally Predicted-VOP) et B-VOP (temporally
Bidirectionnally predicted-VOP) compatible avec les I-, P- et B-Pictures. |
![]() | Support
de taux de transfert fixes et variables des séquences de VOP en entrée. |
![]() | Estimation
et compensation du mouvement propre à chaque VOP, basé sur des blocs 8x8
pixels et des macro blocs de 16*16 pixels. |
![]() | Codage
des textures des VOPs en utilisant une transformation en cosinus discrète
(DCT) en bloc de 8x8 ou, alternativement, une DCT adaptée à la forme
(Shape Adative DCT) adoptée pour les régions de forme arbitraire, suivie
par une quantisation et un Run-Length Encoding de type MPEG-1 ou MPEG-2. |
![]() | Prédictions
efficaces des coefficients de la DCT pour les I-VOPs. |
![]() | Prédictions
du mouvement global des sprites statiques et dynamiques à partir d'une mémoire
panoramique de la VOP utilisant 8 paramètres dédiés. |
![]() | Prise
en compte des échelles temporelles et spatiales des VOPs. |
![]() | Couche
de macro blocs adaptable et marqueurs de mouvement perfectionnés pour la re
synchronisation en cas d'erreur. |
![]() | Compatibilité
ascendante avec les algorithmes MPEG-1. |
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
MPEG-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 MPEG-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 macro bloc 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 macro bloc pour une image VOP particulière est décrit
ci-dessous :
![]() |
Exemple d'une grille de macro bloc MPEG-4 VM pour une image VOP au premier plan. Cette grille est utilisée pour le codage de l'alpha channel, l'estimation et la compensation de mouvement et le codage de la texture basée sur les blocs et la DCT.
L'information
sur la forme d'une VOP est codée avant le codage des vecteurs de position
basés sur la grille de macro bloc 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 macro
bloc sont codées (ce qui inclue les macro blocs standards et les macro blocs de
contour indiqués sur la figure ci-dessus).
![]() | Codage
de la forme MPEG-4 VM repose essentiellement sur deux méthodes de codage concernant la forme. Les techniques qui seront adoptées pour le standard fourniront un codage à moindre perte des alpha channels et une provision pour les pertes et les informations de transparence, optimisant le compromis entre le taux de transfert et les occurrences de représentation de la forme. |
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 considé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 macro blocs adaptable est ici à nouveau employée.
Pour chaque macro bloc 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
représentent 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 transfert 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
spatiale La figure suivante montre la philosophie générale de MPEG-4 pour ce qui est du codage multi-échelle vidéo. Trois couches y sont considérées, correspondant à différentes résolutions spatiales du VOP. La couche de base (celle dont la résolution est la plus faible) est utilisée pour des taux de transfert médiocres. Les couches supérieures sont alors reconstruites à partir de celle de base et constituent les images de prédiction des séquences en pleine résolution. Si un récepteur n'est pas capable d'afficher un VOP dans sa qualité optimale (pleine résolution), une version plus petite du VOP peut être reconstruite uniquement en décodant le flux de la couche de base. |
![]() | Multi-Résolution
temporelle Cette technique a été développée dans le même esprit que la multi-résolution spatiale. Un flux de données multicouches 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. |