Migrating a BDA Solution to PBDA - 1
Migrating a BDA Solution to PBDA
Guidelines for Computer OEMs and DigitalTunerVendors
April21, 2009
Abstract
This whitepaper provides information about the Protected Broadcast Driver Architecture (PBDA) for the Windows® family of operating systems.
PBDA is the Microsoft worldwide platform to integrate broadcast TV services into Windows Media Center on a computer that is running the Windows® family of operating systems. Although Windows Media Center still supports existing Broadcast Driver Architecture(BDA) solutions, computer original equipment manufacturers (OEMs) and tuner vendors can use the guidelines in this white paper to migrate an existing BDA solution to PBDA.
This information applies for the following operating systems:
Windows7
Windows Vista® SP1 with Windows Media Center TV Pack 2008
References and resources discussed here are listed at the end of this paper.
For the latest information, see:
Disclaimer: This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein.
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred.
© 2009 Microsoft Corporation. All rights reserved.
Microsoft, Windows, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Document History
Date / ChangeApril 21, 2009 / First publication
Contents
Overview of BDA and PBDA
PBDA Services
Tuner Requirements for Windows Media Center
Supported Combinations of Requirements
Converting an Existing BDA Solution to PBDA
Primary Features in PBDA
Man-Machine Interface (MMI)
Descramble Failure Notifications (DFNs)
Extensible Setup for Tuners
PBDA Guide Data
Protected Content in PBDA
Resources
Appendix: Acronyms
Overview of BDA and PBDA
The Protected Broadcast Driver Architecture (PBDA) is the new Microsoft worldwide platform for watching broadcast TV on the computer. The recent release of the Windows® Media Center TV Pack makes this possible. For the first time, the PBDAplatform enables the computer-TV hardware ecosystem to integrate virtually any free or premium TV service into Windows Media Center, while it satisfies the TV industry's requirements for strong content protection for pay TV.
The PBDA platform enhances and supersedes the existing Broadcast Driver Architecture (BDA), which was the Microsoft standard for digital video capture on Windows-based operating systems for many years.The PBDA platform enables original equipment manufacturers (OEMs) and tuner vendorsto integrate virtually any free or premium TV service into Windows Media Center, while satisfying the TV industry's requirements for strong content protection.
PBDA extends BDA because it:
- Adds the ability to send protected content through BDA.
- Is independent of network protocolbinding, such as IP or kernel streaming (KS) bindings, and allows PBDA to transmit content in several ways.
For more information about PBDA, refer to the PBDA specification, which is listed in “Resources” at the end of this paper.
This whitepaper provides information on how to migrate a BDA solution to PBDA. It also describes the required services and primary features of a PBDA implementation.
PBDA Services
PBDA services can be divided into the following two types:
- Required PBDA services, which a tuner must implementto be considered a PBDA solution. The PBDA specification defines five required services that are described in Table 1.
- Optional PBDA services, one or all of which a tuner mayimplement. The PBDA specification defines ten optional services that are described in Table2.
Table 1. Required PBDA Services
Service / DescriptionEventing / Support for sending events from all PBDA services.
Tuner / Generic tuning service that provides access to live content. It is typically used to configure and monitor a physical tuner and its associated demodulator.
Conditional Access Service (CAS) / Generic service that reflects the activity of the conditional access (CA) application. It is used to report any CA diagnostics and messaging, and to request control of the tuner.
General Purpose Name Value Service (GPNVS) / Support for getting and setting tuner information.
Digital Rights Management (DRM) / Unique portal to enumerate and select all proprietary DRM systems. Note that the actual implementation of a DRM system is not required, only this service, which allows the tuner to signal which DRM, if any, it implements.
Table 2. Optional PBDA Services
Service / DescriptionMux / Support for selecting and monitoring each component of the released content.
Scanning / Support for physically locating signals through hardware scanning.
- Guide Data Delivery Service (GDDS)
- Debug
- Internet Gateway
- Aux
- Encoder
- User Activity
- WMDRMSession
- WMDRMTuner
For more information about the PBDA services that are described in this section, refer to the following specifications:
- Sections 6 and 7 of the PBDA Core Services specification.
- Sections 3.16 and 3.17 of the PBDAWindows Media Digital Rights Management (WMDRM) specification.
These specifications are part of the overall PBDA specification, which is listed in “Resources” at the end of this paper.
Tuner Requirements for Windows Media Center
For eachPBDA feature in Windows Media Center, a tuner must support one or more PBDA service. Table 3 shows the PBDA services that are required for each PBDA feature.
Table 3. PBDA Features and Required PBDA Services
Feature / Description / Required PBDA servicesMan-Machine Interface (MMI) / The MMI defines a set of dialog boxes that PBDA uses to inform and notify the user. /
- GPNVS
- CAS
- Eventing
- DFN
Descramble Failure Notifications (DFNs) / DFNs are used to track media streaming errors in PBDA. Failure notifications rely on the MMI to display errors to the user. /
- GPNVS
- CAS
- Eventing
- DFN
Extensible Setup for Tuners / This feature extends Windows Media Center setup capabilities and provides additional first run (FRUN) setup for tuners. /
- GPNVS
- CAS
- Eventing
Extensible Tuning / PBDA supports an XML-based tuning mechanism for diverse tuner devices. /
- Tuner
- GPNVS
- Potentially GDDS as a source of a XML tune request (TuneXml) data.
PBDA Guide Data / This feature extends the guide data that Windows Media Center provides and defines methods for delivering the data to the user. /
- GPNVS
- GDD
Protected Content / PBDA provides robust transmission of premium content to Windows Media Center. /
- DRM
- WMDRMSession
- WMDRMTuner
For more information on these features, see “Primary Features in PBDA” later in this paper.
Supported Combinations of Requirements
To comply with PBDA, a tuner mustsupport the required PBDA services.As long as the tuner supports all required PBDA services, it can support any number of optional PBDA services.
For a complete list of the required and optional PBDA services, see “PBDA Services“earlier in this paper.
Converting an Existing BDA Solution to PBDA
Convertingan existing BDA KS tuner to a PBDA tuner is simple. Depending on the configuration of the BDA tuner, you usually do this by updating the tuner’s hardware or firmware.
To convert an existing BDA solution to PBDA and satisfy the mandatory requirements, the BDA events must be updated to meet the PBDA implementation. For more information about converting BDA events to PBDA, refer to the PBDA specification, which is listed in “Resources” at the end of this paper.
Primary Features in PBDA
The primary features that are available when you implement a PBDA solution include the following:
- The use of MMIs to send messages from the tuner to the user.
- Extensible setup (or FRUN customization) that allows tuner OEMs to design the FRUN page for Windows Media Center.
- Support for PBDA guide data, if the guide data that Windows Media Center provides isnot sufficient for a particular scenario.
- Support for protected content.
Man-Machine Interface (MMI)
In PBDA, a session is established between the tuner and the user through an MMI.
A tuner can easily generate a MMI because the MMI consists of simple Hypertext Markup Language (HTML)script that creates buttons and links.You can author the MMI in Media Center Markup language (MCML) or simple HTML.
MMI messages can appear to the user through the following formats:
- Dialog box
A dialog box does not appear in a full-screen format and can have up to three buttons. The size of the box changes dynamically depending on the amount of text in the MMI message.
Figure 1shows an example of an MMI message that appears in a dialog box.
Figure 1. MMI that uses a dialog box
- Full-screen dialog box
This type of dialog box always appears full-screen regardless of the amount of text in the MMI message. It can also have up to three buttons.
Figure 2shows an example of an MMI message that appears in a full-screen dialog box.
Figure 2. MMI that uses a full-screen dialog box
Descramble Failure Notifications (DFNs)
DFNs are used to track media streaming errors in PBDA. The DFNs are listed in a PBDA TAG table and use the table to associate a failure to the media stream.
Windows Media Center provides a localized user experience (UX) that is based on the error code. However, the tuner can optionally provide a custom UX through an entitlement token in the DFN.
In Windows Media Center, you can use two types of DFNs with PBDA:
- Simple DFN
This type of notification appears to the user in a full-screen dialog box, as shown in Figure 3.
Figure 3.A simple DFN full-screen dialog box
- DFN with MMI
This type of notification provides additional information to the user on top of the simple DFN, as shown in Figure 4.
For more information on MMI, see “Man-Machine Interface (MMI)“ earlier in this paper.
Figure 4. DFN with MMI dialog box
Extensible Setup for Tuners
Some tuners might require additional setup beyond what Windows Media Center provides. For example, a tuner might require proprietary satellite configuration or subscription verification.
Figure 5shows an example of a FRUN or extensible setup page that a tunercreated for satellite activation. In this example, the user is asked to choose to activate the service now, to activate it later, or to specify that it is already activated. The PBDA solution provides this FRUN page, notWindows Media Center.
Figure 5. Example of an extensible setup page
PBDA Guide Data
For a PBDA solution, the guide data that Windows Media Center provides might notbe enough for a particular scenario. In this case, PBDA provides the option of delivering proprietary guide data in one of the following ways:
- In-band guide data delivery
PBDA supports both Digital Video Broadcast (DVB) and Integrated Services Digital Broadcasting (ISDB) in-band formats for this type of guide data delivery.
- Guide Date Delivery Service (GDDS)
In this case, the guide data is sent through the command and control channel, not the transport stream.
You can use GDDS in the following ways:
- As a PBDA service list in XML format thatcan provide an XML tune request (TuneXml) for each required service.
- As a PBDA event information table (EIT) format that supports PBDA or DVB legacy descriptors.
The XML tuning option provides an extensible tuning mechanism that has diverse devices. Figure 6shows a simplified tuning flow between the Windows 7 computer and the tuner.
Figure 6. Simplified XML tuning flow
For more information on how to implement XML tuning, refer to the PBDA Tuning Schemas specification. This specification is part of the overall PBDA specification, which is listed in “Resources” at the end of this paper.
Protected Content in PBDA
PBDA provides robust transmission of premium content to Windows Media Center. It uses PBDA in-band tag tables and WMDRM. PBDA also maps of both proprietary and standards-based CA policies to WMDRM policies.
The WMDRM uses a session to send all protected content from the tuner to the computer. This session provides a means for the tuner to validate the credentials of Windows Media Center and allows communication between the tuner and Windows Media Center through authenticated commands.
Figure 7shows the data flow when you use a protected tuner.
Figure 7. Protected tuner data flow
The WMDRM licenses contain the policy and content keys. The policy consists of rights and restrictions, including the following:
- Copyrights, such as copying data to another computer.
- Export rights based on Content Protection for Recordable Media (CPRM).
- Playback restrictions based on:
- High-Bandwidth Digital Content Protection(HDCP)
- Copy Generation Management System (CGMS)
- Macrovision (MV)
Also, content providers can send different types of content to the tuner. The tuner must be able to identify which protection (if any) is required for each type of content that it supports. A PBDA-compliant tuner must support the following content protection algorithms:
- Unencrypted content
This type of content is free to the user and requires no subscription.
- Nonexpiring content
This content, such as sporting events, is regulated by the provider.
- Subscription-based renewable content
This content is distributed by pay TV providers,such as HBO, based on a renewable subscription to the provider’s service.
- Nonrenewable, expiring content
This content, such as a pay-per-view (PPV) content, is purchased by the user and distributed by the provider on a one-time-only basis.
Resources
For the latest information about the Microsoft Windows family, see the Windows Web site at
WHDC Web site:
Home page
Protected Broadcast Driver Architecture (PBDA) Specification (Version 1.3)
Appendix: Acronyms
Acronym / MeaningBDA / Broadcast Driver Architecture
CA / conditional access
CAS / Conditional Access Service
CGMS / Copy Generation Management System
CPRM / Content Protection for Recordable Media
DFN / Descramble Failure Notification
DRM / Digital Rights Management
DVB / Digital Video Broadcasting
EIT / event information table
FRUN / First Run
GDDS / Guide Data Delivery Service
GPNVS / General Purpose Name Value Service
HDCP / High-Bandwidth Digital Content Protection
HTML / Hyper Text Markup Language
ISDB / Integrated Services Digital Broadcasting
KS / kernel streaming
MCML / Media Center Markup Language
MMI / Man-Machine Interface
MV / Macrovision
OEM / original equipment manufacturer
PBDA / Protected Broadcast Driver Architecture
PPV / pay-per-view
UX / user experience
WMDRM / Windows Media Digital Rights Management
XML / Extensible Markup Language
April21, 2009
© 2009 Microsoft Corporation. All rights reserved.