mxf an introduction
Post on 29-Jan-2016
67 Views
Preview:
DESCRIPTION
TRANSCRIPT
MXFMXF
MXFAn Introduction
MXFMXFAn Introduction• What is MXF ?• What does it do ?• How does it do it ?
• Please feel free to ask questions !
MXFMXF
What is MXF ?
MXFMXFWhat is MXF ?• An interchange file format• An extensible file format• A compression agnostic file format• A versatile file format• A metadata aware file format• A stream-able file format• NOT an authoring format
– MXF allows editable packages with simple cuts– Everything else is AAF
MXFMXFRelationship to AAF
MXF System MXF System
AAF System AAF SystemAAF Interchange
MXF Interchange
AAF to MXF Export MXF to AAF Importor open in place
MXFMXFWhat is MXF ?• Over 2 year of hard work by a joint team:
– Pro-MPEG Forum• chairman Nick Wells, BBC• working group chairman Jim Wilkinson, SONY• document controller Bruce Devlin, Snell & Wilcox
– AAF Association• chairman Brad Gilmer• major contributor Oliver Morgan, AVID
– EBU• Hans Hoffman
MXFMXFWhat is MXF ?• A set of documents
– Part 1: Engineering guidelines– Part 2: Format Specification– Part 3: Operational Patterns– Part 4: Descriptive Metadata sets– Part 5: Body formats
• These have all been submitted to SMPTE for ballot• Get a copy of the Pro-MPEG documents from
– http://www.pro-mpeg.org
MXFMXF
What does it do ?
MXFMXFWhat does it do ?• MXF provides …
– an extensible framework for interchanging Metadata and Essence– independence from compression formats– a variety of operational patterns to fit different applications– a means of encapsulating structural & descriptive metadata– a means of relating the metadata with the essence– low level file structure for efficient storage and parsing– a means of indexing content for random access– a stream-able file format for real time contribution
MXFMXF
How does it do it ?
MXFMXFUser Requirements• Must be easy to understand & apply and standardised• Must be compression independent• Must be open (as per ITU definition)• Must provide full self-identification
• Must be fully extensible
• Must be usable on major platforms/OS’s• Must be application independent• Must provide for partial file transfers and recovery from
interruptions
MXFMXFBasic file structure• Simple “Tape replacement”
Preamblepartition
HeaderMetadata
Postamblepartition
File Header File Body File Footer
Essence
Note: body is typically >99% of the total file
MXFMXFComplex file structure• Multiple essence, index tables, run-in, repeated header metadata
Preamblepartition
HeaderMetadata
EssenceIndexTable
Postamblepartition
File Header File BodyIndex File Footer
(optional)
Essence HeaderMetadata
(optional)
RunIn
Postamblepartition
(optional)
Pr H Body Index
File Header File Body File Footer
Body Po Body Body Body
Header Partition Footer PartitionContinuation Partition
IndexIndex Body
Continuation PartitionContinuation Partition
H HPo Po Po
MXFMXFExtensibility• KLV coding
– Key: a unique identifier– Length: how long is the field– Value: what is the value of the field
Sound
K L
Aux
K L
System
K L
Picture
K L
MXFMXFExtensibility• KLV sets and packs
Local Tag2 bytes
Length2 bytes
ItemValue - variable
PrologPack
KLVFiller ItemHeader Metadata Local Sets
Defines the start andcontains template labels
Set Key16 bytes
Fills data space to theend of the HeaderMetadata Partition
Set Length4 bytes Set Value - variable
Metadata Object
Object property
MXFMXFCompression Independence• Different MXF body types can be KLV wrapped• Body types can be single essence or multiplexed• Body type is signalled in the first few bytes
– Enables early success / failure when streaming– Allow rapid identification of body types
• Metadata can be parsed even if essence type cannot be decoded• Store & Forward devices can report compression type
MXFMXFOperational Patterns• Operational Pattern 1
StructuralMetadata
DescriptiveMetadata
Header Metadata Body
MXFMXFOperational Patterns• Operational Pattern 5
Title, … Descriptor
Header Metadata Body
Overall Structure
Picture
Sound
MXFMXFHeader Metadata
ProductionSegment 1
Production Track
Scene Track
Timecode Track
Video Track
Shot Track
Audio Track
Audio Track
Scene 1
Scene Key Point
Scene 2
Scene 3
Shot 1 Shot 2 Shot 3
Timeline edit unitClip
ProductionSegment 2
ProductionSegment 3
ProductionSegment n
Body ofProduction
Content
MXFMXFStructural Metadata• Major elements such as “byte order” in the file• UMIDs for the essence components• Packages
– A group of tracks– Material package defines the “output” timeline– File packages define the “input” timelines
• Tracks– Timecode, Video, Audio, Events
• Sequences of Segments– i.e. how the video “clips” are ordered and fit together
MXFMXFDescriptive Metadata• Depends on the use of the file• Current set is aimed at creating Broadcast Programs
– Production metadata: Titles, episodic information– Definition of scenes, shots, participants, awards
HeaderMetadata
Production Track
Scene Track
Timecode Track
Video Track
Shot Track
Audio Track
Audio Track
Scene 1Scene Key PointScene 2
Scene 3
Shot 1 Shot 2 Shot 3
Timeline edit unitClipPrologue
Pack
MaterialPackage
ProductionCollection
SceneCollection
FilePackage
Root Sets(Preface,Ident &ContentStorage)
ShotCollection
MXFMXFHow is it structured ?• It uses the
Unified Modelling Language (UML)
Has >=0
Has >=0
Has >=0
Has 0 or 1
Has >=0
Has >=0
ProductionCollection
ProductionIdentification
ProductionItem Titles
ProductionOrganisation
Production
ProductionAnnotation
ProductionSubtitles desc.
ProductionAwards
ProductionParticipants
Has >=0
ProductionGroup Titles
1
2
3
4
8
9
10
11
6
7
Prod uctionBran d Titles
5
Has >=0
Has 0 or 1
Has >=0
Has >=0Prod uction
Episo de Info
12
MXFMXFHow to connect metadata sets• Referencing of one set to another
– UUIDs and UMIDs are used as the links– strong reference means one to one relationship– weak reference means one to many - both are used
K L ID K L ID K L ID
Strong RefStrong Ref
MXFMXFLow level structure: Partitions• Divides file into partitions containing a single “thing”• Partitions have an integer number of sectors• Sectors are a defined size (4096 in today’s demos)• The order of elements in a partition is defined
Preamblepartition
HeaderMetadata
EssenceIndexTable
Postamblepartition
File Header File BodyIndex File Footer
(optional)
Essence HeaderMetadata
(optional)
RunIn
Postamblepartition
(optional)
MXFMXFIndexing Content• Generic Index Table solution
– copes with CBR and VBR– copes with Temporal re-ordering– cope with predictive compression schemes– simple implementation for simple body types
`
Sample 0
Systemelement
Videoelement
Audioelement
Dataelement
CBE
Sample 1
Systemelement
Videoelement
Audioelement
Dataelement
Sample 2
Systemelement
Videoelement
Audioelement
Dataelement
CBE CBE CBE CBE CBE CBE CBE CBEVBE VBE VBE
IndexEntry 0start
Slice 1start
Slice 0start
Slice 1start
Slice 0start
Slice 1start
IndexEntry 1start
IndexEntry 2start
Slice 0start
MXFMXF
Where to now ?
MXFMXFWhere to now ?• Await results of the SMPTE ballot• Respond to issues raised• And …
– add new body types as required– add descriptive data sets as new communities adopt MXF– define Operational Patterns within the scope of MXF– the existing documents define how this can be done …– … whilst still retaining interoperability
• Help people to implement ...
MXFMXFImplementation• The file format is complex• Implementation is not!• There are free software tools available
– Pro-MPEG site– AAF SDK on SourceForge
• MXF awareness in under 1 man-week!• Full MXF understanding (metadata integration etc.) takes longer
• Interoperability and validation tests
MXFMXF
MXF is there and it works !
Let’s use it
top related