Interactive Content Authoring for A153 ATSC Mobile Digital Television Employing Open Source Tools

Brad Fortner
Brad FortnerDeveloper and Owner, Convergence Communications
Interactive Content Authoring for A/153
ATSC Mobile Digital Television
Employing Open Source Tools
Brad Fortner – Ryerson University
bfortner@ryerson.ca
ATSC TechZone Pavilion
Booth # N4039
interactive content authoring?
Lack of books or
information on
subject that
provide
examples and
clarification.
evolution
ATSC M/H content group
Brad Fortner Tyler Pham Gregory Kon Steven James May
From Left To Right: Many Ayromlou, Victor Nguyen, Alireza
Tahmasbi, Raymond Padillo, Jeremy Littler
a decade later
a decade later- standards
A/153 part 5 set standards for the rich media environment for ATSC mobile dtv
a decade later- content
Steve Bratt W3C Technical Plenary 2003
"The Semantic Web: common framework that allows data to be shared and reused
across application, enterprise, and community boundaries."
a decade later- MPEG 4
MPEG-4 multimedia object based coding standard
Today: way more than a video compression format
H.264/MPEG-4 Part 10
a decade later- MPEG 4
MPEG-4 now 28 parts from which the principles of the
rich media environment for A/153 was derived
a decade later- learned?
=
Rich Media Application
Linked Data
Multimedia Objects
+
agenda
Could you
provide some
background?
• background
• the three parts to rich media delivery
• A/153’s rich media environment
• what and why multimedia object coding is important
• A/153’s “push in advance of consumption” content model
• multimedia scenes
• presentation format
• SVG Tiny 1.2
• ECMAScript
• packaging format
• DIMS and carousels
• open source software available for prototype development
• pitfalls and presentation takeaways
rich media delivery
Let’s do a
traffic app!
presentation
format
packaging
format
transportation
format
Rich Media
Content
Server(s)
Browser
with Rich
Media
Engine
Let’s do a
traffic app!
Browser
with Rich
Media
Engine
rich media environment
Let’s do a
traffic app!
presentation
format
packaging
format
transportation
format
Browser
with Rich
Media
Engine
SVG Tiny 1.2
ECMA Script
Dynamic
Interactive
Multimedia
Scenes (DIMS)
A/153
Let’s do a
traffic app!
Browser
with Rich
Media
Engine
Scene Stream Server
scenes in MPEG-4
Server A
Server B
How’s the Weather
App progressing?
Server C
primitive multimedia objects
How’s the
Weather App
progressing?
rendered scene on browser
Scene Stream Server
scenes in MPEG-4
Server A
Server B
How’s the Weather
App progressing?
Server C
primitive multimedia objects
How’s the
Weather App
progressing?
rendered scene on browserscene description
scene description MPEG-4
primitive multimedia objects
How’s the
Weather App
progressing?
rendered scene on browserscene description
Environmental
Objects
Office Desk Chair
Businessman
Objects
Businessman Speech Bubble
Fragment Fragment Fragment Fragment Fragment Fragment Fragment Fragment
Hierarchy
scene description MPEG-4
primitive multimedia objects
How’s the
Weather App
progressing?
rendered scene on browserscene description
• places (arranges) media objects on interface
• transforms media objects attributes to alter appearance
o scale, transparency, color, animation etc.
• provides timing between media objects and streamed data
• provides for user interactivity
• called (microDOM) uDOM in SVG Tiny 1.2
+ =
MPEG-4 object coding
primitive multimedia objects
How’s the
Weather App
progressing?
rendered scene on browserscene description
+ =
+ =
primitive multimedia objects rendered scene on browser
scene description
presentation
format
packaging
format
transportation
format
SVG Tiny 1.2
ECMA Script
Dynamic Interactive
Multimedia Scenes
(DIMS)
A/153
pushing multimedia objects
push content model
• return path not guaranteed in ATSC M/H
• return path
• device dependent
• network availability dependent
• forward, store, use content design model
• applications must be designed accordingly
“push content in advance of consumption model”
push content model
“push content in advance of consumption model”
• six “Multimedia Scenes” are used in the weather app
• they are transmitted all at one time
• a small number of SVG fragments can be reused over a number of scenes
• judicious use of SVG fragments reduce transmission requirements
push content model
“push content in advance of consumption model”
• ECMAScript is used to program the interactive buttons to switch between multimedia scenes
presentation format
So how does one
create these multimedia
objects?
SVG tiny 1.2
=
• XML-based file format used for describing two-dimensional vector graphics
• editable text
• human-readable, machine-readable
• can be searched, indexed, and scripted
raindrop object (fragment) markup in SVG Tiny 1.2
SVG tiny 1.2
But what about my
cute cat pictures?
JPEG and PNG
encoded to
base64
SVG tiny 1.2
3X size: above rendered at 1262 * 727 – originally designed for 416 * 240
• traffic object is originally a 293 * 220 bitmap
• does not scale with other SVG objects in scene
SVG tiny 1.2 scene creation
scene description
SVG simultaneously creates multimedia objects
and scene description as one authors content
SVG Link to raindrop
fragment
Raindrop fragment screen positioning and
sizing markup. This is used as
scene description.
SVG tiny 1.2 scene creation
SVG Tiny 1.2 rich
media application
displayed in Opera
browser
.svg
freely available software
Show Me
The Free!!!
• any text editor will edit SVG and XSLT
• integrated developer environment (IDE)
freely available software
Show Me
The Free!!!
• SVG vector graphics editors
“VISIO like” “Illustrator like”online
freely available software
Show Me
The Free!!!
• SVG vector graphics libraries
freely available software
SVG Tiny 1.2 rich media
application displayed in Opera
browser
inkscape svg object
text inside svg
markup
icon svg objects from
openclipart.org
objects chosen for display
on client using ECMA
script
weather from rss feed
inserted using XSLT
inkscape svg object
text inside svg
markup
event handler buttons are
ECMAScript functions
software used weather app
packaging format
Scene Stream
Server
scene
description
Server A
Server B
MPEG-4 Terminal
Server C
3GGP DIMS object packaging
Server A
Server B
Server C
Scene Stream
Server and
DIMS Packager
packaged
scene
description
and objects
highly constrained
network and
devices
open source DIMS software
What! Open
Source DIMS
software. WOW!
“as is”
open source DIMS software
Understood.
GPAC is useful
for prototypes.
• GPAC Project on Advanced Content
• implementation of the MPEG-4 systems standard
• written in ANSI C (cross platform)
• tools for media playback, vector graphics, MPEG-4 authoring and distribution
• consists of
o multimedia packager called MP4Box
o some server functions (experimental)
o multimedia player called Osmo4
• MP4Box
o generates 3GPP DIMS packaging from SVG files
• Osmo4
o displays SVG Tiny 1.2 scenes packaged in 3GPP DIMS files
3GGP DIMS carousel types
object
0
object
1
object
2
object
3
object
0
object
1
object
2
object
3
static carousel0
1
23
4
GPAC Experimental DIMS
Stream Server
• static carousel
• repeatedly sends scene description and objects
• repeats because devices tune in at different times
3GGP DIMS carousel types
• dynamic carousel
• sends updates to screen elements
0
1
23
4
GPAC Experimental DIMS
Stream Server
dynamic carousel (update)
object
0
object
1
object
2
object
3
object
4
object
0
object
1
object
2
object
3
object
4
object
5
object
5
changechangechange
GPAC DIMS static operation
object
0
object
1
object
2
object
3
object
0
object
1
object
2
object
3
static carousel0
1
23
4
GPAC Experimental DIMS
Stream Server
GPAC DIMS server command-line interface instructions are as follows
GPAC
Software
Packager
Destination
IP Address
Time
Between
Carousel
Sends
Initiates
DIMS
Packaging
Name Of File
To Be Packaged
And Sent
Streams
Scene
Live
GPAC OSMOS4 player
object
0
object
1
object
2
object
3
object
0
object
1
object
2
object
3
static carousel0
1
23
4
GPAC Experimental DIMS
Stream Server
GPAC OSMOS4 player command-line interface instructions are as follows
GPAC
OSMOS4
Player
Looks for Session
Description
Protocol from
DIMS server
GPAC dynamic updates
Primary Stream
GPAC Experimental DIMS
Stream Server
0
1
23
4
Primary Stream
GPAC Experimental DIMS
Stream Server
0
1
23
4
GPAC dynamic updates
Update Stream
Primary Stream
GPAC Experimental DIMS
Stream Server
0
1
23
4
GPAC dynamic updates
Update
Main Carousel0
1
23
4
GPAC Experimental DIMS
Stream Server
Linked Data ServerLinked Data Server
Update
GPAC dynamic updates
Update
Main Carousel0
1
23
4
GPAC Experimental DIMS
Stream Server
Linked Data ServerLinked Data Server
Update
GPAC dynamic updates
Linked Data Server
• Linux BASH shell script to collect linked data and write the update
file (doScript)
• BASH: wget --output-document=camera.jpg http://www.toronto.ca/trafficimages/loc9.jpg
• BASH/DIMS: a="<Replace ref="trafficImage" attributeName="xlink:href"
value="data:image/ jpeg;base64,"$(base64 camera.jpg)"" />"
• BASH: echo $a > updateFile.svg
Update Stream
Primary Stream
GPAC Experimental DIMS
Stream Server With BASH
Script, Update File, XSLT
Program and Traffic
Prototype SVG File
0
1
23
4
GPAC
Software
Packager
Destination
IP Address
Time
Between
Carousel
Sends
Initiates
DIMS
Packaging
Name Of File
To Be Packaged
And Sent
Name Of Update
File That GPAC
Watches
Streams
Scene
Live
GPAC dynamic operation
freely available software
Show Me
The Free!!!
Pitfalls – SVG tiny 1.2 viewer
GPAC OSMO4
Browser Render
(Packaged DIMS File)
OPERA
Browser Render
(SVG File)
Lack of a fully
implemented
freely available
SVG tiny 1.2
standard viewer
Update Stream
Primary Stream
GPAC Experimental DIMS
Stream Server With BASH
Script, Update File, XSLT
Program and Traffic
Prototype SVG File
0
1
23
4
GPAC – experimental nature
• dynamic carousel
• Prototype crashes when primary and update streams sent too
close together
takeaways - moving objects
presentation
format
packaging
format
transportation
format
SVG Tiny 1.2
ECMA Script
Dynamic Interactive
Multimedia Scenes
(DIMS)
A/153
takeaways - push
• return path not guaranteed in ATSC M/H
• return path
• device dependent
• network availability dependent
• forward, store, use content design model
• applications must be designed accordingly
“push content in advance of consumption model”
SVG simultaneously creates
multimedia objects and scene
description as one authors
content
Takeaways - SVG
takeaways - carousels
Primary Stream
GPAC Experimental DIMS
Stream Server
0
1
23
4
Update Stream
GPAC Experimental DIMS
Stream Server
0
1
23
4
free prototype software
more information
www.openmobiledtv.org
Brad Fortner – Ryerson University
bfortner@ryerson.ca
ATSC TechZone Pavilion
Booth # N4039
www.openmobiledtv.org
Ryerson University Booth
North Hall - #N524
International Research Park
1 of 58

Recommended

SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ... by
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...
SMPTE Toronto Presentation - Open-Source Software In Broadcasting: The Power ...Brad Fortner
1.4K views37 slides
SMPTE Toronto Presentation - IPTV and Social Media On The TV Industry by
SMPTE Toronto Presentation - IPTV and Social Media On The TV IndustrySMPTE Toronto Presentation - IPTV and Social Media On The TV Industry
SMPTE Toronto Presentation - IPTV and Social Media On The TV IndustryBrad Fortner
1.2K views57 slides
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger... by
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...
SMPTE Toronto Presentation - Multi Camera High Definition TV Studio and Roger...Brad Fortner
1K views43 slides
Helix Universal Server v15 by
Helix Universal Server v15Helix Universal Server v15
Helix Universal Server v15David J Smith
3.5K views29 slides
Internetix Video Kills by
Internetix Video KillsInternetix Video Kills
Internetix Video Killsdegrumpysmurf
325 views40 slides
Cvaa webinar 20120612 by
Cvaa webinar 20120612Cvaa webinar 20120612
Cvaa webinar 20120612Volicon
643 views21 slides

More Related Content

What's hot

Network protocol by
Network protocolNetwork protocol
Network protocolNon Hongthong
1.1K views18 slides
London Video Tech - Adventures in cutting every last millisecond from glass-t... by
London Video Tech - Adventures in cutting every last millisecond from glass-t...London Video Tech - Adventures in cutting every last millisecond from glass-t...
London Video Tech - Adventures in cutting every last millisecond from glass-t...Kieran Kunhya
427 views29 slides
FOSS in Broadcast by
FOSS in BroadcastFOSS in Broadcast
FOSS in BroadcastKieran Kunhya
997 views13 slides
Voice video different_platforms_v1 by
Voice video different_platforms_v1Voice video different_platforms_v1
Voice video different_platforms_v1Narasimham Settipalli
304 views21 slides
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API by
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIDevelop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIEnablex io
79 views22 slides
Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo... by
Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo...Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo...
Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo...Chris Adamson
832 views41 slides

What's hot(20)

London Video Tech - Adventures in cutting every last millisecond from glass-t... by Kieran Kunhya
London Video Tech - Adventures in cutting every last millisecond from glass-t...London Video Tech - Adventures in cutting every last millisecond from glass-t...
London Video Tech - Adventures in cutting every last millisecond from glass-t...
Kieran Kunhya427 views
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API by Enablex io
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIDevelop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
Enablex io79 views
Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo... by Chris Adamson
Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo...Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo...
Fall Premieres: Media Frameworks in iOS 11, macOS 10.13, and tvOS 11 (CocoaCo...
Chris Adamson832 views
Using IT Equipment in Live Broadcast by Kieran Kunhya
Using IT Equipment in Live BroadcastUsing IT Equipment in Live Broadcast
Using IT Equipment in Live Broadcast
Kieran Kunhya1.3K views
Don't just go IP - Go IT by Kieran Kunhya
Don't just go IP - Go ITDon't just go IP - Go IT
Don't just go IP - Go IT
Kieran Kunhya277 views
Native IP Decoding MPEG-TS Video to Uncompressed IP (and Vice versa) on COTS ... by Kieran Kunhya
Native IP Decoding MPEG-TS Video to Uncompressed IP (and Vice versa) on COTS ...Native IP Decoding MPEG-TS Video to Uncompressed IP (and Vice versa) on COTS ...
Native IP Decoding MPEG-TS Video to Uncompressed IP (and Vice versa) on COTS ...
Kieran Kunhya417 views
Digitizing and Delivering Audio and Video by Jenn Riley
Digitizing and Delivering Audio and VideoDigitizing and Delivering Audio and Video
Digitizing and Delivering Audio and Video
Jenn Riley3.9K views
iDiff 2008 conference #01 IP-Racine : Cinema production infrastructure on 10G... by Benoit Michel
iDiff 2008 conference #01 IP-Racine : Cinema production infrastructure on 10G...iDiff 2008 conference #01 IP-Racine : Cinema production infrastructure on 10G...
iDiff 2008 conference #01 IP-Racine : Cinema production infrastructure on 10G...
Benoit Michel868 views
Implementing Uncompressed over IP in software and the pitfalls by Kieran Kunhya
Implementing Uncompressed over IP in software and the pitfallsImplementing Uncompressed over IP in software and the pitfalls
Implementing Uncompressed over IP in software and the pitfalls
Kieran Kunhya860 views
VoIP (Voice over Internet Protocol) by Abdullah Shah
VoIP (Voice over Internet Protocol)VoIP (Voice over Internet Protocol)
VoIP (Voice over Internet Protocol)
Abdullah Shah163 views
Audio and Video streaming.ppt by Videoguy
Audio and Video streaming.pptAudio and Video streaming.ppt
Audio and Video streaming.ppt
Videoguy9K views
VoIP - Technology To Business Models by guesta5f2fb
VoIP - Technology To Business ModelsVoIP - Technology To Business Models
VoIP - Technology To Business Models
guesta5f2fb3.9K views
Delivering Great WebRTC on Mobile Devices by Weemo, Inc.
Delivering Great WebRTC on Mobile DevicesDelivering Great WebRTC on Mobile Devices
Delivering Great WebRTC on Mobile Devices
Weemo, Inc.1.4K views
The Cocooning Project and the Familibrary Services - B Peigne by mfrancis
The Cocooning Project and the Familibrary Services - B PeigneThe Cocooning Project and the Familibrary Services - B Peigne
The Cocooning Project and the Familibrary Services - B Peigne
mfrancis532 views

Similar to Interactive Content Authoring for A153 ATSC Mobile Digital Television Employing Open Source Tools

Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ... by
Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ...Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ...
Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ...Ryerson University
335 views58 slides
Augmented Reality: Connecting physical and digital worlds by
Augmented Reality: Connecting physical and digital worldsAugmented Reality: Connecting physical and digital worlds
Augmented Reality: Connecting physical and digital worldsMarius Preda PhD
888 views46 slides
3DgraphicsAndAR by
3DgraphicsAndAR3DgraphicsAndAR
3DgraphicsAndARMarius Preda PhD
1K views42 slides
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin... by
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...Ryo Jin
1.8K views39 slides
AWS Sydney Summit 2013 - Scalable Media Processing on the Cloud by
AWS Sydney Summit 2013 - Scalable Media Processing on the CloudAWS Sydney Summit 2013 - Scalable Media Processing on the Cloud
AWS Sydney Summit 2013 - Scalable Media Processing on the CloudAmazon Web Services
2K views42 slides
CAVE/RC-to-street by
CAVE/RC-to-street CAVE/RC-to-street
CAVE/RC-to-street Videoguy
281 views22 slides

Similar to Interactive Content Authoring for A153 ATSC Mobile Digital Television Employing Open Source Tools(20)

Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ... by Ryerson University
Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ...Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ...
Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employ...
Ryerson University335 views
Augmented Reality: Connecting physical and digital worlds by Marius Preda PhD
Augmented Reality: Connecting physical and digital worldsAugmented Reality: Connecting physical and digital worlds
Augmented Reality: Connecting physical and digital worlds
Marius Preda PhD888 views
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin... by Ryo Jin
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
Ryo Jin1.8K views
AWS Sydney Summit 2013 - Scalable Media Processing on the Cloud by Amazon Web Services
AWS Sydney Summit 2013 - Scalable Media Processing on the CloudAWS Sydney Summit 2013 - Scalable Media Processing on the Cloud
AWS Sydney Summit 2013 - Scalable Media Processing on the Cloud
CAVE/RC-to-street by Videoguy
CAVE/RC-to-street CAVE/RC-to-street
CAVE/RC-to-street
Videoguy281 views
Supporting Digital Media Workflows in the Cloud with Perforce Helix by Perforce
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Perforce466 views
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S... by Gina Montgomery, V-TSP
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
Unleash the Power of Video Communication - Office 365 Video vs. Azure Media S...
HTML5 Programming by hotrannam
HTML5 ProgrammingHTML5 Programming
HTML5 Programming
hotrannam799 views
Maya Pipeline Code Samples by Arnon Marcus
Maya Pipeline Code SamplesMaya Pipeline Code Samples
Maya Pipeline Code Samples
Arnon Marcus773 views
AWS Summit 2013 | Auckland - Scalable Media Processing on the Cloud by Amazon Web Services
AWS Summit 2013 | Auckland - Scalable Media Processing on the CloudAWS Summit 2013 | Auckland - Scalable Media Processing on the Cloud
AWS Summit 2013 | Auckland - Scalable Media Processing on the Cloud
HTML5 Introduction by dynamis
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
dynamis 4.1K views
ShowNTell: An easy-to-use tool for answering students’ questions with voice-o... by Anand Bhojan
ShowNTell: An easy-to-use tool for answering students’ questions with voice-o...ShowNTell: An easy-to-use tool for answering students’ questions with voice-o...
ShowNTell: An easy-to-use tool for answering students’ questions with voice-o...
Anand Bhojan892 views
Web Architecture and Technologies by Fulvio Corno
Web Architecture and TechnologiesWeb Architecture and Technologies
Web Architecture and Technologies
Fulvio Corno3.5K views

Recently uploaded

Design_Discover_Develop_Campaign.pptx by
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptxShivanshSeth6
37 views20 slides
Generative AI Models & Their Applications by
Generative AI Models & Their ApplicationsGenerative AI Models & Their Applications
Generative AI Models & Their ApplicationsSN
10 views1 slide
MongoDB.pdf by
MongoDB.pdfMongoDB.pdf
MongoDB.pdfArthyR3
45 views6 slides
MSA Website Slideshow (16).pdf by
MSA Website Slideshow (16).pdfMSA Website Slideshow (16).pdf
MSA Website Slideshow (16).pdfmsaucla
92 views8 slides
START Newsletter 3 by
START Newsletter 3START Newsletter 3
START Newsletter 3Start Project
6 views25 slides
MK__Cert.pdf by
MK__Cert.pdfMK__Cert.pdf
MK__Cert.pdfHassan Khan
15 views1 slide

Recently uploaded(20)

Design_Discover_Develop_Campaign.pptx by ShivanshSeth6
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptx
ShivanshSeth637 views
Generative AI Models & Their Applications by SN
Generative AI Models & Their ApplicationsGenerative AI Models & Their Applications
Generative AI Models & Their Applications
SN10 views
MongoDB.pdf by ArthyR3
MongoDB.pdfMongoDB.pdf
MongoDB.pdf
ArthyR345 views
MSA Website Slideshow (16).pdf by msaucla
MSA Website Slideshow (16).pdfMSA Website Slideshow (16).pdf
MSA Website Slideshow (16).pdf
msaucla92 views
Ansari: Practical experiences with an LLM-based Islamic Assistant by M Waleed Kadous
Ansari: Practical experiences with an LLM-based Islamic AssistantAnsari: Practical experiences with an LLM-based Islamic Assistant
Ansari: Practical experiences with an LLM-based Islamic Assistant
M Waleed Kadous5 views
Update 42 models(Diode/General ) in SPICE PARK(DEC2023) by Tsuyoshi Horigome
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Design of machine elements-UNIT 3.pptx by gopinathcreddy
Design of machine elements-UNIT 3.pptxDesign of machine elements-UNIT 3.pptx
Design of machine elements-UNIT 3.pptx
gopinathcreddy33 views
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth by Innomantra
BCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for GrowthBCIC - Manufacturing Conclave -  Technology-Driven Manufacturing for Growth
BCIC - Manufacturing Conclave - Technology-Driven Manufacturing for Growth
Innomantra 6 views
DevOps-ITverse-2023-IIT-DU.pptx by Anowar Hossain
DevOps-ITverse-2023-IIT-DU.pptxDevOps-ITverse-2023-IIT-DU.pptx
DevOps-ITverse-2023-IIT-DU.pptx
Anowar Hossain12 views
Searching in Data Structure by raghavbirla63
Searching in Data StructureSearching in Data Structure
Searching in Data Structure
raghavbirla6314 views
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx by lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang78109 views

Interactive Content Authoring for A153 ATSC Mobile Digital Television Employing Open Source Tools

  • 1. Interactive Content Authoring for A/153 ATSC Mobile Digital Television Employing Open Source Tools Brad Fortner – Ryerson University bfortner@ryerson.ca ATSC TechZone Pavilion Booth # N4039
  • 2. interactive content authoring? Lack of books or information on subject that provide examples and clarification.
  • 4. ATSC M/H content group Brad Fortner Tyler Pham Gregory Kon Steven James May From Left To Right: Many Ayromlou, Victor Nguyen, Alireza Tahmasbi, Raymond Padillo, Jeremy Littler
  • 6. a decade later- standards A/153 part 5 set standards for the rich media environment for ATSC mobile dtv
  • 7. a decade later- content Steve Bratt W3C Technical Plenary 2003 "The Semantic Web: common framework that allows data to be shared and reused across application, enterprise, and community boundaries."
  • 8. a decade later- MPEG 4 MPEG-4 multimedia object based coding standard Today: way more than a video compression format H.264/MPEG-4 Part 10
  • 9. a decade later- MPEG 4 MPEG-4 now 28 parts from which the principles of the rich media environment for A/153 was derived
  • 10. a decade later- learned? = Rich Media Application Linked Data Multimedia Objects +
  • 11. agenda Could you provide some background? • background • the three parts to rich media delivery • A/153’s rich media environment • what and why multimedia object coding is important • A/153’s “push in advance of consumption” content model • multimedia scenes • presentation format • SVG Tiny 1.2 • ECMAScript • packaging format • DIMS and carousels • open source software available for prototype development • pitfalls and presentation takeaways
  • 12. rich media delivery Let’s do a traffic app! presentation format packaging format transportation format Rich Media Content Server(s) Browser with Rich Media Engine Let’s do a traffic app! Browser with Rich Media Engine
  • 13. rich media environment Let’s do a traffic app! presentation format packaging format transportation format Browser with Rich Media Engine SVG Tiny 1.2 ECMA Script Dynamic Interactive Multimedia Scenes (DIMS) A/153 Let’s do a traffic app! Browser with Rich Media Engine
  • 14. Scene Stream Server scenes in MPEG-4 Server A Server B How’s the Weather App progressing? Server C primitive multimedia objects How’s the Weather App progressing? rendered scene on browser
  • 15. Scene Stream Server scenes in MPEG-4 Server A Server B How’s the Weather App progressing? Server C primitive multimedia objects How’s the Weather App progressing? rendered scene on browserscene description
  • 16. scene description MPEG-4 primitive multimedia objects How’s the Weather App progressing? rendered scene on browserscene description Environmental Objects Office Desk Chair Businessman Objects Businessman Speech Bubble Fragment Fragment Fragment Fragment Fragment Fragment Fragment Fragment Hierarchy
  • 17. scene description MPEG-4 primitive multimedia objects How’s the Weather App progressing? rendered scene on browserscene description • places (arranges) media objects on interface • transforms media objects attributes to alter appearance o scale, transparency, color, animation etc. • provides timing between media objects and streamed data • provides for user interactivity • called (microDOM) uDOM in SVG Tiny 1.2 + =
  • 18. MPEG-4 object coding primitive multimedia objects How’s the Weather App progressing? rendered scene on browserscene description + = + = primitive multimedia objects rendered scene on browser scene description
  • 19. presentation format packaging format transportation format SVG Tiny 1.2 ECMA Script Dynamic Interactive Multimedia Scenes (DIMS) A/153 pushing multimedia objects
  • 20. push content model • return path not guaranteed in ATSC M/H • return path • device dependent • network availability dependent • forward, store, use content design model • applications must be designed accordingly “push content in advance of consumption model”
  • 21. push content model “push content in advance of consumption model” • six “Multimedia Scenes” are used in the weather app • they are transmitted all at one time • a small number of SVG fragments can be reused over a number of scenes • judicious use of SVG fragments reduce transmission requirements
  • 22. push content model “push content in advance of consumption model” • ECMAScript is used to program the interactive buttons to switch between multimedia scenes
  • 23. presentation format So how does one create these multimedia objects?
  • 24. SVG tiny 1.2 = • XML-based file format used for describing two-dimensional vector graphics • editable text • human-readable, machine-readable • can be searched, indexed, and scripted raindrop object (fragment) markup in SVG Tiny 1.2
  • 25. SVG tiny 1.2 But what about my cute cat pictures? JPEG and PNG encoded to base64
  • 26. SVG tiny 1.2 3X size: above rendered at 1262 * 727 – originally designed for 416 * 240 • traffic object is originally a 293 * 220 bitmap • does not scale with other SVG objects in scene
  • 27. SVG tiny 1.2 scene creation
  • 28. scene description SVG simultaneously creates multimedia objects and scene description as one authors content SVG Link to raindrop fragment Raindrop fragment screen positioning and sizing markup. This is used as scene description.
  • 29. SVG tiny 1.2 scene creation SVG Tiny 1.2 rich media application displayed in Opera browser .svg
  • 30. freely available software Show Me The Free!!! • any text editor will edit SVG and XSLT • integrated developer environment (IDE)
  • 31. freely available software Show Me The Free!!! • SVG vector graphics editors “VISIO like” “Illustrator like”online
  • 32. freely available software Show Me The Free!!! • SVG vector graphics libraries
  • 33. freely available software SVG Tiny 1.2 rich media application displayed in Opera browser inkscape svg object text inside svg markup icon svg objects from openclipart.org objects chosen for display on client using ECMA script weather from rss feed inserted using XSLT inkscape svg object text inside svg markup event handler buttons are ECMAScript functions
  • 36. 3GGP DIMS object packaging Server A Server B Server C Scene Stream Server and DIMS Packager packaged scene description and objects highly constrained network and devices
  • 37. open source DIMS software What! Open Source DIMS software. WOW! “as is”
  • 38. open source DIMS software Understood. GPAC is useful for prototypes. • GPAC Project on Advanced Content • implementation of the MPEG-4 systems standard • written in ANSI C (cross platform) • tools for media playback, vector graphics, MPEG-4 authoring and distribution • consists of o multimedia packager called MP4Box o some server functions (experimental) o multimedia player called Osmo4 • MP4Box o generates 3GPP DIMS packaging from SVG files • Osmo4 o displays SVG Tiny 1.2 scenes packaged in 3GPP DIMS files
  • 39. 3GGP DIMS carousel types object 0 object 1 object 2 object 3 object 0 object 1 object 2 object 3 static carousel0 1 23 4 GPAC Experimental DIMS Stream Server • static carousel • repeatedly sends scene description and objects • repeats because devices tune in at different times
  • 40. 3GGP DIMS carousel types • dynamic carousel • sends updates to screen elements 0 1 23 4 GPAC Experimental DIMS Stream Server dynamic carousel (update) object 0 object 1 object 2 object 3 object 4 object 0 object 1 object 2 object 3 object 4 object 5 object 5 changechangechange
  • 41. GPAC DIMS static operation object 0 object 1 object 2 object 3 object 0 object 1 object 2 object 3 static carousel0 1 23 4 GPAC Experimental DIMS Stream Server GPAC DIMS server command-line interface instructions are as follows GPAC Software Packager Destination IP Address Time Between Carousel Sends Initiates DIMS Packaging Name Of File To Be Packaged And Sent Streams Scene Live
  • 42. GPAC OSMOS4 player object 0 object 1 object 2 object 3 object 0 object 1 object 2 object 3 static carousel0 1 23 4 GPAC Experimental DIMS Stream Server GPAC OSMOS4 player command-line interface instructions are as follows GPAC OSMOS4 Player Looks for Session Description Protocol from DIMS server
  • 43. GPAC dynamic updates Primary Stream GPAC Experimental DIMS Stream Server 0 1 23 4
  • 44. Primary Stream GPAC Experimental DIMS Stream Server 0 1 23 4 GPAC dynamic updates Update Stream Primary Stream GPAC Experimental DIMS Stream Server 0 1 23 4
  • 45. GPAC dynamic updates Update Main Carousel0 1 23 4 GPAC Experimental DIMS Stream Server Linked Data ServerLinked Data Server Update
  • 46. GPAC dynamic updates Update Main Carousel0 1 23 4 GPAC Experimental DIMS Stream Server Linked Data ServerLinked Data Server Update
  • 47. GPAC dynamic updates Linked Data Server • Linux BASH shell script to collect linked data and write the update file (doScript) • BASH: wget --output-document=camera.jpg http://www.toronto.ca/trafficimages/loc9.jpg • BASH/DIMS: a="<Replace ref="trafficImage" attributeName="xlink:href" value="data:image/ jpeg;base64,"$(base64 camera.jpg)"" />" • BASH: echo $a > updateFile.svg
  • 48. Update Stream Primary Stream GPAC Experimental DIMS Stream Server With BASH Script, Update File, XSLT Program and Traffic Prototype SVG File 0 1 23 4 GPAC Software Packager Destination IP Address Time Between Carousel Sends Initiates DIMS Packaging Name Of File To Be Packaged And Sent Name Of Update File That GPAC Watches Streams Scene Live GPAC dynamic operation
  • 50. Pitfalls – SVG tiny 1.2 viewer GPAC OSMO4 Browser Render (Packaged DIMS File) OPERA Browser Render (SVG File) Lack of a fully implemented freely available SVG tiny 1.2 standard viewer
  • 51. Update Stream Primary Stream GPAC Experimental DIMS Stream Server With BASH Script, Update File, XSLT Program and Traffic Prototype SVG File 0 1 23 4 GPAC – experimental nature • dynamic carousel • Prototype crashes when primary and update streams sent too close together
  • 52. takeaways - moving objects presentation format packaging format transportation format SVG Tiny 1.2 ECMA Script Dynamic Interactive Multimedia Scenes (DIMS) A/153
  • 53. takeaways - push • return path not guaranteed in ATSC M/H • return path • device dependent • network availability dependent • forward, store, use content design model • applications must be designed accordingly “push content in advance of consumption model”
  • 54. SVG simultaneously creates multimedia objects and scene description as one authors content Takeaways - SVG
  • 55. takeaways - carousels Primary Stream GPAC Experimental DIMS Stream Server 0 1 23 4 Update Stream GPAC Experimental DIMS Stream Server 0 1 23 4
  • 58. Brad Fortner – Ryerson University bfortner@ryerson.ca ATSC TechZone Pavilion Booth # N4039 www.openmobiledtv.org Ryerson University Booth North Hall - #N524 International Research Park