Compression vidéo MPEG-4 Ecole d’Eté PDMS , 30 Août 2001 Cécile Dufour (cecile.dufour@philips.com) Video and Communication Group Philips Recherche France (PRF) Laboratoires d’Électronique Philips (LEP)
Plan MPEG-4 : un standard ISO MPEG-4 visual : introduction MPEG-4 vidéo : les outils MPEG-4 vidéo : planning et profiles
Plan (1) MPEG-4 : un standard ISO MPEG-4 visual : introduction MPEG-4 vidéo : les outils MPEG-4 vidéo : planning et profiles
MPEG-4 : un standard ISO Stockage d ’audio et vidéo naturelles sur support numérique (CD-ROM, DAT…) 1.2 Mbit/s Vidéo Télévision numérique 3-10Mbit/s Applications Multimédia Interactives : Visiophonie, Internet Streaming, TV Broadcast, ... MPEG-7 : indexation de contenu
MPEG-4 : un standard parmi d ’autres (1/2) ITU-T ISO-IEC JTC1 SG15 WG1 WG11 WG12 (JPEG) (MPEG) (MHEG) MPEG-1 H.261 H.263 H.263/M H.262 = MPEG-2 MPEG-4 H26L
MPEG-4 : un standard parmi d ’autres (2/2) 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 H.261 H.263 ITU H.263+ H.26L MPEG-1 MPEG-4 ISO MPEG-2
} Visual standard ISO/IEC/14496-2 MPEG-4 : organisation Requirements Delivery Systems Video SNHC Audio Tests Liaisons } Visual standard ISO/IEC/14496-2
MPEG-4 : les standards Systems 14496-1 Visual 14496-2 Audio 14496-3 Conformance 14496-4 Software 14496-5 Delivery 14496-6
Plan (2) MPEG-4 : un standard ISO MPEG-4 visual : introduction MPEG-4 vidéo : les outils MPEG-4 vidéo : planning et profiles
MPEG-4 Visual : introduction VO = Objet Visuel Un objet « visuel » peut-être: Vidéo Texture fixe Maillages 2D et 3D Animation « Face and Body » (FBA)
MPEG-4 Visual : exemple de composition (1/3) Video Object #0 Décor de fond Video Object #1 Type Scène composée
MPEG-4 Visual : exemple de composition (2/3)
MPEG-4 Visual : exemple de composition (3/3) Fond synthétique Graphique forme et grise Vidéo forme et opaque Image composée
MPEG-4 Visual : combinaison avec BIFS Network Layer ... Demultiplex Elementary Stream Decompression Primitive AV Objects Composition & Rendering Hierarchical, Interactive, Audiovisual Scene Scene Description BIFS End user Presentation Upstream Data User Events, Class Request, ...
MPEG-4 Visual : structure d ’une « Visual Session » VS1 VideoSession (VS) VisualObject (VO) VO1 VO2 VideoObjectLayer (VOL) VOL1 VOL2 GroupOfVOPs (GOV) GOV1 GOV2 VOP1 VOPk VideoObjectPlane (VOP) VOP1 VOPk
Plan (3) MPEG-4 : un standard ISO MPEG-4 visual : introduction MPEG-4 vidéo : les outils MPEG-4 vidéo : planning et profiles
MPEG-4 Vidéo : recommandations de base Compatible retour avec H263 baseline (1996) Débits: de quelques kbit/s à 10Mbit/s à ? Gbit/s Formats: taille rectangulaire, de 16*16 à 8196*8196 entrelacé et progressif 4 à 12 bits de profondeur pour les pixels fréquence image arbitraire forme arbitraire YUVA 4:2:0:4 and 0:0:0:4 (seulement la forme)
MPEG-4 Vidéo : recommandations de base / plan alpha
MPEG-4 Vidéo : fonctionnalités Amélioration des performances en compression Robustesse aux erreurs de transmission Représentation « dégradable » (« scalability ») Interactivité
Intermède sur la compression vidéo (1/12) Signal numérique TV = 720*576*25*2 Octet/s = 166Mbit/s Film 90 minutes original = 896 Gbit MPEG-2 à 4Mbit/s (taux de compression de 40) Film 90 minutes compressé = 22 Gbit Stockage versus transmission MPEG-X et H26X sont des schémas avec pertes Problème d ’optimisation débit/distorsion: extraire l ’information du signal dégrader de façon la plus invisible à l ’œil traquer la redondance spatiale temporelle tenir compte du système visuel humain
Original Image Akiyo (QCIF) Intermède sur la compression vidéo (2/12) L ’approche en Macroblocs (MBs) Original Image Akiyo (QCIF)
X: luminance, alpha O: chrominance 1MB MPEG-4 == 4 Blocs 8*8 Y Intermède sur la compression vidéo (3/12) 4:2:0:4 format, Macroblock 16*16 X: luminance, alpha O: chrominance 1MB MPEG-4 == 4 Blocs 8*8 Y 1 Bloc 8*8 U 1 bloc 8*8 V
Intermède sur la compression vidéo (4/12) Principe du codage Redondance spatiale : DCT Redondance temporelle : compensation de mouvement Codage residuel : DCT F(u,v)=1/4C(u)C(v) S S f(x,y) cos(p(2x+1)u/16)cos(p(2y+1)v/16) C(u) et C(v) = 1/2 pour u,v =0 = 1 sinon F(u,v) sur 12 bits (+/- 2048) pour f(x,y) sur 8 bits (0-255) x=0 y=0 7 7
Intermède sur la compression vidéo (5/12) Transformée DCT 8 Moyenne(DC) + Énergie concentrée sur quelques coefficients AC 8 8
Intermède sur la compression vidéo (6/12) Quantification Les coefficients DCT sont: quantifié par un PAS DE QUANTIFICATION Q (entre [1;31]) Moyenne + Énergie concentrée sur quelques coefficients Moyenne + Énergie concentrée sur quelques coefficients non nuls 8 8 Division par Q et arrondi (matrice de quantification) 8 8
Intermède sur la compression vidéo (7/12) Codage entropique 6 -2 -1 3 1 6 = (0,0,6) -2 = (0,0,-2) 3 = (0,0,3) 1 = (0,1,1) -1 = (0,0,-1) -1 = (1,2,-1) 0010001 0 0100 1 00101 0 011 0 11 1 0101 1 Les coefficients DCT quantifiés sont: visités en zigzag (trois zigzags pour MPEG-4) transmis en EVENEMENTS last - run - level (MPEG-4) run-level- EOB (H26L) représentés en binaire par des VLC : codes à longueurs variables (MPEG-4) avec un codage arithmétique (H26L)
Intermède sur la compression vidéo (8/12) Estimation/Compensation de mouvement Image de Référence Image à Coder Image Estimée Erreur = Différence (amplitude * 10) Bloc Matching Exhaustif Mouvements ±7 * ±7 Blocs 8*8 Estimation Mouvement Compensation
I1 B2 B3 P4 B5 B6 I7 Coding order: Coding order: I1P4B2B3I7B5 Intermède sur la compression vidéo (9/12) I/B/P et GOP concept, N=6, M=3 I1 B2 B3 P4 B5 B6 I7 Coding order: Coding order: I1P4B2B3I7B5 Coding order: I1P4B2B3I7B5B6 Coding order: I1 Coding order: I1P4 Coding order: I1P4B2B3 Coding order: I1P4B2 Coding order: I1P4B2B3I7
Intermède sur la compression vidéo (10/12) Décisions de codage Décisions par image Type d ’images, I, P, ou B Décisions par macroblocks : Dans une image I, AC prédiction Dans une image P, intra ou inter, taille du vecteur mouvement Dans une image B, type de prédiction(avant, arrière, bi-directionnel, direct)
Intermède sur la compression vidéo (11/12) Schéma global d ’un encodeur MPEG-X/H26-X Décision Inter/Intra: soustraction Signal image Prédiction AC/DC DCT Quant Codage entropique (VLC/ arithmétique) Quant-1 Mémoire(s) Deblocking filter Canal Compensation mouvement DCT-1 Estimation mouvement Prédiction des vecteurs mouvement
Intermède sur la compression vidéo (12/12) Tableau comparatif des outils (non exhaustif)
MPEG-4 Vidéo : fonctionnalités Amélioration des performances en compression (1/2) Jusqu ’à 30% d ’améliorations comparé à MPEG-1 Pas de comparaisons avec MPEG-2 sur matériel entrelacé Pas de comparaisons avec H263/H263+
MPEG-4 Vidéo : fonctionnalités Amélioration des performances en compression (2/2) Outils responsables de l ’efficacité de codage Prédiction AC/DC 4MV: Vecteurs mouvement sur blocs 16*16 et 8*8 Vecteurs de mouvements sans restriction aux bords Mode direct dans les B-VOPs Table VLC adaptées au bas débits Capacité de skipper des images et aussi: Compensation du mouvement global (GMC) 1/4 pixel en compensation de mouvement Conversion Dynamique de résolution (DRC) Sprite
MPEG-4 Vidéo : fonctionnalités Robustesse aux erreurs de transmission (1/6) Amélioration des performances en compression Robustesse aux erreurs de transmission re synchronisation grâce aux paquets Vidéo priorités grâce au partionnement des données recouvrement des erreurs grâce aux VLC réversibles (RVLC) description dans l ’annexe E du standard
MPEG-4 Vidéo : Robustesse (2/6) Paquets Vidéo (1) Start code : resync_marker macroblock number QUANT Header extension code (HEC) ou non. HEC répète les informations du VOP header Données Byte aligned
MPEG-4 Vidéo : Robustesse (3/6) Paquets Vidéo (2) Modes prédictifs confinées (MV, AC/DC prediction) Resync_marker non emulable Resynchronisation possible Paquets de taille quelconque, variable dans le temps.
MPEG-4 Vidéo : Robustesse (4/6) Data partitioning (1) A l’intérieur d’un paquet, les données elles-mêmes sont organisées: I_VOP forme et information sur les DCs pour chaque macrobloc Motif séparateur (DC marker) AC information décrit dans la seconde partition P_VOP forme, mouvement and décision de codage pour chaque macroblock Motif séparateur (motion marker) AC et DC information (texture) dans la seconde partition B_VOP pas de data partitionning
MPEG-4 Vidéo : Robustesse (5/6) Data partitioning (2) Data partitioning permet d’assigner des priorités sur les données la première partition est plus importante que la seconde possibilité de faire de la protection inégale d’erreur (UEP) Data partitioning facilite la détection d’erreurs en utilisant les motifs séparateurs détection possible dans la première partition et dans la seconde séparément. Data partitioning permet une meilleure dissimulation d’erreurs cas où les erreurs sont détectées dans la seconde partition seulement: DC pour les I_VOPs Vecteurs mouvements pour les P_VOPs
MPEG-4 Vidéo : Robustesse (6/6) Reversible VLC Dans la seconde partition d’un paquet, codage de la texture sur tables VLC différentes (tables RVLC) RVLC irréductible dans les deux directions RVLC plus coûteux en terme de débit RVLC améliore la détection d’erreurs et la dissimulation d’ erreurs
MPEG-4 Vidéo : fonctionnalités Représentation « dégradable » (« scalability ») (1/3) Amélioration des performances en compression Robustesse aux erreurs de transmission Représentation « dégradable » (« scalability ») temporelle spatiale de qualité (scalabilité fine « FGS »)
MPEG-4 Vidéo : Scalabilité (2/3) Scalabilité temporelle Enhancement layer I B P Base layer temps
MPEG-4 Vidéo : Scalabilité (3/3) Scalabilité à grains fins Enhancement layer P I B Base layer temps
MPEG-4 Vidéo : fonctionnalités Interactivité Amélioration des performances en compression Robustesse aux erreurs de transmission Représentation « dégradable » (« scalability ») Interactivité
Plan (4) MPEG-4 : un standard ISO MPEG-4 visual: introduction MPEG-4 vidéo : les outils MPEG-4 vidéo : planning et profiles
MPEG-4 Vidéo : planning Version 1 Version 2 International Standard (IS) depuis mi-1999 Version 2 DAM-1 en mi 2000 Version 3 and Version 4 (AMD3 and AMD4) DAM3 et DAM4 attendus pour fin 2001
MPEG-4 Vidéo : profiles Version 1 AMD1 AMD3 et AMD4 Simple, Simple scalable Core Main AMD1 ARTS (Advanced Real Time Simple) Core scalable ACE (Advanced Coding Efficiency) AMD3 et AMD4 Studio Profile Advanced Simple profile et FGS profile
MPEG-4 Vidéo : profiles Version 1 (1) Rectangular Spatial Scal. (B-VOP) Simple Scalable Simple Scalable Main Main Core Shape Temporal Scalability Core Rectangular Temporal Scal. (B-VOP) Interlace B-VOP MPEG-2 Quantification Simple AC/DC prediction 4 MV, unrestricted. MV Simple Binary Shape Grey Shape H263 Video Packets Data partitioning Reversible VLC Sprite
MPEG-4 Vidéo : profiles Version 1 (2) Simple Scalable Main Core Simple
MPEG-4 Vidéo : profiles AMD1 (1) Core Scalable B-VOP MPEG-2 Quantification Rectangular Temporal Scal. (B-VOP) Binary Shape Shape Temporal Scalability Rectangular Spatial Scal. Shape Spatial Scalability Core Scalable ACE ACE GMC 1/4 pel SA-DCT Interlace Grey Shape ARTS H263 Video Packets Data partitioning Reversible VLC AC/DC prediction 4 MV, unrestricted. MV ARTS Sprite DRC/ Newpred
MPEG-4 Vidéo : profiles AMD1 (2) Core Scalable ACE ARTS
MPEG-4 Vidéo : profiles amendements 3 et 4 Studio FGS FGS Fine Granular Scalable Interlace ASP Advanced Simple B-VOP MPEG-2 Quantification 1/4 pel GMC H263 Video Packets Data partitioning Reversible VLC AC/DC prediction 4 MV, unrestricted. MV
MPEG-4 vidéo : Call pour un nouveau standard? Octobre 2000: « Call for evidence » en compression. Janvier 2001: MPEG-4 n’est plus le « state-of-the-art » Juillet 2001 : Appel à proposition. H26L en pôle position (au moins 30% de gain) Discussion autour de H26L: acceptation de la vidéo seule vérification de la complexité planning agressif d ’acceptation d ’ici début 2003 intégration dans un profile
Avenir de la compression vidéo MPEG-4 disponible maintenant Du contenu, du contenu, du contenu...