Agenda
Agenda
• ISDB-T Reference Model and ITU-T
Reference Model overview
• Middleware requirements
• ISDB-T Reference Model and ITU-T
Reference Model overview
• Middleware requirements
• Ginga
• Final Remarks
• Ginga
DTV
Reference Model
DTV
Reference Model
Copyright © 2006 TeleMídiaReference Model
Reference Model
Other Data
Other Data
MUX
Source Signal
Coding
DataStream
Audio VideoDEMUX
Source Signal
Decoding
Middleware
Interactive
Applications
Audio VideoInteractive Channel
Channel coding / Modulation
MUX
TS
Channel decoding /
Demodulation
DEMUX
TS
Other Data
Other Data
MUX
Source Signal
Coding
DataStream
Application
Specification
Audio VideoDEMUX
Source Signal
Decoding
Middleware
Interactive
Applications
Audio VideoInteractive Channel
Application’s
Contents
Application’s
Contents
5 Copyright © 2006 TeleMídia5
Broadcasting
Transmission
Channel coding / Modulation
MUX
TS
Receiver
Reception
Channel decoding /
Demodulation
DEMUX
TS
Transport System
Video Coding
Audio Coding
Reference Model
Transport System
Physical Layer
MPEG2 - SDTV
MPEG2 - HDTV
MPEG2 BC
MPEG2 AAC
DOLBY AC3
Reference Model
Reference Model
Video
Audio
7 Copyright © 2006 TeleMídia8-VSB
COFDM
MPEG-2 System
H.264 [email protected]
H.264 [email protected]
MPEG - 4 HE-AAC@L4
Vídeo
Áudio
MPEG - 4 HE-AAC@L3
Reference Model
Reference Model
8-VSB
COFDM
Transport System
Video Coding
Audio Coding
Reference Model
9 Copyright © 2006 TeleMídia
Transport System
Physical Layer
MPEG2 - SDTV
MPEG2 - HDTV
MPEG2 BC
MPEG2 AAC
DOLBY AC3
Reference Model
Reference Model
Video
Audio
8-VSB
COFDM
MPEG-2 System
H.264 [email protected]
H.264 [email protected]
MPEG - 4 HE-AAC@L4
Vídeo
Áudio
MPEG - 4 HE-AAC@L3
Reference Model
Reference Model
11 Copyright © 2006 TeleMídia
8-VSB
COFDM
Audio
MPEG
Transport Stream
Transport Stream
GINGA
Real-Time Operating System Device Drivers Hardware Conditional Access
specification language
Video DataMPEG
SBTVDspecification interpreter
MPEG-2 System
MPEG-2 System
Program_number
Component_tag
program stream elementary streams (video/ audio/data) 13 Copyright © 2006 TeleMídia PMT(Program map table)
1…n
PAT
(Program association table) PCR- Program
Clock Reference
program stream
Transport System
Video Coding
Audio Coding
Reference Model
Transport System
Physical Layer
MPEG2 - SDTV
MPEG2 - HDTV
MPEG2 BC
MPEG2 AAC
DOLBY AC3
Reference Model
Reference Model
Video
Audio
15 Copyright © 2006 TeleMídia8-VSB
COFDM
MPEG-2 System
H.264 [email protected]
H.264 [email protected]
MPEG - 4 HE-AAC@L4
Vídeo
Áudio
MPEG - 4 HE-AAC@L3
Reference Model
Reference Model
BST-OFDM
ISDB
CODEC
17 Copyright © 2006 TeleMídiaS-Video
Modulation
Editing
MPEG-2
ISDB
Net
CODEC
Internet
S-Video
Modulation
MPEG-2
Rede Externa API SO 19 Copyright © 2006 TeleMídia Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SO
Transport System
Physical Layer
Rede Externa API SO
APPL1
APPL2
...
...
APPLn
Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SO
Transport System
Physical Layer
Rede Externa API SO
Middleware
APPL1
APPL2
...
...
APPLn
21 Copyright © 2006 TeleMídia Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SO
Transport System
Physical Layer
Rede Externa API SO
APPL1
APPL2
...
...
APPLn
Ginga
Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SOTransport System
Physical Layer
Rede Externa API SO
Runtime Environments
Common Core
APPL1
APPL2
...
...
APPLn
Ginga
23 Copyright © 2006 TeleMídia Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SOTransport System
Physical Layer
Rede Externa API SO
APPL1
APPL2
...
...
APPLn
Ginga
Ginga-NCL
Ginga-J
Ginga-CC
Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SOTransport System
Physical Layer
Rede Externa API SO
Ginga-CC
APPL1
APPL2
...
...
APPLn
Ginga
Ginga-NCL
Ginga-J
25 Copyright © 2006 TeleMídia Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SOTransport System
Physical Layer
Rede Externa API SO
Ginga-NCL
Ginga-CC
APPL1
APPL2
...
...
APPLn
Ginga
Demodulador Decod. do Canal Dec. Áudio Dec. Vídeo CPU Memória VC RF IR CR Video out Audio Surround Audio out RF out Rede Externa RF in API SOTransport System
Physical Layer
Middleware Requirements
Middleware Requirements
Rural Area Urbain Area TOTAL Have never used the Internet Has never used a Computer Computer + Internet Mob. + Inter net TV (cable) TV Tel.
Fixed Mobile Computer
82%
75%
4%
9%
57%
49%
20%
23%
61%
53%
18%
21%
91%
98%
97%
1%
7%
6%
15%
40%
36%
72%
76%
72%
8%
28%
25%
Rural Area Urbain Area TOTAL Have never used the Internet Has never used a Computer Computer + Internet Mob. + Inter net TV (cable) TV Tel.
Fixed Mobile Computer
82%
75%
4%
9%
57%
49%
20%
23%
61%
53%
18%
21%
91%
98%
97%
1%
7%
6%
15%
40%
36%
72%
76%
72%
8%
28%
25%
29 Copyright © 2006 TeleMídia Class C Class B10%
7%
91%
58%
Class A > R$ 4.151,0053%
90%
97%
95%
55%
47%
16%
23%
25%
20%
58%
41%
99%
100%
5%
19%
40%
75%
81%
94%
25%
70%
Class DE < R$ 1.245,0092%
1%
13%
51%
8%
3%
1%
77%
84%
100%
Specification Language
Specification Language
• Simple to be understood and learned
• Lightweight
• Powerful
• Simple to be understood and learned
• Lightweight
• Powerful
• Declarative DSL language
• Declarative DSL language
Programming Paradigms
Programming Paradigms
• Imperative (procedural)
– algorithm specification: “how to do”
– more expressiveness
• Imperative (procedural)
– algorithm specification: “how to do”
– more expressiveness
31 Copyright © 2006 TeleMídia
• Declarative
– specification: “final intention”
– highest level specification
• Declarative
– specification: “final intention”
– highest level specification
NCL
Nested Context Language
NCL
Nested Context Language
• The Brazilian innovation in the ISDB System:
– NCL (Nested Context Language) declarative language
– Its script NCLua language
– Its engine: Ginga-NCL middleware.
• The Brazilian innovation in the ISDB System:
– NCL (Nested Context Language) declarative language
– Its script NCLua language
– Its engine: Ginga-NCL middleware.
– Its engine: Ginga-NCL middleware.
• ITU-T H.761 Recommendation for IPTV services
• ITU-R BT 1691-1 Recommendation for Terrestrial DTV
– Its engine: Ginga-NCL middleware.
• ITU-T H.761 Recommendation for IPTV services
Synchronization
Synchronization
Synchronization
Synchronization
Interactivity
Interactivity
Interactivity
Interactivity
TV
is not
a Computer
TV
is not
a Computer
• Broadcast transmission
• Viewers are usually far from the screen
and interact via remote control devices
• Usually more than one viewer
• Broadcast transmission
• Viewers are usually far from the screen
and interact via remote control devices
• Usually more than one viewer
37 Copyright © 2006 TeleMídia
• Usually more than one viewer
• Usually more than one viewer
Viewer interaction must be
treated as just an example of
TV
is not
a Computer
TV
is not
a Computer
• Broadcast transmission
• Viewers are usually far from the screen
and interact via remote control devices
• Usually more than one viewer
• Broadcast transmission
• Viewers are usually far from the screen
and interact via remote control devices
• Usually more than one viewer
• Usually more than one viewer
• Video based applications
• Usually more than one viewer
• Video based applications
Middleware
Middleware
Copyright © 2006 TeleMídia
Requirements
Requirements
TV
is not
a Computer
TV
is not
a Computer
• Broadcast transmission
• Viewers are usually far from the screen
and interact via remote control devices
• Usually more than one viewer
• Broadcast transmission
• Viewers are usually far from the screen
and interact via remote control devices
• Usually more than one viewer
• Usually more than one viewer
• Video based applications
• Usually more than one viewer
Single Exhibition Device
Single Exhibition Device
Single Exhibition Device
Single Exhibition Device
Single Exhibition Device
Single Exhibition Device
Multiple Exhibition Devices
Multiple Exhibition Devices
Multiple Exhibition Devices
Multiple Exhibition Devices
Adaptation
Adaptation
Adaptation
Adaptation
Adaptation
Adaptation
Adaptation
Adaptation
Beba Guaraná
Content and Presentation Adaptation
Content and Presentation Adaptation
• Presentation device
• User profile
• Presentation device
• User profile
• User location
• User location
Programming Paradigms
Programming Paradigms
• Imperative (procedural)
– algorithm specification: “how to do”
– more expressiviness
• Declarative
• Imperative (procedural)
– algorithm specification: “how to do”
– more expressiviness
• Declarative
71 Copyright © 2006 TeleMídia
• Declarative
– specification: “final intention”
– highest level specification
• Declarative
– specification: “final intention”
– highest level specification
Media synchronization
Adaptability
Declarative:
Imperative:
Lua
ECMAScript
Declarative:
NCL
HTML
MHEG
ECMAScript
Java
Imperative
73 Copyright © 2006 TeleMídiaDeclarative
Imperative
+ efficient
+ easy to use
+ general
Declarative X Imperative
Declarative X Imperative
Declarative X Imperative
Declarative X Imperative
Declarative
Imperative
Declarative X Imperative
Declarative X Imperative
State of the art – Declarative
Middleware
State of the art – Declarative
Middleware
• Focus on interactivity
– Synchronization and adaptability by using
scripts (procedural)
• Focus on interactivity
– Synchronization and adaptability by using
scripts (procedural)
77 Copyright © 2006 TeleMídia
scripts (procedural)
scripts (procedural)
DTV Middlewares
DTV Middlewares
•
J.200: Worldwide common
core –
Application
environment
for digital
interactive television services
•
J.201: Harmonization of
declarative content format
•
J.200: Worldwide common
core –
Application
environment
for digital
interactive television services
•
J.201: Harmonization of
declarative content format
MHP 1.0 DVB - HTML
EE
PE
MHP 1.1 ACAP-J ACAP-X ARIB-AE (STD-B23) BML (STD-B24) Europe (DVB) USA (ATSC) Japan (ARIB)declarative content format
for interactive TV
applications
•
J.202: Harmonization of
declarative content format
for interactive TV
applications
•
J.202: Harmonization of
(STD-B23) (STD-B24) Ginga-J Ginga-NCL Brasil (SBTVD)Declarative X Imperative
Declarative X Imperative
Declarative
Imperative
79 Copyright © 2006 TeleMídia
Why NCL?
Why NCL?
NCL – Nested Context Language
NCL – Nested Context Language
• Synchronization support
– Structure-based synchronization
– Interactive channel support
• Multiple device facilities
• Synchronization support
– Structure-based synchronization
– Interactive channel support
• Multiple device facilities
81 Copyright © 2006 TeleMídia
• Support for content and presentation adaptation
• Live editing support
• NCL is free software
• Support for content and presentation adaptation
• Live editing support
Declarative X Imperative
Declarative X Imperative
Declarative
Imperative
Declarative X Imperative
Declarative X Imperative
Declarative
Imperative
83 Copyright © 2006 TeleMídiaScripting languages
ECMAScript
Lua
System languages
Java
C
Script
System
Footprint?
Efficiency?
Script
+ easy to use
Script
System
Script X System
Script X System
Script
System
Script X System
Script X System
Script
System
Script X System
Script X System
Lua
Java
Ginga Options
Ginga Options
Small to medium complex tasks: Lua
Small to medium complex tasks: Lua
High complex tasks: Java
Why Lua?
Why Lua?
Why Lua?
Why Lua?
• Lua is Simple and Powerful
• Lua is Portable
• Lua is Embeddable
• Lua is Simple and Powerful
• Lua is Portable
• Lua is Embeddable
• Lua is Fast
• Lua is Robust
• Lua is Fast
• Lua is Robust
http://shootout.alioth.debian.org
/
http://shootout.alioth.debian.org
/
•
Lua vs JS
•
LuaJIT vs JS
91 Copyright © 2006 TeleMídiaJavaScript SpiderMonkey = 936 Kbytes
Lua = 120 Kbytes
onBegin
Start
Stop
onBegin
Start
Start
onEnd
Stop
javaNCL
Set
size
Start
onSelection
Set
size
onBegin
Start
Stop
onEnd
Start
onBegin
Start
Stop
onBegin
Start
Start
onEnd
Stop
javaNCL
93 Copyright © 2006 TeleMídiaSet
size
Start
onSelection
Set
size
onBegin
Start
Stop
onEnd
Start
Smiljavajava
onBegin
Start
Stop
onBegin
Start
Start
onEnd
Stop
Set
size
onSelection
Set
size
onBegin
Start
Stop
Start
Start
onEnd
SmilFinal Remarks
Final Remarks
Composer 1.0
Composer 1.0
NCL Eclipse
NCL Eclipse
R&D
Ginga at the Content Producer
R&D
Ginga at the Content Producer
• Composer 2.0
– Composer 1.0 + NCL Eclipse facilities
– Keeps the functional requirements of Composer
1.0 and adds non-functional requirements
• Composer 2.0
– Composer 1.0 + NCL Eclipse facilities
– Keeps the functional requirements of Composer
1.0 and adds non-functional requirements
99 Copyright © 2006 TeleMídia
1.0 and adds non-functional requirements
– Integrated with the transmission system
– Optimized data carousel generation
– Support to live content production
1.0 and adds non-functional requirements
– Integrated with the transmission system
– Optimized data carousel generation
R&D
Ginga at the Content Producer
R&D
Ginga at the Content Producer
• Composer 2.0
– Based on a micro-kernel that may be extended
with plug-ins
– Each authoring views acts as a plug-in
• Composer 2.0
– Based on a micro-kernel that may be extended
with plug-ins
– Each authoring views acts as a plug-in
– Open-source development, from the first step
thought to be extended
– Open-source development, from the first step
thought to be extended
CPU Memória IR CR Rede Externa API SO
Rede
Internet
Audio SBTVDPUSH
PULL
101 Copyright © 2006 TeleMídia Demodulador Decod. do Canal Dem ux. Dec. Áudio Dec. Vídeo Memória VC RF Video out Audio Surround Audio out RF out RF in Audio Video DataMPEG TS
R&D
Ginga Authoring in the Client Side
R&D
Ginga Authoring in the Client Side
• Composer 2.0
– Composer 1 + NCL Eclipse facilities
– Context aware
• Composer 2.0
– Composer 1 + NCL Eclipse facilities
– Context aware
– Visions for cooperative authoring
– Visions for cooperative authoring
Ginga-NCL Reference Implementation
Ginga-NCL Reference Implementation
• C++ Language
• Linux platform
• High performance
• Hard to embed
• C++ Language
• Linux platform
• High performance
• Hard to embed
103 Copyright © 2006 TeleMídiaGinga-NCL Virtual Set-top Box
Ginga-NCL Virtual Set-top Box
Ginga -NCL Live CD
Ginga -NCL Live CD
SAGGA Project
SAGGA Project
• SAGGA: Suport for Automatic Generation
of Ginga-NCL Applications
• Definition of several templates for
application authoring
• SAGGA: Suport for Automatic Generation
of Ginga-NCL Applications
• Definition of several templates for
application authoring
107
application authoring
– Applications with dynamic content
– Widgets
– NCLua lib
application authoring
– Applications with dynamic content
– Widgets
– NCLua lib
• IPTV: Recommendation H.761
– Symbian
– Android
• IPTV: Recommendation H.761
– Symbian
– Android
Ginga –NCL for IPTV
Ginga –NCL for IPTV
• 1-seg/ Full-seg USB-SBTVD: PlayTv PixelView,
Intera
– Linux
– Windows
• 1-seg/ Full-seg USB-SBTVD: PlayTv PixelView,
Intera
– Linux
– Windows
Ginga –NCL for USB ISDB
Ginga –NCL for USB ISDB
109 Copyright © 2006 TeleMídia
– Windows
– Windows
• 1-seg/ Full-seg USB-SBTVD
• IPTV
• 1-seg/ Full-seg USB-SBTVD
• IPTV
Ginga –NCL for Windows
Ginga –NCL for Windows
• Broadband TV: plug-in Firefox
• Broadband TV: plug-in Firefox
Multiple devices
Multiple devices
– iPhone (passive)
– Android (passive e active)
– iPhone (passive)
– Android (passive e active)
NCL Evolution
NCL Evolution
NCL 3.1 Raw Profile
NCL 3.1 Raw Profile
• A new profile closer to the Ginga-NCL internal data
structure
• Completely compatible with NCL 3.1 EDTV profile
, but
without any “syntactic sugar”
• Player much more simple, efficient and less error-prone
• A new profile closer to the Ginga-NCL internal data
structure
• Completely compatible with NCL 3.1 EDTV profile
, but
without any “syntactic sugar”
• Player much more simple, efficient and less error-prone
113 Copyright © 2006 TeleMídia