1/47 ELIS – Multimedia Lab Multimedia academiejaar 2006–2007 Practicum 7: MPEG-4 XMT 8 mei Stijn Notebaert Multimedia Lab vakgroep Elektronica en Informatiesystemen faculteit Ingenieurswetenschappen Universiteit Gent
2/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
3/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
4/47 ELIS – Multimedia Lab Praktische gegevens - afspraken Vragen en opmerkingen? –Sarah De Bruyne onderwerp beginnen met [mm]! groepsnummer vermelden! Website – Deadline practicum 6: donderdag 10 mei 2007, 14u00 Deadline practicum 7: woensdag 16 mei 2007, 14u00
5/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
6/47 ELIS – Multimedia Lab Situering MPEG-4 Ontwikkeld door Moving Picture Experts Group (MPEG) –werkgroep ISO/IEC die technische specificaties aflevert ISO: International Organization for Standardisation IEC: International Elektrotechnical Commission –specificaties kunnen goedgekeurd worden tot standaard Ontwikkeling MPEG-4 –gestart in 1992 –internationale standaard in 1999: ISO/IEC Motivatie ontwikkeling –oorspronkelijk: codering voor heel lage bitsnelheden MPEG-1: 1.5 MBit/s MPEG-2: 5 MBit/s (schaalbaarheid & interlaced) –probleem: overlap met ITU-T Rec. H.263 –oplossing: “Coding of Audio-Visual Objects” (1994)
7/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
8/47 ELIS – Multimedia Lab Doelstellingen MPEG-4 Compressie –bandbreedte –opslagcapaciteit Universele toegang –schaalbaarheid –robuustheid tegen fouten Interactiviteit –region of interest (ROI) –willekeurige toegang (broadcast) –objectgebaseerde videocodering object wordt gebruik in 2 contexten! Realisatie televisie-, web- en spelparadigma !
9/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
10/47 ELIS – Multimedia Lab Onderdelen MPEG-4 (1/4) ISO/IEC : Systems ISO/IEC : Visual (746 blz.) –DivX: ontstaan als hack op implementatie Microsoft Jérôme Rota en DivX ;-) 3.11 uitgebreid met o.a. ondersteuning voor AVI-container –XviD, 3ivx, Nero Recode, QuickTime 6, “Microsoft” ISO/IEC : Audio –FAAC, 3ivx, QuickTime 6, Nero Recode ISO/IEC : Conformance Testing ISO/IEC : Reference Software ISO/IEC : DMIF ISO/IEC : Optimized Visual Reference Software
11/47 ELIS – Multimedia Lab Onderdelen MPEG-4 (2/4) ISO/IEC : Carriage on IP Networks ISO/IEC : Reference Hardware Description ISO/IEC : Advanced Video Coding (328 blz.) –ontwikkeld door het Joint Video Team (JVT) samenwerking VCEG en MPEG –gestandaardiseerd antwoord op bedrijfseigen initiatieven –geen compatibiliteit met MPEG-4 Visual (kannibalisme?) –compressie-efficiëntie ongeveer 50% beter dan MPEG-2 Video (FRExt) ongeveer 30 % beter dan MPEG-4 Visual –geselecteerd als videocodec voor HD DVD & Blu Ray samen met MPEG-2 Video en VC-1 (SMPTE) –grote ondersteuning door industrie Nero Recode, QuickTime 7, Sony (PSP)
12/47 ELIS – Multimedia Lab Onderdelen MPEG-4 (3/4) ISO/IEC : Scene Description –Envivio, IBM, TVIA, Octagon, BS Contact, QuickTime 7? ISO/IEC : ISO Base Media File Format –template voor nieuwe bestandsformaten Motion JPEG 2000 MPEG-4 Visual H.264/MPEG-4 AVC –gebaseerd op QuickTime-bestandsformaat (.MOV) concurrentie van ASF tijdens standaardisatieproces ISO/IEC : IPMP Extensions ISO/IEC : MP4 File Format –QuickTime 6, Nero Recode, 3ivx, Cisco ISO/IEC : AVC File Format –QuickTime 7, Nero Recode, Cisco
13/47 ELIS – Multimedia Lab Onderdelen MPEG-4 (4/4) ISO/IEC : Animation Framework Extension ISO/IEC : Streaming Text Format ISO/IEC : Font Compression and Streaming ISO/IEC : Synthesized Texture Streaming ISO/IEC : Lightweight Application Scene Representation (LASeR) –afgeslankte sc è nebeschrijving (voor mobiele toestellen) –doel is om royalty-free te blijven –Apple, Streamezzo ISO/IEC : MPEG-J Extension for Rendering ISO/IEC : Open Font Format ISO/IEC : Symbolic Music Representation Uitbreidbare gereedschapskist voor multimediatoepassingen
14/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
15/47 ELIS – Multimedia Lab Inleiding Rijke Media Multimediapresentatie –typisch opgebouwd uit verschillende elementen video, audio, afbeeldingen, tekst, scripting –elementen moeten in de ruimte georganiseerd worden ondertitels film moeten onderaan komen –elementen moeten in de tijd georganiseerd worden ondertitels film moeten op juiste moment verschijnen –vaak gekenmerkt door interactiviteit klikken op hoofd acteur/actrice laat toe om laatste roddels te lezen Creatie rijke multimediapresentaties –VRML, X3D, SMIL, SVG, MPEG-4 XMT, Flash, MS Silverlight,…
16/47 ELIS – Multimedia Lab Audiovisuele Scène Definitie –datgene wat een gebruiker hoort en ziet Voorbeelden –MPEG-1 en MPEG-2 scène omvat twee objecten: video & audio (& tekst) –MPEG-4 willekeurig aantal audiovisuale objecten –diverse mediatypes: natuurlijk & synthetisch –diverse transporttypes: lokaal & stroming Probleemstelling –beschrijving temporele en ruimtelijke opbouw scène –karakterisatie media-objecten
17/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
18/47 ELIS – Multimedia Lab Virtual Reality Modeling Language (VRML) Internationale ISO/IEC-standaard voor beschrijving en uitwisseling interactieve 3D-scènes –ontwikkeld door Web3D Consortium –tekstgebaseerde en leesbare opmaaktaal Scène beschreven met scènegraaf –datastructuur met beschrijving van objecten in 3D-wereld onderlinge relaties Voorloper van Extensible 3D (X3D) Nadelen –“download-and-play”-formaat geen ondersteuning voor stroming –geen ondersteuning voor IPMP –geen mix van 2D en 3D mogelijk
19/47 ELIS – Multimedia Lab VRML - Voorbeeldscène
20/47 ELIS – Multimedia Lab VRML - Voorbeeldcode
21/47 ELIS – Multimedia Lab MPEG-4 BIFS BInary Format for Scene Description Verbetering Virtual Reality Modeling Language –gebaseerd op scènegraaf VRML uitbreiding met nieuwe knopen –stroombaar –gecomprimeerde binaire scènebeschrijving 10 tot 15 maal kleiner dan tekstuele beschrijving Beschrijving bestaat uit twee complementaire onderdelen –beschrijving temporele en ruimtelijke relaties wanneer en waar eigenlijke scènebeschrijving (artistieke component) –karakterisatie van de audiovisuele objecten wat en hoe Tekstuele versie –Extensible MPEG-4 Textual Format (XMT – zie later)
22/47 ELIS – Multimedia Lab Basisprincipes BIFS Scène wordt beschreven via boomstructuur –bladknopen media-objecten (video, audio, tekst, …) –ouderknopen primitieven voor samenstelling scène (groepering en transformaties) Objecten in scène kunnen benoemd worden –maakt hergebruik mogelijk –scène is in principe gerichte acyclische graaf
23/47 ELIS – Multimedia Lab BIFS-graaf voor MPEG-2-scène Group (wortel) Video Sound Transform Text
24/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
25/47 ELIS – Multimedia Lab Karakterisatie Media-objecten Probleemstelling Complexe MPEG-4-scènes bevatten vaak talrijke audiovisuele objecten –verschillende eigenschappen mediatype (audio, video) metadata (acteur, copyright) –verschillende transportmechanismen stroming (HTTP en/of RTSP/RTP, …) lokaal (bestand) –verschillende stromen schaalbaar object –basislaag + verbeteringslagen
26/47 ELIS – Multimedia Lab Karakterisatie Media-objecten Oplossing Introduceer descriptoren –object descriptors (ODs) bevatten globale info over object –elementary stream descriptors (ESDs) bevatten info over particuliere stroom Opmerking –scènebeschrijving is conceptueel verschillend temporele en ruimtelijke relaties creatief –object- en stroombeschrijving droge opsomming karakteristieken
27/47 ELIS – Multimedia Lab Object Descriptors Object Descriptor –container die alle relevante informatie bevat over een bepaald object lokaliseert datastromen (via URL) –“./media/logo_mmlab.jpg” kan metadata bevatten –object content information (OCI) –subset MPEG-7-metadatastandaard kan info bevatten in de context van IPMP opgebouwd aan de hand van subdescriptors –bijvoorbeeld: elementary stream descriptor
28/47 ELIS – Multimedia Lab video- object object descriptor Object Descriptors Toegangspunten tot MPEG-4-data OCI IPMP URL videostroom ESD
29/47 ELIS – Multimedia Lab Elementary Stream Descriptors (ESDs) Elementaire stroom –stroom van al dan niet gecomprimeerde data opgebouwd aan de hand van Acces Units (AUs) –beelden, audiosamples,... Access Units –kleinste eenheid van data waaraan een tijdsstempel kan toegekend worden –karakteristieken beschreven door ESD subdescriptor van OD locatie, type, bitsnelheid, … Voorbeeld –schaalbaar media-object combinatie van meerdere elementaire stromen OD bevat meerdere ESDs
30/47 ELIS – Multimedia Lab Elementaire Stromen Selectie bij Schaalbare Mediaobjecten media decoder media- decoder object descriptor ESD1 ESD2 ESD3 media- encoder
31/47 ELIS – Multimedia Lab Object Descriptor Beschrijving Media-objecten Totaalbeeld Containerstructuur Elementary Stream Descriptor OCI metadata (acteur,...) IPMP bescherming IP DecoderConfigDescriptor buffergrootte QoS_Descriptor maximale delay URLstring trailer.mp4
32/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
33/47 ELIS – Multimedia Lab The eXtensible MPEG-4 Textual Format (XMT) Raamwerk voor beschrijving audiovisuele scènes –tekstgebaseerd en leesbaar XML en W3C XML Schema –gebaseerd op tweelagenarchitectuur XMT-O –eenvoudig en onderhoudbaar –interoperabiliteit met SMIL en SVG –implementatie »IBM Alphaworks Toolkit for MPEG-4 XMT-A –deterministische omzetting naar binaire representatie –interoperabiliteit met VRML en X3D –implementatie »GNU Project on Advanced Content (GPAC)
34/47 ELIS – Multimedia Lab MPEG-4 XMT: Voorbeeld
35/47 ELIS – Multimedia Lab XMT-A: Voorbeeld
36/47 ELIS – Multimedia Lab XMT-O: Voorbeeld
37/47 ELIS – Multimedia Lab Samenvatting MPEG-4 is een interoperabel raamwerk voor het uitwisselen van interactieve audiovisuele scènes XMT-O XMT-A beschrijving codering MP4 Binaire Mediastromen Systems- stromen (BIFS) distributie
38/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
39/47 ELIS – Multimedia Lab Simulstore
40/47 ELIS – Multimedia Lab Scene Browser
41/47 ELIS – Multimedia Lab Video-on-demand – Telenet PCTV
42/47 ELIS – Multimedia Lab DVD2MP4
43/47 ELIS – Multimedia Lab Overzicht Praktische afspraken MPEG-4 –situering –doelstellingen –delen Audiovisuele scènes –situering –scènebeschrijving –objectbeschrijving –XMT Demo’s Oefeningen practicum 7
44/47 ELIS – Multimedia Lab Opgave Practicum 7 Inleiding tot technische achtergrond scènebeschrijving Zeven oefeningen –opgave 1 – opslag van MPEG-4-video en -audio –opgave 2 – hello scene! –opgave 3 – animatie –opgave 4 – media-objecten –opgave 5 – interactiviteit –opgave 6 – synchronisatie van media-objecten –opgave 7 – geavanceerde controle van media-objecten Gebruik van BIFSText (BT) voor scènebeschrijving –XMT-A met VRML-syntax Aanvullen van gegeven template –scènebeschrijving –objectbeschrijving
45/47 ELIS – Multimedia Lab Voorbeeld Scènebeschrijving in BIFSText OrderedGroup {# grafische context en groepering children [# array van kindknopen Shape {# knoop voor visueel object appearance Appearance { texture MovieTexture {# plaats video-object in scène url [od:10] # ID OD voor video-object (zie volgende slide) } geometry Bitmap {}# video met rechthoekige vorm } Sound2D {# knoop voor auditief object source AudioSource { url [od:20] # ID OD voor audio-object } ] }
46/47 ELIS – Multimedia Lab Voorbeeld Objectbeschrijving in BIFSText ObjectDescriptor { # OD video-object objectDescriptorID 10 # ID OD esdescr [ # array van ESDs ES_Descriptor { # ESD es_id 3 # ID ESD decConfigDescr DecoderConfigDescriptor {# info voor decoder streamType 4 # Visual / 0x04 objectTypeIndication 32 # MPEG4Visual / 0x20 } muxInfo muxInfo {# importeer 1 ste spoor fileName “harry_potter.mp4#1" } ] }
47/47 ELIS – Multimedia Lab Practicum 7 Opgave, software en voorbeeldbestanden – –opgave beschreven in downloadbare tekst (PDF) Via secure FTP bestanden uploaden –inloggen met uw groepsnaam en paswoord –correcte bestandsnamen (!) –oplossingen plaatsen in \XMT