• Aucun résultat trouvé

A.2 Caractéristiques des diérentes normes

A.2.5 MPEG-4 partie 2

La norme MPEG-4 [ISO00a] [Sik97] "Generic coding of audio-visual objects" a été dénie à l'origine pour des applications de très bas débit, mais elle est vite devenue une norme générique ayant un débit cible compris entre 5 kbit/s et 1 Gbit/s.

Cette norme est générique, elle est donc capable de traiter aussi bien les images progressives que les entrelacées, les images sub-QCIF que les images "studio" (4k × 4k), et les scènes réelles que les scènes de synthèses 2D ou 3D. Elle traite tous types d'images à tous les formats.

Pour cette norme, une nouvelle structure de données basée objets a été adoptée. La scène est découpée en Objets AudioVisuels (VO) qui sont codés indépendamment (cf g. A.6).

Fig. A.6  Description d'une scène avec la norme MPEG-4 [ISO00a]

Pour chaque Objet Video, on code alors la forme, le mouvement et la texture avec les tech- niques classiques (comme dans MPEG-2).

Les formes sont codées à l'aide de masques binaires. Pour chaque objet (VO), un plan (VOP) est déni comme étant le plus petit rectangle contenant cet objet. Le masque consiste à dire si les pixels de ce plan (VOP) appartiennent ou non à l'objet. De plus, lorsque des BIFS (BInary Format for Scenes, descripteurs de scènes) sont utilisés, ils permettent de dénir l'emplacement des objets les uns par rapport aux autres, leur orientation,. . .

L'estimation-compensation pour la norme MPEG-4 peut, comme dans le Advanced Prediction mode de H.263, être eectuée sur les macroblocs 16×16 ou sur les blocs 8×8, mais avec une précision pouvant aller jusqu'au 1/4 pixel. Cette estimation est basée blocs, mais elle tient compte des frontières d'objets et ne peut pas sortir de l'objet considéré.

Deux types de texture sont à coder, les textures dynamiques des objets en mouvement, et les textures statiques du fond.

La texture des blocs entièrement contenus dans un objet ainsi que celle des blocs frontières complétés par "padding" (les pixels hors de l'objet sont estimés à partir de ceux de l'objet) sont codées par une DCT adaptée aux contours (Shape-Adaptive DCT SA-DCT), quantication, et codage entropique VLC.

Les textures statiques sont décomposées en ondelettes et codées à l'aide d'arbre de zéros (zero- tree).

Cette norme possède aussi plusieurs outils dont l'utilisation dépend de l'application visée, c'est-à-dire qu'on utilisera peu d'outils pour des applications bas débit et beaucoup d'outils pour les hauts débits. Ces diérents outils sont :

1. Content-Based Functionalities :

 "Content-based coding" permet le décodage et la reconstruction de n'importe quel objet vidéo indépendamment des autres.

 "Random access" permet de faire pause, avance rapide et retour rapide.

 "Extended manipulation" permet d'incruster du texte, des textures, des images ou des vidéos dans la séquence reconstruite comme, par exemple, une légende qui suit un objet en mouvement.

2. Scalability of Textures, Images and Video :

 "Complexity scalability" permet à tout décodeur de décoder la séquence quelque soit sa complexité, l'encodeur doit alors générer plusieurs ux de complexités diérentes, par exemple, le premier ux sera généré sans outil, les ux de rehaussement intégreront des outils.

 "Spatial scalability" permet une scalabilité spatiale comme dénie précédemment (cf g. A.4), mais jusqu'à 11 niveaux.

 "Temporal scalability" permet une scalabilité temporelle jusqu'à 3 niveaux. Pour cette scalabilité, la couche de base n'est pas composée de toutes les images de la séquence, les couches de rehaussement apportent ces images supprimées pour repasser à la séquence originale.

 "Quality scalability" permet une scalabilité SNR comme dénie précédemment (cf g. A.3).

 "Fine Grain scalability" est un cumul de toutes ces scalabilités dans les versions les plus nes, jusqu'à 11 niveaux pour chacune.

3. Shape and Alpha Channel Coding : permet de dénir la transparence des objets.

4. Robustness in Error Prone Environments : permet une meilleure robustesse aux erreurs de transmission grâce à des nouvelles techniques d'error resilience (décrites ultérieurement avec le train binaire).

5. Face and Body Animation : permet d'animer des visages et des corps de synthèse.

6. Coding of 2-D Meshes with Implicit Structure : permet de coder des objets en 2D à l'aide d'une décomposition en meshes (structure autre que des blocs, généralement des triangles) et de modèles de déformation.

7. Coding of 3-D Polygonal Meshes : même chose que précédemment, mais pour des objets en 3D. Cet outil a été par la suite complétée par une extension : AFX (Animation Framework eXtension).

Un outil intéressant du "Content-based" est le "sprite". Il permet la transmission ecace des scènes de fond où les changements dans le contenu de ce fond sont principalement provoqués par un mouvement de caméra. Ainsi, un sprite statique est une grande image immobile (panorama statique de fond) qui est transmise au récepteur avec les paramètres de caméra de sorte que la partie appropriée de la scène puisse être retracée (ou déformée) (cf g. A.7).

La correction d'erreurs est améliorée, dans cette norme, grâce à la structure du train binaire (cf g. A.8), au partitionnement des données (comme dans H.263++) et à l'utilisation de code RVLC (Reversible VLC, décodable dans les deux sens). Une fois l'erreur détectée, on se resynchronise sur le marqueur suivant et les données sont décodées en sens inverse pour en récupérer un maximum. Si trop de données ont été perdues, alors elles sont remplacées par les informations des images suivantes ou précédentes.

Fig. A.7  Exemple de codage à l'aide de sprite dans la norme MPEG-4 [ISO00a]

Fig. A.8  Structure du train binaire et technique de correction d'erreurs de la norme MPEG-4 Cette norme possède donc un grand nombre d'outils, mais ceux-ci impliquent une forte aug- mentation de la complexité au codage et au décodage. En plus de ces outils, il y a des extensions qui ont été dénies comme IPMP (Intellectual Property Management and Protection), AFX (Animation Framework eXtension),. . . Il existe une autre extension à cette norme MPEG-4 qui ne dénit pas un outil, mais un nouveau schéma complet de codage vidéo : AVC (Advanced Video Coding), soit H.264 MPEG-4 AVC (partie 10) plus ecace en compression que MPEG-4 vidéo (partie 2), mais dépourvue du mode objet.