<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于FPGA的四通道視頻縮放引擎的研究及設計

基于FPGA的四通道視頻縮放引擎的研究及設計

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

數字視頻縮小和放大(簡(jiǎn)稱(chēng)縮放)是視頻處理的一個(gè)重要分支,是基于對數字視頻每幀圖像的處理來(lái)實(shí)現的。常見(jiàn)的縮放算法有最近鄰域法、雙線(xiàn)性插值法、拋物線(xiàn)插值法、雙三次插值法和牛頓插值法等基于多項式的插值算法[1],較容易在硬件上實(shí)現;也有B樣條插值法、基于小波插值和有理插值等比較復雜的算法,難以在上實(shí)現。

近年來(lái)隨著(zhù)液晶平板顯示器件的廣泛應用,對于定標器的研究越來(lái)越多且研究成果也很豐富。但定標器的縮放比例有限,一般在0.5~4之間,在這個(gè)范圍內采用2階或3階多點(diǎn)插值算法,圖像的邊緣和細節可以較好保存。但是采用定點(diǎn)插值法,當文字縮小比例較大時(shí),會(huì )丟失較多的細節,出現字體筆畫(huà)斷裂或者鋸齒現象。而采用低階算法(例如多點(diǎn)均值插值),參與運算的點(diǎn)較多,可以有效提高文字的顯示質(zhì)量。

1 系統架構

系統架構如圖1所示,先對輸入視頻的分辨率進(jìn)行檢測,將檢測值送至MCU,MCU用其確定縮放步長(cháng);然后對視頻進(jìn)行縮小操作。如果要對信號進(jìn)行放大,則繞過(guò)該模式;接著(zhù)將視頻數據送至IFIFO緩存,由仲裁器和DDR2控制器實(shí)現4個(gè)通道數據的幀率變換后,視頻數據送至OFIFO模塊;接著(zhù)數據被送至放大模塊,完成放大操作。如果要對視頻信號進(jìn)行縮小,則繞過(guò)該模式;最后將完成處理的RGB視頻信號輸出。整個(gè)縮放過(guò)程所需要的縮放步長(cháng)、通道選擇等配置信號全部由MCU通過(guò)本地總線(xiàn)配置。


其中,f(x,y)為縮小圖像某點(diǎn)的像素值,f(xi,yi)為圖像子塊中各點(diǎn)的像素值。

實(shí)現結果如圖5所示,較好地保證了文字的正常顯示。

本文引用地址:http://dyxdggzs.com/article/201706/349166.htm

4 幀率變換

4.1 輸入緩存 IFIFO

每一路IFIFO都需要在FIFO中數據量大于1/2 FIFO深度時(shí)向仲裁模塊發(fā)送占用DDR2總線(xiàn)的請求信號REQ,應答信號AGREE有效時(shí),向DDR2控制器發(fā)送數據。當完成一定量的讀出數據時(shí),往仲裁模塊發(fā)送一個(gè)發(fā)送結束信號END,仲裁模塊接收到END信號后將DDR2總線(xiàn)控制權收回,IFIFO等待下一次應答。

4.2 輸出緩存OFIFO

其實(shí)現原理與IFIFO類(lèi)似,只是該模塊的輸入端工作在DDR2工作時(shí)鐘域,輸出模塊工作在幀率變換后的視頻圖像的像素時(shí)鐘域。

4.3 仲裁

共有4路輸入和4路輸出占用DDR2帶寬,需要劃分時(shí)間片來(lái)保證各個(gè)通道能夠順暢地顯示,優(yōu)先級依次為第1、2、3、4通道讀,第1、2、3、4通道寫(xiě)。本模塊采用狀態(tài)機控制,狀態(tài)機在上述8個(gè)狀態(tài)中循環(huán)跳轉,然后跳回IDEL狀態(tài),開(kāi)始下一輪循環(huán)。

仲裁模塊的另一個(gè)任務(wù)就是讀寫(xiě)DDR2地址的生成。將DDR2的存儲空間劃分為4個(gè)部分,每個(gè)部分存儲一路視頻信號,每路視頻信號存儲3幀。同時(shí)讀DDR2時(shí),命令設置為讀操作;寫(xiě)DDR2時(shí),命令設置為寫(xiě)操作。

現就一路視頻實(shí)現幀率變換討論如下:創(chuàng )建3個(gè)指針?lè )謩e指向3幀數據的DDR2空間基地址,系統啟動(dòng)時(shí),讀指針rd_pointer、當前寫(xiě)指針current_wr_pointer和之前寫(xiě)指針pre_wr_pointer分別按照圖6所示的狀態(tài)圖在3個(gè)基地址之間跳轉。

最近鄰域插值法存在很強的波瓣,頻率響應較差。當圖像中包含像素值有變化的細微結構時(shí),最近鄰插值會(huì )在圖像中產(chǎn)生人為的痕跡,造成圖像模糊或產(chǎn)生人為噪聲點(diǎn)。

線(xiàn)性插值法頻譜的旁瓣遠小于主瓣,帶阻特性較好。但通帶內高頻成分衰減過(guò)快,會(huì )使得插值后的圖像變模糊。
四點(diǎn)立方插值通帶內高頻成分衰減明顯變慢,且旁瓣不超過(guò)1%,具有較好的高頻響應特性,縮放后的圖像能夠保持更多細節。

六點(diǎn)立方插值算法的頻率響應特性更加優(yōu)越,通帶內高頻成分衰減更慢且旁瓣更低。

四點(diǎn)立方插值較好地保持了圖像的細節,實(shí)現難度和占用邏輯資源適中。六點(diǎn)立方插值雖然實(shí)現效果更好,但是占用的邏輯資源較多。故本設計采用四點(diǎn)立方插值算法實(shí)現視頻的放大操作。

5.2 插值基函數

圖像插值縮放具有二維可分解的特點(diǎn),可以將二維圖像的插值分解為分別沿x和y方向的一維信號插值[3]。一維方向上,利用插值點(diǎn)的四個(gè)臨近像素點(diǎn)進(jìn)行三次插值, Keys將sinc離散函數進(jìn)行泰勒級數展開(kāi)后,使三次分段多項式和原始信號的泰勒級數展開(kāi)式盡可能多項吻合,以此推導出插值基函數表達式[4]。


5.3.1 抽頭系數的產(chǎn)生

將插值的系數存在ROM中,這樣雖然使用三次方插值,但是不用在FPGA中實(shí)現三次方的運算,提高了運算速度。例如原圖像一行有3個(gè)像素,要求插值后的圖像一行有8個(gè)像素,則新圖像一行的第5個(gè)點(diǎn)在原圖像中映射的坐標為[(5-1)×2/7]+1=15/7=2+1/7≈

′b0010.1001,整數2為其原圖像中左邊臨近的像素點(diǎn)坐標為2,1/7表示其與坐標為2的原圖像像素的距離為1/7。此時(shí)將小數部分1001作為地址讀出存儲在該地址的抽頭系數,將其送給卷積器。

5.3.2 插值參考點(diǎn)控制

放大時(shí),對縮放步長(cháng)進(jìn)行累加,當小數向個(gè)位數進(jìn)位時(shí),開(kāi)始讀取一個(gè)新的數據。例如計算插值后圖像某個(gè)點(diǎn)時(shí),采用原圖像的x4、x5、x6、x7作為插值參考點(diǎn),則當步長(cháng)累加器有進(jìn)位時(shí),讀取下一個(gè)像素值x8,同時(shí)將x5、x6、x7移到x4、x5、x6的寄存器位置,而x8則存入之前x7的位置,這樣就可以實(shí)現從原圖像向目標圖像的地址映射,避免從目標圖像到原圖像地址映射過(guò)程出現的乘法運算。

5.4 行緩存

行緩沖存儲器的主體為若干個(gè)存儲容量相同的雙口隨機存儲器(DRAM),每個(gè)DRAM存儲一行的有效像素數據。
為了確保行緩存不溢出,開(kāi)辟6個(gè)行緩存器,存儲時(shí)按順序1-2-3-4-5-6-1循環(huán)存放,讀取時(shí)按循環(huán)次序讀取。

5.5 垂直方向放大

垂直方向放大濾波器架構和水平方向一樣,只是插值參考點(diǎn)來(lái)自于不同的行緩存空間里相同地址的數據。
本文采用Xilinx公司的Virtex-5系列XC5VLX50T-1FFG1136C型號的FPGA實(shí)現,可用用戶(hù)IO管腳480個(gè),滿(mǎn)足4路視頻信號輸入、4路視頻信號輸出和一路16 bit本地總線(xiàn)需求。內部可用Slice 7 200個(gè), Block RAM Blocks最大為2 160 KB,滿(mǎn)足4路視頻信號每路緩存6行數據需求。輸入DVI視頻信號用Silicon Image公司的SiI 1161解碼成并行RGB數據送至FPGA,輸出的并行RGB視頻信號用SiI 1160編碼成DVI視頻信號輸出顯示。實(shí)驗結果表明,在4個(gè)通道輸入均為352×288(CIF格式)分辨率、均放大為1 920×1 080輸出顯示時(shí),無(wú)方塊效應,輸出穩定順暢;在4個(gè)通道輸入均為1 920×1 080分辨率、均縮小為352×288輸出顯示時(shí),畫(huà)面質(zhì)量良好,且文字筆畫(huà)圓潤,無(wú)筆畫(huà)斷裂或者模糊不清的現象。



關(guān)鍵詞: 幀率轉換 加權均值算法 FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>