Interactive TV: introduction to JavaTV and MHP

JavaTV and MHP form the core of the open middleware systems of the modern digital television. During this session we will briefly present the history of those standards and the reasons behind the choice of an open platform. We will present some technical »
Pasquale Granato

Interactive TV
Introduction to JavaTV and MHP
In the beginning there was chaos...
It would have made sense to avoid this fragmentation in the digital era.
But "experience is that marvelous thing that enables you to recognize a mistake when you make it again."
Franklin P. Jones
As well as choosing different modulation systems, Europe, the USA and Japan all chose different standard for the service information needed to decode data broadcasting.
Europe, the USA and Japan also produced different standard for middleware, designed to work with their proprietary data broadcasting systems.
MHP (Multimedia Home Platform) is a middleware layer that allows interactive applications and services to be accessed indipendently of the platform they run on.
MHEG-5
Java
JavaTV
MHEG-6
DAVIC
HAVi
Internet
Access
profile
Interactive
Broadcast
profile
Enhanced
Broadcast
profile
MHP 1.0
MHP 1.1
MHP 1.2
DVB Java API extension for return channel
Return channel transport protocols, including IP
Java VM
DVB Java APIs
Media Formats
Broadcast transport protocols (sat, cable, terrestrial)
Application storage
Smart card APIs
DVB-HTML (opt.)
Xlet download via HTTP
Java Internet client APIs
Web browser and e-mail client
DVB-IPTV support
Monitor Application
Unbound applications
High definition video
In the meantime, on the other side of the Atlantic, CableLabs decided to use MHP as the basis for the OCAP platform.
The harmonization of MHP and OCAP led to GEM
Globally Executable MHP
The GEM specification is a subset of MHP that has been designed to take into consideration the interoperability issues across the various open standard middleware specifications.
Currently the most notable GEM achievement is BD-J 
(Blu Ray Disc Java)
MPEG
Section Filtering
DSM-CC
SI
Tuning
JMF
Service
selection
Application manag. and Xlet API
Conditional access
Inter Xlet communication
Return channel
UI
events
DVB
UI
AWT
HAVi
Java
Introducing Xlet
The Xlet interface allows an external source (the application manager) to control the life cycle of an application and provide the application with a way of communicating with its environment.
Applet
MIDlet
Xlet
A transport stream can carry several programs. For instance, a transport stream will usually carry several DTV channels.

In the context of DTV, a MPEG program is known as a "service".
Service Context 1
Service Context 2
Xlet context
Xlet context
Xlet context
Xlet
Application Manager
Program Guide
Event Portal
Information
Enhanced Sport
Coverage
Games
Advertising
JavaTV Service Model
Common yet unfamiliar
The TV display and 
the remote control.
picture aspect ratio
overscan (up to 5%)
pixel aspect ratio non 1:1
color space
interlacing
User Interface: java.awt
MHP uses the standard java.awt package
Lightweight components
JDK 1.1.x event model
No "classical" UI widgets - too computery for TV
No requirement for a windowing system
User Interface: org.dvb.ui
DVB Extensions to AWT
org.dvb.ui.DVBColor provides alpha (i.e. transparency through graphics to video)
org.dvb.ui.DVBGraphics - supports alpha composition.
org.dvb.ui.DVBBufferedImage - a writeable buffer of image data - good for double buffering and effects.
org.dvb.ui.DVBTextLayoutManager allows simple display of formatted text

User Interface: org.havi.ui
Widget set more graphically oriented than java.awt (e.g. icons, animations)
HLook interface allows pluggable look&feel.
HNavigable.setFocusTraversal() allows applications to describe a focus navigation map (up/down/left/right) 
HScreenDevice & sub-classes allow applications to access a model of the graphics, video & background devices in a system, and request a configuration.
Extra key codes for remote controls: org.havi.ui.event.HRcEvent
User Interface: User input
There is no mouse input, and only a few key codes.
Only one AWT component has input focus at any time
No other components receive input events
The org.dvb.event API traps input events before they enter AWT

Development
environment
Acknowledgements and references
www.mhp-interactive.org

www.cineca.tv

www.xletview.org
OpenMHP
XletView
R.I.P.
JustDVB-it
The DVB Project is a consortium of companies charged with developing specifications for digital television.

Based in Geneva, its original mission was to develop a European specification for digital broadcasting, but DVB specs are new used worldwide.
Applications
In the meantime... OCAP
Very basic 
MPEG concepts
MHP Profiles
and architecture
And finally, that's the code you were waitinig for.
Xlet
Xlet
User interface
Thank
You
VCD
DVD
DVB
DVB-S2
MPEG-1
PS
TS
MPEG-2
MPEG-4
Pasquale Granato
JUG Lugano

Loading comments...

Please log in to add your comment.

Report abuse

More presentations by Pasquale Granato