A Declarative Approach to BroadCast TV Jean-Charles Verdi Senior - - PowerPoint PPT Presentation

a declarative approach to broadcast tv
SMART_READER_LITE
LIVE PREVIEW

A Declarative Approach to BroadCast TV Jean-Charles Verdi Senior - - PowerPoint PPT Presentation

A Declarative Approach to BroadCast TV Jean-Charles Verdi Senior Director Connected Technologies MStar Semiconductor, Inc. Connected Labs Identifying value Connected Labs Connected Labs Identifying value More and more web-based


slide-1
SLIDE 1

Connected Labs

A Declarative Approach to BroadCast TV

Jean-Charles Verdié Senior Director Connected Technologies MStar Semiconductor, Inc.

slide-2
SLIDE 2

Connected Labs Connected Labs

Identifying value

slide-3
SLIDE 3

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
slide-4
SLIDE 4

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
  • Most if not all assume web browser seats on top of a full fledged

middleware and interact with javascript bindings and specific objects

slide-5
SLIDE 5

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
  • Most if not all assume web browser seats on top of a full fledged

middleware and interact with javascript bindings and specific objects

slide-6
SLIDE 6

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
  • Most if not all assume web browser seats on top of a full fledged

middleware and interact with javascript bindings and specific objects

  • Presentation engine become procedural-driven
slide-7
SLIDE 7

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
  • Most if not all assume web browser seats on top of a full fledged

middleware and interact with javascript bindings and specific objects

  • Presentation engine become procedural-driven

... To handle a declarative list of channels

slide-8
SLIDE 8

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
  • Most if not all assume web browser seats on top of a full fledged

middleware and interact with javascript bindings and specific objects

  • Presentation engine become procedural-driven

... To handle a declarative list of channels

slide-9
SLIDE 9

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
  • Most if not all assume web browser seats on top of a full fledged

middleware and interact with javascript bindings and specific objects

  • Presentation engine become procedural-driven

... To handle a declarative list of channels

  • More programmatic effort to achieve on the web application side
slide-10
SLIDE 10

Connected Labs Connected Labs

Identifying value

  • More and more web-based technologies for UI and OTT
  • Most if not all assume web browser seats on top of a full fledged

middleware and interact with javascript bindings and specific objects

  • Presentation engine become procedural-driven

... To handle a declarative list of channels

  • More programmatic effort to achieve on the web application side
  • Increase communication & binding constraints between JavaScript
  • bject / plugin and middleware
slide-11
SLIDE 11

Connected Labs

We won’t talk about

slide-12
SLIDE 12

Connected Labs

We won’t talk about

  • How to trigger a tune or scan from web apps
slide-13
SLIDE 13

Connected Labs

We won’t talk about

  • How to trigger a tune or scan from web apps
  • OIPF (and others) address this
slide-14
SLIDE 14

Connected Labs

We won’t talk about

  • How to trigger a tune or scan from web apps
  • OIPF (and others) address this
  • How to handle TV control (hue, brightness, ...)
slide-15
SLIDE 15

Connected Labs

We won’t talk about

  • How to trigger a tune or scan from web apps
  • OIPF (and others) address this
  • How to handle TV control (hue, brightness, ...)
  • How to handle DRM, CA, CI+,...
slide-16
SLIDE 16

Connected Labs

We’ll talk about

slide-17
SLIDE 17

Connected Labs

We’ll talk about

  • How Channel list is handled by the industry right now
slide-18
SLIDE 18

Connected Labs

We’ll talk about

  • How Channel list is handled by the industry right now
  • Javascript interaction with some database which has been populated by

the middleware

slide-19
SLIDE 19

Connected Labs

We’ll talk about

  • How Channel list is handled by the industry right now
  • Javascript interaction with some database which has been populated by

the middleware

  • Updates & Controls are quite a mess, require some event handling on both

sides

slide-20
SLIDE 20

Connected Labs

We’ll talk about

  • How Channel list is handled by the industry right now
  • Javascript interaction with some database which has been populated by

the middleware

  • Updates & Controls are quite a mess, require some event handling on both

sides

  • Wait...
slide-21
SLIDE 21

Connected Labs

We’ll talk about

  • How Channel list is handled by the industry right now
  • Javascript interaction with some database which has been populated by

the middleware

  • Updates & Controls are quite a mess, require some event handling on both

sides

  • Wait...
  • Isn’t XML aimed to store such information?
slide-22
SLIDE 22

Connected Labs

Our proposal

slide-23
SLIDE 23

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
slide-24
SLIDE 24

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
slide-25
SLIDE 25

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
  • How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

slide-26
SLIDE 26

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
  • How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

  • Allow DOM-Level interaction with these objects, such as:
slide-27
SLIDE 27

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
  • How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

  • Allow DOM-Level interaction with these objects, such as:
  • Next/previous program
slide-28
SLIDE 28

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
  • How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

  • Allow DOM-Level interaction with these objects, such as:
  • Next/previous program
  • favorite management
slide-29
SLIDE 29

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
  • How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

  • Allow DOM-Level interaction with these objects, such as:
  • Next/previous program
  • favorite management
  • EPG access
slide-30
SLIDE 30

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
  • How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

  • Allow DOM-Level interaction with these objects, such as:
  • Next/previous program
  • favorite management
  • EPG access
slide-31
SLIDE 31

Connected Labs

Our proposal

  • Decouple data storage and access from its construction and processing
  • Introduce the XML «channel» content
  • How to operate DVB-triplet (or equivalent) and interact with it rather

than just exposing a database-backed object with Javascript API binding

  • Allow DOM-Level interaction with these objects, such as:
  • Next/previous program
  • favorite management
  • EPG access
  • Create an obvious and ubiquitous way to integrate data from heterogeneous

sources such as DVB, ATSC, IP & others, handling all of them under the same paradigm.

slide-32
SLIDE 32

Connected Labs

What it could look like

slide-33
SLIDE 33

Connected Labs

Name spaces declaration

Engine parsers should understand that type of page as an informational page for tv <?xml version="1.0"?> <webtv xmlns='http://www.w3.org/2011/webtv' xmlns:dvb='http://www.w3.org/2011/webtvdvb' xmlns:iptv='http://www.w3.org/2011/webtviptv'> </webtv>

slide-34
SLIDE 34

Connected Labs

An hard-coded example of channels*

<html xmlns='http://www.w3.org/2011/webtv' xmlns:dvb='http://www.w3.org/2011/webtvdvb' xmlns:iptv='http://www.w3.org/2011/webtviptv'> <body> <webtv> <dvb:channel id='chann1'> <name>ABC</name> <dvb:source>onid,pid,sid</dvb:source> <dvb:ait> <application>http://wwww.appToLaunch.com </application> <state>signalled</state> </dvb:ait> </dvb:channel> <iptv:virtualChannel id='chann2'> <name>ZDF</name> <iptv:channel id=‘chann2hd’> <iptv:source>http://www.zdf.com/streamingSD/video.m3u</iptv:source> </iptv:channel> <iptv:channel id=‘chann2sd’> <iptv:source>http://www.zdf.com/streamingSD/video.m3u</iptv:source> </iptv:channel> </iptv:virtualChannel> </webtv> </body> </html> * don’t do that

slide-35
SLIDE 35

Connected Labs

An hard-coded example of channels*

* don’t do that

<dvb:channel id='chann1'> <name>ABC</name> <dvb:source>onid,pid,sid</dvb:source> <dvb:ait> <application>http://wwww.appToLaunch.com </application> <state>signalled</state> </dvb:ait> </dvb:channel> <iptv:virtualChannel id='chann2'> <name>ZDF</name> <iptv:channel id=‘chann2hd’> <iptv:source>http://.../streamingSD/video.m3u</iptv:source> </iptv:channel> <iptv:channel id=‘chann2sd’> <iptv:source>http://.../streamingSD/video.m3u</iptv:source> </iptv:channel> </iptv:virtualChannel>

slide-36
SLIDE 36

Connected Labs

WebTV Object

slide-37
SLIDE 37

Connected Labs

WebTV Object

  • Of course, in real life, WebTV object is not hard coded
slide-38
SLIDE 38

Connected Labs

WebTV Object

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
slide-39
SLIDE 39

Connected Labs

WebTV Object

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
slide-40
SLIDE 40

Connected Labs

WebTV Object

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

slide-41
SLIDE 41

Connected Labs

WebTV Object

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

  • Control & integration is just about manipulation of a DOM object
slide-42
SLIDE 42

Connected Labs

WebTV Object

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

  • Control & integration is just about manipulation of a DOM object
  • JSON for deeper control
slide-43
SLIDE 43

Connected Labs

WebTV Object

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

  • Control & integration is just about manipulation of a DOM object
  • JSON for deeper control
  • And smart people will extend it where they see fit
slide-44
SLIDE 44

Connected Labs

How to play

<html xmlns='http://www.w3.org/2011/webtv' xmlns:dvb='http://www.w3.org/2011/webtvdvb' xmlns:iptv='http://www.w3.org/2011/webtviptv'> <body> <div class="video"> <video> <source="#WebTVObject" type="video/x-webtv"> <div class="panel"></div> </video> </div> </body> </html>

slide-45
SLIDE 45

Connected Labs

Example of a LCN/Virtual Channel

<video><source="#WebTVObject" type="video/x-webtv"> <track kind="broadcast_hd" src="chann1HD"> <track kind="broadcast_sd" src="chann1SD"> <track kind="subtitles" src="chann1subtitle"> <div class="panel"></div> </video>

slide-46
SLIDE 46

Connected Labs

Video object

Attribute Description in our specific case *channelTuning

  • nid, pid, sid triplet or equivalent

*aitTable AIT Table information (DVB specific) *EPGInformationObject In case an EPG data has been linked with the dvb:channel object, or with an higher level, it will also be made available to the panel class for display & processing purpose *eitObject Object including informations retrieved from the eit (DVB specific)

slide-47
SLIDE 47

Connected Labs

Attribute Description in our specific case readyState yes or no seeking N/A if channel is viewed live (it could be used in PVR mode, still to be determined) currentTime startTime N/A (PVR) duration paused N/A (PVR)

Video object

slide-48
SLIDE 48

Connected Labs

Attribute Description in our specific case defaultPlaybackRate N/A (PVR) playbackRate N/A (PVR) TimeRange played TimeRange seekable ended N/A

Video object

slide-49
SLIDE 49

Connected Labs

Attribute Description in our specific case autoplay true loop N/A play N/A (PVR) pause N/A (PVR) controls enhanced panel with specific channel managements controls (program +/-, …) volume muted

Video object

slide-50
SLIDE 50

Connected Labs

Conclusion

slide-51
SLIDE 51

Connected Labs

Conclusion

  • Of course, in real life, WebTV object is not hard coded
slide-52
SLIDE 52

Connected Labs

Conclusion

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
slide-53
SLIDE 53

Connected Labs

Conclusion

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
slide-54
SLIDE 54

Connected Labs

Conclusion

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

slide-55
SLIDE 55

Connected Labs

Conclusion

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

  • Control & integration is just about manipulation of a DOM object
slide-56
SLIDE 56

Connected Labs

Conclusion

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

  • Control & integration is just about manipulation of a DOM object
  • JSON for deeper control
slide-57
SLIDE 57

Connected Labs

Conclusion

  • Of course, in real life, WebTV object is not hard coded
  • It will require tight integration with Middleware to populate it
  • Integration with native tuner & scan API (out of scope here)
  • Can be extended to handle other content type (MHP, MHEG5, ATSC,

ISDB, ...)

  • Control & integration is just about manipulation of a DOM object
  • JSON for deeper control
  • And smart people will extend it where they see fit
slide-58
SLIDE 58

Connected Labs

slide-59
SLIDE 59

Connected Labs

Thank you