基于H.264視頻編解碼DSP實(shí)現(xiàn)與優(yōu)化
1.4 消除塊效厘適應(yīng)性濾波器
基于分塊處理的變換編碼算法,忽略了物體邊緣的連續(xù)性,在低碼率情況下,容易出現(xiàn)方塊效應(yīng)。為消除在預(yù)測(cè)和變換過(guò)程中引入的塊效應(yīng),H.264對(duì)此采用了消除塊效應(yīng)適應(yīng)性濾波器,對(duì)宏塊邊緣進(jìn)行平滑,有效改進(jìn)圖像的主觀質(zhì)量。但與以往標(biāo)準(zhǔn)不同的是,H.264的消除塊效應(yīng)濾波器位于運(yùn)動(dòng)估計(jì)循環(huán)內(nèi)部,可以利用消除塊效應(yīng)以后的圖像去預(yù)測(cè)其他圖像的運(yùn)動(dòng),即濾波后宏塊用于運(yùn)動(dòng)估計(jì),以產(chǎn)生更小的幀差進(jìn)行編碼,進(jìn)一步提高預(yù)測(cè)精度。
1.5 增強(qiáng)的熵編碼
以往標(biāo)準(zhǔn)的熵編碼采用變長(zhǎng)的哈夫曼編碼,碼表統(tǒng)一,不能適應(yīng)變換多端的視頻內(nèi)容,影響編碼效率。根據(jù)視頻內(nèi)容的不同,H.264利用較短的碼字來(lái)代表出現(xiàn),高頻率的符號(hào),可進(jìn)一步去除碼流中的冗余,提供兩種熵編碼,即上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)和基于內(nèi)容的自適應(yīng)可變長(zhǎng)編碼(CAVLC),CABAC的編碼效率更高,也更復(fù)雜,在相同圖像質(zhì)量下,使用CABAC編碼電視信號(hào)可降低10%左右(10%~15%)的碼率,后者具有較強(qiáng)抗誤碼能力。本文引用地址:http://butianyuan.cn/article/151987.htm
2 H.264的視頻編解碼的DSP平臺(tái)實(shí)現(xiàn)
在數(shù)字圖像處理中,要完成大量的數(shù)字信號(hào)處理工作,特別是對(duì)于H.264這樣的新一代視頻壓縮編碼標(biāo)準(zhǔn)。就其Baseline而言,其解碼復(fù)雜度是同等情況下H.263的2倍,而編碼復(fù)雜度更是H.263的3倍,解決這種高運(yùn)算量問(wèn)題,很大程度上依賴(lài)于高速DSP技術(shù),而且采用半導(dǎo)體制造工藝生產(chǎn)的DSP處理器可以有更低的功耗。因此為圖像的實(shí)時(shí)壓縮處理搭建了一個(gè)合理的DSP硬件平臺(tái)。
TI公司生產(chǎn)的DM64X系列芯片具有超高主頻、很強(qiáng)的并行處理能力和信號(hào)處理功能,是實(shí)現(xiàn)H.264編解碼的理想平臺(tái)。
TI公司生產(chǎn)的642系列是一款專(zhuān)門(mén)面向多媒體應(yīng)用的專(zhuān)用DSP,該DSP時(shí)鐘頻率高達(dá)600 MHz,8個(gè)并行運(yùn)算單元,處理能力達(dá)4 800 MIPS。它是在C64X的基礎(chǔ)上,增加了很多外圍設(shè)備和接口??梢?jiàn),DM642是一個(gè)強(qiáng)大的多媒體處理器,是構(gòu)成多媒體通信系統(tǒng)的良好平臺(tái)。它豐富的外圍接口使得它近乎是一個(gè)多媒體嵌入式系統(tǒng)的單芯片硬件平臺(tái);它的完全可編程性,又使它能夠兼容正在發(fā)展的各種多媒體信號(hào)處理標(biāo)準(zhǔn),構(gòu)成通用的軟件平臺(tái)。
該系統(tǒng)主要是為了對(duì)模擬視頻圖像(PAL制式)進(jìn)行采集,之后對(duì)其進(jìn)行壓縮,然后把壓縮后的數(shù)據(jù)通過(guò)擴(kuò)頻的方式發(fā)送到接收端,在接收端接收碼流后由DSP進(jìn)行解壓縮,之后再由DSP負(fù)責(zé)圖像的顯示,存儲(chǔ)等。所以總體設(shè)計(jì)方案必須包括視頻的輸入/輸出、網(wǎng)絡(luò)等接口。設(shè)計(jì)圖如圖2所示。
在發(fā)送端,視頻輸出由視頻A/D芯片先轉(zhuǎn)換為數(shù)字視頻信號(hào),然后輸入到DM642的視頻端口2,由DM642進(jìn)行圖像采集,并把圖像數(shù)據(jù)送入SDRAM中,同時(shí)DM642對(duì)視頻圖像進(jìn)行實(shí)時(shí)壓縮,并把壓縮后的數(shù)據(jù)通過(guò)McBSP發(fā)送到信道編碼部分,完成發(fā)送端的工作。在接收端,接收由信道譯碼部分送來(lái)的壓縮圖像數(shù)據(jù),然后由DM642完成圖像的實(shí)時(shí)解壓,并把解壓后的數(shù)據(jù)送到SDRAM中,然后把解壓后的圖像數(shù)據(jù)送人視頻端口0,再由視頻端口0把數(shù)據(jù)送入視頻D/A,完成視頻的實(shí)時(shí)顯示。圖2中音頻/視頻接口作為擴(kuò)展,10/100Mb/s的以太網(wǎng)卡以及USB控制器外設(shè)主要是為了方便接收端直接把數(shù)字視頻信號(hào)傳送到計(jì)算機(jī)或者終端各處,供電及復(fù)位電路完成對(duì)電路板的供電及復(fù)位功能。
3 H.264的視頻編解碼的DSP優(yōu)化
將H.264編碼器移植到DM642圖像處理平臺(tái)上,由于H.264的核心算法不僅在代碼結(jié)構(gòu)上需要改進(jìn),而且在具體的核心算法上也需要做較大的改動(dòng),因此整個(gè)系統(tǒng)的編碼速度非常令人不滿(mǎn)意,達(dá)不到實(shí)時(shí)應(yīng)用的要求,因此需要從各個(gè)方面對(duì)該系統(tǒng)進(jìn)行優(yōu)化,將編碼的時(shí)間減少下去。首先去除了編碼器中的冗余代碼,然后優(yōu)化工作分三步:在PC機(jī)上實(shí)現(xiàn)H.264算法并進(jìn)行優(yōu)化;PC機(jī)H.264代碼的DSP化,可以在DSP上實(shí)現(xiàn)H.264的編解碼算法,但是,這樣實(shí)現(xiàn)的算法運(yùn)行效率很低,因?yàn)樗械拇a都是由C語(yǔ)言編寫(xiě),并沒(méi)有完全利用DSP的各種性能,所以必須結(jié)合DSP本身的特點(diǎn),對(duì)其進(jìn)一步優(yōu)化,才能實(shí)現(xiàn)H.264視頻解碼器算法對(duì)視頻圖像的實(shí)時(shí)處理,即要H.264的DSP算法優(yōu)化。對(duì)于DSP代碼的優(yōu)化共分為三個(gè)層次:項(xiàng)目級(jí)優(yōu)化、C程序級(jí)優(yōu)化、匯編程序級(jí)優(yōu)化。
4 結(jié)語(yǔ)
在上述環(huán)境下,解碼器算法對(duì)QCIF測(cè)試序列已經(jīng)能夠達(dá)到45~60 f/s的解碼速度,達(dá)到了實(shí)時(shí)性解碼的目的。測(cè)試結(jié)果表明,圖像主觀質(zhì)量較好,無(wú)明顯方塊效應(yīng),碼率也比較低。另外,圖像編碼的實(shí)時(shí)性能與圖像的內(nèi)容、運(yùn)動(dòng)的劇烈程度等都有一定的關(guān)系。在DM642板卡上實(shí)現(xiàn)的H.264視頻編解碼器具有功能強(qiáng),使用靈活等特點(diǎn),有廣泛的應(yīng)用前景。相信在不久的將來(lái),基于H.264算法和DSP處理器的可視電話(huà)、視頻會(huì)議、有線(xiàn)電視、無(wú)線(xiàn)流媒體通信等產(chǎn)品會(huì)逐漸地走進(jìn)千家萬(wàn)戶(hù),視頻編解碼器在嵌入式處理終端上的應(yīng)用會(huì)漸漸地成為應(yīng)用的主流。
評(píng)論