蘇財貴,葉宇煌,蘇凱雄
(福州大學物理與信息工程學院,福建 福州 350002)
近年來,隨著H.264和AVS等先進視頻壓縮編碼標準的不斷推廣應用,高清度視頻正在快速進入到人們的日常生活中,數字電視機頂盒、數碼產品和音視頻編解碼系統等一系列視頻設備正面臨著從標清到高清的全面升級換代。復合視頻信號(CVBS)、S端子、分量信號和DVI等早期采用的音視頻接口,由于存在傳輸速率低、信號容易損失、接線太多和不支持數字內容等問題,正逐漸被新一代數字音視頻接口所替代。
HDMI(高清晰度多媒體接口)是由飛利浦、索尼和Silicon Image等7家公司聯合制定的專用于傳輸數字視頻/音頻的新標準。它通過一根連接線,即可同時傳輸未經壓縮的高清視頻信號和數字伴音信號,并可支持數字內容保護(HDCP)功能和 RGB 4∶4∶4、YCbCr 4∶4∶4、YCbCr 4∶2∶2等視頻格式[1]。HDMI 1.3v規范是當前大多數HDMI芯片采用的設計版本,支持高達340 MHz的像素時鐘和10.2 Gbit/s的數據傳輸速率[2]。因此,HDMI接口在高清數字視頻領域具有廣泛的應用前景。本文將結合HDMI專用接收端芯片,分析HDMI的工作原理和技術特性,并給出其在H.264高清視頻實時編碼系統中的應用方案。
完整的HDMI系統包括發送器、中繼器和接收器等3部分,而通常的應用系統沒有中繼部分。HDMI采用最小差分變換信號(TMDS)傳輸數據,其原理是通過特殊算法將通道上的8 bit數據變換成10 bit的直流平衡編碼信號,以消弱傳輸電纜中的交叉電磁干擾(EMI)和提高長距離傳輸時的抖動誤差容限。HDMI的傳輸結構如圖1所示,它包含3個通道的數據TDMS鏈路和1個通道的時鐘TMDS鏈路,每個數據通道在每個時鐘周期內傳輸10 bit數據。

圖1 HDMI傳輸結構圖
HDMI發送器根據信號類型的不同可分為視頻信號、數據島和控制信號3種傳輸周期。在視頻信號周期內傳送24 bit視頻信號,每通道8 bit串行數據經DC平衡后變成10 bit。對于低于25 MHz的視頻格式(例如,NTSC 480i),HDMI采用視頻像素復制的方式,即每個像素傳輸兩次,以保證接收端播放的流暢性;在數據島周期內,HDMI將音頻數據和輔助數據合成一個12 bit的數據包,每個通道4 bit。在TMDS傳輸前為了提高可靠性,分別使用BCH和TERC4兩種編碼方法,將4 bit的數據島變換成10 bit數據;在控制信號周期內,HDMI傳輸包括VSYNC、HSYNC和下周期指示等6 bit的控制信號,傳送前同樣使用特殊的編碼算法將每通道2 bit的數據變換成10 bit。
HDMI的另一個特點是帶寬利用率高,主要原因是數據島和控制數據的傳輸安排在視頻數據傳輸的消隱期,故在不增加視頻數據傳輸帶寬的條件下節省了傳輸通道[3]。
CEC(消費電子控制)在HDMI系統中是可選的,能夠用來控制用戶可能使用的多種視聽設備,例如單鍵播放、遙控或自動設置等。DDC(數據顯示通道)使得HDMI發送端可以讀取接收端的EDID(拓展顯示識別數據),從而實現兩者之間的配置以及狀態信息的交換。EDID是由視頻標準組織VESA為優化PC顯示格式而專門設計的數據規范,包含了制造廠商、產品名稱、最大場/行頻和可支持分辨力等視頻接收設備的基本參數,它被存儲在專用的E2PROM中,是實現HDMI接口即插即用功能的配置數據。只有當發送端識別并正確配置后,TMDS傳輸鏈路才可能被激活。
為了有效保護視頻內容版權擁有者的合法權益,大多數HDMI設備都嵌入了HDCP(高帶寬數字內容保護)模塊。HDCP的本質是設備授權認證和數字信號的加解密過程。HDCP協議需要經過3步認證過程:第一步是設備合法性認證,它通過內容提供者和使用者之間交換密碼選擇向量后計算并驗證完成,確保收發雙方建立可信的物理連接;第二步是中繼認證,如果發送端和接收端直接連接時,此步認證不進行;第三步是視頻數據的加解密過程,此過程必須在設備認證工作完成后才開始進行。HDCP系統傳輸結構如圖2所示。在HDMI發送端,HDCP加密機為每個視頻像素隨機產生24 bit的偽隨機碼,與原始24 bit視頻數據按位異或后進入TMDS編碼模塊。在HDMI接收端,TMDS解碼后的24 bit數據與HDCP解碼機產生的24 bit隨機碼再次按位異或后輸出原始的視頻數據[4-5]。

圖2 HDCP系統結構圖
H.264高清視頻實時編碼器的的總體結構如圖3所示,主要由HDMI視音頻接收接口、H.264高清實時編碼模塊、主控模塊(MCU)和TS流輸出接口等部分組成。HDMI接口負責高清視頻信號的采集、色彩空間轉換和上下采樣等工作。H.264編碼器采用超大規模專用實時編碼芯片,主要負責對分辨力為1920×1080p、幀頻為60的全高清視頻和伴音信號進行實時壓縮編碼[6]。MCU主要用于控制整個系統的工作過程,包括完成HDMI芯片的初始化和編碼芯片的功能配置等。ASI接口將編碼芯片輸出的并行TS數據流轉換成高速串行輸出。

圖3 H.264高清視頻編碼系統結構框圖
HDMI接口采用專用芯片HDMI1300,該芯片具有靈活的電源管理、高達225 MHz的TMDS工作頻率、提供最高安全級別的HDCP預編程技術、支持像素每個分量高達12 bit色深的視頻信號和更高比特率音質等功能特性。其內部功能模塊如圖4所示,主要包括TMDS解碼模塊、HDCP解密模塊、音視頻處理模塊和I2C從機模塊等。

圖4 HDMI1300內部結構框圖
該芯片支持雙鏈路的TMDS輸入端口。TMDS信號可以同時到達,但同一時刻只能一個端口的內部電路被激活。通過熱檢測功能檢測有信號輸入的具體端口號,控制軟件可以通過檢測相關的寄存器并激活對應的TMDS解碼模塊和DDC通道。HDCP解密模塊能夠對TMDS模塊解碼后輸出的音視頻數據進行異或解密,整個解密過程的控制是發送端通過DDC通道發送一系列的讀寫數據來實現的。芯片的密鑰存儲在專用的串行存儲器EEPROM中,這些密鑰被編程后將不能被讀出來,保證了HDCP密鑰的最高安全性。I2C從機模塊有DDC通道和本機I2C通道兩種類型。DDC通道用于HDCP機制的鑒定;本機I2C則用于對芯片中功能寄存器的配置和狀態讀取。視頻處理模塊將 RGB 4∶4∶4、YcbCr 4∶4∶4 或者 YcbCr 4∶2∶2的視頻輸入信號經過色彩空間轉換或者上/下采樣后輸出符合編碼器要求的視頻格式。音頻處理模塊支持8通道高達24 bit精度的數字音頻信號,并且提供標準的I2S和S/PIF輸出接口。
HDMI接口的的電路連接關系如圖5所示。MCU采用S3C2440作為HDMI1300的控制模塊,它通過I2C總線向HDMI1300的功能寄存器寫入或者讀取數據來實現其功能配置或者獲取狀態信息。當有中斷產生時,寄存器中相應位被置1,INT引腳輸出低電平信號向S3C2440請求中斷處理。在HDMI1300中,當輸入視頻信號穩定后,SCDT輸出高電平信號。S3C2440可以通過檢測SCDT管腳電平的高低性來判斷HDMI1300接收的視頻信號是否有效、穩定。實時編碼器與HDMI1300的連接電路主要用于音頻部分和視頻部分的數據傳輸。在實時編碼器中,要求輸入視頻格式為8 bit色深的YCbCr 4∶2∶2,即僅有16只視頻信號輸入引腳,而HDMI1300支持高達12 bit色深的RGB 4∶4∶4 和YCbCr 4∶4∶4 視頻輸出格式,共有36 只用于視頻信號輸出的引腳。因此,必須通過配置HDMI1300寄存器從中選擇所需要的16只引腳作為視頻信號的傳輸線。

圖5 HDMI接口電路連接圖
在其他接口電路設計中,電源系統是保證芯片和系統正常工作的重要因素之一。HDMI1300所需提供的電壓有模數3.3 V和1.8 V兩對,而且要求輸入電壓的誤差不能超過5%,否則將導致正常的音視頻信號受到嚴重干擾。本系統采用5 V的輸入電源,經電源轉換芯片變換后得到3.3 V和1.8 V電壓對。在DDC接口設計方面,采用了型號為24LCS22A的EEPROM存儲EDID信息,其接口的高電平為3.3 V,而DDC通道的高電平為5 V。因此,為了保證DDC通道正常工作和順利通過HDMI的兼容性測試,采用了CALMIRCO公司為HDMI接收端專門設計的CM2021作為兩者之間的電平轉換芯片。CM2021還具有8 kV的ESD保護能力,故還可簡化ESD保護電路的設計。視頻數據和視頻時鐘線是HDMI接收端最重要的輸入信號,HDMI1300的TMDS信號時鐘最高可支持到225 MHz,數據傳輸速度非??臁榱吮WCHDMI接口芯片能夠正確采樣到視頻信號,必須將每對TMDS差分信號線設計得基本等長,并且盡可能短。
HDMI接口控制軟件的設計流程如圖6所示,主要包括芯片初始化配置、端口選擇、視頻處理和音頻處理等過程。

圖6 HDMI接口控制軟件流程圖
HDMI1300硬件復位后直接進入低功耗工作模式,芯片中除了與時鐘相關的幾個功能模塊外,其他的都被停止。因此,復位后必須先通過軟件置位系統控制寄存器的PD#位,才能使芯片內部各功能模塊進入正常的工作狀態。初始時需要配置的內容主要有全局變量、中斷寄存器和音視頻功能寄存器。全局變量用于記錄芯片工作狀態、系統工作模式、視頻同步信號和音頻數據等狀態信息;中斷寄存器用于監控像素時鐘丟失、視頻同步信號丟失、AVI數據改變、音頻數據變化、CTS值丟失和HDMI線纜連接中斷等重要中斷源;音視頻功能寄存器用于禁止音視頻信號輸出等。
初始化工作完成后,MCU發出熱檢測使能信號,芯片進入等待HDMI信號的工作狀態。當有效的HDMI線纜接入時,軟件通過檢測相關寄存器識別有信號輸入的TMDS通道口并使能相應的DDC通道。HDMI發送端在DDC通道使能后通過讀取和解析EDID,選擇一種能夠被支持的音視頻信號進行傳輸。隨后軟件進入等待HDCP認證步驟,這個過程大概需要100 ms。HDCP認證通過后,HDMI1300中相關的寄存器被置位,HDCP解密模塊開始對TMDS的視頻數據解碼。如果接收到的視頻信號是穩定并且是被支持的,軟件開始通過AVI中的視頻輔助信息包識別輸入視頻的格式和計算視頻同步信息,并配置與色彩空間轉換、上/下采樣和信號輸出相關的寄存器。當HDMI1300收到穩定的音頻信號后,軟件通過AVI中的音頻輔助信息包計算音頻采樣率Fs和音頻時鐘MCLK,配置輸出I2S/SPDIF音源、音頻FiFo映射圖和音頻輸出通道等。視音頻模塊配置完成后,啟動相關的輸出模塊,輸出符合要求的音視頻信號到編碼器模塊進行壓縮編碼處理。
HDMI具有數據傳輸速率高、支持HDCP技術和單一電纜同時傳輸音視頻信號等優異性能,是下一代高清數字視頻設備必不可少的接口。目前專用的HDMI接口芯片主要是基于HDMI 1.3v規范進行設計,具有速度快、功耗低、可靠性高和安全性高等特點。本文根據HDMI接口的功能要求,結合H.264高清實時編碼器系統,通過詳細探討HDMI接口硬件電路和控制軟件的設計方法,給出了一種適合于H.264高清視頻實時壓縮編碼系統中的HDMI接口設計方案。
[1]HDMI Specification Version 1.3[S].2006.
[2]沈璐,鄭善賢.用于數字電視的HDMI1.3接收芯片點評[J].電視技術,2007,31(10):41-43.
[3]林志賢,陳兆芳,郭太良.HDMI視頻接口技術在彩色FED中的應用[J].液晶與顯示,2008,23(2):241-245.
[4]Digital Content Protection LLC,High-bandwidth digital content protection system revision 1.2 June[S].2006.
[5]魏濤.數字視頻接口標準與高帶寬數字內容保護規范[J].電視技術,2005,29(5):31-34.
[6]鄭明魁,蘇凱雄,楊秀芝.一種高清數字電視H.264編碼系統的設計[J].電視技術,2011,35(18):27-29.