540 likes | 763 Views
Ecole d’Eté PDMS , 30 Août 2001 Cécile Dufour (cecile.dufour@philips.com) Video and Communication Group. Compression vidéo MPEG-4. Laboratoires d’Électronique Philips (LEP). Philips Recherche France (PRF). Plan. MPEG-4 : un standard ISO MPEG-4 visual : introduction
E N D
Ecole d’Eté PDMS , 30 Août 2001 Cécile Dufour (cecile.dufour@philips.com) Video and Communication Group Compression vidéo MPEG-4 Laboratoires d’Électronique Philips (LEP) Philips Recherche France (PRF)
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
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 MPEG-7 : indexation de contenu Applications Multimédia Interactives : Visiophonie, Internet Streaming, TV Broadcast, ... MPEG-4 : un standard ISO
MPEG-4 : un standard parmi d ’autres (1/2) ITU-TISO-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) 2000 2002 1984 1986 1988 1990 1992 1994 1996 1998 H.261 H.263 H.263+ H.26L ITU MPEG-1 MPEG-4 ISO MPEG-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 • Un objet « visuel » peut-être: • Vidéo • Texture fixe • Maillages 2D et 3D • Animation « Face and Body » (FBA) VO = Objet Visuel
Video Object #1 Type Video Object #0 Décor de fond Scène composée MPEG-4 Visual : exemple de composition (1/3)
MPEG-4 Visual : exemple de composition (3/3) Fond synthétique Graphique forme et grise Vidéo forme et opaque Image composée
Demultiplex Decompression Composition & Rendering ... ... Primitive AV Objects Elementary Stream Hierarchical, Interactive, Audiovisual Scene Scene Description BIFS End user Presentation MPEG-4 Visual : combinaison avec BIFS Network Layer Upstream Data User Events, Class Request, ...
VideoSession (VS) VS1 VisualObject (VO) VO1 VO2 VideoObjectLayer (VOL) VOL1 VOL2 GroupOfVOPs (GOV) GOV1 GOV2 VideoObjectPlane (VOP) VOP1 VOPk VOP1 VOPk MPEG-4 Visual : structure d ’une « Visual Session »
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 : 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
Intermède sur la compression vidéo (2/12)L ’approche en Macroblocs (MBs) Original Image Akiyo (QCIF)
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
7 7 F(u,v)=1/4C(u)C(v)S Sf(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 Intermède sur la compression vidéo (4/12)Principe du codage • Redondance spatiale : DCT • Redondance temporelle : compensation de mouvement • Codage residuel : DCT
8 8 Intermède sur la compression vidéo (5/12)Transformée DCT 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 non nuls Moyenne + Énergie concentrée sur quelques coefficients 8 8 Division par Q et arrondi (matrice de quantification) 8 8
6 -2 -1 0 0 0 0 0 3 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Intermède sur la compression vidéo (7/12)Codage entropique • Les coefficients DCT quantifiés sont: • visités en zigzag (trois zigzags pour MPEG-4) 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 • 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)
Bloc Matching Exhaustif Mouvements ±7 * ±7 Blocs 8*8 Estimation Mouvement Image de Référence Image à Coder Compensation Mouvement Erreur = Différence (amplitude * 10) Image Estimée Intermède sur la compression vidéo (8/12)Estimation/Compensation de mouvement
I1 B2 B3 I7 B6 P4 B5 Intermède sur la compression vidéo (9/12)I/B/P et GOP concept, N=6, M=3 Coding order: Coding order: I1P4 Coding order: I1P4B2 Coding order: I1P4B2B3 Coding order: I1P4B2B3I7 Coding order: I1P4B2B3I7B5 Coding order: I1P4B2B3I7B5B6 Coding order: I1
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)
Mémoire(s) Deblocking filter Intermède sur la compression vidéo (11/12)Schéma global d ’un encodeur MPEG-X/H26-X Décision Inter/Intra: soustraction Prédiction AC/DC Signal image DCT Quant Codage entropique (VLC/ Codage arithmétique) Quant-1 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ésAmélioration des performances en compression (1/2) • Amélioration des performances en compression • 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ésAmé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ésRobustesse 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 »)
P B B I P I P B MPEG-4 Vidéo : Scalabilité (2/3)Scalabilité temporelle Enhancement layer Base layer temps
P P P I P B MPEG-4 Vidéo : Scalabilité (3/3)Scalabilité à grains fins Enhancement layer Base layer temps
MPEG-4 Vidéo : fonctionnalitésInteractivité • 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 • 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 • 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) Simple Scalable Rectangular Spatial Scal. (B-VOP) Simple Scalable Main Main Core Core Shape Temporal Scalability Rectangular Temporal Scal. (B-VOP) Interlace B-VOP MPEG-2 Quantification AC/DC prediction 4 MV, unrestricted. MV Simple 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
Rectangular Spatial Scal. (B-VOP) Shape Temporal Scalability Rectangular Temporal Scal. (B-VOP) Interlace B-VOP MPEG-2 Quantification AC/DC prediction 4 MV, unrestricted. MV Binary Shape Grey Shape H263 Video Packets Data partitioning Reversible VLC MPEG-4 Vidéo : profiles AMD1 (1) Shape Spatial Scalability Core Scalable Core Scalable ACE ACE GMC 1/4 pel SA-DCT ARTS ARTS Sprite DRC/ Newpred
MPEG-4 Vidéo : profiles AMD1 (2) Core Scalable ACE ARTS