一種基于FPGA的實(shí)時(shí)視頻圖像處理算法
本文引用地址:http://m.butianyuan.cn/article/249273.htm
視頻插值模塊實(shí)現(xiàn)對(duì)視頻按比例因子進(jìn)行雙線性插值放大處理。雙線性插值算法的基本原理如圖5所示,圖中的下標(biāo)i和f表示各自坐標(biāo)的整數(shù)和小數(shù)部分。雙線性插值是采用可分離的線性插值將4個(gè)最近的像素值組合,如式(1)。
線性插值的結(jié)果與插值的順序無(wú)關(guān)。先進(jìn)行y方向的插值,然后進(jìn)行x方向的插值,所得結(jié)果相同。將式(1)進(jìn)行分解,則有
當(dāng)輸入分辨率有所變化而引起縮放因子變化時(shí),FPGA內(nèi)的數(shù)字邏輯能實(shí)時(shí)計(jì)算出式(2)中的系數(shù)xf和yf。而非僅計(jì)算幾種固定縮放比例,從而提高了算法模塊的利用率。
若以將攝像機(jī)1 024×576分辨率的圖轉(zhuǎn)化為1 366×768的圖為例,則水平縮放因子sc_x和垂直縮放因子sc_y均為0.75。若將水平因子直接帶入編寫(xiě)程序,則會(huì)報(bào)錯(cuò)。采用浮點(diǎn)數(shù)表示法,轉(zhuǎn)換后得到的10位16進(jìn)制數(shù),計(jì)算出系數(shù)xf和yf均為h300。
在實(shí)際設(shè)計(jì)中,為避免運(yùn)算過(guò)于復(fù)雜,把復(fù)雜的運(yùn)算分成幾個(gè)步驟,分別在不同的時(shí)鐘周期完成。插值計(jì)算的邏輯結(jié)構(gòu)模塊如圖6所示。
系統(tǒng)包含3種不同的時(shí)鐘頻率:原像素點(diǎn)頻率clkin、輸出像素點(diǎn)頻率clkout和系統(tǒng)主時(shí)鐘頻率clksys。令系統(tǒng)主時(shí)鐘頻率為4倍的原像素點(diǎn)頻率,則使用Verilog語(yǔ)言及ModelSim SE 10。1 a和Quartus II仿真環(huán)境進(jìn)行編譯,得到雙線性插值計(jì)算模塊的仿真波形如圖7所示。為程序書(shū)寫(xiě)方便,將采集的4個(gè)像素值標(biāo)為a、b、c、d,經(jīng)過(guò)插值模塊后的輸出像素值為p。從仿真波形可看出,完成了雙線性插值計(jì)算模塊的實(shí)現(xiàn)。
3 結(jié)束語(yǔ)
針對(duì)大屏幕特點(diǎn),從拼接控制器入手,提出了一種基于FPGA實(shí)現(xiàn)的視頻實(shí)時(shí)處理系統(tǒng)。主要采用雙線性插值法,討論了如何用FPGA實(shí)現(xiàn),并進(jìn)行邏輯結(jié)構(gòu)的優(yōu)化,提高系統(tǒng)性能,并對(duì)雙線性進(jìn)行仿真,驗(yàn)證了算法在拼接顯示系統(tǒng)中的可行性。圍繞拼接控制器這個(gè)應(yīng)用方向,還有更多的問(wèn)題需要進(jìn)行研究,例如畫(huà)面自由疊加與漫游,單屏分割,自動(dòng)圖像識(shí)別重建等。
fpga相關(guān)文章:fpga是什么
負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理 塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
評(píng)論