SlideShare a Scribd company logo
1 of 24
EBU Production Technology Seminar, January 2017
Dan Tatut, VP Business Strategy & Development
IMF Mechanisms for carrying
Metadata
Current Practices
IMF mechanisms for carrying metadata
• CPL structure
• Intrinsic & Extrinsic metadata
• Metadata in track files
• Metadata processing via OPLs (Output Profile Lists)
• About timecode
• Conclusion / Topics for debate
OVERVIEW
IMF mechanisms for carrying metadata
IMF mechanisms for carrying metadata
• <Annotation> user-defined text (comments about/description of the composition)
• <Creator> software/device that created the composition (usually not user-editable)
• <ContentOriginator> who created the composition (e.g. studio name)
• <ContentTitle> title of the composition, often using a “naming convention”
• <ContentKind> defined in ST2067-3 or custom value (scope attribute should be used)
• <ContentVersionList> a list of ID/label pairs, references to external metadata
• <LocaleList> a list of <Locale> structures for language(s), region(s) and content maturity
rating(s)
What is available in the “Prologue section” ?
• <ContentVersionList> is a list of <ContentVersion> elements
• Each <ContentVersion> is a pair of <Id> and <LabelText> elements
• Each Id/LabelText pair can be anything, e.g.:
IMF mechanisms for carrying metadata
External metadata through “<ContentVersionList>”
OWNER FORMAT
Disney <Id>tag:disney.com,2015:wmls-id:7000001</Id>
<LabelText>In & Out (US English)</LabelText>
Warner Bros <Id>tag:warnerbros.com/series/mpmNumber,2004582</Id>
<LabelText>series(GILLIGAN'S ISLAND - YR02 65/66)</LabelText>
EIDR <Id>urn:eidr:10.5240:4FEC-7003-F150-AD59-9D70-S</Id>
<LabelText>This is an EIDR reference</LabelText>
ISAN <Id>urn:isan:aef0-1000-6721-022-x-0000-9034-1</Id>
<LabelText>This is an ISAN reference</LabelText>
• <EssenceDescriptor> elemets are part of <EssenceDescriptorList>
• Each <EssenceDescriptor> exposes in the CPL asset metadata using SMPTE RegXML
• Some assets can carry user defined metadata, e.g. MCA in the audio tracks
IMF mechanisms for carrying metadata
A word on “<EssenceDescriptor>” elements
MCA Metadata
...
<MCATitle>The Great Escape</MCATitle>
<MCATitleVersion>this is version 2</MCATitleVersion>
<MCATitleSubVersion>actually version 2.1b</MCATitleSubVersion>
<MCAEpisode>of the first episode<MCAEpisode>
...
• <ExtensionProperties> is the weapon of choice for adding static metadata to the CPL
• One unique instance of any custom-defined element
• Must be identified by their specific name spaces
• Can contain any sub-structure (as defined by their XML schema)
• Can be ignored by QC systems (unless they understand the schema)
• Can be stored internally or externally to the CPL (linking is extension specific)
• <ExtensionProperties> outside of the timeline, not well suited for time-based metadata
IMF mechanisms for carrying metadata
Adding metadata through“<ExtensionProperties>”
• CPL-embedded EBU extension for linking EBUCore documents as presented at PTS 2016
IMF mechanisms for carrying metadata
Examples using “<ExtensionProperties>”
<ExtensionProperties>
<ebuext:EBUExtension xmlns:ebuext="http://tech.ebu.ch/schemas/XXXX">
<ebuext:EBUCoreList>
<ebuext:EBUCore>
<Id>urn:uuid:7a5656b3-64b0-4dc7-960b-5a819c4669e5</Id>
<LabelText>France TV</LabelText>
</ebuext:EBUCore>
<ebuext:EBUCore>
<Id>urn:uuid:2945c709-8f76-491e-8aaf-bccb97bf99d8</Id>
<LabelText>UK DPP</LabelText>
</ebuext:EBUCore>
</ebuext:EBUCoreList>
</ebuext:EBUExtension>
</ExtensionProperties>
IMF mechanisms for carrying metadata
Examples using “<ExtensionProperties>”
<ExtensionProperties>
<mt:ExtensionProperties xmlns:mt="http://www.marquise-tech.com/imf/2016/cpl-extension-properties">
<mt:DM_AS_11_UKDPP_Framework>
<mt:UKDPP_Audio_Loudness_Standard>Loudness_None</mt:UKDPP_Audio_Loudness_Standard>
<mt:UKDPP_Textless_Elements_Exist>False</mt:UKDPP_Textless_Elements_Exist>
<mt:UKDPP_Picture_Ratio>16/9</mt:UKDPP_Picture_Ratio>
<mt:UKDPP_Tertiary_Audio_Language>zxx</mt:UKDPP_Tertiary_Audio_Language>
<mt:UKDPP_Audio_Comments>Mixed to PPM 6</mt:UKDPP_Audio_Comments>
<mt:UKDPP_PSE_Pass>PSE_Not_tested</mt:UKDPP_PSE_Pass>
...
<mt:UKDPP_Genre>Rock/Pop</mt:UKDPP_Genre>
...
<mt:UKDPP_Originator>BBC S&amp;PP DMS</mt:UKDPP_Originator>
<mt:UKDPP_Product_Placement>False</mt:UKDPP_Product_Placement>
...
</mt:DM_AS_11_UKDPP_Framework>
</mtextprop:ExtensionProperties>
</ExtensionProperties>
IMF mechanisms for carrying metadata
Examples using “<ExtensionProperties>”
<ExtensionProperties>
<imf:ExtensionProperties xmlns:imf="http://dalet.com/api/imf/2015-12/imp-metadata-extension">
<WB:WBExtensionProperties xmlns:WB="http://warnerbros.com/schemas/imf/2016/extensionProperties">
<Series xmlns="http://warnerbros.com/schemas/imf/2016/extensionProperties">
<Name>GILLIGAN'S ISLAND - YR02 65/66</Name>
<MpmNumber>2004582</MpmNumber>
...
</Series>
<Title xmlns="http://warnerbros.com/schemas/imf/2016/extensionProperties">
<MpmNumber>4034033</MpmNumber>
...
<EpisodeNumber>001056</EpisodeNumber>
<EpisodeSequenceNumber/>
...
</Title>
...
</WB:WBExtensionProperties>
</imf:ExtensionProperties>
</ExtensionProperties>
• IMF allows metadata extension at the timeline level. This is done through virtual tracks
• Can be intrinsic or extrinsic to the CPL
• Can be time varying or constant, contiuous or discrete.
• Extensions are identified by their XML namespace/schema
• Can be ignored by QC systems that do not understand them
• Must follow the timeline rules (tracks, segments, sequence, etc.)
IMF mechanisms for carrying metadata
Adding timeline metadata
M1 & M2
A1
Soundfield
5.1
Metadata
IMF mechanisms for carrying metadata
SEGMENT 1 SEGMENT 2 SEGMENT 3
V1
Sequence
Sequence
Sequence
IMF mechanisms for carrying metadata
Examples of intrinsic timeline metadata: markers
<MarkerSequence>
...
<ResourceList>
<Resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" si:type="cpl:MarkerResourceType">
<Id>urn:uuid:ce398822-cd01-4eee-b725-965bc78ea3e1</cpl:Id>
<Annotation/>
<EditRate>24000 1001</EditRate>
<IntrinsicDuration>0</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<SourceDuration>0</SourceDuration>
<Marker>
<Annotation>SMPTE_BARS</Annotation>
<Label scope="http://vubiquity.com/dete/imf/2016/markerLabel">SMPTE_BARS</Label>
<Offset>0</Offset>
</Marker>
</Resource>
</ResourceList>
</MarkerSequence>
IMF mechanisms for carrying metadata
Examples of intrinsic timeline metadata: RDD6
<rdd6:RDD6Sequence xmlns:rdd6="http://bbc.co.uk/imf/rdd6/2017">
...
<ResourceList>
<Resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" si:type="rdd6:RDD6ResourceType">
<Id>urn:uuid:ce366622-cd01-4e2e-1115-7622c48ea3e1</Id>
<EditRate>25 1</EditRate>
<IntrinsicDuration>0</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<SourceDuration>0</SourceDuration>
<RDD6>
<FirstSubFrame>... </FirstSubFrame>
<SecondSubFrame>... </SecondSubFrame>
</RDD6>
</Resource>
</ResourceList>
</rdd6:RDD6Sequence>
IMF mechanisms for carrying metadata
Examples of extrinsic timeline metadata: TT commentary
<cc:CommentarySequence xmlns:cc="http://www.smpte-ra.org/schemas/2067-2/2016">
<Id>urn:uuid:0ea040c7-418f-4b3d-b27e-8b4b3da9bdfa</Id>
<TrackId>urn:uuid:b13a9521-df5b-403a-8634-cacf14094835</TrackId>
<ResourceList>
<Resource xsi:type="TrackFileResourceType">
<Id>urn:uuid:53c5dd91-9b31-4a89-a63b-b2d8d7112627</Id>
<EditRate>24000 1001</EditRate>
<IntrinsicDuration>4208</IntrinsicDuration>
<SourceEncoding>urn:uuid:3ef4dbcf-d4e1-a432-b4b0-38da2d96442f</SourceEncoding>
<TrackFileId>urn:uuid:3ef4dbcf-d4e1-a432-b4b0-38da2d96442f</TrackFileId>
<Hash>T8pvcuXA+GVQM/fc0DMlgoMwOSE=</Hash>
</Resource>
</ResourceList>
</cc:CommentarySequence>
• <SourceEncoding> references an <EssenceDescriptor> defined in the <EssenceDescriptorList>
• The actual “external metadata” is referenced by the <TrackFileId> element
IMF mechanisms for carrying metadata
Examples of extrinsic timeline metadata: ancillary data
<cc:AncillaryDataSequence xmlns:cc="http://www.smpte-ra.org/schemas/2067-2/2016">
<Id>urn:uuid:cc64ab4c-d7bf-4453-85a6-40f372bc4f6c</Id>
<TrackId>urn:uuid:cf4a166f-3110-4512-a3d7-8193102c0458</TrackId>
<ResourceList>
<Resource xsi:type="TrackFileResourceType">
<Id>urn:uuid:0739ffce-918b-496c-b2c7-f3d2ef06f3f2</Id>
<EditRate>24000 1001</EditRate>
<IntrinsicDuration>719</IntrinsicDuration>
<SourceEncoding>urn:uuid:0d28fd36-8485-490e-a06d-b2bdcebc8fbf</SourceEncoding>
<TrackFileId>urn:uuid:c1e8dfc3-495b-44ba-a436-35027d0db0a3</TrackFileId>
</Resource>
</ResourceList>
</cc:AncillaryDataSequence>
• <SourceEncoding> references an <EssenceDescriptor> defined in the <EssenceDescriptorList>
• The actual “external metadata” is referenced by the <TrackFileId> element
• Intrinsic timeline metadata is stored in plain XML in the CPL
• Extrinsic timeline metadata is stored using “any” encoding method as long as there is a MXF
wrapping defined
• Extrinsic timeline metadata can be transmitted as supplemental packages
• Extrinsic timeline metadata can have any size
• Extrinsic timeline metadata can be reused multiple times (multiple references)
• Dynamics are defined by the encoding. No “generic animation mechanism”
IMF mechanisms for carrying metadata
Adding timeline metadata
• Product placement
• Per-frame technical metadata (e.g. camera metadata, geo-localisation)
• Creative changes (pan & scan), colorimetry (ST2094), etc.
• Support for legacy essence formats (EBU STL, CEA 608/708, etc.)
• New accessibility tracks
• Live & post-live capture metadata
• Etc.
IMF mechanisms for carrying metadata
Examples of timeline metadata
• Instructions on how to “process” CPLs
• List of standard (SMPTE) & custom macros
• Each OPL references a CPL
• Can have <ExtensionProperties> too!
• Metadata access in the CPL via CPL UUID
• Metadata access in the CPL’s virtual tracks via UUID
IMF mechanisms for carrying metadata
Metadata processing via OPLs
IMF mechanisms for carrying metadata
Metadata processing via OPLs
...
<MacroList>
<Macro type="mtio:FileOutMacroType">
<Name>macro_9313321f-7f2b-4ced-939d-efbf54ca8dff</Name>
<mtio:InputImageSequence xmlns:mtio="http://www.marquise-tech.com/schemas/imf/2016/fileout-macro">
<Handle>cpl/virtual-tracks/a8bb2208-3915-43b1-ab51-1b8ea48ae8ff</Handle>
</mtio:InputImageSequence>
...
<mtio:RDD6Sequence xmlns:mtio="http://www.marquise-tech.com/schemas/imf/2016/fileout-macro">
<Handle>cpl/virtual-tracks/cff02228-faac-7543-dd23-cba6695aa3e2</Handle>
</mtio:RDD6Sequence>
...
<mtio:OutputFormat xmlns:mtfileout="http://www.marquise-tech.com/schemas/imf/2016/fileout-macro">
<mtio:Container>mxfas11ukdpp</mtfileout:Container>
</mtio:OutputFormat>
</Macro>
</MacroList>
...
IMF mechanisms for carrying metadata
How to choose a strategy?
PLACE ROLE GLOBAL TIMELINE
CPL-related Related to specific moments in
the timeline
INTRINSIC Essential to CPL interpretation, XML based,
smaller than the CPL
Use a child element in
<ExtensionProperties>
Store as a resource in a virtual
track (could be custom)
EXTRINSIC Opposite of intrinsic Stored as external asset (e.g. QC
report, EBUCore XML documents,
etc.
Stored as Track file, referenced
by Virtual Track in CPL (e.g.
ST2094)
• IMF does not make use of TIMECODE
• CPLs have an optional timecode metadata
• MXF supports timecode
• IMF MXFs can carry the timecode you want/like (e.g. original/source timecode)
• However timecode is asset-bound, not composition-bound
• Stop thinking tape
• Start thinking files, structured edit/playlists & assets
IMF mechanisms for carrying metadata
Last but not least: Timecode!
• Current practice: UNREADABLE & INCOMPETENT NAMING CONVENTIONS
• SMPTE 35PM50 working on a specification to “ease the attachement” of sidecar files
• EBU IMF-TV working on this subject too!
• Send comments/feedback, participate!
IMF mechanisms for carrying metadata
Conclusion
contact information
www.marquise-tech.com
dtatut@marquise-tech.com
THANK YOU

More Related Content

Similar to IMF Mechanisms for Carrying Metadata

Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek PROIDEA
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackJakub Hajek
 
How to create Treasure Data #dotsbigdata
How to create Treasure Data #dotsbigdataHow to create Treasure Data #dotsbigdata
How to create Treasure Data #dotsbigdataN Masahiro
 
From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...
From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...
From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...NECST Lab @ Politecnico di Milano
 
OCCI Specification Walkthrough
OCCI Specification WalkthroughOCCI Specification Walkthrough
OCCI Specification Walkthroughbefreax
 
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search ComponentLetting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search ComponentJay Luker
 
Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010Christopher Biow
 
Magento 2 Code Migration Tool
Magento 2 Code Migration ToolMagento 2 Code Migration Tool
Magento 2 Code Migration ToolSergii Shymko
 
Sergii Shymko - Code migration tool for upgrade to Magento 2
Sergii Shymko - Code migration tool for upgrade to Magento 2Sergii Shymko - Code migration tool for upgrade to Magento 2
Sergii Shymko - Code migration tool for upgrade to Magento 2Meet Magento Italy
 
JISC CETIS Support for UKOER
JISC CETIS Support for UKOERJISC CETIS Support for UKOER
JISC CETIS Support for UKOERPhil Barker
 
NEOOUG 2010 Oracle Data Integrator Presentation
NEOOUG 2010 Oracle Data Integrator PresentationNEOOUG 2010 Oracle Data Integrator Presentation
NEOOUG 2010 Oracle Data Integrator Presentationaskankit
 
Oracle_Patching_Untold_Story_Final_Part2.pdf
Oracle_Patching_Untold_Story_Final_Part2.pdfOracle_Patching_Untold_Story_Final_Part2.pdf
Oracle_Patching_Untold_Story_Final_Part2.pdfAlex446314
 
Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...
Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...
Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...FIAT/IFTA
 
Time seriesdb influx
Time seriesdb influxTime seriesdb influx
Time seriesdb influxMauro Rainis
 
Working Experience_V5.0
Working Experience_V5.0Working Experience_V5.0
Working Experience_V5.0Danny Lai
 
2021 04-20 apache arrow and its impact on the database industry.pptx
2021 04-20  apache arrow and its impact on the database industry.pptx2021 04-20  apache arrow and its impact on the database industry.pptx
2021 04-20 apache arrow and its impact on the database industry.pptxAndrew Lamb
 
Cloud Foundry Monitoring How-To: Collecting Metrics and Logs
Cloud Foundry Monitoring How-To: Collecting Metrics and LogsCloud Foundry Monitoring How-To: Collecting Metrics and Logs
Cloud Foundry Monitoring How-To: Collecting Metrics and LogsAltoros
 

Similar to IMF Mechanisms for Carrying Metadata (20)

Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek Docker Logging and analysing with Elastic Stack - Jakub Hajek
Docker Logging and analysing with Elastic Stack - Jakub Hajek
 
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic StackDocker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack
 
How to create Treasure Data #dotsbigdata
How to create Treasure Data #dotsbigdataHow to create Treasure Data #dotsbigdata
How to create Treasure Data #dotsbigdata
 
From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...
From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...
From FPGA-based Reconfigurable Systems to Autonomic Heterogeneous Computing S...
 
OCCI Specification Walkthrough
OCCI Specification WalkthroughOCCI Specification Walkthrough
OCCI Specification Walkthrough
 
Letting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search ComponentLetting In the Light: Using Solr as an External Search Component
Letting In the Light: Using Solr as an External Search Component
 
MCT Virtual Summit 2021
MCT Virtual Summit 2021MCT Virtual Summit 2021
MCT Virtual Summit 2021
 
Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010
 
CAOS @ ICCD2017
CAOS @ ICCD2017CAOS @ ICCD2017
CAOS @ ICCD2017
 
Magento 2 Code Migration Tool
Magento 2 Code Migration ToolMagento 2 Code Migration Tool
Magento 2 Code Migration Tool
 
Sergii Shymko - Code migration tool for upgrade to Magento 2
Sergii Shymko - Code migration tool for upgrade to Magento 2Sergii Shymko - Code migration tool for upgrade to Magento 2
Sergii Shymko - Code migration tool for upgrade to Magento 2
 
JISC CETIS Support for UKOER
JISC CETIS Support for UKOERJISC CETIS Support for UKOER
JISC CETIS Support for UKOER
 
NEOOUG 2010 Oracle Data Integrator Presentation
NEOOUG 2010 Oracle Data Integrator PresentationNEOOUG 2010 Oracle Data Integrator Presentation
NEOOUG 2010 Oracle Data Integrator Presentation
 
Oracle_Patching_Untold_Story_Final_Part2.pdf
Oracle_Patching_Untold_Story_Final_Part2.pdfOracle_Patching_Untold_Story_Final_Part2.pdf
Oracle_Patching_Untold_Story_Final_Part2.pdf
 
Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...
Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...
Tools for mxf-embedded bucore metadata, Dieter Van Rijsselbergen, Jean-Pierre...
 
Time seriesdb influx
Time seriesdb influxTime seriesdb influx
Time seriesdb influx
 
Working Experience_V5.0
Working Experience_V5.0Working Experience_V5.0
Working Experience_V5.0
 
2021 04-20 apache arrow and its impact on the database industry.pptx
2021 04-20  apache arrow and its impact on the database industry.pptx2021 04-20  apache arrow and its impact on the database industry.pptx
2021 04-20 apache arrow and its impact on the database industry.pptx
 
Proposal with sdlc
Proposal with sdlcProposal with sdlc
Proposal with sdlc
 
Cloud Foundry Monitoring How-To: Collecting Metrics and Logs
Cloud Foundry Monitoring How-To: Collecting Metrics and LogsCloud Foundry Monitoring How-To: Collecting Metrics and Logs
Cloud Foundry Monitoring How-To: Collecting Metrics and Logs
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

IMF Mechanisms for Carrying Metadata

  • 1. EBU Production Technology Seminar, January 2017 Dan Tatut, VP Business Strategy & Development IMF Mechanisms for carrying Metadata Current Practices
  • 2. IMF mechanisms for carrying metadata • CPL structure • Intrinsic & Extrinsic metadata • Metadata in track files • Metadata processing via OPLs (Output Profile Lists) • About timecode • Conclusion / Topics for debate OVERVIEW
  • 3. IMF mechanisms for carrying metadata
  • 4. IMF mechanisms for carrying metadata • <Annotation> user-defined text (comments about/description of the composition) • <Creator> software/device that created the composition (usually not user-editable) • <ContentOriginator> who created the composition (e.g. studio name) • <ContentTitle> title of the composition, often using a “naming convention” • <ContentKind> defined in ST2067-3 or custom value (scope attribute should be used) • <ContentVersionList> a list of ID/label pairs, references to external metadata • <LocaleList> a list of <Locale> structures for language(s), region(s) and content maturity rating(s) What is available in the “Prologue section” ?
  • 5. • <ContentVersionList> is a list of <ContentVersion> elements • Each <ContentVersion> is a pair of <Id> and <LabelText> elements • Each Id/LabelText pair can be anything, e.g.: IMF mechanisms for carrying metadata External metadata through “<ContentVersionList>” OWNER FORMAT Disney <Id>tag:disney.com,2015:wmls-id:7000001</Id> <LabelText>In & Out (US English)</LabelText> Warner Bros <Id>tag:warnerbros.com/series/mpmNumber,2004582</Id> <LabelText>series(GILLIGAN'S ISLAND - YR02 65/66)</LabelText> EIDR <Id>urn:eidr:10.5240:4FEC-7003-F150-AD59-9D70-S</Id> <LabelText>This is an EIDR reference</LabelText> ISAN <Id>urn:isan:aef0-1000-6721-022-x-0000-9034-1</Id> <LabelText>This is an ISAN reference</LabelText>
  • 6. • <EssenceDescriptor> elemets are part of <EssenceDescriptorList> • Each <EssenceDescriptor> exposes in the CPL asset metadata using SMPTE RegXML • Some assets can carry user defined metadata, e.g. MCA in the audio tracks IMF mechanisms for carrying metadata A word on “<EssenceDescriptor>” elements MCA Metadata ... <MCATitle>The Great Escape</MCATitle> <MCATitleVersion>this is version 2</MCATitleVersion> <MCATitleSubVersion>actually version 2.1b</MCATitleSubVersion> <MCAEpisode>of the first episode<MCAEpisode> ...
  • 7. • <ExtensionProperties> is the weapon of choice for adding static metadata to the CPL • One unique instance of any custom-defined element • Must be identified by their specific name spaces • Can contain any sub-structure (as defined by their XML schema) • Can be ignored by QC systems (unless they understand the schema) • Can be stored internally or externally to the CPL (linking is extension specific) • <ExtensionProperties> outside of the timeline, not well suited for time-based metadata IMF mechanisms for carrying metadata Adding metadata through“<ExtensionProperties>”
  • 8. • CPL-embedded EBU extension for linking EBUCore documents as presented at PTS 2016 IMF mechanisms for carrying metadata Examples using “<ExtensionProperties>” <ExtensionProperties> <ebuext:EBUExtension xmlns:ebuext="http://tech.ebu.ch/schemas/XXXX"> <ebuext:EBUCoreList> <ebuext:EBUCore> <Id>urn:uuid:7a5656b3-64b0-4dc7-960b-5a819c4669e5</Id> <LabelText>France TV</LabelText> </ebuext:EBUCore> <ebuext:EBUCore> <Id>urn:uuid:2945c709-8f76-491e-8aaf-bccb97bf99d8</Id> <LabelText>UK DPP</LabelText> </ebuext:EBUCore> </ebuext:EBUCoreList> </ebuext:EBUExtension> </ExtensionProperties>
  • 9. IMF mechanisms for carrying metadata Examples using “<ExtensionProperties>” <ExtensionProperties> <mt:ExtensionProperties xmlns:mt="http://www.marquise-tech.com/imf/2016/cpl-extension-properties"> <mt:DM_AS_11_UKDPP_Framework> <mt:UKDPP_Audio_Loudness_Standard>Loudness_None</mt:UKDPP_Audio_Loudness_Standard> <mt:UKDPP_Textless_Elements_Exist>False</mt:UKDPP_Textless_Elements_Exist> <mt:UKDPP_Picture_Ratio>16/9</mt:UKDPP_Picture_Ratio> <mt:UKDPP_Tertiary_Audio_Language>zxx</mt:UKDPP_Tertiary_Audio_Language> <mt:UKDPP_Audio_Comments>Mixed to PPM 6</mt:UKDPP_Audio_Comments> <mt:UKDPP_PSE_Pass>PSE_Not_tested</mt:UKDPP_PSE_Pass> ... <mt:UKDPP_Genre>Rock/Pop</mt:UKDPP_Genre> ... <mt:UKDPP_Originator>BBC S&amp;PP DMS</mt:UKDPP_Originator> <mt:UKDPP_Product_Placement>False</mt:UKDPP_Product_Placement> ... </mt:DM_AS_11_UKDPP_Framework> </mtextprop:ExtensionProperties> </ExtensionProperties>
  • 10. IMF mechanisms for carrying metadata Examples using “<ExtensionProperties>” <ExtensionProperties> <imf:ExtensionProperties xmlns:imf="http://dalet.com/api/imf/2015-12/imp-metadata-extension"> <WB:WBExtensionProperties xmlns:WB="http://warnerbros.com/schemas/imf/2016/extensionProperties"> <Series xmlns="http://warnerbros.com/schemas/imf/2016/extensionProperties"> <Name>GILLIGAN'S ISLAND - YR02 65/66</Name> <MpmNumber>2004582</MpmNumber> ... </Series> <Title xmlns="http://warnerbros.com/schemas/imf/2016/extensionProperties"> <MpmNumber>4034033</MpmNumber> ... <EpisodeNumber>001056</EpisodeNumber> <EpisodeSequenceNumber/> ... </Title> ... </WB:WBExtensionProperties> </imf:ExtensionProperties> </ExtensionProperties>
  • 11. • IMF allows metadata extension at the timeline level. This is done through virtual tracks • Can be intrinsic or extrinsic to the CPL • Can be time varying or constant, contiuous or discrete. • Extensions are identified by their XML namespace/schema • Can be ignored by QC systems that do not understand them • Must follow the timeline rules (tracks, segments, sequence, etc.) IMF mechanisms for carrying metadata Adding timeline metadata
  • 12. M1 & M2 A1 Soundfield 5.1 Metadata IMF mechanisms for carrying metadata SEGMENT 1 SEGMENT 2 SEGMENT 3 V1 Sequence Sequence Sequence
  • 13. IMF mechanisms for carrying metadata Examples of intrinsic timeline metadata: markers <MarkerSequence> ... <ResourceList> <Resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" si:type="cpl:MarkerResourceType"> <Id>urn:uuid:ce398822-cd01-4eee-b725-965bc78ea3e1</cpl:Id> <Annotation/> <EditRate>24000 1001</EditRate> <IntrinsicDuration>0</IntrinsicDuration> <EntryPoint>0</EntryPoint> <SourceDuration>0</SourceDuration> <Marker> <Annotation>SMPTE_BARS</Annotation> <Label scope="http://vubiquity.com/dete/imf/2016/markerLabel">SMPTE_BARS</Label> <Offset>0</Offset> </Marker> </Resource> </ResourceList> </MarkerSequence>
  • 14. IMF mechanisms for carrying metadata Examples of intrinsic timeline metadata: RDD6 <rdd6:RDD6Sequence xmlns:rdd6="http://bbc.co.uk/imf/rdd6/2017"> ... <ResourceList> <Resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" si:type="rdd6:RDD6ResourceType"> <Id>urn:uuid:ce366622-cd01-4e2e-1115-7622c48ea3e1</Id> <EditRate>25 1</EditRate> <IntrinsicDuration>0</IntrinsicDuration> <EntryPoint>0</EntryPoint> <SourceDuration>0</SourceDuration> <RDD6> <FirstSubFrame>... </FirstSubFrame> <SecondSubFrame>... </SecondSubFrame> </RDD6> </Resource> </ResourceList> </rdd6:RDD6Sequence>
  • 15. IMF mechanisms for carrying metadata Examples of extrinsic timeline metadata: TT commentary <cc:CommentarySequence xmlns:cc="http://www.smpte-ra.org/schemas/2067-2/2016"> <Id>urn:uuid:0ea040c7-418f-4b3d-b27e-8b4b3da9bdfa</Id> <TrackId>urn:uuid:b13a9521-df5b-403a-8634-cacf14094835</TrackId> <ResourceList> <Resource xsi:type="TrackFileResourceType"> <Id>urn:uuid:53c5dd91-9b31-4a89-a63b-b2d8d7112627</Id> <EditRate>24000 1001</EditRate> <IntrinsicDuration>4208</IntrinsicDuration> <SourceEncoding>urn:uuid:3ef4dbcf-d4e1-a432-b4b0-38da2d96442f</SourceEncoding> <TrackFileId>urn:uuid:3ef4dbcf-d4e1-a432-b4b0-38da2d96442f</TrackFileId> <Hash>T8pvcuXA+GVQM/fc0DMlgoMwOSE=</Hash> </Resource> </ResourceList> </cc:CommentarySequence> • <SourceEncoding> references an <EssenceDescriptor> defined in the <EssenceDescriptorList> • The actual “external metadata” is referenced by the <TrackFileId> element
  • 16. IMF mechanisms for carrying metadata Examples of extrinsic timeline metadata: ancillary data <cc:AncillaryDataSequence xmlns:cc="http://www.smpte-ra.org/schemas/2067-2/2016"> <Id>urn:uuid:cc64ab4c-d7bf-4453-85a6-40f372bc4f6c</Id> <TrackId>urn:uuid:cf4a166f-3110-4512-a3d7-8193102c0458</TrackId> <ResourceList> <Resource xsi:type="TrackFileResourceType"> <Id>urn:uuid:0739ffce-918b-496c-b2c7-f3d2ef06f3f2</Id> <EditRate>24000 1001</EditRate> <IntrinsicDuration>719</IntrinsicDuration> <SourceEncoding>urn:uuid:0d28fd36-8485-490e-a06d-b2bdcebc8fbf</SourceEncoding> <TrackFileId>urn:uuid:c1e8dfc3-495b-44ba-a436-35027d0db0a3</TrackFileId> </Resource> </ResourceList> </cc:AncillaryDataSequence> • <SourceEncoding> references an <EssenceDescriptor> defined in the <EssenceDescriptorList> • The actual “external metadata” is referenced by the <TrackFileId> element
  • 17. • Intrinsic timeline metadata is stored in plain XML in the CPL • Extrinsic timeline metadata is stored using “any” encoding method as long as there is a MXF wrapping defined • Extrinsic timeline metadata can be transmitted as supplemental packages • Extrinsic timeline metadata can have any size • Extrinsic timeline metadata can be reused multiple times (multiple references) • Dynamics are defined by the encoding. No “generic animation mechanism” IMF mechanisms for carrying metadata Adding timeline metadata
  • 18. • Product placement • Per-frame technical metadata (e.g. camera metadata, geo-localisation) • Creative changes (pan & scan), colorimetry (ST2094), etc. • Support for legacy essence formats (EBU STL, CEA 608/708, etc.) • New accessibility tracks • Live & post-live capture metadata • Etc. IMF mechanisms for carrying metadata Examples of timeline metadata
  • 19. • Instructions on how to “process” CPLs • List of standard (SMPTE) & custom macros • Each OPL references a CPL • Can have <ExtensionProperties> too! • Metadata access in the CPL via CPL UUID • Metadata access in the CPL’s virtual tracks via UUID IMF mechanisms for carrying metadata Metadata processing via OPLs
  • 20. IMF mechanisms for carrying metadata Metadata processing via OPLs ... <MacroList> <Macro type="mtio:FileOutMacroType"> <Name>macro_9313321f-7f2b-4ced-939d-efbf54ca8dff</Name> <mtio:InputImageSequence xmlns:mtio="http://www.marquise-tech.com/schemas/imf/2016/fileout-macro"> <Handle>cpl/virtual-tracks/a8bb2208-3915-43b1-ab51-1b8ea48ae8ff</Handle> </mtio:InputImageSequence> ... <mtio:RDD6Sequence xmlns:mtio="http://www.marquise-tech.com/schemas/imf/2016/fileout-macro"> <Handle>cpl/virtual-tracks/cff02228-faac-7543-dd23-cba6695aa3e2</Handle> </mtio:RDD6Sequence> ... <mtio:OutputFormat xmlns:mtfileout="http://www.marquise-tech.com/schemas/imf/2016/fileout-macro"> <mtio:Container>mxfas11ukdpp</mtfileout:Container> </mtio:OutputFormat> </Macro> </MacroList> ...
  • 21. IMF mechanisms for carrying metadata How to choose a strategy? PLACE ROLE GLOBAL TIMELINE CPL-related Related to specific moments in the timeline INTRINSIC Essential to CPL interpretation, XML based, smaller than the CPL Use a child element in <ExtensionProperties> Store as a resource in a virtual track (could be custom) EXTRINSIC Opposite of intrinsic Stored as external asset (e.g. QC report, EBUCore XML documents, etc. Stored as Track file, referenced by Virtual Track in CPL (e.g. ST2094)
  • 22. • IMF does not make use of TIMECODE • CPLs have an optional timecode metadata • MXF supports timecode • IMF MXFs can carry the timecode you want/like (e.g. original/source timecode) • However timecode is asset-bound, not composition-bound • Stop thinking tape • Start thinking files, structured edit/playlists & assets IMF mechanisms for carrying metadata Last but not least: Timecode!
  • 23. • Current practice: UNREADABLE & INCOMPETENT NAMING CONVENTIONS • SMPTE 35PM50 working on a specification to “ease the attachement” of sidecar files • EBU IMF-TV working on this subject too! • Send comments/feedback, participate! IMF mechanisms for carrying metadata Conclusion