鄭明魁,蘇凱雄,楊秀芝
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350002)
H.264/AVC是由ISO/IEC運動圖像專家組(MPEG)與ITU-T視頻編碼專家組(VCEG)聯(lián)手制定的最新視頻編碼標(biāo)準(zhǔn)。其主要特點是具有更高的編碼效率和更好的網(wǎng)絡(luò)適應(yīng)性[1]。與目前流行的MPEG-2壓縮標(biāo)準(zhǔn)相比,在相同重構(gòu)圖像質(zhì)量條件下,H.264/AVC能節(jié)約大概50%的碼流[2-3]。H.264/AVC優(yōu)異的性能使其在高清數(shù)字電視廣播、視頻實時通信等方面有著廣泛的應(yīng)用前景。
由于H.264編碼算法的高復(fù)雜度性,在編碼系統(tǒng)實現(xiàn)上,目前主要有基于FPGA解決方案、基于DSP解決方案以及采用ASIC方案等方法[4-5]。FPGA與DSP方案使用方便靈活,但相對成本較高。而采用ASIC方案則成本低,功耗小,而且編碼效果更好。本文采用以ASIC實時編碼芯片為核心,設(shè)計出一種高清數(shù)字電視實時編碼系統(tǒng),該系統(tǒng)具有實時性好,體積小,成本較低等特點。
本文采用的H.264實時編碼芯片的內(nèi)部電路組成框圖如圖1所示,主要包括視頻編解碼、音頻編解碼、視音頻輸入輸出接口、系統(tǒng)復(fù)用解復(fù)用以及主機(jī)控制接口等模塊。芯片視頻輸入和輸出支持SMPTE274M,SMPTE296M-2001以及ITU-R BT.656-4標(biāo)準(zhǔn),支持高清視頻信號1 920×1 080p,1 920×1 080i,1 280×720p和標(biāo)清視頻信號,音頻信號輸入輸出則通過I2S實現(xiàn)。主機(jī)控制接口HOST工作于串行或者并行方式,外部MCU可以通過該接口完成對編碼芯片的參數(shù)設(shè)置與控制。
H.264高清編碼系統(tǒng)的總體結(jié)構(gòu)框圖如圖2所示,主要由視音頻輸入接口、TS流輸出接口、H.264高清編碼模塊、主控模塊等部分組成。視頻輸入支持 HDMI,S-video,CVBS,YPbPr接口,并支持1路模擬立體聲輸入。方案支持高清視頻信號(1 920×1 080p,1 920×1 080i,1 440×1 080i,1 280×720p)和標(biāo)清視頻信號的H.264視頻格式的編碼。主控模塊MCU采用基于ARM7內(nèi)核的LPC2210,利用SiI9135芯片設(shè)計了HDMI高清視音頻輸入接口,并運用ADV7401,CS5361設(shè)計了模擬視音頻輸入接口,ASI輸出接口則通過CY7B923實現(xiàn)。從HDMI輸入的視音頻數(shù)據(jù)以及經(jīng)過A/D轉(zhuǎn)換的視頻音頻信號都送到FSTD16211中進(jìn)行輸入信號的選擇,MCU通過設(shè)置XOE端,選擇不同的視音頻數(shù)據(jù)信號進(jìn)行實時編碼。通過以太網(wǎng)接口能實時對編碼系統(tǒng)進(jìn)行監(jiān)視和控制,獲取編碼系統(tǒng)的工作狀態(tài)并對編碼參數(shù)進(jìn)行配置。
HDMI可以實現(xiàn)未壓縮的高分辨力視頻和多聲道音頻數(shù)據(jù)的傳輸,其傳輸結(jié)構(gòu)如圖3所示[6]。它包括3個不同的TMDS數(shù)據(jù)通道和1個時鐘通道,傳輸?shù)男盘栍幸曨l信號、數(shù)據(jù)島和控制信號,不同的信號采用不同的編碼方式,使得每個時鐘周期內(nèi)每個通道都傳輸10 bit。顯示數(shù)據(jù)通道(DDC)由美國視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)規(guī)定,發(fā)送端可通過DDC通道讀取接收端的EDID信息,從而實現(xiàn)發(fā)送端和接收端之間的配置以及狀態(tài)信息的交換。CEC通道則實現(xiàn)相連設(shè)備的高層控制功能。
本文采用支持HDMI1.3規(guī)范的專用芯片SiI9135。該芯片在音頻上支持DTS-HD和杜比True HD格式;在視頻上支持10位/12位的顏色深度和1 080p@60 Hz視頻格式。芯片內(nèi)部具有預(yù)先編程的HDCP密鑰,可提供高級別的HDCP密鑰安全機(jī)制。HDMI接口硬件框架如圖4所示。
SiI9135寄存器邏輯控制模塊主要用于實現(xiàn)HDCP的授權(quán)、視頻音頻處理、輔助格式以及省電模式等功能。本文通過2個端口訪問SiI9135控制寄存器,第1個端口通過DDC通道,由HDMI電纜與 HDMI源設(shè)備連接,可以對HDCP操作寄存器和普通寄存器進(jìn)行設(shè)置,實現(xiàn)對HDMI輸入接口的HDCP操作;第2個是本地I2C接口,編碼器主控MCU可以通過該串行總線訪問SiI9135的通用寄存器和普通寄存器,完成有關(guān)視頻音頻等參數(shù)的設(shè)置。
本文利用E2PROM AT24LS02B存儲EDID數(shù)據(jù)結(jié)構(gòu),EDID數(shù)據(jù)信息是以128 byte為一個Block單位的數(shù)據(jù)結(jié)構(gòu),符合EDID1.3規(guī)范,完整的數(shù)據(jù)塊包含了產(chǎn)品序列號、EDID版本信息等內(nèi)容,HDMI源設(shè)備通過I2C總線從AT24LS02B中讀出EDID數(shù)據(jù),AT24LS02B采用的是雙向供電的方式,分別由HDMI源設(shè)備和編碼器5 V電源提供。
模擬視頻輸入采用ADV7401實現(xiàn),ADV7401是高性能的單片多格式視頻解碼器,內(nèi)置采樣頻率高140 MHz的ADC。本文具有多個模擬視頻輸入端口,包括有S-vid?eo,YPbPr,CVBS接口標(biāo)準(zhǔn),最高支持1 080i的高清視頻信號輸入,允許PAL,NTSC,SECAM的標(biāo)準(zhǔn)視頻,輸出YCrCb的數(shù)字視頻信號將送到ASIC編碼器中進(jìn)行編碼。
模擬音頻輸入接口采用24 bit差分輸入立體聲模數(shù)變換器CS5361來實現(xiàn)。通過MCU設(shè)置,輸出的數(shù)字音頻信號為I2S格式,采樣頻率在2~192 kHz之間選擇。其硬件框圖如圖2所示,其中M1M0設(shè)置操作模式,本文支持32 kHz,44.1 kHz和48 kHz這3種采樣頻率;M/S設(shè)置CS5361的工作模式;HPF用于設(shè)置高通濾波器和直流偏移校正,由于模擬通道可能引起的直流偏置將影響音頻AD的性能,通過MCU控制該管腳對直流偏移進(jìn)行校正。
ASI輸出接口通過CY7B923來實現(xiàn)。CY7B923是一種用于點對點之間高速串行數(shù)據(jù)通信的發(fā)送芯片,可兼容DVB-ASI、光纖、IBM ESCON及SMPTE-259M等多種傳輸協(xié)議,適用于光纖、同軸電纜和雙絞線等傳輸媒介。
ASI輸出接口框架如圖2所示,經(jīng)過實時壓縮的高清碼流通過D[7:0]輸入CY7B923,從OUTA±差分輸出,CKW是時鐘信號。MCU實現(xiàn)對CY7B923的控制,通過SC/D進(jìn)行特殊字符/數(shù)據(jù)選擇,當(dāng)該腳為低電平時,對輸入數(shù)據(jù)使用8B/10B數(shù)據(jù)碼表進(jìn)行編碼;SVS為高電平時,將發(fā)送1個違例字符。
MCU采用嵌入式單芯片系統(tǒng)LPC2210[7],如圖2所示,將LPC2210外部存儲器接口配置成4組,分別接Flash、SRAM、實時編碼芯片以及以太網(wǎng)控制器,每個模塊的起始地址分別為0x80000000,0x81000000,0x82000000以及0x83000000,分別通過4個外部存儲器配置寄存器BCFG0~BCFG4進(jìn)行設(shè)置。以太網(wǎng)控制器采用RTL8019AS,鍵盤控制器采用FD650。FD650是一種帶LED驅(qū)動控制的專用鍵盤掃描電路接口電路,內(nèi)部集成有MCU輸入輸出控制數(shù)字接口、數(shù)據(jù)鎖存器、LED驅(qū)動、鍵盤掃描、輝度調(diào)節(jié)等電路。
在控制軟件設(shè)計方面,采用實時操作系統(tǒng)μCOS II[8],主控模塊流程如圖5所示,主要完成視頻音頻輸入接口的初始化,ASI輸出接口初始化、以太網(wǎng)以及編碼芯片的初始化,并根據(jù)面板以及以太網(wǎng)接口進(jìn)行編碼參數(shù)配置。編碼參數(shù)主要包括視頻格式的選擇、壓縮碼率、視音頻PID以及PCR PID等。
為了使播控中心能通過以太網(wǎng)實時監(jiān)控編碼系統(tǒng),獲取編碼系統(tǒng)的檢測數(shù)據(jù)和工作狀態(tài),并對編碼方式、編碼圖像的質(zhì)量、碼率、分辨力等進(jìn)行控制,本文設(shè)計了基于SNMP協(xié)議的網(wǎng)絡(luò)監(jiān)控系統(tǒng)。SNMP協(xié)議是工作在UDP協(xié)議之上,使用UDP傳輸服務(wù)來實現(xiàn)數(shù)據(jù)報傳送[9-11]。網(wǎng)絡(luò)管理站對編碼器狀態(tài)的監(jiān)視和控制主要通過查詢代理MIB中相應(yīng)對象的值來完成,要獲得編碼狀態(tài)時,管理站向編碼器代理發(fā)送GetRequest,GetNextRequest報文,設(shè)置編碼器時則發(fā)送SetRequest報文,代理都以Get?Response報文應(yīng)答。本文同時利用代理向管理站發(fā)出陷阱的方式產(chǎn)生Trap報文,為編碼設(shè)備向管理站報告故障和狀態(tài)變化提供了通道。
編碼器SNMP網(wǎng)管代理主要包括3個功能模塊:編解碼模塊使SNMP報文以ASN.1中規(guī)定的基本編碼規(guī)則BER進(jìn)行編解碼;數(shù)據(jù)請求及處理模塊完成編碼參數(shù)的設(shè)置與讀?。幌葳逵|發(fā)模塊向管理站產(chǎn)生Trap故障報文。
H.264高清視頻編碼技術(shù)具有廣闊的應(yīng)用市場,不僅應(yīng)用于視頻廣播編碼、媒體網(wǎng)管、視頻監(jiān)控等商用產(chǎn)品中,而且也將用于數(shù)字媒體適配器、高清視頻會議終端、IP視頻電話和高清網(wǎng)絡(luò)攝像機(jī)等消費類產(chǎn)品中。本文設(shè)計的H.264高清實時編碼系統(tǒng)體積小、成本較低,滿足了高清數(shù)字電視前端音視頻編碼的需要。
[1]畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)——H.264/AVC[M].北京:人民郵電出版社,2005.
[2]高文,趙德斌,馬思偉.數(shù)字視頻編碼技術(shù)原理[M].北京:科學(xué)出版社,2010.
[3]Advanced video coding for generic audio visual service[EB/OL].[2010-11-23].http://www-ee.uta.edu/dip/courses/ee5356/H264systems.pdf.
[4]韓文俊,張艷艷,任國強(qiáng),等.基于雙DSP的實時高清H.264視頻編碼器實現(xiàn)[J].電視技術(shù),2010,34(5):33-55.
[5]戴衛(wèi)平.高清電視發(fā)展趨勢研究[J].有線電視技術(shù),2010(3):72-75.
[6]High-definition multimedia interface specification version 1.3[EB/OL].[2010-11-23].http://2011down.com/detail/uFVSTS.
[7]周立功.ARM微控制器基礎(chǔ)與實踐[M].北京:北京航空航天大學(xué)出版社,2003.
[8]LABROSSE J J.嵌入式實時操作系統(tǒng)μCOS-II[M].邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2003.
[9]徐明,陳奇,王凌武.SNMP協(xié)議分析與協(xié)議棧的實現(xiàn)[J].計算機(jī)工程與設(shè)計,2006,27(14):2669-2672.
[10]李明江.SNMP簡單網(wǎng)絡(luò)管理協(xié)議[M].北京:電子工業(yè)出版社,2007.
[11]SCAGLIA S.嵌入式Internet TCP/IP基礎(chǔ)、實現(xiàn)及應(yīng)用[M].潘琢金,徐蕾,拱長青,等,譯.北京:北京航空航天大學(xué)出版社,2008.