The MHP-Guide

A comprehensive Guide to the Multimedia Home Platform, the underlying technology and possible uses

Document / Version number: Date: Issued by: This document is available at:

D16 / 1.0 30.03.2006 The MHP Knowledge Project (MHP-KDB) http://www.mhpkdb.org

Visit the MHP Knowledge Database:

www.mhpkdb.org

Document Information: Document Type: Document No.: Title: Version No.: Related to work package: Type of the Deliverable: Dissemination level: Author: Due date: Delivery date (Ver. 0.9): Delivery date (Ver. 1.0): Deliverable D16 The MHP Guide 1.0 WP4 Report Public The MHP Knowledge Project January 2006 13th February 2006 (Stable Draft) 30th March 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 1.2 2 General ...................................................................................................................14 Target Groups ........................................................................................................14

What is interactive television?.........................................................................................19 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2 Types of applications ..............................................................................................19 Available Interactive Applications .......................................................................19 Information Services ...........................................................................................20 Communication Services ....................................................................................22 Entertainment Services.......................................................................................23 T-Commerce.......................................................................................................25 T-Government.....................................................................................................26 T-Learning ..........................................................................................................27 T-Health/T-Care..................................................................................................28 Business TV........................................................................................................28 Levels of interactivity ..............................................................................................29

3

Introduction to MHP ........................................................................................................31 3.1 3.2 3.2.1 3.2.2 3.3 3.4 3.5 3.5.1 3.5.2 3.6 3.6.1 3.6.2 3.6.3 The DVB Project .....................................................................................................31 The need for MHP as an open API standard..........................................................31 Market developments and DVB activities ...........................................................31 EU policy.............................................................................................................32 MHP activities in DVB.............................................................................................33 MHP: Current status and new developments .........................................................33 Ensuring the interoperability of MHP ......................................................................34 The MHP Test Suite ...........................................................................................35 The MHP Knowledge Project..............................................................................36 MHP in the markets ................................................................................................37 Austria.................................................................................................................37 Denmark .............................................................................................................38 Finland ................................................................................................................38
Page 3 of 215

30th March 2006 The MHP-Guide Version: 1.0

3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9 3.6.10 3.6.11 3.6.12 4

France.................................................................................................................39 Flandern..............................................................................................................39 Germany .............................................................................................................40 Italy .....................................................................................................................41 Norway................................................................................................................42 Spain...................................................................................................................43 Sweden...........................................................................................................44 United Kingdom ..............................................................................................45 Switzerland .....................................................................................................45

MHP iTV Applications .....................................................................................................46 4.1 4.1.1 4.1.2 4.1.3 4.2 MHP application .....................................................................................................46 Why Java? ..........................................................................................................46 Extensions added from other standards .............................................................46 New TV Specific functionality .............................................................................47 MHP applications and the broadcast chain ............................................................51

5

MHP end-to-end architecture ..........................................................................................53 5.1 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.2.10 5.2.11 5.2.12 5.3 5.3.1 5.3.2 5.3.3 5.3.4 Introduction.............................................................................................................53 MHP end-to-end reference model ..........................................................................53 Program Content Playout ...................................................................................54 MHP Application Authoring & Production Tools .................................................54 Content Management System (CMS).................................................................54 Download server & firmware upgrade ................................................................54 Public Key Infrastructure MHP PKI.....................................................................55 PSI/SI..................................................................................................................55 DSM-CC .............................................................................................................56 Conditional Access System ................................................................................57 Network Equipment ............................................................................................58 MHP terminal ..................................................................................................58 Return Channel...............................................................................................58 Application specific backend servers..............................................................59

Actors of the MHP end-to-end system and their roles ............................................59 MHP authoring tool vendor .................................................................................61 MHP application developer.................................................................................61 MHP service provider .........................................................................................61 Broadcaster ........................................................................................................61
Page 4 of 215

...............................................................................................63 MHP terminal vendor ....3...............75 Migration from older to more recent MHP versions ..........12 5............62 CAS provider ...............................................................2..................................................3.................................................4.........14 6 7 Network operator ...................................79 DVB Transport Stream .........................63 DVB Services SARL .............0 5.............................................................................30th March 2006 The MHP-Guide Version: 1.........63 MHP Certification Authority....................69 Memory..........................................................................................67 Introduction ......67 DVB-HTML .................2.............................3 7......................................3.6 5...........2....................................4 7........................3.5 7.............1 7......................10 5..................................................................................................................................................................5 5.................................................3...................2 Introduction........3 8....64 Organization of the MHP knowledge...................................................2 8........................................................................2 7..79 A note on naming.....13 5..............9 5..................................2 7....3...............5................................................................1 7...................................................3.................64 MHP SW stack provider........................................1 8................................................................................8 5...............................................................65 Basic Architecture ...............................67 DVB-J Constraints ..................2....69 Tuning Interface..........4.............3.......2.3.........83 Object carousel optimization.........................................................................................1 7................................................62 ISP .....82 DSM-CC ..........................................2 8...................2 7.....................................1 8.....2....................84 Page 5 of 215 ............................3 7........................................................76 8 Broadcast Protocols ...........................................79 Transport Stream Elements........................................................................67 7...................82 MHP..5........68 Principle of scarce resources .....69 Persistent storage.......................................................................62 MHP playout vendor .......73 Return Channel.2 Introduction....................................................74 Migration ...........3......................3.....................................................67 DVB-J .................................................79 8...........1 7......................................................................4 7.................11 5...............................................................................64 End-user ...........................................................................................................................79 MPEG-2 Transport Stream .......................................................................................................3...................82 DSM-CC Object Carousel..............................................................................1 8..................................................................................4 8..........................................................4.......................................................3 8.........................................................................................................................62 MHP Backend operator .........7 5........................................................................................4..................75 Migration from previous legacy middleware to MHP ...........................

..........................3 10...0 APIs.....................................4 10..............................................2 8.....................................88 Examples ....................................... CI content protection) .....................2........4........................................................................................................................................................96 10 10.......................................1 Introduction to AIT and application change ..............0 8....................................4 11 11........................................................5........2 9.................................................................1 10...................102 Confidentiality ..................90 MHP Applications and Application Lifecycle .................................3 8.......2 10........1...............................4 9..................5 8............................................................................97 Introduction to SI / PSI.......................................................................7 9 Synchronization ....................2 Signing MHP Applications ..........2 Service Signaling.............................1 8.................87 MHP..................................4..92 Resident applications ...............2.....................98 Tuning to other streams...........1 10....................102 Integrity ......99 Accessing Service Information ............................1........................................................97 Information independent from transport stream...............................102 Security in interactive television environments ...............103 Availability............................................................................95 Signaling of stored application............5.........................3 9....89 Principles of conditional access (smart card...........88 Capacity and performance.....................................................1 11..................................................................................99 10.......................1 9.....................104 Page 6 of 215 ......................................................................2 9.........86 Section Filtering ...........................................2...............................................................103 11..4.......2 11......................................4 8...........................................................................................................94 Stored applications ........1............2 8.......................2....................................................................5 10..........30th March 2006 The MHP-Guide Version: 1.........................................................................................5......98 Optional “other” tables ..........5....................................92 9....6 8...................................94 Restrictions of stored applications ..............3 11.....................................................................................................................86 Creating stream events..................................................................................................................................99 Usage of the SI overview tables ....85 Do-It-Now stream events ........3 8...............4 8.................................................89 Tuning and service selection .................................................................................................87 What is a section? ..............100 Application Loading over Return Channel .....................................4...........................................92 Xlet Application...........2..............................................4...3 Applets and Xlets..................................85 Scheduled stream events .....101 Security......................1 9.......................................3 10...........1 8.........................................................................................................................4...........................95 Extensions to MHP 1....................................97 Introduction..................

.........................3..........113 Layers and composition concept .............*) ...........123 HVisible and HLook .............109 DVB MHP PKI for Application Developers...............certificates................................................3........................................115 Media flow.....................................................107 Actors in the MHP PKI ......1 11............................................................................1 .............................................................107 DVB Services Hierarchy .............4......................................................................................114 Java Media Framework 2........................ Text Presentation...3......................................119 Selection of subtitles with SubtitlingLanguageControl ..............................................................1 12................................................................5 11..........................................5 11..114 Java Media Framework 1..........2 12......4 11...........0 ...111 Graphics.....................104 Certificate files (dvb....115 Obtaining a player and controls ....7 12.....................................2......3............................5 Displayable graphics formats and restriction ...........................123 HComponent and HContainer ...............................5 12.0 ..........hashfile) ...3 Hash files (dvb.......................................................................128 Page 7 of 215 12...123 Main HAVI components ......................5 12..127 PNG ......................5.....4 11.....................................6 11......................3................................signature..0 11....3 12.30th March 2006 The MHP-Guide Version: 1..109 Certificate Management.........118 Selection of audio components with AudioLanguageControl .........3...................................................................................................................................4 11........1 12...4 UI components overview/main HAVI components................................................113 Introduction....3.........................3.................126 12.........120 Selection of media with MediaSelectControl ...........2 12.4........................4 12......... Audio.........6 12...3.....................................3...........3 12...........................................*)..................105 Example of a signed MHP application ....4..................3 Authenticating applications in the MHP Terminal .........110 Application Rights Model .................4.................................................................................113 Playable media ............................. Video................................2 11.....................................9 12.....3...........3 11..3......114 Java Media Framework on MHP terminals ...................................3...................107 DVB MHP PKI for MHP terminal Manufacturers....................................2............3...............................122 12........1 11.......2 12............................104 Signature files (dvb...3 11.........4 12.................................125 Other considerations using HAVI...................2........111 Other aspects .........................................2 11............................8 12................................2....................1 12........126 Input events and exclusive registrations on input event ..............................115 Media player and available controls ...................................................................................110 11...........106 DVB MHP Public Key Infrastructure (PKI) ..............................109 DVB MHP PKI for Broadcasters ...............4....................6 12 12........................................3.........................................

.........................3...........133 Double buffering .............................................2..................10 Fonts...........................30th March 2006 The MHP-Guide Version: 1............................................137 Return Channel .....................................................................................................................1 12.................................10.........142 Equipment ..........................................................2......................3 Protocol overview ............................................1 12............................................3 13..................2 13.........................................................132 Calculation (NTSC) ...1 14..........................................................................................................................................130 Calculation (PAL)................................144 Hardware requirements .........3 13...........................................................................................................1 13..........................................140 Protocol support...................................128 GIF....................................................................................................7..2...139 Detailed example ......................................3.........................................2 12..........................2 14....................................................136 Using external fonts ...........................138 Connection-based return channels........................10..........................................................................2 Generating fonts ............................3......................................................140 13.................................................143 Playout systems ...........................147 14...........................................................8 12...148 Page 8 of 215 .....................................................1 13............................1 13.............................2 12.....................5 14 14.........146 Conceptual view for Software architecture ...2......3...............................................................................................3 12....................................................................2 12........................3 13 13.............................................134 12...4 12................4 13...................................................2..........................138 Types of return channels .............................................141 13........................................................2 13.............................................................6 12..133 12.......................................................3 12.................................................138 Always-on return channels .............135 12.........143 MHP Terminal architecture ....7..................................................135 Generating the font index file...............139 HTTP ...............138 Introduction.................4 MHP as client for Internet services & Integration of contents received via return channel ........7 JPEG .............................5...................................................................................................................3 Test equipment.......129 Differences between TV and computer screens.........133 Overview of scale factors.................................................1 14.......................................................................139 13.......................132 Loss of sharpness.............................................7..........3.......................................0 12.......139 TCP....................................................5...140 DNS ...........................................................................................................128 Color Table .............................................................7......9 Color conversion.......................................................10.......................2 Security on the Return Channel .....................................5 13...................139 UDP ............................

..........................1 Recommendations for Using Colors ...................................................................................................................................1...........154 Consistency ....3 Legibility of Text.............154 Screen Layout..............................................2.......................................................2...........................1 16.....175 Literature ...2 15................................................................................................1 18.......................................................................................................................................................................3 18..................171 DVB-MHP in the rest of the world ..............163 MHP Outlook ...........................3......................170 16....................................3 14..................................................154 15......7 16...170 Object Tracking............166 Technical aspects ...................................................0 14..........................................................................171 DVB-MHP in Europe.................159 Legibility Examples .....................191 General User Interaction .......2 Commercial aspects .........167 Personal Digital Recorder (PDR) ................................................193 Page 9 of 215 ...................1..........................................................169 MPEG4 / H..................................150 Loading Time Analyzer ...........158 15..........................................................................................................................................................................................162 Usability Studies and User-Centered Design .................................153 As much as necessary..........................................................................5 16 16................2 Navigation...............................192 Annex A ..............2 17 18 18..................2...................1 IRT MHP Application analyzer .........30th March 2006 The MHP-Guide Version: 1.................................................................264..............................................1.166 IP over DVB ...................191 General TV ..........................................1.........................................................................................................1................................................................4 15.........................3..1 15....................152 Layout and Design.......2 16..159 15.........3 16...................................................3..............................................................................................................................................................................................191 General DVB ..........................................4 16...............173 16....149 AIT / DSM-CC Analyzer and Compliance Tool............1...................................................................................................................5 16.........................................3........1 15....................1 15.................168 HDTV .....................191 Other............................151 Usability ........................................................................................................................................156 Interaction Design.........1.....................4 15 15......................4 19 Glossary and abbreviations ...............1 14...............1..........3 15....................................1.........2 14.........1 16.............3...........1.166 DVB over IP / IP tuner ..........................................................2................................................148 Return Channel analysis tool.2 18.......2 15... as little as possible ......................................................................169 DVB-S2....................How to use the MHP KDB ............156 Remote Control Units ................................................................................................................6 16................

202 Debug an application:.......................................................1...............195 Licensing conditions ...........................................................................................1 20..3 Using the KDB ..................................199 Licensing conditions for Java source code .............................................2 21............................4 21 21........................1 Organization of the Database Content ............1 21.........................206 “Core” APIs ............................................194 Reviewing Process .................................2 20 20...............................................207 JavaTV APIs .....................................................................0 19........................................................1...................................................................206 JMF APIs ...........................199 19...............................................................193 Rights and Roles .................................................2 20.........2 19...........3.........2 19..........................1 19...................................203 Annex C .................................................................30th March 2006 The MHP-Guide Version: 1..................198 Licensing conditions for documents in the static part of KDB ..........3 20..................................................................................................................................212 Page 10 of 215 .......................209 Annex D – Migration ............................207 DAVIC APIs ............................................................................................................................5 21..3 21..........................4 21.................1 19....201 Build an application ..........201 Download an application: .........................................................................................................................Presentation of the MHP APIs...........................................................................................208 HAVi (Home Audio Video Interoperability) APIs ...................................................................202 Source code of basic application: .....6 22 Annex B – Develop your first Xlet with MHP-KDB................194 19..209 DVB APIs.............................................3.

............................................................................................................................................................................................1 Protocol support .............. 158 Table 19-1: Rights and Roles Model of the MHP-KDB ... 194 Table 20-1: Authoring Tools vendors ........ 141 Table 13-2: MHP 1.......................................................................................... 107 Table 12-1: Palette construction rules.........................................1.................................................................... 146 Table 15-1: Mandatory keys in MHP ...... 202 Table 21-1: Java Core APIs ......................................................... 18 Table 2-1: Levels of interactivity in relation to types of applications ........ 130 Table 13-1: MHP 1..............30th March 2006 The MHP-Guide Version: 1..................................................................................................................................0 List of Tables Table 1-1: Chapters and their potential target group relevance.x Protocol Support...................................................................................................................................... 207 Table 21-2: JavaTV APIs.......................................................................... 208 Page 11 of 215 ..................................... 30 Table 5-1: Elucidation of actors in the MHP end-to-end reference model ...................................................................................................... 141 Table 14-1: Hardware resource requirements...........................0.............. 60 Table 11-1: Actors in the MHP Public Key Infrastructure................................................................................

Germany) .................................................................................................. 57 Figure 6-1: Mapping of the MHP-KDB Categories in the MHP End-to-End Reference Model ............................................................................................................................................ 23 Figure 2-10: Video on Demand Selection (gist) .............................................. 80 Figure 8-3 MPEG-2 Packet Header .... 35 Figure 3-3: DGTVi Logo ................................. 42 Figure 4-1: HScene in the UI model ........................................ 51 Figure 4-3 MHP applications in broadcast chain............. rbb............................................................................. 21 Figure 2-4: Weather Service (RTL TV interaktiv..................................................................................................................... 34 Figure 3-2: The MHP Logo ... 80 Figure 8-2 Example building blocks of an MPEG-2 encoder ........................................................................................................................................................................................................................................ 26 Figure 2-14: Voting application related to News Show (SkyTV................................................................ Germany) .................................... 23 Figure 2-9: Interactive TV Game (ZDF....................................................................................................................................................... 90 Figure 8-7: Encryption and decryption process................................... 27 Figure 2-15: Kids’ Edutainment: Goosebumps (FoxKids.................................................. 53 Figure 5-2: Detailed view of Conditional Access System.............. 25 Figure 2-13: Regional Information Portal for the city of Tampere (Finland)........................... UK) ................................... 22 Figure 2-8: Arcade Game on TV screen (sofia digital) ............................................ 52 Figure 5-1: MHP E2E Reference Model..........................................................................0 List of Figures Figure 2-1: EPG of the ARD Portal ...................................................................................................................................................................................... 20 Figure 2-2: Simple STB-EPG (TechniSat)............. 84 Figure 8-6: Encrypting and decrypting content............ 66 Figure 7-1 Plug-in implementation options.... Germany)...................................................................................................................... 24 Figure 2-11: Tracking ebay auctions on the TV screen (Nionex)................. 20 Figure 2-3: News Service with ¼ scaled video (Mediaset.......................................................................................................................................................... Italy)............................................................... 25 Figure 2-12: Sofa Shopping with OTTO’s interactive MHP Shop ............................. 75 Figure 8-1 Transport Stream ..........................................................30th March 2006 The MHP-Guide Version: 1................................................ 21 Figure 2-5: Traffic Service (Prototype................................................................................. 27 Figure 2-16: Customer Information at Housing Society “ewt” (GIST....................................................... Germany) ................................................................. 81 Figure 8-4 Example of object carousel in DVB service .............. 91 Figure 9-1: Xlet lifecycle state machine diagram...... 83 Figure 8-5: DSM-CC Object Carousel Layering ......................................................................................................................................................... Germany) ................................................................................................... 92 Page 12 of 215 ........................................................ 50 Figure 4-2: Display structure ........ 22 Figure 2-7: TV mail client (Alticast) .................................................................................................................................................. 28 Figure 3-1: Profiles of the MHP standard .......................................................................................................... 22 Figure 2-6: Interactive multimedia teletext (Pro7........................... Germany) ...........................................................

........................................................................................................... 171 Figure 19-1: Simplified Data Model of the KDB ............................................................................................................................................................................................................................................................................................................................................................ 156 Figure 15-6: Functions of a Remote Control ................. 201 Page 13 of 215 ..................................................................................................................................................................................................................................................................................................................................................... 154 Figure 15-4: Screen Organization ................0 Figure 11-1: Example of a signed application [Hetzer 2001] .................................................................................................................................................................................................................................................................................................................................................................. 108 Figure 12-1: Graphic Planes in MHP.. 131 Figure 14-1: Typical MHP playout server interfaces .... 143 Figure 14-2: The MHP Logo ....................................... 144 Figure 14-3: MHP terminal hardware architecture ........................... 167 Figure 16-2: HD Ready logo defined by EICTA for HD equipment.... 147 Figure 15-1: Typical Screen Structure of an MHP Application.............................. 195 Figure 19-3: Adding an Issue to the KDB......................................................... 124 Figure 12-5: HVisible and HLook ........................................................................................ 145 Figure 14-4: MHP terminal software architecture............. 153 Figure 15-2: Basic Formal Structure of a Screen Surface ................................................................ 113 Figure 12-2: Porter-Duff Alpha Composition Rules .................................................................... 158 Figure 15-7: Legibility Example 1 ........................................................ 125 Figure 12-6: Example of a color table ....................... 123 Figure 12-4: HComponent and HContainer (b) ........................................................................................................................................................................... 106 Figure 11-2: The DVB Services Hierarchy ..................................................................................................................... 161 Figure 15-10: Legibility Example 4 .............................. 160 Figure 15-8: Legibility Example 2 .................30th March 2006 The MHP-Guide Version: 1...................................................................................................... 160 Figure 15-9: Legibility Example 3 ........................................................ 155 Figure 15-5: Remote Controls of MHP Terminals ........... 162 Figure 15-11: Examples of color combinations with poor legibility........ 114 Figure 12-3: HComponent and HContainer (a) ....................................................................................................................................................................................................................................................................................................... 170 Figure 16-4: MHP situation in the world in August 2005 [MHP_ORG].................................. 196 Figure 19-4: Editing a Document.................... 163 Figure 16-1: Example of an IP STB................................................................................................................................................... 193 Figure 19-2: Searching an Issue in the KDB ........... 153 Figure 15-3: Layout of a TV Screen .................................................................. 198 Figure 20-1: Developing application steps ..... 169 Figure 16-3: Example for object tracking......... 129 Figure 12-7: Opaque CLUT ........................................................................................................................................ 130 Figure 12-8: Comparison of pixel aspect ratios.........................................................

the online database leads on to deeper levels of knowledge and to the practical dimension. The MHP-Guide is generated from practical experience of European actors in broadcasting. As one major result of this project. the online MHP-Knowledge Database was established. This document is a free guidebook that offers comprehensive knowledge on all fundamental aspects of MHP for all those involved along the end-to-end chain of interactive TV: those who are simply interested in MHP and want a quick overview and those who want to dig deeper into the subtleties of the standard.1 General MHP-KDB Project: The MHP-KDB project is co-funded by the EU as an "IST project. DVB MHP. The MHP-Guide complements the resources offered by the MHPKnowledge Database. is a major standard for interactive TV today. This database offers a continuously growing number of solutions including MHP reference application modules as "Open Source" code available for free usage. brief definitions of relevant terms and references to related entries in the database for more specific knowledge and practical solutions. 1. the DVB Multimedia Home Platform. Additionally a virtual online test center for testing interoperability on standard hardware MHP terminals.0 1 Purpose of the MHP-Guide 1. This margin highlights special information such as the depth of information (NOVICE/EXPERT LEVEL). Its main aim is to improve the interoperability of MHP implementations and MHP applications. The following table will help readers to see which chapters and sections are particularly interesting for them. those who plan to enter the world of MHP practically and those who already work with MHP and need specific information on certain issues. 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. It lists all document chapters and their potential target groups. Page 14 of 215 .30th March 2006 The MHP-Guide Version: 1. While the MHP-Guide provides a comprehensive yet concise overview of the basic applications and technologies of the MHP End-to-End chain.2 Target Groups The MHP-Guide supports fundamental research needs of all sorts of interest groups. be it for offering your own solution. The document layout features a broad text column with an extensive margin. retrieving a solution or testing your applications.

2 Levels of interactivity Chapter 3: Introduction to MHP 3.2 MHP applications and the broadcast chain Chapter 5: MHP End-to-End Architecture 5.6 MHP in the markets Chapter 4: MHP iTV Applications 4.4 MHP: Current status and new developments 3.1 Types of applications 2.0 Application Programmers Authoring Tool Providers Decoder Manufacturers Broadcast Equipment Manufacturers Chapter Chapter 2: What is interactive television? 2.4 Principle of scarce resources 7.1 Introduction 5.2 MHP end-to-end reference model 5.1 The DVB Project 3.2 DVB-J 7.1 MHP application 4.2 The need for MHP as an open standard 3.5 Migration N N N N/E E N N N N N N N N N N N N N N Page 15 of 215 Expert/ Novice Level Broadcasters .3 DVB-HTML 7.1 Introduction 7.30th March 2006 The MHP-Guide Version: 1.3 MHP activities in DVB 3.3 Actors of the MHP end-to-end system and their roles Chapter 6: Organization of the MHP knowledge 6 Organization of the MHP knowledge Chapter 7: Basic Architecture 7.5 Ensuring the interoperability of MHP 3.

3 Introduction to AIT and application change 10.1 Introduction 10.3 Resident Applications 9.1 Introduction 8. CI content protection Chapter 9: MHP Applications and Application Lifecycle 9.1 Security in interactive television environments 11.3 DVB MHP Public Key Infrastructure (PKI) 11.4 Synchronization 8.2 Xlet Application 9.2 Introduction to SI /PSI 10.1 Applets and Xlets 9.4 Authenticating applications in the MHP terminal Page 16 of 215 N E E E N N/E E N N N N N/E N N N/E N/E N N N Expert/ Novice Level Broadcasters .30th March 2006 The MHP-Guide Version: 1.4 Application Loading over Return Channel Chapter 11: Security 11.0 Application Programmers Authoring Tool Providers Decoder Manufacturers Broadcast Equipment Manufacturers Chapter Chapter 8: Broadcast Protocols 8.7 Principles of conditional access (smart card.2 Transport Stream Elements 8.2 Signing MHP applications 11.3 DSM-CC 8.6 Tuning and service selection 8.5 Section Filtering 8.4 Stored Applications Chapter 10: Service Signaling 10.

6 Color Table 12.5 Displayable graphics formats and restriction 12.4 UI components overview/main HAVI components 12. Audio.0 Application Programmers Authoring Tool Providers Decoder Manufacturers Broadcast Equipment Manufacturers Chapter 11.7 Differences between TV and computer screens 12.1 Introduction 12.8 Color conversion 12.1 Introduction 13.3 Test equipment Chapter 15: Usability Page 17 of 215 N E N/E N N N N N N N N/E N N N N/E E E N Expert/ Novice Level N E Broadcasters .10 Fonts Chapter 13: Return Channel 13.2 Layers and composition concept 12.3 Protocol overview 13.4 MHP as client for internet services & integration of content received via return channel 13.2 MHP terminal architecture 14.5 Security on the return channel Chapter 14: Equipment 14.9 Double buffering 12.2 Types of return channels 13.30th March 2006 The MHP-Guide Version: 1.1 Playout systems 14. Video 12.5 Other Aspects Chapter 12: Graphics.5 Application Rights Model 11.3 Playable media 12. Text Presentation.

2 Commercial aspects Chapter 17: Glossary and abbreviations 17.1 Layout and Design 15. Literature Annex A 19. How to use the MHP KDB Annex B 20.0 Application Programmers Authoring Tool Providers Decoder Manufacturers Broadcast Equipment Manufacturers Chapter 15. Presentation of the MHP APIs Annex D 22.5 Usability studies and user-centered design Chapter 16: MHP Outlook 16.1 Technical aspects 16. Glossary and abbreviations Chapter 18: Literature 18.3 Legibility of Text 15.30th March 2006 The MHP-Guide Version: 1.4 Recommendations for using colors 15.2 Navigation 15. Migration E N N N N N N/E N Table 1-1: Chapters and their potential target group relevance Page 18 of 215 Expert/ Novice Level N N N N N Broadcasters . Develop your first Xlet with MHP KDB Annex C 21.

30th March 2006 The MHP-Guide Version: 1.0

2 What is interactive television?
With the dawn of digital television a whole new spectrum of opportunities has arrived. We were used to the introduction of new technical elements in television during the years of analogue television, but they were all the results of long-term processes. In those days, new functionalities were realized by introducing new hardware in the television set (e.g. teletext and stereo chips). Today enhancements are incomparably more rapid and farreaching in their impact because they are software-based: the digital TV contains an “engine” for running applications, like we have become accustomed to in the context of PCs. This technological basis of interactive TV should lead to the introduction of new applications for many years to come. It can significantly reduce the time to market for new applications. Similar applications coming from different broadcasters will potentially have a different look and feel. It will be possible to bring new applications into use for just a limited time and scrap them afterwards since they do not cause additional costs for the consumer. Interactive television (iTV) applications will have an impact beyond the traditional broadcasting world. There will be extended commercial potential for these applications and, as a consequence, applications will also be developed by non-broadcasters. The great advantage of interactive TV is that all services are running in a controlled environment (unlike on the internet). Via DVB-T/S/C broadcast large audiences may be addressed without the need of scaling the server capacity or network connection. But what is it that interactive TV can bring? The following paragraphs will give an overview of the types of applications and the types of interactivity that iTV can actually provide. While chapter 2.1 describes various types of already available interactive applications, chapter 2.2 aims at a broader classification of interactivity.

NOVICE LEVEL

2.1
2.1.1

Types of applications
Available Interactive Applications

Interactive TV-Applications lead the way out of pure “lean-back” consumption of TV. The first group of applications consists of so-called program related applications that accompany the actual TV broadcast of certain programs. These can be classified as follows: Ahead of a certain program they can be instrumental in attracting viewers by offering applications in advance promoting this program; During a broadcast, they allow for the consumers’ active involvement like participation in quizzes or voting, and/or provide additional information that in its depth cannot be covered by the TV program itself, as for example on the occasion of large TV events like the Olympics or Elections, as well as on service programs, science magazines, or entertainment programs; After a program, additional services might offer yet more related information and service or interaction offers that can be dealt with by the consumer independent of the original program time slot. The second large group of applications consists of program-independent applications offering general information services, communication, Page 19 of 215

30th March 2006 The MHP-Guide Version: 1.0

entertainment, video-on-demand, or T-commerce services, and, finally, TVbased front-ends for e-Government, e-Learning or e-Health. The following sections offer a classification of these listed types of services. They do not refer specifically to the different types of program related services as outlined above. However, elements of the described services often form part of program enhancement. Furthermore, all the application types described may be combinations of various subsets, e.g. digitext encompassing extensive news service or T-Learning combined with TChat, etc. Thus, the explanations and classifications merely serve to describe types of applications and their general concepts.

2.1.2

Information Services

EPG The Electronic Program Guide is a common application that should be available in all countries and on all STBs. In many cases there are even individual EPGs for different services on offer. The EPG lists available TV channels and the TV programs that run on these channels. Frequently, the EPG is a 7-day program guide. The program data is usually obtained by reading Service Information (SI) data from the broadcast services. Thus it can inform the user on what is currently on air, what will be broadcast next, etc. While STBs usually offer this information in their individual look and feel (defined by the STB manufacturer), most broadcasters offer their specific, more extensive EPGs. This is especially interesting if they operate more than one channel, because an attractive EPG may draw users to certain programs on additional channels.

Figure 2-1: EPG of the ARD Portal

Figure 2-2: Simple STB-EPG (TechniSat)

Page 20 of 215

30th March 2006 The MHP-Guide Version: 1.0

News Service / Event Service There are various kinds of News Services; most of them are portal-like listings of current affairs, some with sophisticated categorization, and others with very simple structures. News Applications range from simple Live-Tickers provided via a small overlay band (in most cases at the bottom part of the screen) to extensive (program related) information portals on big events such as championships, Olympic Games or the Grand Prix 1 Eurovision de la Chanson .

Figure 2-3: News Service with ¼ scaled video (Mediaset, Italy)

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.

Figure 2-4: Weather Service (RTL TV interaktiv, Germany)

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. For a video presenting the user scenario visit http://www.rbb-online.de/_/unternehmen/beitrag_jsp/activeid=254/key=teaser_300427.html

2

Page 21 of 215

30th March 2006 The MHP-Guide Version: 1.0

Figure 2-5: Traffic Service (Prototype, rbb, Germany)

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.

Figure 2-6: Interactive multimedia teletext (Pro7, Germany)

2.1.3

Communication Services

T-Mail / T-Chat Various companies on the MHP market offer MHP-based mail clients. These can be integrated in special community services by broadcasters, i.e. in program enhancement, but they can as well be implemented in the STB directly, just like an EPG (see section 2.1.2). Mail and Chat applications are clearly of the bi-directional type as they involve actual communication among end-users. It goes without saying that these applications require the use of the return channel to connect to a mail server on the Internet and a keyboard, physical or virtual on screen.

Figure 2-7: TV mail client (Alticast)

Page 22 of 215

For a use scenario of this iTV game see http://www. so that. for example. some providers also offer traditional board games transferred to iTV applications. T-Games Interactive Games to play on the TV screen.jsp.com/prodserv/digeoitv. arrow.3928. “Broadcast only” style would include so-called Arcade Games like Tetris. http://www. so that users can even use the color-. kids in the 3 See.broadbandbananas. 4 Figure 2-9: Interactive TV Game (ZDF.0 2. These games are mostly TV compatible as interaction here only requires very few keys on the remote control and can be handled very easily. scenario videos and background information. SofiaDigital at http://www.4070. similar to the mobile phone market.or number keys on the remote control to select the correct answer.digitv.digeo. As they usually are not related to specific TV programs they are provided by middleware or STB developers 3 rather than broadcasters . Applications are relatively small and quite well-received by customers.g. Multiple choice games are especially applicable as there is a finite number of selectable options. or http://www.fi/sivu.html 4 5 Page 23 of 215 .3392. All applications listed in this paragraph can be found at www. Figure 2-8: Arcade Game on TV screen (sofia digital) Beyond basic Arcade gambling.1239.com/ with screenshots. Sky’s version of Cluedo. Germany) Broadcasters have also built quiz games applications related to specific shows and enabling users to participate in these shows.broadbandbananas.com/.2173552-6-wm_dsl.30th March 2006 The MHP-Guide Version: 1.de/ZDFmediathek/inhalt/16/0. e. Figure 2-9 5 shows a kids’ quiz which has been broadcast in Germany since the 1970s.1. these applications would be delivered with the STB or downloaded from a website of a software provider directly to the iTV Terminal.00.asp?path=9.zdf. Black Jack and the like. Soccer (penalty) games or even more program related offers like BBCi’s CBeebies (amongst others an interactive Big Brother game).4 Entertainment Services T-Games Interactive Games for the TV screen may range from “broadcast only” to “bi-directional”.

In hotel rooms of the world this portal will be more a transaction interface where a time slot is ordered that will later be charged on the hotel room bill – the movies are transmitted or delivered by a fixed schedule and the customers’ actions on the portal will merely allow access. With the new interactive version.mediaset. for Germany http://www.0 studio see a short video and hear a question. yellow) they can select one out of three cartoon figures jumping between the three available choices. As the schedule would be kept even without interaction by a single user this way of selling access rights is also called Near-VoD.broadbandbananas.de/). for Italy: http://www.com/.php?id=280&languageid=1 There may be more iTV applications on this quiz format in other countries. 7 8 Page 24 of 215 . Via such a portal customers select films from a range of available movies. independent of broadcast program schedules.30th March 2006 The MHP-Guide Version: 1. for “Das Quiz mit Jörg Pilawa” see http://www.de/tv/743540. For France and UK see http://www.com/ Video on Demand Services iTV can also function as a distribution interface for Video on Demand (VoD) Services.rtl.de/index.de/index. Figure 2-10: Video on Demand Selection (gist) 6 For the Edutainment program “Kopfball” see http://www. After that they get some 30 seconds to choose the right answer by jumping back and forth between the possible statements. See also http://www. Italy and the UK) 7 . whenever the end-user chooses. 2. 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.shtml The screenshot shows a VoD Service by German developer company GIST (http://www.digeo.com/prodserv/moxi_ondemand.g. They score a point if the figure ends up on the correct spot. VoD / Video on Demand: Films can be ordered and started individually by request of the customer. kids at home can also make a choice. e.ard-digital. The TV program is available “on demand”. “True” VoD. Germany.php?id=2670&languageid=1.it/news/scheda/9109.gist.7 T-Learning). Usually.1. green. possible with quiz shows for grown-ups like the two ARD Quiz Shows 6 (Germany) or “Who Wants To Be a Millionaire?” (France. The same is. at home would offer the possibility to choose a film that would actually be delivered because of this transaction. of course. cf.php. (For more edutainment examples.broadbandbananas. Via the color keys (blue.jsp for a concrete VoD service. the STB would have broadband access and the selected movie would be delivered via ADSL or a similar 8 connection.ard-digital.

de/downloads/Images/29_3463. select and order all sorts of goods from the TV screenadapted catalogue just like they would on the Internet.pdf/download_pontegra_eBay_tracking.htm 10 11 Page 25 of 215 .nionex. There have been various prototypical applications that connected certain products to TV programs 9 Brochure available at the site of the application developer.de) users can track current eBay auctions and be informed as soon as the auction status changes.g. 9 Figure 2-11: Tracking ebay auctions on the TV screen (Nionex) 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.5 T-Commerce T-Commerce Analogue to the term e-Commerce TCommerce covers all sorts of “commercial “ applications and transactions that are delivered and performed on the TV screen.pdf For more information see http://www.pdf http://www.mhp-forum.de/content/applikat/daimler. With an extra feature of the pontegra browser (www.30th March 2006 The MHP-Guide Version: 1. Beyond merely attaching further information that is made available through interactive navigation menus. Interactive TV offers a number of possibilities for T-Commerce.pdf/download_T-commerce. from interactive advertising to triggering actual purchase transactions via the TV set (also called “transactive TV”).0 2. an MHP-based ad for Daimler-Chrysler in 2002 11 . optimum impact is expected from an emotional contextualization of the product [DUREAU 2004]. e.nionex.1. Nionex: http://www. German Mail-Order company OTTO also created an interactive shopping portal where customers can see.de/downloads/Images/29_3462.nionex. Tele-Shopping A number of T-Commerce applications have been developed/ proto-typed already. Figure 2-12: Sofa Shopping with OTTO’s interactive MHP Shop Interactive Advertising There have also been a number of prototypes for interactive advertising.

fun-tv. it will be faster and offer two-way interaction. Currently.eu.30th March 2006 The MHP-Guide Version: 1.to push iTV as a prime medium for eGovernment there are not yet many relevant T-Government Services.6 T-Government 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. they often merely combine tourist information with local news and announcements.1. Regional Information Portals Despite strong efforts .jsp?id=437 13 14 Page 26 of 215 . Especially regarding interactivity the available services seem rather meager to date.php?p_iid=IIS&p_typ=PUB&p_id=2193. 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.at/en/informatik/bibliothek_detail.rai.it also via terrestrial digital TV. according to rumors and vague forecasts authorities test technical and legal preconditions to transfer actual transactions from the Internet to the iTV platform(s). mainly due to the fact that consumers are not used to writing with a Remote Control device. 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.g. 13 Availability is forecast for autumn 2006 or later.ppt#295 or http://www. 14 Piemont already has a basic portal with regional information.joanneum. Taken from http://europa.e.int/idabc/en/document/3648/5718 Find out more about the current status of fat http://www. apparently broadcast only. Its interface will be similar to that of classic teletext information services. Figure 2-13: Regional Information Portal for the city of Tampere (Finland) The ‘Italia Utile’ (‘Useful Italy’. like submitting tax calculation forms or even voting. However. delivered and performed on the TV screen.raiutile. Some network providers and especially STB developers have made first tests on the use of chip cards in STBs to enable maximum data security. however.gov. Currently. a number of regional information portals in Finland and Italy are on offer as “T-Government” services.de/content/dokumente/ditv_anga_2005e. 12 tracking and interactive menus for background 2. 12 See for example www.it/articolo.0 through object information. TGovernment is said not to be as useful for bi-directional services. in Italy . however.

it/news/scheda/14888. see section 2.1.30th March 2006 The MHP-Guide Version: 1.4 Entertainment) may give an idea of how iTV can be used for T-Learning. UK) 2. of course. telling stories in English and asking questions in German to check understanding. Germany.com/ For entertainment-motivated voting applications visit http://www. can be used for all sorts of entertainment programs as well.5 T-Commerce) as well as THealth (cf. 50% 17 of what they read and hear and up to 90% of what they do themselves . Spielerisch Lernen und Organisieren. Figure 2-15: Kids’ Edutainment: Goosebumps (FoxKids. Hamburg 2001 For a comprehensive overview and bibliography see Rossiter.shtml .broadbandbananas. Examples like Goosebumps and “1-2 oder 3” (ZDF. but involves the kids in what they see and hear.mediaset. Learning and teaching experts say that learners remember 30% of what they see. Figure 2-14: Voting application related to News Show (SkyTV. Common understanding in Learning Theory. the following section) or “pure” T-Learning environments.html 18 Page 27 of 215 . available at http://www. 16 . In this case the MHP application is not only used to offer extra information on the program. This example complies with both ideas. see http://www. section 2. An example for the potential of iTV for T-Learning in a program related context is a kids’ edutainment format of German Pay TV channel FoxKids. In various publications this ranges from providing program related (educational) background material to interactive learning applications which check and track learners’ progress.1. 20% of what they hear.1.org/2003-4/adult-teaching. Voting applications. giving them an interactive learning experience. Germany) 15 16 17 Example from SkyTV.ericdigests. 18 Some others also stress the power of narrative teaching . quoted in Margit Hertlein. Mind Mapping – Die kreative Arbeitstechnik.0 Voting As an interactive instrument for the democratic society iTV already can be used for opinion polls 15 . Marsha: Narrative and Stories in Adult Teaching and Learning.7 T-Learning T-Learning Analogue to the term e-Learning T-Learning covers all sorts of educational applications that are delivered and performed on the TV screen. not only for children but also for grown-ups in Business TV (cf.

2. The application also stores patients’ information on the correct medication for patients and care personnel to see and check. to business partners and customers. however.medical. offers all sorts of information to its tenants and potentially interested persons. timely reminders and positive reinforcement around personal goals. 2. They receive a combination of tailored educational content. heart rate. A special variant of health applications is “T-Care”: T-Care is a truly interactive and bi-directional way of connecting patients and care persons or health institutions via iTV. this involves dedicated applications for exchanging current data on blood pressure (Patient enters figures with the Remote Control after taking the blood pressure) or other medical data. for instance. Germany) 19 Unfortunately. However.30th March 2006 The MHP-Guide Version: 1.ortikon.com (Finnland). 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. eat right and exercise more. The term T-Health covers basically every kind of TV based information on health. (Internal) Communication.9 Business TV Business TV is more a use case scenario than a type of application of its own. In some cases 19 .0 2. In addition. to a smaller extent. For more information on one possible application scenario and the respective success story contact www. Chronically ill patients are connected directly to their care providers in order to motivate them to modify their behavior – to follow their doctor’s guidelines. this sort of information exchange is based on T-Mail and T-Chat facilities (cf.1. heart rhythm. T-Care Analogue to the term e-Care T.1.Care covers all sorts of communication services that connect patients and health care personnel in (bidirectional) TV-based communication applications.com/us/news/content/file_804.8 T-Health/T-Care 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. patients are able to track their own vital signs – such as weight. For details see: http://www. wellness and medical topics. A German housing society.html 20 Page 28 of 215 . 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. there were no screenshots available.3 Communication).philips. T-Commerce. Organizations may use these types of interactive applications to provide all sorts of information and communication facilities to their employees (Intranet-style) and.1. and blood 20 pressure. Figure 2-16: Customer Information at Housing Society “ewt” (GIST. the idea of combining Information Services. Basically.

obtain required data from the broadcast stream.0 2. Bi-Directional Interactivity: Bi-directional interactive applications. Unidirectional Interactivity: Unidirectional interactive applications. allow users to acquire data from sources outside of the broadcast stream. such as online voting and advertisement response. allow users to provide response data in a single direction. such as digital teletext and personal video recording (PVR). and online gaming. web browsing. They only support “local interactivity” where the consumer may interact locally with data stored on the end device.30th March 2006 The MHP-Guide Version: 1. such as email. ”interactivity” in iTV may be categorized along three basic levels: Broadcast only: Broadcast only applications. Type Application Broadcast only Level of interactivity Unidirectional Interactive Bi-Directional Interactive 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 . such as a returnpath server. The table below shows how these technical levels of interactivity relate to certain types of applications. with no direct reply from a return path server.2 Levels of interactivity Roughly speaking.

0 T-Government T-Learning Information Portals Edutainment games Professional Further Education ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ T-Health Information portals T-Care ∗ Table 2-1: Levels of interactivity in relation to types of applications Page 30 of 215 .30th March 2006 The MHP-Guide Version: 1.

the success of DVB has brought a degree of interoperability that is much wider than ever before in history.2. discussions in some markets came up concerning API systems. being proprietary as well as being incompatible caused many worries to most market partners and only in some vertically oriented markets different APIs were introduced. It lines out the current state of MHP as well as planned new developments (which are discussed in more detail in chapter 16. This was very helpful to achieve a successful early start of the digital TV market in around 1995.30th March 2006 The MHP-Guide Version: 1. 3. Additionally it presents an overview of the MHP activities in some European countries. service information. no broad market development took place. Both aspects of these solutions. Since the official foundation of the DVB project emerging from this group in 1993. satellite and terrestrial networks and the markets related to these networks. however. DVB concentrated on the fundamentals like channel coding for cable.1 The need for MHP as an open API standard Market developments and DVB activities In the first phase of standardization. Soon. this has hindered an open and community-wide TV distribution and TV market. 3. Within Europe. Consequently. which are fed into international standards bodies such as ETSI. It became clear that the potential of digital TV could considerably be enhanced by interactivity but at the same time different API solutions appeared in the market which were proprietary and incompatible. Today. In these markets usually one Pay TV operator decided which API to use and subsidized corresponding decoders.after decades of research . These DVB/ETSI standards are world-wide adopted and they provide the basis for hundreds of cable. this initiative has successfully bundled all relevant technical developments in the area of digital television.2 3.1 The DVB Project Around 1990. Page 31 of 215 . Other service providers were blocked from making their content visible on these decoders. teletext transmission and the basic encryption mechanisms. a "European Launching Group" was established which started to coordinate with all interested players the basic technology issues required for the introduction of digital TV.reached a status which indicated that digital TV broadcasting could be commercially realized in the nearer future. In 1991. satellite and terrestrial transmission. channel modulation and chip integration had .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 has developed specifications for digital television systems. the technologies of video coding. DVB currently has some 250 member companies from all over the world covering all technical and service aspects related to digital TV.

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. 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). The MHP platform has been developed by the industry. and the commercial success of interactive television remains limited. It is desirable for consumers to have the capability of receiving. 3. and to guarantee widespread implementation of the standard. and the state of competition in the markets for digital television services.. but that this in Page 32 of 215 .. sport. This framework requires Member States to recommend service providers and equipment providers to use an open API. particularly in Italy. for the benefit of the industry. 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 need to promote the take-up of digital television. regardless of the transmission mode. having regard to technological neutrality.2 EU policy "Interoperability of digital interactive television services and enhanced digital television equipment. governments have yet to find ways to exploit the technology successfully as a means of communicating with citizens. 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. at the level of the consumer. gambling and reality television. future technological progress.0 Therefore. all digital interactive television services. The Commission considers that this voluntary. on reviewing the interoperability of digital interactive television services” dated 02. The most successful applications have been in the area of quiz shows.30th March 2006 The MHP-Guide Version: 1." (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. in 1997. industry led standardization is the best process to reach interoperability. should be encouraged in order to ensure the free flow of information. media pluralism and cultural diversity.” “Developments in the market.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.02. the EU Commission welcomes the introduction of MHP as European iTV standard. Consequently.“ In their latest “Communication . 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.2. have shown that interoperability can be achieved when stakeholders act together with a common aim to implement a technical standard like MHP.

1) was created. the new standard could not be based on any of the proprietary APIs as they existed in the market by then. in turn. considers that the market is best served at the present time by continuing to rely on industry-led voluntary standardisation initiatives. Already in August 1999. technologically. a public "over-the-air" demonstration of MHP applications and MHP decoders took place at the Internationale Funkausstellung IFA (International Broadcasting Exhibition) in Berlin.g. was published by ETSI in November 2001 as TS 102 812 v1.” By this communication the Commission plays back the main responsibility to successfully introduce an open interoperable API system to the market.0) became available in July 2000.4 MHP: Current status and new developments While the work outlined above primarily improved the basic profile of the standard. Page 33 of 215 . The strength of this standardization is its open approach. 3.1. it became clear that. In June 2002. was followed by MHP version 1.” “The Commission . DAVIC). 3. the decision was made to use Java technology as a basis for new common APIs.0. MHP 1. This first version of the MHP standard had a number of shortcomings. a new profile with additional features like HTML. which is a pre-requisite for having interactive digital services. that mandating EU-wide standards under Article 18(3) of the Framework Directive would not contribute significantly to the growth of interactive digital television in Europe.3 MHP activities in DVB Very soon after the take-up of the API standardization efforts in DVB in 1997. and to support open standards and the ongoing cooperation on interoperability and exchange of best practice between Member States and between stakeholders. Consequently. extended backchannel usability or smart card API was published by ETSI (MHP 1..0 is the inclusion of DVB–HTML.1.0. certain technical aspects had not been covered precisely enough.3. Every MHP compliant product manufacturer will target a broader market without depending on a particular broadcaster.. A first ETSI version of the standard (DVB-MHP 1. Subsequently. and multiple service providers will be able to develop interactive applications without depending on a particular manufacturer.0. and could have significant negative effects. further business and technical developments are needed.. It was published by ETSI in October 2001 and was published by the Commission as European Standard on 31st December 2002 (OJ 2002/C 331/04). Also this standard relies on existing and proven standards that have already been deployed (e..1). e. the only requirement they have to fulfill is to be MHP compliant.” The resulting conclusions of the Commission in this communication contain the following statements: “The Commission’s priorities are now to work with Member States to ensure the successful switchover to digital TV. the next version of the standard (MHP 1.0 itself is not sufficient to ensure the emergence and growth of interactive digital television services. and with far-sightedness. This.g.30th March 2006 The MHP-Guide Version: 1. MHP 1.2 was introduced.1 One major change with regard to MHP 1.” “The Commission considers .

All of them are in one or another aspect related to MHP as MHP can be seen a central control instance for DVB decoders. They cover technologies like PDRs. Internet access profile + + DVB-HTML Profiles Interactive broadcast profile DVB-HTML Enhanced broadcast profile Options Figure 3-1: Profiles of the MHP standard There are a number of new technological developments beyond the internet access profile. Enabling interoperability is enabling several systems (the components of the MHP end-to-end value chain) to interact with one another and to exchange data according to a prescribed method in order to achieve predictable results. From a service and application point of view currently three profiles and one option called DVB-HTML have been defined allowing manufacturers to develop a range of products that provide different functionalities.5 Ensuring the interoperability of MHP Since first practical experiences with MHP were gained it has become evident that the interoperability of applications and decoders at a technical detail level would be a challenging issue for this complex standard.30th March 2006 The MHP-Guide Version: 1.1 also provides a lifecycle model for plug-ins and includes support for application downloads via the return channel. All valid DVB-MHP standards can be obtained from the ETSI website. Enhanced broadcast profile combines digital broadcast of audio/video services with download applications. This profile does not support an interaction channel. This profile requires an interaction channel.0 based on the W3C specification. which enable local interactivity. Each profile can co-exist with others offered on the market. IP delivery. HD and new video coding standards. Internet access profile is intended for the provisioning of Internet services. a lot of testing has already been performed. It also includes links between those Internet services and broadcast services. basically checking all available applications on the emerging decoder implementations. In order to deal with these interoperability issues. Interactive broadcast profile enables a range of interactive services associated or independent from broadcast services. DVB-HTML is optional within the Enhanced Broadcasting Profile and the Interactive Broadcast Profile. IRT’s Page 34 of 215 . More insight in these developments is given in chapter 16. MHP 1. but is an integral part of the Internet Access Profile. 3.

2a and 1. Both. Page 35 of 215 . Huge effort both financially and in manpower has already been invested by several companies.a) and January 2003 (1. Interoperability. the findings of the tests have not been systematically and completely documented. 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. such as the internet access profile (MHP 1. 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. In addition. to setup specifications for programming related tests. 3.0.30th March 2006 The MHP-Guide Version: 1.0.0. amongst them the partners who have in 2004 joined in the EC funded MHP-CONFIDENCE project.2 and PVR extensions).3 of the MHP specification and is further working on advanced versions of MHP. Early March 2003 the DVB Technical Module approved version 1. creation of the MHP Test Suite and the MHP Knowledge Database are initiatives to cope with the question of interoperability. Every MHP device on the market which aims at carrying the official MHP logo (see below) must have passed this Test Suite in a self-certification process applied by the manufacturer.2b have been made available in September 2002 (1.2.2.0 interoperability workshops provided the organizational framework and technical basis for many of these tests. Today.5. there are still unresolved issues. Both versions of the Test Suite are related to the MHP standard version 1. which will be dependent on stable interactive services with a good performance. As a result.2b). Main activities of MHP-CONFIDENCE are to identify areas where MHP interoperability can be strengthened by additional Conformance Tests. The MHP Test Suite is made available to decoder manufacturers via ETSI. performance and ease of use are the responsibility of the actors of the complete MHP value chain.0. Solving the described problems is the prerequisite for MHP’s large-scale market success.1 The MHP Test Suite DVB has taken into account the interoperability issue by releasing an official MHP Test Suite for Conformance Testing of receivers.0.0. additional work is required to update the Test Suite to comply with these recent versions of the MHP standard.1. Figure 3-2: The MHP Logo 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.

Initiated by core members of the MHP Alliance. All interested users from companies and organizations active in the field of MHP are invited to benefit from the offered MHP knowledge and to actively make use of this new platform for information exchange. Germany (Co-ordinator) Bayerische Medien Technik. The know-how in the database addresses all components within the entire value chain of MHP-based applications. Germany Panasonic AVC Networks Germany GmbH.30th March 2006 The MHP-Guide Version: 1. Germany Instituto Tecnológico de Aragón. The knowledge database is designed to store all questions and issues that arise during the process of implementing MHP decoders and MHP applications. This guarantees that the most pressing problems are addressed.org. France Telenor.2 The MHP Knowledge Project In order to actively support and accelerate MHP take-up throughout Europe. the database presents a continuously growing number of solutions including reference application modules as "Open Source" code which is available for free usage by any MHP-developer. The project website also gives access to a "virtual test centre" which presents the unique possibility to test MHP applications online on standard hardware MHP decoders. Denmark Deutsche Welle. Potsdam. It provides know-how and best practice solutions to all companies and organizations active in this field. Søborg. the MHP KNOWLEDGE PROJECT has been launched.0 3.org. Norway Page 36 of 215 .mhpkdb. For the relevant MHP issues. The database is accessible via the project website http://www. München. The project ensures that useful information is available on all components within the entire value chain. The MHP-KDB partners are in detail: Institut für Rundfunktechnik GmbH. Fornebu. the EC co-funded research project combines the competence of some of the Alliance’s key players with that of notable partners from technology research. the project sets out to tackle exactly the issue of interoperability of MHP implementations and applications.mhpkdb. a dynamically updated single "point of call" for all MHP related issues. By July 2005 the MHP Knowledge Project made their MHP Knowledge Database available for online access to the whole MHP community. By establishing the MHP Knowledge Database (MHP-KDB).5. Suresnes. Zaragoza. MHP-KDB does not only rely on internal expertise but encourages the whole MHP community to contribute to the project by sharing practical experience on interoperability issues. Germany Danish Broadcasting Corporation. Germany Philips CE/STB. More information on the online test centre can be found on the project’s website http//www. Peine. Annex A provides detailed information on how the MHP Knowledgebase works. München. without the need for physical access to a testing laboratory. Spain Rundfunk Berlin-Brandenburg/ARD Digital Play Out Center. Bonn.

The ORS has published a receiver specification (to be found at www. including a return channel. This specification is also valid for the satellite market as the relevant services are also distributed via DVB-S – including the MHP applications. In addition to the three regular TV services ORF 1. ran for 3 months starting in June 2004. It contained enhanced applications. games and ticket ordering. like EPG or news ticker as well as interactive applications using the return channel. 150 MHP-enabled DVB-T set top boxes. Belgium Universität Duisburg-Essen. 18 of the framework directive and the obligation of the EU member states to encourage open API standards in its MHP argumentation.pdf. Essen. 23 2006 the Austrian regulator granted a license to operate two nation wide DVB-T multiplexes to the “Österreichische Rundfunksender GmbH&Co KG” (ORS). ORF 2 and ATV+ an interactive service called „!TV4GRAZ“ was distributed via DVB-T. including news ticker. The cable network operator Salzburg AG ran test applications.6.mhpkdb.at) which requires the implementation of MHP 1. were provided to households for using the broadcast interactive service. The interactive content was accessible to the consumers via an MHP-Portal.30th March 2006 The MHP-Guide Version: 1.0 tComLabs. until February 2005. Germany 3. The ORS will serve as a platform operator for these two multiplexes. 3.2 for compliant receivers. Ghent. Page 37 of 215 . It is planned to add on the first multiplex a MHP bitrate of 600 kbit/s to each service. This test run was provided by a number of public and private broadcasters.ors. Also Austrian cable network operators are testing MHP via DVB-C and cable-based return channel. As many of the described activities still are in experimental stage. Besides an MHP EPG also commercial MHP applications are foreseen.1 Austria In the Austrian city of Graz a DVB-T test. Nevertheless it provides a short documentation of the efforts made. More in-depth information on MHP in various markets can be found in the document “Analysis of the Current Situation” at http://www. SMS/email applications.org/publ/mhp-kdb_d1-ver-2. On Feb. ICB. including the broadcast of MHP based interactive content. some of the information given may be outdated soon.6 MHP in the markets This section describes in short the current status of the MHP deployment in some European countries. This license explicitly refers to Art.1. like a quiz and an interactive advertisement that included the possibility of requesting further information. Part of this license is the obligation to use MHP for interactive applications.

Channel Four Finland and Channel Four Plus. DR has been supporting MHP from the very beginning – through participation in MHP Alliance. MHP Action Group. refers only to the migration period.fi/digita_dokumentti.3640. there is not too much interactivity on air. In addition to new channels. 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. however. As DR launches the DR Portal. The MHP-portal will also be made available in the DTT network. This. digital text television and channel-specific additional services.3 Finland A total of 16 television broadcasting stations and ten television subtransmitters in northern Finland will be digitalized during the third phase of the extension of the digital television network.1826 Page 38 of 215 .30th March 2006 The MHP-Guide Version: 1. DR initiated an analysis project with the purpose of preparing DR technically to develop and broadcast MHP applications. Digital television will make numerous new channels available to the consumers. 3.fi/digiProEtusivu. YLE24. 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.digitv. At present. Existing offers are either based on OpenTV (TDC and Viasat) or MediaHighway (Canal Digital). The DR interactive 24/7 information service was launched in the fall of 2004 and is broadcast on satellite and later also on DTT. and. The extension of the network will increase the number of channels to ten.6. it will be made available in the satellite networks in proprietary APIs as well as in MHP.asp?path=1841. The channels available in the digital television are the channels TV1. such as a television program guide. the selection includes MTV3. In June 2001. the digital television offers several additional services.6. TV2. MTV3+.digita. After that it will be MHP only. This network will be based on MHP.2113 http://www. The construction of a DTT network has just started in 2004.2 Denmark Denmark currently has digital cable (TDC) and satellite (Canal Digital and Viasat) networks.2081. Subtv.0 3. three television channels have been broadcast via the terrestrial television network in these areas. The services are available using MHP (Multimedia Home Platform) compatible receivers.asp?path=9. 21 Current MHP applications on air as a regular service in the DTT networks are: 21 These rules can be found at http://www. most probably. and through NorDig. also in the cable network as part of the 'must carry legislation'. YLE Teema (YLE Theme) and YLE FST of the Finnish Broadcasting Company. Until now. The DTT network is currently under construction and will be put into operation by in early 2006. In addition. Digita DTT has defined some network rules of operation including special requirements for MHP terminals in Finland.

date of the Pay TV services launch. Radio) is within the power of the communities (Flemish speaking.6. French speaking and German speaking). The coverage concerned 35% of population at start and was extended to 50% until 1st of September 2005.5 Flandern In Belgium. 3. If any broadcaster uses another standard. The assumption was that interactive TV services are closely linked to pay TV offers. were promulgated by the Ministry of Industry: Receiver: the receiver must be compliant with IEC/CENELEC 622161 norm.4 France DTT was launched officially on 31st March 2005. commercial broadcasters are generally in favor of proprietary solutions. In September 2005 Telenet started its commercial deployment of interactive digital television. it has to be a non-proprietary open standard and it must be made known to the CSA (French regulatory board). TV-bank (and Hockey score ticker. In September 2003. No consensus could be found between the different players concerning interactivity: whereas the public broadcasters support MHP. 3. about 97. “Vlaanderen Interactief” has chosen one standard: MHP.4 million euros by the Flemish government. In the Flemish community. A regulatory text called “Paquet Telecom” (including standard recommendations from the European Commission toward MHP) has been adopted in France in July 2004. they will do research on the technological and the social scientific side of iDTV. News ticker. Memory game. media (TV. the commercial broadcasters VMMa. the public Flemish broadcaster VRT. which have the particularity to be mandatory MPEG-4 video codec compliant.30th March 2006 The MHP-Guide Version: 1. an EPG. Telenet offers different types of applications: a TV portal. Weakest Link and Formula 1 as prototypes). The project is supported and funded for 12. Digita. MTV3 and Channel Four Finland have agreed on extending the broadcasting network of digital television to cover the whole of Finland during 2005. interactive applications like voting. Within this cooperation. No clear choice on interactivity can be made until the commercial distribution has taken up. According to two technical arrests. Government facts MTV offer: Real estate finder.1). This cooperation will also prepare the introduction of iDTV in Flanders. describing the signal content compliance as well as the legal obligation for DTT receivers. NE-spelet. In addition to a number of digital television channels.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. the Finnish Broadcasting Company. Signal: signaling and securing information must be compliant with TS 102 812 (MHP 1.0 YLE offer: Supervideotext. VT4 and afterwards MTV and the owners of the cable network Interkabel and Telenet signed a cooperation treaty called “Vlaanderen Interactief” (Flanders Interactive).6. VOD. shopping and will launch a Page 39 of 215 .

offers since the summer of 2005 also digital TV. No interactive services are offered and the VRT doesn’t make any promotion for that network. The higher costs and the lacking of a good promotion of MHP terminals might constrain their powerful impact on the German TV market. The middleware is produced by Myrio. "Hörzu". August 2003 in the region Berlin/Brandenburg was accompanied by the introduction of enhanced TV services based on MHP.30th March 2006 The MHP-Guide Version: 1. Belgacom. some new players have entered the stage: The big German mail order company "Otto" has started to offer its products via TV. 3.3). Since the beginning of 2005. now broadcasts an MHP version via TV. the incumbent national telephony operator and a competitor of Telenet. not much technical information is made public. it can be assumed that the purchase of DVB-T boxes will increase continuously in the next years in Germany. The government is also interested in offering access to different e-government services and in the near future everyone will be able to authenticate himself by putting his electronic identity card in the smart card reader of the set-top box. Only the TV (2) and Radio (9) channels from the public broadcaster VRT are available. Since then a number of regions followed and some are already preparing DVB-T. web access and Interactive TV will be offered. Due to the lack of standards. that these systems were not suitable for open. three DVB-T boxes enabling MHP are available on the German market (see also section 2. while prices for DVB-T boxes not supporting MHP start at 70 €. however. using an interactive MHP application. It became clear soon. MHP was first demonstrated publicly in Germany at IFA 1999. original planning had been based on proprietary systems. which was recently taken over by Siemens (the system integrator for the Belgacom TV project).6.4. For strategic reasons. Due to the fact that terrestrial analogue TV will be switched off by 2010. MHP has not yet developed into a market success. the first regular services were started in mid 2002. Furthermore. Even though in 2003 more digital satellite receivers than analogue satellite receivers were sold in Germany for the first time. The sales prices of the MHP DVB-T boxes range from 225 € to 800 €. Besides digital TV.6 Germany The major German market players have considered the introduction of digital television including interactivity via APIs since 1995. a well established TV print magazine. In the meantime Flanders is fully covered by DVB-T.0 PVR with MHP middleware in March 2006. horizontal mass markets. Meanwhile several broadcasters (all of them free TV) offer a number of regular MHP services. On the cable networks from Interkabel. German partners have consequently contributed very actively to the development and deployment of MHP. video on demand. The start of DTT and the analogue switch-off on 4. In addition to the MHP activities of established TV broadcasters. but over xDSL. people are now also able to receive digital TV (DVB-C) without any interactive services. If these Page 40 of 215 .

000 MHP terminals have been deployed into the households. games. In 2003 and 2004 actually 730. the country with the highest number of MHP set-top boxes actually deployed in consumers' houses.html). In January 2005 some German cable operators decided to support MHP in their networks. no regular services.000. DTT contents rely on interactivity more than quantity and in the Italian DTT networks interactive MHP applications play a very important role. and the Fondazione Ugo Bordoni) working to enable the deployment of digital TV.0 problems will be overcome and the broadcasters will offer more interactive services.000 receivers. 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. is not interested in MHP. however. In Italy there are already 15 to 30 analogue programs available. have been implemented up to now. This terminal integrates DSL which guarantees a highspeed return channel suited for MHP applications. T-Online intended to introduce an MHP set-top-box with hard disc at IFA in September 2005.7 Italy On December 1st 2003.6.dgtvi. As a component of the regulation. The Telecommunication authority defines the broadcast licenses for network operators and authorizations for the TV content suppliers for an antitrust system. the Italian government has allocated a budget for a contribution of initially 150 euros per interactive DTT receiver for 900. La 7) have adopted DVB MHP as the standard for interactive applications for the Italian DTT. Mediaset.000 MHP terminals is expected.it/stat/Industry/D-Book/Page1. The overall interactive offering per DTT provider is: Mediaset LA7/MTV LA7 RAI 26 applications 10 applications 6 applications 8 applications According to the deployments encouraged by the subsidies there is a quite huge number of MHP terminals available in the Italian market. In fact. La7. Italy is now by far. MTv. however. video clips are offered and can be invoiced via T-Online. In 2005 the subsidies have been lowered to 70 Euros per MHP decoder. MHP will have a bright future in Germany. but an additional deployment of more than 1. Value-added services such as Video on Demand (VoD). By end of 2004 the coverage already exceeded the 50% threshold. The majority of the cable operators. The Italian national broadcasters (RAI. DGTVi is an association (composed of RAI. 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. ring tones.30th March 2006 The MHP-Guide Version: 1. Mediaset. thanks to Government subsidies for interactive receivers. 3. Page 41 of 215 .

that has got an advanced commitment for the license to be responsible for the DTT transmissions. The analogue switch-off will be implemented region by region.30th March 2006 The MHP-Guide Version: 1. The Telenor owned company Norkring AS will then build the network. There will be no funding from the Government. Ahead of the analogue switch-off there are currently only frequencies for three multiplexes. They will also be responsible for the selection of programs. after the analogue switch-off. establishing and running the multiplexes and they will possibly pay for the distribution. and hopefully the other Norwegian channels. Figure 3-3) has been created and will be released for certified receivers that will pass a test procedure. When the transmission will start is not published. NTV has planned to distribute two multiplexes from the start.6. The cost for the set-top box is expected to be NOK 1300 –1500 (EUR 165-190). All households in Norway shall. have a digital TV offer with all the programs from NRK and TV2. however. which is owned 50 % by NRK and 50 % by TV 2. one with public service broadcasters’ programs and one with some Pay TV channels.it). The government has reopened the possibility to apply for license on DTT due to new license period. Some conditions are the most important part of the approval: The network shall have coverage of at least 95 % of the population.dgtvi. The most popular Nordic and other foreign channels are to be included in the offer. and expected to be finalized by the end of 2008. These tests are performed in a self certification process by the vendor itself. one can find the coverage of the operators for DTT (www. There is one company ”Norges Televisjon AS” (NTV). Figure 3-3: DGTVi Logo 3.0 On its web site. They own most of the infrastructure that is expected to be used. independent of the distribution platform. with some kind of support from NTV to a few set-top box vendors. and is dependent on who is going to be implementer of the infrastructure. Telenor by Telenor Broadcast has signalized that they will be one of the appliers for license in addition to Norges Television. DGTVi proposes to the manufacturers to conform their products to D-Book on a voluntary basis. The set-top box offer to the consumers will be based on re-tail. A third multiplex is planned for a later stage.8 Norway On 26th February 2004 the Parliament approved that a DTT network can be established in Norway. A DGTVi logo (cf. not been finally decided upon. the program package has. A specification for Page 42 of 215 . This is related to total coverage.

0 (enhanced broadcast) on air until October 2003. but the CA vendor is still not decided. Thus. 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. some of them including MHP interactive services (EPG. and the Nordic broadcasters all promote MHP in DTH when the market is ready both with set-top boxes and applications. have promoted MHP since 2000. etc. including Satellite Broadcasting. and the Thor II satellite was used for distribution. on satellite in 2001 and had MHP 1.. But the growing Page 43 of 215 . The pilot service started with seven customers. After the crash of the platform Quiero TV. All the broadcasters want to use MHP in DTT when it is launched. below) spec. 3. As a satellite network operator Telenor wanted a multi-user playout to be also used for cable and terrestrial. A web interface was developed where the pilot customers could upload their applications. since November 2005. broadcasters and network operators in the Nordic countries started NorDig to specify a common standard IRD for the Nordic countries.) The satellite technology is more extended and it has adopted faster the digitalization process due to its lower update cost. Telenor Broadcast.30th March 2006 The MHP-Guide Version: 1.0 platform (play out) which was presented at IBC2000. During 2005 the Government has initiated a set of actions in order to get ready for the analogue switch-off before 2010. Norkring and Canal Digital. Telenor also started an MHP Forum in the Nordic countries in 2002 together with broadcasters and application developers. more than 20 free DTT channels are available. the DTT was restricted to the transmissions in digital of the operators that transmit free. In 1998. The set-top box shall have one embedded CA solution. and the set-top boxes shall be prepared for MHP services. Satellite Broadcasting started developing an MHP 1.6. Several customers were to use the playout/ object carousel while the broadcaster was to control its own applications. enhanced teletext. (NorDig All transmissions will be encrypted. In 2000 NordigII was specified with MHP Interactive Broadcast profile.9 Spain The current situation of digital television in Spain shows a panorama broadly dominated by the satellite platform. to promote the use of an open API on interactive digital TV and to stimulate the horizontal market and third party application development. The main aim was to collect experience.000 homes with terrestrial digital decoders (mainly from the disappeared QuieroTV). and to the very limited offer of the other two operators that obtained also licenses (VeoTV and NetTV). The reason for starting this development was that at the time no playout platform with the wanted functionality was available. In 2000.0 the set-top box. mainly based on the NorDig (cf. In the year 2004 the number of homes having a terrestrial digital decoder begins to be of some importance. The forum had meetings where all the partners could discuss the use of MHP and how to launch MHP in the TV market. has been the basis for discussions with some vendors. there is an estimation of about 130. In the case of the cable platform estimations say that 60% of the TV cable clients received digital television in 2004.

chat.0 competition of the cable sector and a business model based on maintaining a high entrance price. ONO and AUNA. The project MICROMARKETS consisted of a group of tests of the operation of DTT. having at the end of 2004 about 5000 clients.6. and nowadays offers on its 5 channels in DTT a set of basic MHP applications such as enhanced teletext and an EPG. The demonstrations were carried out in stands with STB and iDTV.10 Sweden The public service broadcaster (SVT) initiated broadcasting of MHP services on all digital platforms in 2004. Page 44 of 215 . dedicated to show to the public the technological capacities of DTT and of the MHP interactive applications. the different operators are involved in the digitalization process of their networks to be able to transmit a greater number of channels and to introduce other services. Telefónica has launched its television service Imagenio. carried out in diverse commercial centers. launched initially some MHP applications on a trial basis in November 2004. Although initially the cable platform deployed in Spain was analogue. The continuation of the project MICROMARKETS will be “Maresme digital” which involves the deployment of the required infrastructure of DTT in the area of the Maresme. Television broadcast through a broadband connection is the latest option incorporated in the market of digital TV. have caused a continuous descent of the clients of this platform from the year 2001. acting as an interactive portal and enhanced TV. framed in a project based on adding a channel to the digital emissions of Televisió de Catalunya. The big Spanish cable operators. This area was chosen as a first sample territory (to be extended to other cities in the future) because of the poor signal reception due to the complicated geography. The base of the demonstrations was the programming of TELEMADRID and laOtra. The project has been developed along the year 2005. ACTUA TV project (performed during 2003/04) consisted of a series of demonstrations. text messaging and interactive advertisements. These services consist of advanced text information services. 3. Some field trials and deployment tests (projects which include MHP services) have been carried out. The interactive contents were based on MHP applications (including the possibility to use the return channel) offering news tickers.30th March 2006 The MHP-Guide Version: 1. RTVE. using ADSL technology. the Spanish public broadcaster. A 500 user trial will soon begin in Gävle using the DVB-T platform to trial a MHP-based community information service. All the new clients receive digital television. concluded the year 2004 almost reaching 100% the digitalization process. weather forecast. This project was developed during 2003 and 2004. among these initiatives we can find the projects ACTUA TV and MICROMARKETS.

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 DVBT. The SRG intends to use MHP also via DVB-C. 3.0 3. Page 45 of 215 . in a sports bidding application. The interactive content is quite successful and the consumers are used to press the red button for activating interactivity. and the number of devices in the market will avoid a short term introduction of MHP services and devices in the United Kingdom. which possibilities are provided by MHP 1. MHEG-5 (terrestrial digital TV) or other platforms. all these applications aren’t based on MHP but on OpenTV (Sky Digital.12 Switzerland In January 2006 the SRG (the swiss public broadcaster) has announced to launch interactive services using MHP by 2007. starting with simple enhanced applications displaying additional information up to interactive applications which are using a return channel. it is most likely that the success of the available interactive content. however. SRG will open in May 2006 a second DVB-S transponder to broadcast their programs. HDTV is announced by SRG in 2010.g.1 or how can MHEG-5 content be migrated to MHP? However. Via satellite. implemented with MHEG-5/OpenTV. the swiss cable operators. e. This process will be completed in 2009.30th March 2006 The MHP-Guide Version: 1.11 United Kingdom Broadcasters in the United Kingdom are providing a lot of interactive content. BBC).6. MHP will then be used via DVB-S and DVB-T. have partly introduced OpenTV and would like to keep this system. However. Interactive content therefore has to be adopted for both systems which either means giving up optimum usage of any of the systems by using meta formats covering both systems or having additional effort for individually optimizing the content for each system. This legacy situation including the usage of different APIs causes a problem for broadcasters like the BBC which deliver their services in parallel via networks using OpenTV and networks using MHEG-5. which is doing some research projects answering questions like.0 and MHP 1. MHP is currently only a topic for the BBC.6.

com/products/javatv/ 1 For more details and description of each API see Annex C. Consensus was reached by all partners involved in DVB to adopt Java as language for MHP interactive applications due to its maturity. The Java MHP applications are called “Xlets”.2 Extensions added from other standards 1 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. The following extensions were added from other standards: JavaTV API Contained in package javax. others because their functionality is not needed in the TV context. The Xlets have a specific lifecycle and are controlled by the broadcaster or user via the middleware. It also analyses the choice of the Java programming language and the specificity of Java in the TV context. some to save space. communication.1 Why Java? DVB has adopted the Java programming language for MHP interactive applications and has created a lightweight version suitable for broadcast applications called DVB-J or DVB-Java. Whereas MHP is based on a subset of Personal Java 1. The Xlets can be started.0 4 MHP iTV Applications This chapter presents the concept of the MHP iTV applications. stopped.) often directly related and synchronized with the broadcast content. quality of tools and development skills available. they run on top of the MHP middleware. 4.1 MHP application An MHP application is an interactive application written in the Javaprogramming language. It also gives an overview of the link between MHP applications and the various components in the broadcast chain. TV-centric model rather than the PC/workstation model.g. * This API comprises: Xlet classes and infrastructure Service selection SI/PSI access This API was standardized by Sun Microsystems: http://java. 4.1. Xlet Xlet is the interface used for execution engine application lifecycle control in MHP. Below the main changes in MHP are listed: Several major parts have been added in MHP. API (Application Programming Interface) The publicly accessible surface of software classes through which applications operate upon the specific functions contained within the MHP. transaction. Page 46 of 215 .1. several major elements were removed. paused and resumed.sun. information.2. such as additional APIs for STB-specific functions (DVB MHP API).30th March 2006 The MHP-Guide Version: 1. 4.tv. Changes in the core Java classes were made to save memory space. etc. NOVICE LEVEL iTV (Interactive Television) A capability in digital TV offering interactive services (e. Where the functionality needed was too different from standard Java the code was modified The UI model reflects the consumer.

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). It supports access to most SI data.org HAVi API Contained in package org. This API was standardized by HAVi: http://www. HAVi allows different home entertainment and communication devices to be networked together and controlled from one primary device. Decoder format conversion.* + javax. javax.media. New content referencing method in URL format to reference DVB services and streams (locator).0 DAVIC API Contained in package org. subtitles.* an API independent from the underlying technology.si. Additional controls for broadcast-specific functions are split across several packages: org.* + org. Page 47 of 215 MPEG-2 A digital video and audio compression (encoding) technique defined by the Moving Pictures Expert Group (MPEG). Media Control MHP applications sometimes need to control media (video.* This API comprises: Video/graphics integration UI widgets for consumer systems and TV screens Solutions forhardware restrictions related to video and graphics integration on TV screen.tv. 4. audio.service.).davic. Service Information Access There are two different APIs that enable the MHP application to access the SI: org. but accessing the DVB tables is harder.* a DVB specific API that provides access to all DVBdefined tables (except the AIT).havi.media.30th March 2006 The MHP-Guide Version: 1.org/ HAVi (Home Audio Video Interoperability) A vendor-neutral audio-video standard aimed specifically at the home entertainment environment.havi. The section below gives a brief overview of all these functionalities. etc. TV-specific functions have been added in JMF: Subtitles.1. .davic. such as a PC or television.tv.media.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.3 New TV Specific functionality MHP iTV applications in a TV context needed new functionalities that had to be specified in the MHP standard or to be re-used from other standards.dvb.*.dvb. to do that MHP has defined different APIs. Scaling/positioning.

MHP also defines a separate user input event API to support exclusive key access in org. this supports the access by the application to data.davic.service.ui package adds functionalities missing from other UI extensions: TV-specific text layout support. but are not interoperable. As the AWT windowing model gets changed a lot. A DAVIC tuning API (org. Alpha compositing between planes. exit. MHP applications can build their own widgets.2 have been introduced to the UI library and graphics model. A standard set of keys is defined (e. this enables the application to change the current service.dvb. File System Access To enable MHP applications to access the file system in the terminal MHP uses the following packages: java. MHP has some restrictions in the file system access: No absolute paths. The HAVi widget set Page 48 of 215 . The Graphics Model Big changes compared to Java 1. used to access a file system.dsmcc. these may vary between implementations. The supported key codes from a remote control are defined by MHP and HAVI. Notification of object changes. only lightweight components are available.g. arrow keys. Caching hints. The org. User Input A STB usually has no keyboard: the inputs are sent to the STB via a remote control. added to support DSM-CC functionalities that don’t exist in a normal PC file system: Stream events. also on TS different from the one the current service is in.io.event package (used for entering PINs.30th March 2006 The MHP-Guide Version: 1. this includes DSM-CC access and persistent file system access. digits…).selection). Standard AWT widgets are not available in MHP (Button…).dvb. org. Font loading for downloaded fonts. other codes may be used. No write access possible to a DSM-CC object carousel. this seems to be the most popular choice amongst implementers and allows a more TV-centric UI experience. Asynchronous loading of files. For that MHP has defined two APIs: A JavaTV service selection API (javax.0 Service selection The MHP applications can control what service is being presented on the TV screen. OK.tv. Normal Play Time.net.dvb. the HAVi widgets can be used instead. etc).tuning).

container package. HScene An HScene solves the problems with frames the from org. HScene controls: Which application has input focus. Animations. check-boxes and radio buttons.ui package and implements the java. Icons. Text entry fields.havi. HComponent and others and also enables resource management for graphics-related components). How applications are laid out on screen. Applications canot interfere with one another.ui package includes some basic widgets: Buttons.30th March 2006 The MHP-Guide Version: 1. MHP uses HScene (a HAVi replacement for frames).awt.havi.0 The org. Instead. 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 HW may impose limitations not found in a PC environment. Page 49 of 215 . Which applications currently are visible. It also contains higher-level concepts (like HContainer. Static text. The application cannot see higher in AWT hierarchy than its own HScene. Dialog boxes. An MHP application cannot use an AWT frame as the top-level component. HScenes from other applications are not visible to this application. Window management issues There are several reasons for STBs not to have a full window manager like a PC: MHP has no need for all functionalities.

Each HScreen consists of several lower-level devices.30th March 2006 The MHP-Guide Version: 1. it models the use of graphics planes in the STB hardware. graphics and backgrounds. Modeling graphics hardware In MHP the interactive TV display is split into three independent layers: the background layer. Page 50 of 215 . The HScreen class represents a physical display device. HvideoDevice used to present video from MPEG decoder. an example therefore is given in Figure 4-1. it ties together all MPEG decoding. see Figure 4-2. the video layer and the graphic layer. HAVi defines a physical device for each layer: HbackgroundDevice used to display either a still image or a plain color.0 Frame HScene HScene Component HContainer Component Component Figure 4-1: HScene in the UI model Display devices A TV has different display characteristics than a PC monitor. this needed to be included this in the display model. All of these objects are subclasses of HscreenDevice. HgraphicDevice used for application graphics and cursors.

DVB UI). Hence. AWT.net. chapter 10) needs to take place (AIT table). The inclusion in the transport stream is done via an DSM-CC object carousel. T-commerce applications need the return channel functionality. which is input to a Page 51 of 215 .30th March 2006 The MHP-Guide Version: 1. All the graphics APIs are important in that case (HAVI. 4. MHP has defined two APIs for that purpose: JavaTV Org. tune to and display services on a terminal. all APIs that control the return channel are needed (org. every type of application has its specific API requirements.0 HScreen HBackgroundDevice HVideoDevice HGraphicDevice Figure 4-2: Display structure Being familiar with Java is not sufficient to develop MHP applications. based on the functionalities needed. it has to be included into the transmitted transport stream and some additional signaling in the PSI/SI signals (cf. Thus. It is therefore important that application developers define all specific functionalities before starting the actual implementation.si On the other hand also graphic presentation APIs are needed such as HAVI that enable the presentation of graphics and text on the screen. the SDT (Service Description Table) and the BAT (Bouquet Allocation Table). Which API for which application? To implement information applications such as a news application or a weather forecast application one needs to present this information in a user-friendly way. to implement an EPG mainly the APIs are needed that enable the terminal to access the SI and to tune on a specific service. developers have to assimilate the differences in the TV environment and the HW constraints set by STBs. To implement an EPG the SI data must be accessed.dvb.dvb.2 MHP applications and the broadcast chain To play out an application. Generally. An EPG relies mainly on information displayed in the EIT (Event Information Table).rc) in addition to all other basic ones (graphic and UI). The Service Information contains metadata necessary to locate.

Once the MHP application has been received by the terminal. the application manager (specific part of the MHP middleware) will control the lifecycle of the application according application signaling provided by broadcaster. or by user requests. other parts of the system (other applications. Page 52 of 215 . MHP applications need the addition of AIT tables in the SI that defines the broadcast interactive applications (specific to MHP applications) and the behavior of the application once downloaded in the terminal. Program Content Playout (Audio/Video/subtitle) MUX PSI/SI AIT PSI/SI tables MHP Authoring & Production tools Application DSM-CC Object carousel Network equipment Network Application specific backend server Return channel MHP Terminal Figure 4-3 MHP applications in broadcast chain The MHP applications can be transmitted by an external provider to broadcaster. where it is combined with other components in the broadcast stream to form the final transport stream to be transmitted. The next chapter will present all the end-to-end broadcast chain elements. also the application can be signed to avoid non-signed applications to access critical resource of the terminal. The content and the source code of the application are broadcast using the DSM-CC object carousel that represents a specific kind of MPEG private sections. see Figure 4-3. Only the middleware can directly control the application state.0 multiplexer.30th March 2006 The MHP-Guide Version: 1. It also handles requests from other applications. user and broadcasters) can request application state change only via the application manager.

Program Clock Program Content Playout (1) A/V Data Subtitle/Teletext CA System (9) PSI/SI (6) AIT MHP Authoring & Production Tools (2) (Signed) Application Object Application data Content Management System (3) New firmware Stream Events (8) Network Equipment (10) DSM-CC (7) Broadcast Content Download server (4) Network Application specific backend server (13) Billing Information Return Channel (12) MHP Terminal (11) New firmware download Smartcard (9) Root certificates (5) Return Channel (12) OSD Graphics Mass Storage Billing System (14) Keys MHP Specific Non MHP Specific Figure 5-1: MHP E2E Reference Model Page 53 of 215 . 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. the components are elaborated in the following sections. It defines and describes the components that contribute to the architecture and infrastructure of the MHP end-to-end chain. The reference model is depicted in Figure 5-1.2 MHP end-to-end reference model This section presents the MHP end-to-end system. 5.30th March 2006 The MHP-Guide Version: 1.1 Introduction NOVICE LEVEL This chapter presents the typical architecture and infrastructure of the MHP end-to-end chain.0 5 MHP end-to-end architecture 5.

Program content is sent from a content provider to the broadcast system.2. Receiver manufacturers who want to upgrade firmware of their already deployed receivers provide software binary image files to the appropriate broadcaster or network operator who allocates specific bandwidth for this purpose.30th March 2006 The MHP-Guide Version: 1. here it enters the Program Content Playout that feeds it to the Network Equipment (10). publishing and distribution of combined information. The main issue in this context is that the component can extract the program clock reference from the Program Content and that the content playout can be synchronized to the rest of the broadcast system. management. Firmware 5. Each time a new firmware update is broadcasted. logic). Typically the Program Content Playout is implemented as video servers that store and play out content streams or as encoders that convert uncompressed source material into a DVB compliant transport stream. 5. 5. The actual implementation of this component is dependent on the format of the Program Content when it enters a particular system.2.0 5. DVB-SSU DVB System Software Update Page 54 of 215 . Within the MHP E2E architecture. design. the CMS (3) would be responsible for content generation and content delivery. A download server provides necessary software utilities to prepare a system software binary image file for any target digital broadcast receiving device.1 Program Content Playout Program Content Playout (1) is not specific to MHP systems. A CMS provides the possibility to create or pre-process (improve) existing data. Program Content Playout is a function needed in most broadcast networks regardless of MHP.3 Content Management System (CMS) A CMS (3) is a system that separates the content from the framework (layout. It is a system that supports the creation. the MHP terminal is able to move in a special operational mode in order to receive and upgrade its firmware.2 MHP Application Authoring & Production Tools Creation and broadcasting of an MHP application (2) can be divided in 2 steps: Authoring/Developing of MHP application Signing and creation of broadcast data Systems deployed to realize these steps. The software that is embedded onto a piece of hardware in order to control that hardware device. could be linked to a Content Management System (CMS) that manages the content handled by MHP applications (cf.2.4 Download server & firmware upgrade Download server (4) & firmware upgrade process are not specific to MHP systems.2. next section).

known as the “root certificate” is embedded into each MHP receiver by its manufacturer. tables have pre-defined minimum repetition intervals during broadcast to ensure a maximum access time. The remaining three table definitions are: Program Allocation Table (PAT). The PAT and CAT table have fixed positions within the TS. Thus users can be sure that application has not been modified and is only using the intended resources. comparable to program information for television channels. Video. while all PMTs are referenced in the PAT. providing both extra information about the data in the TS and information relating to external data and properties of the TS. The highestlevel certificate.0. audio and other data are all interleaved (multiplexed) when transmitted on a single Transport Stream (TS). indicating conditional access (CA) properties for any CA system utilized by programs within this TS. Defined by the DVB.0. including Private tables. and this is used to authenticate a certificate at the next level in the hierarchy. Further. Program Map Table (PMT).5 Public Key Infrastructure MHP PKI The DVB MHP PKI relies on the integrity of certificates that verify the identity of the entity that has signed an application’s file tree. containing physical properties of this and possibly other TS Service Description Table (SDT).0 Broadcast format of a new firmware update depends on both MHP terminal manufacturers and broadcasters but generally the DVB-SSU specification is followed [MHP 1.6 PSI/SI PSI/SI (6) are not specific to MHP systems. the PSI/SI set of tables is used as a table of contents. In order to navigate between all PIDs received by a client. which can be considered the root of a hierarchical structure of television programs. PKI A system that enables users of a public network 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. Service Information (SI) is an addition to the PSI specification. 5. . MHP 1. giving extra information on DVBservices. PSI defines four different tables. This authentication process is repeated through each level of the certificate hierarchy until a leaf (or end-entity) certificate is encountered and authenticated.30th March 2006 The MHP-Guide Version: 1.2. defines the individual components of a single program and Conditional Access Table (CAT). It defines a series of mandatory and optional tables. Program Specific Information (PSI) is defined as part of the MPEG-2 standard. but an additional table (AIT) is defined for MHP systems. 5. it is also referred to as DVB-SI.2. comparable to MPEG-2 programs Event Information Table (EIT). Within the DVB standards of distributions these separate sources of data are identified with a unique packet identifier (PID). The mandatory tables are Network Information Table (NIT). the tables provide descriptions of the content available. Because of the broadcast nature of the TS. distributing event information for DVBservices. Updates of the EIT should be synchronized to the actual content Page 55 of 215 Transport Stream A multiplex of several program streams that are carried in packets.3].2.

The modules are broadcast as a sequence of DownloadDataBlocks. Running Status Table (RST). but in many operational systems this may not be the case at all times.research.com/euprojects/smash/deliver/del15/del15. DAVIC has specified how to refer to DSM-CC UU objects using java. a mechanism to broadcast objects (like files and directories) in a carousel-like fashion.io to access files and directories in a DSM-CC object carousel. Tol. 5. Time Offset Table (TOT) and Stuffing Tables (ST). During this show. The application and data are sent on an object carousel. The User-to-User objects are not interpreted here. data and events are broadcasted using a DSM-CC playout system (7).30th March 2006 The MHP-Guide Version: 1. Part of the DVB-MHP specification is the Application Information Table (AIT). All tables except ST are anchored at fixed positions in the TS and can be accessed without parsing other tables first.2 DSM-CC Stream Events Interactive applications sometimes require synchronization with TV programs. These objects are transported in so-called modules. At this layer. while events are sent as stream events. provides logical grouping of services across TS. Time and Date Table (TDT). A DSM-CC object carousel consists of three layers. These modules represent the middle layer and this layer is called the data carousel layer. the modules are just a container for data. The MHP specification has included this part of DAVIC and thus also uses java. the 22 This section is a slightly adapted copy of chapter 12 from: Report on ongoing standardization efforts. SMASH.io: it is the same way MHEG refers to those objects.2. broadcasting time to the MHP Terminal The optional tables are Bouquet Association Table (BAT). this is done at the top layer. A quiz show is a good example. At the top layer (called the object carousel layer). among other things. the table is referenced from one or more PMTs.pdf Page 56 of 215 . 5. There are optional variations of all the mandatory tables.2. by Ivar Miljeteig and Ronald M. These DownloadDataBlocks form the lowest layer. Deliverable #15. MHP applications.extra. the DSM-CC User-to-User objects (like files and directories) are visible.philips.7.7.2. Although not part of the PSI/SI set of tables. 5.1 DSM-CC Files and Directories 22 DSM-CC offers.0 being played out in the program content playout (1) component. sent only once to update the client of a status change. http://www.7 DSM-CC DSM-CC (Digital Storage Media Command and Control) A format for transmission of data and control information in an MPEG-2 private section. The AIT contains information about the available applications within a given service. which are MPEG-2 private sections with added semantics.

this topic is investigated by the Signal Focus group. to ensure that the display and the duration of the question is the same as for the live viewer. A Conditional Access System (CAS) is used to control the access to program content on most platforms including MHP. A Control Word (CW) generator generates a CW. The ECM is related to the program content and holds the access criteria. DVB scrambler SMS ECM generator EMM injector Figure 5-2: Detailed view of Conditional Access System It is an optional part. Stream Events (SE) (8) are markers embedded in the Transport stream (TS) as private section. 5. On request from the SMS the Entitlement Management Message (EMM) generator in the Subscriber Authorization System (SAS) server Page 57 of 215 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. Scheduled events offer more precision at the cost of increased complexity.0 quizmaster asks a lot of questions. when the time is reached the event is triggered. Within a stream event information (text. The NPT is a frame accurate media time defined by DSM-CC and reconstructed from PCR information present in the MPEG-2 stream. The ECM is used for recovering the CW in the MHP Terminal. .8 Conditional Access System CAS CW generator SAS EMM generator The Conditional Access System (9) is not specific to MHP systems. the interactive application has to be synchronized with the running program. This object identifies the matching event. but the basic components are the same. There are two types of Stream Events (SE). The CW is also used to generate an Entitlement Control Message (ECM) in an ECM generator.30th March 2006 The MHP-Guide Version: 1. In MHP KDB Project. Those are: “Do it now” event – the event is triggered immediately (as soon as possible) without time preferences “Scheduled events” – is depending on a time reference (NPT). The link between Program Content Playout (1) and DSM-CC (7) is only needed if scheduled events (8) are implemented. The CA systems are proprietary. Certainly. The TS must also contain an object carousel (OC) which contains at least one stream event object. which is used to scramble the program content. digits) can be transmitted. It provides for a real time data transmission.2. which is located in the Subscriber Management System (SMS) server. MHP broadcast may be clear and free-to-air. This requires an MHP trigger at the precise time to make the applications react. Similar to payper-view.

a set top box) is the actual device that executes the MHP applications. The EMM is usually broadcasted in the transport stream.1). The OSD graphic is the part of the MHP terminal that generates the visual representation of an application. These servers are application specific and can have an interface to the billing system (14). Most applications will use the OSD.4) is maybe the most basic component of a MHP terminal. the MHP receiver just calls a number. The MHP terminal can interact with third party devices. it may be blended with the video creating a transparent look or it may cover the entire screen. e. which is operator specific. An MHP application typically uses a return channel for having a bidirectional IP link between the MHP receiver and application servers.g. . In a real system some of the functions described in the preceding sections may actually be performed in this box.30th March 2006 The MHP-Guide Version: 1. The OSD graphic is either placed on top of the video. but could also be sent to the MHP Terminal over the return channel for instance when buying VOD movies. usually smartcards (11.2) to interact with external systems. the two main categories being ADSL and SDSL. The on-screen graphic display (11.11 Return Channel An important component in the E2E architecture is the return channel (12). In that situation.0 generates an EMM. The MHP terminal can also use what is commonly referred to as the return channel (11.10 MHP terminal The MHP terminal (11) (e.2.9 Network Equipment The network equipment (10) is not specific to MHP systems. From a high-level perspective this component should be irrelevant when implementing MHP applications. Mass storage devices (11. The semantics of the user’s response is bind on the dialed phone Page 58 of 215 DVB-RCS DVB return channel by satellite.3) such as hard drives and DVD writers will most likely be more and more common. 5. When the EMM is sent over the return channel an (MHP) application have to feed the EMM to the CA subsystem (Smart Card) in the MHP Terminal. some of the PSI/SI (6) is often generated by the multiplexer. where only one-way interactivity is needed.2. This storage can be utilized to store both content and applications. Two other types of xDSL technologies are Highdata-rate DSL (HDSL) and Very high DSL (VDSL). like voting. 5. The return channel can be classified with regard to the available technologies and with regard to the way how applications use the return channel. With a PSTN modem it is also possible to make drop calls. 5. and it is through the MHP terminal that the user interacts with the system. It adds the real interactivity to the whole system. The EMM holds information about the access status/entitlements of the user. It is the MHP terminal that presents the applications to the user. cable and satellite). This can be used by very basic applications.g.2. xDSL Refers collectively to all types of digital subscriber lines. The network equipment consists of the multiplexers and network adapters needed for the particular network type that is used (terrestrial. through a common interface slot.

2. This also makes it more complicated to give a general description of what they are since they are application dependent. FTTH (Fiber-To-TheHome): The installation of Optical fiber from a telephone switch directly into the subscriber’s home.3 Actors of the MHP end-to-end system and their roles This section presents the main roles that actors of the end-to-end chain can play and it highlights their scope and concerns. Table 5-1: Elucidation of actors in the MHP end-to-end reference model Table 5-1 gives an overview of how the actors relate to the various components in the chain as presented in section 5. most MHP terminals with a return channel use a built-in PSTN modem. Some applications need to access or store information in a central repository. An advantage of this return channel type is that PSTN is widely available. The MHP terminal (11) communicates with the backend servers using the return channel (12). DOCSIS is a standard for delivering data over cable TV systems. 5. which is in use comparable with ADSL and 3G technology (UMTS). The backend server may access other systems to perform the requested operations on behalf of the MHP terminal.30th March 2006 The MHP-Guide Version: 1. This follows naturally from the fact that they are application specific. it is sufficient to answer the phone call and immediately after drop it without setting up an IP connection. The main technologies in this area are the GSM modem. Mobile interaction channels are less common at the moment. The special modem needed for these broadband channels can be installed in the receiver or the receiver can be connected with a home gateway by Ethernet (wired or wireless (WiFi)) or by USB. Euro-DOCSIS Adaptation of DOCSIS to European cable networks. For each category. Another option is using the satellite as return channel. Some disadvantages are that a time-consuming connection set up phase is needed. this storage may be implemented as an application specific backend server (13). As the backend server has much more resources than the MHP terminal it is often a good design choice to put as much as possible of the application logic into the backend server. the phone line is busy.12 Application specific backend servers The application specific backend servers (13) are probably the least standardized area of the E2E architecture.2. Page 59 of 215 . From technical point of view the return channels can be divided in wired interaction channels and mobile interaction channels. which is in use comparable with a PSTN modem and a GPRS connection. in most European countries one has to pay per time unit so connection time should be kept as small as possible. typically for subscriber Internet access services. On the server side in order to collect users’ responses. More advanced wired interaction channels use broadband return channels standards as Euro-DOCSIS. xDSL or FTTH. Currently. there are connections that are temporary and connections that are “always on”. 5.0 number itself. The backend server may respond either through the return channel or through the broadcast stream. which are always on. A common standard here is DVB-RCS. The identifiers in the table refer to Figure 5-1.

0 Identifier End-to-end system component 1 2 Main actors involved Program Content Playout Service provider Broadcaster MHP Application Authoring & Production Tools Content Management System Download Server Public Key Infrastructure MHP PKI Application developer Authoring tool vendor Application developer Service provider Broadcaster MHP terminal vendor Application developer Broadcaster MHP terminal vendor DVB Services SARL Service provider Broadcaster Broadcaster MHP Playout vendor Broadcaster Service provider Application developer 3 4 5 6 7 8 SI/PSI DSM-CC Stream Events 9 Conditional Access System (CAS) Network Equipment MHP Terminal Return Channel CAS provider Broadcaster MHP terminal vendor Broadcaster Network operator MHP terminal vendor End-User ISP Backend operator MHP terminal vendor Application developer Broadcaster Backend operator Application developer Broadcaster Backend operator 10 11 12 13 Application Specific Backend Server Billing System 14 Table 5-1: Elucidation of actors in the MHP end-to-end reference model Page 60 of 215 .30th March 2006 The MHP-Guide Version: 1.

5. including the management and maintenance of the DSMCC object carousel and multiplexing. 5. It is interesting to see that anybody could write MHP applications because MHP is a standard and its APIs are public. 5. are at the same time content provider. many actors play more than one role in the end-to-end system. At the moment broadcasters are often also the service providers. The MHP Knowledge Project provides a number of open source code samples that the MHP application developers can re-use. Though the word is often used metonymically for all these roles. As stated before it is difficult to draw the line between application developers on the one side and to the broadcasters on the other side. The most appropriate description probably is that MHP service providers are delivering a service to the iTV user.0 It shall be noted that.30th March 2006 The MHP-Guide Version: 1.3. for instance. Some tools allow analyzing and testing applications. Page 61 of 215 . some also enable to sign applications. in the broadcasting environment.2 MHP application developer MHP application developers are the creators and providers of the code of MHP interactive TV applications. Some. There is no accurate definition analogue to ISPs in the Internet world mostly due to the fact that MHP services are not as established as web services are. in this chapter it will stand for those actors responsible for the act of transmitting media. The application developers may use MHP authoring tools or may develop directly in java code.3. service provider and actual broadcasters. They might do the MHP programming and maintain the interactive services. The actors are addressed in more detail in the following sections.3. they might host a backend system. mainly because the term is commonly used for entities that cover many different roles in the chain.3 MHP service provider It is currently a bit tricky to define the exact role of an MHP service provider in the iTV production chain.1 MHP authoring tool vendor The MHP authoring tool vendor provides tools aimed at application developers to ease the creation and development of MHP interactive TV applications. Most MHP based services in Europe are provided by Public Service Broadcasters. they may have a play-out system and they have often a billing system.3. application developer.4 Broadcaster To define the role of the broadcaster in the end-to-end chain is not an easy task. with standard java development tools. 5.

most often by involving smart cards. the ISP manages and controls this return channel. etc. They provide the Conditional Access System that is used by the service providers and broadcasters to securely deploy pay-TV services and protect the TV content with secure technologies. as also the customer uses these types of devices.6 MHP playout vendor A playout vendor will support the E2E system with Application server. T-commerce actors.30th March 2006 The MHP-Guide Version: 1. PSI/SI generator.mhpkdb. 5. 5. This means that also the MHP-application itself is transported over this IP network.3. PPPoX. ISP (Internet Service Provider) A company that sells Internet services to the public. modulating the TS and sending the RF signal on air either in a DTT network or on satellite.pdf. Multiple models exist for return channel connectivity (bridging. The use of Network Address Translation (NAT) and firewalls might also pose problems when using the return channel.7 for a description of the CAS. MHP-KDB deliverable D1 “Analysis of the Current Situation” under http://www. NATs and firewalls are not necessarily under control of the ISP. the MHP-terminal will need to implement the matching protocol to establish this IPconnectivity.3. It is recommended to write MHP-applications in such a way that they are NAT and firewall traversal friendly. In some cases the network operator also will offer playout of applications using a multi-user playout platform. This introduces new problems as the ISP is now involved in the broadcasting side as well.3. Tight security mechanisms need to be put in place to control access to the MHP-terminals. cf. DSM-CC Object carousel and it may include Authoring and Production tools.org/publ/mhp-kdb_d1-ver-2. where the broadcasters. information and betting companies may upload their applications. 5.7 CAS provider The CAS providers are actors of the iTV broadcasting end-to-end chain not specific to MHP.8 ISP In the current system. In alternative architectures. 5.5 Network operator The network operator may have the role of a pure infrastructure operator starting with multiplexers.). See section 8. If applications use the return channel.3. the role of the Internet Service Provider (ISP) is limited to providing the IP-connectivity between the MHP-terminal and the IP-network. NAT (Network Address Translation) An Internet standard that enables a localarea network (LAN) to use one set of IPaddresses for internal traffic and a second set of addresses for external traffic. adding access rights in a CA-system. the broadcast channel is also transported over this IP-network.0 For more detailed information on the European market. A cable operator will start with a headend for remultiplexing of the received programs and then distribute to their customers. Page 62 of 215 . For some systems.

and entities.3. Switzerland The DVB Services SARL plays a key role in the security of MHP iTV applications. Depending on the functionality the backend server needs to interface to the content management system to dynamically update content on the broadcast system. As a third role. Page 63 of 215 . it will be the billing system that verifies the payment information. proof that the DVB MHP test suite has been successfully passed.g.11 DVB Services SARL DVB Services Sàrl is a limited liability company governed by the Swiss Civil Code and by its Statutes established with the aim of providing certification authority and all other related services to broadcasters. As this is an interface towards the public IP-network.3. the backend server needs to make sure the payment information is correctly transferred to the billing system. The MHP terminal vendors may use their own MHP software stack or may integrate software from external MHP stack providers. In the case of betting.org/. In the iTV context. The exact functionality of the backend server depends on the applications.3. 5. Especially for applications in which financial gains or confidential data is exchanged. Typically this is a proprietary interface. STB and PC) compliant with DVB MHP specification and hence carrying the MHP logo. The backend operator needs to connect to the IP-network. The main associate of DVB Services Sàrl is the DVB Project. as this is the point where information originating from the MHP-receiver is received back by the operator.30th March 2006 The MHP-Guide Version: 1. care must be taken for the security and scalability of this interface and servers. MHP terminal vendors are often referred to as manufacturers. Note that it might also be necessary to have information flowing from the billing system to the backend server. See http://www. the backend server needs to interface to the billing system. The exact functionality depends on the applications and the business model behind the application. E.9 MHP Backend operator The MHP Backend operator is involved in different aspects of the E2E system.10 MHP terminal vendor The MHP terminal vendors are the providers of MHP terminals (iDTV. manufacturers. 5.0 5. It can be assumed that there will be one backend server (or server functionality) for each (interactive) application in the network.dvbservices. The registered office of DVB Services Sàrl is the registered office of the European Broadcasting Union in Geneva. this interface and the servers are a very critical component of the system. for betting games.

This authentication process is designed to ensure that application code has not been modified from that originally developed by its author.30th March 2006 The MHP-Guide Version: 1. is permitted to execute on devices connected to the broadcast network.12 MHP Certification Authority The MHP Certification Authority provides a Public Key Infrastructure for MHP.14 MHP SW stack provider The MHP SW stack provider is a software vendor who licenses an MHP stack implementation to an MHP terminal vendor. every application has to ensure proper function in case the return channel is not available. Return channel can only be used if the MHP terminal is connected to a PSTN or Internet. It has to be taken into account that potential users of interactive TV do not necessarily have PC knowledge and the user interface is limited to the remote control buttons and the low resolution of the TV screen.3. speed. Among the main concerns of the end-user are the ease of use. video and audio performance of the interactive applications. Page 64 of 215 . and that the application only accesses the set of restricted resources that it has been authorized to access. PSTN (Public Switched Telephone Network) The international telephone system based on copper wires carrying analog voice data.13 End-user The end-user is the owner of an MHP terminal.0 5. 5. loading time. called MHP PKI. 5. graphics.3. The Infrastructure provides the backbone for authenticating applications and files that are broadcast to an MHP receiver. installed in its home environment.3. reactivity. usually the living room. As this has to be done by the end-user and is thus not guaranteed.

The Application Lifecycle focus area (Chapter 9) deals with a range of aspects and issues that are essential for the optimum deployment of MHP applications. Text Presentation issues such as using and generating fonts as well as the use of external fonts are addressed.mhpkdb. The concept of layers and composition is explained. The Application Signaling area (Chapter 10) takes a look at signaling and lifecycle control of broadcast applications with the AIT table. DVB-J and DVB-HTML. signing and MHP Security in general. from the play-out side and the terminal side. chapter 5). In short the so called MHP-KDB contains the know-how and best practice solutions for all companies and organizations active in this field. SI and service selection. 2. 4. 10. It also addresses topics such as section filtering.0 6 Organization of the MHP knowledge The MHP-KDB project tackles one of the most pressing issues in the field of digital interactive television: the harmonized usage and implementation of DVB-MHP by establishing a single “point of call” for all MHP-related technical issues: the MHP Knowledge Database. this chapter handles scarce resources of MHP terminals and the two kinds of MHP applications. www. The category Broadcast Protocols (Chapter 8) looks at DSM-CC stream events related issues. Audio and Video Text Presentation Return Channel Equipment Usability Other aspects MHP-KDB (Multimedia Home Platform – Knowledge DataBase) EU co-funded IST project (lifetime: December 2003 – March 2006) that established a public database for all relevant MHP issues and a virtual test centre for checking MHP applications. 7. both. Additionally. 5. 9. Page 65 of 215 . Basic Architecture Broadcast Protocols Application Lifecycle Application Signaling Security Graphics. 11. The MHP-KDB project has identified more than one hundred issues to be published in the database that are regarded as being crucial for MHP application development. The focus area on Security (Chapter 11) covers issues regarding certification. 3. Audio and Video (Chapter 12) comes along with several problems that are tackled in this category. The prime focus of MHP-KDB is to improve the interoperability of MHP implementations and MHP applications. Displaying Graphics.30th March 2006 The MHP-Guide Version: 1. These issues deal with important topics all along the MHP end-to-end architecture (cf. These issues can be allocated to following categories: 1. 6.org Beside some general Basic Architecture (Chapter 7) issues. 8.

30th March 2006 The MHP-Guide Version: 1. Other aspects deal with any other issue that cannot be allocated to one of the before mentioned focus groups. The Usability focus (Chapter 0) area deals with all aspects regarding manmachine-interaction in MHP. Figure 6-1: Mapping of the MHP-KDB Categories in the MHP End-to-End Reference Model Page 66 of 215 . The Equipment focus (Chapter 14) mainly addresses aspects of authoring tools and play-out systems. navigation and the presentation of text and images.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. It gives an outlook what an MHP designer has to consider with regard to layout.. The following figure shows where in the end-to-end MHP architecture the categories can be located.

Only a fixed subset of JAVA / HTML is available. This is a concept similar to applets for Web pages that have been introduced by Sun in the JavaTV specification. DVB-HTML: applications conformant browser. This chapter will outline the basic principles and constraints of DVB-J.x is based on the PersonalJAE specification 23 . the latter variant is to date not used or deployed. MHP 1. The installation and start procedure for applications is designed to work fully automatically.2 DVB-J Constraints Xlet DVB-Java applications are known as "Xlets".com/products/specformhp Page 67 of 215 . restricting access to one application at a time. general issues about dealing with scarce resources and about migrating to higher versions of the MHP standard.2.0 7 Basic Architecture 7. the Xlet (cf. DVB-J (DVB-Java) DVB-J applications are written in Java using the MHP API set and consist of a set of class files that are broadcast with a service. without user interference. PersonalJAE is short for PersonalJava Application Environment Version and in the following section referred to as PersonalJava. many functions for advanced data processing and storage have been cut down to a minimum.1 DVB-J Introduction NOVICE LEVEL 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.2 Xlet Application) interface requires an external source (the application manager in the case of an MHP receiver) to start and stop an application. as in an MHP terminal virtually any resource is scarce. 9. It may have to share the user’s attention with the running TV program. which may result in changes to the DVB-J definition. Usually only one application at a time will be visible on the screen. The OEM PersonalJava Application Environment Version 1.sun. but still exists in many products. 7. Applications have to be designed to meet the specific constraints of the terminal (and playout) architecture. Scarce resources play a vital role in application development.0. MHP applications must not crash.8 regarding the libraries and features it contains. DVBJava applications are known as "Xlets".1 Introduction DVB-J: DVB-J (DVB-Java) applications are written in Java using the MHP API.30th March 2006 The MHP-Guide Version: 1. 7.2 7. It has been superseded by the J2ME CDC and CLDC. PersonalJava is a Java software development platform for mobile and embedded systems. but not with another application.2a specification . Like applets.2. PersonalJava is closely equivalent to Java 1.http://java. This means that application developers are not allowed 23 Part of ISBN: 1-892488-25-6.1. which depend on an implemented MHP applications can be classified into two types: Basic Architecture However.

3 24 chapter 11.http://pda. One example: the MHP specification Version 1. developers are forced to use correct methods and objects.65535 inclusive.x compatible format 25 . The classes used for MHP must be delivered in the Java 1. MHP 1. There are several tools available for presenting information about java class files including version number. so the DVB-HTML support in MHP terminals cannot be certified.1 and partly because many broadcasters.1 states that the version numbers encoded in the class files are defined by Sun. The MHP Knowledge database provides APIs and stub libraries developers can use for this purpose.0 through 45. and 1. Further information can be found in Annex B. The specification is based around a modularized version of XHTML 1.asp?wki_id=NQi7pkU'e9@_22@@TK7My The Java VM Specification section 4.org/pda/home.0 to use java classes and methods form later Java Software Development Kits (SDKs).0.0. terminal manufacturers and content developers find it too complex and difficult to implement.30th March 2006 The MHP-Guide Version: 1.1. This fact has consequences for the usage of finalizers. So by specifying correct MHP class libraries and API documentation in such tools.: javac -source 1. For low performance devices the Connected Limited Device Configuration (CLDC) is available as a subset of CDC.1.0. DVB-J is an environment different from desktop PCs and this different environment causes deviations in the Java environment when compared to PersonalJava.X can support class file formats of versions in the range 45.0 through 46. DOM 2.2 -target 1.0 through 45.1.3 DVB-HTML DVB-HTML is not very popular now.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.0 and ECMAScript. and ECMAScript.etsi. DVB-HTML DVB-HTML applications are a set of HTML pages that are broadcast as part of a service. Compilers provided by SUN in subsequent Java SDKs are capable of outputting class files that are Java 1.net/projects/classeditor/ Page 68 of 215 .2 of the Java 2 platform can support class file formats of versions in the range 45.2 supports class file format versions 45.0.g.x compatible.0. 1. E. Modern development tools such as Eclipse (http://www.1 and also includes CSS 2.1. 7. and that 1. 24 25 ETSI ES 201 812 V1.eclipse. Up to date there is no test suite available for DVB-HTML. CDC (Connected Device Configuration) A Java profile for mobile Devices that aims towards J2SE compliance with moderate resource requirements.0 inclusive.x continues to refer to PersonalJava and not the subsequent specification Connected Device Configuration (CDC). These features use the code libraries to operate. This is done by using the compiler parameters source and target.3 inclusive. partly because the specification for DVB-HTML was only completed with MHP 1.0.1 . DOM 2.1 states “Each DVB-J application instance is considered to logically run in its own virtual machine instance”.2. Chapter 11 of the MHP specification Version 1. The spec is based around a modularized version of XHTML 1.3 specified in details deviations from PersonalJava including classes not required and deviations in functionality and methods.1. One example is Class editor http://sourceforge.org/) have features for method auto completion and real-time syntax check. and also includes CSS 2.1. DVB-HTML applications are a set of HTML pages that are broadcast as part of a service.

like images. In this case the MHP terminal may reject any try to do so. 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. Such signed applications that have Page 69 of 215 . still it can be considered as a scarce resource.0 7. However the way the terminal reacts is implementation specific.30th March 2006 The MHP-Guide Version: 1. Managing Memory as a scarce resource There are three major rules for efficient memory use on MHP terminals: Adhere to the Xlet application lifecycle model and send temporary inactive applications into the “paused” mode to free memory. MHP terminals offer only limited resources for applications. all memory consuming objects. The MHP standard does not directly mandate a minimum memory size.4. but names a number of short test procedures the terminal has to pass. should be destroyed. like a general portal application. The valid applications for a service are listed the Application Information Table (AIT). MHP terminals are not built for real multitasking. Thus. From these procedures a minimum memory requirement of estimated 4 megabytes can be derived. 7. This way. It may happen that there is not enough memory available to start further applications. whereas they will be built up again when the application is restarted. 7. Accordingly. In general. but the amount and size of concurrently running applications influences the overall box performance.4. applications that are used frequently have to be loaded from the object carousel only once while the user is viewing the current service.1 Memory It is mainly to save costs why many MHP terminals tend to have rather little memory. Only one application should be active and visible on the screen at any given time. Unlike other scarce resources the memory cannot be blocked by just one application. The paused mode was introduced to keep applications running in the background in a kind of hibernate mode with very little resource usage.2 Persistent storage NOVICE LEVEL The MHP environment allows authorized applications to use an area of the local file system for persistent storage. may run in paused mode in the background to get restarted when the user decides to leave the current application. Mark applications as “service bound” and ensure that not too many applications are allowed to run concurrently on the same service. Luckily most terminals on the market have more memory. Further applications. effective resource management is a crucial aspect for decoder developers and MHP application programmers who tackle this issue frequently in the MHP APIs. Avoid very large files such as large images and long audio files. these resources must be shared in a very efficient way between the terminal middleware and concurrent MHP applications. When an application is sent to pause mode.4 Principle of scarce resources Generally.

permissions are represented by subclasses of java. This file must reside in the same folder as the main class of your application.perm where “application name” is the fully qualified class name of the initial class for the application.6.app.0. Tests in the laboratory show highest interoperability under following conditions: Application id must be in the range of 0x4000 to 0x7FFF. Page 70 of 215 .dvb.org/mhp/dtd/permissionrequestfile-1-0.FilePermission.3]. MHP terminals may behave differently when an application tries to access the persistent storage. Buffered in. and is named with the following format: dvb.3]. the permissions for file access cannot be granted. From an application standpoint.5.0//EN" "http://www. Below is an example of requesting access to use the persistent storage.0.and output has to be preferred during file access. The file access request in the permission file would look like <file value=”true”></file>.io. (e.<application name>. The permission class representing the persistent storage is java.security. By default. Each subclass represents a different resource that an application must gain permission to access. <?xml version="1. The permission request file is an XML file conforming to the DTD described in section 12.io package to interact with the local file system.Permission. Otherwise. write and delete files on a persistent area of the device memory. signed applications have access to the same resources as unsigned applications.MainClass”) Each element in the permission request file corresponds to a specific resource requested for the application.0 been granted file access permission are able to read. The permission file would contain the following contents: EXPERT LEVEL Range of app_ID More details about the values range for application_id can be found in section 10. “org.mhpkdb. As long as there is no standardized signing procedure.1 Encoding [MHP 1.dtd"> <permissionrequestfile orgid=0x00499602d3 appid="0x4002"> <file value=”true”> </file> </permissionrequestfile> If permission is granted. Access persistent storage without permission check.0"?> <!DOCTYPE permissionrequestfile PUBLIC "-//DVB//DTD Permission Request File 1. To signal a signed application the application id value must be in the range of 0x4000 to 0x7FFF. the application is able to use the java. Signed applications can request additional permissions through the use of a signed "Permission Request File".g.2 Permission request file [MHP 1.30th March 2006 The MHP-Guide Version: 1.

io. Page 71 of 215 .1. sBuffer.3.separator path.System. Applications are constrained to this directory and its subdirectories.0 The root of the persistent storage area can be retrieved from the dvb.root StringBuffer sBuffer = new StringBuffer().append(System.append(System.txt").append(xletContext.persistent.org.getXletProperty("dvb.id")).separator dvb.0.SecurityException being thrown.app.seperator>+<application_id> The organization_id and application_id values are hexadecimal text encoding (without leading zeros) of the values specified in the AIT. sBuffer.id respectively.append(xletContext. sBuffer.root")). The file separator value can be retrieved from the system properties. The MHP implementation will automatically create the following subdirectories for each application under the persistent root directory: <organization_id> <organization_id>+<file.append(System.getProperty(): file.root system property. Applications have read-only access to this directory.append("testFile.getProperty("file.separator")).getXletProperty("dvb. sBuffer. The persistent root directory is not the root of the file system on the STB.getProperty("file.30th March 2006 The MHP-Guide Version: 1.File(sBuffer.getProperty("dvb. // Create a new file name (including complete path).separator")). These can be retrieved from the XletContext using the getXletProperty method with parameters of dvb.File testFile = new java.persistent. but the directory the STB reserved for persistent storage. sBuffer. Trying to access its parent directory will result in a java. According to section 11.append(System.lang.separator")). java. sBuffer.app.lang.separator line.3] the following properties are required to be supported for java.id and dvb.id")). sBuffer.org.1 [MHP 1.persistent. // Creating a new file object.getProperty("file.toString()).io.

Applications can specify attributes (expiration date. FileAttributes class. but no access for other applications unless explicitly granted by the owning application. Here the file obtains the read and write permission. priority. "read.toString().dvb. “delete” and “execute” for a file are the standard permissions given by the Java API. The MHP specification defines the minimum size of the complete persistent storage with 4096 bytes. This example assumes that the application is signed and has been granted access to persistent storage. Below is an example of referencing a file in the application directory. deleted) by the creating application or an application with appropriate permissions. The application directory is owned by the application and has application read / write access.io. Some rules are defined in the MHP specification when files in the persistent storage will be removed: There is not enough free persistent storage available to satisfy the persistent storage needs of a running application.AccessController. The persistent storage used by MHP applications exceeds 75% of its overall size.write").out. Page 72 of 215 .checkPermission(testPermission). }catch(AccessControlException ace){ System. java. it is already part of the MHP API. The parameter is always a comma-separated string containing no white spaces.FilePermission(sBuffer. The following listing shows how to set permissions and how to check them. The persistent storage is actually not persistent.println("checkPermission throws: " + ace).0 The organization directory is owned by the platform and shall have organization read / write access and world read access. The file stored in persistent storage expires. try{ java. The file access itself works like described for Java 1.8.e.io. One last thing the application developer has to be aware of.2 the first time.persistent.30th March 2006 The MHP-Guide Version: 1.io. and permissions) for a particular file using the org. The file is cleared (i.security.FilePermission testPermission = new java. } Although checkPermission() appeared with Java 1. “write”. The permissions “read”. The file is cleared as a result of an explicit request by the end user. These attributes are used to control access to a file and control the lifecycle of a file. Attempts to store data above this size may fail.1.

Objects of the public class NetworkInterface represent physical network interfaces that can be used for receiving broadcast transport streams. to record one programme while displaying another one. If a target service to tune to is part of the same transport stream as the current service.g. tuning does include adjusting the network interface to a different frequency. NetworkInterface[] getNetworkInterfaces(): This returns an array of available network interfaces. static NetworkInterfaceManager getInstance(): The method returns the singleton instance of the NetworkInterfaceManager. Page 73 of 215 . Applications that rely on the tuning interface should be able to deal with user events such as channel switching by remote control. Tuning should not be mixed up with service selection. Tuning means adjusting the terminal’s network interface so that it can provide all information necessary to consume a certain service. This is why all applications possibly running in parallel on the same service with an application that performs tuning operations should be built robust enough to withstand tuning. Issue #106 in the MHP-KDB provides an example on how to perform tuning in contrast to service selection.3 Tuning Interface One terrestrial or cable channel or satellite transponder carries one MPEG2 transport stream. There is only one instance of the network interface manager in a receiver and here the tuner is selected. The terminal middleware has always priority on accessing the network interface. e. which requires a certain effort of terminal resources. Network Interface Controller The network interface controller represents a controller that is used for tuning a network interface. Normally only one network interface is available in an MHP terminal.4. The network interface controller acts as a resource proxy for this resource. Applications may create a NetworkInterfaceController object and use it to attempt to reserve a network interface for exclusive access. because tuning does not include the update of the application information table (AIT). Each transport stream carries a couple of services. Classes and important methods NetworkInterfaceManager The network interface manager keeps track of broadcast network interfaces that are connected to the receiver. If a target service is part of another transport stream. Furthermore tuning to another transport stream may cause the disconnection of an application’s object carousel. The network interface is a scarce resource as obviously only one application at a time can be allowed to perform tuning operations. tuning consists only in filtering different packets out of the stream.30th March 2006 The MHP-Guide Version: 1.0 7. Twinreceivers and other advanced terminals may offer more than one network interface.

only one connection can be active at a time.4. the interactive broadcast and internet access profile need to be supported by the terminal. boolean isReserved(): This method tells the applications whether the network interface has been reserved by an application for tuning. tune(Locator locator): Tunes to the given locator. int getDeliverySystemType(): The method returns an integer value that identifies the type of network that this interface accesses. which will rather have an Ethernet interface for connection with a home network or external modem. For establishing this IP-connectivity the application has to provide the telephony number used for the dial-in process. 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. as they are not considered as a scarce resource. as it has to be considered as a scarce resource. Object requestData): Tries to reserve the given network interface for exclusive access by the calling instance of NetworkInterfaceController. an application can actually start tuning. boolean isLocal(): This method was intended to allow a unified interface to tuners both in the receiver and in other devices. Also. Returns null if the network interface is not currently tuned to a transport stream. release(): After the tuning operation the network interface has to be released again by calling this method. TransportStream getCurrentTransportStream(): This returns the transport stream to which the network interface is currently tuned. 7.g. When using PSTN (dial-up) connectivity. the MHP-receiver first has to establish the telephony connection (dial-in) and then the IP-path using PPP-protocols. A PSTN return channel is a scarce resource that an application should not use unless it is really necessary.e. with xDSL or cable bandwidth up to 40 MBit/s can be offered.0 NetworkInterface This class offers information about a particular network interface.4 Return Channel The return channel provides the IP-connectivity for the MHP terminal. i. because it is performing a tune action. The quality (speed) of the return channel depends on the type of return channel offered by the terminal and potentially also on the type of subscription for internet access a user has (e. Locator getLocator(): Returns the locator of the transport stream to which the network interface is currently connected. To use the return channel.g. but this is typically not the speed offered to the residential user). Once a NetworkInterfaceController has been successfully bound to a network interface. These types of modems are not likely to be integrated into the MHP terminal. whether the respective network interface is built into the terminal or connected externally. xDSL or cable modems provide an always-on connection and as such there are no specific needs to first establish the IP-connectivity. reserve(NetworkInterface ni. As using the dial-up Page 74 of 215 . e. Returns null if the network interface is not currently tuned to a transport stream.30th March 2006 The MHP-Guide Version: 1.

The figure below illustrates the position of the two types of plug-ins defined by the MHP architecture. return-channel interfaces are described in the class RCInterface. Access to the return RCInterfaceManager.0 modem also involves extra costs. Migration to the MHP platform is a crucial issue for all broadcasters changing from proprietary middleware solutions to MHP.1 Migration from previous legacy middleware to MHP Plug-in A "plug-in" is a set of functionality that can be added to a generic platform in order to provide interpretation of application and content formats not specified by MHP specification to be included in MHP terminals.2 to MHP 1. 7. Legacy app. from MHP 1. Type B MHP API System Software Application Manager Plug-in B Ressources Figure 7-1 Plug-in implementation options Page 75 of 215 . only signed applications are allowed to access the dial-up modem. for connection-based (e.5 Migration This sub-section provides an overview of all MHP-migration aspects. 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. however. Using a plug-in to enable older applications to run on the new MHP middleware.0. An MHP-receiver will also ask for a users’ permission ahead of the attempt to establish this dial-up connection. Part one covers migration from legacy applications to MHP applications. Type A MHP Applications Plug-in A Legacy app.5. channel is managed by the class 7. In general. For the moment. There are two basic options for migrating existing applications: Re-authoring all existing applications. PSTN) the class ConnectionRCInterface defines the different procedures for getting access and releasing the return channel.3). Part two deals with migrating to an updated version of MHP (e.0. migration costs should be kept as low as possible by making use of existing proved solutions.g. many interactive applications deployed around the world only work on proprietary systems and are based on legacy middleware. The main goal of DVB-MHP is to reach a horizontal market by providing an open standard.g.30th March 2006 The MHP-Guide Version: 1. Importantly.

. Generally they are five types of changes. Such modification may raise interoperability issues if not hidden by playout system or MHP terminal. In order to help application developers to migrate from an older MHP version to a new one. each with a different impact: Editorial: A change concerning the formal aspect of the specification but not the definition (typo in description.0 They are two possible types of plug-in implementations: In native code provided for MHP implementation (Plug-in B).. backward compatibility is not granted. for type A. can require more effort if we have a lot of applications to migrate but it results in truly portable applications which are better designed. Re-authoring. Such a modification should not have an impact on the backward compatibility.2) will have to be reworked to be compliant with the subsequent versions of MHP (such as MHP 1.2 to Page 76 of 215 . Such modification will raise backward compatibility issues.3 errata 2). As an MHP application (Plug-in A). and. Some modifications affect the backward compatibility so that applications based on an older version cannot run on a more recent version.0. Sometimes.0. If the proprietary decoder populations have to be supported as well for a certain time. specific formatting. On the other hand. as a result. The plug-in solutions require to have implemented the respective plug-in for the legacy middleware. gives more precision. rephrases a specific specification item in order to improve reader understanding. System: A change concerning the signaling part. 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.0. Such modification should not raise backward compatibly issues but rather interoperability issues. This is efficient if we have a lot of legacy applications to migrate.30th March 2006 The MHP-Guide Version: 1.2 Migration from older to more recent MHP versions In order to correct bugs or bad behavior and to enrich the standard with novelties. API Definition: A change concerning the java definition of MHP API.5. Clarification: A change that clarifies. new versions are introduced putting a focus on backward compatibility. API Behavior: A change in the behavior of the MHP API. MHP 1. re-authoring also requires simulcasting of applications in both API versions.g. Such modification will also raise backward compatibility issues. the plug-ins demand additional implementation effort and.). an MHP application compliant with an earlier version of the standard (e. on the other hand. however. 7. system behavior. also higher processing power in the decoders. we have analyzed the evolution from MHP 1.

0 MHP 1.0.0.3 specifications.30th March 2006 The MHP-Guide Version: 1.3 that are defined in errata (the last is number 3). Also DVB-MHP has been working on some modifications in version 1. The graphs below represent overviews of the modifications that have been added in the new version. Change type 8% 21% 5% 44% 22% Editorial API Behaviour API change Clarification System Figure 7-1 Different type of changes Most of the changes between the two versions are due to clarifications. Modification type 3% 42% 55% Change Add Delete Figure 7-2 Different type of modifications Among all modifications the most important type are changes and additions. Page 77 of 215 . very little from previous version was deleted.

The most concerned domains are DSMCC-IO. Graphics and Application. For more details concerning migration issues see Annex D – Migration.0 Changes per domain 4% 8% 16% Application DVB-J API 9% 0% 2% 1% 5% 11% 9% Media DSMCC-IO Graphics Security Event Havi Mpeg SI 18% 17% Return Channel Other Figure 7-3 Changes per domain As we see in this graph a lot of changes concern several domains of MHP. Page 78 of 215 .30th March 2006 The MHP-Guide Version: 1. Backward compatibilty 0 12 Change Add Delete 28 Figure 7-4 Number of backward compatibility issues Lots of problems of backward compatibility are due to changes and to additions from the previous version to the new one.

Each service is a collection of one or more elementary streams. Typically the 9 o’clock news could be an example of an event. This section will give an introduction to the relevant standards and building blocks that form a transport stream.1 A note on naming Channel = Service = Program Ordinary people.2. but in some cases you may be directed to external sources to perform further studies. DVB has also renamed the concept that ordinary people refer to as programs. Most people refer to a service provided by a broadcaster as a channel. a piece of audio-visual content that has a defined start and duration. An elementary stream is a sequence of packets containing video. In most cases you will find the information you need here.e.0 8 Broadcast Protocols 8. This document describes how audio.1 Introduction NOVICE LEVEL There are several different protocols that can be used for broadcasting data and applications. The service can be accompanied by additional components such as applications and data. The systems [mpeg2systems] part is the most interesting part from an MHP applications viewpoint. Conceptually you could also say that a transport stream is a collection of one or more services. from the most basic overview through to detailed technical descriptions on some subjects. That is a service that usually consists of a sequence of audio/visual content. 8. Program = Event To confuse things further.30th March 2006 The MHP-Guide Version: 1.2. In DVB terms a service consists of a sequence of events. 8. i. The following text will interchangeably use program or service when referring to “channel”. This chapter will go through these.2 Transport Stream Elements A good understanding of the transport stream concept is a great advantage when developing or broadcasting MHP applications. video and data from different services are combined into a transport stream. Broadcast Protocols 8. audio or some other type of data. A transport stream is a sequential stream of 188 bytes packets.2 MPEG-2 Transport Stream MPEG-2 is a standard issued by the International Organization for Standardization (ISO). In DVB a “channel” is named a “service” while the “channel” was named “program” by ISO. Page 79 of 215 . An event corresponds to what usually is referred to as a program. DVB and ISO have different names for the same concept.

0 Transport Stream 1 Service 1 Elementary Streams Video 1 Audio 1 Audio 2 Application 1 Data 1 ECM Service 2 Service n Figure 8-1 Transport Stream The MPEG-2 packets of the elementary streams consist of 4 bytes header and 184 bytes payload.e. i. the different elementary streams are merged into a single stream of packets in a process called multiplexing. Video Video Compression Program Clock Mux Audio Audio Compression Figure 8-2 Example building blocks of an MPEG-2 encoder Typically. Before broadcasting. This unit may very well be an integrated part of other devices. which is in fact very often the case for devices that do the compression of the service content. The unit that performs this process is called a multiplexer. encoders. a device called MPEG-2 encoder will have a video input and a number of audio inputs. The encoder will then compress the video and audio Page 80 of 215 .30th March 2006 The MHP-Guide Version: 1. The video and audio is uncompressed before it is fed to the encoder.

The elementary stream is identified by a packet identifier (PID). The data packets are packets containing data that is not critical in timing. It always has the value of 0x47.30th March 2006 The MHP-Guide Version: 1.2. This way it is very easy to detect that a packet is missing at the receiver if the continuity counter skips a number. Null packets are commonly used to pad a transport stream with empty packets to keep a constant bit rate. PSI. The PID is a 13 bits number located in the MPEG-2 packet header (the first 4 bytes of the packet). Values below 32 are reserved for metadata (see next section and chapter 10 for details) and 8191 is reserved for a special type of packets called null packets. 8. They include timing information. often metadata that provides information on what information can be found in the transport stream. The resulting transport stream will contain packets of all the underlying elementary streams. The use made of the “Program Clock” is explained in section 8. The first byte is a sync byte that is used to identify the beginning of a packet in a continuous stream of bytes.2 MPEG-2 packet payload MPEG-2 packets can be divided into two main types: Packetized Elementary Stream packets (PES Packets) and Data packets (usually MPEG2 sections).2. See the MPEG-2 Systems specification for a detailed explanation of the remaining fields.2.2. SI.2. The last field is a counter to field that is primarily used to detect packet loss. The transport scrambling control field indicates if the packet is scrambled (see section on scrambling for more information on scrambling).4. The continuity counter is incremented for each packet sent for each elementary stream. EMM and ECM data all use a table format defined in the MPEG-2 systems specification as MPEG2 sections. 188 bytes header payload header payload header payload sync byte transport error indicator payload unit start indicator transport priority PID transport scrambling control adaptation field control continuity counter 8 1 1 1 13 2 2 4 Figure 8-3 MPEG-2 Packet Header The figure above shows the fields of the MPEG-2 packet.0 and multiplex the streams into a transport stream that contains all the elementary streams of a service.1 MPEG-2 Packets Each 188 bytes MPEG-2 packet belongs to exactly one elementary stream. 8. PES packets are packets containing compressed audio or video data. Page 81 of 215 .2. The PID can in principle have any value between 0 and 8191 but some of the PID values are reserved for special uses.

2.e. which is described in detail in a following section of this chapter. This is the Application Information Table (AIT). The SI tables extend and add to the information found in PSI. As broadcast systems are oneway.2. DSM-CC transport is based on MPEG2 sections as defined in the MPEG2 systems layer [mpeg2systems]. The application is then broadcasted using the DSM-CC format. Again this depends on setup. Thus the data is organized in carousels. the client has no way of telling the broadcast system which data it wants. 8. The PCR is used as a reference for all program content of a given service. there will also be packets that contain metadata about the elementary streams. 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. 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. MPEG-2 defines a set of tables that provides information about what is sent on the different streams.3 DSM-CC NOVICE LEVEL DSM-CC is part of the MPEG-2 specification [mpeg2DSM-CC] and covers network session and resource management. This meta-data is called PSI/SI (chapter 10 gives more details about PSI/SI).0 8. The PCR is sent in a separate elementary stream or as part of one the other elementary streams embedded in the packets. configuring of clients.2. but in any case it is a clock that is used to enable the decoder to correctly present synchronized audio and video. which in turn is synchronized to the PCR. There is a new table added to the services if they carry an MHP application.4 MHP MHP makes use of the standard DVB transport stream protocols and DVB service specifications. video management. See chapter 10 for details. i. Most important in this setting is that the DVB has defined some more tables that are termed Service Information (SI). one file is broadcasted after the other and then the first is broadcasted again and the second etc. Page 82 of 215 . downloading to a client. 8.3 DVB Transport Stream A DVB transport stream is an MPEG-2 transport stream that is constrained by some more rules in addition to the MPEG-2 specification. this depends on the make and model of the encoder. This is done using a mechanism called ‘normal play time’ (NPT).4 Synchronization The encoder will puts time codes. make and model of the encoder. See chapter 10 for details.30th March 2006 The MHP-Guide Version: 1. 8. data and user-to-user (U-U) object carousel for broadcast applications.4).3 Program Specific Information (PSI) In addition to the audio and video packet that we discussed in the previous section. service interactive applications and service.2. In MHP DSM-CC is used to broadcast MHP applications and data as well as stream events (covered in chapter 8.2. 8.2. also MHP applications can be synchronized to the PCR.

DSM::Directory: representing logic containers for a set of file messages/reference to files in a directory DSM::Stream: reference to MPEG-2 stream.3. thus there is only one present in every object carousel.pdf Page 83 of 215 . Tol. BIOP::StreamEvent: describes a set of synchronization points (stream events) in the stream. or to one or more elementary streams. Deliverable #15.e. The following message types can be carried in an object carousel: DSM::File: representing files.extra. http://www. by Ivar Miljeteig and Ronald M.research.0 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. DSM-CC also supports data carousels that are the simplest form of carousel.com/euprojects/smash/deliver/del15/del15. I. all objects in the object carousel are broadcasted as BIOP (Broadcast Inter-ORB Protocol) messages as defined by CORBA and these messages are contained within a DSM-CC data carousel. SMASH. to a single program. directories and streams providing functionality close to a standard file system. DSM::ServiceGateway: identifies the root directory of the object carousel. MHP applications and data are broadcasted in object carousels.philips. Object carousels are also based on the Object Request Broker (ORB) framework defined by CORBA. 8.1 DSM-CC Object Carousel 26 EXPERT LEVEL DSC-CC object carousels extend the data carousel and add the concept of files. The longest access time for a file is defined by the bandwidth of the carousel and the size of the data on the carousel.30th March 2006 The MHP-Guide Version: 1. Figure 8-4 Example of object carousel in DVB service 26 Part of this section is a slightly adapted copy of chapter 12 from: Report on ongoing standardization efforts.

io: it is the same as how MHEG refers to those objects. 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. but a single file cannot be divided into several modules. the modules are just a container for data. which are MPEG-2 private sections with added semantics. At this layer. These objects are transported in so-called modules. the DSM-CC User-to-User objects (like files and directories) are visible. When the size of the object carousel is increased.2 Object carousel optimization When you write MHP applications you probably want the application to be perceived as fast and smooth as possible.0 A DSM-CC object carousel consists of three layers. The first method is quite difficult and requires detailed knowledge about how the application is designed. this is done at the top layer. Annex C . NOVICE LEVEL 8. The modules are broadcasted as a sequence of DownloadDataBlocks.Presentation of the MHP APIs) For more information on DSM-CC see [GuidelinesDataBroadcasting]. Figure 8-5: DSM-CC Object Carousel Layering Each module cannot be larger than 64 Kbytes. These DownloadDataBlocks form the lowest layer. At the top layer (called the object carousel layer). The User-to-User objects are not interpreted here. but has its disadvantages as well. DAVIC has specified how to refer to DSM-CC UU objects using java. Page 84 of 215 . the access time of other files (those that aren’t repeated) increases. The latter is probably easier.30th March 2006 The MHP-Guide Version: 1.3. Thus files that are larger than 64 Kbytes 27 have to be contained as the only file within one module. When you start to repeat files in the object carousel this will affect the size of the object carousel. These modules represent the middle layer and this layer is called the data carousel layer. either by organizing and grouping the files wisely in the modules or by repeating critical files several times in the object carousel. This might be achieved by optimizing the object carousel. There are two basic ways of optimizing the object carousel. 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.

4. The benefit of Do-It-Now stream events is that they can be easily used to synchronize an MHP application with a live program. While Do-It-Now stream events will be provided to the Xlet’s listener right after the MHP terminal receives the event. if the according stream event was received. If an MHP terminal receives a Do-It-Now stream event. If a stream event is available for the MHP application. then scheduled stream events will be the better choice. Do-It-Now stream events are single shot events which won’t be repeated if an MHP terminal missed it – therefore the MHP terminal has to make special efforts to ensure a high probability that they can be reliably received. then it will hand over the stream event and its payload immediately to the MHP application.1 Do-It-Now stream events A Do-It-Now stream event can be used to provide a signal as fast as possible from the headend to the MHP application. Page 85 of 215 . 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. All necessary actions like filtering the transport stream as well as extracting and parsing the data will be done by the MHP terminal. These stream events can contain a limited amount of application specific content. the so-called stream events are used by MHP. A problem of Do-It-Now stream events is that the runtime from headend to the MHP application isn’t known and therefore it isn’t reliable that it is constant. It is defined that such a stream event must be transmitted from the headend to the MHP application as fast as possible. The subscription of a stream event is independent of the stream event type. 8. 8. If something happens in the live program that needs to be signaled to the MHP application shortly. 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. A bigger object carousel also increases the cost of deploying an application as the required bandwidth increases. If problems introduced by this unknown delay and jitter should be avoided. which can be used to provide additional information like the text of a question for a quiz show application. a Do-It-Now stream event can be created and sent to the MHP application. This is a trade off that has to be taken into consideration when optimizing the object carousel. the scheduled stream events are delayed by the MHP terminal until the time of the event matches the normal play time of the service. To enable MHP applications to run synchronized to the media content. then the middleware will create a StreamEvent object which it provides to the registered Xlet’s StreamEventListener object.30th March 2006 The MHP-Guide Version: 1. The difference of these two kinds of stream events has no impact to the MHP application.4 Synchronization NOVICE LEVEL For MHP applications it is often necessary to be synchronized with media content like audio or video.0 slowing down other parts of the application. There are two kinds of stream events defined in MHP: Do-It-Now as well as scheduled stream events.

8. for example.30th March 2006 The MHP-Guide Version: 1. Use the API of the MHP playout software to create a stream event with the previously added event name and/or identifier as well as the optional payload.4. If a scheduled event for the current normal playtime is found. To avoid such problems. Scheduled stream events can only be used for pre-recorded content. it is necessary to Page 86 of 215 .3 Creating stream events EXPERT LEVEL A stream event must be signaled in the object carousel as well as a normal playtime signal for scheduled stream events or the broadcast of StreamEventDescriptors for Do-It-Now stream events. then it is possible to catch the payload of the stream event even before the question occurred in the game and extract the information about the correct answer. A player who can get access to the information has an advantage in answering the question correctly and can win the game more easy. The early transmission of the scheduled stream event is problematic for MHP application which wants to provide the payload just in time. It is not possible to provide a detailed “how to” for configuring the playout. Scheduled stream event must have an event identifier in the range 0x8000 to 0xbfff. An event identifier 0x0000 isn’t allowed. For live events the exact time of the planed events isn’t known and therefore the timestamp of the event can’t be given.2 Scheduled stream events Scheduled stream events are created prior to the time the event is to occur and are handed over once or several times to the MHP terminal in a bunch. For Do-It-Now stream events the identifier must be in range 0x0001 to 0x3fff. Add at least one event name and identifier to the stream event object in the DSM-CC.4. The following steps are necessary on the headend side for broadcast stream events: Configure the MHP playout software to contain a stream event object in the DSM-CC. The benefit of scheduled stream events is that they can be created and also be provided to the MHP terminal in a bunch. an MHP application for a quiz show provides the information about the correct answer by a scheduled stream event. this event will be provided to the MHP application’s registered StreamEventListener object. 8. Do-It-Now stream events should be used in such a case. Especially the transmission of the scheduled stream events prior to their planned signaling to the MHP application can be used to avoid delays and jitter introduced by the broadcast chain. because every playout equipment is different to use. The MHP terminal takes these scheduled stream events and stores them until the normal playtime reaches the scheduled time of an event. If. for scheduled stream events the identifier must be in range 0x8000 to 0xbfff.0 Do-It-Now stream event must have an event identifier in the range 0x0001 to 0x3fff. because the correct time of the media content must be known for creating the timestamps for the stream event scheduling. If the stream events are of type Do-It-Now.

A few standardized tables are defined through MPEG and DVB.1 Section Filtering NOVICE LEVEL What is a section? Sections are logical data containers transmitted over TS packets. These are specified as PSI and SI.e.e. In the Xlet a listener must subscribe to a defined stream event.30th March 2006 The MHP-Guide Version: 1. This is done by creating a DSMCCStreamEvent object. a 5-bit Page 87 of 215 . where the latter is a subset of the former. I. but there should only be one instance of it. The MPEG specific tables are elementary to the navigation of a TS. For further information see also issue KDB issue identifier 9 “Stream events in MHP” in the KDB. but their use is not limited to this. They are defined in the MPEG2 systems specification [MPEG2Systems]. Since STBs have limited resources for caching of data and users can enter a broadcast stream at any time. 8.5. A section has an upper size limit of 4 Kbytes. and are described in more detail in chapter 10. how to find available content in the stream. The DVB specific tables extend this information to include descriptive information of both programs and events and information of other TS in a broadcasters network. which the stream event needs from the headend to the MHP terminal). its caching capability. i.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.e. The extended standard header adds a 16-bit user defined table id extension. use a data carousel. not 4 Kbytes as other private sections. sections need to be repeated to ensure their availability. For scheduled stream events also the normal play time must be provided. Broadcasters are also able to distribute their own proprietary tables using private sections.5 8. the data can change at any time. Since data easily can exceed this limit. The free format header is 3 bytes long and includes an 8-bit table id and a 12-bit section length. Both MPEG and DVB have defined specifications for special tables transmitted in sections. which points to the stream event object contained in the DSM-CC. The section header is either of standard or free format type. With the DSMCCStreamEvent all available event names/identifier can be retrieved as well as one or more listeners registered for an event. section tables are used to divide data into manageable section sizes.e. Sections will in most cases contain static data. i. but the simplest and most frequently used method is to just start transmitting a table from the beginning once it has reached its end on the TS. This data should ideally be available to any STB at all times. respectively. Sections for these tables are limited to a maximum size of 1 Kbyte. i. A section is usually used to transmit metadata for already existent audio and video elementary streams in the TS. These give information about Services in a stream and what elements these consist of. The practical limit to a table’s size lies in the capabilities of the STB receiving it. There are of course endless possibilities of doing this.

byte[] negFilterDef. int table_id. There are several versions of the startFiltering method and the simplest one will only require a PID to be defined. excluding the header.g.3 Capacity and performance Section filtering is a scarce resource in a STB. this method is asynchronous and will notify an already registered listener object. e.0 version number and 8-bits section and last section number. while negative filters do the opposite. byte[] posFilterDef. This helps manage the scarce resource section filters. and MHP has defined that a minimum of 2 section filters for each TS will be available for MHP applications. byte[] posFilterMask. 8. across multiple independent applications. Several filters can be created and turned on and off in a single operation.1 API In MHP the section filtering is contained within the org.lang. int offset. Handling several section filters is made easier through the SectionFilterGroup class. terminating when an existing section is found in the next step of the array. 8. First. A filter is defined through the startFiltering method of the SectionFilter class. There are also special versions of filters for getting complete tables or other series of sections. SimpleSectionFilter returns a single section.davic. Section filters are used to extract a specific section or a series of sections from the TS. int pid.5. Software filtering is more processing power consuming and can slow down other applications on the Page 88 of 215 .30th March 2006 The MHP-Guide Version: 1. Both positive and negative filters are available. The event will be identified with the appData object reference. TableSectionFilter retrieves the complete table of which the first matched section belongs to. A section filter can be performed in both hardware and software. There are not any performance requirements for MHP section filtering. Whenever the standard header is used a 32-bit CRC is expected at the end of the section. and in many cases as a combination of the two. The filter specifies a table id and a specific bit pattern for the section to be identified with. Third.mpeg. if sections are set to empty as they are retrieved this function will indefinitely cycle through the array on a FIFO basis. startFiltering(java.5. all extending SectionFilter. RingSectionFilter will continuously store matched sections in an array of predefined size.sections package. Second.Object appData. There are three types of filtering operations defined in MHP.g. 8. The mask will determine which bits to include in the filter while the values will dictate a possible match.5. The first section matching the filter in the TS is copied and returned. positive filters will trigger when the bit pattern defined match a section. byte[] negFilterMask) In summary. E.2. a version number different than the current. the first match found.2 MHP Section filters in MHP are 8 bytes long and consist of both values and mask. The latter is useful when monitoring changes in a section. The filter can start between the 3rd and 31st byte of the section.

So you cannot have access to A/V content of other services without using the service selection or tuning APIs.this is a deliberate decision in MHP.4 Examples For further information see entries below in the MHP KDB database: “Private section for up-to-date text data?” http://mhp-kdb.tv. For implementers it can therefore be useful to filter on as many early bits in a section. In the simplest form this will only include PID hardware filtering. simply because it is the easiest and most accurate way to simulate a real input. This makes a superb platform for experimenting with data broadcast applications. Nevertheless. it is possible that only the positive mask will be filtered in hardware or otherwise only the very first bytes in a section. implementations of that method should not rely on being able to load classes while executing. Even if you are playing it from a file. Simultaneous decoding of several services (video. intuitive user interface for all basic tuning and service selection functions.de/nukes/?module=issue_view&op=FillData&id=27) 8. Hardware filtering will usually not affect any other operation. In those cases where some of the filtering is performed in software. and leave out later bits and possibly negative filters if not absolutely necessary. audio and data at different protection levels) and service selection which is based on the service information are made possible.5. this is most likely to be the bit-masks. Page 89 of 215 .service. The middleware of the MHP-Box will not automatically tune to a different transport stream in order to play a piece of media . the MHP implementation will treat this as tuning to a new transport stream. your implementation is not tuned to the right transport stream for playing the media. E.s3. All channel decoder output data is available on the MHP interface.s3. Any hardware filtering will always be performed first and only after this will a software check verify a match or not.de/nukes/?module=issue_view&op=FillData&id=20 “What is the fastest way to download files? MPEG or DSMCC?” (http://mhp-kdb. 8.uni-essen. and then maybe just a subset of these.uni-essen. If you are receiving a not tuned application.0 STB while running.uni-essen. because the old carousel which the application was using may not be available any longer. Hence. There are few implementations that do all filtering in software. the applications also run without using the service selection API or Tuning API. Applications must allow for tuning happening (javax.6 Tuning and service selection NOVICE LEVEL The MHP terminal provides the viewer with a simple.de/nukes/?module=issue_view&op=FillData&id=26) “Read private sections from transport stream” (http://mhp-kdb.selection) in parallel with the execution of their destroy Xlet method.30th March 2006 The MHP-Guide Version: 1.g.s3.

listen to or otherwise use the distributed content. Northern Europe) that the satellite footprint permits. which is addressed over air with the correct entitlement data. where protection against hacking is a big (and for many broadcasters/gatekeepers also an economical) issue.is as the wording implies a way of controlling who can watch. which are both DVB compatible: 1) The CA system can be present in an external unit called CA module.30th March 2006 The MHP-Guide Version: 1. On the consumer side the users possess a unique smartcard. In the set top box end. The means to do this is by encrypting the content in the transmitting end in a way that can only decrypted in the receiving end if the user is entitled to do so. CI content protection) NOVICE LEVEL Conditional Access . In the simplest interpretation. and which in cooperation with the CA system provides the decrypting of the services.7 Principles of conditional access (smart card. The SMS database keeps the customer related information together with information on what permissions the individual customers have.g. The need to encrypt content All pay-TV operators rely on the existence of a CA system for their business models and with the dawn of satellite distributed television also public service broadcasters may need to encrypt their programming if they have not acquired rights to distribute in a large geographic area (e. The terms of the Page 90 of 215 . Reason for including conditional access CA systems have been used also in the analogue world with the main functionality of being the central component in pay TV systems. which fits into an interface specified by DVB called Common Interface (or in short CI) . To be able to control who can access what content.0 8. 2) The CA system can be build into the set top box with a smart card reader as the interface for the customer to use. With the dawn of digital television the encryption of the services was a commercial requirement in the specification process.the smart card can be fitted into this module. there are 2 possible ways.or CA . this looks like: Figure 8-6: Encrypting and decrypting content This is of course more complicated in the real world. It is being used in many networks. the CA system is closely related to a customer registration system called SMS (Subscriber Management System). Encryption and decryption process The actual scrambling algorithm used is not public and is only revealed to authorized license holders on a need-to-know basis only.

The PSI tables should not be scrambled. In addition to ECM streams the transport stream will also contain Entitlement Management Message (EMM) streams if there are scrambled services in the stream. The EMM’s are used to send messages to the smartcard itself. However. This is illustrated in Figure 8-7. These messages usually control different settings on the smartcards such as updating of subscription information like adding/removing access to scrambled services. but except for these most elementary streams can be scrambled if the broadcaster chooses to do so. To decrypt the ECM and extract the CW in the MHP terminal a smartcard from the appropriate CA system vendor for the services is needed.0 license makes requires that the algorithm can only be implemented in hardware. The security of the scheme lies in a secure transfer of the key to the authorized receiver. The encrypting algorithm of the ECM and its content format is CA system specific and secret. The scrambling algorithm uses a key called control word (CW).30th March 2006 The MHP-Guide Version: 1. The systems used to encrypt the CW and package it into an ECM is not standardized. Figure 8-7: Encryption and decryption process Page 91 of 215 . These systems are called conditional access (CA) systems. The keys are encrypted and sent in special elementary streams called entitlement control message (ECM) streams. the real security of conditional access lies not within the semi-secret scrambling algorithm (source code software implementations have been and most likely still are available for download from the internet).

an outlook on stored applications. with help from some predefined support classes.2 Xlet Application Xlets have a well-defined lifecycle with Loaded.1. the application instance is working and providing service. All other graphical user interfaces available in Java (like Swing) are based on AWT. Furthermore the relationship between resident applications and broadcasted MHP applications. Xlets are geared towards consumer device applications. and Destroyed states. and Destroyed states. HTML (Hypertext Markup Language): Language to describe content for the world wide web. Paused. will be provided. particularly tailored to environments like television. An application that allows keyboard navigation and operation can be suitably run as an Xlet. Both the MHP application states and the state transition model will be considered. applets and Xlets use a similar security model. They use a well-defined lifecycle of Loaded. The reason of having these different application states can be found in two MHP inherent restrictions: Page 92 of 215 . when the used AWT components will be replaced by HAVi controls. Due to the fact that an Xlet might originate from an unknown or not trustworthy system and the security restraints safeguards the system resources. Applets are significantly linked to a mouse controlled GUI. the application instance has released all its resource and terminated. Applets were designed for use with Internet browsers and a full set of Java classes as included in standard Java Runtime Environments. but most consumer electronics devices are operated by a remote control. Paused. the application instance minimizes its usage of resource. Active. It is possible to create links between HTML content and to integrate in addition to texts and graphics also interactive content. finally. Active. Applets are typically linked to HTML pages and AWT. 9. and. (not loaded) initXlet Loaded Paused pauseXlet startXlet Active NOVICE LEVEL destroyXlet destroyXlet destroyXlet AWT (Abstract Windowing Toolkit): The basic programming interface for graphical user interfaces in Java. Destroyed Figure 9-1: Xlet lifecycle state machine diagram Loaded: Paused: Active: Destroyed: the DVB-J application instance is loaded but not initialized.30th March 2006 The MHP-Guide Version: 1. Xlets should not be able to access system-critical resources or interfere destructively with the operation of other Xlets. Application Lifecycle 9. such as a television-broadcasting environment.0 9 MHP Applications and Application Lifecycle This chapter deals with the application lifecycle management of an MHP terminal.1 Applets and Xlets NOVICE LEVEL Applet: An Applet is a partial Java application program designed to run inside the womb of a web browser. to be introduced by MHP 1.

0 • Applications have to run in low performance environments: On an average MHP Terminal system resources might be used by one application up to a level where no further application may be started. The initial class of the MHP application must implement the interface javax. This is done by introducing a destroyed mode before changing into the not loaded state again. it must inform the Xlet manager about the change. destroyXlet(boolean unconditional) is called by the Xlet manager. which will be used by the Xlet manager to signal the applications state changes like they are shown in Figure 9-1. When the application manager of an MHP terminal is asked to launch an application. • Multiple Xlets are allowed per Xlet Manager. it must use this method to signal the paused state to the Xlet manager. void notifyPaused(): As soon as the Xlet enters the paused state by itself.Xlet and all of the defined methods. void notifyDestroyed(): When the Xlet enters the destroyed state by itself without the initiation of the Xlet manager (invocation of destroyXlet(boolean unconditional)). then the Xlet manager is informed about this self-destruction of the MHP • • Page 93 of 215 . it will first call initXlet(XletContext ctx) and then startXlet(). There are three methods for inform the Xlet manager about the change: • void resumeRequest(): If the Xlet want to change its state from paused to active. The signaling of the state change to the Xlet manager is done by invoking the according methods on the XletContext.30th March 2006 The MHP-Guide Version: 1. if the Xlet manager invoked the pauseXlet() method. But note that the Xlet manager need not set the Xlets state to active. The boolean switch is used to tell the Xlet if it is obliged to terminate or if it has the choice to deny the request for termination. This is not necessary. it has to invoke the resumeRequest() method of its XletContext object.xlet. Each of the states has typical tasks that are performed when the application enters the state. which the Xlet was provided by the initXlet(XletContext ctx) invocation. This also allows for introducing a superior management instance to control all applications through a well-defined interface. which is a resident application. The method pauseXlet() will send the Xlet into background and startXlet() may be used again to resume the Xlet. VM (Virtual Machine) Software used to isolate the application to run from the real hardware and operating system. To finally terminate MHP application. Thus. A single application is allowed per its own VM instance. basic multitasking is possible while using terminal resources efficiently. Instead of continuously destroying the first application it is possible to just release scarce resources and have it running in a paused mode. returning the Xlet into not loaded state. If an Xlet want to change the current application lifecycle state by itself. Applications developed for a virtual machine are hardware independent and can run without changes on any hardware as long as the virtual machine for that hardware is available. Applications must not crash: In order to keep the terminal system clean it is necessary that the applications clean up after being terminated. The Inter-Xlet Communication mechanism allows Xlets to communicate and cooperate with each other.

dvb.0 specification) : • dvb.lang.5 of MHP 1.String key) method of the javas System object. MHP 1. games or the Xlet manager.app.5 of MHP 1. a resident application does not have to be implemented as an MHP application.0 application by invoking the notifyDestroyed() method of the XletContext. like it is signaled in the broadcast.1 introduces “stored applications” as a third application type in addition to the currently existing broadcast and resident applications.0 specification). a predefined string is used to access the settings. even if it is already stored on the MHP terminal. for example.1. Parameters are returned as String[]. In addition to stored applications related to a specific service.30th March 2006 The MHP-Guide Version: 1. • • • 9.parameters“: Provided Parameters when the Xlet was started by an AppProxy. If no parameters are available. Parameters are returned as String[]. If no parameters are signaled. A stored application associated with a broadcast service can only be started when it is currently signaled in the AIT of a broadcast service.String key). Broadcasted MHP applications are not capable of interacting with resident applications. which is also observed by the navigator application of the MHP terminal and thus could influence the behavior of the navigator.caller.7.1 of MHP 1. 9.lang. a game. dvb. XletContext. Currently there are the following properties are accessible (see also chapter 11. a resident application is stored in a non-volatile storage memory of the MHP terminal on part of the manufacturer.id“: The signaled application identifier of the Xlet. This can be useful if the application is reloaded from the faster local storage instead of the broadcasted data carousel.3 Resident applications NOVICE LEVEL Unlike broadcast MHP applications. then the String[] has zero length.org. Indirect communication may happen when broadcast applications access MHP functions like service selection. Similarly to the getProperty(java.4 Stored applications NOVICE LEVEL AIT (Application Information Table) Service bound DVBTable describing all available MHP applications of that service. As such resident applications are manufacturer specific additions it is not defined which have to be included in an MHP terminal. also standalone stored applications can be developed. The XletContext object provides access to environment settings of the Xlet with the method getXletProperty(java. Consequently. Value is returned as organization identifier encoded as String (defined in chapter 14. A stored application is a broadcast MHP application that can be stored on the MHP terminal for later usage. Page 94 of 215 . Examples are the navigator. like. then the String[] has zero length. Value is returned as application identifier encoded as String (defined in chapter 14. tools for configuration of the MHP terminal.ARGS: Parameters as signaled in the broadcast.id“: The organization identifier of the Xlet this XletContext belongs to. Used to signal and control the MHP applications of a service.0 specification).

0 APIs EXPERT LEVEL The service filter is extended to support the filtering of stored applications. that asynchronous loading can be expected to complete immediately and that no ObjectChangeEvents are generated.1 Restrictions of stored applications Stored applications related to a broadcast service are behaving like any other broadcast application. This is also valid for stand-alone stored applications. A stored application needing access to stream events has to mount a currently broadcasted data carousel that contains an assigned DSMCCStreamEvent to listen to. A stand-alone stored application is not associated to a broadcast service and therefore its ServiceContext has no access to a ServiceContentHandler which deals with audio or video.4. Therefore all other object types in the data carousel cannot be stored on the MHP terminal. Either no service information objects are returned at all. It is also Page 95 of 215 .Signaling of stored application). the returned ServiceList object contains a list of all currently installed stored applications as Service objects of type StoredApplicationService.0 The lifecycle of a stored application is not any different to the lifecycle of a broadcast application. The only differences are. because they are bound to a stored service which contains an AIT with the signaling. it will be started. or SIDatabase returns service information of the last tuned service. like a Player object. Despite of a related ServiceContentHandler. According to the AIT associated to the service the signaled stored applications are available and if an autostart stored application is available. An MHP application cannot rely on the possibility of retrieving manufacturer specific resident applications.4.3.select(Service) it is also possible to select a StoredApplicationService object.2 Extensions to MHP 1. If such a filter is used. that stored applications can be loaded faster than broadcast applications on the data carousel. Furthermore. The AIT is described in more detail in section 10. There are no differences despite of the fact. the behavior of the SIDatabase is undefined for stand-alone stored applications. A stored application consists of objects downloaded from the broadcast data carousel. Therefore stand-alone stored applications should not deal with service information that is related to the actual service. so that for instance DSMCCStreamEvent objects of the data carousel are not available in the storage of a stored application. All files of a stored application are accessible as if they were actually broadcast. Depending on the implementation of the MHP middleware also manufacturer specific resident applications may be included in the filtered ServiceList.4. EXPERT LEVEL 9. 9.30th March 2006 The MHP-Guide Version: 1.3 . It can only be started if the application is signaled in the AIT of the currently selected service. the application can create its own Player that receives a higher priority for resources than any previously existing presentations. An ObjectChangeEvent cannot occur as the stored files are not connected to any broadcast and can therefore not be updated. These stored objects can be of the type directory or file (see also chapter 9. With ServiceContext.

Stored applications can therefore contain files in the storage of the MHP terminal. the version number must be increased by one. Despite the MHP 1. Last but not least. some more information about the versioning and updating of a stored application will be given.0.0. In addition to the signaling of normal MHP applications. This exception is only valid for the files downloaded from the data carousel to the MHP terminal’s storage. Page 96 of 215 . chapter 10. The Application Description File has an XML structure and is described in the MHP 1.1. In chapter 9.0 specification).14. stored applications contain an Application Storage Descriptor in the common descriptors loop or application descriptors loop of the AIT. a new application identifier should be used.1 Version management. If an application updates too often.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.3 Application description file.3 Signaling of stored application EXPERT LEVEL A stored application is signaled in the AIT like any other broadcast MHP application. the names of which exceed the restriction of MHP 1.1 defines an exception for the filenames of a stored application. the MHP 1. With the element application storage in the permission request file the right for controlling stored applications can be obtained. If any file of the stored application changes. To enable the MHP terminal to store the necessary files of the MHP application.6.1 of MHP 1.4. The version numbering should be unique and if no version number was available anymore. A good advice is to avoid the storage of frequently updated files by not listing such files in the Application Descriptor File.1 specification. the MHP terminal can refuse to perform these updates.0 definition of filename restrictions for persistent storage (see chapter 14.30th March 2006 The MHP-Guide Version: 1. Files that are created by the stored application in the persistent storage are still limited to the filename restriction of MHP 1. the permission request file is related to stored applications. 9. an Application Description File must be supplied in the data carousel of the application. This descriptor contains information about the kind of storable applications (broadcast related or stand-alone) and the versions of the application.9.

the PID of the EMM stream (cf. where the PID (Packet Identifier) numbers of the respective audio. These tables have entries called Descriptors.i.6 of the MPEG-2 systems specification): “The Conditional Access (CA) Table provides the association between one or more CA systems. Conditional Access Table (CAT) This table contains private data with information on conditional access restrictions. as well as a reference to the Program Clock Reference (PCR). like the mapping of streams to a certain service. Service Information is divided into tables structuring information related to different aspects of DVB transmission.30th March 2006 The MHP-Guide Version: 1. Application Signalling 10. NOVICE LEVEL Page 97 of 215 . The main purpose of the CAT is to tell the terminal where to find the EMM stream. their EMM streams. other is even human-readable information.1 Introduction Applications often require aligning with other instances or timings. video and data streams are listed.2 Introduction to SI / PSI Service Information contains metadata necessary to locate. and any special parameters associated with them. After applications have been developed. there are some additional steps that need to be taken.4.e. This is a table that would not normally be accessed from an Xlet. the program service information. Some is fairly network-oriented.g.0 10 Service Signaling 10. They need to be transmitted . 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. tune to and display services on a terminal. included in the transport stream.e. i. Program Mapping Table (PMT) The Program Mapping Table contains information about which elementary streams belong to a certain service. and their presence and nature needs to be signaled. Strictly speaking there is “Program-Specific Information” (PSI) as de-fined by MPEG-2 as well as additional “Service Information” (SI) as defined by the DVB-Project and the resulting ETSI standards [ETSI EN 300 468]. e. In the following the available SI/PSI tables are described in brief: Program Allocation Table (PAT) This table contains information on where to find the Program Mapping Tables (PMT) for each program (service) available on the current MPEG-2 stream. section 2. Each service has allocated one PMT.4. which is the smallest unit in Service Information data.

the name of the currently running and the upcoming program is listed for each service.30th March 2006 The MHP-Guide Version: 1. Service Description Table (SDT) The service description table describes all services available on the current transport stream and may contain information on services on other streams as well. the Selection Information Table (SIT) and the Discontinuity Information Table (DIT) are defined. Network Information Table (NIT) This table contains information on the network the current transport stream is running on. It contains information on the program events within the services. This information can be used for displaying an EPG sorted by different bouquet providers. As a minimum.2. e. it is either currently running or not. Time and Date Table (TDT) This table contains the current UTC time and is concurrently updated.1 Information independent from transport stream Obviously it should make no difference from which transport stream the Time and Date Table (TDT) and the Time Offset Table (TOT) are read. like network name. The Network Information Table (NIT) from the actual network is also identical on all transport streams that belong to this network. such that belong to a broadcaster or provider that offers multiple programs on different transport streams.e. though on different networks there probably will be different BATs.2. but they are less relevant for MHP application programming at the moment.g. this is the core table to look at. It offers information on the provider and the name of the bouquet. Time Offset Table (TOT) This table contains the local time as UTC time plus the local time offset.2 Optional “other” tables Some transport streams. Furthermore the Stuffing Table (ST). NOVICE LEVEL 10. When building an EPG application. There may be NITs Page 98 of 215 NOVICE LEVEL .0 The following additional tables were defined by the DVB-Project: Bouquet Association Table (BAT) The BAT contains a list of services that form a bouquet. i. Running Status Table (RST) Any event has a running status. But some providers also give information on the program schedule for a day or week in advance. The Bouquet Allocation Table (BAT) may as well group services of different transport streams and even networks. may include information on all of their programs on all their streams. It contains the names and provider of the services. orbit position and transponder number whereas the latter two are only applicable for satellite networks. Event Information Table (EIT) The EIT is a large table with a lot of different descriptors. 10. The concurrently updated information on the RST allows to automatically switching to a certain event as soon as it starts.

In order to obtain a specific piece of information. so it is not always applicable.2.5 Usage of the SI overview tables In order to explore the vast amount of available SI data accessible via the two APIs.net.dvb. NOVICE LEVEL 10.0 of other networks. Basically any kind of information may be requested through both mentioned APIs.davic. The tables are extensive. Thus.SIDatabase or javax. Details and examples are available in the MHP Knowledgebase.si or javax.tv.service is more generic and might need to address certain Service Information Descriptors by filtering for its id number. 10.dvb.4 Accessing Service Information Service Information can only be accessed through asynchronous method calls to the org.pdf”.service APIs.SIManager object. if any information cannot be found in the tables. but much of the information has to be read directly from the transportstream. That object then offers own methods to request more detailed information (single descriptors) from the respective table.30th March 2006 The MHP-Guide Version: 1. there is no way to avoid tuning.pdf” and “JavaTV SI API overview. To avoid blocking the application during this time. please refer to the API documentation. On terminals with one network interface this could mean losing the TV stream. we provide two tables that give an overview which steps to follow in order to retrieve a certain piece of information.service offers a more comfortable access on EPG related information. This is because the MHP terminal is not required to cache all available information on the terminal. whereas javax. The advantage of org. such as SIDatabase or SIManager. The documents are called “DVB SI API overview. The first column lists the retrieval methods that can be issued on the base object. Depending on the kind of information requested it may take several seconds till the desired information is received from the stream. The second column lists the type of object that will be returned with methods that can be invoked on those objects in the third column.tv. The first request is always to an org. SDTs of other transport streams and pre-sent/following EITs of other transport streams signaled on the current stream.tv. By adding a listener the application receives the desired SI-table object.service. because the MHP stack will most likely use the same underlying implementation. Tuning can be done with the org. but may simplify in some cases.si is that its objects mirror exactly the Service Information available on a DVB-S/C/T stream. Both APIs are identical regarding the performance aspect.3 Tuning to other streams If a specific piece of information is not broadcast in any way on the current transport stream. 10. On the other hand the generic approach of javax.2.2. locate it at the table of the desired API and track the way back to the base object.tv.dvb. EXPERT LEVEL Page 99 of 215 . SI request methods have been designed to be asynchronous.si.tuning API.

If the service was already launched on the old service. Applications that are not running in a ServiceContext are not affected. This takes place about some seconds after the service change itself. that portal applications have to be signaled on all services where there are applications available that should be startable from the portal. Mere tuning is not sufficient. with all consequences mentioned above. This database holds information on all the applications available on a service and gets quickly updated in the case of a ser-vice change. to build a portal application for a service bouquet (cf. EXPERT LEVEL EXPERT LEVEL Page 100 of 215 . because tuning does not affect the AppsDatabase. the AIT cannot be accessed via any of the SI-APIs. chapter 9).e. it will be relaunched.30th March 2006 The MHP-Guide Version: 1. This should always be considered before tuning. According to the MHP-standard service selection seriously affects running applications. Also the DSM-CC object carousel will get disconnected. The new service with the target application has to be selected.g. like terminal resident applications (Navigator). It is also possible to launch applications that are signaled on other services. as it does not search the stream for a new AIT. Applications that are service unbound will be killed as soon as the AppsDatabase has been updated with the applications available on the new service. Applications can be used to launch and control other applications. Autostart: Autostart applications start automatically when the service they are signaled on is started. In the AIT each application is unambiguously identified within a certain service by a combination of an organization ID and an application ID. Only applications that are service-unbound AND signaled on the new service as well continue to run. In Java these are combined in a class called AppID. I. It is managed by the terminal and represented by the AppsDatabase class. but new applications can only be launched if they are by chance also available on the new stream we tuned to. Autostart services are launched.0 10. when tuning the AppsDatabase content remains the same with the result that all running applications keep running. so a running application might not have access to its data anymore. The conclusion is also. e. For each application there are attributes to influence the lifecycle behavior: service bound: Applications that are service bound can only run when the service they are bound to is running Visibility: The visibility flag determines whether the application can be seen by other applications in the AIT. Depending on the application attributes the following does happen on service selection: All applications that are marked as “service bound” on the old service will be terminated instantly. Each service has its own AIT. The applicationID and the organisationID have to be configured in the carousel playout server.3 Introduction to AIT and application change Unlike other Service Information tables.

freeing up space for other more used applications.1 of the MHP 1. In the case that the MHP-terminal detects that the server uses https (the secure version of http) the terminal shall use https. The advantages of loading applications over the return channel could be that an application is loaded faster.g. The receiver has to search for the required file in the directories and zip files signaled in the AIT tables.g. The load on the broadcast carousel can be reduced by having receiver load applications using the return channel. The return channel can be used bi-directionally and may therefore be of advantage to use under certain circumstances .1 specification [MHPKDB-1]. this could be used for those applications that are used by a limited number of people. A receiver will attempt to download a data file or application if it is signaled in the AIT by using the transport protocol descriptor that it has to attempt to use the interaction channel. HTTP (Hyper Text Transfer Protocol) The standard protocol used for browsing the internet. Page 101 of 215 .4 Application Loading over Return Channel With the advent of a return channel. so problems related to the IP-transport are avoided.8. they do not take up bandwidth in the carousel.1 has support for loading data and applications over the return channel using HTTP. Firewalls are typically configured to transparently allow HTTP-traffic. E. individually adapted data/applications. which by nature is point-to-point. or to increase general loading time. new possibilities arise. ondemand data. by loading them over the return channel.e. MHP 1.30th March 2006 The MHP-Guide Version: 1.0 10. As such this is only applicable when the Interactive Broadcast and Internet Access Profile are used. This is described in details in 10.

or in more detail: data. the identified security goals and the nature of possible security threats. 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. If this is not the case any security model collapses. Data are either received via the broadcast channel together with the appropriate code or created and stored on the user terminal by applications. The security goals that are seen as relevant in the context of interactive television are Integrity.1. application code and system code. 11. The integrity of the system code therefore has to be presumed by broadcasters and developers. the integrity of a received application code can not be assumed. Application code is transmitted together with according data to the user terminals via the broadcast channel.0 11 Security This section gives a brief theoretical background of the security problem. Integrity of data is the actual goal behind the integrity aspect. the security problem is often separated into different aspects also called security goals. However. When looking closer at an execution environment for interactive applications. Hence. Therefore the integrity of code (as described above) is one of the necessary conditions for the integrity of data. in every computer system data is processed and modified by code.1 Security in interactive television environments In theory. In general it can be said that any modification that happens against the intention of the owner of the information violates its integrity. if the source of an application is trustworthy. Security 11. These are shortly described in this section and lead over into security requirements for iTV systems. Confidentiality and Availability [Hetzer 2001]. Page 102 of 215 NOVICE LEVEL . 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.30th March 2006 The MHP-Guide Version: 1. 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.1 Integrity Integrity is given when a certain piece of information is not tampered in an unauthorized manner. The MHP-terminal has therefore to be provided with possibilities to check. two kinds of information can be identified: data and code. Because the source of the application is firstly not known. In the following. In this respect. integrity comprehends integrity of those three parts. the MHP security framework and the application rights model are described.

However. However. Hence. The system therefore needs a possibility to dissolve deadlocks if they occur. Therefore. Application code that was willfully written to destroy the balanced resource distribution within a system is called “denial of service attack”. The confidentiality of user information is only endangered if the user terminal is connected to a return channel. the applications and the system code itself have to share the available resources of the system.0 11. The second case concerns private information of the user (e.30th March 2006 The MHP-Guide Version: 1.) generated by user interactions and then stored on the user terminal by an application. 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. Relating to iTV systems the security aspect of confidentiality covers two issues. But also code that simply contains bugs can accidentally lead to a denial of service. pay-TV). that a broadcaster (owner) distributes via the broadcast channel and that therefore can be received by all user terminals. 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. loss of service availability of is not the only danger that occurs when applications from an unknown source get access to the resources of a MHP terminal. the confidentiality condition can be fulfilled also for MHP applications by encrypting object carousels. if a piece of private information cannot be accessed by third party without authorization of the owner. the availability of other applications or even of the system is endangered. passwords. Since MHP provides the usage of CA systems. NOVICE LEVEL 11. credit card information. otherwise the private information cannot be transferred or viewed by another party than the user. If one application manages to consume a certain resource to a disproportional extent. In every case. if it is possible to use the different services of a system. normally due to their business models (e. also the possibility is given that an application (either accidentally or deliberately) transmits private information from the user terminal to unauthorized thirds. Page 103 of 215 NOVICE LEVEL .1.g. However. The first case concerns private information (data and code). 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.1.2 Confidentiality Confidentiality is given. Therefore the MHP-terminal has to ensure that only trustworthy applications are granted access to user information stored on the terminal. this possibility is not further elaborated here in the context of security. etc.g. it can be stated as a security requirement for an MHP-terminal. if the return channel exists. 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. 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.3 Availability Availability is given. On the MHP-terminal.

30th March 2006 The MHP-Guide Version: 1. to check if a received application has been modified after signing. 11. The aim of such procedure is. The hash values are created by hashing all files in the directory as well as the hash files of the subdirectories (if available).signature. This process uses three different authentication messages (hash codes. In MHP all signature files have the name “dvb. The digital signatures contained in the signature files are created by hashing the “dvb. complete directory trees or even whole object carousels. file content) in the underlying file structure has been changed – preconditioned the hash file itself has not lost its integrity. 11. signatures and certificates) and works as follows: EXPERT LEVEL 11. the integrity of the application files is verified and hash values are created and stored in hash files that always have the name “dvb.*”.hashfile” in the root directory and then encrypting this hash value by using the RSA method: The broadcaster uses Page 104 of 215 RSA (Rivest-ShamirAdelman-algorithm) Secure asymmetric encryption algorithm using a key pair of private and public key. to provide the MHP terminal with a possibility to verify if an application was signed by a trustworthy entity and.2 Signing MHP Applications The MHP standard provides a signature procedure that can be used to digitally sign files in a directory.signature.hashfile” contained in the root directory contains the checksum (hash total) for the complete directory tree. whereas “*” stands for consecutive id-numbers in case of more than one signature files in the directory.hashfile”. .*) The signature files are stored in the root directory and have two functions: To protect the highest hash file (contained in the root directory) To specify the originator of the application By signing.hashfile) On the broadcaster side. but it allows detecting if anything (filenames.2 Signature files (dvb.2. whereas the SHA-1 algorithm has to be considered safer due to its significantly longer hash word. The hash file itself contains one or more sections that are structured as follows: Hash algorithm identifier List of filenames Hash value For creation of the Hash values MHP allows the algorithms MD5 (128 bit) and SHA-1 (160 bit). Each directory in the tree to be signed has finally to contain one hash file.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. the signing entity assures that the signed application will not cause any damage and is therefore safe to run on the user terminals.2.1 Hash files (dvb. This hash however does not provide security against unauthorized modification on its own. This hierarchical creation of hash codes allows for processing large directory trees with comparable little effort since the “dvb.

0 its private key for encryption and stores the public key (necessary to verify the signature) in the corresponding certificate file.e. For more information on root certificates please refer to the KDB entry ”DVB Root Certificates. The MHP-standard uses X.509-certificates and for this reason defines a new profile thereof. The root certificate authority has to be well known to the receiver i. so that it is clear which certificate file corresponds to which signature file. Page 105 of 215 . As already mentioned. the certificate file contains the certificate whose public key allows for confirming the signature of the corresponding signature file. MHP defines.3 Certificate files (dvb. the root certificate has to be stored on the MHP terminal. The “*” in both filenames represent the id-number of the entity.2.30th March 2006 The MHP-Guide Version: 1.certificates. 11. The certificate that a broadcaster uses for signing is usually a leaf certificate standing at the end of a chain of trust. costs and rights” (solution 85).*) For every entity that signs an application (directory tree) two files have to be provided in the root directory: the signature file and the certificate file. that all certificate files have to contain all certificates that are necessary to authenticate the leaf certificate used for signing: The complete chain from the leaf certificate up to the root certificate.

The signing entity. The example shows that all directories in the tree contain the hash file whereas the hash file in the root directory checksums the complete directory tree. In this case only one entity has signed the application.30th March 2006 The MHP-Guide Version: 1. In practice. Figure 11-1: Example of a signed application [Hetzer 2001] PKI A system that enables users of a public network 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.2. The application itself consists of Java class files and data files. usually the broadcaster. However. the major costs that arise in the context of application signing are related to subscribing at an appropriate certificate authority. the signature file secures the root hash file and specifies the originator of the application. The corresponding certificate file provides the chain of trust that connects the signing entity with the root certificate known to the MHP terminal. signing of an application respectively a certain directory tree within an object carousel is accomplished by software tools.4 Example of a signed MHP application Figure 11-1 shows an example of a signed directory tree that contains a MHP application realizing a new sticker.0 11. As explained in the sections above. Further information can be found in the next sections. has to take this into account when considering additional costs for signing. Page 106 of 215 .

3. The vendor processes the management messages.0 11.3. 5.3. MHP terminal vendor = DVB-MHP PKI Root Embedding The vendor embeds the set of root certificates.3. Application developer (cf.12) It creates.3. Certification = CA Authority (cf. = DVB-MHP PKI subscriber A broadcaster can sign the applications delivered over its network using the key and certificates obtained with DVB Services.30th March 2006 The MHP-Guide Version: 1.4) = DVB-MHP PKI subscriber Application developers can sign their applications using the key and certificates obtained at DVB Services.3 DVB MHP Public Key Infrastructure (PKI) 11.3. provided by DVB Services.1 Actors in the MHP PKI This table provides a summary of the actors in the MHP security part and the roles they play in the PKI. Application Developers and Broadcasters will receive Subscriber Certificates entitling them to digitally sign MHP applications and attach Certificates to such applications for delivery to Terminals. in the MHP terminal. EXPERT-LEVEL Actor DVB Services SARL (cf. 5.2 DVB Services Hierarchy Figure 11-2: The DVB Services Hierarchy gives a good overview on how the Public Key Infrastructure (PKI) that was developed for MHP is intended to work. Page 107 of 215 . 5.2) Broadcaster (cf. 5. Certificate Authorities (CA) have been defined for the issuance of the Root Certificates and of Certificates linked to MHP applications. It broadcasts management messages (CRL and RCMM) provided by DVB Services. MHP Terminal manufacturer have to embed Root Certificates in their MHP Terminals. Table 11-1: Actors in the MHP Public Key Infrastructure 11. issues and manages the certificates.11) Role It implements the DVB-MHP PKI: It issues certificates and keys in particular root certificates It provides the CRL and RCMM management messages. Root CAs are part of the DVB-MHP PKI.

These include the DVB MHP Root CAs.0 The DVB MHP PKI hierarchy is resilient because at each level the Certification Services Provider operates two signing Certification Authorities. 11. The DVB Services Infrastructure describes those entities under the direct responsibility of DVB Services Sarl. an Active and a Substitute. In the case of Manufacturers. 11. which would activate the Substitute hierarchy. together with these extensions. RCMM MHP E2E Broadcast Chain MHP Terminal Figure 11-2: The DVB Services Hierarchy CA: CRL: RCMM: Certificate Authority Certificate Revocation List (cf. These Subordinate Signing CAs operate under their own Certification Practice Statements. DVB MHP Root CA #1 Signing CA DVB MHP Root CA #2 Signing CA DVB MHP Root CA #3 RCMM signing CA Certificates & keys Additional level DVB MHP Signing CA Root certificates Certificate Subscribers Application Developers Broadcasters MHP Terminal Vendors Signed applications CRL. the Application Developer would be provided with the necessary authorization to make use of the Substitute Root Certificate. The DVB MHP Signing CAs issue Certificates to entities outside the infrastructure.3.3. the Root Certificates for the DVB MHP PKI hierarchy are embedded in the MHP Terminals they manufacture. If one is compromised or otherwise revoked. Certificate Subscribers and Subordinate Signing CAs.6) Root Certificate Management Messages (cf.5) Page 108 of 215 .30th March 2006 The MHP-Guide Version: 1. comprises the DVB MHP PKI. A recipient receives one from each Signing CA. the RCMM Signing CA and the DVB MHP Signing CAs. each of which issues Certificates. The DVB Services Infrastructure. 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. which must be however consistent with this CPS.

Manufacturers need to obtain the set of root certificates from DVB Services SARL by entering into the DVB MHP PKI Root Embedding Agreement. may decide to take responsibility for signing applications that they broadcast. The DVB MHP PKI uses cryptographic hardware tokens (usually a USB device or a SmartCard) to protect the private key and these keys are normally generated by DVB Services SARL as part of the certificate subscription process.4 DVB MHP PKI for Application Developers Application developers need to sign applications that access restricted resources in MHP terminals or which need to verify the integrity of the application file tree for any other reason. In this case a broadcaster may need a key Page 109 of 215 .0 11.30th March 2006 The MHP-Guide Version: 1. 11. as such. Application developers who need to sign applications need to obtain keys and certificates from DVB Services SARL by entering into the DVB MHP PKI Certificate Subscriber Agreement. stolen or otherwise compromised.3. A substitute root certificate that could be used to authenticate certificates at a future date. Without these root certificates the receiver is unable to run signed applications. The subscription agreement also requires the key owner to take appropriate precautions to ensure the security of their keys and to inform DVB Services SARL if the key is lost. the application developers need to provide proof of their identity and of their right to broadcast applications over their chosen network(s). As part of this subscription process.3.3. This certificate subscription process also associates the identity of the private key owner with a certificate that contains the corresponding public key part. Once application developers have received their private key token and associated certificate.5 DVB MHP PKI for Broadcasters Broadcasters take responsibility for the content that they deliver over their network and. A special root certificate used to authenticate changes to the set of root certificates stored in the receiver. The signing process for an application requires the use of an asymmetric key pair (also known as a public/private key pair) where the private key is securely managed under the control of the authenticating end-entity. namely: An active root certificate currently used to authenticate certificates. Currently there are three certificates that need to be installed. Note that only organizations that have been assigned MHP Organization IDs may apply for subscription to DVB MHP PKI. they can use these in conjunction with an appropriate application-signing tool to create the additional security files that authenticate their application on the receiver. The process of updating these root certificates is triggered by information delivered in a broadcast stream and the manufacturer should not need to be involved in the update process. 11.3 DVB MHP PKI for MHP terminal Manufacturers Manufacturers need to install a set of root certificates into their terminals in order provide them with the possibility to authenticate the certificate hierarchy files that are delivered with applications.

6 Certificate Management X. the MHP terminal has verified that the application comes from a trusted entity and has not been modified after signing. The CRLs are transmitted to the MHP terminals usually within the object carousel.30th March 2006 The MHP-Guide Version: 1. Broadcasters also have a responsibility to include management messages to MHP receivers with each application that is delivered. MHP-terminals have to inspect the set of CRL files periodically and cache the revocation information for future use. the application can be accepted as authenticated. After going through this process. Possible reasons for that are that a broadcaster’s private key has been compromised or a broadcaster stops using a certificate authority. the CRL of each certificate authority on the certification path is checked. When authenticating an application.4 Authenticating applications in the MHP Terminal In order to authenticate an application. During the validation process of a certificate chain. 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). Each certificate authority publishes a list of revoked certificates. 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. 11. up to the directory that contains one or more signature files Verification of the signature provided in the signature file by using the public key provided in the corresponding certificate file Following the certificate chain contained in the certificate each certificate in the chain has to be verified until the link to the root certificate is found If the certificate chain could be verified by using the root certificate stored on the MHP terminal and none of the provided certificates were found to be revoked. EXPERT LEVEL Page 110 of 215 . the MHP terminal has to carry out the following steps: Verification that the files contained in a directory are listed in the hash file (located in the same directory) Verification that the file contents and corresponding hash values in the directory are consistent Verification of all directories in the tree (ascending in the directory structure). called a Certificate Revocation List (CRL).509 certificates may be revoked by the issuing certificate authority prior to their regular expiration date. CRL (Certificate Revocation List) Contains a list of certificates that have been revoked prior to their date of expiration. The files that contain these messages are available to broadcasters from DVB Services SARL.3. 11.0 pair and associated certificate of their own to sign applications in the same manner as described for an application developer.

g. 11. are authenticated before execution. Unsigned applications or signed applications that cannot be authenticated (e. the permission request file can be authenticated by the terminal – the permissions requested in the permission request file will be assigned the application. In addition to permissions. The MHP-specification defines in section 11.5 Application Rights Model As shown above.10. The MHP specification rules that the MHP terminal shall assign permissions to applications by taking into account two sources of information (compare chapter 12. MHP defines a number of new permissions that applications need to use many features and resources of the receiver. The third factor that influences the permissions an application is given is the fact.0. Based on the application policy model defined in PersonalJava and J2SE [Morris 2005]. it should be considered which parts of an application have to be signed to ensure the desired level of security. Credentials are therefore necessary e. Only if an application is properly signed – i. if an application wants to access data stored in the persistent storage that is owned by another application. This however means that the MHP-terminal has to take care that in particular the class files whose code contains security relevant instructions.6 of the standard [MHP 1. A credential is a right owned by a third entity and therefore has to be certified by this entity.3]: Permissions granted by the user in the preferences in the MHP terminal Permissions explicitly requested by the broadcaster within the permission request file (PRF) NOVICE LEVEL This principle distributes the power among the broadcaster and the user and hence reduces the danger that an application carries out unauthorized actions.e. the rights that broadcast applications need to access different resources in the MHP terminal have to be restricted in order to protect the users and the MHP terminal against unauthorized behavior.g. the permission request file may also request credentials.1 [MHP 1. if an application is signed or not. Page 111 of 215 . because one of the certificates in the chain has been revoked) are only given the default rights. 11. As a general rule it can be stated that media files should not be signed. The application is only permitted to carry out actions that fulfill both conditions.0 It has to be noted that it is not necessary and also not desirable to sign all files in a directory tree.6 Other aspects Since authentication of whole applications within the MHP terminal may be time and resource intensive.30th March 2006 The MHP-Guide Version: 1. 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.3] some default permission and restrictions.0.

30th March 2006 The MHP-Guide Version: 1. But if one component of the signed directory structure is modified. for a certain method call). The MHP terminal is no longer able to authenticate the application when this is required (e.4 has to be provided with regularly updated data files. the overall checksum provided in the “root-hash file” is not valid any more.g. For further considerations on this problem please refer to the following KDB entry: Solution 86 .2.0 Handling of signed applications may get complicated in the case of content updates. A news-ticker application like the example in Section 11.“How to update content without resigning?” Page 112 of 215 .

Audio.1 Introduction The provision of graphics. Video 12. Audio. It provides various possibilities but also adds complexity. Figure 12-2 illustrates the Porter-Duff alpha composition rules.30th March 2006 The MHP-Guide Version: 1. Text Presentation 12. text audio and video is a substantial addition to the traditional video/audio components. Page 113 of 215 . TV Viewer Background plane Video plane Graphic plane Figure 12-1: Graphic Planes in MHP The MHP platform allows these planes to be blended using some of the Porter-Duff alpha composition rules. In this chapter several of these possibilities are examined with respect to MHP. Video Graphics. Text Presentation. These are from back to front. Each screen on MHP compliant hardware provides three graphic planes.0 12 Graphics. background plane.2 Layers and composition concept MHP terminals are hybrids between desktop computers and traditional TVreceivers. video plane and graphic plane. Initially the concept of layers and composition is introduced to give a better understanding of the abstraction methods used in MHP.

It provides interfaces and classes to access media content in a standardised and platform independent way.1 Java Media Framework 1.0 NOVICE LEVEL In 1999 the Java Media Framework [SUNJMF] was extended by Sun and IBM to provide also features like manipulating media content in a Java application. look and functionality.0 was published 1998 by Sun. because the JMF itself is working asynchronous and sends events if a state change (e. synchronising the media (audio and video) by a clock and provides a visual component which contains the decoded video.3 Playable media 12. 12.g. the new technique enables the application developer to connect a DataSource 28 http://en. As briefly explained.0 NOVICE LEVEL The Java Media Framework 1. It provides classes for providing the content (DataSources).30th March 2006 The MHP-Guide Version: 1.0 Figure 12-2: Porter-Duff Alpha Composition Rules 28 In addition to alpha composition MHP has optional support for HAVi mattes. The ControllerListener is necessary. the MHP Platform provides a good foundation for building applications with advanced graphic layout.wikipedia.2 Java Media Framework 2. add a ControllerListener and start the playback. player is ready for rendering) occurs. An application has only to create a Player object by specifying the URL of the media source. The Player is also responsible for fetching the data from the source. 12. Silicon Graphics and Intel for enabled Java applications to manage time-based media content.0. for rendering (Player) and for controlling the playback of the media (Controls).3.org/wiki/Alpha_compositing Page 114 of 215 . Even if the media content playback is as easy as in JMF 1.3. Therefore also the rendering of the content is encapsulated into a DataSink as well as the access to the media stream in a Processor.

12. these methods shouldn’t be invoked.30th March 2006 The MHP-Guide Version: 1.3.0 is too heavy for today’s MHP terminals. But if a MHP terminal returns a Player. 12. because they can result in undefined behavior of the displayed video content.4 Media flow NOVICE LEVEL The media processed by JMF on a MHP terminal will be provided from a DataSource and processed as well rendered by a Player. In addition.g. if a MediaLocator/URL is specified instead of a DataSource. For Java applications that playback time-based media content completely with in Java. For Player created by the MHP terminal itself. MHP implements only Java Media Framework 1. The MediaLocator or URL describes the requested source and the Manager tries to return a DataSource object that can handle the referenced media. then it can be started. This slows down the processing speed of media content on small devices. To access the media data by Java it is necessary to decode. stream and rendering the complete media information in Java.3 Java Media Framework on MHP terminals NOVICE LEVEL PVR (Personal Video Recorder): A PVR is a receiver equipped with storage for recording digital media and an appropriate user interface that also allows scheduling automatic recordings. Also the visual component of a Player may return null if no such component is available on the MHP terminal. a powerful device like a PC is currently necessary. stopped and closed. the Manager provides a method that returns a Player depending on the specified DataSource or MediaLocator/URL. which is used to change the audio volume. If the creation of an own DataSource is necessary. In addition to the standard JMF there are some extensions like controls for accessing MHP specific features (e. On MHP terminals the implementations of the Control interface need not to return a Component for the graphical user interface. the Manager class can be used by specifying a MediaLocator or an URL. Normally the necessary source and player objects for the selected service are created automatically. selecting another language for the subtitling) or special events for signaling the Player’s state of a DripFeedDataSource. If a Player is available.3. It provides possibility to add listeners to the Player but Page 115 of 215 .0.3. The media cannot be rewind or fast-forward – except the MHP terminal implements the special PVR extension. Normally the main source of media is the media content in the DVB stream. Also the media can be delivered by files in the DSM-CC. because the DataSink and Processor concept of JMF 2.5 Media player and available controls NOVICE LEVEL The Player object is a MHP terminal specific implementation of the Player interface. 12.0 with an own Processor for changing a part of the content and providing that to a DataSink. then it must support it completely. To create a Player object for a DataSource constructed by a MediaLocator/URL. the Player must not return a GainControl.

12.5. 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. then the Player only returns the Control classes it supports itself. 12. But all instances of Player support all Control classes.1 LanguageControl This is the base interface for all Control classes dealing with language related content. the ISO 639 code must be used.5. check for support of scaling and clipping as well as the possibility to modify the clipping region. But it extends it by the possibility to observe the state-changes of the subtitling. scaling factors for video resize. With the method for getting the Controls of the Player. 12. but one of its sub-interfaces: AudioLanguageControl or SubtitlingLanguageControl. A Control doesn’t implement this interface directly. To select another component with the multiple used ISO 639 identifier the MediaSelectControl must be used. In addition to the selection of the language to display.2 AudioLanguageControl The AudioLanguageControl is responsible for select the audio language.30th March 2006 The MHP-Guide Version: 1. If the subtitling is switch on or off.3.5 VideoPresentationControl The VideoPresentationControl is used for retrieving information about the capability of the video positioning. The Control classes which are supported or introduced by MHP are listed in the sections below. If the service contains more than one component with the same ISO 639 language identifier. If a Player only supports a subset of the Control classes available by MHP. For selecting a language.0 the access to all Control objects available for the currently selected media is most important function.3. 12. 12. If a service contains more than one audio component with different languages.3.4 SubtitlingEventControl SubtitlingEventControl is a sub-interface of the SubtitlingLanguageControl and therefore it inherits the functionality of the SubtitlingLanguageControl.3 SubtitlingLanguageControl To control the language of the service’s subtitling. then the first signaled component with the requested identifier will be selected. for example the size of the displayed video can be altered or the selected language of the audio can be changed.5.5.5. the SubtitlingLanguageControl also allows the retrieval of the subtitling state as well as a method to switch the subtitling on or off.3. It allows retrieving the available languages for the content as well as the selection of a specific language content or the default language content. this Control can be used like the other LanguageControl classes. then the audio can be changed through this Control by using the language ISO 639 specification.3. Changing the video’s size is possible with either Page 116 of 215 . the media content can be accessed and modified.

9 MediaSelectControl The MediaSelectControl used for selecting the components of the service.5. With the MediaSelectControl it is possible to select other than the default video and audio components by the application.5.3. 12. Page 117 of 215 . So. A MHP terminal needn’t to support any location or size of the video.5. 12. the VideoTransformation is independent of the TV’s real pixel-resolution.10 DVBMediaSelectControl To enable a MHP application to select a different kind of content into a running Player. which itself uses float values in the range 0. For MHP applications it is possible to check how the video will be changed for a specific VideoTransformation by using the method getClosesMatch().3. like the video and audio.0 up to 1. It allows the selection and deselection of service components as well as the retrieval of the currently selected components. 12. To enable the MHP application to retrieve the video format of the Player.30th March 2006 The MHP-Guide Version: 1.3.8 VideoFormatControl For video content different video formats are supported. the VideoFormatControl can be used.0 BackgroundVideoPresentationControl – which is a sub-interface of VideoPresentationControl – or AWTVideoSizeControl.3. This Control is only available for retrieving information.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.0 for representation. The aspect ratio of the MPEG-2 video can either be 4:3 or 16:9. the manipulation of the video format isn’t supported by the Control. the MediaSelectControl is extended to the DVBMediaSelectControl. Like it is described for BackgroundVideoPresentationControl. The only difference is.3. to be processed by the Player. 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.5. 12. A listener can be registered to observe the result of the selection process. like it is possible with the BackgroundVideoPresentationControl.5. 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. The new location and size of the video is specified as a VideoTransformation. that the AWTVideoSizeControl uses the screen's co-ordinate system instead of the normalised co-ordinate system of the BackgroundVideoPresentationControl.7 AWTVideoSizeControl With AWTVideoSizeControl the location and size of the video can be changed. 12. 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.

If an MHP terminal returns a CachingControl. because the media content received while the Player was frozen can be stored.3. but if a MHP implementation returns the GainControl for a Player.14 MediaTimePositionControl (for audio clips only) For playback of audio clips the MediaTimePositionControl is supported to control the timeline of the audio clip. but it is allowed to support it.12 GainControl (optional) The GainControl needn’t be supported by a MHP terminal. Therefore MHP application must be in aware of the fact.5. 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. Player p = null.13 CachingControl (optional) An MHP implementation needn’t to contain the CachingControl. On MHP terminals with PVR functionality this could be different.3. The MediaTimePositionControl is not supported for broadcasted audio.3. 12. 12. It is possible to change the volume between mute and.5. ServiceContext sc = scf. Page 118 of 215 . The CachingControl is available for media content.5. then the audio clip will as soon as possible start the playback at the specified timeline position. then it must be supporting the control of the volume. If the MHP application sets another media time position. For broadcasted content on MHP terminals without a PVR functionality most likely the currently received media content will be presented. that this class doesn’t exists on the MHP terminal. try { ServiceContextFactory scf = ServiceContextFactory. the volume level when application was started.0 12.11 FreezeControl With FreezeControl it is possible to stop the decoding of the media content.6 Obtaining a player and controls NOVICE LEVEL Access to the Controls is only possible by getting the Player first.getServiceContext(xletContext). When the media playback is resumed.3. it isn’t defined at which point of the video and audio transmission the presentation of the content restarts. The Player can be retrieved from the service context of the Xlet.0. which for broadcasted content in a normal MHP terminal isn’t possible.5. As soon as the Xlet has it’s service context. 12. then it must support it as described in the JMF specification. as maximum 1. 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. 12.30th March 2006 The MHP-Guide Version: 1. that is downloadable.3.getInstance().

30th March 2006 The MHP-Guide Version: 1.media. then an array with length 0 is returned.tv.AWTVideoSizeControl”)..0 if (sc != null) { ServiceContentHandler[] sch = sc. the getControl(String) method must be used for obtaining a specific Control from the Player.i++) { if (sch[i] instanceof Player) { player = (Player) sch[i].printStackTrace(). null will be returned.length. If the Player doesn’t support the requested Control. break. if (vsc != null) { . then the list of available audio languages can be acquired from the control.i<sch.getControl(“javax.7 Selection of audio components with AudioLanguageControl NOVICE LEVEL First action is to retrieve the AudioLanguageControl from the Player like it is described in 12.3. } After the Player is found in the ServiceContentHandler array of the service context.6. if (player != null) { AWTVideoSizeControl vsc = (AWTVideoSizeControl) player. As parameter the fully qualified class name of the requested Control must be specified. } } } } catch (SecurityException e) { e. Page 119 of 215 . When the Xlet has the AudioLanguageControl object. otherwise a reference to the Control will be returned. If no audio language is available.. for (int i=0. } } 12.getServiceContentHandlers().3.

The parameter is the ISO 639 representation of the language to select.media.getControl("org. } } A more generic way of selecting audio streams – and therefore audio languages – can be performed with the MediaSelectControl (see also chapter 12.length == 2) { try { alc.3. the method selectLanguage(String) of the AudioLanguageControl can be used. then the first signaled audio stream of the network is chosen. 12. If more than one audio language stream with the same ISO 639 identifier is available.0 To select one audio language. the MediaSelectControl must be used. as it is included in the above array. if (player != null) { AudioLanguageControl alc = (AudioLanguageControl) player.9). The SubtitlingLanguageControl can be used to get the list of available subtitling languages as String array with ISO 639 identifier.listAvailableLanguages(). if (availableLanguages.8 Selection of subtitles with SubtitlingLanguageControl NOVICE LEVEL To get access to the SubtitlingLanguageControl the according Player object must be retrieved first (for further details see 12. if (alc != null) { String[] availableLanguages = alc.30th March 2006 The MHP-Guide Version: 1.3.3. To select an audio language stream which has the same identifier as another audio stream and is therefore perhaps not selectable by the AudioLanguageControl. Also the Page 120 of 215 .printStackTrace(). } catch (LanguageNotAvailableException e) { e.6).selectLanguage(availableLanguages[1]). } catch (NotAuthorizedException e) { e.davic.AudioLanguageControl").printStackTrace().

getControl("org. } catch (LanguageNotAvailableException e) { e.length == 2) { try { slc. This must be performed additionally by using the setSubtitling(boolean) method. } catch (NotAuthorizedException e) { e. } A more generic way of selecting audio components – and therefore audio languages – can be performed with the MediaSelectControl (see also chapter 12. the method selectLanguage(String) of the SubtitlingLanguageControl can be used.SubtitlingLanguageControl"). To select a subtitling language which has the same identifier as another subtitling and is therefore perhaps not selectable by the SubtitlingLanguageControl.0 wanted subtitling language can be selected. slc.setSubtitling(true). If more than one subtitling languages with the same ISO 639 identifier is available. if (slc != null) { String[] availableLanguages = slc. if (availableLanguages. then the selection of a subtitling language won’t switch it on.printStackTrace().listAvailableLanguages().davic.9).30th March 2006 The MHP-Guide Version: 1. the status of the visibility of the subtitles retrieved as well as the subtitles switch on or off. The parameter is the ISO 639 representation of the language to select. then the first signaled subtitling of the network is chosen.3. as it is included in the array of available languages. To select one subtitling language.selectLanguage(availableLanguages[1]).media. Page 121 of 215 .printStackTrace(). the MediaSelectControl must be used. So if the subtitle is switched off. The selection of a subtitling language won’t change the visibility state of the subtitles. if (player != null) { SubtitlingLanguageControl slc = (SubtitlingLanguage-Control) player.

tv. which returns an array of Locators identifying the selected service components.media.MediaSelectControl"). audio or subtitles – the MediaSelectControl can be used.g. It is possible to remove.getControl("javax. The rest of the selected Page 122 of 215 .remove(selectedLocators[0]).printStackTrace(). } } catch (InterruptedException e) { e.length > 1) { msc. } msc. add or replace components of the current selection. then only the signaled default component of the media type will be automatically selected by the MHP terminal. } } 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. try { synchronized (this) { wait(10000). As first action the MediaSelectControl must be obtained from the Player. The MediaSelectControl provides a method for retrieving the current selection.getCurrentSelection(). if (msc != null) { Locator[] selectedLocators = msc. It can be used to select a bunch of service components to a Player object. When this control is used the combination of service components to select can be different to the signaled default.9 Selection of media with MediaSelectControl To select specific media content –video. If a service contains more than one component per media type (e. if (selectedLocators. video or audio). EXPERT LEVEL if (player != null) { MediaSelectControl msc = (MediaSelectControl) player.30th March 2006 The MHP-Guide Version: 1.add(selectedLocators[0]).0 12.3.

This section will explain some of these abstractions and provide an overview of the core components in the HAVi Level 2 GUI API.4. After 10 seconds the removed component will be added to the current selection.wikipedia.havi.30th March 2006 The MHP-Guide Version: 1. The HAVi Level 2 GUI API is the section of the HAVi Specification that is adopted by the MHP Specification. so that the removed content reappears.4. introduction notes are used to explain the notation elements when first introduced in the diagrams. The notation follows the guidelines from book “UML for Java™ Programmers” 31 chapter 3 “class diagrams”.4 UI components overview/main HAVI components The scope for this section is the HAVi 29 Level 2 GUI API. See http://www. 12. Most design patterns in Java involve some or all of these abstractions.org Unified Modeling Language. See http://en. It is this abstraction that provides the structure and flexibility that the API designers have chosen for the API.2 HComponent and HContainer Figure 12-3: HComponent and HContainer (a) 29 30 31 HAVi .0 components are still running and won’t be stopped. Because the UML notation might be unfamiliar to some readers.1 Main HAVI components In a well designed and factored Java API it is important to understand the base classes. Some concepts will be visualized using UML 30 class diagrams.Home Audio-Video Interoperability. 12. 12. abstract classes and interfaces. The HAVi Level 2 GUI API is only a part of the full HAVi Specification that defines a full APIs for Home Audio-Video devices.org/wiki/Unified_Modeling_Language ISBN: 0131428489 Page 123 of 215 .

awt.wikipedia. final image in a process called compositing. and then combine the resulting multiple 2D images into a single. alpha compositing is often useful to render image elements in separate passes. In addition to this. 32 In computer graphics.org/wiki/Composite_pattern 33 Page 124 of 215 . HComponent extends the java. HComponent implements the TestOpacity interface.org/wiki/Alpha_compositing http://en. See http://en. This means that HContainers can be composed by HComponents and since HContainers are HComponents (see figure above) nested component structures can be constructed. In addition to the interfaces HMatteLayer and TestOpacity.30th March 2006 The MHP-Guide Version: 1. they can be used anywhere the normal Java Container or Component can be used. HComponent is an abstract class specializing the class java.0 HComponent is the base class for all MHP classes that paints on the screen. which the HComponent also implements. Because HComponent and HContainer are subclasses of the normal Java Container and Component classes. TestOpacity is a simple interface that allows all HComponents to be queried for opacity. In fact any instances of Container or Component returned by the MHP middleware will be instances of HContainer and HComponent. HContainer implements the HComponentOrdering interface. HComponentOrdering is an interface that supports the manipulation of the z-ordering of the composed HComponents and/or HContainers.awt. Figure 12-4: HComponent and HContainer (b) HComponent participates with HContainer in a composite design pattern 33 . This composition mechanism is provided by Java AWT because HComponent extends the AWT Component class and similarly the HContainer extends the AWT Container class.wikipedia.Component.Component with features for alpha compositing 32 trough the HMatteLayer interface.

just ready to be plugged into Hvisibles. If a layout manager is associated with the Container into which a HVisible component is placed.wikipedia. Layout of HVisible can be controlled by LayoutManagers. and interfaced it is not allowed to contain anything besides method definitions and static constants.4. The bright reader might have noticed that HLook is an interface. Developers that need a specific customized Look can implement their own classes that implements the HVisible interface.0 12.org/wiki/Strategy_pattern Page 125 of 215 . HAVi comes with several classes implementing the HLook interface. As shown above the HVisible has an association that allows zero or one reference a HLook object. The HLook interface also plays a role when it comes to the layout mechanism.Dimension getMinimumSize(HVisible hvisible) 34 http://en. For more information on these interfaces see the MHP Specification.3 HVisible and HLook Figure 12-5: HVisible and HLook The API states “The HVisible class is the base class for all non-interactive components”. The idea is that certain layout and presentation logic can be delegated to a HLook object. There are two Interfaces that specializes the HLook interface by defining additional methods. is an example of the strategy design pattern . The concept presented here.awt.30th March 2006 The MHP-Guide Version: 1. the size and location of the component will be controlled by the layout manager. The two sub interfaces are HAdjustableLook and HExtendedLook. This is because the HLook interface specified the methods: java. So HVisible will contain a reference to a class that implements the HVisible interface and thereby meet the requirement by HVisible. where presentation logic can be 34 changed at runtime.

Solution 13 in the MHP KDB “Careful use of HAVI widgets” explains this issue in greater detail.g.5 Input events and exclusive registrations on input event The MHP GUI event model is based on the Java AWT event model.awt.30th March 2006 The MHP-Guide Version: 1. Therefore the MHP middleware provides a mechanism allowing applications to request input events focus. a border may be added to components requiring the HLook implementation to add the extra with necessary to paint the border.Dimension object with the appropriate size. For more information. The reason is that fewer classes need to be in the broadcast stream providing faster start uptimes for applications. see the HAVi [HAVI] and MHP Specifications e.wikipedia. The Java AWT event model has been designed to suit GUI environments where a window manager 35 exists.Dimension getPreferredSize(HVisible hvisible) These methods are also implemented by the java. 35 A window manager is software that controls the placement and appearance of applications on modern computers with graphical user interfaces (GUI). So these methods participate in the strategy design pattern mentioned above. So the task managed by the window manager needs to be managed by the MHP middleware. The reason for their presence in HLook is that a new look may require other dimensions for proper presentation. In Java AWT the focused window has the input focus from the keyboard. In MHP the typical user input device is a remote control.awt.4 Other considerations using HAVI In general it can be recommended using the GUI Widgets available on the MHP Platform.4. See http://en.Dimension getMaximumSize(HVisible hvisible) java. [MHP 1. HState is therefore not a usual interface in that it is merely a utility container for static constants.org/wiki/X_window_manager Page 126 of 215 . 12.g. This does not directly suit the MHP Platform where no window manager exists.4.Component class. But since the MHP middleware implementations are interpretations of the MHP Standard.3]. In that case the HLook implementation will implement methods listed above and return a java. HVisibles can be in different states and component behaviour changes with the state.0.0 java.awt. Exactly these methods are used by LayoutManagers when the component layout computed. but the conclusion is to explicitly specify default values in the code instead of relying on the implicit values. A middle course to common behavior across set-top boxes is to extend the HAVi base classes as explained in the previous sections.awt. there can be deviances in the HAVI component default values across different implementations. The HState interface does not define any methods. but encapsulates constants for component states which are used in the various HVisible setContent and getContent methods to indicate which state the specified content is to be set. E. 12.

aren’t confessed on time. This can have the consequence that the picture and the picture information. a small code example is given for synchronous image loading: NOVICE LEVEL public class LoadingImage extends Component{ … //Produce instance of a picture.addImage(image. Below. MediaTracker tracker = new MediaTracker(this).png").1 (2003-06). Depending on the used format mentioned above. All images transmitted shall be within the gamut encompassed by the sRGB color space. The support of further formats isn't provided by the specification.v.getImage("image.etsi. try{ //Waiting until the image is loaded. The support of pictures in the GIF format is left to the equipment manufacturer.0 12.getToolkit(). the sRGB image may be transcoded into a different color space provided the gamut assumption is not violated (q. Note: A picture is loaded asynchronously under MHP.30th March 2006 The MHP-Guide Version: 1.wikipedia. Technical Specification. //Using the MediaTracker to check loading up process. tracker.drawImage(image. g. the representation possibilities are restricted.de (12/02/2005) Page 127 of 215 . Where this is impractical.this).0. such as the picture measurements.org (12/02/2005) Wikipedia. } 36 ETSI TS 101 812 V1.waitForID(0). 0). //Registering the Image at the MediaTracker (ID=0) tracker. Where possible this should be coded so that the terminal does not have to translate. } catch (InterruptedException e){ //Image wasn't loaded completely.5 Displayable graphics formats and restriction36 The picture formats JPEG and PNG can be represented in MHP by default. JPEG). The problem can be avoided if the picture was already loaded before showing. Image image = this.3. http://www. http://www.0. } …public void paint(Graphics g){ // The image can be immediately shown now.

This color conversion leads to color purity errors if the origin color value does not have a comparable color value in the YUV color space. Low-Pass Filtering This function enabling low frequencies to pass through but cutting out high frequencies.30th March 2006 The MHP-Guide Version: 1. Through this. This may cause that the chrominance and the brightness are not displayed correctly.1 PNG PNG was designed as a free substitute for the older proprietary format GIF.0. MHP terminals are required to support the entire PNG color types define in PNG Specification Version 1.2]. Other colors shall be reproduced on a "best effort" basis. This format supports animations in which per frame 256 colors can be used. Unlike the JPEG format PNG uses a lossless compression. a high information precision is changed by a reduced number of values into some less exact information. colored images.0 12. This is the case at all lossy data reductions. PNG files can contain transparency information either in form of an alpha channel or for every color of the color table.5.5. It doesn't contain information about the brightness but only about the hue and the color. Color information lying in the RGB color space is transferred by the JPEG compression into the YUV color space. By the quantization. The restrictions for the PNG format under MHP are described in section 15. The fact. Quantization: The real data reduction is reached by the quantization. MHP terminals are responsible for mapping these colors to those used by the terminal's OSD. In addition.1 of [MHP 1. the amount of data can be usually reduced by factor two.6). 4. PNG supports alpha channels of 8 or 16 bits. what corresponds to 256 or 65536 graduations of the transparency strength. Where PNG graphics use colors defined in the minimum color table these colors shall be reproduced correctly. Several compression methods are in use whereas the following two are lossy: Low-pass filtering of the color difference signal: The color difference signals are stored most in reduced dissolving. NOVICE LEVEL Color Difference Signal Results of the coding of the RGB signal from difference formation between the color signals red. The signals are deep passport filtered and lower felt (in the simplest case by an averaging). PNG can process up to 256 colors from a color table (cf. that the place dissolving of the human eye for colors is less sensitive compared to black-and-white transitions is also used for the data reduction.2 JPEG JPEG is a method to the coding of digitized. because the support of this format is optional and GIF animations are also not supported. 8 or 16 bits and color pictures (RGB) with 8 or 16 bits per channel (therefore 24 or 48 bits per pixel). 12. 2. The PNG format should be used instead of the GIF format. the storage of grey level pictures is possible with 1. Page 128 of 215 .3 GIF GIF is a graphic format with a good lossless compression for pictures with low color depth. the MHP terminal will usually ignore gAMA (gamma) and cHRM (chromaticity) chunks in PNG files. Furthermore.0. NOVICE LEVEL Alpha Channel An alpha channel is additional information in a picture file that determines the transparency for every pixel Chromaticity Contains hue and color repletion 12. 12.5. green and blue and the signal of luminance. These quality losses should be taken into account just like the following one.

All colors used in the picture are listed in the color table. c) This is the image after the color assignment.0 12. however.6 Color Table It is the most natural way to encode the color information of a pixel to indicate the values of the individual color channels directly in the data structure of every pixel. but it contains an index pointing to a entry in the color table. Figure 12-6). Figure 12-6: Example of a color table 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. a high storage requirement. For example: if the index storage is limited on two bits.30th March 2006 The MHP-Guide Version: 1. The data of each pixel does not contain the color itself. 48 colors with a transparency of 30% and 1 color with a transparency of 0% (see figure below: Palette construction rules). Every entry defines the values of the color channels of a color. b) This is the classification between the index and the color. There is a less memory-intensive method at graphical data with 256 or less different colors which make use of a socalled color table or color lookup table (CLUT). The color table used under MHP contains 139 opaque colors. The amount of the used storage for the index limits the maximum number of usable table entries. This manner of the color addressing has. at most four colors can be indexed (cf. 0 0 1 2 3 a) 0 1 2 3 2 1 2 3 2 1 2 3 2 1 0 3 2 1 0 0 Index 0 1 2 3 b) Value c) a) This is the information of an indexed image. Page 129 of 215 . The color table is saved independent from the pixel data.

foremost about the pixel aspect ratio. This results in a few problems. Note: semi-transparency shall not be approximated as either 0 % or 100 % transparency. 204.2. 191. 51. The resulting pixel aspect ratios needed to compensate this effect are shown in Figure 12-8. 170. NTSC frames are 720 by 486 in size. which comes out as 4:2. 255 48 100% 0 - Total 1 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. 223. 212 0.30th March 2006 The MHP-Guide Version: 1. This is due to the different picture format used by television. 102. 255 0. 255 - 0. 85. 255 139 30% 179 (*) - 0. 255 - 0. but in a different fashion. 170. 255 0. NOVICE LEVEL Page 130 of 215 .7 Differences between TV and computer screens Interactive TV draws from both worlds – computer and television. 85. This applies for both NTSC and PAL systems.7. 127. 153. PAL frames have a size of 720 by 576 Pixels which would equal a relation of 4:3. 127. not matching the TV screen aspect ratio of 4:3. 63. 159. Without proper conversion the prepared images on a computer system are being distorted on the TV screen. Table 12-1: Palette construction rules Figure 12-7: Opaque CLUT 12. which employs rectangular pixels instead of square ones. 31. 95. 127.0 Transparency Alpha Additional Grey Levels (R=G=B) Red Green Blue Number of colors 0% 255 42. 63. 191.

0 Figure 12-8: Comparison of pixel aspect ratios Here are some examples on what happens when a computer image is displayed on TV screens without prior conversion. Computer screen (Original) PAL 4:3 NTSC 4:3 PAL 16:9 Page 131 of 215 .30th March 2006 The MHP-Guide Version: 1.

46. 16:9 in square pixels would be 1024 x 576.067:1. The 702 x 576 image is stretched to this aspect ratio. the additional 18 pixels can be seen at the edges as black vertical stripes. 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. we have to divide 1. To have 720 horizontal rectangular pixels covering the same width as the square ones.2 Loss of sharpness The following images show the loss of sharpness due to pixel aspect ratio conversion.067. Or vice versa. still this is a fact screen designers must be aware of. but it still is an approximation. Computer screen Page 132 of 215 . This equals to the amount that a square pixel gets stretched horizontally on a TV screen. True digital equipment records full 720x576 pixel images. 12. A digital horizontal line has 720 pixels. Thus the pixel aspect ratio on the TV screen would be 1.95. To compensate this stretching. Luckily the viewing distance with TV sets is often large enough so that the human eye cannot tell the difference.067 times wider than the square pixels.914 for preparing images for TV screens. The result is close. When converting an analogue PAL video to PAL D1.7.95: A 4:3 aspect ratio image would equal 768x576 square pixels. they have to be 768/720 = 1.1:3.0 12. to prepare computer images for 16:9 TV they have to be horizontally squeezed by 702 / 1024 = 0.094 for scaling TV images for computer editing (in case a correct aspect ratio on the computer is needed).69. NOVICE LEVEL EXPERT LEVEL 12. This is why the scaling should always be the last step of image preparation.30th March 2006 The MHP-Guide Version: 1. This results in a scale factor of 1024 / 702 = 1.7.1 Scaling for PAL 16:9 PAL 16:9 is calculated likewise. an analogue line has only 702. The TV screen aspect ratio of 4:3 holds true only for 702x576 pixels.1.1 Calculation (PAL) EXPERT LEVEL The widespread approach to convert computer images for interactive TV is to squeeze the image by a factor of roughly 0.7. equaling a scaling by the factor 0. We assume that the image has the same vertical resolution and a content image aspect ratio on all screens. Undoubtedly there is a loss of picture sharpness because of this procedure. Vice versa we have to use a factor of 768/702 = 1. which equals a screen aspect ratio of about 4. So the final horizontal scaling factor is 702/768 = 0.

7. 12.3 Calculation (NTSC) Calculations for NTSC are a little bit different. The format of a digital NTSC D1 frame is 720 x 486.1 % 101. so they have to be stretched by 711/648 = 1. Any image is considered as being in the sRGB color space (the internet standard) and correctly converted into the TV´s color space. Source Computer Screen 1:1 Computer Screen 1:1 Computer Screen 1:1 Computer Screen 1:1 PAL 4:3 PAL 16:9 NTSC 4:3 PAL 4:3 Target PAL 4:3 PAL 16:9 NTSC 4:3 NTSC 4:3 Computer 1:1 Computer 1:1 Computer 1:1 NTSC 4:3 Horizontal 91. resulting in a pixel width of 648/711 = 0.7. We now know that square pixels will shrink on an NTSC TV Screen.30th March 2006 The MHP-Guide Version: 1. the format would be 648 x 486.911.8 Color conversion Color conversion is done automatically by MHP terminals.3 % Vertical 100 % 100 % 100 % 91. but the active area in 4:3 aspect ratio is 711 x 486 in size.4 Overview of scale factors EXPERT LEVEL 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.4 % 12.1 % 100 % 100 % 100 % 84.4 % 69 % 109.0 PAL 4:3 screen PAL 16:9 screen 12. With square pixels.4 % 146 % 91.097.7 % 100 % 109. The image’s color palette Page 133 of 215 .

The only solution to display near true color images on all devices is to use MPEG-2 video drips. 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. This may still be acceptable when the aim is to support also more advanced terminals. but a range from 12 to 238. so the automatic conversion has to be turned off.0 gets mapped onto the minimum color set as described in the MHP standard. Whether the receiver supports double buffering can be found out with the following code lines at run time: //Creating of a standard HScene. Another picture can be rendered in the background and held up for displaying next time. However. Quite often a mere nearest color match will result in a color that has a close luminance value. Otherwise the image will again lose contrast. Note that most tools do this conversion by default. An MHP compliant color palette can be either downloaded or assembled by hand. This effect is being caused if the graphic is displayed and will be written at the same time. but there is an emphasis on greenish colors. This reduction also means a slight but inevitable loss of contrast in the image. Those colors are not evenly spread over the full color spectrum. g and b values. but a totally different tone. This can be done with appropriate MPEG-2 encoding software and some image manipulation programs. This technique is used to avoid a flickering and a distorting effect on screens. Some boxes may implement full true-color support. The Color Lookup Table (CLUT) for the minimum color support contains 139 opaque colors. the ready picture as a whole is represented in the foreground (frame buffer). MPEG-2 does not use the whole 256 values a byte offers in order to code the r.30th March 2006 The MHP-Guide Version: 1. But if the requirement is to play safe on all terminals. It is important to make sure that the encoder matches the RGB black value of 0 to 12 in the MPEG-2 color space.isDoubleBuffered(). whereas skin colors may be very far from the original tone after conversion. likewise the 256 shall be mapped to 238 and all values in between accordingly. Good photo editing tools generally allow for better conversion than terminal built-in solutions. Through this. while others perform a dithering or just a nearest color match. Some receivers support double buffering by default. 48 semi-transparent colors and one fully transparent color. Page 134 of 215 . the color conversion should be part of the production process already.getInstance(). //Is the receiver supporting double buffering? hScene. the result varies greatly between terminals by different manufacturers.getDefaultHScene(). HScene hScene = HSceneFactory. Especially the latter is very susceptible to color mismatch. Original red values are often mapped on grey values that spoil the image. the picture of an animation can be rendered in the background which is at first invisible (back buffer). Thus plants can be displayed quite authentically. Those are images that are converted to I-frames. whereas red colors are weakly represented. As soon as the picture is requested. 12.9 Double buffering Double Buffer means that the screen storage of a graphics card is twice available.

The font format is called portable resource format (pfr). One innovation was that the format could be used to display any type of fonts in a web browser without using images. This enables application developers to upload and use own fonts on the MHP device. The font is called Tiresias Screenfont (see http://www.10.null). Currently it seems to be nearly impossible to get any tool dealing with the portable resource format. bufferGraphics. e.g. This is now over 10 years ago. To keep the font in a compressed format the MHP member group decided to use the portable font resource format. It is especially designed for the usage on television.x. HecMac disappeared from the market and Bitstream doesn’t provide their web-fonts tools anymore. Because of its portability the format got also famous in the Java community.0 If the receiver does not support double buffering.0. No other fonts are supported by default.getSize().getGraphics(). However.height).30th March 2006 The MHP-Guide Version: 1.org). bufferGraphics = bufferImage.width.0. The format provides dynamic usage. g.drawImage(image. 12. Page 135 of 215 . bufferDimension.tiresias.10 Fonts The MHP specification defines one common font for all MHP devices. Bitstream provided a web-font toolset to create and save fonts in their new format.this). It began to get very popular. A very compact rasterizer makes the system portable. //Rendering of the image in the back buffer. which creates a double buffering software solution: public void paint(Graphics g){ bufferDimension = this. } 12.y.1 Generating fonts In spring 1994 Bitstream announced a new font rendering system called “truedoc”. // Showing the image which was already created in the back buffer. Additional font converter.drawImage(bufferImage. During the development of the MHP standard truedoc seems to be the appropriate system for MHP terminals. This system records font shapes and stored them in a much more compressed format. it is possible to try the following resolution method. so the only possibility is to retrieve completed fonts directly at Bitstream. Today the hype is over. only small number is offered for free. bufferImage = createImage(bufferDimension. Soon further companies like HexMac offered tools to edit and create fonts in the new format too. from the font format “true type” to “truedoc” were available.

Just take a look at an example. The index file has to be placed in the root directory of the application (signaled in the regarding application information table). For the PFR format used in the MHP specification. The possible values are "PLAIN".g. <style>: The style elements contain the names of the styles of the font that are contained in this 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. "ITALIC" and "BOLD_ITALIC". PFR0 (Portable Font Resource version 0) is defined as in DAVIC 1.dvb. As this is a relative path.) that is broadcast within a transport stream. This is relative to the directory containing the font index file. It provides the mapping between a font face name and the file containing the font data. The file is called dvb. The XML DTD defines the file syntax.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 applications. Fonts shall be saved in the base directory. Therefore you have to include the fonts (stored in the truedoc format) and a font index file in the object carousel. it shall not begin with a "/" character.4. Therefore the specification of the portable resource format version 1. It is very easy to generate a font index for signaling own fonts. "Helvetica") <fontformat>: The file format of the font. The separator character for directories is "/".1p9 as the coding format for fonts. etc.10. Receivers are only required to provide support for the outline version of the font.in the following tag all fonts have to be declared.0"?> <!DOCTYPE fontdirectory PUBLIC "-//DVB//DTD "http://www.30th March 2006 The MHP-Guide Version: 1.2 Generating the font index file As mentioned it is possible to upload and use own fonts on an MHP terminal. In the context of MHP DSM-CC object carousels are used 12. this shall be "PFR". The index file includes the description of the font like font name or location of the font file.--> <fontdirectory> <font> Page 136 of 215 .fontindex. <?xml version="1. When different styles of the font are contained in separate files. The XML index file contains a loop of all external fonts broadcast with the application.0 If you want to create fonts by yourself. "BOLD". Each font is defined by the following tags: <name>: Contains the font face name of the font (e. you have to develop your own font creator or converter first. There is one style element included per style contained in the indicated font file. <filename>: Relative path to the font file.dtd"> Font Directory 1.0//EN" <!-. media files. these are included in the directory as separate font entities with the same name but different style and filename..org/mhp/dtd/fontdirectory-1-0.

The fonts. saved in the portable font resource format.0 <name>OzHandicraft BT</name> <fontformat>PFR</fontformat> <filename>org/mhpkdb/ui/OzHandicraft.10. It is only possible to import fonts if the font index file is free of errors. The application can now import this font with the FontFactory. have to be placed in the directory given in the filename tag of the index file.fontindex was found and all entries were valid a FontFactory was made above. /* when the file dvb.fontindex (mandatory filename) with the information about the additional fonts by creating a FontFactory */ FontFactory fontbox. The method createFont returns the font object of the requested font.pfr</filename> 12. First of all you have to put the font index file in the root directory of the applications.pfr</filename> <style>PLAIN</style> </font> <font> <name>Zurich BT</name> <fontformat>PFR</fontformat> <filename>org/mhpkdb/ui/Zurich.30th March 2006 The MHP-Guide Version: 1. fontbox = new FontFactory(). try { /* load the file dvb.3 Using external fonts Using external fonts in a MHP application is quite simple. Page 137 of 215 . 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. This could be used in the familiar way.

a PSTN modem is integrated in most of the MHP terminals.1 Introduction The usage of the return channel allows improvement of the user experience. usually several Mbit/s PSTN (Public Switched Telephone Network) International telephone system based on copper wires carrying analogue voice data. xDSL or Ethernet. an MHP terminal and/or applications might have to implement different functionality to cope with the requirements set by the users. Ethernet is also used when a high speed Internet connection is available. With MHP 1.1 the return channel can also be used to download applications.2 Types of return channels There are basically two types of return channels: always on and connection based. These technologies provide always-on connections and the user needs to have a subscription to the service from the ISP. Basic properties (type and speed) of the channel are modeled in this class. Each interface to a return channel is instantiated by an instance of the class RCInterface. Another option is the use of UMTS technology. which is in use comparable with ADSL. or directly to the cable or xDSL modem. examples include cable modem. UMTS (Universal Mobile Telecommunications System) It is one of the thirdgeneration (3G) mobile phone technologies ADSL (Asymmetric Digital Subscriber Line) Enables faster data transmission over copper telephone lines than a PSTN modem.0 13 Return Channel Return Channel 13. For the moment. GPRS (General Packet Radio Service): Mobile data service available to users of GSM mobile phones. IP (Internet Protocol) The computer networking protocol used on the Internet 13.2.1 Always-on return channels Always-on return channels are that type of return channels for which the IPconnection is always present. for voting applications or to control Video On Demand servers. An Ethernet return channel will typically be used in combination with xDSL or cable modem. Depending on the type of return channel. Access to the return channel is managed by the RCInterfaceManager class. Using satellite technology as return channel is also a possibility. this can be used e.g. 13. the customer will connect the Ethernet port either using a hub or switch.3 for further information on this topic.4. Page 138 of 215 . DVB-RCS (DVB-Return channel satellite) offers a standardized solution however its use is not common yet. Typically these types of return channels provide a high bandwidth pipe to the Internet and as such can also be potentially used to stream audio/video. The mobile interaction channels are less common. NOVICE LEVEL GSM (Global System for Mobile Communications) Most popular standard for mobile phones in the world. please consult chapter 9. which is in use comparable with a PSTN modem and a GPRS connection. 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. These always-on return channels do not use a dial up modem. which also provides an always-on connection.30th March 2006 The MHP-Guide Version: 1. The main technologies in this area are the GSM modem. Note of course that the speed depends also on the type of subscription with the ISP that is providing the service.

13. Only one application can control the dial up modem at a specific time. retransmission if needed) Issue 29 “UDP communication” in the MHP knowledgebase provides example code on how to use UDP for sending and receiving data. If there is no activity on the return channel for a configurable amount of time. NOVICE LEVEL ISDN (Integrated Services Digital Network) It is a type of circuit switched telephone network system. the connection should be disconnected automatically.0 13.3 Protocol overview MHP defines the level of support for different IP-protocols. If reliability is important for the application. in case of packet loss). GSM. resulting in better quality and higher speeds than available with analogue systems. It can also be used directly for data transmission. UDP (User Datagram Protocol) It is one of the core protocols of the Internet protocol suite. which are mainly adequate for example on multimedia data.1 UDP MHP provides the usage of UDP based communication via the return channel. The communication established is bi-directional where information can be sent and received. Issue 6 “How to use a connection based and/or permanently connected return channel?” in the MHP knowledgebase contains a fully worked out example (solution 75) that illustrates the different mechanisms that can be used to establish a connection and how to send data to a backend server using MHP. home control application and service discovery. TCP (Transmission Control Protocol) It is one of the core protocols of the Internet protocol suite.g. DECT and other interactive channel options.3 Detailed example There are many possible network configurations covering the return channel technologies such as PSTN.g. UDP does not provide the reliability and ordering guarantees 13.3. over which they can exchange data. cable. TCP Page 139 of 215 . Applications need to have the proper right before a connection-based return channel can be used. SSL etc. (e. The protocol guarantees reliable and in-order delivery of sender to receiver data. The level of support depends on the profile and standard version. UDP in itself does not have support for a reliable connection. applications on networked hosts can create connections to one another. this is to ensure only “trusty” applications make call attempt. The communication established is bi-directional where information can be sent and received. this enables TCP based communications with external TCP servers. commonly used for domestic or corporate purposes 13. Using TCP. ISDN. this enables UDP based communications with external UDP servers. If an application tries to establish a connection while another application already uses one.2 TCP MHP provides the usage of TCP based communication via the return channel. This capability enables connection-oriented communication used by most of network application protocols such as HTTP. the application has to take care of this.2. designed to allow digital transmission of voice and data over ordinary telephone copper wires. A typical example is a dial-up connection. the priority level of the application defines which application will get the control. DECT (Digital Enhanced Cordless Telecommunications) ETSI standard for digital portable phones.30th March 2006 The MHP-Guide Version: 1.3. (E.2 Connection-based return channels Connection-based return channels are that type of return channel for which a connection needs to be established before the actual data-transfer can happen. This capability enables stateless connection oriented communication. 13.2.

3. are cryptographic protocols which provide secure communications on the Internet. It can also be used to implement specific features (e.5 Protocol support In the MHP standard it is pointed out that the protocols defined provide support for IP over the interaction channel. 13.mhpkdb. its successor. but is not used so often and not mandatory on an MHP terminal.0 HTTP (Hypertext Transfer Protocol) It is the primary method used to transfer or convey information on the World Wide Web.org) to IP addresses (as 194. TCP is the main protocol that is used for transferring large chunks of data and is also used by other protocols like HTTP. The other way around is also possible. such as the Internet. The Enhanced broadcast profile does not provide any support for the IP protocols.3 HTTP MHP provides the usage of the Hypertext Transfer Protocol (HTTP) via the return channel.230. 13. In order to be able to use DNS in an MHP environment a return channel should be available and provide access to a DNS server.4 DNS DNS (Domain Name System) is used to resolve Internet names (as www. PPP (Point to Point Protocol) Commonly used to establish a direct connection between two nodes.g.3. provides for in-sequence reliable delivery. This facilitates the user to get information from the World Wide Web and to send information to an HTTP Server. Issue 24 “TCP connection” in the MHP knowledgebase provides example code on how to use TCP for sending and receiving data. 13.30th March 2006 The MHP-Guide Version: 1. SSL (Secure Sockets Layer) SSL and Transport Layer Security (TLS). Page 140 of 215 . The IP address of the DNS server can be configured automatically into an MHP terminal using DHCP or during PPP connection set-up. The tables below provide an overview of the support by the Interactive Broadcast Profile and Internet Access Profile.122). Manual configuration using the build in menu system is also possible on most of the MHP terminals. Using Internet names instead of IP addresses allows for more flexibility and readability of server-identifiers. Issue 64 “Possible use of HTTP” in the MHP-knowledgebase discusses how to establish an HTTP connection. DNS (Domain Name System) It is a system that stores information associated with domain names in a distributed database on networks.3. Issue 3 “DNS Look-Up” in the MHP Knowledgebase shows an example of how to use DNS lookup on an MHP terminal. The communication chain is bi-directional. depends on the MHP version and the supported profiles.172. Which protocols that are supported. load balancing).

1. a web browser as well as a Usenet client. so that a MHP application can use the email client to Page 141 of 215 .1 terminal must at least implement and provide an email client.4 MHP as client for Internet services & Integration of contents received via return channel MHP 1. that such MHP applications can be huge.0. By developing an own application.1 DNS Table 13-1: MHP 1. It is possible to develop MHP applications.x Protocol Support Protocol O = optional M = mandatory Interactive Broadcast Profile M M O M Internet Access Profile M M O M TCP UDP HTTP 1. Such an MHP 1.1 HTTP (“MHP-HTTP 1. all Internet services based on IP can be brought to a MHP terminal.0 Protocol O = optional M = mandatory Interactive Broadcast profile M M O M TCP UDP HTTP 1.1 Protocol support 13. but it has to be remembered.1 with Internet Access Profile 2 there are Internet services defined that must be supported directly by a resident application of the MHP terminal.30th March 2006 The MHP-Guide Version: 1. that use the return channel for sending and/or receiving data from the Internet by IP and display the content by an own application.0”) DNS HTTPS M M M M Table 13-2: MHP 1.0 does not define any Internet services that must be supported by the MHP terminal itself. For MHP terminals implementing MHP 1. These clients must be also accessible and controllable by MHP applications.

0 create and send emails or embed the web browser to display HTML content.5 Security on the Return Channel The use of the return channel of a MHP terminal is restricted. the MHP terminal will authenticate the above-mentioned signature and permissions and then allow a connection to be established to any server. The syntax of the return channel permission also provides the phone number that an application may try to dial. When there are no TLS certificates sent with the application. After the MHP application is started.30th March 2006 The MHP-Guide Version: 1. The certificate files shall be authenticated members of the same authenticated sub-tree as the application. One or several TLS root certificates can be optionally broadcast along with the application. The return channel security in MHP goes one step further and requires user interaction whenever an application – preconditioned it is properly signed and equipped with permissions – builds up a return channel connection: The terminal then has to ask the user to confirm or deny dialing a certain phone number. Before a TLS connection can be established. As soon as the data has been received by the MHP terminal. To display such content. An MHP application can establish a TLS session.0 Return Channel Security Page 142 of 215 . Possible risks are that an application deliberately or due to bugs in the code transmits private data unauthorized to a third party or dials up a premium rate telephone number leading to high cost for the user. Unsigned applications may not use the return channel at all.3]. The description of the return channel security in this section builds upon the general security methods of MHP as treated in the Chapter 11. the application can render the data and display it on the TV screen. the MHP terminal has to ensure that the received certificate list contains at least one trusted certificate. it can connect the return channel and receive data from a server. In such a scenario. It is possible to integrate content received from a server via the return channel. which provides secure communications on the Internet. the application knows the server to connect to and can check that a given certificate chain contains the expected certificate that it knows and trusts. Signed applications also may not access the return channel (by default) unless otherwise specified by the permission request file. The successor of SSL 3. General purpose security for the return channel is provided by the Transport Layer Security (TLS) protocol as described in [RFC 2246]. an MHP application must be developed and broadcasted to the MHP terminal.0. This can be used for sensitive transactions. For more information on return channel security confer to chapter 11 of [MHP 1. 13. TLS (Transport Layer Security) A cryptographic protocol.

The DSM-CC carousel is often a box with a DVB-ASI output and some form of file and/or network based input interface. 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. There may be a matrix switch. The DSM-CC carousel is the most service critical part of the system and in most cases it would be recommended to have some form of redundancy of this module. Some vendors provide a playout server separately from the DSM-CC carousel. some are required. The figure show common functions that may be included.1 Playout systems The Playout system is a vital part of any MHP enabled broadcasting network. Without the DSM-CC carousel all non-stored MHP application will cease to function correctly. A very comprehensive list can be found in the MHP-KDB (issue 74 “What DSMCC Playout Systems are available?”.0 14 Equipment 14. this is dependant on the redundancy scheme used. Page 143 of 215 .30th March 2006 The MHP-Guide Version: 1. This server may provide additional functionality and interfaces in addition to the pure DSM-CC functionality provided by the DSM-CC carousel modules. distribution amplifier or failover switch between the output of the DSM-CC carousel and the multiplexer. The DVB-ASI is usually connected to a multiplexer to be multiplexed with other service content into the final transport stream. NOVICE LEVEL PSI Management Console Equipment Remote API MHP Playout Server DSM-CC Carousel Security Figure 14-1: Typical MHP playout server interfaces There are a multitude of different MHP Playout systems. It can be a hardware “black box” or an application running on a standard workstation architecture utilizing a DVB-ASI PCI card to generate the final DVB-ASI signal. solution “Report on available DSMCC playout systems”). The figure above is an attempt to show a typical MHP playout without being vendor specific.

0 The role of the playout server will typically be to integrate the other modules of the system. It could also ensure that the security subsystem will sign and resign applications whenever needed. and the options are more limited in this area. Those terminals are designed for reception and presentation of multimedia content (audio/video. but also PCs and IDTVs. The server may have logic to create the required AIT tables and ensure that the PSI subsystem is updated whenever the AIT changes. This sub-section introduces the Hardware (HW) and Software (SW) architectures of the MHP terminals. The security module is responsible for signing applications and could also include functionality for certificate management. and presents each component. This is an area that seems to be currently less mature than the core DSM-CC playout systems. All MHP compliant terminals have this MHP logo: EXPERT LEVEL STB (Set-top box) MHP Terminal to be connected to a TV set. etc. 14. A remote API (typically Java based) to control all relevant functions is also fairly common. Indeed we can find STBs. To be MHP compliant the terminals have to pass the MHP test suite provided by DVB group.) and additionally to enable interactivity (user can interact with an interactive applications).2 MHP Terminal architecture MHP terminal means all devices that fulfill the requirements of the MHP specification. Most playouts have a configuration and management GUI that is used to operate and supervise the playout.30th March 2006 The MHP-Guide Version: 1. subtitles. Figure 14-2: The MHP Logo Page 144 of 215 .

g. video and other information that relates to the selected TV program. The <Demux> filters audio. Page 145 of 215 . PAL/RGB. MHP Terminals may also include a <Return Channel> access allowing to send and to receive interactive data. the <Demux> also decrypts the content according to special keys provided by the <Conditional Access Unit> (e. In general. digital TV information in the MPEG-2 Transport Stream may be encrypted to prevent customers who have not paid for a particular service from being able to view it. HDMI 720p50 etc). The information in the selected Radio Frequency (RF) channel is then demodulated to produce a MPEG-2 Transport Stream (TS) containing the audio. SmartCard unit. Graphical content provided by the <Graphic Processor> and Audio/Video content are then mixed and encoded in a specific displayable signal (e. The signal is digitally modulated using Quadrature Phase Shift Key (QPSK) for satellite applications. common interface module). PAL/CVBS. while cable ones generally have a cable modem. The <A/V Processor> then decompresses the audio and video information and synchronizes them correctly.30th March 2006 The MHP-Guide Version: 1. Conventional telecommunications modems are typically used in satellite and terrestrial MHP Terminals.0 Figure 14-3 below represents an abstract view of the MHP Terminal hardware architecture: EXPERT LEVEL Figure 14-3: MHP terminal hardware architecture The MHP Terminal selects the appropriate broadcast TV information by tuning to one of many input channels through the <TS selector>. video and data contents in the MPEG-2 TS according to the users selected service. The <Remote Control> allows end users to control the behavior of the MHP Terminal and interact with MHP applications. Quadrature Amplitude Modulation (QAM) for cable and Orthogonal Frequency Division Multiplexing (OFDM) for terrestrial. When the MPEG2 TS is encrypted.g.

Page 146 of 215 . 8 8-16 RAM (MB) 8-16 16-32 >32 Other Requirements Return Channel Return Channel Table 14-1: Hardware resource requirements The MHP specifications [MHPKDB-1] define a minimum hardware requirement for each version 1. INFORMATION Profile Used Enhanced Broadcast Interactive Broadcast Internet Access Processor (Mips) 100-150 100-150 >150 Flash / ROM (MB) 4-8 ca.1.2. In practice each manufacturer has a specific implementation so that the value presented above gives a range instead of precise values. performs specific data manipulation functions and provide both volatile and non-volatile memory access. 14. It generally uses a real-time operating system (RTOS) on top of a hardware abstraction layer for the management of the resources and processes of the MHP Terminal.0 The <CPU/RAM/ROM> controls the whole operation.0 / 1.30th March 2006 The MHP-Guide Version: 1.1 Hardware requirements This table below represents in function of each profile an approximation of the hardware resource requirement.

are required.0 14.2 Conceptual view for Software architecture EXPERT LEVEL Figure 14-4: MHP terminal software architecture In order to build the software architecture of a MHP Terminal. Firstly. this software component is generally coming from specific JVM vendors. The biggest software part of the MHP terminal. includes the <FW Loader>.e. the <Driver Layer> and the <Operating System>. providing access to low level resources of the MHP terminal.2. the <JVM>.3 upgrade. wherewith the MHP Terminal software can be upgraded later in the field.0. are generally coming from hardware vendors and/or drivers suppliers. The <Middleware Implementation> provides several digital TV services allowing to support native applications (<Native Applications>) like EPGs (i. Although the <JVM> (i. often coming from a specific middleware vendor.2 compliant terminals with MHP 1. Electronic Program Guide) and the MHP specific middleware (<MHP Implementation>). Java Virtual Machine) is integrated with the <MHP Implementation> and the <Middleware Implementation>.30th March 2006 The MHP-Guide Version: 1. the <Native Applications> and the <Porting API>. the <Hardware Abstraction Layer (HAL)>. it can be used to upgrade MHP 1. Page 147 of 215 . The <FW Loader> is a crucial part of the MHP Terminal.e. the <MHP Implementation>. the <Middleware Implementation>. In particular. In most cases MHP terminals include the CAS/DRM vendor specific component <CAS/DRM> allowing to view non Free-To-Air content. possibly coming from different software suppliers. several software components.0.

org) and a list of available MHP terminals on the KDB web site (http://www. resource monitoring.1 IRT MHP Application analyzer Scope The MHP Application Analyzer is a PC-based tool for performing compliance checks and functional tests on MHP applications. It brings broadcasters and software developers into the position of performing indepth analysis of their MHP applications.3 Test equipment 14.mhp. INFORMATION On Air Analysis: This provided the possibility to examine MHP Application broadcast on a DVB network with regard to DVB SI Data and signaling. The analysis comprises a manual functional check. compliance check. a detailed result protocol is provided that enables to locate bugs or critical areas in the application. methods.mhpkdb.) Compliance with Security requirements Evaluation of used resources Dynamic Checker: The Dynamic Checker analyzes the behavior of the MHP application under runtime conditions. the Application Analyzer executes the application on the MHP without intervention. 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.30th March 2006 The MHP-Guide Version: 1. stress test. This part provides an abstraction of low-level hardware dependent software parts and allows the <Middleware Implementation> and others upper software components to be portable. This function offers comfortable configuration and handling options. <MHP Applications> represent all MHP applications software code that can be downloaded and executed on the MHP Terminal. The Static Checker performs analysis of the java code with regard to Page 148 of 215 . 14. You can find more details on the SW and HW requirements on the DVBMHP web site (http://www.0 Middleware vendors define the <Porting API>. profiling and others. 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. etc.3.org). After running the different Analyzing options. These applications are generally designed by specific MHP Application suppliers or directly by broadcast content providers. Functionality The Application Analyzer provides four different test analysis and test functions: Configure and Run: In this mode.

the static analyzer parses the bytecode and writes the structure of the application (e. only DVB-S will be available) Receivers: commercial STBs.3.0 general errors as well as compliance checks against a particular MHP Standard version. 14. such as downlink and uplink bit rates for xDSL and Cable networks. Functionality Description Once users have uploaded their application and configured the MHP playout via the web. It offers MHP application developers reports of the performance of their applications in the return channel. 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.irt. the user can select the measure points and the parameters to be reported after test execution. methods.jar-archives to the MHP-KDB server.g. PC based clients. 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. xDSL. including graphics and statistics of the application performance in terms of network aspects. Return Channel: PSTN. It will also be possible to configure in detail some network parameters. bandwidth usage. and 1. among others. After uploading their bytecode in form of .de and choose “products”. Once started. Cable or other access networks that may be implemented or emulated. After defining the test scenario. 1.0. Eligible measures will be.2 Return Channel analysis tool Scope The Return Channel Analysis Tool is distributed software integrated into ITA’s Testing Environment. The user is then provided with a final result protocol.30th March 2006 The MHP-Guide Version: 1. warnings for unused fields/methods and MHP compliance errors. fields) in a temporary file.1). Details about handling and operation of the Static Checker are given in the “IRT-Test Centre User Guide”.0. During test execution. the tool collects the requested information at the selected points of the return channel segment using SNMP. The full Version of the MHP Application Analyzer can be purchased at Institut für Rundfunktechnik. The return channel reports along with other useful information from the testing environment (such as STB debug output) and a stream of the video Page 149 of 215 INFORMATION . the static analyzer analyses the temporary file for bytecode errors. users can choose between different MHP standard versions (currently MHP 1.3. classes.2. sent and lost packets. -T or -C (in the first implementation. After parsing the application. bottlenecks or connection failures. process this information and report a detailed analysis. For further information please visit their website at http://www. so that the performance of MHP application in such situations can be evaluated.

The transport stream should be compliant with the DVB–S or DVB-T standard. In the case of DSM-CC carousel he will get a tree that shows all directories and files including in the carousel. etc.3. Testing if signaled class is available. The analyzer is written in Java to provide a platform independent tool. 14. name. 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. Show the content of the DSM-CC carousels.30th March 2006 The MHP-Guide Version: 1. 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. To obtain return channel reports. he can select an Application Information Table or a DSM-CC carousel from the list and request the content. Support of DVB-C is not guaranteed.3 AIT / DSM-CC Analyzer and Compliance Tool Scope Panasonic provides an AIT and DSM-CC analyzer called Stream-Analyzer. The Stream-Analyzer extracts certain streams and tables of a transport stream and displays them in a tree on screen. The analyzer is able to: Show the content of the tables PAT. start modus. Check of the section layer.0 output of the selected MHP receiver is made available for the user via the web. Among other things analyzing of an AIT will include the following: Testing if the signaled DSM-CC carousel is available. 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. Save the content of tables and DSM-CC carousels. Check whether there are any inconsistencies in the signaling or in the DSM-CC carousels. Check if only one class is auto start. Functionality After program start the user can decide which transport stream he wants to analyze. In the case of AIT he will get a table that lists all information of the signaled applications like path. A DSM-CC carousel will be analyzed with respect to: Availability of the gateway and all modules Consistency of the directory structure Other aspects. Check if a class is auto start. users must run their interactive applications in this test centre. PMT and AIT. Page 150 of 215 INFORMATION .

initialize and start an Xlet and measures the time that the receiver needs to execute these tasks. Availability The tool is accessible from the tools section of the MHP-KDB Portal.4 Loading Time Analyzer Scope This tool from tComLabs allows measuring the time to start an MHP application. The Xlet is in fact a special application launcher. written for the MHP-KDB code framework.3. The required class files have to be downloaded and put in an object carousel. It asks the application manager to load. Availability The Stream-Analyzer is available for download in the tools-section of the MHP-KDB. is used to report the test results.0 Both analyzing an AIT and analyzing a DSM-CC carousel results in a test report stored in a HTML file and shown on the screen. Functionality An Xlet is written to do these measurements. 14.30th March 2006 The MHP-Guide Version: 1. The logger. The user can select again and again AITs or DSM-CC carousels to analyze or to show them until he exits the application. For detailed information please refer to the user manual that is provided with the tool. The start time is the time between the moment the application is asked to run and the moment the application is in the active state. INFORMATION Page 151 of 215 .

In particular the MHP programmer must take into account legibility. The Usability and Style Guide in the KDB provides more comprehensive information about these topics. and error prevention when working with an interactive service. layout and navigational aspects as well as the usage of colors in a well-advised and moderate way. efficiency of use. Page 152 of 215 . A crucial one is that these services were tested with regard to their usability. while iTV services require some action from the user. 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. while interactive applications are regarded as additional services.30th March 2006 The MHP-Guide Version: 1. Aspect ratios are dealt with in detail in chapter 12 of this guide. The broad acceptance of interactive TV services depends on a variety of factors. Usability Usability “Usability is a measure of the quality of the user experience in interacting with something. The spectator is not used to interact with his TV set except for switching TV channels and using the EPG and teletext.” (Jakob Nielsen) Usability is to ensure user-friendliness and –satisfaction. the developer has to consider that the viewer still focuses on TV and that television is a medium for entertainment. Watching TV is a passive activity.0 15 Usability Usability deals with the relationship between services and tools and their users. When creating new interactive applications.

It defines the different functional areas with respect to their position. size and conciseness as well as the relationship of the areas to each other.0 15. Moreover. Figure 15-1: Typical Screen Structure of an MHP Application Figure 15-2: Basic Formal Structure of a Screen Surface Page 153 of 215 . it defines the arrangement and design of the single functional areas themselves. Thus the layout is specifically based on the laws of design.1 Layout and Design The basic formal structure of a screen surface is defined by the layout. The layout’s function is to provide a visual system making it easier for the user to understand the application and to be able to find his way through it.30th March 2006 The MHP-Guide Version: 1.

the whole page is entirely disruptive and the visitor will sooner or later give up finding his way through the site [Noss 2003]. process and learn. This behavior is stronger with text heavy interactive applications than with conventional broadcast because reading habits come into play. quarter-screen video and photographs can affect the viewer’s interpretation of screen elements. to misbalance him and to gain more attention to some specific pages. of course.0 15. Lengthy text content next to video will be ignored. we know that the upper left and lower right areas of the screen are privileged perfect for titles and logos. 15. Static information such as time and date is least obtrusive in the dead areas of the page. be an alternative layout in some specific areas or a consciously created interruption of the layout at specific pages. 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. while the upper right and lower left are dead spaces. Because viewers exhibit the same eye movements in general. video and text content will be perceived separately. Interruptions of the individual layout scheme should be consciously used as a stylistic device in order to irritate the user. in which objects and images are unlikely to be noticed.1. 15. Combining text.1. The fewer elements the user has to observe. 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. The goal should always be to use as few elements as possible and to develop a simple layout. the better.30th March 2006 The MHP-Guide Version: 1.1 As much as necessary.2 Consistency The developed layout scheme should be applied to all the pages of an application or the bouquet if possible. If this is not the case. as little as possible The extent of the functional area and the display area to be displayed by the layout depends on the complexity of the application. Page 154 of 215 . This is the only way the user can find his way quickly and easily. Titles and logos should go in the upper left corner for maximum impact. There can.3 Screen Layout Figure 15-3: Layout of a TV Screen Research indicates that viewers scan television screens from the upper left corner down to the lower right.1. In general.

The most important rule to remember is consistency. the video should be on the left hand side instead.3. 2002]. such as crumb trails.0 Universal navigational tools should be positioned at the bottom of the page where the eye finishes reading [BBC. For quarter screen enhancements to video programming. 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. 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. Use the top for navigational information about the current page content. stories should be positioned in the left side. Page 155 of 215 . where the eye finishes reading and looks for more Every service is different and presents unique challenges and layout requirements. For text services. 15.1 Organize the Screen Figure 15-4: Screen Organization The left hand side is always privileged by European reading viewers.30th March 2006 The MHP-Guide Version: 1.1.

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. every navigational interface must aspire to several key objectives: Tell the viewer where they are. In an ideal world all viewers would have the same controls available to them and interfaces could develop a standardized visual language. 15. and not so good if it creates additional obstacles to the viewer [BBC 2002].0 15. and provide quick escape in the form of an exit route. The relationship is good if it supports the viewers’ goals and desires in using a service. To help the viewer. The layout and Page 156 of 215 .and often within .2. how they got there.2 Navigation Good navigation means building a relationship between a visual interface and the tools a viewer uses.platforms. controls differ enormously between .1 Remote Control Units Figure 15-5: Remote Controls of MHP Terminals Viewers use remote control units (in some cases extensive keyboards) to make choices within interactive television services. 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. However. or nearinstant access to full screen video.30th March 2006 The MHP-Guide Version: 1.

1. For any applications that are available across several platforms. On analogue televisions.30th March 2006 The MHP-Guide Version: 1. but generally they can and should be used only as specified by the platform owners. Sometimes keys can be remapped to application-specific functions. generally available: Traditional television controls Number keys Arrow keys and a select key Color (Fastext) keys Additional platform specific controls. 15. 15. or keys can be missing entirely [BBC 2002]. but not on terrestrial Help: useful key that satellite viewers are accustomed to pressing for help text across all services Exit: a key that quits an application and returns the viewer to standard broadcast on terrestrial Page Up/Down: these keys scroll through content which is too long to fit on a single page standard on cable and with systems for viewing the web on TV Previous/Skip: these keys move from one item to another and can be used instead of the arrow keys available on cable and with systems for viewing the web on TV Page 157 of 215 . or for onscreen prompts. Common Examples are: Back Up (Back): can be hierarchical or historical (taking users up a level or back to the previous page). interfaces must be designed to take advantage of each.2. On digital platforms it launches a digital application which provides a similar but further customized service. user testing indicates that viewers look for controls within the screen interface. all of these functions should be available to the viewer as usual. the following keys can simplify the interface. Several keys exist on remote controls for both traditional and digital televisions. Several functional groups of keys are. Although some of these keys are useful.0 labeling of keys on the remote can vary. On digital televisions the Info key can be remapped to bring up relevant additional information [BBC 2002]. adjust the volume. Many standard television remotes have an Info key which brings up an on screen display. In some cases. Once an interactive application is launched. available on most platforms.2 Platform Specific Controls Several remote controls have useful features that are not universally available across all platforms. and turn the power off and on. These keys are not remapped to new functions within interactive applications. however.2. Teletext and other analogue text services.1. for applications that are specific to a particular platform and which have guaranteed access to these extra features. while ensuring all content is available to viewers on all platforms.1 Traditional Television Remote Controls Most set-top box remote controls incorporate keys to change television channel. Viewers may not realize that special keys on the remote can be used within an application [BBC 2002]. with slightly different uses. the text key provides access to Ceefax.

15.30th March 2006 The MHP-Guide Version: 1.2. 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).0 Full Keyboards: allow the user to enter text available on most platforms as an option. Input event VK_0 to VK_9 VK_UP VK_DOWN VK_LEFT Keys on the input device of the MHP terminal 10 number keys 4 arrow keys + VK_RIGHT VK_ENTER VK_TELETEXT VK_COLORED_KEY_0 VK_COLORED_KEY_1 VK_COLORED_KEY_2 VK_COLORED_KEY_3 Table 15-1: Mandatory keys in MHP 1 select key 1 key to access teletext 4 color keys Page 158 of 215 .2 Interaction Design Figure 15-6: Functions of a Remote Control The MHP specification defines a minimum set of input events.

30th March 2006 The MHP-Guide Version: 1.0

Accordingly the MHP environment offers three possible ways of interaction: by number keys [a] by four color keys [b] by four arrows keys and select keys [c] With the aid of color and number keys, the direct selection of functions can be performed. The navigation via arrow keys is suitable for the indirect selection of functions via menu lists as well as for the skipping between menus and paging. Be careful to apply as little as possible of the three methods on one screen at the same time [BBC 2002].

LEGIBILITY vs. READABILITY Legibility means that writing can easily be deciphered and read. Readability refers to the comprehensibility and the joy of reading of a text.

15.3 Legibility of Text
Text poses difficult challenges on television screens, as viewers are not accustomed to reading static blocks of text on screen and because the display quality of still images on television is poor [Noss 2003]. Careful attention also has to be paid to character shapes, to help distinguish similar letters (such as upper case, lower case and the numbers) and to help with the characters most commonly misread by the visually impaired (such as 6, 8 and 9). Several rules can improve legibility on a TV screen: Body text should generally not be smaller than 24 point The text should under no circumstances be smaller than 18 point Light text on a dark background is slightly easier to read on the TV screen Text on screen needs greater line spacing than in print A full screen of text should contain a rough maximum of 90 words A generally accepted practice is not to use more than three different fonts Be consistent in the use of fonts, e.g. use the same font for every headline, the same font for text blocks, etc.

15.3.1 Legibility Examples
Here is a collection of positive and negative legibility examples:

Page 159 of 215

30th March 2006 The MHP-Guide Version: 1.0

Figure 15-7: Legibility Example 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.

Figure 15-8: Legibility Example 2

Page 160 of 215

30th March 2006 The MHP-Guide Version: 1.0

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.

Figure 15-9: Legibility Example 3

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.

Page 161 of 215

30th March 2006 The MHP-Guide Version: 1.0

Figure 15-10: Legibility Example 4

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.

15.4 Recommendations for Using Colors
Use colors only as a supporting device for highlighting information and not as the only device for coding because correct color reproduction or color perception cannot always be guaranteed. Some people have problems distinguishing between colors. Use little color as to not burden the user with a visually overloaded surface on the one hand and to guarantee that the colors used are sufficiently distinguishable on the other. The more colors you use, the more information the user has to assimilate and the less valuable and concise the single colors become. Certain combinations of extreme colors should be strictly avoided. Television screens have a more limited overall gamut than computer monitors and a much higher gamma value, resulting in a high contrast, high saturation display. To achieve similar intensity of color, images should be toned down and simplified when taken from the computer to the television. Hot reds and oranges cause particularly bad distortion and pure whites and blacks should never be used. The strongest white for display on a television should be around 95 percent, or 240/240/240 in RGB terms. The darkest black conventionally used is 5 percent, or 16/16/16. Strong color changes along scan-lines cause a variety of distortions known as bleed or color shift. The change from one strong color to another can cause overlap-ping strips to appear, or a double exposure ghosting effect. With irregular shapes such as words Page 162 of 215

It is often argued that the user cannot tell what he wants. color shift can cause spots or glows around bright objects. Much of the risk that lies in launching a new service can be mitigated by using a user-centered design approach. Intricate patterns should be avoided as well. Invent a scenario 2. the final result is a good deal away from the original scenario.5 Usability Studies and User-Centered Design Successful services can sometimes be created by using usability rules of thumb and trying to anticipate the user’s behavior. With the use of appropriate questionnaires the user can give us hints: What he does not want in a service Which functionality he would add to the service Which desires he has with respect to mobile communication User-centered design is an iterative process.30th March 2006 The MHP-Guide Version: 1. In most cases. because the user needs were predicted wrongly. and movement diminishes the impact of all television display problems [SN HESS]. Figure 15-11: Examples of color combinations with poor legibility 15. because he does not know what is possible with the new technology. This holds true only partly.0 of text. which involves several cycles of conception and reworking of the service concept. Because these effects occur across the horizontal scan lines they are especially pronounced at the vertical boundaries of objects. The simplest way to incorporate user comments for every service launch is to perform a usability study on a full-grown prototype and improve the user interface accordingly. However user-centered design from scratch looks different: 1. Curves distort less than straight lines. But experience shows that users often do not accept what they are offered. which should be consequently modified or even replaced according to the user comments. It is important to incorporate the feedback as well as the creative potential of the later user as early as possible in the service design process. Have scenario commented by a user group Page 163 of 215 . Moiré distortion is common on television sets when regular patterns such as grids or dots are rotated away from true vertical.

as they will be. This means design must be iterative: There must be a cycle of design. when problems are found in user testing. intended users should actually use simulations and prototypes to carry out real work. Repeat step 8 and 9 if necessary 11. and their performance and reactions should be observed. and in part by studying the nature of the work expected to be accomplished. These comments are recorded. e. designers must understand who the users will be. Refine interface if necessary 14. Final service Launch This guideline is only an example to emphasize that the user has to be integrated in the process in every phase of the service development. repeated as often as necessary. Questionnaires and interviews Page 164 of 215 . Iterative Design Third. early in the development process. Empirical Measurement Second. they must be fixed. Implement service 12. Evaluate the prototype with a professional user group not involved in the project 7. Design a clickable prototype 6. and redesign.: Thinking aloud method A basic method of usability study where test users use a service prototype or implementation and comment everything they think and do aloud. all varying in effort and quality of the result. Repeat 12 and 13 if necessary 15.0 3.g. behavioral. This understanding is arrived at in part by directly studying their cognitive. and attitudinal characteristics.” There are various methods to perform user validations.30th March 2006 The MHP-Guide Version: 1. Repeat step 2 and three until a satisfying level of agreement is reached 5. recorded. Refine the prototype 8. Refine the prototype 10. Rewrite or replace scenario 4. Make usability study with target user group 9. test and measure. Test service under real life conditions with target user group 13. anthropometric. compiled and compared in order to find relevant weaknesses of the service. and analyzed. The key principles of User-Centered Design are listed by Gould and Lewis [Gould 1995]: Early Focus on Users and Tasks First.

It tracks eye movements and can reveal even short subconscious irritations that the test user would not remember or find worth mentioning. It is important to have some open questions in the end in order to get hints on hidden problem areas the editor of the questionnaire did not consider.immr.useit.org). Heuristic analysis This involves usability experts that examine services according to known usability problems and give recommendations. Page 165 of 215 .0 Test users use a service and fill in a prepared questionnaire afterwards. 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. The video recording is also a good way to visualize usability problems to all groups involved in the development process. Eye-tracking systems Eye-tracking is a very effective method to discover discontinuities in the user interface layout.com.30th March 2006 The MHP-Guide Version: 1. 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. 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. This kind of evaluation can also be performed as a guided interview. Different usability guidelines can be found on Jakob Nielsen’s Website http://www.

DVB has consequently anticipated the definition of a standard for broadcast of DVB services over bi-directional IP networks. Its current version addresses transport of MPEG2 DVB services encoded with MPEG2 technology and encapsulated in MPEG2 TS.0 16 MHP Outlook This chapter provides an outlook on the future potential of MHP. MHP has proven that it is fit for the future: Since version 1 came into the market. Part two provides a short overview of commercial aspects. 16. DVB-T and DVB-C. It has shown its potential to adopt and integrate new technical components accommodating both upcoming technological and market needs. the standard has been continuously updated with additional functions such as a recording API.1. SmartCard reader or broadband Internet access. As described below. The growing technical potential makes interoperability even more urgent and hence increases the need for MHP as the universal interface. telecom operators have started to deploy TV over IP (Internet Protocol) services on a large scale. this MHP standardization process has proven that MHP is ideally suited as a means to allow open access to all kinds of new and upcoming decoder components like hard disc. Combined with technical integration work. DVB-IPI DVB standard for the transport of DVB services over IP networks.1 Technical aspects From the start. First published in March 2005 as ETSI TS 102 034 Page 166 of 215 . but needed an extension to fully support the IP frontend. reading TV Anytime metadata. Therefore commercial requirements were created within the scope of DVB and currently.30th March 2006 The MHP-Guide Version: 1. Part one focuses on technical aspects by describing the relevant current and upcoming updates of the standard. resulting in a first standard DVB-IPI available at ETSI. to name just a few. news tickers or quiz shows. or support for SmartCard reader interfaces. this concerns quite a number of new and relevant technical features like IP transmission networks or new coding formats. to cover mainly the following services: Live media broadcast Content on demand (COD) such as music and video DVB has already specified in the DVB-IPI standard a mechanism for service discovery and selection (SD&S) for DVB MPEG2 based A/V services over bi-directional IP net-works and is currently continuing work on the broadband content guide (BCG) as and additional standard and on extending the first version of the DVB IPI standard. MHP is currently broadening its service potential far beyond “classical” interactive services like EPGs. 16.1 DVB over IP / IP tuner With the developing broadband technology and propelled by a fierce competition in the telecom market. MHP has already supported all main broadcast protocols such as DVB-S. By integrating further additional components and offering them to service providers. the DVB technical working groups develop the technical standardization for the ‘MHP IP tuner’.

offers a current approach as described below (cf. This information can be hard coded into the service or rather be encoded in an electronic service guide (ESG). In order to allow for “easy” access of the files for the application. MHP applications and content using this technology are being developed. Page 167 of 215 INSTINCT Project EU funded research project.g. Therefore the idea was to imitate the carousel realized with DSM-CC over DVB-C/T/S. Letting aside the matter of the service signaling itself. (www. http://www. ADSL) TV over IP Figure 16-1: Example of an IP STB Key benefits for IPTV network operators will include: The rise of a competitive market in middleware suppliers while retaining compatibility for content and interactive applications.ist-instinct. Committed to realising the commercial provision of convergent services in mobility with a special focus on DVBT.ist-instinct. DVB-T. The IP broadcast protocol of choice was FLUTE which can be used for iterative broadcast of files and file sets. INSTINCT. As INSTINCT uses a Linux-PC platform running IRT’s middleware for iTV. For hybrid IP STB: Optional DVB-S. Figure 16-1).org) FLUTE Protocol for File delivery over unidirectional Transport . Taking advantage of an "always on" interaction channel for advanced technical and business potential The IP tuner specification is expected to be available in the second half of 2006. DVB-H and DVBMHP. The potential to deploy rich and complex applications while minimizing the need to fall back on the original device manufacturer for additional native code extensions. an EU-project.30th March 2006 The MHP-Guide Version: 1. This implies that for content access. unlike in the case of DSM-CC Object Carousel. the application needs to know from another source which files are to be downloaded. DVB-C Telecom 0perator’s network IP network (e. Yet. 16. applications can communicate with the FLUTE client on the terminal through an API.1. this translates into configuring the terminal’s FLUTEClient to use a destination directory below the DSM-CC root directory. here the contents are not visible in the directory until downloading has been finalized.2 IP over DVB As IP broadcast emerges.org). received files are just copied into the DSM-CC carousel cache.0 This MHP IP tuner specification will address both devices merely containing a broadband IP interface and also hybrid devices containing a broadband IP network interface as well as a classical DVB interface (cf. it allows altering the frequency and data rate with which distinct files are being sent. The underlying application retrieval mechanism had to be as transparent as possible to the application itself. Similar to DSM-CC.

A listener notifies the application of the completed download. duration and channel) Time shift recording (recording of current program with “pause” and instant reviewing controlled by MHP “navigator”) While the specification defines the basic requirements for the recording engine. The application will then: Search the list of recordings and recording requests Track and manage the recording Play complete recordings It offers time-shift recording and allows interrupting live programs for instant replay.de/_/unternehmen/beitrag_jsp/activeid=254/key=teaser_300427. would also be feasible. scanning the FLUTE channel for alert notifications. An example of a push service prototype making use of this feature will shortly be available on the 37 website of RBB . Personal Digital Recorders (PDR) based on hard disk video recording have been available on the market for some time now. which may then be displayed in the desired way. DVB has prepared a proposal for an extension of the MHP specification for the necessary extensions and interfaces.rbb-online.3 Personal Digital Recorder (PDR) There is an increasing demand for recording programs or parts thereof. This proposal takes into account the recording concepts developed by the TV-Anytime forum and it is available as DVB bluebook A087.org 37 http://www.tv-anytime.0 which has to be implemented as an extension to an existing MHP stack. INSTINCT used a terminal-resident navigator application along with an XML-ESG for signaling and starting services. These notifications are short XML messages in RSS format (any other format would also be possible) that are filtered on the terminal according to content description parameters. not yet as an ETSI standard.htm Page 168 of 215 . a common format of the ESG remains to be agreed upon. IP-broadcast enables new types of push services. 16. In a system relying fully on IP-broadcast. The specified interfaces provide the following functions: Scheduled recording (time.1. A solution that completely mimics the behavior of the DSM-CC API. The application can add a listener to the FLUTE client in order to get notified of received alerts.30th March 2006 The MHP-Guide Version: 1. however. detailed functionalities will depend on what has been implemented in the respective terminals. TV-Anytime Forum to develop specifications supporting local storage of A/V content www. The terminal FLUTE client can be set to a constant listening mode. The decoder internal recording application can identify the event to be recorded by the specified TV-Anytime CRID combined with the DVB locator as used in MHP. The major difference between using DSM-CC or FLUTE is that the FLUTE implementation needs the application to ask for download before accessing any file on the carousel. In order to open the full potential of MHP for that market and to allow new service ideas based on combinations of interactivity and recorded programs such as personalized TV experiences.

It is expected that the MHP 1.30th March 2006 The MHP-Guide Version: 1. For standard SD transmission. and also enables random access within the disk buffer.0. Currently deployed MHP 1. HD TV sets support higher resolutions: HD Ready TV sets. i.1.and is currently being implemented in a number of markets. the specification considers broadcaster security by specifying if and how content may be used by other broadcasters. It will be important for HD deployment to limit interoperability issues (applications – MHP terminals – TV sets).1. 16.1.5 MPEG4 / H. Application signaling was extended in order to cope with some aspects critical for the recording of applications. The support for HD graphics as included in the standard may be revisited depending on market feedback. “optional to store” or “not to be stored”.1.0 It furthermore allows for switching the time-shift on/off. however does not plan to provide such guidelines. Guidelines for application writers would therefore be helpful to have. HD content provides the best video image quality ever seen in digital TV.264 is used to reduce bandwidth . However.264 is going to be used for many Page 169 of 215 . checking the size of the time-shift buffer.2 includes support for HD video and HD graphics.as compared to MPEG2 . 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.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.1.2 applications are dedicated for 720x575 screen size TV sets.2 test suite will include tests for basic operation of MHP + HD receivers.264 The new compression standard H.e.3 and MHP 1. Figure 16-2: HD Ready logo defined by EICTA for HD equipment MHP 1. the design of adaptable MHP applications for different screen resolutions and aspect ratios raises will be a challenge. if the specification should prove too demanding or expensive. DVB. Another aspect is how applications shall be dealt with in the case of trick mode playback. H. 16. identified by the logo depicted in Figure 16-2 provide a displayable area of 1280x720 or 1920x1080. This includes marking applications as “critical to store”.264 is planned to be used in DVB-T networks in France. Finally. furthermore H.

new MHP terminals and broadcast equipment need to support this standard if they are to receive DVB-S2 broadcasts. An example of a commercial implementation of such a system can be found at the TeleClix website 38 .). However.7 Object Tracking Object tracking is a feature which allows enhancing quite a number of betting. The existing MHP 1.g. 16. The objects can be tracked by software or specific hardware extensions in the studio and the positioning data is transmitted via stream events or private sections in near real time. “select the tool you would like to buy”. shopping or gaming services. H. Figure 16-3 contains a screenshot with an example for object tracking in a sports program. etc. specific interaction options can be tied to these objects (e.g.teleclix.0 IPTV networks (e. all known ones in Germany) and most HDTV broadcasts.264.1. By tracking and marking one or more objects on the TV screen.264 is also called MPEG4 part 10 / AVC.6 DVB-S2 Similarly to the video codecs. Despite from the fact that more bandwidth means also more data capacity that can be used for MHP applications. Figure 16-3: Example for object tracking GMF4iTV General Media Framework for interactive TV 38 http://www. Impact on MHP middleware is limited due to the fact that whatever the codec is that is used for compression. DVB has defined new SI/PSI values.1. a service will still be identified by its DVB Locator. we expect that this new standard will neither have impact on MHP specification itself nor on already deployed MHP applications.2 standard version already includes optional support for H. DVB-S2 Advanced DVB satellite modulation First published in March 2005 as ETSI EN 302 307 16. 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. “guess which player will make the next goal”. the DVB-S modulation has been supplemented by DVB-S2 which offers more bandwidth and new degrees of flexibility.30th March 2006 The MHP-Guide Version: 1.1. In order to facilitate transition to this new codec for broadcast services.com/Products_&_Services/TeleClix_LiveLink_system/ENG Page 170 of 215 EU funded research project .

many countries are running trials or are planning to do so. This example shows that there is still room for further technical development and standardization effort as the market and the business models develop over time.30th March 2006 The MHP-Guide Version: 1. This additional content can be presented to the viewer also in personalized form. DVB-MHP is today the only open standardized API and the implementation of MHP is recommended by the European Commission (EC). Then additional information can be retrieved about this specific object.1 DVB-MHP in Europe While a small number of countries have already started to broadcast regular services based on MHP. based on metadata and user profiles. and broadcasted in sync with the MPEG-2 video.0 The project GMF4iTV has developed advanced concepts for interaction with moving objects in normal TV programs extending the existing features of DVB-MHP. describing the actual position and shape of the objects. but it is the only full API that is noted in the official list of recommended standards. PDA Personal Digital Assistent 16. The interaction is based on tracking certain objects in an MPEG-2 video and generating dynamic metadata in the MPEG-7 format. which is done synchronized with the MPEG2 video. A normal remote control can be used to select the object by pressing the color button.2 Commercial aspects Figure 16-4: MHP situation in the world in August 2005 [MHP_ORG] 16. pictures and HTML-pages. A new EC document on the status on MHP is Page 171 of 215 . where the object can be selected by touching the highlighted object. MHP-applications.2. Alternatively a PDA can be used as an advanced remote control. It is not likely that EC will mandate MHP as the only API to be implemented in Europe. which matches the object. which may consist of MPEG-4 A/Vclips. MHP is using these metadata to highlight the objects by graphical rendering.

Another problem is that the full MHP specification is complex and offers different ways to implement certain applications. 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. In Germany. the BluRay consortium has chosen MHP as interactivity tool for their HD DVD system. Furthermore. As outlined above. Additionally. This standard can help to ease the migration process from one of the other APIs to MHP. Proprietary iTV platforms in Europe In the early days of interactive TV in Europe a number of proprietary platforms were deployed which are partly still competing with MHP: Page 172 of 215 PCF Portable Content Format . 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. Here the DVB system can prove its benefits also in non broadcast IT networks. 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. More information concerning such migration processes can be found in []. DVB has specified a Portable Content Format (PCF) for a common authoring for different APIs. A lot of dedicated companies are now developing MHP based services and these services can be bought for implementation in an open market. it is also an issue how to cover the costs for development of the MHP Test Suites.6. that are going to start with interactive services. and start to use the services. In order to support markets which still use proprietary APIs. broadcasters will use the DVB-IPI standard and MHP to distribute their broadcast services including interactivity via IP DSL networks. 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. will do this based on MHP.0 expected until spring 2006. This will be mostly based on information gained at the meetings in the EU MHP Implementation Group. and there are still some principle discussions concerning the basis for these costs. Both cost aspects have to be solved rather soon. 3.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. MHP is flexible to support many current and future service (and business!) options. 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. One problematic aspect of the implementation of MHP is that the license costs are still not finally approved. Following the positive experiences made in Italy (cf.30th March 2006 The MHP-Guide Version: 1. Despite these remaining questions it is likely that most of the organizations in Europe.

Liberate is not much used in Europe anymore. and is now one of the products from NDS. Both the MHEG-5 and the MHP specifications are now modified so that a MHP based STB can in the future execute MHEG-5 based services. the GEM specification contains a list of those other specifications with which it can be used. GEM GEM was created to enable organizations (e. MediaHighway was developed by Canal Plus Technology. The set of technologies where functional equivalents are allowed is negotiated as part of the technical dialogue between DVB and each of the organizations wishing to use GEM. the design rules of the GEM specification enable content authors to write applications that can be directly interoperable across different GEM based receivers. US CableLabs) to define specifications based on MHP together with DVB. It is not expected to be a competitor to MHP. It will therefore be in use for many years ahead. Gem 1. 16. GEM.2.2 DVB-MHP in the rest of the world MHP originally is the standard for interactivity within the DVB system and in several aspects linked to specifities of the DVB-S/-C/-T systems.30th March 2006 The MHP-Guide Version: 1. To maximize the presence of MHP components. NDS has introduced a MHP based API with some proprietary other elements in it. It is not so widely used and there does not seem to be any further development of it. The Liberate system is based on extensive communication via interaction channel with servers in the network. In order to make MHP more generally applicable. If MHP will be as widely used as expected. Additionally. but a framework to be used by those organizations that wish to define specifications based on MHP. The GEM specification lists those parts of the MHP specification that have found to be DVB technology or market specific. it is likely that NDS will leave the old MediaHighway behind and go fully for the MHP based version. Page 173 of 215 Global Executable Multimedia Home Platform .0 was published in February 2003 and contains links to “CableLabsOpenCable”. enabling economies of scale for the whole interactive broadcast chain. It allows these to be replaced where necessary as long as the replacement technology is functionally equivalent to the original. which is open and standardized. It has the following goals: To maximize interoperability between GEM based specifications from different organizations. The terrestrial platform in UK is still running MHEG-5. To take into account local business and technical constraints. Additionally. GEM is not a stand alone specification that can be directly implemented.g. but a “Presentation Engine” and not a complete API.0 Open TV is used by BskyB and several other operators in Europe and is also implemented by many operators in the rest of the world. mainly by Cable-TV networks in UK. DVB has also produced another version of the MHP standard named Global Executable Multimedia Home Platform.

was recently approved by the ATSC. Even though DVB-MHP is not mandated by EC. ACAP Advanced Common Application Platform Page 174 of 215 . ATSC previously published a companion Standard A/96. with harmonized standards across the cable and terrestrial markets. where the ATSC system is used for digital terrestrial television. Overall Conclusions There is today no other open standardized API that can be implemented in Europe. these protocols provide a complete interactive system. Used in combination with forward broadcast channels from terrestrial.30th March 2006 The MHP-Guide Version: 1. In the rest of the world it seems that MHP based solutions will be implemented by use of the GEM standard in many markets.0 DVB is currently working with ATSC in order to finalize the inclusion of the GEM core into the US system environment of digital television: ACAP (Advanced Common Application Platform) the middleware specification based on GEM. is also based around the GEM core. “Interaction Channel Protocols”. Preparing US TV standards. ATSC Advanced Television Systems Committee. it is recommended as the API to be implemented in the member countries. cable and satellite networks. OCAP developed by CableLabs for the American cable market. With trial services already on air in Korea. Most of the European countries starting with digital TV and Interactive services are implementing MHP. this approval clears the way for the growth of interactive services in the USA.

In the context of MHP meaning an environment to automatically run all the many tests included in the official MHP Test Suite.30th March 2006 The MHP-Guide Version: 1. ADSL Asymmetric Digital Subscriber Line. API Application Programming Interface. Enables faster data transmission over copper telephone lines than a PSTN modem. ACAP Advanced Common Application Platform: It is a middleware specification based on GEM. 3G Third Generation. Alpha Channel An alpha channel is additional information in a picture file that determines the transparency for every pixel. Availability round the clock (Twenty-four hours a day. Table defined by MHP to provide basic information about MHP applications. usually several Mbit/s AIT Application Information Table. Preparing US television standards. seven days a week).0 17 Glossary and abbreviations 24/7 Twenty-four-seven. Mainly used in the context of mobile communication networks. ATE Automated Testing Environment. A/V Audio/Video AWT Abstract Window Toolkit Page 175 of 215 . The publicly accessible surface of software classes through which applications operate upon the specific functions contained within the MHP. ATSC Advanced Television Systems Committee.

CMS Content Management System COD Content On-Demand CORBA Common Object Request Broker Architecture CRC Page 176 of 215 . CLUT Color Lookup Table.30th March 2006 The MHP-Guide Version: 1. Providing information which DVB services belong to a certain bouquet. CDC Connected Device Configuration CLDC Connected Limited Device Configuration CI Common Interface. 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.0 BAT Bouquet Association Table. MPEG2 defined table to provide information on the type of CA system used in a broadcast stream. Table defined by the DVB specification for Service Information. Interface based on PCMCIA which allows to connect external CA modules to DVB decoders. BIOP Broadcast Inter-ORB Protocol CA Certification Authority (in DVB MHP PKI context) or Conditional Access CAS Conditional Access System CAT Conditional Access Table.

bbc. to refer to a specific event .such as the women's shotput finale . Thus.co. Typically. commonly used for domestic or corporate purposes. 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.uk/olympics/2008/ Then.0 Cyclic redundancy check.they can use the following inside their metadata. DFC Decoder Format Conversion DGTVi Page 177 of 215 .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. made famous by the stunning success of the World-Wide Web: A unit of content.bbc. crid://www.co. DECT Digital Enhanced (former European) Cordless Telecommunications: It is an ETSI standard for digital portable phones. As an example. It may look something like this crid://www.30th March 2006 The MHP-Guide Version: 1. it should come as no surprise that a CRID is specified much like URLs. let's assume that BBC wants to make a CRID for the upcoming Olympics in China. the content owner will use their DNS-names in a combination with a product-specific name to create globally unique CRIDs. a type of hash function used to produce a checksum. 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. in a broadcast stream. A CRID or a Content Reference Identifier closely matches the concept of the Uniform Resource Locator or URL. 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. in order to detect errors in transmission or storage CRID CRID is a concept from the standardization work done by the TV-Anytime forum.

0 Italian platform for interactive TV using MHP. structure and style of the document. modulators. such as the Internet. The specification is based around a modularized version of XHTML 1. and also includes CSS 2.Cable DVB-HTML DVB-HTML applications are a set of HTML pages that are broadcast as part of a service. and ECMAScript. and multiplexers. receivers. 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.0. DOM provides an application programming interface to access and modify the content.1. 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.30th March 2006 The MHP-Guide Version: 1.0. A description of how a HTML or XML document is represented in an objectoriented fashion. Page 178 of 215 . DOM 2. DOM Document Object Model. 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. DVB-C Digital Video Broadcasting .

DVB-RCS DVB return channel by satellite. The language is widely used on the web. Page 179 of 215 .30th March 2006 The MHP-Guide Version: 1. although those two terms have more specific meanings. 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. knowing the history of ECMAScript is a helpful prerequisite.0 DVB-IPI DVB standard for the transport of DVB services over IP networks. ECMAScript ECMAScript is a scripting programming language. and JScript. and is often referred to as JavaScript or JScript. 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. 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. JavaScript. To understand the relation between ECMAScript. standardized by Ecma International in the ECMA262 specification.

Table defined by the DVB specification for Service Information. EMM Entitlement Management Message. Page 180 of 215 .30th March 2006 The MHP-Guide Version: 1. FIFO FIFO is an acronym for First In. where the persons leave the queue in the order they arrive. typically for subscriber Internet access services. 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 subscriber’s home. Thus it is analogous to the behaviour of persons "standing in a line" (preferred in American English) or "queueing" (preferred in Commonwealth English). Gamma Value of the brightness adaptation to the screen. etc. This expression describes the principle of a queue or firstcome. 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. what comes in next waits until the first is finished. first-served behavior: what comes in first is handled first.0 EIT Event Information Table. First Out. Providing detail information on the events of the broadcast schedule.

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.264 Compression Standard. Also called MPEG4 part 10 / AVC.0 GEM Global Executable Multimedia Home Platform. Very common graphics format. It is often described as "2. such as a PC or television. optionally supported by MHP terminals. GUI Graphical User Interface H. IP Internet Protocol: The computer networking protocol used on the Internet. Page 181 of 215 . GPRS General Packet Radio Service: It is a mobile data service available to users of GSM mobile phones. 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. GIF Graphics Interchange Format.30th March 2006 The MHP-Guide Version: 1.5G" GSM Global System for Mobile Communications: It is the second generation for mobile phone technologies.

resulting in better quality and higher speeds than available with analogue systems. etc. communication. designed to allow digital transmission of voice and data over ordinary telephone copper wires. JMF Java Media Framework JPEG Joint Photographic Experts Group. transaction. Commonly used compressed graphics format. TV delivered via IP networks.) often directly related and synchronized with the broadcast content.g. ISDN Integrated Services Digital Network: It is a type of circuit switched telephone network system. JVM Java Virtual Machine KDB Knowledge Database: Public database of the MHP-KDB project. Mandatorily supported by MHP terminals. ITV Interactive Television. Page 182 of 215 .0 IPTV Internet Protocol Television. J2ME Java 2 Micro Edition J2SE Java 2 Platform Standard Edition JavaTV It is a Java-based API for iTV applications development. information.30th March 2006 The MHP-Guide Version: 1. ISO International Organization for Standardization ISP Internet Service Provider: A company that sells Internet services to the public. A capability in digital TV offering interactive services (e.

). This Group developed a standard for a presentation engine called MHEG-5 which is used for digital teletext services in the UK.) that is broadcast within a transport stream. . Canada and some South-American countries. In the context of MHP DSM-CC object carousels are used. United States. Table defined by the DVB specification for Service Information. 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.. MHP Multimedia Home Platform MPEG-2 A digital video and audio compression (encoding) technique defined by the Moving Pictures Expert Group (MPEG). media files. MHEG Multimedia and Hypermedia information coding Expert Group. NIT Network Information Table. NPT Normal Playtime NTSC National Television System(s) Committee: It is the analogue television system in use in Korea.30th March 2006 The MHP-Guide Version: 1.0 Legibility Legibility means that writing can easily be deciphered and read. Providing information on the transport streams/multiplexes available in a DVB network and their technical parameters (frequency. modulation. etc. ORB Object Request Broker OC (Object Carousel) The data structure (containing applications.. Page 183 of 215 . Open Source license used by the MHP-KDB project. Japan. LGPL Lesser General Public License.

0 OCAP Open Cable Application Platform: It is a technical standard. which is used in the cable networks of North America. PDR Personal Digital Recorder PersonalJAE Personal Java Application Environment Page 184 of 215 . but optionally also data). PCR Program Clock Reference. Master clock for each DVB service used to synchronize time critical content (basically video and audio.30th March 2006 The MHP-Guide Version: 1. PCI Peripheral Component Interconnect: A computer bussing architecture that defines electrical and physical standards for electronic interconnection. 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. Table defined by the MPEG2 systems specification. Format specified by DVB to support authoring of interactive applications in an API independent way. PC Personal Computer PCF Portable Content Format. Providing a very basic list of the services in a MPEG2 transport stream and linking to the corresponding PMTs. PAT Program Allocation Table.

IPX.) belonging to a specific and linking to these components. PRF Permission Request File. but optionally also data). Common graphics format. Page 185 of 215 . PFR Portable Resource Format PID Packet Identifier. data. specialized radio links. PNG Portable Network Graphics. Providing a basic list of components (video. PMT Program Map Table. Information needed in the context of the MHP security model. cellular telephone.. It can connect computers using serial cable. See also PPP. MPEG2 defined protocol layer used for transmission of streamss to be decoded in real time (basically video and audio. teletext. Table defined by the MPEG2 systems specification. where it has largely superseded an older non-standard protocol (known as SLIP). 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. and telephone company mandated standards (such as X. trunk line.30th March 2006 The MHP-Guide Version: 1. PPP In computing. mandatorily supported by MHP terminals. including IP. or PPP.25). PPP was designed to work with numerous "layer3" network layer protocols.0 PES Packetized Elementary Stream. and AppleTalk. or fiber optic links. Most internet service providers use PPP for dialup access to the Internet. is commonly used to establish a direct connection between two nodes. audio. Identifier for MPEG2 transport stream packets used for identifying different elementary streams. PPPoX PPP over some data link protocol such as Ethernet (PPPoE) or ATM (PPPoA). phone line. the Point-to-Point Protocol.. 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. .

NIT or BAT defined by MPEG2 and DVB providing various types of metadata related to DVB networks and services. PSI/SI Program Specific Information/Service Information. Blue: Color Model. Tables like PAT. PMT.Quadrature Amplitude Modulation Modulation scheme used in some DVB networks. PTS Presentation Time Stamp.Quadrature Phase Shift Keying Modulation scheme used in some DVB networks. The creators of PPP included many additional features that had been seen only in various proprietary WAN data-link protocols up to that time. SDT. RSS Really Simple Syndication Page 186 of 215 . Green. QAM . PVR . QPSK . audio.30th March 2006 The MHP-Guide Version: 1. RC Return Channel RF Radio Frequency RGB Red. data) transmitted via DVB streams. Timing information for the presentation of content (video. RSA Rivest-Shamir-Adelman (-Algorithm): Secure asymmetric encryption algorithm using a key pair of private and public key.0 PPP was designed much later than the original HDLC specifications.Personal Video Recorder A PVR is a receiver equipped with storage for recording digital media and an appropriate user interface that also allows scheduling automatic recordings. PSTN Public Switched Telephone Network: The international telephone system based on copper wires carrying analogue voice data.

Providing detail information on the services contained in the actual (and optionally also in other) DVB transport stream. manufacturers. ST Stuffing Table.0 RST Running Status Table. Used to transmit time critical information to the MHP terminal. and entities. 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). Not commonly used DVB SI table to provide the running status of an event. SAS Subscriber Authorization System SDK Software Development Kit SDT Service Description Table. its successor. Page 187 of 215 . are cryptographic protocols which provide secure communications on the Internet. Table defined by the DVB specification for Service Information. Defined as an option of the DSM-CC transmission protocol. DVB table without useful data to be used for stuffing purposes. 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. SE Stream Event.30th March 2006 The MHP-Guide Version: 1.

In various publications this ranges from providing program related (educational) back-ground material to interactive learning applications which check and track learners’ progress. applications on networked hosts can create connections to one another. SW Software T-Care Analogue to the term e-Care. TCP Transmission Control Protocol: It is one of the core protocols of the Internet protocol suite. The successor of SSL 3.30th March 2006 The MHP-Guide Version: 1. delivered and per-formed on the TV screen. The protocol guarantees reliable and in-order delivery of sender to receiver data. TLS Transport Layer Security: A cryptographic protocol. DVB defined table to carry time information in a DVB transport stream. MHP Terminal to be connected to a TV set. T-Games Interactive Games to play on the TV screen. 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. T-Learning Analogue to the term e-Learning.0 STB Set-top Box. T. T-Government Analogue to the term e-Government. Using TCP.0 Page 188 of 215 . which provides secure communications on the Internet. T-Learning covers all sorts of educational applications that are delivered and per-formed on the TV screen. over which they can exchange data. T-Health Analogue to the term e-Health. TDT Time and Data Table. T-Health covers all sorts of information services related to health and well-being that are delivered and performed on the TV screen. T-Government covers all sorts of information services and (ideally) communication and actions with the relevant authority.Care covers all sorts of communication services that connect patients and health care personnel in (bi-directional) TV-based communication applications.

30th March 2006 The MHP-Guide Version: 1. UDP does not provide the reliability and ordering guarantees. 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. TS Transport stream: A multiplex of several program streams that are carried in packets. W3C World Wide Web Consortium Page 189 of 215 . URL Uniform Resource Locator Usability Usability is to ensure user-friendliness and –satisfaction. and error prevention when working with an interactive service.0 TOT Time Offset Table. efficiency of use. UI User Interface UML Unified Modelling Language UMTS Universal Mobile Telecommunications System: It is one of the third-generation (3G) mobile phone technologies. Similar to pay-per-view. UDP User Datagram Protocol: It is one of the core protocols of the Internet protocol suite. DVB defined table to carry time information containing information on local time in a DVB transport stream.

XHTML Extensible Hypertext Markup Language Xlet Xlet is the interface used for execution engine application lifecycle control in MHP.30th March 2006 The MHP-Guide Version: 1. Two other types of xDSL technologies are High-data-rate DSL (HDSL) and Very high DSL (VDSL). Often used when authoring content for MHP applications. the two main categories being ADSL and SDSL. XML Extensible Markup Language.0 WiFi Wireless Fidelity xDSL It refers collectively to all types of digital subscriber lines. Page 190 of 215 . YUV A color format: Y contains the brightness signal (luminous intensity) and U and V contain the combined color information (chroma).

org/publications.2. http://www.interactivetvweb. December 9th.1 General DVB [GuidelinesDataBroadcasting] ETSI TR 101 202 V1. available at http://www. Kurvinen: User-Centered Design in the course of large and distributed project. p.errata2.pdf MHP Standard Specification.2 General TV [Dureau 2004] Dureau.0. Version 1.org/technical/specifications.org/documents/mhp_Ts101812.1.2] [MHP 1.pdf (Last visited on 19/12/2005) 18.mhp. Steven. March 1995. No 3.3] [MHP 1.html Morris.1 (2003-01) ”Digital Video Broadcasting (DVB).mhp.0.org Digital Video Broadcasting.1”.V1.0.mhp..1. 2005.2. http://www. http://www. Paris.0] [MHP 1. 300. “Guidelines on Migration” (Deliverable D18) http://www. http://www.shtml (last visited on 05/01/2006) [Newell 2005] J. 15th Meeting of the World Wireless Research Forum. 2004) In: Broadcast Papers – IBC Papers 2004.3e] [MHP 1. C.zip Errata of the MHP Standard Specification. Version 1.asp 18.com/ibc2004/ibc04OpenTVAdvertising. http://www.1.zip The MHP Knowledge Project. “Interactive TV Web”.V1.zip MHP Standard Specification.org Home Audio Video Interoperability specification.bbc. Vol.1] [MHPKDB-1] [Morris 2005] [Morris 2005a] Steven Morris.0 18 Literature [Gould 1995] J. V. http://www. (Amsterdam.] Hetzer.org/documents/tm2971r1.shtml (last visited on 05/01/2006) 18.2.3. “Designing for Usability: Key Principles and What Designers Think.mhp. Newell.uk/rd/pubs/whp/whp030.3.0.0 and MHP 1.3.org The official MHP web site.3. “An introduction to MHP 1.V1. Sicherheitsanforderungen in digitalen Broadcastmedien am Beispiel der Multimedia Home Platform (MHP) MHP Standard Specification.30th March 2006 The MHP-Guide Version: 1.0.0.MHP1.org/documents/Ts102812.pdf. Häyrynen.tm-tam0801r6.1.pdf. Version 1. 2005 [Hetzer 2001] [MHP 1. http://havi.org/documents/mhp_Ts101812. Implementation guidelines for Data Broadcasting” [ETSI] [DVB_ORG] [MHP_ORG] [HAVI] European Telecommunications Standards Institute.0. Quoted according to: Aftelak.2.mhpkdb. http://www.dvb. Interactive TV Standards A Guide to MHP OCAP and JavaTV Focal Press / Elsevier Inc.3 General User Interaction [BBC 2002] The BBC Styleguide Page 191 of 215 .broadcastpapers.0.org/tutorial/mhp/index.0.0 MHP Standard Specification. and C. 2006. Hanno.co. Version 1.” Communications or the ACM. 28.D.: ADDRESSABLE ADVERTISING ON DIGITAL TELEVISION. Version 1. http://www.mhp. http://www. Gould. Lewis.etsi.

txt?number=2246 Sozialnetz Hessen. [RFC 2246] [SN HESS] http://www.Generic coding of moving pictures and associated audio information: Systems [MPEG2DSMCC] ISO/IEC 13818-6 "Information technology .mhpkdb. 2003 18.com/products/java-media/jmf/index.Part 6: Extensions for DSM-CC".30th March 2006 The MHP-Guide Version: 1. Studienbrief Screendesign für den Online-Studiengang Educational Media der Universität Duisburg-Essen. http://www.Generic coding of moving pictures and associated audio information . 2005 Page 192 of 215 . Christian: Lerneinheit.jsp The MHP Knowledge Project.de.4 Other [SUNJMF] [MHPKDB] http://java.ietf.org/rfc/rfc2246.sun.sozialnetz-hessen.org [MPEG2Systems] ISO/IEC 13818-1 Information technology .0 [Noss 2003] Noss. http://www.

best practice recommendations and sample codes provided in the KDB. interoperability problem. The option to place comments to Issues and Solutions enables to open discussions related to certain questions. Once an Issue has been placed in the database. The dynamic part offers detailed MHPrelated information (sample codes.How to use the MHP KDB 19. broadcast equipment manufacturers and. An Issue can be any kind of MHP-related question. the so called Issue is the central data type.0 19 Annex A . guidelines) that is cross-linked to facilitate the locating of additional information on a certain topic in the KDB. Special emphasis was laid on a clear. The project encourages broadcasters. in particular. The KDB consists of a static and a dynamic part. related Solutions can be attached to it.30th March 2006 The MHP-Guide Version: 1. design and testing tools. decoder manufacturers.1 Organization of the Database Content The MHP Knowledge Database (KDB) was created and designed to offer valuable material to all entities in the MHP production chain for free. Figure 19-1: Simplified Data Model of the KDB Page 193 of 215 . intuitive structure of the contents in the KDB in order to ensure ease of use. As the simplified data model shows (see sketch below). The static part contains written documents like reports and guidelines that cover general know-how on MHP and interactive television. benchmark applications. etc. authoring tool providers. Issues and Solutions can be further explained by adding comments. sample code or any other kind of documents (Attachment). guidelines. application programmers to make use of the reports.

Highly interested users can obtain additional rights. There are no further mechanisms like check-in/check-out etc. The author is automatically notified by an email about this step.2 Reviewing Process Any contribution to the MHP-KDB will be initially published in the state of Not Reviewed. Any other contributions are deleted only if the author withdraws it. the reviewer adds a comment to the contribution in order to record his recommendations and remarks. If a reviewer decides that a contribution is not fit for getting this quality mark. Reviewers are allowed to edit documents to make them fit the KDB quality criteria. the reviewer can pick and review any contribution. a set of project members serve as reviewers. There. Page 194 of 215 . Only contributions that are clearly not related to MHP are deleted directly.30th March 2006 The MHP-Guide Version: 1. The further proceedings in this case are resolved by mutual email exchange between reviewer and author until the author withdraws his contribution or the reviewer is confident and ready that the quality mark Reviewed can be granted.0 19. There is a set of persons who are assigned the role of reviewers.1 Rights and Roles User roles and their corresponding rights are shown in the following table: Role Author Rights Read all documents Add comments to documents Publish his own documents Modify all his documents Test Centre User Author Role PLUS Use Remote Testing Environments Reviewer Test Centre User Role PLUS Modify all documents Admin Reviewer Role PLUS Delete documents Table 19-1: Rights and Roles Model of the MHP-KDB After a regular registration you will be given the role of a Test Centre User. 19. The document is set to the state Declined until its next modification. Changes to a document that has already been reviewed will change its status back to Not Reviewed.1. Initially. which changes the document status back to Not Reviewed.1. A reviewer can access the pool of all contributions with status Not Reviewed. allowing the reviewer to check it again.

The search results are displayed as a list of hyperlinks within the search screen. modifying and searching for entries. The KDB provides two ways of searching for issues: a keyword based search and a category based search. After clicking on one of the links. Users are encouraged to always search for an issue before adding an issue to the database. Figure 19-2: Searching an Issue in the KDB Page 195 of 215 . the Document View form for the chosen document type is displayed.0 19.30th March 2006 The MHP-Guide Version: 1. A more detailed introduction to the usage of the KDB is provided in the “Help” section of the web site. the user is required to choose the document type to search for. The database provides three basic functions: adding.2 Using the KDB This chapter delineates how to use the KDB in an effective way. both of which can be combined. First of all. and gives a brief explanation of the license agreements and their consequences for using KDB content.

30th March 2006 The MHP-Guide Version: 1. attachments and source code. The user has to provide some information about the posted issue: Page 196 of 215 . registered users which are not MHP-KDB members are allowed to enter issues. A selection of types of documents that can be added appears. Members of the MHP-KDB project are permitted to enter all document types.0 Figure 19-3: Adding an Issue to the KDB For adding a document the user has to choose Archive Document. solutions. comments.

Other) Probable Solution Type (Application Change. The user can then make the desired changes and commit the updated version of the document into the database. only the author of a document is allowed to modify this document). ordered by document type (i. the user has the opportunity to upload appropriate attachments and source code examples.0. users need to click on the Edit Document tab.2.0 Title of the new issue Description of the issue Issue Type (Question.30th March 2006 The MHP-Guide Version: 1. Only the administrator is able to delete documents. the Edit Document screen. Performance. Standard Modification. which almost exactly resembles the Add Document screen. MHP 1.3. Other) Keywords Category (one of the main and / or sub-categories in the KDB) Tool if applicable Application if applicable MHP Terminal if applicable MHP Standard (MHP 1. Test Suite Modification.e. they can ask the administrator to do that. Exception. Editing a document does not mean that its former version is lost. Instead. Decoder Implementation Change. Hence users need to request deletion of documents. In order to modify a document. By clicking on the link of the desired document. It is displayed whether the issues and solution provided by the author have been reviewed or not.1) if applicable Additionally. Recommendation.0. Page 197 of 215 . is displayed. MHP 1. If users then find out that a certain older version of a document needs to be recovered. This will display a hyperlink list of all the documents that this user has entered into the database. a versioning system is applied that keeps older versions in the database but does not display them.

This offer is free of charge. one existing license agreement offered by the Open Source Initiative (www. Parts or even entire documents can be copied and used for other purposes. The project is using the LGPL (Lesser General Public License).3. It requests for reporting back any improvements of the code and when applications go on Page 198 of 215 . the source code provided by the MHP-KDB project can be claimed to be "OSI Certified Open Source Software". .3 Licensing conditions All documents in the static area of the database can be downloaded. The wording of the licensing conditions for contents of the static database part can be found in chapter 19.30th March 2006 The MHP-Guide Version: 1. This procedure allows for easy dissemination of MHP and harmonization of its usage. but the user is obliged to refer to the MHP-KDB project. used and distributed as long as they remain unchanged. because it allows for free usage of the source code and requires not to change the copyright notice to inform about any changes of the source code to make the used source code of the MHP-KDB project available when distributing complete software works. The LPGL contains also a disclaimer excluding warranty issues. two of the main goals of the MHP-KDB project.0 Figure 19-4: Editing a Document 19. Regarding the usage of source code.1.opensource. Thus. In addition to the LGPL rules a "code of conduct" is added.org) is used.

This work is reproduced and distributed with the permission of the Institut für Rundfunktechnik GmbH.2 Licensing conditions for Java source code The following notice will identify the software in our database as OSI Certified: "This software is OSI Certified Open Source Software.3.1 of the License.. but WITHOUT ANY WARRANTY. but WITHOUT ANY WARRANTY. provided all copies contain the following statement: "© 2006 Institut für Rundfunktechnik GmbH on behalf of The MHP Knowledge Project. contact info@mhpkdb.” 19.2 of this document. a reference to the project website and a copyright notice as follows: "© 2006 Institut für Rundfunktechnik GmbH on behalf of The MHP Knowledge Project. in whole or in part. You should have received a copy of the GNU Lesser General Public License along with this library. No other use is permitted without the express prior written permission.” This document is distributed in the hope that it will be useful. if not. we kindly ask you to report back any error you find in our documents or any improvement you are able to suggest. This work may be reproduced and redistributed." The JAVA code in the database is marked as follows: "[one line to give the library's name and an idea of what it does] Copyright (C) 2006 by [contributing partner] on behalf of the MHP Knowledge Project. 19. without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Inc.1 Licensing conditions for documents in the static part of KDB The PDF-documents in the static area will contain the project logo. For permission. OSI Certified is a certification mark of the Open Source Initiative.org. Page 199 of 215 .3. As we are interested to continuously improve the quality of our documents. This can be done via writing comments into the database or by an email to feedback@mhp-kdb. either version 2.30th March 2006 The MHP-Guide Version: 1. This library is free software.0 air that make usage of our know-how. or (at your option) any later version. write to the Free Software Foundation. The wording of the licensing conditions for Java source code is laid down in chapter 19. 59 Temple Place.org. without alteration and without prior written permission. See the GNU Lesser General Public License for more details.3. Suite 330. Boston. you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation. This library is distributed in the hope that it will be useful. without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MA 02111-1307 USA.

org) about any broadcast MHP application which was developed using our Knowledge Database“.org" As a non-binding code of conduct the following rules are added: "We are interested to continuously improve the quality of our Knowledge Database. Page 200 of 215 . Therefore we kindly ask you to report back any bug you find in our software or any improvement you are able to suggest. Furthermore we would appreciate if you could inform us (also via feedback@mhpkdb.30th March 2006 The MHP-Guide Version: 1.mhpkdb. This can be done via writing comments into the database or by an email to feedback@mhpkdb.0 [information on how to contact the author by electronic and paper mail] www.org.

30th March 2006 The MHP-Guide Version: 1.0

20 Annex B – Develop your first Xlet with MHP-KDB
A basic environment for developing MHP applications consist of three parts: A set of class libraries that will let you to compile the application. A stub generator that generates MHP stub libraries from MHP javadoc is available for free download in the tools section of the KDB (www.mhpkdb.org). The javadoc files can be downloaded from MHP and Sun web-sites. A text editor with java compiler, or an MHP authoring tool to edit and compile the application. An MHP compliant platform to run the application. This may be a PCbased emulator or a development STB. The emulator simulates the behavior of an application on the PC but it is not suitable for estimating the performance on a real STB. Also only commercial emulators support all MHP features. Currently open source emulators offer only subsets of the standard, but allow for decent simple application development for beginners. Once we have developed an application to be broadcast on a real network, it is important to test it on different STBs with different middleware stacks to check it for interoperability problems.

NOVICE LEVEL

Build

Debug

Download

Run
Figure 20-1: Developing application steps

20.1 Build an application
Authoring tools can be used to facilitate application building. Yet, depending on the individual requirements they may be too limited. Custommade applications using text editor and java compiler may be the more flexible approach. Some authoring tools offer additional features like analyzing, testing and signing applications. Below is an (incomplete) list of currently available authoring tools: Vendors Actalis Aircode Alticast Tools MHPSigner tool for signing MHP applications The TVPlus I Station authoring tool The Alticomposer authoring tool

Page 201 of 215

30th March 2006 The MHP-Guide Version: 1.0

Cardinal Information system Core Media Digisoft Emuse Ensequence Fraunhofer IMK Icareus Institut für Rundfunktechnik Mindhouse MIT-Xperts NDS NPTV Ortikon Interactive Panasonic Sony Professional Broadcast TeleIDEA Unisoft Zappware

“Cardinal Studio” authoring tool Starter Kit for MHP “DigiHost” Content management system “Modelstream® Pro” development tool “on-Q Create” authoring tool “JAME Author” authoring tool “iTV Suite” authoring tool / DVB-HTML browser Dynamic and static MHP-applications analyzer Content management system and applications iDesigner authoring tool Value@TV Solutions is a complete application authoring tool “iTV Factory suite" authoring tool Content provider tool and DVB-HTML browser emulator MHP development kit “Media Gateway” authoring tool “IdeaPublisher and TeleAuthor” a complete authoring and testing tool. MHP Security File Generator “EZTV” Customizable applications

Table 20-1: Authoring Tools vendors

20.2 Download an application:
Applications are either resident or downloaded; resident applications enable navigation and configuration of the MHP terminal. Those applications are deployed by manufacturers and can be upgraded by broadcasters. Downloaded applications are broadcasted using the DSMCC object carousel. Developers who want to test such applications on an MHP terminal can use a play out system to compose and broadcast the DSM-CC object carousel that will include the application. An open source playout server implementation is available from http://krusty.cineca.it/vpweb/cgi-bin/blosxom.cgi

20.3 Debug an application:
Manufacturers usually provide developer STBs to ease debugging. These specific STBs enable the output of application print messages via serial port or Ethernet connection. They are more expensive than commercial STBs but make development more efficient. All applications have to be tested on different kinds of MHP terminals to avoid potential interoperability difficulties. The MHP-KDB test center offers remote interoperability testing on a number of common STBs (for more information MHP-KDB web site). Page 202 of 215

30th March 2006 The MHP-Guide Version: 1.0

20.4 Source code of basic application:
The application below will display a text message “Hello MHP World” on the screen.

/*Include all needed package*/ import java.awt.*; import java.awt.event.*; import javax.tv.xlet.*; import org.havi.ui.*;

public class HelloWorld extends Component implements KeyListener, Xlet { private XletContext context; private HScene scene; private String messageToDispalay = "Hello MHP World"; private HStaticText text;

/* Standard Xlet lifecycle methods and constructors */ 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. */ public void initXlet(XletContext ctx) throws XletStateChangeException { setName(string); this.context = ctx; HSceneFactory factory = HSceneFactory.getInstance(); HSceneTemplate hst = new HSceneTemplate(); hst.setPreference (HSceneTemplate.SCENE_SCREEN_DIMENSION, new org.havi.ui.HScreenDimension(1, 1), HSceneTemplate.REQUIRED); hst.setPreference (HSceneTemplate.SCENE_SCREEN_LOCATION, Page 203 of 215

30th March 2006 The MHP-Guide Version: 1.0

new org.havi.ui.HScreenPoint(0, 0), HSceneTemplate.REQUIRED);

text = new HStaticText(messageToDispalay,70 ,120 ,580 ,40); text.setBordersEnabled(false); text.setForeground(Color.white); text.setFont(new Font("Tiresias" ,Font.BOLD , 24)); 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()); } public void startXlet()throws XletStateChangeException { 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. */ public void pauseXlet(){ 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. */ Page 204 of 215

30th March 2006 The MHP-Guide Version: 1.0

public void destroyXlet(boolean unconditional) 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 {/* We have had a polite request to die, so we can refuse * this request if we want. */ throw new XletStateChangeException("Please don't let me die!"); } } /* Key action will be defined in these functions*/ public void keyPressed (KeyEvent key){} public void keyTyped(KeyEvent ignored) {} public void keyReleased(KeyEvent ignored){} }

Page 205 of 215

30th March 2006 The MHP-Guide Version: 1.0

21 Annex C - Presentation of the MHP APIs
The APIs used to develop MHP applications are presented in this chapter. MHP uses a number of already existing standards and also defines some specific additional APIs. The main Java APIs used in MHP are described in this Annex.

NOVICE LEVEL

21.1 “Core” APIs
API java.awt Description Build applications with graphical user interfaces. It is separated into two parts: creating the interface and defining the behavior.

java.awt.event

Provides interfaces and classes for dealing with different types of events fired by AWT components The java.awt.image package contains classes and interfaces that allow you to create new images from scratch rather than loading them from a file and to modify images that already exist. Contains classes related to Java Beans development Provides for system input and output through data streams, serialization and the file system. Provides classes that are fundamental to the design of the Java programming language. Provides classes and interfaces for obtaining reflective information about classes and objects. Provides the classes for implementing networking applications. Provides the classes and interfaces for the security framework. Provides classes and interfaces for parsing and managing certificates. Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a randomPage 206 of 215

java.awt.image

java.beans java.io java.lang java.lang.reflect java.net java.security java.security.cert

java.util

It is slightly more favorable to DVB’s SI over the other systems. however in general it is 99% abstract.tv. The JMF 1.protocol javax.tv.davic. java. and are defined by Sun Microsystems. since that was its first supported model. discussed later.media package.media. applications can also use JMF to play audio files or display a special kind of image format.tv.protocol 21.net javax.media.zip Provides classes for reading and writing the standard ZIP and GZIP file formats.30th March 2006 The MHP-Guide Version: 1.locator javax.tv. Table 21-1: Java Core APIs 21.media javax. JMF was extended by DAVIC with its org.2 JMF APIs These APIs are used to control how audio and video content is decoded and displayed. javax. with additional support for the unique properties of broadcasting traditional data items such as files.0 was originally designed to control streaming video and audio from a disk file either locally or from a “video” file server over a network. and a bit array).service Page 207 of 215 . While this is mostly used for controlling what broadcast video is presented (and how it is presented).3 JavaTV APIs Java TV (JAVATV) is a transport independent abstraction for access to the MPEG-2 SI (as extended by the transport standards). JMF 1.util.media javax.0 number generator.tv. It contains the following packages: API javax.0 used for iTV contains the following packages: javax.tv. In order to address the unique nature of broadcast streams.graphics Description Adds some support to AWT for TV-specific issues such as video-graphics blending and discovering the root container of the application Provides the mechanism for URL-like references to broadcast services and broadcast media clips Adds support for TV-specific functionality to JMF Adds support for broadcast streaming protocols to JMF Provides a mechanism for accessing IP datagrams contained in a broadcast stream High-level concepts for describing digital TV services. This package is also provides the basic mechanism for querying service information from the broadcast service.

DAVIC also provides the framework of scarce resource notification used in consistently in MHP.30th March 2006 The MHP-Guide Version: 1. org.davic.mpeg. org. provides the ability to filter specific MPEG sections from a transport stream. Most important is the language control for both audio and subtitles. picturein-picture) Concepts describing the transport mechanism used for a digital TV service. components within services (i.0 javax. program schedules and parental rating information Support for navigating services.e. Digital Audio Visual Council was an organization set up to promote audio-visual applications through open standards.tuning package.xlet 21.g. elementary streams) and service types Concepts describing how services are presented to the user.davic.davic. this is not necessary when switching services. This includes support for concepts such as lists of favorite services. including concepts for describing individual events. This also describes the concepts for presenting several services at once (e.davic.mpeg.tv.media includes Java Media Framework extensions relevant to TV content. and how a new service can be selected. there are several packages originating from the early DAVIC work. org.navigation javax.net. The sub package org.service.service.davic.service.dvb contains extended versions of these classes with additional DVB specific information. resulting in the latter incorporating the former.dvb this class is extended to be more DVB specific.davic. Many participants in DAVIC later also joined DVB for their MHP work.4 DAVIC APIs DAVIC. In MHP today.sections. including management of timers and timer events Application lifecycle model and supporting classes Table 21-2: JavaTV APIs javax.davic. org. This information is partly extracted from the MPEG PSI information carried in a transport stream. However.net deals with content referencing through the Locator class. In org. Service and Elementary Stream classes.mpeg represents MPEG system concepts through Transport Stream. such as transport streams.net.tv. These packages mainly give an application better control of both selection and presentation of both audio and video.util javax.transport javax. broadcast networks and bouquets Utility classes for JavaTV applications.tv. Explicit tuning between transport streams is handled with the org.tv. The last Page 208 of 215 .guide Support for EPG-type applications. It picked up on the issue from MHEG and added a Java API offering better control of a receiver to an application.tv.selection javax.tv. Another sub package.service.

6 DVB APIs The DVB API is custom made APIs for MHP made by DVB. The DVB API is covered in chapter 11.davic.dvb.io. Players that are presenting video in an HVideoComponent to control how the video is clipped use the org.3].application provides access to lists of applications.IxcRegistry class you can obtain a reference to a remote object residing in another Xlet on the same MHP terminal.awt package.awt package as more fully defined in (HAVI).30th March 2006 The MHP-Guide Version: 1. One part of HAVi that has been adopted by the standards supporting Java includes the user interface (UI) packages.ui org.event provides access to user input events before they are processed through the event mechanism of the java.dvb. org. but it should be based on the interfaces found in this package.dvb. With the org.BackgroundVideoPresentationControl is only used with Page 209 of 215 .5 HAVi (Home Audio Video Interoperability) APIs The Home Audio Video Interoperability (HAVI) has defined an extensive set of Java-based packages for consumer electronics devices.persistent provides access and attributes of files stored in persistent storage. A class that implements the UserEventListener can receive input events even though that application does not have user input focus.io. and stream event descriptors and NPT descriptors.net.media. org. 21.0.havi.ixc.io.VideoPresentationControl interface.dvb.0 sub package org.havi. Each scarce resource on a device will itself implement the notification regime.dvb.dsmcc provides extend access to files carried in the broadcast stream. The org. org. The HAVi User Interface contains the following packages: org. One of the most important classes is the DSMCCObject.media.ui.File methods.ca deals with all conditional access system issues.davic. DSMCCObjects can be used directly or by using the java.3. This set of packages requires a subset of the standard java.2 and appendix H to U in the MHP specification [MHP 1.event 21.dvb. org.io provides support for inter-application communication and an extension to the java. The DVBClassLoader is used to load classes and resources from a search path of URLs referring to locations where Java class files may be stored. Instances of this object represents object in a DSM-CC carousel. The org. org.resources holds the framework for resource notification adopted in MHP. org.lang package. which are available in this context and the ability to launch those applications.lang provides those core platform related features not found in the java.io package for access to files held in persistent storage.dvb.media provides DVB specific extensions to the Java Media Framework.dvb. org. The API also provides access to objects like streams and stream events.dvb.dvb.

ui provides extended graphics functionality.net. The interface can be used to set size. org.dvb.ca package provides the CAPermission that hold permissions for a range of CA system ids. org.net provides general networking features not found in other packages.dvb.si provides access to DVB service information.dvb. org. 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.dvb.dvb.dvb. By using the retrieveDescriptors method of the SIInformation interface it is possible to get the descriptors associated with an SI element. Service selection: Javatv service selection JMF Page 210 of 215 .rc package lets the applications set up a return channel if needed for the HTTP/TCP/UDP connection. position. extensions to the conditional access API from DAVIC.0 video presented on the video plane. Most of the calls to the SIDatabase are asynchronous.tuning package holds tuner permissions and associates each SI database with a network interface.net. The org. MHP requires support for HTTP. The API maps more or less directly onto the underlying SI tables. 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. when the information requested is available a SISuccessfulRetrieveEvent is sent. Graphic control: AWT. and clipping region.user provides access to settings and preferences configured by the end-user. This contains references to the SIRequest object. DVB SI. org.dvb. The org.dvb. The org.30th March 2006 The MHP-Guide Version: 1. The DVBGraphics class is an adapter class to support alpha compositing in an MHP device.test package allows test applications to log messages during their execution and to indicate their termination condition in a platform independent manner. a SIRequest object is returned. The org.media.dvb.net. Below are presented these main features and the available APIs for each. DVB UI SI access : JavaTv. It is also possible to monitor changes to a specific SI element using the SIMonitoringListener. HAVI.VideoFormatControl provides a way to transform the incoming signal according to the format defined in the decoder format conversion (DFC). The DVBTest class of the org. 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. As seen above several APIs can be used for the same feature.

30th March 2006 The MHP-Guide Version: 1.rc Audio/video control: JMF DAVIC Resource management by an application: org.dvb.resource Tuner control API: DAVIC Page 211 of 215 .davic.net.0 Return channel: org.

Developers must avoid using method org.3 a: org.. Properties of externally authorized applications will be returned from MHP 1. org.getAppAttributes(AppID).AppsDatabase.AppsDatabase.0.0.0.application.AppAttributes.application.isVisible().AppsDatabase. org.StreamEventListener l) throws UnknownEventException.AppsDatabase.3 onwards thru org.getAppIDs(AppsDatabaseFilter).dvb.2 and 1.application.dvb.dvb. Properties of externally authorized applications will be returned from MHP 1. throws EXPERT LEVEL public synchronized void unsubscribe(java.getAppAttributes(AppsDatabaseFilter): This method will return an empty Enumeration if there are no attributes. org.AppsDatabase.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.application. DSMCC-IO API definition change: The methods below are not yet synchronized: public synchronized int subscribe(java.application.0.StreamEventListener UnknownEventException unsubscribe(int l) eventId.30th March 2006 The MHP-Guide Version: 1.getAppAttributes(AppsDatabaseFilter). Returns null if no such application is available.application.application.String eventName.dsmcc.dvb.0.getAppIDs(AppsDatabaseFilter) ID of externally authorized running applications will be returned from MHP 1.dvb.dsmcc. Application Listing and launching changes: org.lang.3 onwards thru org. which doesn't exist in MHP 1.dsmcc.2 terminal for backward compatibility reason. It gives an overview on the potential backward compatibility problems in each domain.AppAttributes.AppsDatabase.dvb.3 onwards thru org.0.isVisible(): Applications that have been launched are marked as visible and listed.dvb.application.0 22 Annex D – Migration This annex presents a synthesis on the migration issues between the versions 1.dvb. InsufficientResourcesException public synchronized void org.3.String eventName.dvb.0. this method shall return true when application are listed false otherwise.dvb. org.dvb.getAppAttributes(AppID): Returns the properties associated with the given ID. Page 212 of 215 .lang.

ConnectionRCInterface.02 application must not sub-class Descriptor(). 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. That will affect the following objects: org.navigation. it will work also on MHP 1.EventListener So avoid relying on MHP 1. Use getName.tv. RETURN CHANNEL Method declaration changed: public interface ConnectionListener becomes public interface ConnectionListener extends java. getShortServiceName.service.dvb.net.Descriptor: the application don’t sub-class this Descriptor(). getProviderName and getShortProviderName instead.03 “may” return an IllegalImageException so developers that rely on this exception shall not yet rely on it to be backward compatible.util.rc.util.0 MEDIA Method definition change: public interface VideoFormatListener becomes public interface VideoFormatListener extends java.3 definition. SI Normative Clarification org.0.dvb.net.dvb.0.RCPermission.rc. The target for connection can include character “+” as the first character only to indicate the phone number including international code.ServiceComponent” Page 213 of 215 object . All 1. org.2 receiver). the developer must assume that an object that implements the connectionListener interface does not implement the EventListener interface.0.si. HAVI Behavior change If byte array don’t contain a valid image constructor HBackgroundImage(byte[]) in version 1.30th March 2006 The MHP-Guide Version: 1. Function not supported getTextualServiceIdentifiers no longer supported. Avoid usage of this class if application need to be compatible with both 1.2 to VideoFormatListener definition (use MHP 1.03: “javax.2 and 1.0. Object moved to new package ServiceComponent has moved to a new package.EventListener So to be backwards compatible.

Most part of the changes define in Errata 2 are mainly clarifications or editorial changes.navigation.si. an Errata 3 is coming soon to fix version 1. short[]) and org.si.dvb. Take care if you rely on this exception. (8 CRLs instead of 5 CRLs). 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.AppProxy a new field is added: Public static final int INVALID Security Changes in the minimum to be supported Certificate Revocation List. org.0.tv. DSM-CC In org.RetrieveSITransportStream(short.Descriptor. the last argument “someDescriptorTags” shall not be null.dvb. short[]) Object. Behavior changes: Delivery of carousel within multiple services delivered over multiple transport stream is possible if: Carousel_id in the carousel_id_descriptor is in the range of 0x100-0xffffffff. Object.03: “javax.dsmcc the exception ServiceXFRErrorEvent shall not be thrown if the Service Domain that actually contains the DSMCCObject is already mounted.application. In org. Avoid usage of this class if application need to be compatible with both 1.retrieveDescriptors(short.0.30th March 2006 The MHP-Guide Version: 1. Application In org.SIBouquet.dvb.SIBouquet.dvb.dsmcc the exception ServiceXFRException shall not be thrown if the Service Domain that actually contains the DSMCCObject is already mounted.StreamType” Recommendation In the functions org.SiNetwork. SIRetrievalListener.2 and 1. short[]) Object.dvb.0 StreamType has moved to a new package. So developers shall take care about this case to guarantee the same comportment on each type of implementations.3. because the behavior is implementation dependent. SIRetrievalListener.retrieveSIBouquetTransportStreams(short. The receiver shall deactivate any event listeners dependant on a timebase (and may free resources associated with those listeners) under the followPage 214 of 215 .si.dvb.service.Descriptor. SIRetrievalListener.

NPTDiscontinuityEvent generated) in that timebase. either through the MHP API or through the service selection feature of the MHP navigator . or If a service selection operation changes the current service.30th March 2006 The MHP-Guide Version: 1. Page 215 of 215 .0 ing conditions If a timebase is deleted (reference to it is removed from the set of NPTReferenceDescriptors) but also If a discontinuity is detected (i.e.

Sign up to vote on this title
UsefulNot useful