周芝梅 馮晨 萬勇 王永剛



摘 要:HDMI是首個在單線纜上傳輸非壓縮數字高清晰度視頻、多聲道音頻和控制命令數據包的數字接口,滿足了目前高清多媒體的應用需求,并得到快速發展。本文從基本結構、視頻數據傳輸、音頻數據傳輸、控制包傳輸等幾個方面解析HDMI傳輸過程的編碼原理。
關鍵詞:HDMI;數字接口;視頻格式
Abstract:HDMI is the first digital interface to transmit uncompressed digital high-definition video,multi-channel audio and control command data packets over a single cable.It meets the application requirements of high-definition multimedia at present and develops rapidly.The paper analyzes coding principle of HDMI transmission through the basic structure,video data transmission,audio data transmission,and control packet transmission.
Key words:High-Definition Multimedia Interface;Digital Interface;Video Format
1 緒論
隨著生活水平的不斷提高,人們對視聽享受的需要越來越高,數字音視頻接口逐漸替代模擬音視頻接口成為消費電子的主流。在DVI接口的基礎上,HDMI接口增加了對音頻的傳輸和數字內容版權保護,而且大幅提高了傳輸速率,逐漸成為數字視頻的主要傳輸技術,因此HDMI接口技術的研究具有極大的商業價值和社會意義。
2 HDMI基本結構
HDMI系統的基本結構由發射端和接收端組成,如圖1所示,HDMI接口包含三組獨立的數據通道:TMDS(最小轉換差分信號)通道、DDC(顯示數據)通道和CEC(消費電子控制)通道。其中TMDS通道主要傳輸音視頻數據以及輔助數據。TMDS通道的數據傳輸作為HDMI傳輸的主體部分是本文討論的重點。
TMDS通道包括三組差分數據信號和一組差分時鐘信號,它們構成用于傳輸視頻數據、音頻數據和輔助信息數據的數據通道和時鐘通道。通常情況下TMDS時鐘工作在視頻像素時鐘上,在接收端它作為恢復三路TMDS數據通道內容的參考頻率。在發送端TMDS編碼將8-bit的TMDS視頻數據轉化為10-bit直流平衡、最小變化傳輸的差分信號。每一個視頻像素在編碼前可以用24,30,36或者48bit表示。默認情況下,24-bit色彩深度視頻的像素時鐘頻率等于TMDS時鐘頻率,更高色彩深度的視頻傳輸需要相應提高TMDS時鐘頻率。HDMI在TMDS通道中采用數據包的形式傳輸音頻和輔助信息數據。
DDC通道按照標準I2C協議工作,信號高低電平采用5V和0V,被發射端用來讀取接收端EDID(Extended Display Identification Data)數據,而EDID數據主要包含接收端可以支持的視頻分辨率信息和音頻格式信息。為了實現即插即用功能,發射端可以通過讀取接收端的EDID信息來自動更改發出的音視頻格式。高帶寬數字內容保護功能HDCP也依靠DDC通道來交換密鑰實現加密解密過程,達到音視頻內容保護的目的。版權保護功能雖然是HDMI的要求,但是HDCP協議相對HDMI是獨立存在的,限于篇幅本文不再討論。CEC通道主要是將多個多媒體發送和接收設備互聯,實現一鍵控制功能,CEC通道是HDMI協議的可選功能,目前尚未普遍使用。
3 HDMI數據編碼與傳輸
HDMI鏈路包含三種工作模式:視頻數據周期、數據島周期、控制周期。在視頻數據周期傳輸有效視頻行的有效像素。在數據島周期以多種數據包形式傳輸音頻和輔助數據以及糾錯碼。在沒有視頻、音頻或者輔助數據需要傳輸控制周期,控制周期用來指示下一個周期是視頻數據周期還是數據島周期,因此在任意兩種非控制周期之間要傳輸一個控制周期。在進行HDMI編碼之前,每個TMDS通道包含8bit視頻數據、4bit音頻數據包、2bit控制數據,這些數據在HDMI編碼時按照不同的編碼方式擴展成10bit。如圖2所示是編碼之前的數據在三個數據通道中的示意圖。
3.1 HDMI視頻數據周期
如前所述,視頻傳輸主要發生在視頻數據周期,每個視頻周期內的前兩個TMDS時鐘周期作為視頻數據周期的前防護帶被稱為Leading Guard Band。在視頻周期內,三個TMDS通道的前防護帶有其特定的值,此值以10-bit形式與編碼后的視頻數據共同存在,并不存在編碼之前的8-bit數據,如表1:
在前防護帶之后,就開始傳輸編碼后的視頻數據。視頻數據編碼將8位視頻數據變換為10位,然后在視頻數據周期傳輸。首先,將8位字符在最低位不變情況下,對剩下7位分別與其前1位通過“異或”或者“異或非”最小變化編碼后,再加上編碼指示位產生9位的字符(實際采用“異或”還是“異或非”由8位數據所包含的“1”的個數決定,第9位標志采用了哪種變換方式,0表示“異或非”,1表示“異或”)。然后根據已經傳輸的數據0和1的個數以及當前將傳輸數據的0和1個數,決定是否對第一步所產生的9位信息中的8個數據位作反轉操作(如果已經傳輸了更多1,而且當前數據的1比0多,那么反轉),變換成10位的直流平衡碼(第10位標志是否作了反轉,1表示作了反轉,0表示沒有反轉)。最后,編碼后的數據經過串行化之后在TMDS通道上以差分形式串行發送出去。
3.2 HDMI數據島周期
數據島周期用來傳輸音頻采樣數據和輔助數據。輔助數據包括信息包和其他一些描述視頻或者音頻有效與否的數據包。與視頻數據周期類似,數據島周期以一個前防護帶開始,然后才是數據島周期的第一個數據包,與視頻數據周期不同的是數據島周期以一個尾防護帶Trailing Guard Band結束,而視頻數據周期沒有尾防護帶。在數據島周期中,數據通道1和2的Guard Band也有其特定的值,對應數據通道0的位置不按照Guard Band編碼。具體如表2:
在數據島周期的每一個TMDS時鐘周期(包括兩個Guard Band),數據通道0的第0位和第1位都傳送經過編碼的HSYNC和VSYNC。信號數據通道0的第2位用于傳送數據包頭,數據通道1和2各有低四位被用來傳送數據包。每個數據包有32個像素的長度,并通過BCH錯誤校正碼進行錯誤糾正和檢測。數據島周期中,三條TMDS通道都是在傳送一系列由4位輸入數據編碼得到的10位數據,使用的是降錯編碼TERC4。如表3:
3.3 HDMI控制周期
控制周期傳輸引導數據,同時也用于接收端字符同步。每一個TMDS通道傳輸兩位控制信息,如表4:
CTL0-CTL3用來指示接下來傳輸的是視頻數據周期還是數據島周期。只有下表兩個值是有效的,其他都是非法值,如表5:
2位控制數據編碼得到的10位數據如表6:
TMDS接收器需要在一系列的串行數據中確定數據邊界的位置,一旦數據通道中的邊界字符被確定,接收器將依此同步串行數據流,并且將TMDS通道傳輸的數據流解碼。在視頻數據周期和數據島周期內,10位編碼數據包含5次或更少的轉換,而在控制周期則包含7次或更多的轉換。內容轉換次數多的編碼字在控制周期中傳送,成為解碼器端字符同步的基礎。
4 HDMI視頻格式
視頻格式的支持是目前消費電子廠家爭相改進的重要方面。本節從以下三個方面討論HDMI器件所支持的視頻格式:像素編碼、色彩深度、視頻分辨率。
在像素編碼方面,HDMI支持三種方式:RGB444、YUV422、YUV444,并且RGB444是要求必須支持的一種,另外兩種可選。如果HDMI接收或者發送器件能以模擬分量視頻或者數字視頻支持YUV422或YUV444,那么就要求在HDMI發送端或者接收端也支持對應的格式,而且HDMI接收端對YUV422和YUV444的支持是同時的。
在色彩深度方面,所有的HDMI設備都必須支持24位色彩深度要求。超過24位的色彩深度被稱為是深度色彩模式,30位、36位、48位三種色彩深度對于HDMI設備來說是可選的。如果HDMI設備支持深度色彩模式,那么首先必須支持36位色彩模式。對于24位色彩模式,TMDS時鐘周期等于視頻像素周期,而在深度色彩模式下TMDS時鐘周期與視頻像素周期成對應倍數關系。
在視頻分辨率方面,HDMI發送端必須至少支持640*480p@60Hz、720*480p@60Hz、720*576p@50Hz中的一種。如果HDMI發送器件能以模擬分量視頻或者數字視頻支持1920*1080i@60Hz、1280*720p@60Hz、1920*1080i@50Hz、1280*720p@50Hz、720*576p@50Hz、720*480p@60Hz六種分辨率中的任意一種,那么要求HDMI發送端也能支持對應的分辨率。
對于HDMI接收端,要求都必須支持640*480p@60Hz。除此之外,所能支持的像素編碼方式、色彩深度以及視頻分辨率都必須在EDID信息中標明供HDMI發送端識別。
5 結語
篇幅所限,本文并不能對HDMI系統的所有內容詳細介紹,主要從HDMI整體結構以及各類數據編解碼方法對HDMI傳輸進行剖析,使讀者對HDMI傳輸過程中的每一個時刻信號所代表的內容有一個直觀而確定的認識,這是HDMI設計過程中最難理解也是最重要的部分。
常用的HDMI發送器能夠支持RGB444/YUV422/YUV444三種像素編碼格式和24位色彩深度。在分辨率方面,除了能支持1920*1080p@60Hz、1920*1080p@30Hz、1920*1080p@25Hz、1920*1080i@60Hz、1920*1080i@50Hz、1280*720p@60Hz、1280*720p@50Hz、720*480p@60Hz、720*576p@50Hz、720*480i@60Hz、720*576i@50Hz、640*480p@60Hz、640*480i@60Hz等HDMI規定的標準分辨率之外,還支持1024*768p@60Hz、1280*768p@60Hz等其他分辨率。
參考文獻:
[1]Hitachi Ltd.,Panasonic Corporation.,Philips Consumer Electronics,International B.V.,Silicon Image Inc.,Sony Corporation,Technicolor S.A.,Toshiba Corporation,High-Definition Multimedia Interface Specification Version 1.4a,www.hdmi.org.
[2]向梓豪,陸安江.基于FPGA的HDMI多模式顯示模塊設計.電子技術應用,2017,12.
[3]魏國.一種基于HDMI2.0的編解碼器設計.電子應用技術,2018,06.
[4]徐洪濤.HDMI高速數據傳輸研究與設計.西安電子科技大學,2009.
[5]任大鵬.HDMI芯片中的音頻信號處理及實現.西安電子科技大學,2009.
[6]龍躍.高清晰度多媒體接口關鍵技術解析.信息技術與標準化,2013,07.
作者簡介:周芝梅(1977—),女,碩士研究生,高級工程師,主要研究方向:信號處理與專用集成電路設計;馮晨(1985—),男,碩士研究生,中級工程師,主要研究方向:信號處理與專用集成電路設計;萬勇(1981—),男,碩士研究生,中級工程師,主要研究方向:信號處理與專用集成電路設計;王永剛(1977—),男,碩士研究生,中級工程師,主要研究方向:模擬集成電路設計。