The Custom Integrator Show Installment 020 is live.  This time we dive right into how the High-bandwidth Digital Content Protection (HDCP) handshaking works with HDMI.  Before we get started, however, we provide an update/correction to some of the statements we made in our previous discussions on HDMI regarding the bandwidth it takes to support different resolutions and frame rates.


Direct Download  Subscribe via RSS  Subscribe via iTunes  Subscribe with Zune

If we take a look at the following graph, one would deduce that it takes twice the bandwidth of a 1080i image to support a 1080p image.


In reality, this is not the case.  Most people simply look at the same columns to compare the bandwidth requirements, which really is not correct.  You really need to take into account that Interlaced (i) versus Progressive (p) are just different ways to display the information on the screen, not how the data is delivered.  It just takes two passes for Interlaced to display the frame while it takes only one pass for a Progressive image.  This, however, does not equate directly to the bandwidth for displaying the images currently available in the home.  The bandwidth is dependent upon the frequency (Hz) of the data being transmitted, which is different than the frame rate at which it is displayed.

  • Currently, there are no sources delivering 1080p at 60 fps, at least not outside of a pro studio. All Blu-ray discs are either 1080p/24, 1080i/60 Hz or 1080p30 Hz (or even lower).
  • 1080 Interlaced lines (1080i) at 60 Hz really is only 30 frames per second.  If we look at the same 1080 lines at 30 fps being displayed progressively (1080p), it really only requires 30 Hz.  For an 8-bit stream (which most still are), that equates to the same amount of bandwidth.
  • 3-D Changes all of that since it actually uses at least 60 frames per second (instead of the current 30) Progressively, which IS the 60 Hz column.  Taking it out past 60 fps per eye (120 Hz) Progressively takes a lot more bandwidth, which is where HDMI 1.4 comes into play.
  • Deep Color increases the bandwidth requirements considerably since there are quite a few bits more per pixel, even at the same resolution, frequency, and frame rate.



Since the actual handshaking process is pretty complex and difficult to describe in a Podcast, I have included an outline here, which follows the text of the show.

    • Hot Plug Detect
    • Enhanced Display Identification Data (EDID) exchange and negotiation process
    • HDCP encryption key setup
      • The transmitter and Receiver each have 40 unique 56-bit encryption keys preloaded
      • Key Selection Vector (KSV) has 20 binary 1s and 0s to select which 20 keys are to be used
        • The KSV also can be used to uniquely identify a transmitter or receiver
      • The two LICENSED products swap KSVs and the encryption keys to create a unique shared secret key
      • The unique shared secret key is used to encrypt and decrypt the TMDS streams
      • Each chip must implement a public HDCP Cipher, which is used during both authentication and encryption
      • Each HDCP receiver must provide a series of pre-defined DDC-accessible registers
      • All HDCP communications is handled via reading and writing to those registers

This process is repeated every 128 frames (about every two seconds) to ensure they are in synch and encrypting properly.

Probably the best resource for information about HDCP is straight from the Digital Content Protection web site at, although there are other resources that cover this topic if you search for them.

The reason we spend so much time on this aspect of HDMI is that this handshaking process is one of the areas that causes a lot of issues for HDMI connections.  The more you understand the process and how it is designed to work, the better you will be at troubleshooting issues if they arrive.  Of course, the best thing is to avoid problems altogether by getting it right in the design and implementation stages so you do not encounter problems.


Leave a Reply