Myths and legends of the OCUR and SDV
I got inspired the other day to delve into one of the pervasive questions in Windows Media Center lore: the question of switched digital video (SDV) for CableCARD equipped Media Center PCs.
The solution that is being put forth is the Tuning Adapter. The Tuning Adapter mediates between a unidirectional CableCARD device and an SDV enabled cable system. I'll describe how the Tuning Adapter works with the TiVo HD -- the T.A. was designed with it in mind. But then I'll describe how the Tuning Adapter should work with a PC solution. This is mostly an academic discussion, but one that hopefully sheds some more light on this rather confusing subject.
TiVo HD -- The Integrated Device Paradigm
The TiVo system software queries the integrated digital cable [with CableCARD] tuner for a channel map (for all the virtual channel numbers and their real QAM frequencies).
A user request for a channel is made, and the TiVo complies by using the channel table.
The digital cable tuner (QAM tuner) tunes the frequency. If encrypted, the CableCARD decrypts the incoming digital cable signal. The decrypted MPEG2 data is then handed off to the disk controller, buffered, and then read back out for display, MPEG decoder chips decode the stream and then it is composited with GUI elements, etc. and then displayed via one of the common display output types (composite, s-video, component, HDMI).
Using a Tuning Adapter
(formerly called a Tuning Resolver and is still referred to as such in the specs).
“A Tuning Resolver was developed as a way to enable access to SDV services on UDCP products. This TR provides the necessary reverse transmitter and private signaling necessary to communicate SDV tuning requests to the headend. It "resolves" the tuning information for every tune-request of UDCP and provides detailed information to the UDCP to enable access to these services.
The TR connects in-line with the RF signal from the cable system to the UDCP and utilizes a USB interface for additional communications. This specification provides details on that communications interface and the signaling and messages used.”
So the English of this is that when SDV is used on a cable network unidirectional devices cannot make the requests for specific streams (which is a necessary function for SDV). A Tuning Adapter is basically an intermediary. It gives the TiVo a new channel table that includes the SDV channels, and then it watches for requests of channels that have been moved to SDV streams. When a channel that is SDV is tuned by the TiVo the Tuning Adapter takes over and requests it for the TiVo (or other unidirectional device). It then translates the SDV stream onto a normal digital cable QAM frequency for the unidirectional host device to work with.
The Tuning Adapter does not have a CableCARD slot, it simply does the translation. The CableCARD in the unidirectional device is still used for authentication/decryption.
The USB port is used to provide status updates to the host and to verify the security of both the internal tuner and the Tuning Adapter. If the Tuning Adapter needs to stop to update firmware, it communicates this to the host, or if the reverse is true the Tuning Adapter is made aware of the internal tuner's update cycle. If the Tuning Adapter is unavailable, the internal tuner will then immediately dump the channel table that includes SDV and get the channel map table it would normally receive (the non-SDV version), until such time that the Tuning Adapter comes back online and re-handshakes.
The OCUR (AKA Digital Cable Tuner) – The Host/Tuner Split Paradigm
The basic flow of TV data is the same as the TiVo HD, however the physical arrangement of the devices are different as is the complexity of the steps to receiving digital cable on the PC.
Just like the TiVo system software, Vista Media Center queries the Digital Cable Tuner for a channel map (for all the virtual channel numbers and their real QAM frequencies). The channel is stored in the Windows registry in the special Digital Cable DirectShow tuning space.
A user request for a channel is made, and Media Center uses the channel table and requests the channel from the DCT.
The steps in the chain to get the channel stream from the DCT are similar but involve more complex security and DRM.
The DCT tunes the frequency. If encrypted, the CableCARD decrypts the incoming digital cable signal.
Just the same as the TiVo HD the CableCARD does its deal and decrypts the digital cable data. However, because the now unprotected MPEG2 stream is going to an unsecured PC (remember they don’t trust the PC as a platform), Cable Labs added another step, the MPEG2 stream is now re-encrypted on the fly by hardware in the DCT: the data is wrapped in Windows Media DRM before being sent along the USB 2.0 interface to the PC. At the PC side the WM-DRM stream can only be played back by a PC with software that has verified the proper CableLabs motherboard BIOS hash code. Then the PC is free to write it to disc and/or display it.
Notice that aside from the insertion of the extra step of wrapping the MPEG2 data into WM-DRM the downstream chain is basically the same.
The Tuning Adapter issue, why is there confusion?
The diagrams in the Tuner Adapter specifications were drawn presupposing a model where the host, tuner, and playback electronics are all in one device, called the UDCP (Unidirectional Digital Cable Product). The USB ports on a TiVo are for peripherals and can directly effect the TiVo environment, including the system software, and tuner. So the Tuning Adapter works with the QAM tuner and the host’s system software to make the SDV channels appear seamless.
What throws people off is that the DCT is basically a self-contained unit, for a simple reason: CableLabs doesn’t trust the PC platform. Even the internal DCT devices are really USB, they just use an internal header. So it makes it seem like the DCT is its own device and has no interaction with a PC aside from pushing digital TV data at it.
While the DCT is more sophisticated and complicated in implementation then an all-in-one consumer electronics design, the flow of data is the same, and the low level cable TV standards followed, by definition, because both are Open Cable certified, are the same. Windows Media Center simply takes the place of the TiVo system software.
Also, CableLabs likes to keep the paradigm of the DCT being a self-contained entity; it makes things appear to be better for content protection, a division of where the cable system content ends and the DRM protected PC content begins.
Tuning Adapters could be supported
After reading the specs and digging around various Microsoft and CableLabs websites, it’s fairly clear that there is no technical reason why Tuning Adapters couldn’t be supported on the PC.
The system software that does the requesting of channels, which in this case is Windows Media Center, would need a special update for the Media Center program as well as drivers for the Tuning Adapter’s USB interface. Media Center, like the TiVo HD, would need to be updated to allow the Tuning Adapter to see and handle channel requests for SDV purposes.
This may involve a significant undertaking because it might involve revising the “OCUR Devices” DirecShow tuner implementation and then of course modifying Media Center to be aware of these changes and how to use them.
Barring some issue with flash ROM size, or some sort of other limitation to the ATI Digital Cable Tuner design, I don’t see any technical reasons why a firmware update to the DCT and an update to Windows wouldn’t allow Tuning Adapters to work.
The reality of this happening, I would say is slim to none. SDV has barely been used in the field, and the Tuning Adapters from Motorola and Cisco (Scientific Atlanta) are only now trickling out to those few customers who have a TiVo Series 3 or TiVo HD and are in an SDV area. So as our fearless leader Alan said to me in a conversation about this article when I said that there is no good reason why MS couldn't update Media Center to support Tuning Adapters. He replied simply: “economics”.
OpenCable™ Specifications -- Digital Receiver Interface Protocol Specification
OpenCable™ Specifications -- OpenCable Unidirectional Receiver
OpenCable™ Specifications -- Tuning Resolver Interface Specification
MSDN -- OCUR Devices