mxf an introduction

29
MXF MXF MXF An Introduction

Upload: maddox

Post on 29-Jan-2016

69 views

Category:

Documents


1 download

DESCRIPTION

MXF An Introduction. An Introduction. What is MXF ? What does it do ? How does it do it ? Please feel free to ask questions !. What is MXF ?. What is MXF ?. An interchange file format An extensible file format A compression agnostic file format A versatile file format - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MXF An Introduction

MXFMXF

MXFAn Introduction

Page 2: MXF An Introduction

MXFMXFAn Introduction• What is MXF ?• What does it do ?• How does it do it ?

• Please feel free to ask questions !

Page 3: MXF An Introduction

MXFMXF

What is MXF ?

Page 4: MXF An Introduction

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

Page 5: MXF An Introduction

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

Page 6: MXF An Introduction

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

Page 7: MXF An Introduction

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

Page 8: MXF An Introduction

MXFMXF

What does it do ?

Page 9: MXF An Introduction

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

Page 10: MXF An Introduction

MXFMXF

How does it do it ?

Page 11: MXF An Introduction

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

Page 12: MXF An Introduction

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

Page 13: MXF An Introduction

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

Page 14: MXF An Introduction

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

Page 15: MXF An Introduction

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

Page 16: MXF An Introduction

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

Page 17: MXF An Introduction

MXFMXFOperational Patterns• Operational Pattern 1

StructuralMetadata

DescriptiveMetadata

Header Metadata Body

Page 18: MXF An Introduction

MXFMXFOperational Patterns• Operational Pattern 5

Title, … Descriptor

Header Metadata Body

Overall Structure

Picture

Sound

Page 19: MXF An Introduction

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

Page 20: MXF An Introduction

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

Page 21: MXF An Introduction

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

Page 22: MXF An Introduction

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

Page 23: MXF An Introduction

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

Page 24: MXF An Introduction

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)

Page 25: MXF An Introduction

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

Page 26: MXF An Introduction

MXFMXF

Where to now ?

Page 27: MXF An Introduction

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 ...

Page 28: MXF An Introduction

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

Page 29: MXF An Introduction

MXFMXF

MXF is there and it works !

Let’s use it