As the digital distribution of television, movies and music expands, content providers are growing increasingly concerned about the simplicity with which content pirates can copy and share copyrighted material. Various digital rights management (DRM) schemes have been developed to ensure that television shows, movies and music can only be viewed by authorized parties (i.e., paying consumers). The Content Scrambling System (CSS) used to encrypt DVDs and Apple's Fairplay technology are two widely-known DRM schemes.
To protect digital content as it's transmitted over cables between devices, Intel developed a DRM scheme known as the High-bandwidth Digital Content Protection system (HDCP). Intel then handed licensing responsibilities over to its subsidiary, Digital Content Protection, LLC (DCP). HDCP has recently enjoyed rapid, widespread adoption in the consumer electronics space, but has been plagued by interoperability issues. This article provides a technical interpretation of the HDCP specification and then explores the reasoning behind some of the problems.
HDCP was originally designed to protect AV content transmitted over the Digital Video Interface (DVI), then the High Definition Multimedia Interface (HDMI). Recently, DCP added HDCP support for DisplayPort, a competing transmission interface. The remainder of this article will focus on HDCP as it applies to HDMI, but the same concepts apply with DVI and DisplayPort.
The HDMI specification defines an interface for carrying digital audiovisual content from a source, like a DVD player, to a sink, or display device, such as a TV. Devices such as switches or A/V receivers may accept and re-transmit HDMI content, and are known as repeaters.
Repeater devices have two separate HDMI connections: the upstream connection with the source and the downstream connection with the sink (or another repeater). Within each connection, the upstream device sends audiovisual data to the downstream device.
The physical HDMI cable carries many signals:
- TMDS. The audiovisual data is encoded into three Transition Minimized Differential Signaling (TMDS) data channels. These channels and a TMDS clock are carried over four differential pairs from the source to the sink.
- DDC. The Digital Display Channel (DDC) is a communications interface similar to I2C. This interface provides two-way communication in a master-slave relationship. The upstream device is the DDC master and the downstream device is the DDC slave.
- Hot Plug Detect. The sink indicates its presence to the source with the Hot Plug Detect (HPD) signal. The sink can toggle the Hot Plug Detect signal to reset the HDMI connection (and thus, the HDCP session).
- RxSense. Though not specifically defined by HDMI, many devices support a feature known as RxSense. There is no RxSense wire, but rather, sources can detect that a sink has terminated the TMDS differential pairs. Similarly to HPD, this signal can be used to detect the presence of a sink.
The HDMI cable carries other signaling information that is beyond the scope of this article.