SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Comments on carriage of
              timed text (and graphics)

              Cyril Concolato, Jean Le Feuvre
              M25978
              July 2012, Stockholm, Sweden




INSTITUT MINES-TÉLÉCOM
Timed text has a long history …
                ■ So many formats
                   • See http://wiki.videolan.org/Subtitles

                ■ MPEG has already looked at it, some time ago…
                   • Analysis of the streaming text
                     requirements, MPEG, Shanghai, China, October 2002, M8931
                   • Existing MPEG technologies:
                       − Scene description streams (BIFS, LASeR)
                       − MPEG-4 Part 17

                ■ Now new formats (TTML, WebVTT, …)
                   • Each format so far requires MPEG to standardize a new
                     mechanism for its carriage
                   • What will we do for the next formats (now or in 10 years) ?

                ■ MPEG should design future-proof technology for the
                  carriage in ISOBMF of timed text !!


1   7/19/2012     INSTITUT MINES-TÉLÉCOM
Not only of timed text but also of timed
                graphics

                ■ Proposed new use case
                   • Frame-based synchronized graphics overlay on top of a
                     video
                       − Ex: Graphics and video derived from Kinect devices
                       − Ex: Recordings of Augmented Reality applications
                       − Ex: SVG-based cartoons à la Flash
                ■ Same requirements as “timed text”
                   • Selecting a graphics track
                   • Playing while keeping synchronization
                   • Accessing randomly in the graphics stream
                   • Enabling progressive download and streaming or
                     adaptive streaming,
                   • Positioning the track on top of the video …
                ■ Demo


2   7/19/2012     INSTITUT MINES-TÉLÉCOM
Example of mis-synchronization




3   7/19/2012    INSTITUT MINES-TÉLÉCOM
We need more generic requirements (1/2)

                ■ The ISOBMFF should be able to carry timed data,
                  in a generic manner, for which the exact type or
                  format can be identified.
                   • Ex: to carry timed TTML, SVG, HTML, WebVTT...


                ■ The ISOBMFF should be able to carry samples of
                  timed data composed of a main sample data
                  referencing several individual pieces of data
                  (sample resource), each of them carried
                  efficiently, without requiring modifications to the
                  main sample data.
                   • Ex: Efficient carriage of JPEG images used by the
                     timed text or graphics document

4   7/19/2012     INSTITUT MINES-TÉLÉCOM
We need more generic requirements (2/2)

                ■ The ISOBMFF should be able store sample
                  resources together with or separately of the main
                  sample data, possibly using movie fragments.
                   • Ex: Share a JPEG across samples



                ■ The ISOBMFF should enable the storage of timed
                  data in a fragmented manner across samples, for
                  progressive loading by the application
                  consuming sample data.
                   • Ex: if an XML progressive loader can be used, use it!



5   7/19/2012     INSTITUT MINES-TÉLÉCOM
Technical elements towards a solution
                ■ Situation
                   • MPEG has already almost all tools for timed text and
                     graphics
                      − Metadata tracks (part 12)
                      − Scene description tracks (part 14)
                   • Reuse as much existing tools
                   • Adapting them if needed

                ■ 2 proposals
                   • Generic Tool: Usage of ‘meta’ in movie fragments

                   • Specific adaptations to carry timed text and/or graphics
                      − Option 1: Usage of timed metadata samples
                      − Option 2: Usage of ‘meta’ box as samples


6   7/19/2012     INSTITUT MINES-TÉLÉCOM
„meta‟ in movie fragments

                ■ The „meta‟ box provides
                   • Carriage of un-timed metadata
                   • a useful mapping between a URL and the location of
                     the metadata in the file (ItemInfoBox and
                     ItemLocationBox)
                   • Gives way to protect the metadata
                ■ Current situation
                   • Fragmenting movie with ‘meta’, what happens?
                      − Media data not allowed in initialization segments!
                   • Why ‘meta’ not allowed in movie fragments?
                ■ Proposal
                   • Allow at most one ‘meta’ box (and possibly one ‘meco’
                     box to be consistent with the rest of the specification)
                   • At the ‘traf’ level (not at the ‘moof’ level)

7   7/19/2012     INSTITUT MINES-TÉLÉCOM
Option 1: Usage of “timed metadata”
                samples to carry timed text and graphics
                ■ Track handler: „meta‟
                ■ Sample entry:
                    •   XMLMetaDataSampleEntry if XML (TTML, SVG, …)
                    •   TextMetaDataSampleEntry if textual (WebVTT, HTML, …)
                    •   URIMetaSampleEntry if needed.
                ■ Sample
                    •   Use of given mime type or namespace to identify the content of the
                        sample
                    •   Complete XML document or text chunks or binary content
                    •   Storage of secondary resources (eg. JPEG …) as items in a ‘meta’
                        box:
                          − At ‘traf’ level, if fragmented
                          − At the ‘trak’ level, at the ‘moov’ level, at the file level
                ■ Flatenning
                    •   Merge ‘meta’
                    •   Or store ‘traf’-level meta boxes at the ‘trak’ level with ‘meco’ boxes
                         − Use a new sampleGroup type to associate ‘meta’ to sample




8   7/19/2012      INSTITUT MINES-TÉLÉCOM
Option 2: Usage of „meta‟ box as samples to
                carry timed text and graphics

                ■ Track handler: „metb‟
                ■ Sample entry:
                   • MetaBoxSampleEntry (merge of Text- and
                     XMLMetadataSampleEntry)
                ■ Sample format
                   • A ‘meta’ box with text, XML or graphics document stored
                     as primary item
                   • Storage of secondary resources (eg. JPEG …) as items
                     in a ‘meta’ box:
                       − This one, at the sample level (if any)
                       − At ‘traf’ level, if fragmented
                       − At the ‘trak’ level, at the ‘moof’ level, at the file level
                ■ Flatenning
                   • As usual with audio, video, …


9   7/19/2012     INSTITUT MINES-TÉLÉCOM
Important points
                 ■ Sample mapping
                    • Empty samples
                       − Option 1: an « empty » sample is a zero-length string
                       − Option 2: an « empty » sample is a meta box with an
                         empty primary document

                    • Overlapping samples
                       − Use sample start time as CTS
                       − Use delta CTS as duration (as usual)
                       − Let the sample define « real » presentation duration
                         and overlap
                       − No « artificial » duplicate content

                 ■ Simple processing
                    • Import/export
                    • Fragmentation/Un-fragmentation

10   7/19/2012     INSTITUT MINES-TÉLÉCOM
Misc points: Current WD problems

                 ■ « Time mapping »
                    • What is needed?
                    • What is the timeBase for TTML?
                    • « adjacent time ranges » not defined in SMPTE?
                 ■ Spatial registration
                    • We agree with m25859: we want to be able to store a
                      text/graphics track in a separate file from the video
                      track
                    • We agree to reuse 3GPP-style positioning
                 ■ Unnecessary Restrictions
                    • We agree with m25859: do not add restrictions to the
                      ISOBMFF on timescale, …
                 ■ Be careful not to restrict to complete XML
                   documents only

11   7/19/2012     INSTITUT MINES-TÉLÉCOM
Summary

                 ■ Proposed one new use case: timed graphics
                 ■ Reformulated requirements (more generic)
                 ■ Proposed clarifications for „meta‟ box in movie
                   fragments
                 ■ Proposed 2 options based on existing tools to
                   carry timed text or graphics
                 ■ Comments about current WD



                                            Questions?


12   7/19/2012     INSTITUT MINES-TÉLÉCOM

Weitere ähnliche Inhalte

Was ist angesagt?

Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!
Daniel Londero
 
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebula Project
 

Was ist angesagt? (20)

Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)
 
Setup & Operate Tungsten Replicator
Setup & Operate Tungsten ReplicatorSetup & Operate Tungsten Replicator
Setup & Operate Tungsten Replicator
 
EVCache & Moneta (GoSF)
EVCache & Moneta (GoSF)EVCache & Moneta (GoSF)
EVCache & Moneta (GoSF)
 
Eliminating Giant VM Lock in Ruby through Hardware Transactional Memory (Ruby...
Eliminating Giant VM Lock in Ruby through Hardware Transactional Memory (Ruby...Eliminating Giant VM Lock in Ruby through Hardware Transactional Memory (Ruby...
Eliminating Giant VM Lock in Ruby through Hardware Transactional Memory (Ruby...
 
Things Developers Believe About Video Files (Proven Wrong by User Uploads)
Things Developers Believe About Video Files (Proven Wrong by User Uploads)Things Developers Believe About Video Files (Proven Wrong by User Uploads)
Things Developers Believe About Video Files (Proven Wrong by User Uploads)
 
How to video.
How to video.How to video.
How to video.
 
Ch28
Ch28Ch28
Ch28
 
Research on Audio and Video Streaming
Research on Audio and Video StreamingResearch on Audio and Video Streaming
Research on Audio and Video Streaming
 
Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...
Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...
Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...
 
Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!
 
High perf-networking
High perf-networkingHigh perf-networking
High perf-networking
 
Message Passing Interface (MPI)-A means of machine communication
Message Passing Interface (MPI)-A means of machine communicationMessage Passing Interface (MPI)-A means of machine communication
Message Passing Interface (MPI)-A means of machine communication
 
gcma: guaranteed contiguous memory allocator
gcma:  guaranteed contiguous memory allocatorgcma:  guaranteed contiguous memory allocator
gcma: guaranteed contiguous memory allocator
 
Introduction to OpenMP
Introduction to OpenMPIntroduction to OpenMP
Introduction to OpenMP
 
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
Building a Pipeline for State-of-the-Art Natural Language Processing Using Hu...
 
Openmp
OpenmpOpenmp
Openmp
 
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
OpenNebulaConf2015 2.05 OpenNebula at the Leibniz Supercomputing Centre - Mat...
 
Introduction to MPI
Introduction to MPIIntroduction to MPI
Introduction to MPI
 
Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)
 
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda DubeA walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
 

Ähnlich wie Carriage of timed subtitles and graphics in MP4

Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)
Marcos García
 
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
Heiko Joerg Schick
 
Database layer in php
Database layer in phpDatabase layer in php
Database layer in php
d3p3d
 
ML At the Edge: Building Your Production Pipeline With Apache Spark and Tens...
ML At the Edge:  Building Your Production Pipeline With Apache Spark and Tens...ML At the Edge:  Building Your Production Pipeline With Apache Spark and Tens...
ML At the Edge: Building Your Production Pipeline With Apache Spark and Tens...
Stavros Kontopoulos
 
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
 ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens... ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
Databricks
 

Ähnlich wie Carriage of timed subtitles and graphics in MP4 (20)

PERICLES Information Embedding Techniques
PERICLES Information Embedding TechniquesPERICLES Information Embedding Techniques
PERICLES Information Embedding Techniques
 
An Introduction to OMNeT++ 5.4
An Introduction to OMNeT++ 5.4An Introduction to OMNeT++ 5.4
An Introduction to OMNeT++ 5.4
 
Embedded Recipes 2018 - Shared memory / telemetry - Yves-Marie Morgan
Embedded Recipes 2018 - Shared memory / telemetry - Yves-Marie MorganEmbedded Recipes 2018 - Shared memory / telemetry - Yves-Marie Morgan
Embedded Recipes 2018 - Shared memory / telemetry - Yves-Marie Morgan
 
Aca2 09 new
Aca2 09 newAca2 09 new
Aca2 09 new
 
Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)Quick introduction to Java Garbage Collector (JVM GC)
Quick introduction to Java Garbage Collector (JVM GC)
 
TemporalEMF: A Temporal Metamodeling Framework
TemporalEMF: A Temporal Metamodeling FrameworkTemporalEMF: A Temporal Metamodeling Framework
TemporalEMF: A Temporal Metamodeling Framework
 
Introducing Parallel Pixie Dust
Introducing Parallel Pixie DustIntroducing Parallel Pixie Dust
Introducing Parallel Pixie Dust
 
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
QPACE - QCD Parallel Computing on the Cell Broadband Engine™ (Cell/B.E.)
 
Freckle
FreckleFreckle
Freckle
 
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
01 introduction fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
Database layer in php
Database layer in phpDatabase layer in php
Database layer in php
 
An Introduction to OMNeT++ 5.1
An Introduction to OMNeT++ 5.1An Introduction to OMNeT++ 5.1
An Introduction to OMNeT++ 5.1
 
Introduction of file based workflows 111004 vfinal
Introduction of file based workflows 111004 vfinalIntroduction of file based workflows 111004 vfinal
Introduction of file based workflows 111004 vfinal
 
ML At the Edge: Building Your Production Pipeline With Apache Spark and Tens...
ML At the Edge:  Building Your Production Pipeline With Apache Spark and Tens...ML At the Edge:  Building Your Production Pipeline With Apache Spark and Tens...
ML At the Edge: Building Your Production Pipeline With Apache Spark and Tens...
 
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
 ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens... ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
ML at the Edge: Building Your Production Pipeline with Apache Spark and Tens...
 
Pune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCD
 
Industry - Program analysis and verification - Type-preserving Heap Profiler ...
Industry - Program analysis and verification - Type-preserving Heap Profiler ...Industry - Program analysis and verification - Type-preserving Heap Profiler ...
Industry - Program analysis and verification - Type-preserving Heap Profiler ...
 
Modelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic MapsModelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic Maps
 
Esp 100107093030-phpapp02
Esp 100107093030-phpapp02Esp 100107093030-phpapp02
Esp 100107093030-phpapp02
 
An Introduction to OMNeT++ 6.0
An Introduction to OMNeT++ 6.0An Introduction to OMNeT++ 6.0
An Introduction to OMNeT++ 6.0
 

Mehr von Cyril Concolato

Mehr von Cyril Concolato (12)

Streaming of SVG animations on the Web
Streaming of SVG animations on the WebStreaming of SVG animations on the Web
Streaming of SVG animations on the Web
 
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASHTutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
Tutoriel sur le streaming vidéo sur HTTP et sur MPEG-DASH
 
Delivery of Timeline for External Data in MPEG-2 Transport Stream
Delivery of Timeline for External Data in MPEG-2 Transport StreamDelivery of Timeline for External Data in MPEG-2 Transport Stream
Delivery of Timeline for External Data in MPEG-2 Transport Stream
 
GPAC Team Research Highlights
GPAC Team Research HighlightsGPAC Team Research Highlights
GPAC Team Research Highlights
 
Extensions for Hybrid Delivery using MPEG-2 TS and DASH
Extensions for Hybrid Delivery using MPEG-2 TS and DASHExtensions for Hybrid Delivery using MPEG-2 TS and DASH
Extensions for Hybrid Delivery using MPEG-2 TS and DASH
 
Live streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASHLive streaming of video and subtitles with MPEG-DASH
Live streaming of video and subtitles with MPEG-DASH
 
MPEG-4 BIFS Overview
MPEG-4 BIFS OverviewMPEG-4 BIFS Overview
MPEG-4 BIFS Overview
 
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio servicesMPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
MPEG-4 BIFS and MPEG-2 TS: Latest developments for digital radio services
 
Usages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesUsages of DASH for Rich Media Services
Usages of DASH for Rich Media Services
 
Adaptive Video and Metadata Display using Multimedia Documents
Adaptive Video and Metadata Display using Multimedia DocumentsAdaptive Video and Metadata Display using Multimedia Documents
Adaptive Video and Metadata Display using Multimedia Documents
 
Usages of DASH for Rich Media Services
Usages of DASH for Rich Media ServicesUsages of DASH for Rich Media Services
Usages of DASH for Rich Media Services
 
Electronic Program Guides using SVG
Electronic Program Guides using SVGElectronic Program Guides using SVG
Electronic Program Guides using SVG
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 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
 
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...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Carriage of timed subtitles and graphics in MP4

  • 1. Comments on carriage of timed text (and graphics) Cyril Concolato, Jean Le Feuvre M25978 July 2012, Stockholm, Sweden INSTITUT MINES-TÉLÉCOM
  • 2. Timed text has a long history … ■ So many formats • See http://wiki.videolan.org/Subtitles ■ MPEG has already looked at it, some time ago… • Analysis of the streaming text requirements, MPEG, Shanghai, China, October 2002, M8931 • Existing MPEG technologies: − Scene description streams (BIFS, LASeR) − MPEG-4 Part 17 ■ Now new formats (TTML, WebVTT, …) • Each format so far requires MPEG to standardize a new mechanism for its carriage • What will we do for the next formats (now or in 10 years) ? ■ MPEG should design future-proof technology for the carriage in ISOBMF of timed text !! 1 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 3. Not only of timed text but also of timed graphics ■ Proposed new use case • Frame-based synchronized graphics overlay on top of a video − Ex: Graphics and video derived from Kinect devices − Ex: Recordings of Augmented Reality applications − Ex: SVG-based cartoons à la Flash ■ Same requirements as “timed text” • Selecting a graphics track • Playing while keeping synchronization • Accessing randomly in the graphics stream • Enabling progressive download and streaming or adaptive streaming, • Positioning the track on top of the video … ■ Demo 2 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 4. Example of mis-synchronization 3 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 5. We need more generic requirements (1/2) ■ The ISOBMFF should be able to carry timed data, in a generic manner, for which the exact type or format can be identified. • Ex: to carry timed TTML, SVG, HTML, WebVTT... ■ The ISOBMFF should be able to carry samples of timed data composed of a main sample data referencing several individual pieces of data (sample resource), each of them carried efficiently, without requiring modifications to the main sample data. • Ex: Efficient carriage of JPEG images used by the timed text or graphics document 4 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 6. We need more generic requirements (2/2) ■ The ISOBMFF should be able store sample resources together with or separately of the main sample data, possibly using movie fragments. • Ex: Share a JPEG across samples ■ The ISOBMFF should enable the storage of timed data in a fragmented manner across samples, for progressive loading by the application consuming sample data. • Ex: if an XML progressive loader can be used, use it! 5 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 7. Technical elements towards a solution ■ Situation • MPEG has already almost all tools for timed text and graphics − Metadata tracks (part 12) − Scene description tracks (part 14) • Reuse as much existing tools • Adapting them if needed ■ 2 proposals • Generic Tool: Usage of ‘meta’ in movie fragments • Specific adaptations to carry timed text and/or graphics − Option 1: Usage of timed metadata samples − Option 2: Usage of ‘meta’ box as samples 6 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 8. „meta‟ in movie fragments ■ The „meta‟ box provides • Carriage of un-timed metadata • a useful mapping between a URL and the location of the metadata in the file (ItemInfoBox and ItemLocationBox) • Gives way to protect the metadata ■ Current situation • Fragmenting movie with ‘meta’, what happens? − Media data not allowed in initialization segments! • Why ‘meta’ not allowed in movie fragments? ■ Proposal • Allow at most one ‘meta’ box (and possibly one ‘meco’ box to be consistent with the rest of the specification) • At the ‘traf’ level (not at the ‘moof’ level) 7 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 9. Option 1: Usage of “timed metadata” samples to carry timed text and graphics ■ Track handler: „meta‟ ■ Sample entry: • XMLMetaDataSampleEntry if XML (TTML, SVG, …) • TextMetaDataSampleEntry if textual (WebVTT, HTML, …) • URIMetaSampleEntry if needed. ■ Sample • Use of given mime type or namespace to identify the content of the sample • Complete XML document or text chunks or binary content • Storage of secondary resources (eg. JPEG …) as items in a ‘meta’ box: − At ‘traf’ level, if fragmented − At the ‘trak’ level, at the ‘moov’ level, at the file level ■ Flatenning • Merge ‘meta’ • Or store ‘traf’-level meta boxes at the ‘trak’ level with ‘meco’ boxes − Use a new sampleGroup type to associate ‘meta’ to sample 8 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 10. Option 2: Usage of „meta‟ box as samples to carry timed text and graphics ■ Track handler: „metb‟ ■ Sample entry: • MetaBoxSampleEntry (merge of Text- and XMLMetadataSampleEntry) ■ Sample format • A ‘meta’ box with text, XML or graphics document stored as primary item • Storage of secondary resources (eg. JPEG …) as items in a ‘meta’ box: − This one, at the sample level (if any) − At ‘traf’ level, if fragmented − At the ‘trak’ level, at the ‘moof’ level, at the file level ■ Flatenning • As usual with audio, video, … 9 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 11. Important points ■ Sample mapping • Empty samples − Option 1: an « empty » sample is a zero-length string − Option 2: an « empty » sample is a meta box with an empty primary document • Overlapping samples − Use sample start time as CTS − Use delta CTS as duration (as usual) − Let the sample define « real » presentation duration and overlap − No « artificial » duplicate content ■ Simple processing • Import/export • Fragmentation/Un-fragmentation 10 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 12. Misc points: Current WD problems ■ « Time mapping » • What is needed? • What is the timeBase for TTML? • « adjacent time ranges » not defined in SMPTE? ■ Spatial registration • We agree with m25859: we want to be able to store a text/graphics track in a separate file from the video track • We agree to reuse 3GPP-style positioning ■ Unnecessary Restrictions • We agree with m25859: do not add restrictions to the ISOBMFF on timescale, … ■ Be careful not to restrict to complete XML documents only 11 7/19/2012 INSTITUT MINES-TÉLÉCOM
  • 13. Summary ■ Proposed one new use case: timed graphics ■ Reformulated requirements (more generic) ■ Proposed clarifications for „meta‟ box in movie fragments ■ Proposed 2 options based on existing tools to carry timed text or graphics ■ Comments about current WD Questions? 12 7/19/2012 INSTITUT MINES-TÉLÉCOM