SlideShare a Scribd company logo
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

More Related Content

What's hot

Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)
Scott Mansfield
 
Setup & Operate Tungsten Replicator
Setup & Operate Tungsten ReplicatorSetup & Operate Tungsten Replicator
Setup & Operate Tungsten Replicator
Continuent
 
EVCache & Moneta (GoSF)
EVCache & Moneta (GoSF)EVCache & Moneta (GoSF)
EVCache & Moneta (GoSF)
Scott Mansfield
 
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...
Rei Odaira
 
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)
Derek Buitenhuis
 
How to video.
How to video.How to video.
How to video.
Cotap Engineering
 
Research on Audio and Video Streaming
Research on Audio and Video StreamingResearch on Audio and Video Streaming
Research on Audio and Video Streaming
Nyros Technologies
 
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 ...
Continuent
 
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
 
High perf-networking
High perf-networkingHigh perf-networking
High perf-networking
mtimjones
 
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
Himanshi Kathuria
 
gcma: guaranteed contiguous memory allocator
gcma:  guaranteed contiguous memory allocatorgcma:  guaranteed contiguous memory allocator
gcma: guaranteed contiguous memory allocator
SeongJae Park
 
Introduction to OpenMP
Introduction to OpenMPIntroduction to OpenMP
Introduction to OpenMP
Akhila Prabhakaran
 
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...
Databricks
 
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
 
Introduction to MPI
Introduction to MPIIntroduction to MPI
Introduction to MPI
Akhila Prabhakaran
 
Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)Introduction to OpenMP (Performance)
Introduction to OpenMP (Performance)
Akhila Prabhakaran
 
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
RabbitMQ Summit
 

What's hot (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
 

Similar to Carriage of timed subtitles and graphics in MP4

PERICLES Information Embedding Techniques
PERICLES Information Embedding TechniquesPERICLES Information Embedding Techniques
PERICLES Information Embedding Techniques
PERICLES_FP7
 
An Introduction to OMNeT++ 5.4
An Introduction to OMNeT++ 5.4An Introduction to OMNeT++ 5.4
An Introduction to OMNeT++ 5.4
Alpen-Adria-Universität
 
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
Anne Nicolas
 
Aca2 09 new
Aca2 09 newAca2 09 new
Aca2 09 new
Sumit Mittu
 
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
 
TemporalEMF: A Temporal Metamodeling Framework
TemporalEMF: A Temporal Metamodeling FrameworkTemporalEMF: A Temporal Metamodeling Framework
TemporalEMF: A Temporal Metamodeling Framework
abgolla
 
Introducing Parallel Pixie Dust
Introducing Parallel Pixie DustIntroducing Parallel Pixie Dust
Introducing Parallel Pixie Dust
Jason Hearne-McGuiness
 
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
 
Freckle
FreckleFreckle
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
aminnezarat
 
Database layer in php
Database layer in phpDatabase layer in php
Database layer in phpd3p3d
 
An Introduction to OMNeT++ 5.1
An Introduction to OMNeT++ 5.1An Introduction to OMNeT++ 5.1
An Introduction to OMNeT++ 5.1
Alpen-Adria-Universität
 
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
Marie Josée (MJ) Drouin
 
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
 
Pune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCDPune-Cocoa: Blocks and GCD
Pune-Cocoa: Blocks and GCD
Prashant Rane
 
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 ...
ICSM 2011
 
Modelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic MapsModelling IMS QTI with Topic Maps
Modelling IMS QTI with Topic Maps
tmra
 
An Introduction to OMNeT++ 6.0
An Introduction to OMNeT++ 6.0An Introduction to OMNeT++ 6.0
An Introduction to OMNeT++ 6.0
Alpen-Adria-Universität
 

Similar to 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
 

More from Cyril Concolato

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
Cyril Concolato
 
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
Cyril Concolato
 
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
Cyril Concolato
 
GPAC Team Research Highlights
GPAC Team Research HighlightsGPAC Team Research Highlights
GPAC Team Research Highlights
Cyril Concolato
 
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
Cyril Concolato
 
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
Cyril Concolato
 
MPEG-4 BIFS Overview
MPEG-4 BIFS OverviewMPEG-4 BIFS Overview
MPEG-4 BIFS Overview
Cyril Concolato
 
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
Cyril Concolato
 
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
Cyril Concolato
 
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
Cyril Concolato
 
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
Cyril Concolato
 
Electronic Program Guides using SVG
Electronic Program Guides using SVGElectronic Program Guides using SVG
Electronic Program Guides using SVG
Cyril Concolato
 

More from 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
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

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