基于FPGA的運(yùn)動估計設(shè)計
2.3 減法器模塊
減法器模塊主要是完成當(dāng)前塊像素點(diǎn)值和參考塊像素點(diǎn)值之間的作差,并將做差結(jié)果進(jìn)行取絕對值運(yùn)算。本減法器是采用9個LPM(參數(shù)化模塊庫)元件庫中的減法器合成的。而LPM中的減法器將被減數(shù)和減數(shù)明確地分開了。因此,在將當(dāng)前塊和參考塊像素點(diǎn)值輸入到減法器之前先對二者進(jìn)行比較,再分別輸入到減法器的被減數(shù)和減數(shù)端口。這樣當(dāng)減法器設(shè)置為無符號數(shù)運(yùn)算時,輸出結(jié)果就相當(dāng)于取了絕對值的差
值。從時鐘周期的角度發(fā)現(xiàn),整個減法器在256x9個時鐘周期內(nèi)是都在運(yùn)行的,但是所要采集的有用信號僅僅是9個獨(dú)立的256個時鐘周期,即每個減法器僅僅使用256個時鐘周期的有用信號,其他時鐘周期內(nèi)的信號對于其他減法器是有用信號,但是對于本減法器卻是干擾信號,必須要消除。這就是在參考塊分頻器里面引入當(dāng)前塊信息的原因。
2.4 累加比較器模塊
累加比較器主要是完成對每個減法器輸出的取過絕對值的差值信號的累加,并將累加結(jié)果進(jìn)行比較輸出最佳運(yùn)動矢量。累加比較器的設(shè)計和減法器的設(shè)計有很大關(guān)系,除了在上述的取絕對值方面二者相互要求比較嚴(yán)格之外,在時序方面,二者也有很大關(guān)聯(lián)。9個減法器在參考塊分頻器模塊的作用下,工作于所有的時鐘周期里面,而累加比較器則是以減法器輸出的信號作為累加原材料的,這就使得累加比較器也必須從時鐘的起始點(diǎn)就開始工作。確定運(yùn)動矢量的標(biāo)準(zhǔn)是SAD最小值。也就是要通過比較9個累加結(jié)果,確定出最小值,并由地址計數(shù)器模塊找到這個最小值所對應(yīng)的運(yùn)動矢量。
2.5 整體方案
整體方案主要是將三步搜索法中的三步分開進(jìn)行。在外部輸入信號的控制下,先輸入第一步搜索的地址計算控制因子,使得尋址范圍是在步長為4的9個數(shù)據(jù)塊群里面,第一步搜索完成時將第一步搜索到的最佳運(yùn)動矢量輸入到第二步的搜索中,完成機(jī)制和第一步唯一的區(qū)別就是地址計算和產(chǎn)生的尋址范圍不同,這樣一直到完成第三步搜索時,將第三步搜索得到的最佳運(yùn)動矢量作為當(dāng)前塊在這個搜索窗口里面的最佳運(yùn)動矢量。
3 實(shí)驗結(jié)果與分析
本設(shè)計采用Stratix II系列的EP2S15F484C3器件進(jìn)行仿真,仿真結(jié)果如圖6所示。本文引用地址:http://butianyuan.cn/article/190177.htm
由仿真結(jié)果可知整個搜索過程完全符合時序要求,總的邏輯資源占用率是27%。組合查找表使用了2 169個,占總數(shù)量12 480的17%。專用邏輯寄存器使用了2 855個,占總數(shù)量12 480的23%。而用的總的寄存器數(shù)也就是2 855。使用了180個片上引腳,占總個數(shù)的52%。使用了86 088比特的塊存儲器單元,占總的快存儲器數(shù)量的21%。搜索到的最佳運(yùn)動矢量(0,-7),由前兩步的搜索結(jié)果可知其完全正確。
4 結(jié)束語
本文中采用FPGA設(shè)計的運(yùn)動估計方案無論在搜索速度,資源利用還是時序控制上都具有一定的優(yōu)越性,可以大大提高視頻編碼器設(shè)計的性價比。另外,隨著半導(dǎo)體工藝的不斷進(jìn)步,FPGA的性價比將不斷提高,將使得運(yùn)動估計乃至視頻編碼的技術(shù)不斷提高。
評論