MXF & Metadata Overview Jim Wilkinson, Co-Chair: File Interchange Working Group, Pro-MPEG Forum 30th January 2004 Jim Wilkinson, Sony BPRL
Agenda Metadata registries MXF documents & standardization progress MXF Structural Metadata DM Plug-in Mechanism 2 Jim Wilkinson, Sony BPRL
Metadata Registries (in progress) SMPTE 336M KLV coding of Elements and Groups The core of MXF coding Provides for the coding of single elements, groups and labels SMPTE 335M Defines the structure of the Metadata Dictionary RP210.7 The latest version of the Metadata Dictionary SMPTE 400M Defines the structure of the Labels Dictionary RP224.5 The latest version of the Labels Dictionary 3 Jim Wilkinson, Sony BPRL
Metadata Registries (to-do) Structure document for data types To be done real soon! Data Types Registry Keenly awaited. Structure document for groups, S395M Last balloted with some comments in September 2003 No known progress since Groups Registry Seen as an early example, but still waiting in the first revision for ballot Much of the delay due to still developing groups (sets/packs) in MXF Also issues with the order of elements in sets & packs 4 Jim Wilkinson, Sony BPRL
Metadata Registries & MXF Enumerations (e.g. SMPTE Labels, RP224) MXF File Components Metadata Dictionary RP210 Selected Metadata Values MXF Groups MXF Structural Metadata Model Data Types MXF Descriptive Metadata Model 5 Jim Wilkinson, Sony BPRL
MXF documents - a modular approach Part 1 Engineering Guidelines (informative) EG41, EG42 Part 2 File Format SMPTE 377M Part 3.x Operational Patterns i.e. constraints on the format Part 4 MXF GC (Essence Container) (normative) How to KLV code the A/V E ssence Part 5.x Descriptive Metadata plug-ins (normative) i.e. metadata collections Part 4x Mapping documents (normative) i.e. how to map & index essence in the container 6 Jim Wilkinson, Sony BPRL
Primary MXF documents SMPTE Standards: SMPTE 377M (MXF Format) SMPTE 378M (OP1a) SMPTE 379M (Generic Container, GC) SMPTE 383M GC DV (all DV variants, including DVCAM) SMPTE 385M (Mapping SDTI-CP into the GC) SMPTE 386M GC D-10 (Sony IMX) SMPTE 387M GC D-11 (Sony HDCAM) SMPTE 391/2/3M OP1b/2a/2b SMPTE EG41 (MXF Engineering Guide) 7 Jim Wilkinson, Sony BPRL
Ongoing SMPTE ballots Documents still in Tech Committee ballot: SMPTE 380M (Descriptive Metadata Scheme-1) SMPTE 381M (GC MPEG) SMPTE 382M (GC AES3 & BWAV mapping) SMPTE 384M (GC Uncompressed Picture) SMPTE 389M (System Item - Reverse Play) Documents forwarded to Trial Publication SMPTE 390M (OP-Atom) SMPTE EG42 (Descriptive Metadata guidelines) 8 Jim Wilkinson, Sony BPRL
MXF - New and Forthcoming GC A-law mapping (for XDCAM proxy) Now in a re-ballot GC System Item General Scheme 1 Document to be split into 2 parts To be re-balloted this month (Feb 2004) Now compatible with the Reverse Play document Data Stream Handling In development - needs 2 documents To be newly balloted this month (Feb 2004) Security Framework Needed for encryption, watermarking ID etc Work on hold, pending clear user requirements 9 Jim Wilkinson, Sony BPRL
KLV coding throughout MXF Key-Length-Value Key: a SMPTE registered 16-byte Universal Label Length: fixed or variable length of value up to 2 64 bytes Value: the value as a byte string Defined in SMPTE 336M Everything in MXF is KLV coded (Except the optional Run-In) MXF uses: KLV coding of individual elements KLV group coding as fixed-length packs and local sets SMPTE Labels - 16-byte ULs whose value is the UL itself 10 Jim Wilkinson, Sony BPRL
File Structure: as a picture Header Partition Run In (optional) Header Partition Pack Header Partition Header Metadata Index Table (optional) Essence Container (optional) ÉNext Partition Body Partition Body Partition Body Partition Pack Header Metadata Index Table Essence Container ÉNext Partition (optional) (optional) (optional) Footer Partition Footer Partition Footer Partition Pack Header Metadata Index Table Random Index Pack (optional) (optional) (optional) 11 Jim Wilkinson, Sony BPRL
Metadata in MXF Metadata link Server Metadata e.g. Labelling and Identification Compositional Catalogue Publication Business Generic (Essence ) Container File Header System Item Picture Item Sound Item Data Item Metadata Track Picture Track Sound Track Data Track Header Metadata e.g. Material, Compositional Labelling and Identification Catalogue Business (access) 1 Content Package Inter-track metadata) e.g. Format Temporal Material Labelling and Identification Intra-track metadata e.g. Format Temporal Spatial Data streams - subtitling etc. File Wrapper 12 Jim Wilkinson, Sony BPRL
How MXF Metadata Works Preface Content Storage Identification Header Metadata Optional Source Packages Material Package Tracks Source Package ID Top-level File Package Essence Container Data Start Position Sequence Source Clip Duration Tracks Sequence Source Track ID Source Package ID Source Track ID Lower-level Source Package Tracks Sequence Source Clip Source Video Link by BodySID Start Position Source Clip Duration Header Partition Pack (Body SID) Header Metadata Essence Container Footer Partition Pack 13 Jim Wilkinson, Sony BPRL
Structural Header Metadata in MXF Primer Pack KEY: NOTES: Local Tag Entry Batch Composition by For clarity, Instance UID and (for assignment of local tags) Strong Reference Generation UID properties are HasA by ownership not shown in this diagram. Preface 1..n Identification Aggregation by Last Modified Date This Generation UID General Weak Reference Version Company Name HasA by sharing Operational Pattern (UL) Product Name Essence Containers (UL Batch) Version String 0..1 : 0 or 1 DM Schemes (UL Batch) Product UID 1..1 : 1 and only 1 Modification Date 0..n : 0 or more 1..n : 1 or more 1..1 Content Storage 1..n Essence Container Data Link 1..1 Partition with BodySID BodySID Essence Linked Package UID Container Link to Source Package by UMID Data 1..n Material Package 1..1 Track (Timecode) 1..1 Sequence (Timecode) 1..1 Timecode Component Package UID Track Number Data Definition (UL) Data Definition (UL - same as Sequence) Package Creation Date Track Name Duration Duration (= Duration in Sequence) Package Modified Date Edit Rate Rounded Timecode Timebase Origin Start Timecode Drop Frame 1..n Track (Picture/Sound/Data) 1..1 Sequence (Picture/Sound/Data) 1..n Source Clip (Picture/Sound/Data) Track Number Data Definition (UL) Data Definition (UL - same as Sequence) Track Name Duration Duration Edit Rate Start Position Origin Source Package ID Source Track ID Link to Source Package ID (UMID) Link to Source Track ID 1..n File Package (top-level) 1..n Track (Picture/Sound/Data) 1..1 Sequence (Picture/Sound/Data) 1..n Source Clip (Picture/Sound/Data) Package UID Track ID Data Definition (UL) Data Definition (UL - same as Sequence) Package Creation Date Track Number Duration Duration Package Modified Date Track Name Start Position Edit Rate Source Package ID = 0 Origin Source Track ID = 0 1..n File Descriptors (as needed) 14 Jim Wilkinson, Sony BPRL
The MXF Source Reference Chain Material Package (generally describes the output timeline) Top-level File Packages (describe the actual Essence in the file) Lower-Level Source Packages (describe where the Essence came from e.g. tape, reel, source file) Track (defines start) Sequence (defines duration) SourceClip The Material Package SourceClip(s) reference the Top-Level File Package. This can be used to define an EDL of File Packages. Track (defines start) Sequence (defines duration) SourceClip SourceClip SourceClip Body Container Essence Descriptor e.g. MPEG Track (defines start) Sequence (defines duration) SourceClip Essence Descriptor e.g. Tape Descriptor SourceClip The Top-Level File Package SourceClip(s) may reference Lower- Level Source Packages. These do not describe actual stored Essence. They describe where the stored Essence came from e.g. previously conformed MXF files. 15 Jim Wilkinson, Sony BPRL
How do DM Tracks work in MXF? Picture Tracks Video, Images, Graphics Sound Tracks Audio, MIDI, Synthetic Data Tracks Tele-text, Data Services, Closed Captions Compound Tracks For intimately interleaved essence such as DV-DIF packets DIF packet stream comprises video, audio, aux and other packets Metadata Tracks Timecode Descriptive metadata 16 Jim Wilkinson, Sony BPRL
What DM Tracks kinds can be used? Static Tracks Have: no origin, no duration Have: a single metadata segment/source-clip no start, no duration Timeline Tracks Have: origin & duration Have: a sequence of 1 or more contiguous segments/source-clips Each segment has duration where: sum of segment/source-clip durations = track duration Event Tracks Have: event origin & (optional) duration Have: 1 or more segments/source-clips which are not contiguous Segments/source-clips may be intermittent along the timeline Each segment/source-clip has a start point and duration 17 Jim Wilkinson, Sony BPRL
Structural Header Metadata in MXF Material Package File Package (top-level) 1..1 Tracks (as needed) Package Creation Date Package Creation Date Package Modified Date Package Modified Date 1..1 Track (DM) [Note 2] 1..1 Track (DM) [Note 2] Track Number Track Number Track Name Track Name 1..1 File Descriptors (as needed) Edit Rate Edit Rate Origin Origin NOTES: 1. For clarity, Instance UID and Generation UID properties are not shown in this diagram. 1..1 Sequence (DM) [Note 3] 1..1 Sequence (DM) [Note 3] 2. If the DM Track is static, the 'origin' Data Definition (UL) Data Definition (UL) property is not used Duration Duration 3. If the DM Track is static, the 'duration' 1..1 DM Segment [Note 3] 1..1 DM Segment [Note 3] Data Definition (UL - same as Sequence) Data Definition (UL - same as Sequence) Duration (= Duration in Sequence) Duration (= Duration in Sequence) property is not used in the Sequence and. DM Segment sets. Structural Metadata (SMPTE 377M) 1..1 1. Production Framework 1..1 2. Clip Framework Descriptive Metadata (SMPTE 380M) Framework Extended Text Language Code Framework Extended Text Language Code Framework Title Framework Title Primary Extended Spoken Language Code Primary Extended Spoken Language Code Integration Indication Clip Kind KEY: Clip Number Composition by Extended Clip ID Strong Reference 1..1 4. Titles Clip Creation Date & Time HasA by ownership Main Title Take Number Secondary Title Slate Information Aggregation by Working Title General Weak Reference Original Title HasA by sharing Version Title 1..1 4. Titles Main Title 0..1 : 0 or 1 1..1 5. Identification Secondary Title 1..1 : 1 and only 1 Identifier Kind Working Title 0..n : 0 or more Identifier Value Original Title 1..n : 1 or more Identification Locator Identification Issuing Authority Version Title To other sets as needed To other sets as needed 18 Jim Wilkinson, Sony BPRL
DM Segment or DM Source Clip? DM Segment Defines the metadata to describe the associated essence Links to an essence track in the same Package May be present in a Material Package (top level) To define DM for the file output May be present in a Top-level File Package To define DM for the essence in the MXF essence container DM Source Clip Uses the SourceClip mechanism used by essence tracks Allows metadata to be referenced from a DM Segment In a lower level Source Package 19 Jim Wilkinson, Sony BPRL
How does DM Segment work? Header Metadata Root Sets (Preface, Ident & Content Storage) Event Start Position DM Framework Timecode Track Picture Track Sound Track 1 Sound Track 2 Data Track Links to all essence tracks (default) Links only to sound tracks Links only to the picture track Virtual DM Track Duration Edit unit DM Framework DM Framework Package (Material, File and Source) DM Track & Sequence DM Segment 1 DM Segment 2 DM Segment 3 20 Jim Wilkinson, Sony BPRL
How does DM Source Clip work? Header Metadata Links to Timecode Track Picture Track Sound Track 1 Sound Track 2 Data Track DM Track Root Sets (Preface, Ident & Content Storage) Origin Material Package DM Track & Sequence Start Position DM Source Clip Links to Duration Material (Output) Source Package DM Track & Sequence Source Package ID Source Track ID Origin Event Start Position Links to Duration Source (Input) Timecode Track Picture Track Sound Track 1 Sound Track 2 Data Track DM Track Edit unit DM Segment DM Framework 21 Jim Wilkinson, Sony BPRL
Summary MXF Structural Metadata defines the timeline For essence For metadata MXF Structural Metadata defines the DM plug-in All DM is owned by a metadata track The Metadata track may: Reference other DM Tracks in another Package Via a DM Source Clip Define the DM through a DM Segment A DM Segment Owns one DM Framework The DM Framework may be from any MXF DM Scheme 22 Jim Wilkinson, Sony BPRL
Essential Reading (see the book!) SMPTE 377M (MXF Format) EG41 (Primary MXF engineering guideline) EG42 (DM for MXF SMPTE 380M (DMS-1) 23 Jim Wilkinson, Sony BPRL