Beruflich Dokumente
Kultur Dokumente
Date: 30.03.2006
Copyright notice
© 2006 Institut für Rundfunktechnik GmbH on behalf of The MHP Knowledge Project
This work may be reproduced and redistributed, in whole or in part, without alteration and without
prior written permission, provided all copies contain the following statement:
© 2006 Institut für Rundfunktechnik GmbH on behalf of The MHP Knowledge Project. This
work is reproduced and distributed with the permission of the Institut für Rundfunktechnik
GmbH. No other use is permitted without the express prior written permission. For
permission, contact info@mhpkdb.org.
This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
As we are interested to continuously improve the quality of our documents, we kindly ask you to
report back any error you find in our documents or any improvement you are able to suggest. This
can be done via writing comments into the database or by an email to feedback@mhpkdb.org.
30th March 2006
The MHP-Guide Version: 1.0
Table of Content
Table of Content.......................................................................................................................3
List of Tables ..........................................................................................................................11
List of Figures.........................................................................................................................12
1 Purpose of the MHP-Guide .............................................................................................14
1.1 General ...................................................................................................................14
1.2 Target Groups ........................................................................................................14
2 What is interactive television?.........................................................................................19
2.1 Types of applications ..............................................................................................19
2.1.1 Available Interactive Applications .......................................................................19
2.1.2 Information Services ...........................................................................................20
2.1.3 Communication Services ....................................................................................22
2.1.4 Entertainment Services.......................................................................................23
2.1.5 T-Commerce.......................................................................................................25
2.1.6 T-Government.....................................................................................................26
2.1.7 T-Learning ..........................................................................................................27
2.1.8 T-Health/T-Care..................................................................................................28
2.1.9 Business TV........................................................................................................28
2.2 Levels of interactivity ..............................................................................................29
3 Introduction to MHP ........................................................................................................31
3.1 The DVB Project .....................................................................................................31
3.2 The need for MHP as an open API standard..........................................................31
3.2.1 Market developments and DVB activities ...........................................................31
3.2.2 EU policy.............................................................................................................32
3.3 MHP activities in DVB.............................................................................................33
3.4 MHP: Current status and new developments .........................................................33
3.5 Ensuring the interoperability of MHP ......................................................................34
3.5.1 The MHP Test Suite ...........................................................................................35
3.5.2 The MHP Knowledge Project..............................................................................36
3.6 MHP in the markets ................................................................................................37
3.6.1 Austria.................................................................................................................37
3.6.2 Denmark .............................................................................................................38
3.6.3 Finland ................................................................................................................38
Page 3 of 215
30th March 2006
The MHP-Guide Version: 1.0
3.6.4 France.................................................................................................................39
3.6.5 Flandern..............................................................................................................39
3.6.6 Germany .............................................................................................................40
3.6.7 Italy .....................................................................................................................41
3.6.8 Norway................................................................................................................42
3.6.9 Spain...................................................................................................................43
3.6.10 Sweden...........................................................................................................44
3.6.11 United Kingdom ..............................................................................................45
3.6.12 Switzerland .....................................................................................................45
4 MHP iTV Applications .....................................................................................................46
4.1 MHP application .....................................................................................................46
4.1.1 Why Java? ..........................................................................................................46
4.1.2 Extensions added from other standards .............................................................46
4.1.3 New TV Specific functionality .............................................................................47
4.2 MHP applications and the broadcast chain ............................................................51
5 MHP end-to-end architecture ..........................................................................................53
5.1 Introduction.............................................................................................................53
5.2 MHP end-to-end reference model ..........................................................................53
5.2.1 Program Content Playout ...................................................................................54
5.2.2 MHP Application Authoring & Production Tools .................................................54
5.2.3 Content Management System (CMS).................................................................54
5.2.4 Download server & firmware upgrade ................................................................54
5.2.5 Public Key Infrastructure MHP PKI.....................................................................55
5.2.6 PSI/SI..................................................................................................................55
5.2.7 DSM-CC .............................................................................................................56
5.2.8 Conditional Access System ................................................................................57
5.2.9 Network Equipment ............................................................................................58
5.2.10 MHP terminal ..................................................................................................58
5.2.11 Return Channel...............................................................................................58
5.2.12 Application specific backend servers..............................................................59
5.3 Actors of the MHP end-to-end system and their roles ............................................59
5.3.1 MHP authoring tool vendor .................................................................................61
5.3.2 MHP application developer.................................................................................61
5.3.3 MHP service provider .........................................................................................61
5.3.4 Broadcaster ........................................................................................................61
Page 4 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 8 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 10 of 215
30th March 2006
The MHP-Guide Version: 1.0
List of Tables
Table 1-1: Chapters and their potential target group relevance............................................................ 18
Table 2-1: Levels of interactivity in relation to types of applications ..................................................... 30
Table 5-1: Elucidation of actors in the MHP end-to-end reference model ............................................ 60
Table 11-1: Actors in the MHP Public Key Infrastructure.................................................................... 107
Table 12-1: Palette construction rules................................................................................................. 130
Table 13-1: MHP 1.0.x Protocol Support............................................................................................. 141
Table 13-2: MHP 1.1.1 Protocol support ............................................................................................. 141
Table 14-1: Hardware resource requirements..................................................................................... 146
Table 15-1: Mandatory keys in MHP ................................................................................................... 158
Table 19-1: Rights and Roles Model of the MHP-KDB ....................................................................... 194
Table 20-1: Authoring Tools vendors .................................................................................................. 202
Table 21-1: Java Core APIs ................................................................................................................ 207
Table 21-2: JavaTV APIs..................................................................................................................... 208
Page 11 of 215
30th March 2006
The MHP-Guide Version: 1.0
List of Figures
Figure 2-1: EPG of the ARD Portal ....................................................................................................... 20
Figure 2-2: Simple STB-EPG (TechniSat)............................................................................................. 20
Figure 2-3: News Service with ¼ scaled video (Mediaset, Italy)........................................................... 21
Figure 2-4: Weather Service (RTL TV interaktiv, Germany) ................................................................. 21
Figure 2-5: Traffic Service (Prototype, rbb, Germany) .......................................................................... 22
Figure 2-6: Interactive multimedia teletext (Pro7, Germany) ................................................................ 22
Figure 2-7: TV mail client (Alticast) ....................................................................................................... 22
Figure 2-8: Arcade Game on TV screen (sofia digital) .......................................................................... 23
Figure 2-9: Interactive TV Game (ZDF, Germany)................................................................................ 23
Figure 2-10: Video on Demand Selection (gist) .................................................................................... 24
Figure 2-11: Tracking ebay auctions on the TV screen (Nionex).......................................................... 25
Figure 2-12: Sofa Shopping with OTTO’s interactive MHP Shop ......................................................... 25
Figure 2-13: Regional Information Portal for the city of Tampere (Finland).......................................... 26
Figure 2-14: Voting application related to News Show (SkyTV, UK) .................................................... 27
Figure 2-15: Kids’ Edutainment: Goosebumps (FoxKids, Germany) .................................................... 27
Figure 2-16: Customer Information at Housing Society “ewt” (GIST,
Germany) ....................................................................................................................................... 28
Figure 3-1: Profiles of the MHP standard .............................................................................................. 34
Figure 3-2: The MHP Logo .................................................................................................................... 35
Figure 3-3: DGTVi Logo ........................................................................................................................ 42
Figure 4-1: HScene in the UI model ...................................................................................................... 50
Figure 4-2: Display structure ................................................................................................................. 51
Figure 4-3 MHP applications in broadcast chain................................................................................... 52
Figure 5-1: MHP E2E Reference Model................................................................................................ 53
Figure 5-2: Detailed view of Conditional Access System...................................................................... 57
Figure 6-1: Mapping of the MHP-KDB Categories in the MHP End-to-End
Reference Model ............................................................................................................................ 66
Figure 7-1 Plug-in implementation options............................................................................................ 75
Figure 8-1 Transport Stream ................................................................................................................. 80
Figure 8-2 Example building blocks of an MPEG-2 encoder ................................................................ 80
Figure 8-3 MPEG-2 Packet Header ...................................................................................................... 81
Figure 8-4 Example of object carousel in DVB service ......................................................................... 83
Figure 8-5: DSM-CC Object Carousel Layering .................................................................................... 84
Figure 8-6: Encrypting and decrypting content...................................................................................... 90
Figure 8-7: Encryption and decryption process..................................................................................... 91
Figure 9-1: Xlet lifecycle state machine diagram................................................................................... 92
Page 12 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 13 of 215
30th March 2006
The MHP-Guide Version: 1.0
1.1 General
DVB MHP, the DVB Multimedia Home Platform, is a major standard for
interactive TV today. This document is a free guidebook that offers MHP-KDB Project:
comprehensive knowledge on all fundamental aspects of MHP for all those The MHP-KDB project
involved along the end-to-end chain of interactive TV: those who are simply is co-funded by the
EU as an "IST project.
interested in MHP and want a quick overview and those who want to dig Its main aim is to
deeper into the subtleties of the standard, those who plan to enter the world improve the
of MHP practically and those who already work with MHP and need specific interoperability of
information on certain issues. MHP implementations
and MHP applications.
The MHP-Guide is generated from practical experience of European actors
in broadcasting, IT manufacturing and technology research who are familiar
with MHP in their every day work and who joined forces in the MHP
knowledge project mainly to improve interoperability of MHP
implementations and applications. As one major result of this project, the
online MHP-Knowledge Database was established. This database offers a
continuously growing number of solutions including MHP reference
application modules as "Open Source" code available for free usage.
Additionally a virtual online test center for testing interoperability on
standard hardware MHP terminals.
The MHP-Guide complements the resources offered by the MHP-
Knowledge Database. While the MHP-Guide provides a comprehensive yet
concise overview of the basic applications and technologies of the MHP
End-to-End chain, the online database leads on to deeper levels of
knowledge and to the practical dimension, be it for offering your own
solution, retrieving a solution or testing your applications.
The document layout features a broad text column with an extensive
margin. This margin highlights special information such as the depth of
information (NOVICE/EXPERT LEVEL), brief definitions of relevant terms and
references to related entries in the database for more specific knowledge
and practical solutions.
Page 14 of 215
30th March 2006
The MHP-Guide Version: 1.0
Application Programmers
Broadcast Equipment
5.1 Introduction N
7.1 Introduction N
7.2 DVB-J N
7.3 DVB-HTML N
7.5 Migration E
Page 15 of 215
30th March 2006
The MHP-Guide Version: 1.0
Application Programmers
Broadcast Equipment
8.1 Introduction N
10.1 Introduction N
Page 16 of 215
30th March 2006
The MHP-Guide Version: 1.0
Application Programmers
Broadcast Equipment
12.1 Introduction N
12.10 Fonts N
13.1 Introduction N
Page 17 of 215
30th March 2006
The MHP-Guide Version: 1.0
Application Programmers
Broadcast Equipment
15.2 Navigation N
18. Literature N
Annex A
Annex B
Annex C
Annex D
22. Migration E
Page 18 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 19 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 20 of 215
30th March 2006
The MHP-Guide Version: 1.0
Weather Forecast
Weather Forecast Services are usually of the type “broadcast only”.
Interactivity lies mainly in the fact that users can choose detailed views of
certain regions for a certain day. Various services throughout Europe offer
a selection of regional, national and international forecasts and current
information.
Traffic Service
Similarly, Traffic Services can offer users a choice of detailed information
on a certain region at a certain time. rbb’s prototype of an interactive traffic
service highlights construction sites, traffic jams and other road blocks for
any selected region in Berlin and Brandenburg. Traffic information may also
include information and schedules of public transport services, train
stations and airports. 2
1
Examples can, among others, be found at http://www.mediaset.it/digitaleterrestre/ or
http://www.ard-digital.de/index.php?id=282&languageid=1.
2
For a video presenting the user scenario visit
http://www.rbb-online.de/_/unternehmen/beitrag_jsp/activeid=254/key=teaser_300427.html
Page 21 of 215
30th March 2006
The MHP-Guide Version: 1.0
Digitext / teletext
iTV offers the opportunity to deliver all sorts of extra information related to
the TV program much in the way it is done on the Internet. In addition to
regular, i.e. the currently usual, text-based pages, broadcasters or service
providers can offer pictures, audio and video in interactive portals, mostly
relying on bi-directional interactivity especially for video delivery.
Page 22 of 215
30th March 2006
The MHP-Guide Version: 1.0
Beyond basic Arcade gambling, some providers also offer traditional board
games transferred to iTV applications, e.g. Sky’s version of Cluedo, Soccer
(penalty) games or even more program related offers like BBCi’s CBeebies
(amongst others an interactive Big Brother game). 4
3
See, for example, http://www.broadbandbananas.com/, SofiaDigital at
http://www.digitv.fi/sivu.asp?path=9;1239;3392;3928, or http://www.digeo.com/prodserv/digeoitv.jsp.
4
All applications listed in this paragraph can be found at www.broadbandbananas.com/ with screenshots,
scenario videos and background information.
5
For a use scenario of this iTV game see
http://www.zdf.de/ZDFmediathek/inhalt/16/0,4070,2173552-6-wm_dsl,00.html
Page 23 of 215
30th March 2006
The MHP-Guide Version: 1.0
studio see a short video and hear a question. After that they get some 30
seconds to choose the right answer by jumping back and forth between the
possible statements. With the new interactive version, kids at home can
also make a choice. Via the color keys (blue, green, yellow) they can select
one out of three cartoon figures jumping between the three available
choices. They score a point if the figure ends up on the correct spot. (For
more edutainment examples, cf. 2.1.7 T-Learning). The same is, of course,
possible with quiz shows for grown-ups like the two ARD Quiz Shows 6
(Germany) or “Who Wants To Be a Millionaire?” (France, Germany, Italy
and the UK) 7 .
For more and other ways of interactive TV Games the reader is also
recommended to take a look at BBC’s Channel 4 Games:
http://www.broadbandbananas.com/
6
For the Edutainment program “Kopfball” see http://www.ard-digital.de/index.php?id=2670&languageid=1,
for “Das Quiz mit Jörg Pilawa” see http://www.ard-digital.de/index.php?id=280&languageid=1
7
There may be more iTV applications on this quiz format in other countries. For France and UK see
http://www.broadbandbananas.com/, for Germany http://www.rtl.de/tv/743540.php,
for Italy: http://www.mediaset.it/news/scheda/9109.shtml
8
The screenshot shows a VoD Service by German developer company GIST (http://www.gist.de/). See also
http://www.digeo.com/prodserv/moxi_ondemand.jsp for a concrete VoD service.
Page 24 of 215
30th March 2006
The MHP-Guide Version: 1.0
2.1.5 T-Commerce
T-Commerce
Interactive TV offers a number of possibilities for T-Commerce, from Analogue to the term
interactive advertising to triggering actual purchase transactions via the TV e-Commerce T-
set (also called “transactive TV”). Commerce covers all
sorts of “commercial “
Tele-Shopping applications and
A number of T-Commerce applications have been developed/ proto-typed transactions that are
delivered and
already. performed on the TV
With an extra feature of the pontegra browser (www.nionex.de) users can screen.
track current eBay auctions and be informed as soon as the auction status
changes. 9
There are also a number of iTV Shopping portals using different iTV
standards: Nionex offers a “pontegra T-Commerce shopping solution 10
which appears to be transactive and bi-directional. German Mail-Order
company OTTO also created an interactive shopping portal where
customers can see, select and order all sorts of goods from the TV screen-
adapted catalogue just like they would on the Internet.
Interactive Advertising
There have also been a number of prototypes for interactive advertising,
e.g. an MHP-based ad for Daimler-Chrysler in 2002 11 . Beyond merely
attaching further information that is made available through interactive
navigation menus, optimum impact is expected from an emotional
contextualization of the product [DUREAU 2004]. There have been various
prototypical applications that connected certain products to TV programs
9
Brochure available at the site of the application developer, Nionex:
http://www.nionex.de/downloads/Images/29_3463.pdf/download_pontegra_eBay_tracking.pdf
10
http://www.nionex.de/downloads/Images/29_3462.pdf/download_T-commerce.pdf
11
For more information see http://www.mhp-forum.de/content/applikat/daimler.htm
Page 25 of 215
30th March 2006
The MHP-Guide Version: 1.0
2.1.6 T-Government
T-Government
Regional Information Portals Analogue to the term
Despite strong efforts - e.g. in Italy - to push iTV as a prime medium for e- e-Government
Government there are not yet many relevant T-Government Services.
T-Government covers
Especially regarding interactivity the available services seem rather meager all sorts of information
to date. Some network providers and especially STB developers have services and (ideally)
made first tests on the use of chip cards in STBs to enable maximum data communication and
security. Currently, a number of regional information portals in Finland and actions with the
relevant authority,
Italy are on offer as “T-Government” services; however, they often merely delivered and
combine tourist information with local news and announcements. performed on the TV
screen.
Figure 2-13: Regional Information Portal for the city of Tampere (Finland)
The ‘Italia Utile’ (‘Useful Italy’, also called “Utile T-Gov”) DTV portal is
planned to make available public information and services currently on offer
via the web based e-government portal Italia.gov.it also via terrestrial
digital TV. Its interface will be similar to that of classic teletext information
services, however, it will be faster and offer two-way interaction. 13
Availability is forecast for autumn 2006 or later. 14 Piemont already has a
basic portal with regional information, apparently broadcast only. T-
Government is said not to be as useful for bi-directional services, mainly
due to the fact that consumers are not used to writing with a Remote
Control device. However, this might change with the current generation of
SMS writing youths who will easily adopt to writing with such a device
which is even slightly bigger than a mobile phone. Currently, according to
rumors and vague forecasts authorities test technical and legal
preconditions to transfer actual transactions from the Internet to the iTV
platform(s), like submitting tax calculation forms or even voting.
12
See for example www.fun-tv.de/content/dokumente/ditv_anga_2005e.ppt#295 or
http://www.joanneum.at/en/informatik/bibliothek_detail.php?p_iid=IIS&p_typ=PUB&p_id=2193.
13
Taken from http://europa.eu.int/idabc/en/document/3648/5718
14
Find out more about the current status of fat http://www.raiutile.rai.it/articolo.jsp?id=437
Page 26 of 215
30th March 2006
The MHP-Guide Version: 1.0
Voting
15
Example from SkyTV; see http://www.broadbandbananas.com/
16
For entertainment-motivated voting applications visit http://www.mediaset.it/news/scheda/14888.shtml .
17
Common understanding in Learning Theory, quoted in Margit Hertlein. Mind Mapping – Die kreative
Arbeitstechnik. Spielerisch Lernen und Organisieren, Hamburg 2001
18
For a comprehensive overview and bibliography see Rossiter, Marsha: Narrative and Stories in Adult Teaching
and Learning, available at http://www.ericdigests.org/2003-4/adult-teaching.html
Page 27 of 215
30th March 2006
The MHP-Guide Version: 1.0
2.1.8 T-Health/T-Care
The term T-Health covers basically every kind of TV based information on T-Health
health, wellness and medical topics. A special variant of health applications Analogue to the term
is “T-Care”: T-Care is a truly interactive and bi-directional way of e-Health
connecting patients and care persons or health institutions via iTV. T-Health covers all
Basically, this sort of information exchange is based on T-Mail and T-Chat sorts of information
facilities (cf. 2.1.3 Communication). In some cases 19 , however, this services related to
involves dedicated applications for exchanging current data on blood health and well-being
that are delivered and
pressure (Patient enters figures with the Remote Control after taking the performed on the TV
blood pressure) or other medical data. The application also stores patients’ screen.
information on the correct medication for patients and care personnel to
see and check. An example for such a TV-based interactive healthcare
platform is a system called Philips Motiva that was implemented and tested
in the US in 2005. Chronically ill patients are connected directly to their T-Care
care providers in order to motivate them to modify their behavior – to follow Analogue to the term
their doctor’s guidelines, eat right and exercise more. They receive a e-Care
combination of tailored educational content, timely reminders and positive T- Care covers all
reinforcement around personal goals. In addition, patients are able to track sorts of
their own vital signs – such as weight, heart rate, heart rhythm, and blood communication
20 services that connect
pressure.
patients and health
care personnel in (bi-
2.1.9 Business TV directional) TV-based
communication
Business TV is more a use case scenario than a type of application of its applications.
own. However, the idea of combining Information Services, (Internal)
Communication, T-Commerce, T-Government-like applications (to
communicate with the Human Resources Department) and T-Learning for
Further Education is worth considering especially for application developers
and network providers. Organizations may use these types of interactive
applications to provide all sorts of information and communication facilities
to their employees (Intranet-style) and, to a smaller extent, to business
partners and customers. A German housing society, for instance, offers all
sorts of information to its tenants and potentially interested persons.
19
Unfortunately, there were no screenshots available. For more information on one possible application scenario
and the respective success story contact www.ortikon.com (Finnland).
20
For details see: http://www.medical.philips.com/us/news/content/file_804.html
Page 28 of 215
30th March 2006
The MHP-Guide Version: 1.0
Information EPG ∗
News ∗
Weather Forecast ∗
Traffic Service ∗
Teletext/digitext ∗
Communication T-Mail ∗
T-Chat ∗
Entertainment T-Games ∗ ∗ ∗
Video On Demand
∗
(VOD)
Betting ∗
T-Commerce T-Banking ∗
Promotion
∗
application
Interactive
∗
Advertising
Page 29 of 215
30th March 2006
The MHP-Guide Version: 1.0
Professional
∗ ∗ ∗
Further Education
Page 30 of 215
30th March 2006
The MHP-Guide Version: 1.0
3 Introduction to MHP
This chapter gives an overview of the background of MHP development as
seen from the perspective of the relevant market players and also provides
a look into the aspect of EU wide regulation.
It lines out the current state of MHP as well as planned new developments
(which are discussed in more detail in chapter 16.
Additionally it presents an overview of the MHP activities in some European
countries.
Therefore, in 1997, the DVB project started to extend the scope of its
successful work from pure digital TV to interactive digital TV and to develop
a single API standard.
3.2.2 EU policy
"Interoperability of digital interactive television services and enhanced
digital television equipment, at the level of the consumer, should be
encouraged in order to ensure the free flow of information, media pluralism
and cultural diversity. It is desirable for consumers to have the capability of
receiving, regardless of the transmission mode, all digital interactive
television services, having regard to technological neutrality, future
technological progress, the need to promote the take-up of digital
television, and the state of competition in the markets for digital television
services. Digital interactive television platform operators should strive to
implement an open application program interface (API) which conforms to
standards or specifications adopted by a European standards
organization." (Recital 13 of the Directive 2002/21/EC)
This quotation from the EU regulatory framework for electronic
communications networks and services clearly shows the political desire for
open markets and standardized APIs in the area of digital interactive
television.
This framework requires Member States to recommend service providers
and equipment providers to use an open API. Competition in digital
interactive TV is seen in the context of interoperability: if interoperability
and freedom of choice for users have not been adequately achieved in one
or more Member States, the Commission is allowed under the framework
to take action in the area of digital interactive TV and even mandate a
standard (Article 18 of Directive 2002/21/EC).
Consequently, the EU Commission welcomes the introduction of MHP as
European iTV standard. EU commissioner Erkki Liikanen stated at the 4th
EBU conference (March 2001) in Brussels:
“The Commission welcomes in particular the development of the
Multimedia Home Platform (MHP) standardized by the Digital Video
Broadcasting Group (DVB). The MHP platform has been developed by the
industry, for the benefit of the industry. The Commission considers that this
voluntary, industry led standardization is the best process to reach
interoperability, and to guarantee widespread implementation of the
standard.“
In their latest “Communication ... on reviewing the interoperability of digital
interactive television services” dated 02.02.2006 (COM(2006) 37 final) the
EU Commission states:
“The demand for interactive TV applications has proved to be less than
many forecast some years ago, and the commercial success of interactive
television remains limited. The most successful applications have been in
the area of quiz shows, sport, gambling and reality television; governments
have yet to find ways to exploit the technology successfully as a means of
communicating with citizens.”
“Developments in the market, particularly in Italy, have shown that
interoperability can be achieved when stakeholders act together with a
common aim to implement a technical standard like MHP, but that this in
Page 32 of 215
30th March 2006
The MHP-Guide Version: 1.0
Options
Page 34 of 215
30th March 2006
The MHP-Guide Version: 1.0
The strength and quality of the official Test Suite directly influences
interoperability of systems in the market and is an ideal means to ensure
that MHP support all features as defined in the MHP specification.
The MHP Test Suite is made available to decoder manufacturers via ETSI.
It consists of thousands of test cases written as Java Xlets which can be
run in an automated testing environment (ATE).
Test Suite versions 1.0.2a and 1.0.2b have been made available in
September 2002 (1.0.2.a) and January 2003 (1.0.2b). Both versions of the
Test Suite are related to the MHP standard version 1.0.2. Early March 2003
the DVB Technical Module approved version 1.0.3 of the MHP specification
and is further working on advanced versions of MHP, such as the internet
access profile (MHP 1.1.2 and PVR extensions). As a result, additional
work is required to update the Test Suite to comply with these recent
versions of the MHP standard.
Huge effort both financially and in manpower has already been invested by
several companies, amongst them the partners who have in 2004 joined in
the EC funded MHP-CONFIDENCE project.
Main activities of MHP-CONFIDENCE are to identify areas where MHP
interoperability can be strengthened by additional Conformance Tests, to
setup specifications for programming related tests, to implement these
tests and to verify them in a quality acceptance process to such an extent
that they match the quality criteria imposed for DVB’s Official MHP Test
Suite.
Page 35 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 36 of 215
30th March 2006
The MHP-Guide Version: 1.0
3.6.1 Austria
In the Austrian city of Graz a DVB-T test, including the broadcast of MHP
based interactive content, ran for 3 months starting in June 2004. This test
run was provided by a number of public and private broadcasters.
In addition to the three regular TV services ORF 1, ORF 2 and ATV+ an
interactive service called „!TV4GRAZ“ was distributed via DVB-T. 150
MHP-enabled DVB-T set top boxes, including a return channel, were
provided to households for using the broadcast interactive service. The
interactive content was accessible to the consumers via an MHP-Portal. It
contained enhanced applications, like EPG or news ticker as well as
interactive applications using the return channel, like a quiz and an
interactive advertisement that included the possibility of requesting further
information.
Also Austrian cable network operators are testing MHP via DVB-C and
cable-based return channel. The cable network operator Salzburg AG ran
test applications, including news ticker, SMS/email applications, games and
ticket ordering, until February 2005.
On Feb. 23 2006 the Austrian regulator granted a license to operate two
nation wide DVB-T multiplexes to the “Österreichische Rundfunksender
GmbH&Co KG” (ORS). The ORS will serve as a platform operator for these
two multiplexes.
Part of this license is the obligation to use MHP for interactive applications.
This license explicitly refers to Art. 18 of the framework directive and the
obligation of the EU member states to encourage open API standards in its
MHP argumentation.
The ORS has published a receiver specification (to be found at www.ors.at)
which requires the implementation of MHP 1.1.2 for compliant receivers.
This specification is also valid for the satellite market as the relevant
services are also distributed via DVB-S – including the MHP applications.
It is planned to add on the first multiplex a MHP bitrate of 600 kbit/s to each
service. Besides an MHP EPG also commercial MHP applications are
foreseen.
Page 37 of 215
30th March 2006
The MHP-Guide Version: 1.0
3.6.2 Denmark
Denmark currently has digital cable (TDC) and satellite (Canal Digital and
Viasat) networks. At present, there is not too much interactivity on air.
Existing offers are either based on OpenTV (TDC and Viasat) or
MediaHighway (Canal Digital). The construction of a DTT network has just
started in 2004. This network will be based on MHP.
DR has been supporting MHP from the very beginning – through
participation in MHP Alliance, MHP Action Group, and through NorDig. In
June 2001, DR initiated an analysis project with the purpose of preparing
DR technically to develop and broadcast MHP applications. It is the result
of this work that we now see being used in the development of the DR
Portal application and its supporting infrastructure.
As DR launches the DR Portal, it will be made available in the satellite
networks in proprietary APIs as well as in MHP. This, however, refers only
to the migration period. After that it will be MHP only. The MHP-portal will
also be made available in the DTT network, and, most probably, also in the
cable network as part of the 'must carry legislation'.
The DTT network is currently under construction and will be put into
operation by in early 2006. The channels that will be available initially in the
DTT network will be DR and TV2-DK channels and a common EPG service
is also planned. The market for set top boxes will be horizontal with no
subsidizations. The DR interactive 24/7 information service was launched
in the fall of 2004 and is broadcast on satellite and later also on DTT.
3.6.3 Finland
A total of 16 television broadcasting stations and ten television sub-
transmitters in northern Finland will be digitalized during the third phase of
the extension of the digital television network.
Digital television will make numerous new channels available to the
consumers. Until now, three television channels have been broadcast via
the terrestrial television network in these areas. The extension of the
network will increase the number of channels to ten. The channels
available in the digital television are the channels TV1, TV2, YLE24, YLE
Teema (YLE Theme) and YLE FST of the Finnish Broadcasting Company.
In addition, the selection includes MTV3, MTV3+, Subtv, Channel Four
Finland and Channel Four Plus.
In addition to new channels, the digital television offers several additional
services, such as a television program guide, digital text television and
channel-specific additional services. The services are available using MHP
(Multimedia Home Platform) compatible receivers.
Digita DTT has defined some network rules of operation including special
requirements for MHP terminals in Finland. 21
Current MHP applications on air as a regular service in the DTT networks
are:
21
These rules can be found at
http://www.digita.fi/digita_dokumentti.asp?path=1841;2081;3640;2113
http://www.digitv.fi/digiProEtusivu.asp?path=9;1826
Page 38 of 215
30th March 2006
The MHP-Guide Version: 1.0
3.6.4 France
DTT was launched officially on 31st March 2005. The coverage concerned
35% of population at start and was extended to 50% until 1st of September
2005, date of the Pay TV services launch, which have the particularity to be
mandatory MPEG-4 video codec compliant. The assumption was that
interactive TV services are closely linked to pay TV offers.
No consensus could be found between the different players concerning
interactivity: whereas the public broadcasters support MHP, commercial
broadcasters are generally in favor of proprietary solutions.
No clear choice on interactivity can be made until the commercial
distribution has taken up.
A regulatory text called “Paquet Telecom” (including standard
recommendations from the European Commission toward MHP) has been
adopted in France in July 2004.
According to two technical arrests, describing the signal content
compliance as well as the legal obligation for DTT receivers, were
promulgated by the Ministry of Industry:
Receiver: the receiver must be compliant with IEC/CENELEC 62216-
1 norm.
Signal: signaling and securing information must be compliant with TS
102 812 (MHP 1.1). If any broadcaster uses another standard, it has
to be a non-proprietary open standard and it must be made known to
the CSA (French regulatory board).
3.6.5 Flandern
In Belgium, media (TV, Radio) is within the power of the communities
(Flemish speaking, French speaking and German speaking). In the
Flemish community, about 97.5% of the homes can be connected to the
cable network and more than 90% of these homes are actually connected
to the cable network to receive analogue cable television. In September
2003, the public Flemish broadcaster VRT, the commercial broadcasters
VMMa, VT4 and afterwards MTV and the owners of the cable network
Interkabel and Telenet signed a cooperation treaty called “Vlaanderen
Interactief” (Flanders Interactive). Within this cooperation, they will do
research on the technological and the social scientific side of iDTV. This
cooperation will also prepare the introduction of iDTV in Flanders. The
project is supported and funded for 12.4 million euros by the Flemish
government. “Vlaanderen Interactief” has chosen one standard: MHP.
In September 2005 Telenet started its commercial deployment of
interactive digital television. In addition to a number of digital television
channels, Telenet offers different types of applications: a TV portal, an
EPG, interactive applications like voting, VOD, shopping and will launch a
Page 39 of 215
30th March 2006
The MHP-Guide Version: 1.0
3.6.6 Germany
The major German market players have considered the introduction of
digital television including interactivity via APIs since 1995. Due to the lack
of standards, original planning had been based on proprietary systems. It
became clear soon, however, that these systems were not suitable for
open, horizontal mass markets. German partners have consequently
contributed very actively to the development and deployment of MHP.
MHP was first demonstrated publicly in Germany at IFA 1999, the first
regular services were started in mid 2002.
Meanwhile several broadcasters (all of them free TV) offer a number of
regular MHP services.
In addition to the MHP activities of established TV broadcasters, some new
players have entered the stage: The big German mail order company
"Otto" has started to offer its products via TV, using an interactive MHP
application. Furthermore, "Hörzu", a well established TV print magazine,
now broadcasts an MHP version via TV.
Even though in 2003 more digital satellite receivers than analogue satellite
receivers were sold in Germany for the first time, MHP has not yet
developed into a market success.
The start of DTT and the analogue switch-off on 4. August 2003 in the
region Berlin/Brandenburg was accompanied by the introduction of
enhanced TV services based on MHP. Since then a number of regions
followed and some are already preparing DVB-T. Due to the fact that
terrestrial analogue TV will be switched off by 2010, it can be assumed that
the purchase of DVB-T boxes will increase continuously in the next years in
Germany. Since the beginning of 2005, three DVB-T boxes enabling MHP
are available on the German market (see also section 2.4.3). The sales
prices of the MHP DVB-T boxes range from 225 € to 800 €, while prices for
DVB-T boxes not supporting MHP start at 70 €.
The higher costs and the lacking of a good promotion of MHP terminals
might constrain their powerful impact on the German TV market. If these
Page 40 of 215
30th March 2006
The MHP-Guide Version: 1.0
problems will be overcome and the broadcasters will offer more interactive
services, MHP will have a bright future in Germany.
In January 2005 some German cable operators decided to support MHP in
their networks; no regular services, however, have been implemented up to
now. The majority of the cable operators, however, is not interested in
MHP.
T-Online intended to introduce an MHP set-top-box with hard disc at IFA in
September 2005. This terminal integrates DSL which guarantees a high-
speed return channel suited for MHP applications. Value-added services
such as Video on Demand (VoD), games, ring tones, video clips are
offered and can be invoiced via T-Online.
3.6.7 Italy
On December 1st 2003, Mediaset and RAI have started digital terrestrial TV
broadcast aiming at coverage of 50 % of the population with a plan to have
a fast extension to the entire country.
By end of 2004 the coverage already exceeded the 50% threshold.
The Italian national broadcasters (RAI, Mediaset, La 7) have adopted DVB
MHP as the standard for interactive applications for the Italian DTT.
The Telecommunication authority defines the broadcast licenses for
network operators and authorizations for the TV content suppliers for an
antitrust system. As a component of the regulation, the Italian government
has allocated a budget for a contribution of initially 150 euros per
interactive DTT receiver for 900,000 receivers.
Italy is now by far, thanks to Government subsidies for interactive
receivers, the country with the highest number of MHP set-top boxes
actually deployed in consumers' houses. In 2003 and 2004 actually
730,000 MHP terminals have been deployed into the households.
In 2005 the subsidies have been lowered to 70 Euros per MHP decoder,
but an additional deployment of more than 1,000,000 MHP terminals is
expected.
In Italy there are already 15 to 30 analogue programs available. In fact,
DTT contents rely on interactivity more than quantity and in the Italian DTT
networks interactive MHP applications play a very important role.
The overall interactive offering per DTT provider is:
Mediaset 26 applications
LA7/MTV 10 applications
LA7 6 applications
RAI 8 applications
According to the deployments encouraged by the subsidies there is a quite
huge number of MHP terminals available in the Italian market.
To allow an optimum interoperability between the various networks carrying
MHP applications and the available decoders the DGTVi has generated a
"D-Book" (http://www.dgtvi.it/stat/Industry/D-Book/Page1.html).
DGTVi is an association (composed of RAI, Mediaset, La7, MTv, and the
Fondazione Ugo Bordoni) working to enable the deployment of digital TV.
Page 41 of 215
30th March 2006
The MHP-Guide Version: 1.0
On its web site, one can find the coverage of the operators for DTT
(www.dgtvi.it).
DGTVi proposes to the manufacturers to conform their products to D-Book
on a voluntary basis. A DGTVi logo (cf. Figure 3-3) has been created and
will be released for certified receivers that will pass a test procedure. These
tests are performed in a self certification process by the vendor itself.
3.6.8 Norway
On 26th February 2004 the Parliament approved that a DTT network can
be established in Norway. When the transmission will start is not published,
and is dependent on who is going to be implementer of the infrastructure.
Some conditions are the most important part of the approval:
The network shall have coverage of at least 95 % of the population.
All households in Norway shall, after the analogue switch-off, have a
digital TV offer with all the programs from NRK and TV2, and
hopefully the other Norwegian channels. This is related to total
coverage, independent of the distribution platform.
The most popular Nordic and other foreign channels are to be
included in the offer.
The analogue switch-off will be implemented region by region, and
expected to be finalized by the end of 2008. There will be no funding
from the Government.
The cost for the set-top box is expected to be NOK 1300 –1500 (EUR
165-190).
There is one company ”Norges Televisjon AS” (NTV), which is owned 50 %
by NRK and 50 % by TV 2, that has got an advanced commitment for the
license to be responsible for the DTT transmissions. They will also be
responsible for the selection of programs, establishing and running the
multiplexes and they will possibly pay for the distribution.
The government has reopened the possibility to apply for license on DTT
due to new license period. Telenor by Telenor Broadcast has signalized
that they will be one of the appliers for license in addition to Norges
Television. The Telenor owned company Norkring AS will then build the
network. They own most of the infrastructure that is expected to be used.
NTV has planned to distribute two multiplexes from the start; one with
public service broadcasters’ programs and one with some Pay TV
channels, the program package has, however, not been finally decided
upon. A third multiplex is planned for a later stage. Ahead of the analogue
switch-off there are currently only frequencies for three multiplexes.
The set-top box offer to the consumers will be based on re-tail, with some
kind of support from NTV to a few set-top box vendors. A specification for
Page 42 of 215
30th March 2006
The MHP-Guide Version: 1.0
the set-top box, mainly based on the NorDig (cf. below) spec., has been the
basis for discussions with some vendors, and the set-top boxes shall be
prepared for MHP services. (NorDig All transmissions will be encrypted.
The set-top box shall have one embedded CA solution, but the CA vendor
is still not decided.
Telenor Broadcast, including Satellite Broadcasting, Norkring and Canal
Digital, have promoted MHP since 2000. In 2000, Satellite Broadcasting
started developing an MHP 1.0 platform (play out) which was presented at
IBC2000. The reason for starting this development was that at the time no
playout platform with the wanted functionality was available. As a satellite
network operator Telenor wanted a multi-user playout to be also used for
cable and terrestrial. Several customers were to use the playout/ object
carousel while the broadcaster was to control its own applications. A web
interface was developed where the pilot customers could upload their
applications, and the Thor II satellite was used for distribution. The pilot
service started with seven customers, on satellite in 2001 and had MHP 1.0
(enhanced broadcast) on air until October 2003. The main aim was to
collect experience, to promote the use of an open API on interactive digital
TV and to stimulate the horizontal market and third party application
development. Telenor also started an MHP Forum in the Nordic countries
in 2002 together with broadcasters and application developers. The forum
had meetings where all the partners could discuss the use of MHP and how
to launch MHP in the TV market.
In 1998, broadcasters and network operators in the Nordic countries
started NorDig to specify a common standard IRD for the Nordic countries.
In 2000 NordigII was specified with MHP Interactive Broadcast profile, and
the Nordic broadcasters all promote MHP in DTH when the market is ready
both with set-top boxes and applications. All the broadcasters want to use
MHP in DTT when it is launched.
In late 2004 NRK started an MHP service on satellite and in spring 2005
they started a forum for development and usage of MHP together with the
other public Nordic broadcasters.
3.6.9 Spain
The current situation of digital television in Spain shows a panorama
broadly dominated by the satellite platform. In the case of the cable
platform estimations say that 60% of the TV cable clients received digital
television in 2004.
In the year 2004 the number of homes having a terrestrial digital decoder
begins to be of some importance, there is an estimation of about 130,000
homes with terrestrial digital decoders (mainly from the disappeared
QuieroTV). After the crash of the platform Quiero TV, the DTT was
restricted to the transmissions in digital of the operators that transmit free,
and to the very limited offer of the other two operators that obtained also
licenses (VeoTV and NetTV). During 2005 the Government has initiated a
set of actions in order to get ready for the analogue switch-off before 2010.
Thus, since November 2005, more than 20 free DTT channels are
available, some of them including MHP interactive services (EPG,
enhanced teletext, etc.)
The satellite technology is more extended and it has adopted faster the
digitalization process due to its lower update cost. But the growing
Page 43 of 215
30th March 2006
The MHP-Guide Version: 1.0
3.6.10 Sweden
The public service broadcaster (SVT) initiated broadcasting of MHP
services on all digital platforms in 2004. These services consist of
advanced text information services. A 500 user trial will soon begin in
Gävle using the DVB-T platform to trial a MHP-based community
information service.
Page 44 of 215
30th March 2006
The MHP-Guide Version: 1.0
3.6.12 Switzerland
In January 2006 the SRG (the swiss public broadcaster) has announced to
launch interactive services using MHP by 2007. MHP will then be used via
DVB-S and DVB-T. The SRG intends to use MHP also via DVB-C; the
swiss cable operators, however, have partly introduced OpenTV and would
like to keep this system.
One specific aspect of SRGs service concept for MHP is the support of
disabled people by the optional transmission of additional information.
Starting in March 2006 the terrestrial transmission will be migrated to DVB-
T. This process will be completed in 2009. Via satellite, SRG will open in
May 2006 a second DVB-S transponder to broadcast their programs.
HDTV is announced by SRG in 2010.
Page 45 of 215
30th March 2006
The MHP-Guide Version: 1.0
1
For more details and description of each API see Annex C.
Page 46 of 215
30th March 2006
The MHP-Guide Version: 1.0
DAVIC API
Contained in package org.davic.* This API comprises:
Basic MPEG concepts
Tuning between transport streams
MPEG-2 section filtering
Resource management
Access to CA information
This API was standardized by DAVIC: http://www.davic.org
HAVi API
Contained in package org.havi.* This API comprises:
Video/graphics integration
UI widgets for consumer systems and TV screens HAVi (Home Audio
Video
Solutions forhardware restrictions related to video and graphics Interoperability)
integration on TV screen.
A vendor-neutral
This API was standardized by HAVi: http://www.havi.org/ audio-video standard
aimed specifically at
the home
entertainment
environment. HAVi
4.1.3 New TV Specific functionality allows different home
entertainment and
MHP iTV applications in a TV context needed new functionalities that had communication
to be specified in the MHP standard or to be re-used from other standards. devices to be
The section below gives a brief overview of all these functionalities. networked together
and controlled from
Service Information Access one primary device,
There are two different APIs that enable the MHP application to access the such as a PC or
television.
SI:
org.dvb.si.* a DVB specific API that provides access to all DVB-
defined tables (except the AIT).
javax.tv.service.* an API independent from the underlying
technology. It supports access to most SI data, but accessing the MPEG-2
DVB tables is harder. A digital video and
audio compression
Media Control (encoding) technique
MHP applications sometimes need to control media (video, audio, subtitles, defined by the Moving
etc.); to do that MHP has defined different APIs. Pictures Expert Group
(MPEG).
Media control can be carried out via the Java Media Framework (JMF) that
allows control over MPEG-2 media and audio media presentation
(play/pause/change content).
Additional controls for broadcast-specific functions are split across several
packages: org.davic.media.* + org.dvb.media.* + javax.tv.media.*;
TV-specific functions have been added in JMF:
Subtitles,
Scaling/positioning,
Decoder format conversion,
New content referencing method in URL format to reference DVB
services and streams (locator).
Page 47 of 215
30th March 2006
The MHP-Guide Version: 1.0
Service selection
The MHP applications can control what service is being presented on the
TV screen. For that MHP has defined two APIs:
A JavaTV service selection API (javax.tv.service.selection); this
enables the application to change the current service.
A DAVIC tuning API (org.davic.net.tuning); this supports the access
by the application to data, also on TS different from the one the
current service is in.
User Input
A STB usually has no keyboard: the inputs are sent to the STB via a
remote control.
The supported key codes from a remote control are defined by MHP and
HAVI; other codes may be used, but are not interoperable. A standard set
of keys is defined (e.g. arrow keys, OK, exit, digits…). MHP also defines a
separate user input event API to support exclusive key access in
org.dvb.event package (used for entering PINs, etc).
HScene
An HScene solves the problems with frames the from org.havi.ui package
and implements the java.awt.container package.
HScene controls:
Which application has input focus,
How applications are laid out on screen,
Which applications currently are visible.
HScene acts as the top-level GUI component for any MHP application:
Only one HScene is allowed for every application (actually one
HScene per display device).
The application cannot see higher in AWT hierarchy than its own
HScene.
HScenes from other applications are not visible to this application.
Applications canot interfere with one another.
Page 49 of 215
30th March 2006
The MHP-Guide Version: 1.0
Frame
HScene HScene
Component
Display devices
A TV has different display characteristics than a PC monitor; this needed to
be included this in the display model. The HScreen class represents a
physical display device; it ties together all MPEG decoding, graphics and
backgrounds; it models the use of graphics planes in the STB hardware.
Each HScreen consists of several lower-level devices; an example
therefore is given in Figure 4-1.
Page 50 of 215
30th March 2006
The MHP-Guide Version: 1.0
HScreen
HBackgroundDevice
HVideoDevice
HGraphicDevice
Program Content
Playout
(Audio/Video/subtitle)
MUX
PSI/SI tables
PSI/SI
AIT
MHP Authoring &
Production tools
DSM-CC
Application
Object Network
carousel equipment
Network
Page 52 of 215
30th March 2006
The MHP-Guide Version: 1.0
5.1 Introduction
This chapter presents the typical architecture and infrastructure of the MHP
end-to-end chain. It also list the actors of the MHP end-to-end value chain
and their roles in this chain and presents guidelines/ recommendations for
all actors.
Program Clock
PSI/SI (6)
AIT Network
MHP Authoring & Equipment
Production Tools (10)
(2) DSM-CC (7)
(Signed) Application
Object
Stream Events
Application data
(8)
Content
New firmware
Management
System (3)
Broadcast
Content
Application
specific backend Return Channel (12) MHP Terminal (11)
server (13)
New Root
OSD
firmware certificates
Billing Information Graphics
download (5)
Return
Smartcard Mass
Channel
Billing System (9) Storage
(12)
(14)
Keys
Page 53 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 54 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 55 of 215
30th March 2006
The MHP-Guide Version: 1.0
being played out in the program content playout (1) component, but
in many operational systems this may not be the case at all times.
Time and Date Table (TDT), broadcasting time to the MHP Terminal
5.2.7 DSM-CC
MHP applications, data and events are broadcasted using a DSM-CC
playout system (7). The application and data are sent on an object DSM-CC (Digital
carousel, while events are sent as stream events. Storage Media
Command and
22 Control)
5.2.7.1 DSM-CC Files and Directories
A format for
DSM-CC offers, among other things, a mechanism to broadcast objects transmission of data
(like files and directories) in a carousel-like fashion. and control
information in an
A DSM-CC object carousel consists of three layers. At the top layer (called MPEG-2 private
the object carousel layer), the DSM-CC User-to-User objects (like files and section.
directories) are visible. These objects are transported in so-called modules.
These modules represent the middle layer and this layer is called the data
carousel layer. At this layer, the modules are just a container for data. The
User-to-User objects are not interpreted here; this is done at the top layer.
The modules are broadcast as a sequence of DownloadDataBlocks, which
are MPEG-2 private sections with added semantics. These
DownloadDataBlocks form the lowest layer.
DAVIC has specified how to refer to DSM-CC UU objects using java.io: it is
the same way MHEG refers to those objects. The MHP specification has
included this part of DAVIC and thus also uses java.io to access files and
directories in a DSM-CC object carousel.
22
This section is a slightly adapted copy of chapter 12 from: Report on ongoing standardization efforts,
Deliverable #15, SMASH, by Ivar Miljeteig and Ronald M. Tol.
http://www.extra.research.philips.com/euprojects/smash/deliver/del15/del15.pdf
Page 56 of 215
30th March 2006
The MHP-Guide Version: 1.0
CAS
CW SAS
generator EMM
generator
DVB SMS
scrambler ECM EMM
generator injector
Page 57 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 60 of 215
30th March 2006
The MHP-Guide Version: 1.0
5.3.4 Broadcaster
To define the role of the broadcaster in the end-to-end chain is not an easy
task, mainly because the term is commonly used for entities that cover
many different roles in the chain. Some, for instance, are at the same time
content provider, application developer, service provider and actual
broadcasters.
Though the word is often used metonymically for all these roles, in this
chapter it will stand for those actors responsible for the act of transmitting
media, including the management and maintenance of the DSMCC object
carousel and multiplexing.
Most MHP based services in Europe are provided by Public Service
Broadcasters.
Page 61 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 62 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 63 of 215
30th March 2006
The MHP-Guide Version: 1.0
5.3.13 End-user
The end-user is the owner of an MHP terminal, installed in its home
PSTN (Public
environment, usually the living room. It has to be taken into account that
Switched Telephone
potential users of interactive TV do not necessarily have PC knowledge Network)
and the user interface is limited to the remote control buttons and the low
The international
resolution of the TV screen. telephone system
Return channel can only be used if the MHP terminal is connected to a based on copper
wires carrying analog
PSTN or Internet. As this has to be done by the end-user and is thus not voice data.
guaranteed, every application has to ensure proper function in case the
return channel is not available.
Among the main concerns of the end-user are the ease of use, loading
time, reactivity, speed, graphics, video and audio performance of the
interactive applications.
Page 64 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 65 of 215
30th March 2006
The MHP-Guide Version: 1.0
The focus area on Return Channel (Chapter 13) covers issues regarding
the communication based on the return channel offered in the interactive
broadcast and Internet access profiles,.
The Equipment focus (Chapter 14) mainly addresses aspects of authoring
tools and play-out systems.
The Usability focus (Chapter 0) area deals with all aspects regarding man-
machine-interaction in MHP. It gives an outlook what an MHP designer has
to consider with regard to layout, navigation and the presentation of text
and images.
Other aspects deal with any other issue that cannot be allocated to one of
the before mentioned focus groups.
The following figure shows where in the end-to-end MHP architecture the
categories can be located.
Figure 6-1: Mapping of the MHP-KDB Categories in the MHP End-to-End Reference Model
Page 66 of 215
30th March 2006
The MHP-Guide Version: 1.0
7 Basic Architecture
7.1 Introduction
MHP applications can be classified into two types:
DVB-J: DVB-J (DVB-Java) applications are written in Java using the
MHP API. Basic Architecture
DVB-HTML: applications which depend on an implemented
conformant browser.
However, the latter variant is to date not used or deployed.
Applications have to be designed to meet the specific constraints of the
terminal (and playout) architecture. Only a fixed subset of JAVA / HTML is
available, many functions for advanced data processing and storage have
been cut down to a minimum. Usually only one application at a time will be
visible on the screen. It may have to share the user’s attention with the
running TV program, but not with another application. Scarce resources
play a vital role in application development, as in an MHP terminal virtually
any resource is scarce, restricting access to one application at a time. The
installation and start procedure for applications is designed to work fully
automatically, without user interference. MHP applications must not crash.
This chapter will outline the basic principles and constraints of DVB-J,
general issues about dealing with scarce resources and about migrating to
higher versions of the MHP standard, which may result in changes to the
DVB-J definition.
7.2.1 Introduction
DVB-J (DVB-Java) applications are written in Java using the MHP API set
DVB-J (DVB-Java)
and consist of a set of class files that are broadcast with a service. DVB-
Java applications are known as "Xlets". This is a concept similar to applets DVB-J applications
are written in Java
for Web pages that have been introduced by Sun in the JavaTV using the MHP API
specification. Like applets, the Xlet (cf. 9.2 Xlet Application) interface set and consist of a
requires an external source (the application manager in the case of an set of class files that
MHP receiver) to start and stop an application. are broadcast with a
service.
23
Part of ISBN: 1-892488-25-6. The OEM PersonalJava Application Environment
Version 1.2a specification - http://java.sun.com/products/specformhp
Page 67 of 215
30th March 2006
The MHP-Guide Version: 1.0
to use java classes and methods form later Java Software Development
Kits (SDKs). CDC (Connected
Device
Modern development tools such as Eclipse (http://www.eclipse.org/) have
Configuration)
features for method auto completion and real-time syntax check. These
features use the code libraries to operate. So by specifying correct MHP A Java profile for
mobile Devices that
class libraries and API documentation in such tools, developers are forced aims towards J2SE
to use correct methods and objects. compliance with
moderate resource
The MHP Knowledge database provides APIs and stub libraries developers requirements. For low
can use for this purpose. Further information can be found in Annex B. performance devices
the Connected Limited
DVB-J is an environment different from desktop PCs and this different Device Configuration
environment causes deviations in the Java environment when compared to (CLDC) is available as
PersonalJava. One example: the MHP specification Version 1.0.3 24 chapter a subset of CDC.
11.2.1 states “Each DVB-J application instance is considered to logically
run in its own virtual machine instance”. This fact has consequences for the
usage of finalizers. Chapter 11 of the MHP specification Version 1.0.3
specified in details deviations from PersonalJava including classes not
required and deviations in functionality and methods.
MHP 1.1.x continues to refer to PersonalJava and not the subsequent
specification Connected Device Configuration (CDC).
The classes used for MHP must be delivered in the Java 1.1.x compatible
format 25 . Compilers provided by SUN in subsequent Java SDKs are
capable of outputting class files that are Java 1.1.x compatible. This is
done by using the compiler parameters source and target. E.g.:
javac -source 1.2 -target 1.1 <source files>
It is important to remove the standard java API from projects to prevent that
objects that are not part of the MHP Specification are referenced and later
failing when executed in an MHP environment. DVB-HTML
DVB-HTML
applications are a set
7.3 DVB-HTML of HTML pages that
are broadcast as part
DVB-HTML is not very popular now, partly because the specification for of a service. The
DVB-HTML was only completed with MHP 1.1 and partly because many specification is based
broadcasters, terminal manufacturers and content developers find it too around a modularized
complex and difficult to implement. DVB-HTML applications are a set of version of XHTML 1.1,
and also includes
HTML pages that are broadcast as part of a service. The spec is based CSS 2.0, DOM 2.0,
around a modularized version of XHTML 1.1 and also includes CSS 2.0, and ECMAScript.
DOM 2.0 and ECMAScript. Up to date there is no test suite available for
DVB-HTML, so the DVB-HTML support in MHP terminals cannot be
certified.
24
ETSI ES 201 812 V1.1.1 - http://pda.etsi.org/pda/home.asp?wki_id=NQi7pkU'e9@_22@@TK7My
25
The Java VM Specification section 4.1 states that the version numbers encoded in the class files are defined by
Sun, and that 1.0.2 supports class file format versions 45.0 through 45.3 inclusive; 1.1.X can support class file
formats of versions in the range 45.0 through 45.65535 inclusive; and 1.2 of the Java 2 platform can support
class file formats of versions in the range 45.0 through 46.0 inclusive.
There are several tools available for presenting information about java class files including version number.
One example is Class editor http://sourceforge.net/projects/classeditor/
Page 68 of 215
30th March 2006
The MHP-Guide Version: 1.0
7.4.1 Memory
It is mainly to save costs why many MHP terminals tend to have rather little
memory. The MHP standard does not directly mandate a minimum memory
size, but names a number of short test procedures the terminal has to
pass. From these procedures a minimum memory requirement of estimated
4 megabytes can be derived. Luckily most terminals on the market have
more memory, still it can be considered as a scarce resource. Unlike other
scarce resources the memory cannot be blocked by just one application,
but the amount and size of concurrently running applications influences the
overall box performance.
In general, MHP terminals are not built for real multitasking. Only one
application should be active and visible on the screen at any given time.
Further applications, like a general portal application, may run in paused
mode in the background to get restarted when the user decides to leave
the current application. The paused mode was introduced to keep
applications running in the background in a kind of hibernate mode with
very little resource usage. When an application is sent to pause mode, all
memory consuming objects, like images, should be destroyed, whereas
they will be built up again when the application is restarted. This way,
applications that are used frequently have to be loaded from the object
carousel only once while the user is viewing the current service.
It may happen that there is not enough memory available to start further
applications. In this case the MHP terminal may reject any try to do so.
However the way the terminal reacts is implementation specific.
The valid applications for a service are listed the Application Information
Table (AIT). It is important to make sure that these applications could run
simultaneously on the minimum MHP terminal configuration that is going to
be used to consume this service.
Page 69 of 215
30th March 2006
The MHP-Guide Version: 1.0
been granted file access permission are able to read, write and delete files
on a persistent area of the device memory.
To signal a signed application the application id value must be in the range Range of app_ID
of 0x4000 to 0x7FFF. Otherwise, the permissions for file access cannot be
More details about the
granted. By default, signed applications have access to the same values range for
resources as unsigned applications. Signed applications can request application_id can be
additional permissions through the use of a signed "Permission Request found in section
File". The permission request file is an XML file conforming to the DTD 10.5.1 Encoding [MHP
1.0.3].
described in section 12.6.2 Permission request file [MHP 1.0.3]. This file
must reside in the same folder as the main class of your application, and is
named with the following format: dvb.<application name>.perm where
“application name” is the fully qualified class name of the initial class for the
application. (e.g. “org.mhpkdb.app.MainClass”)
Each element in the permission request file corresponds to a specific
resource requested for the application. From an application standpoint,
permissions are represented by subclasses of
java.security.Permission. Each subclass represents a different
resource that an application must gain permission to access. The
permission class representing the persistent storage is
java.io.FilePermission.
The file access request in the permission file would look like <file
EXPERT LEVEL
value=”true”></file>. Below is an example of requesting access to use
the persistent storage. The permission file would contain the following
contents:
<?xml version="1.0"?>
1.0//EN" "http://www.dvb.org/mhp/dtd/permissionrequestfile-1-0.dtd">
<file value=”true”>
</file>
</permissionrequestfile>
Page 70 of 215
30th March 2006
The MHP-Guide Version: 1.0
The root of the persistent storage area can be retrieved from the
dvb.persistent.root system property. Applications are constrained to
this directory and its subdirectories. Trying to access its parent directory will
result in a java.lang.SecurityException being thrown. Applications
have read-only access to this directory.
The MHP implementation will automatically create the following
subdirectories for each application under the persistent root directory:
<organization_id>
<organization_id>+<file.seperator>+<application_id>
line.separator
dvb.persistent.root
sBuffer.append(System.getProperty("dvb.persistent.root"));
sBuffer.append(System.getProperty("file.separator"));
sBuffer.append(xletContext.getXletProperty("dvb.org.id"));
sBuffer.append(System.getProperty("file.separator"));
sBuffer.append(xletContext.getXletProperty("dvb.app.id"));
sBuffer.append(System.getProperty("file.separator"));
sBuffer.append("testFile.txt");
Page 71 of 215
30th March 2006
The MHP-Guide Version: 1.0
java.io.FilePermission testPermission =
try{
java.security.AccessController.checkPermission(testPermission);
}catch(AccessControlException ace){
Page 72 of 215
30th March 2006
The MHP-Guide Version: 1.0
NetworkInterfaceManager
The network interface manager keeps track of broadcast network interfaces
that are connected to the receiver. There is only one instance of the
network interface manager in a receiver and here the tuner is selected.
static NetworkInterfaceManager getInstance(): The method
returns the singleton instance of the NetworkInterfaceManager.
NetworkInterface[] getNetworkInterfaces(): This returns an array
of available network interfaces.
Page 73 of 215
30th March 2006
The MHP-Guide Version: 1.0
NetworkInterface
This class offers information about a particular network interface.
int getDeliverySystemType(): The method returns an integer value
that identifies the type of network that this interface accesses.
TransportStream getCurrentTransportStream(): This returns the
transport stream to which the network interface is currently tuned.
Returns null if the network interface is not currently tuned to a
transport stream, e.g. because it is performing a tune action.
Locator getLocator(): Returns the locator of the transport stream to
which the network interface is currently connected. Returns null if the
network interface is not currently tuned to a transport stream.
boolean isLocal(): This method was intended to allow a unified
interface to tuners both in the receiver and in other devices, i.e.
whether the respective network interface is built into the terminal or
connected externally.
boolean isReserved(): This method tells the applications whether
the network interface has been reserved by an application for tuning.
NetworkInterfaceController
This class provides a mechanism for applications to actually control a
network interface and to use it to tune to a new transport stream. Once a
NetworkInterfaceController has been successfully bound to a network
interface, an application can actually start tuning.
reserve(NetworkInterface ni, Object requestData): Tries to
reserve the given network interface for exclusive access by the
calling instance of NetworkInterfaceController.
release(): After the tuning operation the network interface has to be
released again by calling this method.
tune(Locator locator): Tunes to the given locator.
modem also involves extra costs, only signed applications are allowed to
access the dial-up modem. An MHP-receiver will also ask for a users’
permission ahead of the attempt to establish this dial-up connection; the
allowed numbers might also be stored in a “white list” so the user is not
always being interrupted when a dial-up connection needs to be made.
In general, return-channel interfaces are described in the class
RCInterface; for connection-based (e.g. PSTN) the class
ConnectionRCInterface defines the different procedures for getting
access and releasing the return channel.
Access to the return channel is managed by the class
RCInterfaceManager.
7.5 Migration
This sub-section provides an overview of all MHP-migration aspects. Part
one covers migration from legacy applications to MHP applications. Part
two deals with migrating to an updated version of MHP (e.g. from MHP
1.0.2 to MHP 1.0.3).
Legacy app.
Type A
MHP Applications
MHP API
Application
System Software Manager
Plug-in B
Ressources
Page 75 of 215
30th March 2006
The MHP-Guide Version: 1.0
The plug-in solutions require to have implemented the respective plug-in for
the legacy middleware. This is efficient if we have a lot of legacy
applications to migrate. On the other hand, the plug-ins demand additional
implementation effort and, for type A, also higher processing power in the
decoders.
Re-authoring, on the other hand, can require more effort if we have a lot of
applications to migrate but it results in truly portable applications which are
better designed. If the proprietary decoder populations have to be
supported as well for a certain time, re-authoring also requires simulcasting
of applications in both API versions.
Alternative migration approaches are described in more detail in the
document “Guidelines on Migration” [MHPKDB-1MHPKDB] which can be
found on the MHP-KDB website.
Page 76 of 215
30th March 2006
The MHP-Guide Version: 1.0
Change type
8%
21%
5%
44%
22%
Most of the changes between the two versions are due to clarifications.
Modification type
3%
Change
42%
Add
55% Delete
Among all modifications the most important type are changes and
additions, very little from previous version was deleted.
Page 77 of 215
30th March 2006
The MHP-Guide Version: 1.0
4%
8% 16% Application
DVB-J API
9% Media
0% DSMCC-IO
9% Graphics
2%
1% Security
Event
5%
Havi
11%
Mpeg
SI
Return Channel
18%
Other
17%
Backward compatibilty
12
Change
Add
Delete
28
Page 78 of 215
30th March 2006
The MHP-Guide Version: 1.0
8 Broadcast Protocols
NOVICE LEVEL
8.1 Introduction
There are several different protocols that can be used for broadcasting data
and applications. This chapter will go through these, from the most basic
overview through to detailed technical descriptions on some subjects. In
most cases you will find the information you need here, but in some cases
you may be directed to external sources to perform further studies.
Broadcast Protocols
8.2 Transport Stream Elements
A good understanding of the transport stream concept is a great advantage
when developing or broadcasting MHP applications. This section will give
an introduction to the relevant standards and building blocks that form a
transport stream.
Page 79 of 215
30th March 2006
The MHP-Guide Version: 1.0
Transport Stream 1
Service 1
Elementary Video 1
Streams
Audio 1
Audio 2
Application 1
Data 1
ECM
Service 2
Service n
Video
Video Compression
Program
Clock Mux
Audio Audio
Compression
Typically, a device called MPEG-2 encoder will have a video input and a
number of audio inputs. The video and audio is uncompressed before it is
fed to the encoder. The encoder will then compress the video and audio
Page 80 of 215
30th March 2006
The MHP-Guide Version: 1.0
and multiplex the streams into a transport stream that contains all the
elementary streams of a service.
The use made of the “Program Clock” is explained in section 8.2.2.4.
The resulting transport stream will contain packets of all the underlying
elementary streams.
188 bytes
8 1 1 1 13 2 2 4
The figure above shows the fields of the MPEG-2 packet. The first byte is a
sync byte that is used to identify the beginning of a packet in a continuous
stream of bytes. It always has the value of 0x47.
The transport scrambling control field indicates if the packet is scrambled
(see section on scrambling for more information on scrambling). The last
field is a counter to field that is primarily used to detect packet loss. The
continuity counter is incremented for each packet sent for each elementary
stream. This way it is very easy to detect that a packet is missing at the
receiver if the continuity counter skips a number. See the MPEG-2 Systems
specification for a detailed explanation of the remaining fields.
8.2.2.4 Synchronization
The encoder will puts time codes, called Presentation Time Stamp (PTS) in
all the audio and video packets that will be used by the decoder to correctly
synchronize the audio and video. The PTS is relative to the Program Clock
Reference (PCR). The PCR is derived from a clock that is either internal to
encoder or external, this depends on the make and model of the encoder,
but in any case it is a clock that is used to enable the decoder to correctly
present synchronized audio and video. The PCR is used as a reference for
all program content of a given service; also MHP applications can be
synchronized to the PCR. This is done using a mechanism called ‘normal
play time’ (NPT), which in turn is synchronized to the PCR.
The PCR is sent in a separate elementary stream or as part of one the
other elementary streams embedded in the packets. Again this depends on
setup, make and model of the encoder.
8.2.4 MHP
MHP makes use of the standard DVB transport stream protocols and DVB
service specifications. There is a new table added to the services if they
carry an MHP application. This is the Application Information Table (AIT).
See chapter 10 for details. The application is then broadcasted using the
DSM-CC format, which is described in detail in a following section of this
chapter.
This means that the client may have to wait a full lap to access a specific
file unless the file is repeated several times during one lap. The longest
access time for a file is defined by the bandwidth of the carousel and the
size of the data on the carousel.
MHP applications and data are broadcasted in object carousels. DSM-CC
also supports data carousels that are the simplest form of carousel.
26
Part of this section is a slightly adapted copy of chapter 12 from: Report on ongoing standardization efforts,
Deliverable #15, SMASH, by Ivar Miljeteig and Ronald M. Tol.
http://www.extra.research.philips.com/euprojects/smash/deliver/del15/del15.pdf
Page 83 of 215
30th March 2006
The MHP-Guide Version: 1.0
A DSM-CC object carousel consists of three layers. At the top layer (called
the object carousel layer), the DSM-CC User-to-User objects (like files and
directories) are visible. These objects are transported in so-called modules.
These modules represent the middle layer and this layer is called the data
carousel layer. At this layer, the modules are just a container for data. The
User-to-User objects are not interpreted here; this is done at the top layer.
The modules are broadcasted as a sequence of DownloadDataBlocks,
which are MPEG-2 private sections with added semantics. These
DownloadDataBlocks form the lowest layer.
Each module cannot be larger than 64 Kbytes, but a single file cannot be
divided into several modules. Thus files that are larger than 64 Kbytes 27
have to be contained as the only file within one module.
DAVIC has specified how to refer to DSM-CC UU objects using java.io: it is
the same as how MHEG refers to those objects. The MHP specification has
included this part of DAVIC and thus also uses java.io to access files and
directories in a DSM-CC object carousel (cf. Annex C - Presentation of the
MHP APIs)
For more information on DSM-CC see [GuidelinesDataBroadcasting].
NOVICE LEVEL
8.3.2 Object carousel optimization
When you write MHP applications you probably want the application to be
perceived as fast and smooth as possible. This might be achieved by
optimizing the object carousel.
There are two basic ways of optimizing the object carousel; either by
organizing and grouping the files wisely in the modules or by repeating
critical files several times in the object carousel. The first method is quite
difficult and requires detailed knowledge about how the application is
designed.
The latter is probably easier, but has its disadvantages as well. When you
start to repeat files in the object carousel this will affect the size of the
object carousel. When the size of the object carousel is increased, the
access time of other files (those that aren’t repeated) increases, potentially
27
The broadcaster/developer should be aware that broadcasting too large files may cause the application to not
function correctly on all MHP terminals as they often have limited resources and may not be able to handle a
file if it is too large.
Page 84 of 215
30th March 2006
The MHP-Guide Version: 1.0
slowing down other parts of the application. A bigger object carousel also
increases the cost of deploying an application as the required bandwidth
increases. This is a trade off that has to be taken into consideration when
optimizing the object carousel.
NOVICE LEVEL
8.4 Synchronization
For MHP applications it is often necessary to be synchronized with media
content like audio or video. To enable MHP applications to run
synchronized to the media content, the so-called stream events are used
by MHP. A stream event is a small data-packet that will be sent by the
broadcaster to the MHP terminal to hand it over to the MHP application.
These stream events can contain a limited amount of application specific
content, which can be used to provide additional information like the text of
a question for a quiz show application.
Stream events are sent along the content to the MHP terminal and will be
handed over to the Xlet by the middleware. The Xlet itself only needs to
register a listener for a specific stream event and will be informed by the
MHP terminal, if the according stream event was received. All necessary
actions like filtering the transport stream as well as extracting and parsing
the data will be done by the MHP terminal. If a stream event is available for
the MHP application, then the middleware will create a StreamEvent object
which it provides to the registered Xlet’s StreamEventListener object.
There are two kinds of stream events defined in MHP: Do-It-Now as well as
scheduled stream events. While Do-It-Now stream events will be provided
to the Xlet’s listener right after the MHP terminal receives the event, the
scheduled stream events are delayed by the MHP terminal until the time of
the event matches the normal play time of the service.
The difference of these two kinds of stream events has no impact to the
MHP application. The subscription of a stream event is independent of the
stream event type.
Do-It-Now stream event must have an event identifier in the range 0x0001
to 0x3fff.
Page 86 of 215
30th March 2006
The MHP-Guide Version: 1.0
invoke the stream event creation on the API at the time the event should be
received by the Xlet (please take into account the little delay, which the
stream event needs from the headend to the MHP terminal).
For scheduled stream events also the normal play time must be provided.
In the Xlet a listener must subscribe to a defined stream event. This is done
by creating a DSMCCStreamEvent object, which points to the stream
event object contained in the DSM-CC. With the DSMCCStreamEvent all
available event names/identifier can be retrieved as well as one or more
listeners registered for an event.
For further information see also issue KDB issue identifier 9 “Stream events
in MHP” in the KDB.
Page 87 of 215
30th March 2006
The MHP-Guide Version: 1.0
version number and 8-bits section and last section number. Whenever the
standard header is used a 32-bit CRC is expected at the end of the section.
Section filters are used to extract a specific section or a series of sections
from the TS. The filter specifies a table id and a specific bit pattern for the
section to be identified with. The first section matching the filter in the TS is
copied and returned. There are also special versions of filters for getting
complete tables or other series of sections.
8.5.2 MHP
Section filters in MHP are 8 bytes long and consist of both values and
mask. The mask will determine which bits to include in the filter while the
values will dictate a possible match. The filter can start between the 3rd and
31st byte of the section, excluding the header. Both positive and negative
filters are available; positive filters will trigger when the bit pattern defined
match a section, while negative filters do the opposite. The latter is useful
when monitoring changes in a section, e.g. a version number different than
the current.
8.5.2.1 API
In MHP the section filtering is contained within the
org.davic.mpeg.sections package. A filter is defined through the
startFiltering method of the SectionFilter class.
startFiltering(java.lang.Object appData, int pid, int table_id, int offset, byte[]
posFilterDef, byte[] posFilterMask, byte[] negFilterDef, byte[] negFilterMask)
STB while running. Hardware filtering will usually not affect any other
operation.
There are few implementations that do all filtering in software. In the
simplest form this will only include PID hardware filtering. In those cases
where some of the filtering is performed in software, this is most likely to be
the bit-masks, and then maybe just a subset of these. E.g. it is possible that
only the positive mask will be filtered in hardware or otherwise only the very
first bytes in a section.
Any hardware filtering will always be performed first and only after this will
a software check verify a match or not. For implementers it can therefore
be useful to filter on as many early bits in a section, and leave out later bits
and possibly negative filters if not absolutely necessary.
8.5.4 Examples
For further information see entries below in the MHP KDB database:
“Private section for up-to-date text data?”
http://mhp-kdb.s3.uni-essen.de/nukes/?module=issue_view&op=FillData&id=20
“What is the fastest way to download files? MPEG or DSMCC?”
(http://mhp-kdb.s3.uni-essen.de/nukes/?module=issue_view&op=FillData&id=26)
“Read private sections from transport stream”
(http://mhp-kdb.s3.uni-essen.de/nukes/?module=issue_view&op=FillData&id=27)
Page 89 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 90 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 91 of 215
30th March 2006
The MHP-Guide Version: 1.0
Applets were designed for use with Internet browsers and a full set of Java
classes as included in standard Java Runtime Environments. Applet:
An Applet is a partial
Xlets are geared towards consumer device applications, such as a
Java application
television-broadcasting environment. They use a well-defined lifecycle of program designed to
Loaded, Paused, Active, and Destroyed states, particularly tailored to run inside the womb
environments like television. of a web browser, with
help from some
Applets are significantly linked to a mouse controlled GUI, but most predefined support
consumer electronics devices are operated by a remote control. Applets classes.
are typically linked to HTML pages and AWT. An application that allows
keyboard navigation and operation can be suitably run as an Xlet, when the HTML (Hypertext
used AWT components will be replaced by HAVi controls. Markup Language):
Due to the fact that an Xlet might originate from an unknown or not Language to describe
trustworthy system and the security restraints safeguards the system content for the world
wide web. It is
resources, applets and Xlets use a similar security model. Xlets should not possible to create
be able to access system-critical resources or interfere destructively with links between HTML
the operation of other Xlets. content and to
integrate in addition to
texts and graphics
9.2 Xlet Application also interactive
content.
Xlets have a well-defined lifecycle with Loaded, Paused, Active, and
Destroyed states.
initXlet startXlet
(not loaded) Loaded Paused Active
pauseXlet
NOVICE LEVEL
Destroyed
The basic
programming interface
for graphical user
Figure 9-1: Xlet lifecycle state machine diagram interfaces in Java. All
other graphical user
Loaded: the DVB-J application instance is loaded but not initialized. interfaces available in
Java (like Swing) are
Paused: the application instance minimizes its usage of resource. based on AWT.
Active: the application instance is working and providing service.
Destroyed: the application instance has released all its resource and
terminated.
The reason of having these different application states can be found in two
MHP inherent restrictions:
Page 92 of 215
30th March 2006
The MHP-Guide Version: 1.0
Page 93 of 215
30th March 2006
The MHP-Guide Version: 1.0
NOVICE LEVEL
9.4 Stored applications
MHP 1.1 introduces “stored applications” as a third application type in
addition to the currently existing broadcast and resident applications. A AIT (Application
Information Table)
stored application is a broadcast MHP application that can be stored on the
MHP terminal for later usage. This can be useful if the application is Service bound DVB-
Table describing all
reloaded from the faster local storage instead of the broadcasted data available MHP
carousel. A stored application associated with a broadcast service can only applications of that
be started when it is currently signaled in the AIT of a broadcast service, service. Used to
even if it is already stored on the MHP terminal. signal and control the
MHP applications of a
In addition to stored applications related to a specific service, also stand- service.
alone stored applications can be developed, like, for example, a game.
Page 94 of 215
30th March 2006
The MHP-Guide Version: 1.0
not possible for the MHP application to selectively remove files from the
storage of the stored application like it is not possible to delete files in the
data carousel.
Despite the MHP 1.0 definition of filename restrictions for persistent
storage (see chapter 14.6.1 of MHP 1.0 specification), the MHP 1.1 defines
an exception for the filenames of a stored application. Stored applications
can therefore contain files in the storage of the MHP terminal, the names of
which exceed the restriction of MHP 1.0. This exception is only valid for the
files downloaded from the data carousel to the MHP terminal’s storage.
Files that are created by the stored application in the persistent storage are
still limited to the filename restriction of MHP 1.0.
A stored application is signaled in the AIT like any other broadcast MHP
application. In addition to the signaling of normal MHP applications, stored
applications contain an Application Storage Descriptor in the common
descriptors loop or application descriptors loop of the AIT. This descriptor
contains information about the kind of storable applications (broadcast
related or stand-alone) and the versions of the application. If any file of the
stored application changes, the version number must be increased by one.
The version numbering should be unique and if no version number was
available anymore, a new application identifier should be used.
To enable the MHP terminal to store the necessary files of the MHP
application, an Application Description File must be supplied in the data
carousel of the application. The Application Description File has an XML
structure and is described in the MHP 1.1 specification, chapter 10.14.3
Application description file. In chapter 9.1.9.1 Version management, some
more information about the versioning and updating of a stored application
will be given. If an application updates too often, the MHP terminal can
refuse to perform these updates. A good advice is to avoid the storage of
frequently updated files by not listing such files in the Application Descriptor
File.
Last but not least, the permission request file is related to stored
applications. With the element application storage in the permission
request file the right for controlling stored applications can be obtained.
Page 96 of 215
30th March 2006
The MHP-Guide Version: 1.0
10 Service Signaling
10.1 Introduction
Applications often require aligning with other instances or timings. After
applications have been developed, there are some additional steps that
need to be taken. They need to be transmitted - i.e. included in the
Application Signalling
transport stream, and their presence and nature needs to be signaled. The
signaling serves different purposes:
to give notice to the receiver that an application is available
to give notice to the receiver what the application contents
to provide eventual signaling from the broadcaster to the application
This chapter provides information on how the signaling is happening as
defined in the MHP standard.
Page 97 of 215
30th March 2006
The MHP-Guide Version: 1.0
Furthermore the Stuffing Table (ST), the Selection Information Table (SIT)
and the Discontinuity Information Table (DIT) are defined, but they are less
relevant for MHP application programming at the moment.
Page 99 of 215
30th March 2006
The MHP-Guide Version: 1.0
11 Security
This section gives a brief theoretical background of the security problem,
the identified security goals and the nature of possible security threats. In
the following, the MHP security framework and the application rights model
are described.
Security
11.1.1 Integrity
Integrity is given when a certain piece of information is not tampered in an
unauthorized manner. In general it can be said that any modification that
happens against the intention of the owner of the information violates its
integrity.
When looking closer at an execution environment for interactive
applications, two kinds of information can be identified: data and code, or in
more detail: data, application code and system code. Hence, integrity
comprehends integrity of those three parts.
System code (MHP implementation on a MHP terminal) can be considered
as static and its integrity (in particular of its security relevant parts) has to
be permanently ensured by the manufacturer. If this is not the case any
security model collapses. The integrity of the system code therefore has to
be presumed by broadcasters and developers.
Application code is transmitted together with according data to the user
terminals via the broadcast channel. Because the source of the application NOVICE LEVEL
is firstly not known, the integrity of a received application code can not be
assumed. The MHP-terminal has therefore to be provided with possibilities
to check, if the source of an application is trustworthy,
to recognize if code has been tampered before receiving it and
to ensure that already received code cannot be tampered within the
terminal by other applications.
Integrity of data is the actual goal behind the integrity aspect. However, in
every computer system data is processed and modified by code. Therefore
the integrity of code (as described above) is one of the necessary
conditions for the integrity of data.
Data are either received via the broadcast channel together with the
appropriate code or created and stored on the user terminal by
applications. In this respect, further conditions for data integrity are
therefore
the prevention (or at least the recognition) of unauthorized
modification of data before or during broadcast and
the prevention of unauthorized modification of data within the
terminal by other than the native code.
Page 102 of 215
30th March 2006
The MHP-Guide Version: 1.0
11.1.2 Confidentiality
Confidentiality is given, if a piece of private information cannot be accessed
by third party without authorization of the owner. Relating to iTV systems
the security aspect of confidentiality covers two issues.
The first case concerns private information (data and code), that a
broadcaster (owner) distributes via the broadcast channel and that
therefore can be received by all user terminals. However, normally due to
their business models (e.g. pay-TV), broadcasters might want to restrict
access to their content for example to certain users who have subscribed
and paid for a certain service TV service. Confidentiality can here be
achieved by conditional access systems (CA) through content encryption
by the broadcaster and the appropriate distribution of keys for decryption to
authorized users. Since MHP provides the usage of CA systems, the
confidentiality condition can be fulfilled also for MHP applications by
encrypting object carousels. Hence, this possibility is not further elaborated
here in the context of security.
The second case concerns private information of the user (e.g. credit card
information, passwords, etc.) generated by user interactions and then NOVICE LEVEL
stored on the user terminal by an application. The confidentiality of user
information is only endangered if the user terminal is connected to a return
channel; otherwise the private information cannot be transferred or viewed
by another party than the user. However, if the return channel exists, also
the possibility is given that an application (either accidentally or
deliberately) transmits private information from the user terminal to
unauthorized thirds. Therefore the MHP-terminal has to ensure
that only trustworthy applications are granted access to user
information stored on the terminal.
11.1.3 Availability
Availability is given, if it is possible to use the different services of a system.
On the MHP-terminal, the applications and the system code itself have to
share the available resources of the system. If one application manages to
consume a certain resource to a disproportional extent, the availability of
other applications or even of the system is endangered.
Application code that was willfully written to destroy the balanced resource
distribution within a system is called “denial of service attack”. But also
code that simply contains bugs can accidentally lead to a denial of service.
A problem in this context are Deadlocks that occur when at least two
processes within a system block each other by awkward allocation and
request of resources. The system therefore needs a possibility to dissolve
deadlocks if they occur. In every case, the MHP system has to control the
access to system resources and it has to control the consumption of
resources after it has granted an application access to them.
However, loss of service availability of is not the only danger that occurs
NOVICE LEVEL
when applications from an unknown source get access to the resources of
a MHP terminal. Thinking to the abusive use of the modem by dialing a
premium rate phone number makes clear that access to certain system
resources can only be given to trustworthy applications.
Therefore, it can be stated as a security requirement for an MHP-terminal,
Page 103 of 215
30th March 2006
The MHP-Guide Version: 1.0
that applications only can make use of system resources they are
allowed to use and
that certain resources can only be used by trustworthy applications.
its private key for encryption and stores the public key (necessary to verify
the signature) in the corresponding certificate file.
Actor Role
Certification = CA
Authority (cf. 5.3.12)
It creates, issues and manages the certificates.
Root CAs are part of the DVB-MHP PKI.
The DVB MHP PKI hierarchy is resilient because at each level the
Certification Services Provider operates two signing Certification
Authorities, each of which issues Certificates. A recipient receives one from
each Signing CA, an Active and a Substitute. In the case of Manufacturers,
the Root Certificates for the DVB MHP PKI hierarchy are embedded in the
MHP Terminals they manufacture. If one is compromised or otherwise
revoked, the Application Developer would be provided with the necessary
authorization to make use of the Substitute Root Certificate, which would
activate the Substitute hierarchy. The revoked Root Certificate is replaced
by a delivery of a new Root Certificate authenticated by one DVB MHP
Root CA and by the RCMM Signing CA which only uses its Certificate for
this purpose.
The DVB Services Infrastructure describes those entities under the direct
responsibility of DVB Services Sarl. These include the DVB MHP Root
CAs, the RCMM Signing CA and the DVB MHP Signing CAs. The DVB
MHP Signing CAs issue Certificates to entities outside the infrastructure,
Certificate Subscribers and Subordinate Signing CAs. These Subordinate
Signing CAs operate under their own Certification Practice Statements,
which must be however consistent with this CPS. The DVB Services
Infrastructure, together with these extensions, comprises the DVB MHP
PKI.
Certificate Subscribers
MHP Terminal
Vendors
Application Developers Broadcasters
CRL,
RCMM MHP E2E
Signed applications MHP
Broadcast
Terminal
Chain
Figure 11-2: The DVB Services Hierarchy
pair and associated certificate of their own to sign applications in the same
manner as described for an application developer.
Broadcasters also have a responsibility to include management messages
to MHP receivers with each application that is delivered. These
management messages include lists of certificates that are considered
invalid (Certificate Revocation Lists) and changes to the root certificates
stored in receivers (Root Certificate Management Messages). The files that
contain these messages are available to broadcasters from DVB Services
SARL.
CRL (Certificate
11.3.6 Certificate Management Revocation List)
X.509 certificates may be revoked by the issuing certificate authority prior Contains a list of
to their regular expiration date. Possible reasons for that are that a certificates that have
broadcaster’s private key has been compromised or a broadcaster stops been revoked prior to
using a certificate authority. Each certificate authority publishes a list of their date of
expiration.
revoked certificates, called a Certificate Revocation List (CRL).
The CRLs are transmitted to the MHP terminals usually within the object
carousel. The possibility of using the interaction channel for the distribution
of the CRL files is also given but is in most cases not favorable due to the
limited availability of return channels in the user terminals.
When authenticating an application, MHP-terminals have to inspect the set
of CRL files periodically and cache the revocation information for future
use. During the validation process of a certificate chain, the CRL of each
certificate authority on the certification path is checked.
It has to be noted that it is not necessary and also not desirable to sign all
files in a directory tree. This however means that the MHP-terminal has to
take care that in particular the class files whose code contains security
relevant instructions, are authenticated before execution.
This principle distributes the power among the broadcaster and the user
and hence reduces the danger that an application carries out unauthorized
actions. The application is only permitted to carry out actions that fulfill both
conditions.
The third factor that influences the permissions an application is given is
the fact, if an application is signed or not. Only if an application is properly
signed – i.e. the permission request file can be authenticated by the
terminal – the permissions requested in the permission request file will be
assigned the application.
Unsigned applications or signed applications that cannot be authenticated
(e.g. because one of the certificates in the chain has been revoked) are
only given the default rights. The MHP-specification defines in section
11.10.1 [MHP 1.0.3] some default permission and restrictions.
In addition to permissions, the permission request file may also request
credentials. A credential is a right owned by a third entity and therefore has
to be certified by this entity. Credentials are therefore necessary e.g. if an
application wants to access data stored in the persistent storage that is
owned by another application.
The MHP terminal must decide if an application can be given a particular
permission in the moment the application queries the presence of this
permission for the first time or when the an application invokes an action
that requires the permission for the first time.
TV Viewer
The MHP platform allows these planes to be blended using some of the
Porter-Duff alpha composition rules. Figure 12-2 illustrates the Porter-Duff
alpha composition rules.
In addition to alpha composition MHP has optional support for HAVi mattes.
As briefly explained, the MHP Platform provides a good foundation for
building applications with advanced graphic layout, look and functionality.
NOVICE LEVEL
12.3.1 Java Media Framework 1.0
The Java Media Framework 1.0 was published 1998 by Sun, Silicon
Graphics and Intel for enabled Java applications to manage time-based
media content. It provides interfaces and classes to access media content
in a standardised and platform independent way.
It provides classes for providing the content (DataSources), for rendering
(Player) and for controlling the playback of the media (Controls). The
Player is also responsible for fetching the data from the source,
synchronising the media (audio and video) by a clock and provides a visual
component which contains the decoded video.
An application has only to create a Player object by specifying the URL of
the media source, add a ControllerListener and start the playback.
The ControllerListener is necessary, because the JMF itself is
working asynchronous and sends events if a state change (e.g. player is
ready for rendering) occurs.
28
http://en.wikipedia.org/wiki/Alpha_compositing
with an own Processor for changing a part of the content and providing
that to a DataSink.
To access the media data by Java it is necessary to decode, stream and
rendering the complete media information in Java. This slows down the
processing speed of media content on small devices. For Java applications
that playback time-based media content completely with in Java, a powerful
device like a PC is currently necessary.
NOVICE LEVEL
12.3.3 Java Media Framework on MHP terminals
MHP implements only Java Media Framework 1.0, because the DataSink
PVR (Personal Video
and Processor concept of JMF 2.0 is too heavy for today’s MHP Recorder):
terminals. Normally the main source of media is the media content in the
A PVR is a receiver
DVB stream. The media cannot be rewind or fast-forward – except the equipped with storage
MHP terminal implements the special PVR extension. Also the media can for recording digital
be delivered by files in the DSM-CC. media and an
appropriate user
On MHP terminals the implementations of the Control interface need not interface that also
to return a Component for the graphical user interface. Also the visual allows scheduling
automatic recordings.
component of a Player may return null if no such component is available
on the MHP terminal. But if a MHP terminal returns a Player, then it must
support it completely. In addition, the Player must not return a
GainControl, which is used to change the audio volume.
In addition to the standard JMF there are some extensions like controls for
accessing MHP specific features (e.g. selecting another language for the
subtitling) or special events for signaling the Player’s state of a
DripFeedDataSource.
the access to all Control objects available for the currently selected
media is most important function. With the method for getting the
Controls of the Player, the media content can be accessed and
modified, for example the size of the displayed video can be altered or the
selected language of the audio can be changed.
The Control classes which are supported or introduced by MHP are
listed in the sections below. But all instances of Player support all
Control classes. If a Player only supports a subset of the Control
classes available by MHP, then the Player only returns the Control
classes it supports itself.
12.3.5.1 LanguageControl
This is the base interface for all Control classes dealing with language
related content. It allows retrieving the available languages for the content
as well as the selection of a specific language content or the default
language content. A Control doesn’t implement this interface directly, but
one of its sub-interfaces: AudioLanguageControl or
SubtitlingLanguageControl.
For selecting a language, the ISO 639 code must be used. If the service
contains more than one component with the same ISO 639 language
identifier, then the first signaled component with the requested identifier will
be selected. To select another component with the multiple used ISO 639
identifier the MediaSelectControl must be used.
12.3.5.2 AudioLanguageControl
The AudioLanguageControl is responsible for select the audio
language. If a service contains more than one audio component with
different languages, then the audio can be changed through this Control
by using the language ISO 639 specification.
12.3.5.3 SubtitlingLanguageControl
To control the language of the service’s subtitling, this Control can be
used like the other LanguageControl classes. In addition to the selection
of the language to display, the SubtitlingLanguageControl also
allows the retrieval of the subtitling state as well as a method to switch the
subtitling on or off.
12.3.5.4 SubtitlingEventControl
SubtitlingEventControl is a sub-interface of the
SubtitlingLanguageControl and therefore it inherits the functionality
of the SubtitlingLanguageControl. But it extends it by the possibility
to observe the state-changes of the subtitling. If the subtitling is switch on
or off, the subtitling status changed method of the listener is invoked which
itself has to check the current state of the subtitling by retrieving the
information from the Control’s isSubtitlingOn() method.
12.3.5.5 VideoPresentationControl
The VideoPresentationControl is used for retrieving information
about the capability of the video positioning, scaling factors for video resize,
check for support of scaling and clipping as well as the possibility to modify
the clipping region. Changing the video’s size is possible with either
12.3.5.6 BackgroundVideoPresentationControl
As a sub-class of VideoPresentationControl it inherits the retrieval as
well as the clipping functionality but extends it by the possibility to retrieve
and alter the video’s location and size. The new location and size of the
video is specified as a VideoTransformation, which itself uses float
values in the range 0.0 up to 1.0 for representation. So, the
VideoTransformation is independent of the TV’s real pixel-resolution.
A MHP terminal needn’t to support any location or size of the video. MHP
terminals are allowed to support only the video to location on even lines for
interlaced video or to only support as video sizes a quarter as well as full
size. For MHP applications it is possible to check how the video will be
changed for a specific VideoTransformation by using the method
getClosesMatch().
12.3.5.7 AWTVideoSizeControl
With AWTVideoSizeControl the location and size of the video can be
changed, like it is possible with the
BackgroundVideoPresentationControl. The only difference is, that
the AWTVideoSizeControl uses the screen's co-ordinate system instead
of the normalised co-ordinate system of the
BackgroundVideoPresentationControl. Also the
AWTVideoSizeControl has the possibility for retrieving the location and
size a video on the screen for the location and size the application want to
set. Like it is described for BackgroundVideoPresentationControl,
the MHP terminal needn’t to support any location and size but at least the
location on even lines as well as quarter and full size of the video.
12.3.5.8 VideoFormatControl
For video content different video formats are supported. The aspect ratio of
the MPEG-2 video can either be 4:3 or 16:9. To enable the MHP
application to retrieve the video format of the Player, the
VideoFormatControl can be used. This Control is only available for
retrieving information, the manipulation of the video format isn’t supported
by the Control.
12.3.5.9 MediaSelectControl
The MediaSelectControl used for selecting the components of the
service, like the video and audio, to be processed by the Player. It allows
the selection and deselection of service components as well as the retrieval
of the currently selected components. A listener can be registered to
observe the result of the selection process.
With the MediaSelectControl it is possible to select other than the
default video and audio components by the application.
12.3.5.10 DVBMediaSelectControl
To enable a MHP application to select a different kind of content into a
running Player, the MediaSelectControl is extended to the
DVBMediaSelectControl.
12.3.5.11 FreezeControl
With FreezeControl it is possible to stop the decoding of the media
content. After freezing the content the last decoded video frame is still
visible and the audio is stopped but the time base of the media isn’t
stopped. When the media playback is resumed, it isn’t defined at which
point of the video and audio transmission the presentation of the content
restarts. For broadcasted content on MHP terminals without a PVR
functionality most likely the currently received media content will be
presented. On MHP terminals with PVR functionality this could be different,
because the media content received while the Player was frozen can be
stored.
Access to the Controls is only possible by getting the Player first. The
Player can be retrieved from the service context of the Xlet. As soon as
the Xlet has it’s service context, it can get an array of all
ServiceContentHandlers bound to the Player and check if one
ServiceContentHandler in that array is an instance of Player.
Player p = null;
try {
ServiceContext sc = scf.getServiceContext(xletContext);
Page 118 of 215
30th March 2006
The MHP-Guide Version: 1.0
if (sc != null) {
break;
catch (SecurityException e) {
e.printStackTrace();
if (player != null) {
if (vsc != null) {
...
if (player != null) {
if (alc != null) {
if (availableLanguages.length == 2) {
try {
alc.selectLanguage(availableLanguages[1]);
catch (LanguageNotAvailableException e) {
e.printStackTrace();
catch (NotAuthorizedException e) {
e.printStackTrace();
NOVICE LEVEL
12.3.8 Selection of subtitles with
SubtitlingLanguageControl
To get access to the SubtitlingLanguageControl the according
Player object must be retrieved first (for further details see 12.3.6). The
SubtitlingLanguageControl can be used to get the list of available
subtitling languages as String array with ISO 639 identifier. Also the
wanted subtitling language can be selected, the status of the visibility of the
subtitles retrieved as well as the subtitles switch on or off.
The selection of a subtitling language won’t change the visibility state of the
subtitles. So if the subtitle is switched off, then the selection of a subtitling
language won’t switch it on. This must be performed additionally by using
the setSubtitling(boolean) method.
To select one subtitling language, the method
selectLanguage(String) of the SubtitlingLanguageControl can
be used. The parameter is the ISO 639 representation of the language to
select, as it is included in the array of available languages.
If more than one subtitling languages with the same ISO 639 identifier is
available, then the first signaled subtitling of the network is chosen. To
select a subtitling language which has the same identifier as another
subtitling and is therefore perhaps not selectable by the
SubtitlingLanguageControl, the MediaSelectControl must be
used.
if (player != null) {
if (slc != null) {
if (availableLanguages.length == 2) {
try {
slc.selectLanguage(availableLanguages[1]);
slc.setSubtitling(true);
catch (LanguageNotAvailableException e) {
e.printStackTrace();
catch (NotAuthorizedException e) {
e.printStackTrace();
if (player != null) {
if (msc != null) {
if (selectedLocators.length > 1) {
msc.remove(selectedLocators[0]);
try {
synchronized (this) {
wait(10000);
catch (InterruptedException e) {
e.printStackTrace();
msc.add(selectedLocators[0]);
In the above example the first component of the current selection will be
removed so that the playback of the media – video, audio or any other
component which is at index 0 in the array – stops. The rest of the selected
Page 122 of 215
30th March 2006
The MHP-Guide Version: 1.0
components are still running and won’t be stopped. After 10 seconds the
removed component will be added to the current selection, so that the
removed content reappears.
29
HAVi - Home Audio-Video Interoperability. See http://www.havi.org
30
Unified Modeling Language. See http://en.wikipedia.org/wiki/Unified_Modeling_Language
31
ISBN: 0131428489
HComponent is the base class for all MHP classes that paints on the
screen. HComponent is an abstract class specializing the class
java.awt.Component. HComponent extends the java.awt.Component with
features for alpha compositing 32 trough the HMatteLayer interface. In
addition to this, HComponent implements the TestOpacity interface.
TestOpacity is a simple interface that allows all HComponents to be
queried for opacity.
32
In computer graphics, alpha compositing is often useful to render image elements in separate passes, and then
combine the resulting multiple 2D images into a single, final image in a process called compositing. See
http://en.wikipedia.org/wiki/Alpha_compositing
33
http://en.wikipedia.org/wiki/Composite_pattern
The API states “The HVisible class is the base class for all non-interactive
components”.
As shown above the HVisible has an association that allows zero or one
reference a HLook object. The idea is that certain layout and presentation
logic can be delegated to a HLook object. The bright reader might have
noticed that HLook is an interface, and interfaced it is not allowed to
contain anything besides method definitions and static constants. So
HVisible will contain a reference to a class that implements the HVisible
interface and thereby meet the requirement by HVisible. HAVi comes with
several classes implementing the HLook interface, just ready to be plugged
into Hvisibles. Developers that need a specific customized Look can
implement their own classes that implements the HVisible interface. There
are two Interfaces that specializes the HLook interface by defining
additional methods. The two sub interfaces are HAdjustableLook and
HExtendedLook. For more information on these interfaces see the MHP
Specification. The concept presented here, where presentation logic can be
34
changed at runtime, is an example of the strategy design pattern .
Layout of HVisible can be controlled by LayoutManagers. If a layout
manager is associated with the Container into which a HVisible component
is placed, the size and location of the component will be controlled by the
layout manager. The HLook interface also plays a role when it comes to the
layout mechanism.
This is because the HLook interface specified the methods:
java.awt.Dimension getMinimumSize(HVisible hvisible)
34
http://en.wikipedia.org/wiki/Strategy_pattern
35
A window manager is software that controls the placement and appearance of applications on modern
computers with graphical user interfaces (GUI). See http://en.wikipedia.org/wiki/X_window_manager
tracker.addImage(image, 0);
try{
tracker.waitForID(0);
g.drawImage(image,0,0,this);
36
ETSI TS 101 812 V1.3.1 (2003-06); Technical Specification, http://www.etsi.org (12/02/2005)
Wikipedia, http://www.wikipedia.de (12/02/2005)
12.5.1 PNG
PNG was designed as a free substitute for the older proprietary format GIF. NOVICE LEVEL
Unlike the JPEG format PNG uses a lossless compression. PNG can
process up to 256 colors from a color table (cf. 12.6). Furthermore, the
Alpha Channel
storage of grey level pictures is possible with 1, 2, 4, 8 or 16 bits and color
An alpha channel is
pictures (RGB) with 8 or 16 bits per channel (therefore 24 or 48 bits per additional information
pixel). PNG files can contain transparency information either in form of an in a picture file that
alpha channel or for every color of the color table. PNG supports alpha determines the
channels of 8 or 16 bits, what corresponds to 256 or 65536 graduations of transparency for every
pixel
the transparency strength.
The restrictions for the PNG format under MHP are described in section
15.1 of [MHP 1.0.2]. MHP terminals are required to support the entire PNG
color types define in PNG Specification Version 1.0. MHP terminals are
Chromaticity
responsible for mapping these colors to those used by the terminal's OSD.
Where PNG graphics use colors defined in the minimum color table these Contains hue and
color repletion
colors shall be reproduced correctly. Other colors shall be reproduced on a
"best effort" basis.
In addition, the MHP terminal will usually ignore gAMA (gamma) and cHRM
(chromaticity) chunks in PNG files. This may cause that the chrominance
and the brightness are not displayed correctly.
0 0 1 2 3 Index Value
0 1 2 3 2
0
1 2 3 2 1
1
2 3 2 1 0
2
3 2 1 0 0 3
a) b) c)
The color depth of a grid graphic is often reduced to 256 or less colors in
order to save memory. The process of reducing the number of colors in a
picture by mapping them to a color table is called color quantization.
The color table used under MHP contains 139 opaque colors, 48 colors
with a transparency of 30% and 1 color with a transparency of 0% (see
figure below: Palette construction rules).
0% 255 42, 85, 170, 0, 63, 0, 31, 63, 0, 127, 255 139
212 127, 95, 127,
191,
159, 191,
255
223, 255
100% 0 - - - - 1
Total 188
(*): Where the MHP terminal cannot implement this "ideal" value of semi-transparency it shall replace it with the
nearest value of semi-transparency it can implement. Note: semi-transparency shall not be approximated as either
0 % or 100 % transparency.
PAL 4:3
NTSC 4:3
PAL 16:9
EXPERT LEVEL
12.7.1 Calculation (PAL)
The widespread approach to convert computer images for interactive TV is
to squeeze the image by a factor of roughly 0.95:
A 4:3 aspect ratio image would equal 768x576 square pixels. To have 720
horizontal rectangular pixels covering the same width as the square ones,
they have to be 768/720 = 1.067 times wider than the square pixels. Thus
the pixel aspect ratio on the TV screen would be 1.067:1. This equals to the
amount that a square pixel gets stretched horizontally on a TV screen. To
compensate this stretching, we have to divide 1.067, equaling a scaling by
the factor 0.95.
The result is close, but it still is an approximation. This is due to the fact
that in digital video the active line width was increased meaning that we
have more pixels to the right and to the left which show actual image
content. A digital horizontal line has 720 pixels; an analogue line has only
702. The TV screen aspect ratio of 4:3 holds true only for 702x576 pixels.
When converting an analogue PAL video to PAL D1, the additional 18
pixels can be seen at the edges as black vertical stripes. True digital
equipment records full 720x576 pixel images, which equals a screen
aspect ratio of about 4.1:3.
So the final horizontal scaling factor is 702/768 = 0.914 for preparing
images for TV screens. Vice versa we have to use a factor of 768/702 =
1.094 for scaling TV images for computer editing (in case a correct aspect
ratio on the computer is needed).
Computer screen
EXPERT LEVEL
12.7.4 Overview of scale factors
This table shows the scale factors that have to be applied to convert
images for the TV screen and back while keeping the image’s aspect ratio.
gets mapped onto the minimum color set as described in the MHP
standard. However, the result varies greatly between terminals by different
manufacturers. Some boxes may implement full true-color support, while
others perform a dithering or just a nearest color match. Especially the
latter is very susceptible to color mismatch. This may still be acceptable
when the aim is to support also more advanced terminals. But if the
requirement is to play safe on all terminals, the color conversion should be
part of the production process already. An MHP compliant color palette can
be either downloaded or assembled by hand. The Color Lookup Table
(CLUT) for the minimum color support contains 139 opaque colors, 48
semi-transparent colors and one fully transparent color. Those colors are
not evenly spread over the full color spectrum, but there is an emphasis on
greenish colors, whereas red colors are weakly represented. Thus plants
can be displayed quite authentically, whereas skin colors may be very far
from the original tone after conversion. Quite often a mere nearest color
match will result in a color that has a close luminance value, but a totally
different tone. Original red values are often mapped on grey values that
spoil the image. Good photo editing tools generally allow for better
conversion than terminal built-in solutions.
The only solution to display near true color images on all devices is to use
MPEG-2 video drips. Those are images that are converted to I-frames. This
can be done with appropriate MPEG-2 encoding software and some image
manipulation programs. MPEG-2 does not use the whole 256 values a byte
offers in order to code the r, g and b values, but a range from 12 to 238. It
is important to make sure that the encoder matches the RGB black value of
0 to 12 in the MPEG-2 color space, likewise the 256 shall be mapped to
238 and all values in between accordingly. Note that most tools do this
conversion by default. This reduction also means a slight but inevitable loss
of contrast in the image. When TV footage is used as source for a drip-feed
it shall be considered that this is already converted to the MPEG-2 color
space, so the automatic conversion has to be turned off. Otherwise the
image will again lose contrast.
hScene.isDoubleBuffered();
If the receiver does not support double buffering, it is possible to try the
following resolution method, which creates a double buffering software
solution:
bufferDimension = this.getSize();
bufferImage = createImage(bufferDimension.width,
bufferDimension.height);
bufferGraphics = bufferImage.getGraphics();
bufferGraphics.drawImage(image,x,y,null);
// Showing the image which was already created in the back buffer.
g.drawImage(bufferImage,0,0,this);
12.10 Fonts
The MHP specification defines one common font for all MHP devices. The
font is called Tiresias Screenfont (see http://www.tiresias.org). It is
especially designed for the usage on television. No other fonts are
supported by default.
To keep the font in a compressed format the MHP member group decided
to use the portable font resource format. The format provides dynamic
usage. This enables application developers to upload and use own fonts on
the MHP device.
If you want to create fonts by yourself, you have to develop your own font
creator or converter first. Therefore the specification of the portable
resource format version 1.0 (this version is used in the MHP terminals) is
available on the MHP Knowledge Database website related to the issue
“Creation of truedoc fonts”. Object carousel
The data structure
(containing
12.10.2 Generating the font index file applications, media
As mentioned it is possible to upload and use own fonts on an MHP files, etc.) that is
terminal. Therefore you have to include the fonts (stored in the truedoc broadcast within a
transport stream.
format) and a font index file in the object carousel. The index file has to be
placed in the root directory of the application (signaled in the regarding In the context of MHP
DSM-CC object
application information table).
carousels are used
The index file includes the description of the font like font name or location
of the font file. It provides the mapping between a font face name and the
file containing the font data. The file is called dvb.fontindex.. The XML
DTD defines the file syntax.
The XML index file contains a loop of all external fonts broadcast with the
application. Each font is defined by the following tags:
<name>: Contains the font face name of the font (e.g. "Helvetica")
<fontformat>: The file format of the font. For the PFR format used in the
MHP specification, this shall be "PFR".
<filename>: Relative path to the font file. This is relative to the directory
containing the font index file. The separator character for directories is "/".
As this is a relative path, it shall not begin with a "/" character.
<style>: The style elements contain the names of the styles of the font that
are contained in this font file. The possible values are "PLAIN", "BOLD",
"ITALIC" and "BOLD_ITALIC". There is one style element included per
style contained in the indicated font file, except when all the usable styles
of the font are in the same file in which case the style elements can be left
out. When different styles of the font are contained in separate files, these
are included in the directory as separate font entities with the same name
but different style and filename.
Just take a look at an example. It is very easy to generate a font index for
signaling own fonts.
<?xml version="1.0"?>
<!-- in the following tag all fonts have to be declared. Fonts shall be saved in
the base directory. PFR0 (Portable Font Resource version 0) is defined as in DAVIC
1.4.1p9 as the coding format for fonts. Receivers are only required to provide
support for the outline version of the font.-->
<fontdirectory>
<font>
<name>OzHandicraft BT</name>
<fontformat>PFR</fontformat>
<filename>org/mhpkdb/ui/OzHandicraft.pfr</filename>
<style>PLAIN</style>
</font>
<font>
<name>Zurich BT</name>
<fontformat>PFR</fontformat>
<filename>org/mhpkdb/ui/Zurich.pfr</filename>
try {
/* load the file dvb.fontindex (mandatory filename) with the information about the
additional fonts by creating a FontFactory */
FontFactory fontbox;
/* when the file dvb.fontindex was found and all entries were valid a FontFactory
was made above. Now Fonts can be created
Be aware of the following exception: If one font described in the font index
file is not in the object carousel the font factory will not work. It is only
possible to import fonts if the font index file is free of errors.
13 Return Channel
Return Channel
13.1 Introduction
The usage of the return channel allows improvement of the user NOVICE LEVEL
experience. By using the return channel it is possible to build truly
interactive applications in which the user signals information back to the
provider of the applications, this can be used e.g. for voting applications or
to control Video On Demand servers. With MHP 1.1 the return channel can
GSM (Global System
also be used to download applications; please consult chapter 9.4.3 for for Mobile
further information on this topic. Communications)
Most popular standard
for mobile phones in
13.2 Types of return channels the world.
There are basically two types of return channels: always on and connection GPRS (General
based. Depending on the type of return channel, an MHP terminal and/or Packet Radio
applications might have to implement different functionality to cope with the Service):
requirements set by the users. Mobile data service
available to users of
Each interface to a return channel is instantiated by an instance of the GSM mobile phones.
class RCInterface. Basic properties (type and speed) of the channel are
modeled in this class. UMTS (Universal
Mobile
Access to the return channel is managed by the RCInterfaceManager Telecommunications
class. System)
It is one of the third-
For the moment, a PSTN modem is integrated in most of the MHP
generation (3G)
terminals. Ethernet is also used when a high speed Internet connection is mobile phone
available. The mobile interaction channels are less common. The main technologies
technologies in this area are the GSM modem, which is in use comparable
with a PSTN modem and a GPRS connection, which is in use comparable ADSL (Asymmetric
with ADSL. Another option is the use of UMTS technology, which also Digital Subscriber
provides an always-on connection. Line)
Enables faster data
Using satellite technology as return channel is also a possibility. DVB-RCS transmission over
(DVB-Return channel satellite) offers a standardized solution however its copper telephone
use is not common yet. lines than a PSTN
modem, usually
several Mbit/s
13.2.1 Always-on return channels
PSTN (Public
Always-on return channels are that type of return channels for which the IP- Switched Telephone
connection is always present; examples include cable modem, xDSL or Network)
Ethernet. These technologies provide always-on connections and the user International
needs to have a subscription to the service from the ISP. An Ethernet telephone system
return channel will typically be used in combination with xDSL or cable based on copper
modem, the customer will connect the Ethernet port either using a hub or wires carrying
analogue voice data.
switch, or directly to the cable or xDSL modem. Typically these types of
return channels provide a high bandwidth pipe to the Internet and as such
IP (Internet Protocol)
can also be potentially used to stream audio/video. Note of course that the
The computer
speed depends also on the type of subscription with the ISP that is
networking protocol
providing the service. These always-on return channels do not use a dial used on the Internet
up modem.
HTTP (Hypertext
provides for in-sequence reliable delivery. TCP is the main protocol that is Transfer Protocol)
used for transferring large chunks of data and is also used by other It is the primary
protocols like HTTP. method used to
transfer or convey
Issue 24 “TCP connection” in the MHP knowledgebase provides example information on the
code on how to use TCP for sending and receiving data. World Wide Web.
13.3.3 HTTP
MHP provides the usage of the Hypertext Transfer Protocol (HTTP) via the SSL (Secure Sockets
return channel. The communication chain is bi-directional. This facilitates Layer)
the user to get information from the World Wide Web and to send SSL and Transport
information to an HTTP Server. Layer Security (TLS),
its successor, are
Issue 64 “Possible use of HTTP” in the MHP-knowledgebase discusses cryptographic
how to establish an HTTP connection. protocols which
provide secure
communications on
13.3.4 DNS the Internet.
Protocol Interactive
TCP M
UDP M
HTTP 1.1 O
DNS M
TCP M M
UDP M M
HTTP 1.1 O O
HTTP M M
(“MHP-HTTP 1.0”)
DNS M M
HTTPS M M
create and send emails or embed the web browser to display HTML
content.
It is possible to integrate content received from a server via the return
channel. To display such content, an MHP application must be developed
and broadcasted to the MHP terminal. After the MHP application is started,
it can connect the return channel and receive data from a server. As soon
as the data has been received by the MHP terminal, the application can
render the data and display it on the TV screen.
14 Equipment
Equipment
14.1 Playout systems
The Playout system is a vital part of any MHP enabled broadcasting
network. The role of the playout system is to convert MHP Xlets and data
into a DSM-CC carousel that can be received on MHP terminals.
NOVICE LEVEL
PSI
Management
Console
DSM-CC
MHP Playout Carousel
Remote API Server
Security
The role of the playout server will typically be to integrate the other
modules of the system. The server may have logic to create the required
AIT tables and ensure that the PSI subsystem is updated whenever the AIT
changes. It could also ensure that the security subsystem will sign and re-
sign applications whenever needed.
The security module is responsible for signing applications and could also
include functionality for certificate management. This is an area that seems
to be currently less mature than the core DSM-CC playout systems, and
the options are more limited in this area.
Most playouts have a configuration and management GUI that is used to
operate and supervise the playout.
A remote API (typically Java based) to control all relevant functions is also
fairly common.
EXPERT LEVEL
Functionality
The Application Analyzer provides four different test analysis and test
functions:
Configure and Run: In this mode, the Application Analyzer executes the
application on the MHP without intervention. This function offers
comfortable configuration and handling options.
Static Checker: The Static Checker analyzes the bytecode by decompiling
it and evaluating all available information under the following aspects:
Java Bytecode Verification (Compliance with Java und VM
Specification)
Compliance with MHP Standard (used classes, methods, etc.)
Compliance with Security requirements
Evaluation of used resources
Dynamic Checker: The Dynamic Checker analyzes the behavior of the
MHP application under runtime conditions. The analysis comprises a
manual functional check, compliance check, resource monitoring, stress
test, profiling and others.
Availability
The static checker of the MHP Application Analyzer is available for
registered users of the MHP-KDB as a part of the virtual test centre of IRT.
The Static Checker performs analysis of the java code with regard to
Page 148 of 215
30th March 2006
The MHP-Guide Version: 1.0
Functionality Description
Once users have uploaded their application and configured the MHP
playout via the web, they will be able to configure different test scenarios by
selecting among the different alternatives that ITA’s Testing Environment
offer:
Broadcast chain: DVB-S, -T or -C (in the first implementation, only DVB-S
will be available)
Receivers: commercial STBs, PC based clients.
Return Channel: PSTN, xDSL, Cable or other access networks that may be
implemented or emulated. It will also be possible to configure in detail
some network parameters, such as downlink and uplink bit rates for xDSL
and Cable networks.
ISP & Backbone network: The behavior of the ISP and the backbone
network may be also configurable in order to emulate problems such as
packet loss, bottlenecks or connection failures, so that the performance of
MHP application in such situations can be evaluated.
After defining the test scenario, the user can select the measure points and
the parameters to be reported after test execution. Eligible measures will
be, among others, bandwidth usage, sent and lost packets.
During test execution, the tool collects the requested information at the
selected points of the return channel segment using SNMP, process this
information and report a detailed analysis, including graphics and statistics
of the application performance in terms of network aspects.
The return channel reports along with other useful information from the
testing environment (such as STB debug output) and a stream of the video
output of the selected MHP receiver is made available for the user via the
web.
Availability
The Return Channel Analysis Tool is integrated in the online test centre of
ITA and available for registered users of the MHP-KDB website. To obtain
return channel reports, users must run their interactive applications in this
test centre.
Functionality
After program start the user can decide which transport stream he wants to
analyze. The transport stream should be compliant with the DVB–S or
DVB-T standard. Support of DVB-C is not guaranteed. After selecting the
transport stream packets will be loaded and all services including AITs or
DSM-CC carousels are shown with their application related tables and
elementary streams.
Now the user has two different options. On the one hand, he can select an
Application Information Table or a DSM-CC carousel from the list and
request the content. In the case of AIT he will get a table that lists all
information of the signaled applications like path, name, start modus, etc. In
the case of DSM-CC carousel he will get a tree that shows all directories
and files including in the carousel. Additional he has the possibility to save
the different contents
On the other hand the user can analyze an AIT or a DSM-CC carousel.
Among other things analyzing of an AIT will include the following:
Testing if the signaled DSM-CC carousel is available.
Testing if signaled class is available.
Check of the section layer.
Check if a class is auto start.
Check if only one class is auto start.
A DSM-CC carousel will be analyzed with respect to:
Availability of the gateway and all modules
Consistency of the directory structure
Other aspects.
Availability
The Stream-Analyzer is available for download in the tools-section of the
MHP-KDB.
Functionality
An Xlet is written to do these measurements. The Xlet is in fact a special
application launcher. It asks the application manager to load, initialize and
start an Xlet and measures the time that the receiver needs to execute
these tasks. The logger, written for the MHP-KDB code framework, is used
to report the test results.
Availability
The tool is accessible from the tools section of the MHP-KDB Portal. The
required class files have to be downloaded and put in an object carousel.
For detailed information please refer to the user manual that is provided
with the tool.
15 Usability
Usability deals with the relationship between services and tools and their
users. Usability
The broad acceptance of interactive TV services depends on a variety of
factors. A crucial one is that these services were tested with regard to their
usability. Usability is to ensure that users understand the created services
and users want to make use of them and know how to use them in the best
possible way. Usability
“Usability is a
When creating new interactive applications, the developer has to consider measure of the quality
that the viewer still focuses on TV and that television is a medium for of the user experience
entertainment, while interactive applications are regarded as additional in interacting with
services. Watching TV is a passive activity, while iTV services require something.”
(Jakob Nielsen)
some action from the user. The spectator is not used to interact with his TV
set except for switching TV channels and using the EPG and teletext. Usability is to ensure
user-friendliness and
In particular the MHP programmer must take into account legibility, layout –satisfaction,
and navigational aspects as well as the usage of colors in a well-advised efficiency of use, and
error prevention when
and moderate way. working with an
Aspect ratios are dealt with in detail in chapter 12 of this guide. interactive service.
The Usability and Style Guide in the KDB provides more comprehensive
information about these topics.
15.1.2 Consistency
The developed layout scheme should be applied to all the pages of an
application or the bouquet if possible. This is the only way the user can find
his way quickly and easily. There can, of course, be an alternative layout in
some specific areas or a consciously created interruption of the layout at
specific pages. Interruptions of the individual layout scheme should be
consciously used as a stylistic device in order to irritate the user, to
misbalance him and to gain more attention to some specific pages. These
kinds of interruptions only work though if the user was made aware of a
stringent and consistent layout scheme until the disruption actually takes
place. If this is not the case, the whole page is entirely disruptive and the
visitor will sooner or later give up finding his way through the site [Noss
2003].
Research indicates that viewers scan television screens from the upper left
corner down to the lower right. This behavior is stronger with text heavy
interactive applications than with conventional broadcast because reading
habits come into play.
Because viewers exhibit the same eye movements in general, we know
that the upper left and lower right areas of the screen are privileged -
perfect for titles and logos, while the upper right and lower left are dead
spaces, in which objects and images are unlikely to be noticed. Combining
text, quarter-screen video and photographs can affect the viewer’s
interpretation of screen elements. In general, video and text content will be
perceived separately. Lengthy text content next to video will be ignored.
Titles and logos should go in the upper left corner for maximum impact.
Video sits most comfortably with text when placed in a dead area upper
right or lower left Navigation information related to the title (such as a
crumb trail) should ideally be positioned next to the title. Static information
such as time and date is least obtrusive in the dead areas of the page.
The left hand side is always privileged by European reading viewers. For
text services, stories should be positioned in the left side. For quarter
screen enhancements to video programming, the video should be on the
left hand side instead.
Use the top for navigational information about the current page content,
such as crumb trails.
Story title and content navigation must be physically part of the
content space
This area of the screen is high visibility and should not be used for
general or repetitive help instructions
Video tools and navigation can be located in an overlay over the
bottom of the video or in the space immediately underneath
Service wide instructions, color key prompts and helpful general tips
belong in the bottom of the screen
Instructions to turn the page or scroll through text content or a table
should always be placed at the bottom of the text/table, where the
eye finishes reading and looks for more
Every service is different and presents unique challenges and layout
requirements. The most important rule to remember is consistency.
15.2 Navigation
Good navigation means building a relationship between a visual interface
and the tools a viewer uses. The relationship is good if it supports the
viewers’ goals and desires in using a service, and not so good if it creates
additional obstacles to the viewer [BBC 2002].
To help the viewer, every navigational interface must aspire to several key
objectives:
Tell the viewer where they are, how they got there, and where they
can go next at any time
Provide feedback every time a viewer executes a command
Teach the viewer how to use the service in seconds
Relate to larger cultural mental models and metaphors
Present predictable and consistent navigational devices
Encourage freedom of movement rather than limited predetermined
paths, and provide quick escape in the form of an exit route, or near-
instant access to full screen video.
Viewers use remote control units (in some cases extensive keyboards) to
make choices within interactive television services. Good navigation is
about providing a user interface that seems to instinctively teach the viewer
how to make the right choices by pressing the right buttons. In an ideal
world all viewers would have the same controls available to them and
interfaces could develop a standardized visual language. However, controls
differ enormously between - and often within - platforms. The layout and
Page 156 of 215
30th March 2006
The MHP-Guide Version: 1.0
labeling of keys on the remote can vary, or keys can be missing entirely
[BBC 2002]. Several functional groups of keys are, however, generally
available:
Traditional television controls
Number keys
Arrow keys and a select key
Color (Fastext) keys
Additional platform specific controls.
The MHP specification defines a minimum set of input events. These input
events define the MHP mandatory keys that have to be available on the
user input device of the MHP terminal (cp. Table 15-1).
The font size in this sketch text is too small. The text field is very wide
which causes long lines. The line break, causing a change for the eye from
the end of one line to the next line, is favored by the large line spacing but it
is still difficult for the eye to perform. Thus this sketch text is difficult to read.
In order to improve legibility, the font size should first be enlarged. Then,
perhaps, line spacing and line length could be corrected.
In this script text the 18pt font size is well chosen. The text field is very wide
but due to the large font the line spacing is agreeable and the line break
from the end of one line to the beginning of the next line can be performed
very easily. The text is well legible.
In this script text the18pt font size is well chosen. The text field is very wide
but due to the large font the line lengths are agreeable. The line spacing is
too small though. This makes the text look quite packed and the line space
is difficult to perform. The text is only legible to a certain extent.
In this script text the 18pt font size is well chosen. The text field is narrow
but the line lengths are acceptable. The line spacing is relatively small but
due to the small lines the line skip can be performed easily. The text can be
read easily. The text uses almost two thirds of the surface. Thus on the left
side a piece of negative space is created meaning that surface is not used.
This is used in the upper part for the heading. A very calm and clear overall
picture is created. This is also due to the alignment of the text block and the
heading with the subtitle at the lower edge of the screen.
of text, color shift can cause spots or glows around bright objects. Because
these effects occur across the horizontal scan lines they are especially
pronounced at the vertical boundaries of objects. Intricate patterns should
be avoided as well. Moiré distortion is common on television sets when
regular patterns such as grids or dots are rotated away from true vertical.
Curves distort less than straight lines, and movement diminishes the impact
of all television display problems [SN HESS].
Empirical Measurement
Second, early in the development process, intended users should actually
use simulations and prototypes to carry out real work, and their
performance and reactions should be observed, recorded, and analyzed.
Iterative Design
Third, when problems are found in user testing, as they will be, they must
be fixed. This means design must be iterative: There must be a cycle of
design, test and measure, and redesign, repeated as often as necessary.”
There are various methods to perform user validations, all varying in effort
and quality of the result, e.g.:
Eye-tracking systems
Eye-tracking is a very effective method to discover discontinuities in the
user interface layout. It tracks eye movements and can reveal even short
subconscious irritations that the test user would not remember or find worth
mentioning.
Camera recording
The test user is given a number of tasks to fulfill while using the service.
The success and speed in solving these tasks is measured. The video
recording is also a good way to visualize usability problems to all groups
involved in the development process.
Heuristic analysis
This involves usability experts that examine services according to known
usability problems and give recommendations.
For good results especially on usability the user should be given a number
of pre-defined tasks. The results such as speed of execution are then used
as an empirical base which enhances the individual subjective judgments
by the users.
Further information on the topic and state-of-the-art methodology can be
found on the website of the Institute for Mobile Markets Research in Atlanta
(http://www.immr.org). Different usability guidelines can be found on Jakob
Nielsen’s Website http://www.useit.com.
16 MHP Outlook
This chapter provides an outlook on the future potential of MHP. Part one
focuses on technical aspects by describing the relevant current and
upcoming updates of the standard. Part two provides a short overview of
commercial aspects.
Telecom IP network
0perator’s (e.g. ADSL)
network
TV over IP
37
http://www.rbb-online.de/_/unternehmen/beitrag_jsp/activeid=254/key=teaser_300427.htm
It furthermore allows for switching the time-shift on/off, checking the size of
the time-shift buffer, and also enables random access within the disk buffer.
Application signaling was extended in order to cope with some aspects
critical for the recording of applications. This includes marking applications
as “critical to store”, “optional to store” or “not to be stored”. Another aspect
is how applications shall be dealt with in the case of trick mode playback.
Finally, the specification considers broadcaster security by specifying if and
how content may be used by other broadcasters.
16.1.4 HDTV
Digital TV user experience is greatly enhanced by High Definition (HD)
which is already being deployed: Offering up to five times the spatial
resolution of a classical Standard Definition (SD) program, HD content
provides the best video image quality ever seen in digital TV. This
obviously calls for enhancing rendering of MHP applications for
presentation on HD displays in order to keep MHP an attractive tool in the
HD market.
However, the design of adaptable MHP applications for different screen
resolutions and aspect ratios raises will be a challenge.
Currently deployed MHP 1.0.3 and MHP 1.1.2 applications are dedicated
for 720x575 screen size TV sets. HD TV sets support higher resolutions:
HD Ready TV sets, identified by the logo depicted in Figure 16-2 provide a
displayable area of 1280x720 or 1920x1080.
MHP 1.1.2 includes support for HD video and HD graphics. The support for
HD graphics as included in the standard may be revisited depending on
market feedback, i.e. if the specification should prove too demanding or
expensive. It is expected that the MHP 1.1.2 test suite will include tests for
basic operation of MHP + HD receivers.
It will be important for HD deployment to limit interoperability issues
(applications – MHP terminals – TV sets). Guidelines for application writers
would therefore be helpful to have, DVB, however does not plan to provide
such guidelines.
IPTV networks (e.g. all known ones in Germany) and most HDTV
broadcasts. H.264 is also called MPEG4 part 10 / AVC.
In order to facilitate transition to this new codec for broadcast services,
DVB has defined new SI/PSI values. The existing MHP 1.1.2 standard
version already includes optional support for H.264.
Only MHP applications which intend to make use of the new SI/PSI
information in order to provide corresponding video control functions will
have to be updated.
Impact on MHP middleware is limited due to the fact that whatever the
codec is that is used for compression; a service will still be identified by its
DVB Locator.
16.1.6 DVB-S2
Similarly to the video codecs, the DVB-S modulation has been
DVB-S2
supplemented by DVB-S2 which offers more bandwidth and new degrees
of flexibility. Despite from the fact that more bandwidth means also more Advanced DVB
satellite modulation
data capacity that can be used for MHP applications, we expect that this
new standard will neither have impact on MHP specification itself nor on First published in
March 2005 as
already deployed MHP applications. However, new MHP terminals and
ETSI EN 302 307
broadcast equipment need to support this standard if they are to receive
DVB-S2 broadcasts.
expected until spring 2006. This will be mostly based on information gained
at the meetings in the EU MHP Implementation Group.
One problematic aspect of the implementation of MHP is that the license
costs are still not finally approved, and there are still some principle
discussions concerning the basis for these costs. Additionally, it is also an
issue how to cover the costs for development of the MHP Test Suites.
Both cost aspects have to be solved rather soon.
Another problem is that the full MHP specification is complex and offers
different ways to implement certain applications. This leads to the fact that
proper testing is required in order to achieve good interoperability between
all applications and all versions of MHP terminals. The dynamics of
development in the SW and HW domains make this interoperability difficult
to manage and maintain in a horizontal business context where content
providers / broadcasters and manufacturers policies are driven by interests
that may be in conflict and not focused on the business performance of the
system.
The main problem so far does not seem to be the technical platform for
interactive services itself, but how to get the public attracted to these
services so that they will buy the STBs at some higher price than the pure
“Zapper” versions, and start to use the services.
It will be an important issue to introduce interactive services and to get the
audiences acquainted to them in order to get the related business models
working.
Despite these remaining questions it is likely that most of the organizations
in Europe, that are going to start with interactive services, will do this based
on MHP. As outlined above, MHP is flexible to support many current and
future service (and business!) options.
Following the positive experiences made in Italy (cf. 3.6.7) Austria has
decided in 2005 to select a very similar business model: MHP shall be the
API to be used in the DVB-T market and decoders shall be subsidized. In
Germany, broadcasters will use the DVB-IPI standard and MHP to
distribute their broadcast services including interactivity via IP DSL
networks. Here the DVB system can prove its benefits also in non
broadcast IT networks.
Furthermore, the BluRay consortium has chosen MHP as interactivity tool
for their HD DVD system. Once more this shows how flexible MHP can be
used to open new fields of application and constitute a universal “key”
component in many markets still to grow and still to detect.
In order to support markets which still use proprietary APIs, DVB has
PCF
specified a Portable Content Format (PCF) for a common authoring for
different APIs. This standard can help to ease the migration process from Portable Content
Format
one of the other APIs to MHP. More information concerning such migration
processes can be found in [].
A lot of dedicated companies are now developing MHP based services and
these services can be bought for implementation in an open market.
DVB is currently working with ATSC in order to finalize the inclusion of the ATSC
GEM core into the US system environment of digital television:
Advanced Television
ACAP (Advanced Common Application Platform) the middleware Systems Committee.
Preparing US TV
specification based on GEM, was recently approved by the ATSC. With trial
standards.
services already on air in Korea, where the ATSC system is used for digital
terrestrial television, this approval clears the way for the growth of
interactive services in the USA, with harmonized standards across the ACAP
cable and terrestrial markets. OCAP developed by CableLabs for the Advanced Common
American cable market, is also based around the GEM core. Application Platform
ATSC previously published a companion Standard A/96, “Interaction
Channel Protocols”.
Used in combination with forward broadcast channels from terrestrial, cable
and satellite networks, these protocols provide a complete interactive
system.
Overall Conclusions
There is today no other open standardized API that can be
implemented in Europe. Even though DVB-MHP is not mandated by
EC, it is recommended as the API to be implemented in the member
countries.
Most of the European countries starting with digital TV and
Interactive services are implementing MHP.
In the rest of the world it seems that MHP based solutions will be
implemented by use of the GEM standard in many markets.
24/7
Twenty-four-seven. Availability round the clock (Twenty-four hours a day, seven days a week).
3G
Third Generation. Mainly used in the context of mobile communication networks.
ACAP
Advanced Common Application Platform: It is a middleware specification based on GEM.
ADSL
Asymmetric Digital Subscriber Line. Enables faster data transmission over copper telephone lines
than a PSTN modem, usually several Mbit/s
AIT
Application Information Table. Table defined by MHP to provide basic information about MHP
applications.
Alpha Channel
An alpha channel is additional information in a picture file that determines the transparency for every
pixel.
API
Application Programming Interface. The publicly accessible surface of software classes through which
applications operate upon the specific functions contained within the MHP.
ATE
Automated Testing Environment. In the context of MHP meaning an environment to automatically run
all the many tests included in the official MHP Test Suite.
ATSC
Advanced Television Systems Committee. Preparing US television standards.
A/V
Audio/Video
AWT
Abstract Window Toolkit
BAT
Bouquet Association Table. Table defined by the DVB specification for Service Information. Providing
information which DVB services belong to a certain bouquet.
BIOP
Broadcast Inter-ORB Protocol
CA
Certification Authority (in DVB MHP PKI context) or Conditional Access
CAS
Conditional Access System
CAT
Conditional Access Table. MPEG2 defined table to provide information on the type of CA system used
in a broadcast stream.
CDC
Connected Device Configuration
CLDC
Connected Limited Device Configuration
CI
Common Interface. Interface based on PCMCIA which allows to connect external CA modules to DVB
decoders.
CLUT
Color Lookup Table. In the context of DVB a predefined table which maps the true color space of MHP
applications to the possibly limited color space of MHP terminals.
CMS
Content Management System
COD
Content On-Demand
CORBA
Common Object Request Broker Architecture
CRC
Page 176 of 215
30th March 2006
The MHP-Guide Version: 1.0
Cyclic redundancy check, a type of hash function used to produce a checksum, in order to detect
errors in transmission or storage
CRID
CRID is a concept from the standardization work done by the TV-Anytime forum. A CRID or a Content
Reference Identifier closely matches the concept of the Uniform Resource Locator or URL, made
famous by the stunning success of the World-Wide Web:
A unit of content, in a broadcast stream, can be referred to by its globally unique CRID in the same
way that a webpage can be referred to by its globally unique URL on the web.
Thus, it should come as no surprise that a CRID is specified much like URLs. Typically, the content
owner will use their DNS-names in a combination with a product-specific name to create globally
unique CRIDs. As an example, let's assume that BBC wants to make a CRID for the upcoming
Olympics in China. It may look something like this
crid://www.bbc.co.uk/olympics/2008/
Then, to refer to a specific event - such as the women's shotput finale - they can use the following
inside their metadata.
crid://www.bbc.co.uk/olympics/2008/finale/shotput/women
CRL
Certificate Revocation List: Contains a list of certificates that have been revoked prior to their date of
expiration.
CPS
Certification Practice Statement
CSS
Cascading Style Sheets
CW
Control Word. In the context of DVB CA systems the bit pattern controlling the scrambling and
descrambling algorithm.
DAVIC
Digital Audio Video Council: A worldwide association of bodies concerned to promote interoperability
in audio visual equipment of all kinds concentrating on standardized interfaces.
DECT
Digital Enhanced (former European) Cordless Telecommunications: It is an ETSI standard for digital
portable phones, commonly used for domestic or corporate purposes.
DFC
Decoder Format Conversion
DGTVi
Page 177 of 215
30th March 2006
The MHP-Guide Version: 1.0
DHCP
Dynamic Host Configuration Protocol
DNS
Domain Name System: It is a system that stores information associated with domain names in a
distributed database on networks, such as the Internet.
DOM
Document Object Model. A description of how a HTML or XML document is represented in an object-
oriented fashion. DOM provides an application programming interface to access and modify the
content, structure and style of the document.
DRM
Digital Rights Management
DSM-CC
Digital Storage Media Command and Control: A format for transmission of data and control
information in an MPEG-2 private section.
DTD
Document Type Definition
DTT
Digital Terrestrial Television
DTV
Digital Television
DVB-ASI
Digital Video Broadcast-Asynchronous Serial Interface: A standard for how to connect components
such as encoders, modulators, receivers, and multiplexers.
DVB-C
Digital Video Broadcasting - Cable
DVB-HTML
DVB-HTML applications are a set of HTML pages that are broadcast as part of a service. The
specification is based around a modularized version of XHTML 1.1, and also includes CSS 2.0, DOM
2.0, and ECMAScript.
DVB-IPI
DVB standard for the transport of DVB services over IP networks.
DVB-J
DVB-J (DVB-Java) applications are written in Java using the MHP API set and consist of a set of class
files that are broadcast with a service.
DVB-RCS
DVB return channel by satellite.
DVB-S
Digital Video Broadcasting – Satellite
DVB-S2
Advanced DVB satellite modulation
DVB-SSU
DVB System Software Update
DVB-T
Digital Video Broadcasting – Terrestrial
DVD
Digital Versatile Disc
E2E
End-to-End
EC
European Commission
ECM
Entitlement Control Message. In the context of DVB CA systems used to broadcast messages to the
CA system in the decoder containing information on the rights required for descrambling of a specific
service.
ECMAScript
ECMAScript is a scripting programming language, standardized by Ecma International in the ECMA-
262 specification. The language is widely used on the web, and is often referred to as JavaScript or
JScript, although those two terms have more specific meanings. To understand the relation between
ECMAScript, JavaScript, and JScript, knowing the history of ECMAScript is a helpful prerequisite.
EIT
Event Information Table. Table defined by the DVB specification for Service Information. Providing
detail information on the events of the broadcast schedule.
EMM
Entitlement Management Message. In the context of DVB CA systems used to broadcast messages to
the user smart card containing information on the rights of the individual users.
EPG
Electronic Program Guide
ESG
Electronic Service Guide
ETSI
European Telecommunications Standards Institute
EU
European Union
Euro-DOCSIS
Adaptation of DOCSIS to European cable networks: DOCSIS is a standard for delivering data over
cable TV systems, typically for subscriber Internet access services.
FIFO
FIFO is an acronym for First In, First Out. This expression describes the principle of a queue or first-
come, first-served behavior: what comes in first is handled first, what comes in next waits until the first
is finished, etc. Thus it is analogous to the behaviour of persons "standing in a line" (preferred in
American English) or "queueing" (preferred in Commonwealth English), where the persons leave the
queue in the order they arrive.
FLUTE
Protocol for File delivery over unidirectional transport mechanisms.
FTTH
Fiber-To-The-Home: The installation of Optical fiber from a telephone switch directly into the sub-
scriber’s home.
Gamma
Value of the brightness adaptation to the screen.
GEM
Global Executable Multimedia Home Platform.
GIF
Graphics Interchange Format. Very common graphics format, optionally supported by MHP terminals.
GPRS
General Packet Radio Service: It is a mobile data service available to users of GSM mobile phones. It
is often described as "2.5G"
GSM
Global System for Mobile Communications: It is the second generation for mobile phone technologies.
GUI
Graphical User Interface
H.264
Compression Standard. Also called MPEG4 part 10 / AVC.
HAVi
Home Audio Video Interoperability: A vendor-neutral audio-video standard aimed specifically at the
home entertainment environment. HAVi allows different home entertainment and communication
devices to be net-worked together and controlled from one primary device, such as a PC or television.
HDTV
High Definition Television
HTTP
Hyper Text Transfer Protocol: It is the primary method used to transfer or convey information on the
World Wide Web.
HW
Hardware
IFA
Internationale Funkausstellung: Annual International Broadcasting Fair in Berlin.
IP
Internet Protocol: The computer networking protocol used on the Internet.
IPTV
Internet Protocol Television. TV delivered via IP networks.
ISDN
Integrated Services Digital Network: It is a type of circuit switched telephone network system,
designed to allow digital transmission of voice and data over ordinary telephone copper wires,
resulting in better quality and higher speeds than available with analogue systems.
ISO
International Organization for Standardization
ISP
Internet Service Provider: A company that sells Internet services to the public.
ITV
Interactive Television. A capability in digital TV offering interactive services (e.g. information,
communication, transaction, etc.) often directly related and synchronized with the broadcast content.
J2ME
Java 2 Micro Edition
J2SE
Java 2 Platform Standard Edition
JavaTV
It is a Java-based API for iTV applications development.
JMF
Java Media Framework
JPEG
Joint Photographic Experts Group. Commonly used compressed graphics format. Mandatorily
supported by MHP terminals.
JVM
Java Virtual Machine
KDB
Knowledge Database: Public database of the MHP-KDB project.
Legibility
Legibility means that writing can easily be deciphered and read.
LGPL
Lesser General Public License. Open Source license used by the MHP-KDB project.
MHEG
Multimedia and Hypermedia information coding Expert Group. This Group developed a standard for a
presentation engine called MHEG-5 which is used for digital teletext services in the UK.
MHP
Multimedia Home Platform
MPEG-2
A digital video and audio compression (encoding) technique defined by the Moving Pictures Expert
Group (MPEG).
MUX
Multiplex
NAT
Network Address Translation: An Internet standard that enables a local-area network (LAN) to use one
set of IP-addresses for internal traffic and a second set of addresses for external traffic.
NIT
Network Information Table. Table defined by the DVB specification for Service Information. Providing
information on the transport streams/multiplexes available in a DVB network and their technical
parameters (frequency, modulation, ...).
NPT
Normal Playtime
NTSC
National Television System(s) Committee: It is the analogue television system in use in Korea, Japan,
United States, Canada and some South-American countries.
ORB
Object Request Broker
OC (Object Carousel)
The data structure (containing applications, media files, etc.) that is broadcast within a transport
stream. In the context of MHP DSM-CC object carousels are used.
OCAP
Open Cable Application Platform: It is a technical standard, which is used in the cable networks of
North America.
OFDM
Orthogonal frequency-division multiplexing
OSD
On-screen Display
OSI
Open Source Initiative
PAL
Phase Alternating Line: It is a color encoding system used in analoge broadcast television systems in
large parts of the world.
PAT
Program Allocation Table. Table defined by the MPEG2 systems specification. Providing a very basic
list of the services in a MPEG2 transport stream and linking to the corresponding PMTs.
PC
Personal Computer
PCF
Portable Content Format. Format specified by DVB to support authoring of interactive applications in
an API independent way.
PCI
Peripheral Component Interconnect: A computer bussing architecture that defines electrical and
physical standards for electronic interconnection.
PCR
Program Clock Reference. Master clock for each DVB service used to synchronize time critical
content (basically video and audio, but optionally also data).
PDR
Personal Digital Recorder
PersonalJAE
Personal Java Application Environment
PES
Packetized Elementary Stream. MPEG2 defined protocol layer used for transmission of streamss to
be decoded in real time (basically video and audio, but optionally also data).
PFR
Portable Resource Format
PID
Packet Identifier. Identifier for MPEG2 transport stream packets used for identifying different
elementary streams.
PIN
Personal Identification Number
PKI
Public Key Infrastructure: A system that enables users of a public net-work to exchange data securely
and privately through the use of a public and private cryptographic key pair that is obtained and
shared through a trusted authority.
PMT
Program Map Table. Table defined by the MPEG2 systems specification. Providing a basic list of
components (video, audio, teletext, data, ...) belonging to a specific and linking to these components.
PNG
Portable Network Graphics. Common graphics format, mandatorily supported by MHP terminals.
PRF
Permission Request File. Information needed in the context of the MHP security model.
PPPoX
PPP over some data link protocol such as Ethernet (PPPoE) or ATM (PPPoA). See also PPP.
PPP
In computing, the Point-to-Point Protocol, or PPP, is commonly used to establish a direct connection
between two nodes. It can connect computers using serial cable, phone line, trunk line, cellular
telephone, specialized radio links, or fiber optic links. Most internet service providers use PPP for dial-
up access to the Internet.
PPP is commonly used to act as a "layer 2" (the "Data Link" layer of the OSI model) protocol for
connection over synchronous and asynchronous circuits, where it has largely superseded an older
non-standard protocol (known as SLIP), and telephone company mandated standards (such as X.25).
PPP was designed to work with numerous "layer3" network layer protocols, including IP, IPX, and
AppleTalk.
PPP was designed much later than the original HDLC specifications. The creators of PPP included
many additional features that had been seen only in various proprietary WAN data-link protocols up to
that time.
PSI/SI
Program Specific Information/Service Information. Tables like PAT, PMT, SDT, NIT or BAT defined by
MPEG2 and DVB providing various types of metadata related to DVB networks and services.
PSTN
Public Switched Telephone Network: The international telephone system based on copper wires
carrying analogue voice data.
PTS
Presentation Time Stamp. Timing information for the presentation of content (video, audio, data)
transmitted via DVB streams.
RC
Return Channel
RF
Radio Frequency
RGB
Red, Green, Blue: Color Model.
RSA
Rivest-Shamir-Adelman (-Algorithm): Secure asymmetric encryption algorithm using a key pair of
private and public key.
RSS
Really Simple Syndication
RST
Running Status Table. Not commonly used DVB SI table to provide the running status of an event.
RTOS
Real Time Operating System
SARL
DVB Services Sàrl is a limited liability company governed by the Swiss Civil Code established with the
aim of providing certification authority and all other related services to broadcasters, manufacturers,
and entities.
SAS
Subscriber Authorization System
SDK
Software Development Kit
SDT
Service Description Table. Table defined by the DVB specification for Service Information. Providing
detail information on the services contained in the actual (and optionally also in other) DVB transport
stream.
SE
Stream Event. Defined as an option of the DSM-CC transmission protocol. Used to transmit time
critical information to the MHP terminal.
SMS
Subscriber Management System (broadcasting) or Short Messaging Service (mobile phones)
SNMP
Simple Network Management Protocol
sRGB
Standard RGB Color Space
SSL
Secure Sockets Layer: SSL and Transport Layer Security (TLS), its successor, are cryptographic
protocols which provide secure communications on the Internet.
ST
Stuffing Table. DVB table without useful data to be used for stuffing purposes.
STB
Set-top Box. MHP Terminal to be connected to a TV set.
SW
Software
T-Care
Analogue to the term e-Care. T- Care covers all sorts of communication services that connect patients
and health care personnel in (bi-directional) TV-based communication applications.
T-Commerce
Analogue to the term e-Commerce T-Commerce covers all sorts of “commercial“ applications and
transactions that are delivered and performed on the TV screen.
TCP
Transmission Control Protocol: It is one of the core protocols of the Internet protocol suite. Using TCP,
applications on networked hosts can create connections to one another, over which they can
exchange data. The protocol guarantees reliable and in-order delivery of sender to receiver data.
TDT
Time and Data Table. DVB defined table to carry time information in a DVB transport stream.
T-Games
Interactive Games to play on the TV screen.
T-Government
Analogue to the term e-Government. T-Government covers all sorts of information services and
(ideally) communication and actions with the relevant authority, delivered and per-formed on the TV
screen.
T-Health
Analogue to the term e-Health. T-Health covers all sorts of information services related to health and
well-being that are delivered and performed on the TV screen.
T-Learning
Analogue to the term e-Learning. T-Learning covers all sorts of educational applications that are
delivered and per-formed on the TV screen. In various publications this ranges from providing program
related (educational) back-ground material to interactive learning applications which check and track
learners’ progress.
TLS
Transport Layer Security: A cryptographic protocol, which provides secure communications on the
Internet. The successor of SSL 3.0
TOT
Time Offset Table. DVB defined table to carry time information containing information on local time in
a DVB transport stream.
TS
Transport stream: A multiplex of several program streams that are carried in packets.
UDP
User Datagram Protocol: It is one of the core protocols of the Internet protocol suite. UDP does not
provide the reliability and ordering guarantees.
UI
User Interface
UML
Unified Modelling Language
UMTS
Universal Mobile Telecommunications System: It is one of the third-generation (3G) mobile phone
technologies.
URL
Uniform Resource Locator
Usability
Usability is to ensure user-friendliness and –satisfaction, efficiency of use, and error prevention when
working with an interactive service.
USB
Universal Serial Bus
VM
Virtual Machine
VoD
Video On Demand: The viewer pays a small fee to the television service provider in order to watch
particular movies listed on the on-screen television menu. Similar to pay-per-view.
W3C
World Wide Web Consortium
WiFi
Wireless Fidelity
xDSL
It refers collectively to all types of digital subscriber lines, the two main categories being ADSL and
SDSL. Two other types of xDSL technologies are High-data-rate DSL (HDSL) and Very high DSL
(VDSL).
XHTML
Extensible Hypertext Markup Language
Xlet
Xlet is the interface used for execution engine application lifecycle control in MHP.
XML
Extensible Markup Language. Often used when authoring content for MHP applications.
YUV
A color format: Y contains the brightness signal (luminous intensity) and U and V contain the
combined color information (chroma).
18 Literature
[Gould 1995] J.D. Gould, and C. Lewis, “Designing for Usability: Key Principles and What Designers
Think,” Communications or the ACM, Vol. 28, No 3, March 1995, p. 300. Quoted
according to: Aftelak, Häyrynen, Kurvinen: User-Centered Design in the course of
large and distributed project. 15th Meeting of the World Wireless Research Forum.
Paris. December 9th, 2005.]
[Hetzer 2001] Hetzer, Hanno; Sicherheitsanforderungen in digitalen Broadcastmedien am Beispiel
der Multimedia Home Platform (MHP)
[MHP 1.0.0] MHP Standard Specification, Version 1.0.0
[MHP 1.0.2] MHP Standard Specification, Version 1.0.2.
http://www.mhp.org/documents/mhp_Ts101812.V1.2.1.pdf.zip
[MHP 1.0.3] MHP Standard Specification, Version 1.0.3.
http://www.mhp.org/documents/mhp_Ts101812.V1.3.1.pdf.zip
[MHP 1.0.3e] Errata of the MHP Standard Specification, Version 1.0.3.
http://www.mhp.org/documents/tm2971r1.tm-tam0801r6.MHP1.0.3.errata2.pdf
[MHP 1.1] MHP Standard Specification, Version 1.1.
http://www.mhp.org/documents/Ts102812.V1.2.1.zip
[MHPKDB-1] The MHP Knowledge Project, 2006, “Guidelines on Migration” (Deliverable D18)
http://www.mhpkdb.org/publications.html
[Morris 2005] Morris, Steven; Interactive TV Standards A Guide to MHP OCAP and JavaTV Focal
Press / Elsevier Inc.; 2005
[Morris 2005a] Steven Morris; “Interactive TV Web”;
http://www.interactivetvweb.org/tutorial/mhp/index.shtml (last visited on 05/01/2006)
[Newell 2005] J. C. Newell, “An introduction to MHP 1.0 and MHP 1.1”;
http://www.bbc.co.uk/rd/pubs/whp/whp030.shtml (last visited on 05/01/2006)
18.2 General TV
[Dureau 2004] Dureau, V.: ADDRESSABLE ADVERTISING ON DIGITAL TELEVISION.
(Amsterdam, 2004) In: Broadcast Papers – IBC Papers 2004, available at
http://www.broadcastpapers.com/ibc2004/ibc04OpenTVAdvertising.pdf (Last visited
on 19/12/2005)
[Noss 2003] Noss, Christian: Lerneinheit, Studienbrief Screendesign für den Online-Studiengang
Educational Media der Universität Duisburg-Essen, 2003
18.4 Other
[SUNJMF] http://java.sun.com/products/java-media/jmf/index.jsp
[MHPKDB] The MHP Knowledge Project, http://www.mhpkdb.org
[MPEG2Systems] ISO/IEC 13818-1 Information technology - Generic coding of moving pictures and
associated audio information: Systems
[MPEG2DSMCC] ISO/IEC 13818-6 "Information technology - Generic coding of moving pictures and
associated audio information - Part 6: Extensions for DSM-CC".
[RFC 2246] http://www.ietf.org/rfc/rfc2246.txt?number=2246
[SN HESS] Sozialnetz Hessen, http://www.sozialnetz-hessen.de, 2005
Role Rights
After a regular registration you will be given the role of a Test Centre User.
Highly interested users can obtain additional rights.
air that make usage of our know-how. The wording of the licensing
conditions for Java source code is laid down in chapter 19.3.2 of this
document.
Build
Debug Download
Run
Vendors Tools
import java.awt.*;
import java.awt.event.*;
import javax.tv.xlet.*;
import org.havi.ui.*;
public HelloWorld(){
super();
/* Initialize the Xlet. The context for this Xlet will get passed in to this
method, and a reference to it should be stored in case it's needed later. This is
the place where any initialisation should be done, unless it takes a lot of time
or resources.
*/
setName(string);
this.context = ctx;
hst.setPreference (HSceneTemplate.SCENE_SCREEN_DIMENSION,
new org.havi.ui.HScreenDimension(1,
1), HSceneTemplate.REQUIRED);
hst.setPreference (HSceneTemplate.SCENE_SCREEN_LOCATION,
text.setBordersEnabled(false);
text.setForeground(Color.white);
scene = factory.getBestScene(hst);
scene.setBounds(0,0,720,576);
scene.setLayout(null);
scene.setBackgroundMode(HScene.BACKGROUND_FILL);
scene.add(this);
scene.add(text);
scene.addKeyListener((KeyListener)this);
this.setSize(scene.getSize());
validate();
scene.setVisible(true);
scene.requestFocus();
/*
* Pause the Xlet. This method cannot throw any exceptions, since an Xlet MUST
* pause itself when asked. However, exactly what the Xlet should do to pause
* itself is not specified. Doing nothing is allowed, but is not a good idea.
*/
scene.setVisible(false);
/*
* Destroy the Xlet. This should release all resources, finish all threads and then
* exit. If the argument is false, then this method can refuse to be destroyed by
* throwing an XletStateChangeException.
*/
throws javax.tv.xlet.XletStateChangeException{
if(unconditional){
if (scene!= null) {
removeKeyListener(this);
scene.remove(text);
scene.remove(this);
scene.setVisible(false);
HSceneFactory.getInstance().dispose(scene);
scene = null;
context.notifyDestroyed();
else
*/
API Description
API Description
video presented on the video plane. The interface can be used to set size,
position, and clipping region. The org.dvb.media.VideoFormatControl
provides a way to transform the incoming signal according to the format
defined in the decoder format conversion (DFC).
org.dvb.net provides general networking features not found in other
packages, extensions to the conditional access API from DAVIC, session
management for bi-directional IP connections which are session based
from the point of view of an application and extensions to the tuning API
from DAVIC. The org.dvb.net.ca package provides the CAPermission that
hold permissions for a range of CA system ids. MHP requires support for
HTTP. The org.dvb.net.rc package lets the applications set up a return
channel if needed for the HTTP/TCP/UDP connection. The
org.dvb.net.tuning package holds tuner permissions and associates each
SI database with a network interface.
org.dvb.si provides access to DVB service information. The API maps
more or less directly onto the underlying SI tables. The SIDatabase class
represents the entire database of SI the MHP terminal has access to on a
given tuner. When an application issues a request to the SIDatabase, a
SIRequest object is returned. Most of the calls to the SIDatabase are
asynchronous; when the information requested is available a
SISuccessfulRetrieveEvent is sent. This contains references to the
SIRequest object. By using the retrieveDescriptors method of the
SIInformation interface it is possible to get the descriptors associated with
an SI element. It is also possible to monitor changes to a specific SI
element using the SIMonitoringListener.
The DVBTest class of the org.dvb.test package allows test applications to
log messages during their execution and to indicate their termination
condition in a platform independent manner.
org.dvb.ui provides extended graphics functionality. The DVBGraphics
class is an adapter class to support alpha compositing in an MHP device.
The support for alpha composition allows for rules that say how
transparency is applied to that graphics context and how it is blended with
any components beneath it in the AWT hierarchy.
org.dvb.user provides access to settings and preferences configured by
the end-user.
As seen above several APIs can be used for the same feature. Below are
presented these main features and the available APIs for each.
Graphic control:
AWT,
HAVI,
DVB UI
SI access :
JavaTv,
DVB SI,
Service selection:
Javatv service selection
JMF
Return channel:
org.dvb.net.rc
Audio/video control:
JMF
DAVIC
22 Annex D – Migration
EXPERT LEVEL
This annex presents a synthesis on the migration issues between the
versions 1.0.2 and 1.0.3. It gives an overview on the potential backward
compatibility problems in each domain.
DSMCC-IO
API definition change:
The methods below are not yet synchronized:
public synchronized int subscribe(java.lang.String eventName,
org.dvb.dsmcc.StreamEventListener l) throws
UnknownEventException, InsufficientResourcesException
public synchronized void unsubscribe(int eventId,
org.dvb.dsmcc.StreamEventListener l) throws
UnknownEventException
public synchronized void unsubscribe(java.lang.String eventName,
org.dvb.dsmcc.StreamEventListener l) throws
UnknownEventException
So developers must take care that if application access the same
streamevent object from different threads this can cause problems.
APPLICATION
This new method is added since version 1.0.3 a:
org.dvb.application.AppAttributes.isVisible():
Applications that have been launched are marked as visible and listed, this
method shall return true when application are listed false otherwise.
Developers must avoid using method
org.dvb.application.AppAttributes.isVisible(), which doesn't exist in MHP
1.0.2 terminal for backward compatibility reason.
Application Listing and launching changes:
org.dvb.application.AppsDatabase.getAppAttributes(AppID):
Returns the properties associated with the given ID. Returns null if no such
application is available. Properties of externally authorized applications will
be returned from MHP 1.0.3 onwards thru
org.dvb.application.AppsDatabase.getAppAttributes(AppID).
org.dvb.application,.AppsDatabase.getAppAttributes(AppsDatabaseFilter):
This method will return an empty Enumeration if there are no attributes.
Properties of externally authorized applications will be returned from MHP
1.0.3 onwards thru
org.dvb.application.AppsDatabase.getAppAttributes(AppsDatabaseFilter).
org.dvb.application.AppsDatabase.getAppIDs(AppsDatabaseFilter)
ID of externally authorized running applications will be returned from MHP
1.0.3 onwards thru
org.dvb.application.AppsDatabase.getAppIDs(AppsDatabaseFilter).
MEDIA
Method definition change:
public interface VideoFormatListener becomes
public interface VideoFormatListener extends java.util.EventListener
So avoid relying on MHP 1.0.2 to VideoFormatListener definition (use MHP
1.0.3 definition, it will work also on MHP 1.0.2 receiver).
RETURN CHANNEL
Method declaration changed:
public interface ConnectionListener becomes
public interface ConnectionListener extends java.util.EventListener
So to be backwards compatible, the developer must assume that an object
that implements the connectionListener interface does not implement the
EventListener interface.
The target for connection can include character “+” as the first character
only to indicate the phone number including international code.
That will affect the following objects:
org.dvb.net.rc.RCPermission;
org.dvb.net.rc.ConnectionRCInterface.
HAVI
Behavior change
If byte array don’t contain a valid image constructor
HBackgroundImage(byte[]) in version 1.03 “may” return an
IllegalImageException so developers that rely on this exception shall not
yet rely on it to be backward compatible.
The function getVideoController shall never throw
HpermissionDeniedException when an application does not currently have
the right to get the VideoPlayer object so that developers shall not yet rely
on such exception.
SI
Normative Clarification
org.dvb.si.Descriptor: the application don’t sub-class this object
Descriptor(). All 1.02 application must not sub-class Descriptor().
Function not supported
getTextualServiceIdentifiers no longer supported. Use getName,
getShortServiceName, getProviderName and getShortProviderName
instead.
Object moved to new package
ServiceComponent has moved to a new package. Avoid usage of this class
if application need to be compatible with both 1.0.2 and 1.03:
“javax.tv.service.navigation.ServiceComponent”
Page 213 of 215
30th March 2006
The MHP-Guide Version: 1.0
Recommendation
In the functions
org.dvb.si.SiNetwork.RetrieveSITransportStream(short, Object,
SIRetrievalListener, short[])
org.dvb.si.Descriptor.SIBouquet.retrieveSIBouquetTransportStreams(short,
Object, SIRetrievalListener, short[]) and
org.dvb.si.Descriptor.SIBouquet.retrieveDescriptors(short, Object,
SIRetrievalListener, short[])
the last argument “someDescriptorTags” shall not be null, because the
behavior is implementation dependent. So developers shall take care about
this case to guarantee the same comportment on each type of
implementations.
Most part of the changes define in Errata 2 are mainly clarifications or
editorial changes; an Errata 3 is coming soon to fix version 1.0.3.
Application
In org.dvb.application.AppProxy a new field is added:
Public static final int INVALID
Security
Changes in the minimum to be supported Certificate Revocation List.
(8 CRLs instead of 5 CRLs).
DSM-CC
In org.dvb.dsmcc the exception ServiceXFRException shall not be thrown if
the Service Domain that actually contains the DSMCCObject is already
mounted.
Behavior changes:
Delivery of carousel within multiple services delivered over multiple trans-
port stream is possible if:
Carousel_id in the carousel_id_descriptor is in the range of 0x100-0xffffffff.
The carousel_id__descriptor for the carousel are identical in both services
(so the carousel have the same carousel_id and boot parameters).
Any changes in DSI shall not provoke the unavailability of a carousel. In
org.dvb.dsmcc the exception ServiceXFRErrorEvent shall not be thrown if
the Service Domain that actually contains the DSMCCObject is already
mounted. Take care if you rely on this exception.
The receiver shall deactivate any event listeners dependant on a timebase
(and may free resources associated with those listeners) under the follow-