蘇財(cái)貴,葉宇煌,蘇凱雄
(福州大學(xué)物理與信息工程學(xué)院,福建 福州 350002)
近年來(lái),隨著H.264和AVS等先進(jìn)視頻壓縮編碼標(biāo)準(zhǔn)的不斷推廣應(yīng)用,高清度視頻正在快速進(jìn)入到人們的日常生活中,數(shù)字電視機(jī)頂盒、數(shù)碼產(chǎn)品和音視頻編解碼系統(tǒng)等一系列視頻設(shè)備正面臨著從標(biāo)清到高清的全面升級(jí)換代。復(fù)合視頻信號(hào)(CVBS)、S端子、分量信號(hào)和DVI等早期采用的音視頻接口,由于存在傳輸速率低、信號(hào)容易損失、接線太多和不支持?jǐn)?shù)字內(nèi)容等問題,正逐漸被新一代數(shù)字音視頻接口所替代。
HDMI(高清晰度多媒體接口)是由飛利浦、索尼和Silicon Image等7家公司聯(lián)合制定的專用于傳輸數(shù)字視頻/音頻的新標(biāo)準(zhǔn)。它通過(guò)一根連接線,即可同時(shí)傳輸未經(jīng)壓縮的高清視頻信號(hào)和數(shù)字伴音信號(hào),并可支持?jǐn)?shù)字內(nèi)容保護(hù)(HDCP)功能和 RGB 4∶4∶4、YCbCr 4∶4∶4、YCbCr 4∶2∶2等視頻格式[1]。HDMI 1.3v規(guī)范是當(dāng)前大多數(shù)HDMI芯片采用的設(shè)計(jì)版本,支持高達(dá)340 MHz的像素時(shí)鐘和10.2 Gbit/s的數(shù)據(jù)傳輸速率[2]。因此,HDMI接口在高清數(shù)字視頻領(lǐng)域具有廣泛的應(yīng)用前景。本文將結(jié)合HDMI專用接收端芯片,分析HDMI的工作原理和技術(shù)特性,并給出其在H.264高清視頻實(shí)時(shí)編碼系統(tǒng)中的應(yīng)用方案。
完整的HDMI系統(tǒng)包括發(fā)送器、中繼器和接收器等3部分,而通常的應(yīng)用系統(tǒng)沒有中繼部分。HDMI采用最小差分變換信號(hào)(TMDS)傳輸數(shù)據(jù),其原理是通過(guò)特殊算法將通道上的8 bit數(shù)據(jù)變換成10 bit的直流平衡編碼信號(hào),以消弱傳輸電纜中的交叉電磁干擾(EMI)和提高長(zhǎng)距離傳輸時(shí)的抖動(dòng)誤差容限。HDMI的傳輸結(jié)構(gòu)如圖1所示,它包含3個(gè)通道的數(shù)據(jù)TDMS鏈路和1個(gè)通道的時(shí)鐘TMDS鏈路,每個(gè)數(shù)據(jù)通道在每個(gè)時(shí)鐘周期內(nèi)傳輸10 bit數(shù)據(jù)。
圖1 HDMI傳輸結(jié)構(gòu)圖
HDMI發(fā)送器根據(jù)信號(hào)類型的不同可分為視頻信號(hào)、數(shù)據(jù)島和控制信號(hào)3種傳輸周期。在視頻信號(hào)周期內(nèi)傳送24 bit視頻信號(hào),每通道8 bit串行數(shù)據(jù)經(jīng)DC平衡后變成10 bit。對(duì)于低于25 MHz的視頻格式(例如,NTSC 480i),HDMI采用視頻像素復(fù)制的方式,即每個(gè)像素傳輸兩次,以保證接收端播放的流暢性;在數(shù)據(jù)島周期內(nèi),HDMI將音頻數(shù)據(jù)和輔助數(shù)據(jù)合成一個(gè)12 bit的數(shù)據(jù)包,每個(gè)通道4 bit。在TMDS傳輸前為了提高可靠性,分別使用BCH和TERC4兩種編碼方法,將4 bit的數(shù)據(jù)島變換成10 bit數(shù)據(jù);在控制信號(hào)周期內(nèi),HDMI傳輸包括VSYNC、HSYNC和下周期指示等6 bit的控制信號(hào),傳送前同樣使用特殊的編碼算法將每通道2 bit的數(shù)據(jù)變換成10 bit。
HDMI的另一個(gè)特點(diǎn)是帶寬利用率高,主要原因是數(shù)據(jù)島和控制數(shù)據(jù)的傳輸安排在視頻數(shù)據(jù)傳輸?shù)南[期,故在不增加視頻數(shù)據(jù)傳輸帶寬的條件下節(jié)省了傳輸通道[3]。
CEC(消費(fèi)電子控制)在HDMI系統(tǒng)中是可選的,能夠用來(lái)控制用戶可能使用的多種視聽設(shè)備,例如單鍵播放、遙控或自動(dòng)設(shè)置等。DDC(數(shù)據(jù)顯示通道)使得HDMI發(fā)送端可以讀取接收端的EDID(拓展顯示識(shí)別數(shù)據(jù)),從而實(shí)現(xiàn)兩者之間的配置以及狀態(tài)信息的交換。EDID是由視頻標(biāo)準(zhǔn)組織VESA為優(yōu)化PC顯示格式而專門設(shè)計(jì)的數(shù)據(jù)規(guī)范,包含了制造廠商、產(chǎn)品名稱、最大場(chǎng)/行頻和可支持分辨力等視頻接收設(shè)備的基本參數(shù),它被存儲(chǔ)在專用的E2PROM中,是實(shí)現(xiàn)HDMI接口即插即用功能的配置數(shù)據(jù)。只有當(dāng)發(fā)送端識(shí)別并正確配置后,TMDS傳輸鏈路才可能被激活。
為了有效保護(hù)視頻內(nèi)容版權(quán)擁有者的合法權(quán)益,大多數(shù)HDMI設(shè)備都嵌入了HDCP(高帶寬數(shù)字內(nèi)容保護(hù))模塊。HDCP的本質(zhì)是設(shè)備授權(quán)認(rèn)證和數(shù)字信號(hào)的加解密過(guò)程。HDCP協(xié)議需要經(jīng)過(guò)3步認(rèn)證過(guò)程:第一步是設(shè)備合法性認(rèn)證,它通過(guò)內(nèi)容提供者和使用者之間交換密碼選擇向量后計(jì)算并驗(yàn)證完成,確保收發(fā)雙方建立可信的物理連接;第二步是中繼認(rèn)證,如果發(fā)送端和接收端直接連接時(shí),此步認(rèn)證不進(jìn)行;第三步是視頻數(shù)據(jù)的加解密過(guò)程,此過(guò)程必須在設(shè)備認(rèn)證工作完成后才開始進(jìn)行。HDCP系統(tǒng)傳輸結(jié)構(gòu)如圖2所示。在HDMI發(fā)送端,HDCP加密機(jī)為每個(gè)視頻像素隨機(jī)產(chǎn)生24 bit的偽隨機(jī)碼,與原始24 bit視頻數(shù)據(jù)按位異或后進(jìn)入TMDS編碼模塊。在HDMI接收端,TMDS解碼后的24 bit數(shù)據(jù)與HDCP解碼機(jī)產(chǎn)生的24 bit隨機(jī)碼再次按位異或后輸出原始的視頻數(shù)據(jù)[4-5]。
圖2 HDCP系統(tǒng)結(jié)構(gòu)圖
H.264高清視頻實(shí)時(shí)編碼器的的總體結(jié)構(gòu)如圖3所示,主要由HDMI視音頻接收接口、H.264高清實(shí)時(shí)編碼模塊、主控模塊(MCU)和TS流輸出接口等部分組成。HDMI接口負(fù)責(zé)高清視頻信號(hào)的采集、色彩空間轉(zhuǎn)換和上下采樣等工作。H.264編碼器采用超大規(guī)模專用實(shí)時(shí)編碼芯片,主要負(fù)責(zé)對(duì)分辨力為1920×1080p、幀頻為60的全高清視頻和伴音信號(hào)進(jìn)行實(shí)時(shí)壓縮編碼[6]。MCU主要用于控制整個(gè)系統(tǒng)的工作過(guò)程,包括完成HDMI芯片的初始化和編碼芯片的功能配置等。ASI接口將編碼芯片輸出的并行TS數(shù)據(jù)流轉(zhuǎn)換成高速串行輸出。
圖3 H.264高清視頻編碼系統(tǒng)結(jié)構(gòu)框圖
HDMI接口采用專用芯片HDMI1300,該芯片具有靈活的電源管理、高達(dá)225 MHz的TMDS工作頻率、提供最高安全級(jí)別的HDCP預(yù)編程技術(shù)、支持像素每個(gè)分量高達(dá)12 bit色深的視頻信號(hào)和更高比特率音質(zhì)等功能特性。其內(nèi)部功能模塊如圖4所示,主要包括TMDS解碼模塊、HDCP解密模塊、音視頻處理模塊和I2C從機(jī)模塊等。
圖4 HDMI1300內(nèi)部結(jié)構(gòu)框圖
該芯片支持雙鏈路的TMDS輸入端口。TMDS信號(hào)可以同時(shí)到達(dá),但同一時(shí)刻只能一個(gè)端口的內(nèi)部電路被激活。通過(guò)熱檢測(cè)功能檢測(cè)有信號(hào)輸入的具體端口號(hào),控制軟件可以通過(guò)檢測(cè)相關(guān)的寄存器并激活對(duì)應(yīng)的TMDS解碼模塊和DDC通道。HDCP解密模塊能夠?qū)MDS模塊解碼后輸出的音視頻數(shù)據(jù)進(jìn)行異或解密,整個(gè)解密過(guò)程的控制是發(fā)送端通過(guò)DDC通道發(fā)送一系列的讀寫數(shù)據(jù)來(lái)實(shí)現(xiàn)的。芯片的密鑰存儲(chǔ)在專用的串行存儲(chǔ)器EEPROM中,這些密鑰被編程后將不能被讀出來(lái),保證了HDCP密鑰的最高安全性。I2C從機(jī)模塊有DDC通道和本機(jī)I2C通道兩種類型。DDC通道用于HDCP機(jī)制的鑒定;本機(jī)I2C則用于對(duì)芯片中功能寄存器的配置和狀態(tài)讀取。視頻處理模塊將 RGB 4∶4∶4、YcbCr 4∶4∶4 或者 YcbCr 4∶2∶2的視頻輸入信號(hào)經(jīng)過(guò)色彩空間轉(zhuǎn)換或者上/下采樣后輸出符合編碼器要求的視頻格式。音頻處理模塊支持8通道高達(dá)24 bit精度的數(shù)字音頻信號(hào),并且提供標(biāo)準(zhǔn)的I2S和S/PIF輸出接口。
HDMI接口的的電路連接關(guān)系如圖5所示。MCU采用S3C2440作為HDMI1300的控制模塊,它通過(guò)I2C總線向HDMI1300的功能寄存器寫入或者讀取數(shù)據(jù)來(lái)實(shí)現(xiàn)其功能配置或者獲取狀態(tài)信息。當(dāng)有中斷產(chǎn)生時(shí),寄存器中相應(yīng)位被置1,INT引腳輸出低電平信號(hào)向S3C2440請(qǐng)求中斷處理。在HDMI1300中,當(dāng)輸入視頻信號(hào)穩(wěn)定后,SCDT輸出高電平信號(hào)。S3C2440可以通過(guò)檢測(cè)SCDT管腳電平的高低性來(lái)判斷HDMI1300接收的視頻信號(hào)是否有效、穩(wěn)定。實(shí)時(shí)編碼器與HDMI1300的連接電路主要用于音頻部分和視頻部分的數(shù)據(jù)傳輸。在實(shí)時(shí)編碼器中,要求輸入視頻格式為8 bit色深的YCbCr 4∶2∶2,即僅有16只視頻信號(hào)輸入引腳,而HDMI1300支持高達(dá)12 bit色深的RGB 4∶4∶4 和YCbCr 4∶4∶4 視頻輸出格式,共有36 只用于視頻信號(hào)輸出的引腳。因此,必須通過(guò)配置HDMI1300寄存器從中選擇所需要的16只引腳作為視頻信號(hào)的傳輸線。
圖5 HDMI接口電路連接圖
在其他接口電路設(shè)計(jì)中,電源系統(tǒng)是保證芯片和系統(tǒng)正常工作的重要因素之一。HDMI1300所需提供的電壓有模數(shù)3.3 V和1.8 V兩對(duì),而且要求輸入電壓的誤差不能超過(guò)5%,否則將導(dǎo)致正常的音視頻信號(hào)受到嚴(yán)重干擾。本系統(tǒng)采用5 V的輸入電源,經(jīng)電源轉(zhuǎn)換芯片變換后得到3.3 V和1.8 V電壓對(duì)。在DDC接口設(shè)計(jì)方面,采用了型號(hào)為24LCS22A的EEPROM存儲(chǔ)EDID信息,其接口的高電平為3.3 V,而DDC通道的高電平為5 V。因此,為了保證DDC通道正常工作和順利通過(guò)HDMI的兼容性測(cè)試,采用了CALMIRCO公司為HDMI接收端專門設(shè)計(jì)的CM2021作為兩者之間的電平轉(zhuǎn)換芯片。CM2021還具有8 kV的ESD保護(hù)能力,故還可簡(jiǎn)化ESD保護(hù)電路的設(shè)計(jì)。視頻數(shù)據(jù)和視頻時(shí)鐘線是HDMI接收端最重要的輸入信號(hào),HDMI1300的TMDS信號(hào)時(shí)鐘最高可支持到225 MHz,數(shù)據(jù)傳輸速度非???。為了保證HDMI接口芯片能夠正確采樣到視頻信號(hào),必須將每對(duì)TMDS差分信號(hào)線設(shè)計(jì)得基本等長(zhǎng),并且盡可能短。
HDMI接口控制軟件的設(shè)計(jì)流程如圖6所示,主要包括芯片初始化配置、端口選擇、視頻處理和音頻處理等過(guò)程。
圖6 HDMI接口控制軟件流程圖
HDMI1300硬件復(fù)位后直接進(jìn)入低功耗工作模式,芯片中除了與時(shí)鐘相關(guān)的幾個(gè)功能模塊外,其他的都被停止。因此,復(fù)位后必須先通過(guò)軟件置位系統(tǒng)控制寄存器的PD#位,才能使芯片內(nèi)部各功能模塊進(jìn)入正常的工作狀態(tài)。初始時(shí)需要配置的內(nèi)容主要有全局變量、中斷寄存器和音視頻功能寄存器。全局變量用于記錄芯片工作狀態(tài)、系統(tǒng)工作模式、視頻同步信號(hào)和音頻數(shù)據(jù)等狀態(tài)信息;中斷寄存器用于監(jiān)控像素時(shí)鐘丟失、視頻同步信號(hào)丟失、AVI數(shù)據(jù)改變、音頻數(shù)據(jù)變化、CTS值丟失和HDMI線纜連接中斷等重要中斷源;音視頻功能寄存器用于禁止音視頻信號(hào)輸出等。
初始化工作完成后,MCU發(fā)出熱檢測(cè)使能信號(hào),芯片進(jìn)入等待HDMI信號(hào)的工作狀態(tài)。當(dāng)有效的HDMI線纜接入時(shí),軟件通過(guò)檢測(cè)相關(guān)寄存器識(shí)別有信號(hào)輸入的TMDS通道口并使能相應(yīng)的DDC通道。HDMI發(fā)送端在DDC通道使能后通過(guò)讀取和解析EDID,選擇一種能夠被支持的音視頻信號(hào)進(jìn)行傳輸。隨后軟件進(jìn)入等待HDCP認(rèn)證步驟,這個(gè)過(guò)程大概需要100 ms。HDCP認(rèn)證通過(guò)后,HDMI1300中相關(guān)的寄存器被置位,HDCP解密模塊開始對(duì)TMDS的視頻數(shù)據(jù)解碼。如果接收到的視頻信號(hào)是穩(wěn)定并且是被支持的,軟件開始通過(guò)AVI中的視頻輔助信息包識(shí)別輸入視頻的格式和計(jì)算視頻同步信息,并配置與色彩空間轉(zhuǎn)換、上/下采樣和信號(hào)輸出相關(guān)的寄存器。當(dāng)HDMI1300收到穩(wěn)定的音頻信號(hào)后,軟件通過(guò)AVI中的音頻輔助信息包計(jì)算音頻采樣率Fs和音頻時(shí)鐘MCLK,配置輸出I2S/SPDIF音源、音頻FiFo映射圖和音頻輸出通道等。視音頻模塊配置完成后,啟動(dòng)相關(guān)的輸出模塊,輸出符合要求的音視頻信號(hào)到編碼器模塊進(jìn)行壓縮編碼處理。
HDMI具有數(shù)據(jù)傳輸速率高、支持HDCP技術(shù)和單一電纜同時(shí)傳輸音視頻信號(hào)等優(yōu)異性能,是下一代高清數(shù)字視頻設(shè)備必不可少的接口。目前專用的HDMI接口芯片主要是基于HDMI 1.3v規(guī)范進(jìn)行設(shè)計(jì),具有速度快、功耗低、可靠性高和安全性高等特點(diǎn)。本文根據(jù)HDMI接口的功能要求,結(jié)合H.264高清實(shí)時(shí)編碼器系統(tǒng),通過(guò)詳細(xì)探討HDMI接口硬件電路和控制軟件的設(shè)計(jì)方法,給出了一種適合于H.264高清視頻實(shí)時(shí)壓縮編碼系統(tǒng)中的HDMI接口設(shè)計(jì)方案。
[1]HDMI Specification Version 1.3[S].2006.
[2]沈璐,鄭善賢.用于數(shù)字電視的HDMI1.3接收芯片點(diǎn)評(píng)[J].電視技術(shù),2007,31(10):41-43.
[3]林志賢,陳兆芳,郭太良.HDMI視頻接口技術(shù)在彩色FED中的應(yīng)用[J].液晶與顯示,2008,23(2):241-245.
[4]Digital Content Protection LLC,High-bandwidth digital content protection system revision 1.2 June[S].2006.
[5]魏濤.數(shù)字視頻接口標(biāo)準(zhǔn)與高帶寬數(shù)字內(nèi)容保護(hù)規(guī)范[J].電視技術(shù),2005,29(5):31-34.
[6]鄭明魁,蘇凱雄,楊秀芝.一種高清數(shù)字電視H.264編碼系統(tǒng)的設(shè)計(jì)[J].電視技術(shù),2011,35(18):27-29.