You are previewing Interactive TV Standards.
O'Reilly logo
Interactive TV Standards

Book Description

For any digital TV developer or manager, the maze of standards and specifications related to MHP and OCAP is daunting-you have to patch together pieces from several standards to gather all the necessary knowledge you need to compete worldwide. The standards themselves can be confusing, and contain many inconsistencies and missing pieces. Interactive TV Standards provides a guide for actually deploying these technologies for a broadcaster or product and application developer.

Understanding what the APIs do is essential for your job, but understanding how the APIs work and how they relate to each other at a deeper level helps you do it better, faster and easier. Learn how to spot when something that looks like a good solution to a problem really isn't. Understand how the many standards that make up MHP fit together, and implement them effectively and quickly. Two DVB insiders teach you which elements of the standards that are needed for digital TV, highlight those elements that are not needed, and explain the special requirements that MHP places on implementations of these standards.

Once you've mastered the basics, you will learn how to develop products for US, European, and Asian markets--saving time and money. By detailing how a team can develop products for both the OCAP and MHP markets, Interactive TV Standards teaches you how to to leverage your experience with one of these standards into the skills and knowledge needed to work with the critical, related standards.

Does the team developing a receiver have all the knowledge they need to succeed, or have they missed important information in an apparently unrelated standard? Does an application developer really know how to write a reliable piece of software that runs on any MHP or OCAP receiver? Does the broadcaster understand the business and technical issues well enough to deploy MHP successfully, or will their project fail? Increase your chances of success the first time with Interactive TV Standards.

Table of Contents

  1. Cover
  2. Halftitle
  3. Title
  4. Copyright
  5. Contents
  6. Introduction
  7. 1 The Middleware Market
    1. Why Do We Need Open Standards?
    2. Driving Forces Behind Open Standard Middleware
      1. Standards in DTV
      2. Correcting the Fragmented ITV Market
    3. What Are DVB and CableLabs?
      1. The Digital Video Broadcasting Project
      2. DVB-MHP: The Multimedia Home Platform
      3. CableLabs
      4. OpenCable Applications Platform (OCAP)
    4. A History Lesson: The Background of MHP and OCAP
    5. The MHP Family Tree
      1. JavaTV: A Common Standard for DTV
      2. Harmonization: Globally Executable MHP
    6. The Difficult Part of Standardization
    7. Intellectual Property and Royalties
    8. Where Do We Go from Here?
    9. Open Versus Proprietary Middleware
  8. 2 An Introduction to Digital TV
    1. The Consumer Perspective
    2. Customizable TV
    3. Understanding DTV Services
    4. Producing DTV Content
      1. Elementary Streams
      2. Transport Streams
      3. The Multiplexing Process
    5. Carrying Transport Streams in the Network
      1. Energy Dispersal
      2. Error Correction
      3. Modulation
    6. Cable, Satellite, and Terrestrial Broadcasting
    7. Broadcasting Issues and Business Opportunities
    8. Subscriber Management and Scrambling
      1. Access Issues
      2. The Subscriber Management System
    9. The Return Channel: Technical and Commercial Considerations
  9. 3 Middleware Architecture
    1. MHP and OCAP Are Not Java
    2. They Are Not the Web, Either
    3. Working in the Broadcast World
    4. The Anatomy of an MHP/OCAP Receiver
    5. The Navigator
    6. Differences in OCAP
      1. A New Navigator: The Monitor Application
      2. Modules in the Execution Engine
    7. Architectural Issues for Implementers
    8. Choosing a Java VM
      1. Sun’s JVM or a Clean-room Implementation?
      2. The Impact of the Java Community Process
      3. Portability
      4. Performance Issues
  10. 4 Applications and Application Management
    1. An Introduction to Xlets
      1. Xlet Basics
      2. Xlet Contexts
    2. Writing Your First Xlet
    3. Dos and Don’ts for Application Developers
    4. Application Signaling
    5. Extending the AIT
    6. Controlling Xlets
    7. Registering Unbound Applications
    8. Making Applications Coexist Reliably
    9. Pitfalls for Middleware Developers
  11. 5 The JavaTV Service Model
    1. What Happens During Service Selection?
    2. Abstract Services
      1. Managing Abstract Services in OCAP
      2. Registering Applications
      3. Selecting Abstract Services
  12. 6 Resource Management Issues
    1. Introducing the Resource Notification API
    2. Using the Resource Notification API
    3. Handling Resource Contention
    4. Resource Management in OCAP
      1. Resource Contention Before Version I12
      2. Resource Contention in Later Versions
      3. Common Features of Resource Contention Handling
      4. An Example of a Possible Resource Contention Solution
      5. Resource Management Strategies in OCAP
    5. Merging OCAP and MHP Resource Management
  13. 7 Graphics APIs
    1. The Display Model in a DTV Receiver
      1. HScreens and HScreenDevices
      2. Configuring Screen Devices
      3. Screen Devices and Resource Management
      4. A Practical Example of Device Configuration
    2. HScenes and HsceneTemplates
      1. Creating an HScene
      2. Developing Applications Using HScenes
    3. The HAVi Widget Set
      1. Changing the Look of Your Application
      2. HLooks in Practice
      3. The Behavior of Components in MHP and OCAP
      4. Interacting with Components
    4. Coordinate Schemes
    5. Integrating Graphics and Video
      1. Transparency
      2. Mattes and Alpha Compositing
    6. Images
    7. Text Presentation
      1. Multilingual Support
      2. Using Fonts
    8. Handling User Input
      1. Keyboard Events and Input Focus
      2. Exclusive Access to Keyboard Events
    9. Practical Issues for DTV Graphics
  14. 8 Basic MPEG Concepts in MHP and OCAP
    1. Content Referencing in the MHP and OCAP APIs
    2. Locators for DVB Streaming Content
    3. Locators for Streaming Content in OCAP Systems
    4. Locators for Files
    5. Locators for Video Drips
    6. Locator Classes
    7. Creating a Locator
    8. Network-bound Locators
  15. 9 Reading Service Information
    1. SI and Other System Components
    2. Why Do We Need Two SI APIs?
    3. Caching Strategies
    4. In-band Versus Out-of-band SI
    5. The DVB SI API
      1. The SI Database
      2. Making an SI Request
      3. Getting the Results of a Query
      4. Events
      5. An Example of Retrieving SI Data
      6. Monitoring SI
      7. Low-level Access to SI Data
    6. Using the JavaTV SI API
      1. Basic Concepts
      2. Handling the Results from an SI Query
      3. The Core SI API
      4. Access to Transport Information
      5. Access to Information About Services
      6. Access to Information About Events
      7. Monitoring SI
    7. The OCAP SI Extensions
    8. System Integration
      1. Caching SI
      2. Building the API Implementations
      3. Handling Event Handlers
      4. Performance Issues
  16. 10 Section Filtering
    1. Hardware Versus Software Section Filters
    2. Using Section Filters
    3. The Section-filtering API
      1. Section Filters
      2. Types of Section Filters
    4. Section Filter Groups
    5. Section Filter Events
    6. An Example
    7. The Middleware Perspective: Event Dispatching
    8. Managing Section Filter Resources
      1. Managing Section Filters in Your Application
      2. Managing Section Filters in the Middleware
  17. 11 Media Control
    1. Content Referencing in JMF
    2. Basic JMF Concepts
      1. The Player Creation Process
      2. A Closer Look at Data Sources
    3. JMF Players
      1. The Player State Machine
      2. Player Events
    4. Time Bases, Clocks, and Media Time
    5. DSM-CC Normal Play Time
    6. Controls
    7. JMF Extensions for DTV
      1. javax.tv.media.MediaSelectControl
      2. javax.tv.media.AWTVideoSizeControl
      3. org.dvb.media.VideoFormatControl
      4. org.davic.media.LanguageControl
      5. org.ocap.media.ClosedCaptioningControl
    8. Using Players to Control Players
    9. A DTV Special Case: The Video Drip Content Format
    10. JMF in the Broadcast World
      1. Getting a Player for the Current Service
      2. Players and Service Selection
      3. Integrating Video with AWT
      4. Subtitles, Closed Captions, and JMF Players
    11. Managing Resources in JMF
    12. Restrictions on Another Resource: Tuning
    13. Playing Audio from Sources Other Than Files
  18. 12 DSM-CC and Broadcast File Systems
    1. DSM-CC Background
      1. Why Choose DSM-CC?
      2. Isn’t There Better Documentation?
    2. An Overview of DSM-CC
      1. Object Carousels
      2. An Example Object Carousel
    3. More Than Just a File System
      1. Normal Play Time
      2. Stream Events
      3. The Relationship Between NPT and Stream Events
    4. DSM-CC in Detail
      1. Data Carousels
      2. Object Carousels
      3. Multiprotocol Encapsulation
    5. DSM-CC and SI
      1. DSM-CC Streams and the PMT
      2. DSM-CC Descriptors
    6. DSM-CC Messages
      1. Data Carousel Messages
      2. Object Carousel Messages
      3. Referring to Streams and Objects
      4. Transporting Object Carousels in Data Carousels
    7. Parsing DSM-CC Messages
    8. Using the DSM-CC API
      1. Manipulating DSM-CC Objects
      2. Mounting an Object Carousel
      3. An Example
      4. Updating Objects
      5. Synchronization: Stream Events and NPT
    9. Practical Issues
      1. Latency and Caching Strategies
      2. Latency Issues and Application Design
      3. Application Management and File System Issues
      4. System Integration Issues
  19. 13 Security in MHP and OCAP
    1. How Much Security Is Too Much?
    2. The MHP and OCAP Security Model
      1. Permissions
      2. Permission Request Files
      3. Signed and Unsigned Applications
    3. Signing Applications
      1. Hash Files
      2. Signature Files
      3. Certificates
      4. An Example of the Signing Process
    4. Revoking Certificates: The Certificate Revocation List
      1. Distributing Certificate Revocation Lists
    5. Differences Between MHP and OCAP
  20. 14 Communicating with Other Xlets
    1. Class Loader Physics in MHP
    2. The Inter-Xlet Communication Model
      1. Using RMI
      2. Problems with RMI
      3. RMI Extensions
    3. An Example of Inter-Xlet Communication
    4. Practical Issues
      1. Generating Stub Classes
      2. Calling Remote Methods
      3. Arguments and Return Values
      4. Managing Stub Classes
  21. 15 Building Applications with HTML
    1. Application Boundaries
    2. The Core Standards of DVB-HTML
      1. CSS Support
      2. Scripting Support
      3. Dynamic HTML
    3. Developing Applications in DVB-HTML
      1. Navigating Around a DVB-HTML Application
      2. Special URLs
      3. Displaying an HTML Application
      4. Transparent Elements
      5. Embedding Video in Your Application
    4. DVB-HTML Application Signaling
    5. Events and HTML Applications
      1. Life Cycle Events
      2. Stream Events and DOM Events
      3. System Events
    6. Coexistence of HTML and Java Applications
      1. Accessing Java APIs from ECMAScript
      2. Extending the Document Object Model
    7. Real-world HTML Support
    8. The Future of DVB-HTML
  22. 16 MHP 1.1
    1. The Internet Access Profile
      1. The Philosophy of the Internet Client API
      2. Using the Internet Client API
      3. General Operations on Internet Clients
      4. E-mail Clients
      5. Web Browsers
      6. News Readers
      7. A Practical Example
    2. Inner Applications
      1. Creating an Inner Application
      2. Drawing an Inner Application
      3. The Life Cycle of Inner Applications
    3. Stored Applications
    4. Plug-ins
      1. Plug-ins and Application Signaling
      2. Building a Plug-in
    5. The Smart Card API
      1. The OCF Architecture
      2. Querying the Smart Card Reader
      3. Using Card Services
      4. A Practical Example
      5. Implementing a Card Service
    6. MHP 1.1 in the Real World
  23. 17 Advanced Topics
    1. Using the Return Channel
      1. Return Channel Interfaces
      2. Getting Access to a Return Channel Interface
      3. Connection-based Return Channel
      4. Using a Return Channel
    2. Advanced Application Management
      1. Getting Information About an Application
      2. Controlling Applications
      3. Managing Applications in an OCAP Receiver
    3. Tuning to a Different Transport Stream
      1. Network Interfaces
      2. Finding the Right Network Interface
      3. Tuning to a New Transport Stream
      4. Tuning Events
      5. Resource Management in the Tuning API
      6. An Example of Tuning
      7. Tuning and Other Components
  24. 18 Building a Common Middleware Platform
    1. GEM and Other Standards
    2. Replacement Mechanisms
    3. What GEM Means for Middleware Implementers
    4. Design Issues
      1. Porting to a New Hardware Platform
      2. Customizing Our Middleware
      3. Developing Other Middleware Solutions
    5. Techniques for Improving Reusability
      1. Designing Reusable Components
      2. Reusability Outside GEM
      3. An Example: The SI Component
      4. Limits to Reusability
  25. 19 Deploying MHP and OCAP
    1. From Vertical Markets to Horizontal Markets
    2. The Fight for Eyeballs: Cable, Satellite, and Terrestrial
    3. A Mandatory Middleware Platform?
    4. Switching Off Analog
    5. Making Money from ITV
      1. The Good News
      2. The Bad News
    6. Other Types of Services
    7. Conditional Access and Horizontal Markets
    8. “MHP Lite” and Low-end Solutions
    9. Interoperability
    10. MHP Interoperability Events and Plug-fests
    11. Conformance Testing
      1. Anomalies in the Conformance Testing Program
      2. The MHP Conformance Testing Process
      3. Testing MHP: A Case Study
      4. Testing OCAP
      5. Compliance and Quality
    12. Head-end Requirements
      1. Remultiplexing Issues
      2. Conditional Access
    13. Using Object Carousels
    14. OTA Download and Engineering Channels
    15. Convergence with the Internet: Fact or Fiction?
  26. Appendix A: DVB Service Information
    1. The Organization of SI
      1. Descriptors
      2. Transmitting an SI Table
    2. Program-specific Information
    3. Conditional Access Information
    4. DVB SI
      1. Finding Information About the Network
      2. Bouquets
      3. Describing Services in DVB
      4. Describing Events
      5. Telling the Time
    5. Putting It All Together
    6. Optimizing Bandwidth Usage: The Transport Stream Description Table
  27. Appendix B: ATSC Service Information
    1. Describing Available Channels
      1. The Virtual Channel Table
      2. Describing Individual Channels
    2. Event Information
    3. Event Information in a Satellite Network
    4. Extended Text Descriptions
      1. Extended Text Messages
      2. Extended Descriptions in a Satellite Network
    5. Parental Ratings
    6. Advanced Functions: Redirecting Channels
    7. Telling the Time Correctly
    8. Putting It All Together
      1. PSIP Profiles in Cable Systems
      2. Broadcasting PSIP Data
  28. Index