zoukankan      html  css  js  c++  java
  • HDCP的基本原理


    1、HDCP的基本原理 
    HDCP(High-bandwidth Digital Content Protection宽带数字视频保护)是用来对具备HDMI功能的发射端和具备HDMI功能的接收端的传输保护,为了保护版权,更是得到了运动图像业界(如FOX、Universal、Warner Bros等)的认可。它是基于HDMI这种传输高速、高带宽的数字内容保护,其它的防拷贝技术不适合HDMI,如Macrovision只适合模拟信号,DCTP只支持100~400M的带宽,只适应IEEE-1394。 
    要获得这种技术和生产带HDCP功能的产品,必须从Digital Content Protection LLC获得许可才能得到HDCP所需的设备密匙(device key),它具有唯一性,一个设备一个key。 
    Licence的缴费情况如下: 
     
    HDMI+HDCP的示图如下:  
     
     
    首先要得到HDCP的确认(Authentication)才能进行HDMI数据传输,其过程如下: 
    当发射端和接收端从Digital Content Protection LLC得到有效的device key,就会有相应的识别器(Identifier)即KSV(Key Selection Vector密匙选择矢量)。 
    1. 确认初始化,由发射端A的HDCP密码引擎产生一个64bit的伪随机序列An,连同自己的
    KSV(Aksv),传给接收端,接收端向发射端传输自己的KSV(Bksv)和REPEATER bit进行响应。 
    2. 发射端由Akey和Bksv进行算法得到Km,再由Km、REPEATER、An得到Ks、Mo、R0,
    同样接收端由Bkey和Aksv进行算法得到Km’,再由Km、REPEATER、An得到Ks’、Mo’、Ro’。 
    3. 当R0= R0’时,HDCP的初始确认通过。  
     
    4 .以后在场消隐期间,从第128 帧开始,每隔2秒,Mi(初始化值,想相当于前面的An)
    变为一个新的值,从而计算出新的Ri和Ri’,也就是说Ri和Ri’ 每隔2秒就升级。 5 .当Ri= Ri’时,HDCP的确认通过,继续进行HDMI的连接。 
     
     
    2、HDMI+HDCP+HPD+EDID的工作原理 
    1.HPD 
    (Hot Plug Detect热插拔检测)是检测接收端是否连上的一种方法,而不管接收端是否上电。

    2.EDID 
    当检测到接收端已连上,就从接收端的EEPROM中读EDID信息,EDID(Extended display Identification Data 扩展显示识别数据)是在接收端的EEPROM存放monitor的显示格式,发射端(PC主机)需要读出EDID信息,从而确定输出的格式。

    3.   HD CP的确认 

     检测接收端是否上电  

               -> 建立HDMI连接  
               -> HDCP的确认 ,重试三次 -> 
    4. HDMI数据传输和TMDS的解码。

  • 相关阅读:
    牛客(47)求1+2+3+...+n
    牛客(48)不用加减乘除做加法
    【推荐】可编程的热键 AutoHotkey
    【Web】js 简单动画,犯了低级错误
    【分享】JDK8u241 win x64度盘下载
    【Web】开始学Web开发!
    【数组】深析 “数组名称”
    【基础向】浅析 "多(二)维数组" 的三种引用方法
    【一个小错误】通过数组指针引用数组成员
    【网络通信教程】windows 下的 socket API 编程(TCP协议)
  • 原文地址:https://www.cnblogs.com/fire909090/p/12030023.html
Copyright © 2011-2022 走看看