《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的四通道視頻縮放引擎的研究及設(shè)計(jì)
基于FPGA的四通道視頻縮放引擎的研究及設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2011年第8期
陳浩利1,2,鄭學(xué)仁1
1.華南理工大學(xué) 電信學(xué)院,廣東 廣州510640; 2.廣東威創(chuàng)視訊科技股份有限公司,廣東 廣州510663
摘要: 設(shè)計(jì)了一種可實(shí)現(xiàn)4路視頻信號(hào)縮放和幀率轉(zhuǎn)換的電路架構(gòu)。視頻信號(hào)依次經(jīng)過縮小模塊、幀率轉(zhuǎn)換模塊以及放大模塊,有效地減少了幀率轉(zhuǎn)換對(duì)存儲(chǔ)器帶寬的需求。幀率變換模塊采用輸入和輸出自適應(yīng)調(diào)整的算法,同時(shí)在縮小模塊采用加權(quán)均值算法,而放大模塊則采用四點(diǎn)雙三次插值算法。在滿足視頻放大質(zhì)量要求的基礎(chǔ)上,避免了采用過于復(fù)雜算法而消耗過多的FPGA資源,有效地解決了視頻放大算法實(shí)現(xiàn)視頻縮小時(shí)原始圖像信息量丟失導(dǎo)致圖像失真的問題。
中圖分類號(hào): TP302.1
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)08-0056-03
Research and design of four-channel video zooming engine based on FPGA
Chen Haoli1,2,Zheng Xueren1
1.School of Electronic and Information Engineering, South China University of Technology,Guangzhou 510640,China; 2.Guangdong Viron Technologies Co.,Ltd., Guangzhou 510663,China
Abstract: This paper presents an architecture to achieve four-channel video scaling and frame rate conversion. The video signal go through after zoom out module, the frame rate conversion module and the zoom in module in turn, reduce the demand for memory bandwidth effectively. An input and output frame rate adaptive algorithm is proposed, and the zoom out module uses a weighted average algorithm, the zoom in module uses a four-o'clock bi-cubic interpolation algorithm, avoiding excessive consumption of FPGA resources to meet the video quality, and solves the problem of image distortion caused by the loss of original image information when using the video zoom in algorithm to zoom out the video.
Key words : FPGA;weighted average interpolation;bi-cubic interpolation;frame rate conversion;DDR2


    數(shù)字視頻縮小和放大(簡稱縮放)是視頻處理的一個(gè)重要分支,是基于對(duì)數(shù)字視頻每幀圖像的處理來實(shí)現(xiàn)的。常見的縮放算法有最近鄰域法、雙線性插值法、拋物線插值法、雙三次插值法和牛頓插值法等基于多項(xiàng)式的插值算法[1],較容易在FPGA硬件上實(shí)現(xiàn);也有B樣條插值法、基于小波插值和有理插值等比較復(fù)雜的算法,難以在FPGA上實(shí)現(xiàn)。
    近年來隨著液晶平板顯示器件的廣泛應(yīng)用,對(duì)于定標(biāo)器的研究越來越多且研究成果也很豐富。但定標(biāo)器的縮放比例有限,一般在0.5~4之間,在這個(gè)范圍內(nèi)采用2階或3階多點(diǎn)插值算法,圖像的邊緣和細(xì)節(jié)可以較好保存。但是采用定點(diǎn)插值法,當(dāng)文字縮小比例較大時(shí),會(huì)丟失較多的細(xì)節(jié),出現(xiàn)字體筆畫斷裂或者鋸齒現(xiàn)象。而采用低階算法(例如多點(diǎn)均值插值),參與運(yùn)算的點(diǎn)較多,可以有效提高文字的顯示質(zhì)量。
1 系統(tǒng)架構(gòu)
    系統(tǒng)架構(gòu)如圖1所示,先對(duì)輸入視頻的分辨率進(jìn)行檢測(cè),將檢測(cè)值送至MCU,MCU用其確定縮放步長;然后對(duì)視頻進(jìn)行縮小操作。如果要對(duì)信號(hào)進(jìn)行放大,則繞過該模式;接著將視頻數(shù)據(jù)送至IFIFO緩存,由仲裁器和DDR2控制器實(shí)現(xiàn)4個(gè)通道數(shù)據(jù)的幀率變換后,視頻數(shù)據(jù)送至OFIFO模塊;接著數(shù)據(jù)被送至放大模塊,完成放大操作。如果要對(duì)視頻信號(hào)進(jìn)行縮小,則繞過該模式;最后將完成處理的RGB視頻信號(hào)輸出。整個(gè)縮放過程所需要的縮放步長、通道選擇等配置信號(hào)全部由MCU通過本地總線配置FPGA。

    

其中,f(x,y)為縮小圖像某點(diǎn)的像素值,f(xi,yi)為圖像子塊中各點(diǎn)的像素值。
    實(shí)現(xiàn)結(jié)果如圖5所示,較好地保證了文字的正常顯示。

 

 

4 幀率變換
4.1 輸入緩存 IFIFO

    每一路IFIFO都需要在FIFO中數(shù)據(jù)量大于1/2 FIFO深度時(shí)向仲裁模塊發(fā)送占用DDR2總線的請(qǐng)求信號(hào)REQ,應(yīng)答信號(hào)AGREE有效時(shí),向DDR2控制器發(fā)送數(shù)據(jù)。當(dāng)完成一定量的讀出數(shù)據(jù)時(shí),往仲裁模塊發(fā)送一個(gè)發(fā)送結(jié)束信號(hào)END,仲裁模塊接收到END信號(hào)后將DDR2總線控制權(quán)收回,IFIFO等待下一次應(yīng)答。
4.2 輸出緩存OFIFO
    其實(shí)現(xiàn)原理與IFIFO類似,只是該模塊的輸入端工作在DDR2工作時(shí)鐘域,輸出模塊工作在幀率變換后的視頻圖像的像素時(shí)鐘域。
4.3 仲裁
    共有4路輸入和4路輸出占用DDR2帶寬,需要?jiǎng)澐謺r(shí)間片來保證各個(gè)通道能夠順暢地顯示,優(yōu)先級(jí)依次為第1、2、3、4通道讀,第1、2、3、4通道寫。本模塊采用狀態(tài)機(jī)控制,狀態(tài)機(jī)在上述8個(gè)狀態(tài)中循環(huán)跳轉(zhuǎn),然后跳回IDEL狀態(tài),開始下一輪循環(huán)。
    仲裁模塊的另一個(gè)任務(wù)就是讀寫DDR2地址的生成。將DDR2的存儲(chǔ)空間劃分為4個(gè)部分,每個(gè)部分存儲(chǔ)一路視頻信號(hào),每路視頻信號(hào)存儲(chǔ)3幀。同時(shí)讀DDR2時(shí),命令設(shè)置為讀操作;寫DDR2時(shí),命令設(shè)置為寫操作。
    現(xiàn)就一路視頻實(shí)現(xiàn)幀率變換討論如下:創(chuàng)建3個(gè)指針分別指向3幀數(shù)據(jù)的DDR2空間基地址,系統(tǒng)啟動(dòng)時(shí),讀指針rd_pointer、當(dāng)前寫指針current_wr_pointer和之前寫指針pre_wr_pointer分別按照?qǐng)D6所示的狀態(tài)圖在3個(gè)基地址之間跳轉(zhuǎn)。

    最近鄰域插值法存在很強(qiáng)的波瓣,頻率響應(yīng)較差。當(dāng)圖像中包含像素值有變化的細(xì)微結(jié)構(gòu)時(shí),最近鄰插值會(huì)在圖像中產(chǎn)生人為的痕跡,造成圖像模糊或產(chǎn)生人為噪聲點(diǎn)。
    線性插值法頻譜的旁瓣遠(yuǎn)小于主瓣,帶阻特性較好。但通帶內(nèi)高頻成分衰減過快,會(huì)使得插值后的圖像變模糊。
    四點(diǎn)立方插值通帶內(nèi)高頻成分衰減明顯變慢,且旁瓣不超過1%,具有較好的高頻響應(yīng)特性,縮放后的圖像能夠保持更多細(xì)節(jié)。
    六點(diǎn)立方插值算法的頻率響應(yīng)特性更加優(yōu)越,通帶內(nèi)高頻成分衰減更慢且旁瓣更低。
    四點(diǎn)立方插值較好地保持了圖像的細(xì)節(jié),實(shí)現(xiàn)難度和占用邏輯資源適中。六點(diǎn)立方插值雖然實(shí)現(xiàn)效果更好,但是占用的邏輯資源較多。故本設(shè)計(jì)采用四點(diǎn)立方插值算法實(shí)現(xiàn)視頻的放大操作。
5.2 插值基函數(shù)
    圖像插值縮放具有二維可分解的特點(diǎn),可以將二維圖像的插值分解為分別沿x和y方向的一維信號(hào)插值[3]。一維方向上,利用插值點(diǎn)的四個(gè)臨近像素點(diǎn)進(jìn)行三次插值, Keys將sinc離散函數(shù)進(jìn)行泰勒級(jí)數(shù)展開后,使三次分段多項(xiàng)式和原始信號(hào)的泰勒級(jí)數(shù)展開式盡可能多項(xiàng)吻合,以此推導(dǎo)出插值基函數(shù)表達(dá)式[4]。
  
5.3.1 抽頭系數(shù)的產(chǎn)生
    將插值的系數(shù)存在ROM中,這樣雖然使用三次方插值,但是不用在FPGA中實(shí)現(xiàn)三次方的運(yùn)算,提高了運(yùn)算速度。例如原圖像一行有3個(gè)像素,要求插值后的圖像一行有8個(gè)像素,則新圖像一行的第5個(gè)點(diǎn)在原圖像中映射的坐標(biāo)為[(5-1)×2/7]+1=15/7=2+1/7≈
′b0010.1001,整數(shù)2為其原圖像中左邊臨近的像素點(diǎn)坐標(biāo)為2,1/7表示其與坐標(biāo)為2的原圖像像素的距離為1/7。此時(shí)將小數(shù)部分1001作為地址讀出存儲(chǔ)在該地址的抽頭系數(shù),將其送給卷積器。
5.3.2 插值參考點(diǎn)控制
    放大時(shí),對(duì)縮放步長進(jìn)行累加,當(dāng)小數(shù)向個(gè)位數(shù)進(jìn)位時(shí),開始讀取一個(gè)新的數(shù)據(jù)。例如計(jì)算插值后圖像某個(gè)點(diǎn)時(shí),采用原圖像的x4、x5、x6、x7作為插值參考點(diǎn),則當(dāng)步長累加器有進(jìn)位時(shí),讀取下一個(gè)像素值x8,同時(shí)將x5、x6、x7移到x4、x5、x6的寄存器位置,而x8則存入之前x7的位置,這樣就可以實(shí)現(xiàn)從原圖像向目標(biāo)圖像的地址映射,避免從目標(biāo)圖像到原圖像地址映射過程出現(xiàn)的乘法運(yùn)算。
5.4 行緩存
    行緩沖存儲(chǔ)器的主體為若干個(gè)存儲(chǔ)容量相同的雙口隨機(jī)存儲(chǔ)器(DRAM),每個(gè)DRAM存儲(chǔ)一行的有效像素?cái)?shù)據(jù)。
    為了確保行緩存不溢出,開辟6個(gè)行緩存器,存儲(chǔ)時(shí)按順序1-2-3-4-5-6-1循環(huán)存放,讀取時(shí)按循環(huán)次序讀取。
5.5 垂直方向放大
    垂直方向放大濾波器架構(gòu)和水平方向一樣,只是插值參考點(diǎn)來自于不同的行緩存空間里相同地址的數(shù)據(jù)。
    本文采用Xilinx公司的Virtex-5系列XC5VLX50T-1FFG1136C型號(hào)的FPGA實(shí)現(xiàn),可用用戶IO管腳480個(gè),滿足4路視頻信號(hào)輸入、4路視頻信號(hào)輸出和一路16 bit本地總線需求。內(nèi)部可用Slice 7 200個(gè), Block RAM Blocks最大為2 160 KB,滿足4路視頻信號(hào)每路緩存6行數(shù)據(jù)需求。輸入DVI視頻信號(hào)用Silicon Image公司的SiI 1161解碼成并行RGB數(shù)據(jù)送至FPGA,輸出的并行RGB視頻信號(hào)用SiI 1160編碼成DVI視頻信號(hào)輸出顯示。實(shí)驗(yàn)結(jié)果表明,在4個(gè)通道輸入均為352×288(CIF格式)分辨率、均放大為1 920×1 080輸出顯示時(shí),無方塊效應(yīng),輸出穩(wěn)定順暢;在4個(gè)通道輸入均為1 920×1 080分辨率、均縮小為352×288輸出顯示時(shí),畫面質(zhì)量良好,且文字筆畫圓潤,無筆畫斷裂或者模糊不清的現(xiàn)象。
參考文獻(xiàn)
[1] 林媛.圖像縮放算法研究及其FPGA實(shí)現(xiàn)[D].廈門:廈門大學(xué),2006.
[2] 高健,茅時(shí)群,周宇玫,等.一種基于映射圖像子塊的圖像縮小加權(quán)平均算法[J].中國圖像圖形學(xué)報(bào),2006,11(10):1460:1463.
[3] 張輝,胡廣書.基于二維卷積的圖像插值實(shí)時(shí)硬件實(shí)現(xiàn)[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,47(6):885:888.
[4] KEYS R G.Cubic convolution interpolation for digital image   processing[J].IEEE Transactions on Acoustics,Speech,and Signal Processing,1981,29(6):1153-1160.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: www操操| 全黄性高视频 | 日韩一级在线播放 | 午夜影院一区二区三区 | 日韩激情中文字幕 | 国产一级又色又爽又黄大片 | 国产日韩欧美亚洲 | 中文字幕欧美亚洲 | 全免费一级毛片在线播放 | 中文网丁香综合网 | 久久96国产精品 | 中文字幕天堂 | 黄网在线免费观看 | 成人免费一级毛片在线播放视频 | 片成年免费观看网站黄 | 一级做a爰片性色毛片武则天五则 | 男女一级爽爽快视频 | 免费人成在线观看69式小视频 | 小明永久免费看aⅴ片 | 国产亚洲欧美日韩综合另类 | 亚洲成在人天堂一区二区 | 日韩免费视频一区二区 | 国产一级特黄一级毛片 | 午夜欧美精品久久久久久久久 | 亚洲日本va | 羞羞羞网站 | 欧美日韩有码 | 天天天天做夜夜夜夜 | 亚洲免费精品视频 | 亚洲激情五月 | 天天摸夜夜摸狠狠摸夜夜摸 | 免费在线观看日本 | a级片视频在线观看 | 国产成人v视频在线观看 | 国产又色又爽又黄的视频在线观看 | 免费黄在线看 | 国产精品一区二区手机看片 | 影视精品网站入口 | 日韩在线一区二区 | 国产三级福利 | 天天草综合网 |