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