《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP的H.264運(yùn)動(dòng)估計(jì)算法研究
基于DSP的H.264運(yùn)動(dòng)估計(jì)算法研究
來(lái)源:微型機(jī)與應(yīng)用2013年第3期
郭明松,,張麗暉,,周勁蕾,藺吉虹,陳 芬
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,,浙江 寧波 315211)
摘要: 采用基于TI公司高性能Davinci系列TMS320DM6437處理器的SEED-DEC6437 EVM板作為主要硬件平臺(tái),,在DSP開發(fā)環(huán)境CCS3.3中采用C語(yǔ)言和匯編語(yǔ)言混合編程實(shí)現(xiàn)運(yùn)動(dòng)估計(jì)算法的DSP移植,,并加入人機(jī)接口,,使用DSP/BIOS調(diào)度多個(gè)任務(wù),從而實(shí)現(xiàn)了從軟件平臺(tái)到硬件平臺(tái)的移植,,成功搭建了一個(gè)基于運(yùn)動(dòng)估計(jì)算法的DSP應(yīng)用系統(tǒng),。研究結(jié)果表明,,使用DSP平臺(tái)可以使得運(yùn)動(dòng)估計(jì)算法的實(shí)時(shí)性更好。
Abstract:
Key words :

摘  要: 采用基于TI公司高性能Davinci系列TMS320DM6437處理器的SEED-DEC6437 EVM板作為主要硬件平臺(tái),,在DSP開發(fā)環(huán)境CCS3.3中采用C語(yǔ)言和匯編語(yǔ)言混合編程實(shí)現(xiàn)運(yùn)動(dòng)估計(jì)算法的DSP移植,,并加入人機(jī)接口,使用DSP/BIOS調(diào)度多個(gè)任務(wù),,從而實(shí)現(xiàn)了從軟件平臺(tái)到硬件平臺(tái)的移植,,成功搭建了一個(gè)基于運(yùn)動(dòng)估計(jì)算法的DSP應(yīng)用系統(tǒng),。研究結(jié)果表明,,使用DSP平臺(tái)可以使得運(yùn)動(dòng)估計(jì)算法的實(shí)時(shí)性更好。
關(guān)鍵詞: H.264,;運(yùn)動(dòng)估計(jì)算法,;數(shù)字信號(hào)處理器;TMS320DM6437

 隨著信息技術(shù)的發(fā)展,,21世紀(jì)被形象地稱為信息時(shí)代,、數(shù)字時(shí)代、多媒體時(shí)代,。多媒體信息主要包括文字,、聲音、圖像,、圖形和視頻等內(nèi)容,,其中,視頻又是多媒體信息中最重要的組成部分,。無(wú)論是存儲(chǔ)還是傳輸,,數(shù)字視頻都必須經(jīng)過(guò)極大的壓縮才具有實(shí)際意義,這就使得視頻壓縮技術(shù)成為多媒體技術(shù)的關(guān)鍵所在,。目前最優(yōu)秀的視頻編碼標(biāo)準(zhǔn)是H.264,,但是它的優(yōu)異性能是以巨大的運(yùn)算量為代價(jià)的,這其中運(yùn)動(dòng)估計(jì)就占了70%,,因此,,對(duì)運(yùn)動(dòng)估計(jì)算法的研究具有很大的實(shí)用價(jià)值。
 運(yùn)動(dòng)估計(jì)是視頻編碼中的一項(xiàng)核心技術(shù),, 能有效去除序列圖像的幀間冗余從而實(shí)現(xiàn)高效編碼,。它利用在同一場(chǎng)景中相鄰兩幅圖像具有的時(shí)域相關(guān)性,在參考幀中搜索當(dāng)前塊的最佳匹配塊并計(jì)算兩塊的相對(duì)位移量,,即運(yùn)動(dòng)矢量,。當(dāng)前有很多經(jīng)典的運(yùn)動(dòng)估計(jì)算法,如全搜索算法,、三步搜索算法3SS(Three Step Search),、菱形搜索算法DS(Diamond Search)和六邊形搜索算法HEXBS(Hexa-gon Based Search)等,。本文主要研究三步搜索算法在DSP平臺(tái)上的移植,并加入人機(jī)接口,,設(shè)計(jì)一個(gè)基于運(yùn)動(dòng)估計(jì)算法的DSP應(yīng)用系統(tǒng),。
 基于DSP實(shí)現(xiàn)該算法有以下優(yōu)勢(shì):(1)用戶開發(fā)自由度更大,支持多種個(gè)性化開發(fā),,可以滿足市場(chǎng)不斷提出的新的要求,,在第一時(shí)間提升產(chǎn)品性能,增強(qiáng)產(chǎn)品的競(jìng)爭(zhēng)能力,;(2)DSP處理能力強(qiáng),,可以在一個(gè)DSP上同時(shí)實(shí)現(xiàn)多路音視頻信號(hào)的壓縮處理,還可提供很多視頻專用功能,,如視頻濾波,、高分辨顯示輸出和OSD等;(3)外圍接口豐富,,開發(fā)周期短,,可實(shí)現(xiàn)快速技術(shù)更新和產(chǎn)品換代;(4)芯片功耗低,,為提高產(chǎn)品的穩(wěn)定性提供可靠保障,。
1 基于運(yùn)動(dòng)估計(jì)算法的DSP應(yīng)用系統(tǒng)總體設(shè)計(jì)
 本文用SEED-DEC6437開發(fā)板、攝像頭和液晶顯示器等搭建了硬件平臺(tái),,在其上實(shí)現(xiàn)對(duì)采集的實(shí)時(shí)視頻的相鄰兩幀進(jìn)行運(yùn)動(dòng)估計(jì),,在參考幀中找到最佳匹配塊并計(jì)算出相應(yīng)的運(yùn)動(dòng)矢量,同時(shí)加入人機(jī)接口,,通過(guò)用戶按鍵,,靈活地切換到不同的工作模式。系統(tǒng)流程圖如圖1所示,。

 整個(gè)系統(tǒng)的數(shù)據(jù)流程為:首先從CCD攝像頭采集PAL制式模擬視頻信號(hào),,通過(guò)視頻解碼芯片TVP5150將模擬信號(hào)解碼成YCbCr422格式的數(shù)字圖像信號(hào)[1],并通過(guò)數(shù)據(jù)總線將數(shù)據(jù)存儲(chǔ)至DDR2,,TMS320DM6437通過(guò)訪問(wèn)DDR2進(jìn)行視頻數(shù)據(jù)的相應(yīng)處理,。在本系統(tǒng)中,數(shù)據(jù)處理過(guò)程主要在于實(shí)現(xiàn)運(yùn)動(dòng)估計(jì)算法,,通過(guò)CCS3.3軟件中的Watch Window查看計(jì)算出的運(yùn)動(dòng)矢量,。
2 基于SEED-DEC6437視頻回路設(shè)計(jì)
 在進(jìn)行運(yùn)動(dòng)估計(jì)之前,首先要在SEED-DEC6437開發(fā)板上搭建視頻回路,,該回路包括視頻輸入模塊,、算法處理模塊和視頻輸出模塊3部分。SEED-DEC6437開發(fā)板上的TMS320DM6437處理器中集成的視頻處理子系統(tǒng)(VPSS)包含視頻處理前端(VPFE)[2]和視頻處理后端(VPBE)[3],。VPFE用于視頻輸入,,可以連接PAL標(biāo)準(zhǔn)模擬視頻輸入信號(hào),,也可以連接數(shù)字視頻輸入信號(hào)。
2.1 系統(tǒng)的視頻輸入模塊設(shè)計(jì)
 系統(tǒng)視頻輸入是利用解碼芯片TVP5150將模擬信號(hào)解碼成YCbCr422格式的數(shù)字圖像信號(hào),,再送入TMS320DM6437進(jìn)行相應(yīng)的圖像處理,。TVP5150是一款高性能的視頻解碼芯片,可以將PAL制式的視頻信號(hào)或NTSC制式的視頻信號(hào)轉(zhuǎn)換成YCbCr422格式的數(shù)字信號(hào),。TMS320DM6437與TVP5150的連接框圖如圖2所示,,在SEED-DEC6437開發(fā)板上接一路復(fù)合視頻輸入。

 TVP5150實(shí)時(shí)輸出的視頻圖像數(shù)據(jù)為符合ITU-R BT.656標(biāo)準(zhǔn)的YCbCr 4:2:2數(shù)字視頻圖像數(shù)據(jù),,其特點(diǎn)是,,每個(gè)像素點(diǎn)具有自己?jiǎn)为?dú)的亮度信息Y,但是每?jī)蓚€(gè)相鄰的像素共用同一組色度數(shù)據(jù)Cb和Cr,。
2.2 系統(tǒng)的視頻輸出模塊設(shè)計(jì)
 TMS320DM6437視頻輸出是利用內(nèi)置的VPSS的視頻輸出編碼模塊(VENC)中4路10 bit的DAC輸出,,實(shí)現(xiàn)CVBS與VGA的輸出,。其中,,CVBS輸出接口使用了其中1路DAC,VGA輸出接口使用了共3路的DAC,。本系統(tǒng)在設(shè)計(jì)過(guò)程中主要采用以composite復(fù)合信號(hào)的形式來(lái)進(jìn)行最終實(shí)時(shí)圖像的輸出顯示,。其視頻輸出連接示意圖如圖3所示。

3 系統(tǒng)的運(yùn)動(dòng)估計(jì)算法設(shè)計(jì)
3.1 H.264編碼器框架

 圖4為H.264編碼器的主體結(jié)構(gòu),。其中,,F(xiàn)n為當(dāng)前欲編碼的幀,它是以宏塊為單位進(jìn)行編碼處理的,,每個(gè)宏塊是以幀內(nèi)或幀間模式進(jìn)行編碼,。Fn-1是指前面已解碼的多個(gè)參考幀,在幀間模式下,,宏塊根據(jù)參考幀F(xiàn)n-1進(jìn)行運(yùn)動(dòng)估計(jì)ME(Motion Estimation)和運(yùn)動(dòng)補(bǔ)償(Motion Compensation)得到預(yù)測(cè)值P,,預(yù)測(cè)值與當(dāng)前幀F(xiàn)n得到殘差值,再對(duì)該殘差值進(jìn)行變換編碼T與量化Q,,得到變換量化系數(shù),;最后經(jīng)墑編碼輸出到網(wǎng)絡(luò)提取層NAL(Network Abstraction Layer)。Fn′為經(jīng)過(guò)濾波得到的重構(gòu)圖像,,它將被放入?yún)⒖紟鎯?chǔ)器作為下一幀或幾幀編碼的參考幀之一,。其中,運(yùn)動(dòng)估計(jì)是基礎(chǔ),,也是運(yùn)算量最大的部分,。

3.2 運(yùn)動(dòng)估計(jì)算法的DSP移植
 運(yùn)動(dòng)估計(jì)的基本思想是將圖像序列的每一幀分成許多互不重疊的宏塊,并認(rèn)為宏塊內(nèi)所有像素的位移量都相同,,然后對(duì)于當(dāng)前幀中的每一塊的前一幀或后一幀在某一給定搜索范圍內(nèi),,根據(jù)一定的匹配準(zhǔn)則找出與當(dāng)前塊最相似的塊,,即匹配塊由匹配塊與當(dāng)前塊的相對(duì)位置計(jì)算出運(yùn)動(dòng)位移,所得的運(yùn)動(dòng)位移即為當(dāng)前塊的運(yùn)動(dòng)矢量,。
 基于塊匹配的運(yùn)動(dòng)估計(jì)可以從塊的模式選擇,、塊匹配準(zhǔn)則和搜索策略3個(gè)方面進(jìn)行研究。

 經(jīng)過(guò)三步搜索算法搜索到最佳匹配塊后,,將當(dāng)前幀的當(dāng)前塊的坐標(biāo)與最佳匹配塊坐標(biāo)相減,,得到運(yùn)動(dòng)矢量。本文對(duì)8×8的塊進(jìn)行搜索,,第1步中步長(zhǎng)取4,,第2步中步長(zhǎng)取2,第3步中步長(zhǎng)取1,,搜索結(jié)果如圖6所示,。其中,temp為一個(gè)含9個(gè)元素的一維數(shù)組,,存放9個(gè)點(diǎn)的SAD值,;mvx和mvy為SAD值最小點(diǎn)的坐標(biāo),通過(guò)該坐標(biāo)可以計(jì)算出相應(yīng)的運(yùn)動(dòng)矢量,。

 

 

 本文以SEED-DEC6437開發(fā)板為核心硬件,,成功搭建了視頻回路,并在CCS3.3環(huán)境下編寫算法代碼,,實(shí)現(xiàn)了基于DSP的運(yùn)動(dòng)估計(jì)算法,,取到了運(yùn)動(dòng)矢量。為了增強(qiáng)系統(tǒng)的靈活可控性和實(shí)時(shí)性,,又成功加入了人機(jī)接口,,成功實(shí)現(xiàn)了DSP/BIOS任務(wù)調(diào)度。
參考文獻(xiàn)
[1] Wu Xiaomin,, Xu Weizhang,, Zhu Nanhao, et al. A fast motion estimation algorithm for H.264[C]. International Conference on Signal Acquisition and Processing,, IC5AP′10,, 2010: 112-116.
[2] Jing Xuan, CHAU L P. An efficient three-step search algorithm for block motion estimation[J]. IEEE Transactions on Multimedia,, 2004,, 6(3): 435-438.
[3] Texas Instruments Incorporated. TMS320DM6437 evaluation module(EVM)quick start installation guide[Z]. 2006.
[4] Texas Instruments Incorporated. TMS320DM643x DMP video processing front end(VPFE) user′s guide[Z]. 2008.
[5] 王亮,徐佩霞.基于DSP實(shí)時(shí)實(shí)現(xiàn)的H.264運(yùn)動(dòng)估計(jì)快速算法[J].小型微型計(jì)算機(jī)系統(tǒng),,2005,,26(11):2025-2028.
[6] 雷琳,張俊峰,,劉京,,等.一種基于H.264的改進(jìn)的運(yùn)動(dòng)估計(jì)三步搜索算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,,2010,20(12):1-7.
[7] 王恒,,朱金秀.H.264快速運(yùn)動(dòng)估計(jì)算法研究[J].海大學(xué)常州分校學(xué)報(bào),,2007,21(4):24-27.
[8] 蔡自興,,蔣冬冬,,譚平,等.H.264中快速運(yùn)動(dòng)估計(jì)算法的一種改進(jìn)方案[J].計(jì)算機(jī)應(yīng)用研究,,2010,,27(4): 1524-1529.
[9] 彭啟琮.達(dá)芬奇技術(shù)——數(shù)字圖像/視頻信號(hào)處理新平臺(tái)[M].北京:電子工業(yè)出版社,2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。