1、 ETSI TS 102 728 V1.2.1 (2011-09) Digital Video Broadcasting (DVB); Globally Executable MHP (GEM) Specification 1.3 (including OTT and hybrid broadcast/broadband) floppy3Technical Specification ETSI ETSI TS 102 728 V1.2.1 (2011-09)2Reference RTS/JTC-DVB-302 Keywords API, broadcasting, digital, DVB,
2、interaction, multimedia, profile, video ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N 348 623 562 00017 - NAF 742 C Association but non lucratif enregistre la Sous-Prfecture de Grasse (06) N 7803/88 Important notice Individ
3、ual copies of the present document can be downloaded from: http:/www.etsi.org The present document may be made available in more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version is the Portable Document
4、Format (PDF). In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the curre
5、nt status of this and other ETSI documents is available at http:/portal.etsi.org/tb/status/status.asp If you find errors in the present document, please send your comment to one of the following services: http:/portal.etsi.org/chaircor/ETSI_support.asp Copyright Notification No part may be reproduce
6、d except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media. European Telecommunications Standards Institute 2011. European Broadcasting Union 2011. All rights reserved. DECTTM, PLUGTESTSTM, UMTSTMand the ETSI logo are Trade Marks of
7、ETSI registered for the benefit of its Members. 3GPPTM and LTE are Trade Marks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners. GSM and the GSM logo are Trade Marks registered and owned by the GSM Association. ETSI ETSI TS 102 728 V1.2.1 (2011-09)3Contents I
8、ntellectual Property Rights 29g3Foreword . 29g3Introduction 29g31 Scope 31g32 References 31g32.1 Normative references . 32g32.2 Informative references 36g33 Definitions and abbreviations . 37g33.1 Definitions 37g33.2 Abbreviations . 41g34 General considerations and conventions 44g34.1 General consid
9、erations . 44g34.1.1 Purpose . 44g34.1.2 Format . 45g34.1.3 Inclusion of GEM features 45g34.1.3.1 Subsetting prohibited 45g34.1.3.2 Supersetting permitted 45g34.1.4 Addition of non-GEM interfaces 45g34.1.4.1 DVB-J enumerations . 45g34.1.4.2 Competitive APIs 45g34.1.4.2.1 Illustration of Complementar
10、y Functional equivalents 46g34.1.4.2.2 Illustration of Competitive APIs 46g34.1.5 Application areas 46g34.1.5.1 Broadcast target . 47g34.1.5.2 Packaged Media target 47g34.1.5.3 IPTV target 47g34.1.5.4 OTT target . 47g34.1.5.5 Typical Hybrid profiles . 47g34.1.6 Profiles 48g34.1.7 Full conformance wi
11、th the present document . 48g34.2 Conventions 49g34.2.1 Void 50g34.2.2 Void 50g34.2.3 Void 50g34.2.4 Conventions within the present document 50g34.2.4.1 GEM 50g34.2.4.2 Resident navigator . 50g34.2.4.3 DVB service 50g34.2.5 References to OCAP . 50g35 Basic architecture (informative) . 51g35.1 Contex
12、t . 51g35.2 Architecture 52g35.2.1 Resources 52g35.2.2 System software 52g35.2.2.1 Application Manager . 52g35.2.3 Application . 53g35.3 Interfaces Between a GEM Application and the GEM Terminal . 53g35.4 Plug-ins 55g35.4.1 Security Model 56g36 Transport protocols. 56g36.1 Introduction 56g36.2 Broad
13、cast channel protocols . 57g3ETSI ETSI TS 102 728 V1.2.1 (2011-09)46.2.1 MPEG-2 transport stream . 57g36.2.2 MPEG-2 sections 57g36.2.3 DSM-CC private data . 58g36.2.4 DSM-CC data carousel . 58g36.2.5 Object carousel . 58g36.2.5.1 Void. 58g36.2.5.2 Void. 58g36.2.5.3 Loss of carousel behaviour 58g36.2
14、.6 Protocol for delivery of IP multicast over the broadcast channel . 59g36.2.7 Internet Protocol (IP) 59g36.2.8 User Datagram Protocol (UDP) 59g36.2.9 Service information. 59g36.2.10 IP signalling 59g36.3 Interaction channel protocols . 60g36.3.1 Network Dependent Protocols 60g36.3.2 Internet Proto
15、col (IP) 60g36.3.3 Transmission Control Protocol (TCP) 60g36.3.4 UNO-RPC. 60g36.3.5 UNO-CDR 61g36.3.6 DSM-CC User to User 61g36.3.7 Hypertext Transfer Protocol (HTTP) 61g36.3.7.1 HTTP 1.1 . 61g36.3.7.2 GEM profile of HTTP 1.0 . 61g36.3.7.2.1 HTTP 1.0 persistent connections . 61g36.3.7.2.2 The Keep-A
16、live Header . 61g36.3.7.2.3 GEM and proxies . 62g36.3.7.2.4 Version compatibility 62g36.3.7.3 HTTPS 62g36.3.8 User Datagram Protocol (UDP) 62g36.3.9 DNS 62g36.3.10 Additional Transport Protocols . 62g36.4 Transport protocols for application loading over the interaction channel 62g36.4.1 File system
17、implemented only by the interaction channel 62g36.4.1.1 File system logical structure 63g36.4.1.2 File transfer . 64g36.4.1.3 Class encoding 64g36.4.1.4 Directory listing in this file system . 65g36.4.2 Hybrid between broadcast stream and interaction channel . 65g36.4.2.1 File transfer . 65g36.4.2.1
18、.1 Broadcast file delivery . 65g36.4.2.1.2 Interaction channel delivery 65g36.4.2.1.3 HTTPProfileBody 65g36.5 IPTV protocols . 66g36.5.1 Transport protocols . 66g36.5.1.1 Service Discovery and Selection . 66g36.5.1.2 Broadband Content Guide . 66g36.5.1.3 Real Time Protocol (RTP) 66g36.5.1.4 Real Tim
19、e Streaming Protocol (RTSP) . 66g36.5.1.5 Internet Group Management Protocol (IGMP) . 66g36.5.2 Service information and metadata protocols . 66g36.5.2.1 IP service discovery 66g36.5.2.2 Broadband content guide . 66g36.6 OTT Protocols 67g36.6.1 Protocols for streaming . 67g36.6.1.1 Adaptive Streaming
20、 . 67g36.6.2 Protocols for download . 67g37 Content formats 68g37.1 Static formats 68g37.1.1 Bitmap image formats . 68g37.1.1.1 Image encoding restrictions 68g37.1.1.2 JPEG . 68g3ETSI ETSI TS 102 728 V1.2.1 (2011-09)57.1.1.3 PNG. 68g37.1.1.4 GIF 68g37.1.2 MPEG-2 I-Frames 68g37.1.3 MPEG-2 Video “drip
21、s“ . 69g37.1.4 Monomedia format for audio clips . 70g37.1.5 Monomedia format for text . 70g37.1.5.1 Built-in character set . 70g37.2 Media streaming formats 71g37.2.1 Audio 71g37.2.2 Video 71g37.2.3 Subtitles 71g37.2.3.1 DVB Subtitles . 71g37.2.3.2 Teletext . 71g37.2.4 Containers . 72g37.2.5 Streami
22、ng Manifest . 72g37.3 Resident fonts . 72g37.4 Downloadable fonts 72g37.4.1 PFR . 73g37.4.2 OpenType . 74g37.5 Colour representation . 74g37.5.1 Background (informative) . 74g37.5.2 Specification . 75g37.5.2.1 The sRGB Reference Viewing Environment 75g37.5.2.2 Colourimetric Definitions and Encodings
23、 . 75g37.6 MIME types 77g37.6.1 Rationale . 77g38 Void 78g39 Application model 78g39.1 Service-bound GEM applications . 78g39.1.1 Basic lifecycle control 78g39.1.2 Starting applications . 79g39.1.3 Support for execution of multiple simultaneous applications . 79g39.1.4 Stopping applications 79g39.1.
24、4.1 A new service being selected replacing a previously selected one . 79g39.1.4.2 The stopping of an application by another application 79g39.1.4.3 Changes in the application signalling to request a particular application be stopped . 79g39.1.4.4 Stopping by the GEM terminal due to a shortage of re
25、sources . 80g39.1.5 Persistence of Applications Across Service Boundaries . 80g39.1.6 Management of autostarting . 80g39.1.7 Tuning without service selection 81g39.1.8 GEM Applications and Service Selection . 81g39.1.9 Cached applications 81g39.1.9.1 Version management . 82g39.1.9.2 Proactive cachin
26、g 82g39.2 DVB-J Model . 83g39.2.1 Starting DVB-J Applications 83g39.2.2 Stopping a DVB-J Application . 83g39.2.3 DVB-J Application Lifecycle . 83g39.2.3.1 Introduction . 83g39.2.3.2 Lifecycle state machine for DVB-J application instances . 84g39.2.4 Xlet API 86g39.2.4.1 Xlet State Change Semantics 8
27、6g39.2.4.2 Xlet state change requests . 86g39.2.5 Multiple application environment support 87g39.2.5.1 Control of DVB-J applications by other DVB-J applications . 87g39.2.5.2 Input Focus management 87g39.2.5.3 Other resources management 87g39.2.5.4 VM implementation 88g39.3 Void 88g39.4 Inter-applic
28、ation resource management 88g3ETSI ETSI TS 102 728 V1.2.1 (2011-09)69.4.1 Application instances running in the same service context . 88g39.4.2 Application instances not running in the same service context 89g39.5 Void 89g39.6 Services and applications not related to conventional services 89g39.6.1
29、Applications loaded from the interaction channel 89g39.6.2 Stored services 89g39.6.3 DVB-J Model 91g39.6.4 Common behaviour. 91g39.7 Lifecycle of internet access applications 92g39.7.1 General issues . 92g39.7.2 Starting internet access applications from GEM applications. 92g39.7.3 Selecting DVB ser
30、vices from internet access applications . 92g39.8 Plug-ins 93g39.9 Stored and cached applications 93g39.9.1 Storing files . 93g39.9.2 Version management 94g39.9.3 Removing stored applications . 94g39.9.4 Interrupted downloads 94g39.9.5 Dynamic behaviour. 94g39.10 Lifecycle interactions between GEM a
31、nd resident applications . 95g39.11 Providers. 95g39.11.1 Introduction (informative) 95g39.11.2 Lifecycle of xlet bound providers . 96g39.11.3 Lifecycle of system bound providers 96g39.12 Impact of graphics constraints on the application model . 96g39.12.1 Impact on generic applications . 96g39.12.2
32、 Impact on DVB-J applications 97g39.13 Unbound Applications 98g39.13.1 Introduction to unbound applications (informative) . 98g39.13.1.1 Scope . 98g39.13.1.2 Divergences from OCAP Solution 98g39.13.1.3 Overview. 99g39.13.2 Service model . 99g39.13.3 Application lifecycle . 99g39.13.4 Initialization
33、of GEM Environment 99g310 Application signalling 100g310.1 Introduction 100g310.1.1 Summary of requirements on common signalling 100g310.1.2 Summary of additional signalling for DVB-J applications . 100g310.2 Program specific information . 100g310.3 Locators within an Application Description . 100g3
34、10.4 Application Description . 101g310.4.1 Application Description transmission and monitoring . 101g310.4.2 Visibility of Application Description and tuning 101g310.4.3 Content of the Application Description 101g310.4.3.1 DVB-J application control codes 104g310.4.3.2 Application icons descriptor 10
35、4g310.4.3.3 Graphics constraints descriptor . 106g310.4.4 Applications from previously selected services 107g310.4.5 AIT File 107g310.4.5.1 Syntax . 107g310.4.5.2 Syntactic restrictions . 107g310.4.5.2.1 Transport protocols 107g310.4.5.3 Semantics 108g310.4.5.4 MIME type 108g310.5 DVB-J specific App
36、lication Description 108g310.5.1 General 108g310.5.2 Content of DVB-J Application Description 109g310.6 Constant Values 110g310.7 Plug-in signalling . 110g310.7.1 Native signalling scenario . 110g3ETSI ETSI TS 102 728 V1.2.1 (2011-09)710.7.2 GEM signalling scenario 110g310.7.3 Delegated application
37、descriptor . 111g310.7.4 Plug-in descriptor 111g310.8 Stored Applications 112g310.8.1 Use of stored application signalling 112g310.8.1.1 Stored broadcast service related applications 112g310.8.1.2 Stored stand-alone applications . 112g310.8.2 Application storage descriptor 113g310.8.3 Application De
38、scription File . 114g310.8.3.1 Description 114g310.8.3.2 Application Description File name and location . 115g310.8.3.3 Syntax . 115g310.8.3.4 Semantics 115g310.9 Signalling for providers 116g310.10 Signalling for IPTV 116g310.10.1 Service bound application signalling 116g310.10.2 XAIT . 117g311 DVB
39、-J platform 117g311.1 The virtual machine 117g311.2 General issues . 117g311.2.1 Basic Considerations. 117g311.2.2 Approach to Subsetting . 118g311.2.3 Class Loading . 118g311.2.3.1 Fundamental principles . 118g311.2.3.2 Class loading and providers 118g311.2.4 Unloading . 118g311.2.5 Event listeners
40、 . 118g311.2.6 Event model in DAVIC APIs . 119g311.2.7 Event model in DAVIC and DVB APIs . 119g311.2.8 Tuning as a side-effect 119g311.2.9 Intra application media resource management 119g311.2.10 Application thread priority 119g311.2.11 Text Encodings . 119g311.2.11.1 Text encoding in Service Inform
41、ation . 120g311.3 Fundamental DVB-J APIs 120g311.3.1 Java platform APIs 120g311.3.1.1 java.lang package 120g311.3.1.2 java.void 121g311.3.1.3 Void. 121g311.3.1.4 java.io, javax.microedition.io 121g311.3.1.5 122g311.3.2 GEM platform APIs 123g311.3.2.1 org.dvb.lang 123g311.3.2.2 org.dvb.event . 123g3
42、11.3.2.2.1 Generic description 123g311.3.2.2.2 Additional semantics for org.dvb.event . 123g311.3.3 Java TV . 123g311.4 Presentation APIs . 123g311.4.1 Graphical User Interface API 123g311.4.1.1 The Core GUI API 123g311.4.1.2 TV user interface . 124g311.4.1.3 Extended graphics . 126g311.4.1.4 Televi
43、sion viewing mode 126g311.4.1.5 Font bindings. 128g311.4.1.5.1 PFR0 128g311.4.1.5.2 OpenType 129g311.4.2 Streamed Media API . 129g311.4.2.1 Framework of solution 129g311.4.2.2 Clarifications. 129g311.4.2.3 Default media player behaviour 130g311.4.2.4 Required controls for video drips 130g3ETSI ETSI
44、TS 102 728 V1.2.1 (2011-09)811.4.2.5 Extensions to the Framework 130g311.4.2.5.1 DVB specified extensions . 130g311.4.2.5.2 Extensions in org.davic . 131g311.4.2.5.3 Extensions in javax.tv 131g311.4.2.5.4 Required controls for broadcast profiles and packaged media profiles . 132g311.4.2.5.5 Clarific
45、ations . 133g311.4.2.5.6 Component-based JMF players . 134g311.4.2.5.7 Streaming Monitoring API 134g311.4.2.5.8 Media Stream Synchronization API 135g311.4.2.5.8.1 API behavior in border cases . 136g311.4.2.5.8.2 Establishing a Master/Slave Relationship . 136g311.4.2.5.8.3 Adding a Slave 136g311.4.2.
46、6.8.4 Removing a Slave 137g311.4.2.5.8.5 Starting a Master Player 137g311.4.2.5.8.6 Setting the Media Time and Rate of a Master Player 137g311.4.2.5.8.7 Loss of Synchronization 138g311.4.2.5.8.8 Event Handling 138g311.4.2.6 Restrictions on the Framework for Broadcast . 138g311.4.2.7 Intersection Bet
47、ween MediaSelectControl and SubtitlingLanguageControl/ AudioLanguageControl . 139g311.4.2.8 Intersection between Streamed Media API and TV User Interface API . 140g311.4.2.8.1 Basic Principles . 140g311.4.2.8.2 TV Behaviour Control . 140g311.4.2.8.3 Application Behaviour Control . 141g311.4.2.8.4 Dy
48、namic Behaviour . 141g311.4.2.8.5 Resource Management Details 141g311.4.2.9 Integration with providers . 141g311.4.2.10 Additional and modified semantics for IPTV . 142g311.4.2.11 Time-setting operations for OTT 142g311.5 Data access APIs 142g311.5.1 Broadcast Transport Protocol Access API 142g311.5
49、.1.1 Constraints on the java.io.File methods for broadcast carousels . 142g311.5.1.2 Methods dealing with write access 143g311.5.1.3 Behaviour following loss of a broadcast carousel . 144g311.5.2 Support for Multicast IP over the Broadcast Channel. 144g311.5.3 Support for IP over the Return Channel 144g311.5.4 MPEG-2 Section Filter API 145g311.5.5 Mid-Level Communications API 145g311.5.6 Persistent Storage API 145g311.5.7 File Storage Device Access 147g311.5.7.1 Basic Specification 147g311.5.7.2 DVB specific modifications 147g311.6 Service information and selection AP