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