• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的視頻縮放設(shè)計與實現(xiàn)

      2017-09-09 10:30:31吳以凱喻金華肖鐵軍
      軟件導(dǎo)刊 2017年8期
      關(guān)鍵詞:乘法器流水線

      吳以凱+喻金華+肖鐵軍

      摘 要:視頻縮放是視頻處理領(lǐng)域的關(guān)鍵問題,可以分為硬件實現(xiàn)和軟件實現(xiàn)。以FPGA作為處理芯片,按照SMPTE協(xié)議設(shè)計了一種視頻縮放方法。設(shè)計采用模塊化思想對系統(tǒng)進行了自上而下的劃分,采用XILINX公司提供的Spartan6系列芯片XC6SLX45T,并使用Verilog HDL語言實現(xiàn)了各模塊功能。該算法使用流水線結(jié)構(gòu),實驗結(jié)果表明,該算法能夠在FPGA上穩(wěn)定運行,實現(xiàn)了視頻縮放的效果。和原有方法相比,該設(shè)計方法減少了5個乘法器的使用,節(jié)約了系統(tǒng)資源。

      關(guān)鍵詞:FPGA;視頻縮放;流水線;DDR3 SDRAM;乘法器

      DOIDOI:10.11907/rjdk.171287

      中圖分類號:TP319

      文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0083-03

      0 引言

      實時視頻圖像處理是圖像處理領(lǐng)域的研究熱點之一,廣泛應(yīng)用于監(jiān)控、醫(yī)療、通信領(lǐng)域等?;趩纹瑱C的方案對于高分辨率視頻數(shù)據(jù)的處理無法滿足實時性要求,近年來現(xiàn)場可編程門陣列(FPGA)由于其自身優(yōu)勢得到了快速發(fā)展,在實時圖像處理中的應(yīng)用也越來越廣泛。一些FPGA器件不僅提供了豐富的邏輯資源,還提供了RAM塊、乘法器、鎖相環(huán)、時鐘資源等,為實現(xiàn)高性能的數(shù)字信號處理提供了便利。目前,市場上的數(shù)字視頻處理芯片大多是從歐美、日、韓等地的公司進口的,也有一些來自中國臺灣,但這些芯片主要適用于一些高度復(fù)雜的系統(tǒng),不適用于單純進行視頻處理的場合。

      圖像插值是圖像處理的基本問題之一。隨著顯示器的分辨率越來越高,原有的視頻源制式越來越跟不上顯示器的發(fā)展速度,故需要采用相應(yīng)的視頻縮放方法將輸入的視頻信號轉(zhuǎn)變?yōu)榭梢栽陲@示器中實現(xiàn)點對點顯示的視頻制式。為了實現(xiàn)視頻縮放,以及視頻信號的良好顯示,需要對視頻信號進行插值處理。本文設(shè)計了一種基于FPGA的視頻縮放算法,并對算法進行了優(yōu)化。該算法可占用更少的邏輯資源,且易于硬件實現(xiàn)。

      1 算法原理

      1.1 常用縮放算法

      常用的線性視頻縮放算法有最鄰近插值、雙線性插值、雙三次插值[1]。對3種插值方式采用MATLAB進行檢測的結(jié)果如圖1所示,其中原圖是一幅512*384的圖像,分別用3種插值方法對原圖進行4*4倍縮小,再進行4*4倍放大得出的圖像如圖1(b)~(d)所示。無論是采用PSNR[2]方法還是人眼觀察,最終的實現(xiàn)效果都為:雙三次插值>雙線性插值>最鄰近插值。最簡單的插值方式為最鄰近插值,但其實現(xiàn)的效果最差,邊緣容易產(chǎn)生鋸齒現(xiàn)象;雙線性插值具有低通濾波器特性,會使高頻信息受損,邊緣處的過渡比較平滑,計算量比最鄰近插值大;雙三次插值能夠保持較好的圖像細節(jié),精度較高,但其計算量最大。權(quán)衡FPGA的邏輯資源與顯示效果,本設(shè)計采用雙線性插值算法實現(xiàn)。

      1.2 雙線性插值算法描述

      雙線性插值采用可分離的線性插值將4個最近的像素組合起來:

      I[x,y]=I[xi,yi]*(1-xf)*(1-yf)+I[xi+1,yi]*xf*(1-yf)+I[xi,yi+1]*(1-xf)*yf+I[xi+1,yi+1]*xf*yf(1)

      圖2(a) 為插值的坐標定義,下標i和f表示各自坐標的整數(shù)部分和小數(shù)部分,圖2(b)給了式(1)另外一種解釋。每個像素的位置用一個方框表示,其權(quán)值由期望的輸出像素和可用輸入像素之間重疊的面積給出。公式(1)需要8個乘法運算,但對其進行因式分解后,能將乘法運算減少到3個,如式(2)所示:

      I[x,yi]=I[xi,yi]+xf*(I[xi+1,yi]-I[xi,yi])

      I[x,yi+1]=I[xi,yi+1]+xf*(I[xi+1,yi+1]-I[xi,yi+1])

      I[x,y]=Iyi+yf*(Iyi+1-Iyi) (2)

      2 實現(xiàn)方案

      本設(shè)計主要包含DDR3 SDRAM緩存模塊、視頻縮放模塊、輸出顯示模塊和時鐘生成模塊等,如圖3所示。

      2.1 緩存模塊

      本設(shè)計采用兩片片外存儲器DDR3 SDRAM作為幀緩存,型號為MT41J64M16,工作頻率可達到200MHz,數(shù)據(jù)傳輸速度達到800Mb/s,吞吐量可達12.8Gb/s,可以滿足設(shè)計要求,而且具有成本低、功耗小的特點,但是DDR3 SDRAM的設(shè)計非常復(fù)雜,不僅時鐘頻率很高,而且還需要定時刷新。XILINX公司提供了一個可以用來控制DDR3 SDRAM的IP核MIG[3],不僅可使設(shè)計復(fù)雜度大為降低,而且縮短了設(shè)計時間。由于DDR3與數(shù)字視頻流工作在不同的時鐘域,需要解決跨時鐘域處理問題。由于處理的數(shù)據(jù)位數(shù)為多位,故采用異步FIFO來解決,緩存模塊如圖4所示。

      2.2 縮放模塊

      將視頻數(shù)據(jù)中的視頻數(shù)據(jù)以行的形式在vid_clk時鐘下分別送入RAM0和RAM1中,然后分別從RAM0和RAM1中以148.5MHz的時鐘頻率將用到的第一行和緊鄰的第二行數(shù)據(jù)取出,再分別從兩行數(shù)據(jù)中以scl_clk的時鐘頻率分別取出待使用的兩個緊鄰像素點,共計4個像素點,如圖5所示。

      在判斷待使用的像素點坐標時,水平方向上,利用縮放前和縮放后的相對步長判斷待使用的像素點坐標,提取有效像素點提供給待插值點使用,如圖6所示。

      在權(quán)值計算過程中可以使用x軸方向和y軸方向系數(shù)值相乘的方法,但是該做法特別浪費資源。因此,將乘法計算改為采用LUT[4]的方法,事先將4個待插值點圍成的正方形分為8×8=64個方格,計算每個方格的權(quán)重值,存入查找表中。優(yōu)點是運行時不需要進行復(fù)雜的計算,從而減少占用資源,提高了系統(tǒng)運行速度,如圖7所示。

      2.3 時鐘模塊

      利用Xilinx公司提供的PLL IP核,為了提高時鐘驅(qū)動能力,將時鐘信號輸入IBUFG(Input Buffer Global)[2],然后再直接驅(qū)動全局緩沖BUFG(Buffer Global)[5],在縮放模塊中實現(xiàn)4種制式的視頻切換。148.5MHz、74.25MHz、27MHz、13.5MHz四個時鐘的比例為11∶5.5∶2∶1,四個時鐘的切換可以通過PLL倍頻和分頻得到,DDR3中需要的200MHz時鐘可以通過晶振的100MHz二倍頻得到。在上述對系統(tǒng)能正常工作所需的全局時鐘設(shè)計過程中,用到的IBUFG和BUFG都為本設(shè)計中使用的FPGA原語庫,通過原語例化[6]的方式加入設(shè)計中使用,所需的IP核由工具CORE Generator生成。仿真圖如圖8所示。endprint

      2.4 輸出顯示模塊

      根據(jù)SMPTE協(xié)議[7-8],顯示器正常工作需要相應(yīng)的行場信號進行同步。在不同的視頻制式下,該模塊產(chǎn)生不同的start_hcnt、start_vcnt控制縮放模塊何時開始縮放,以及產(chǎn)生縮放之后的行同步信號scl_hs、場同步信號scl_vs和數(shù)據(jù)有效信號de,所需時鐘由時鐘模塊提供。

      3 實驗結(jié)果

      本設(shè)計在公司數(shù)字視頻信號處理芯片中加以應(yīng)用,采用Verilog編程語言對算法進行描述,并使用Xilinx公司提供的可編程邏輯器件開發(fā)環(huán)境ISE Design Suite14.4進行編譯和實現(xiàn)。同時,使用視頻播放盒輸出的HDMI視頻信號,作為公司產(chǎn)品尋像器式監(jiān)視器1090H的信號源進行驗證,1090H搭載了一片Xilinx公司推出的Spartan6系列XC6SLX45T芯片。本設(shè)計實現(xiàn)了兩種功能:

      (1)實現(xiàn)幾種常見視頻制式之間的相互轉(zhuǎn)換。以1 080p和720p之間的轉(zhuǎn)換為例,使用在線邏輯分析儀Chipscope對該模塊進行采點測試,無論是放大還是縮小都能滿足要求。當輸入視頻源為720p時,縮放模塊系統(tǒng)將其轉(zhuǎn)換為1 080p。由于720p工作在74.25MHz,而采樣的時鐘信號為148.5MHz,所以當輸入為720p時,捕捉到的有效像素個數(shù)為1 280*2=2 560個。輸出制式為1 080p,輸出的像素數(shù)據(jù)個數(shù)為1 920個。當輸入視頻源為1 080p時,縮放系統(tǒng)將其轉(zhuǎn)換為720p。

      (2)實現(xiàn)了視頻畫面的放大顯示。本設(shè)計實現(xiàn)了兩種視頻放大比例,“放大1”可實現(xiàn)4/3*4/3倍中間畫面的實時放大,“放大2”可實現(xiàn)2*2倍中間畫面的實時放大。以1 080p為例,原始視頻數(shù)據(jù)如圖9所示,將視頻有效區(qū)域vid_hcnt 240~1680,vid_vcnt 135~945的數(shù)據(jù)進行放大,得到“放大1”,如圖10所示。將視頻有效區(qū)域vid_hcnt 480~1 440,vid_vcnt 270~810的數(shù)據(jù)進行放大,得到“放大2”,如圖11所示。

      4 結(jié)語

      本文采用先垂直縮放、再水平縮放的雙線性插值算法很好地實現(xiàn)了視頻縮放的要求,迎合了當前高清晰度視頻圖像的發(fā)展趨勢。本文對視頻縮放算法進行了相應(yīng)優(yōu)化,采用流水線的設(shè)計思想,以及適當使用查找表的方法得到了一種復(fù)雜度更小、占用邏輯資源更少的設(shè)計方法,提高了圖像處理運算速度,滿足了圖像處理對系統(tǒng)實時性的要求。該技術(shù)在視頻圖像實時處理中具有廣闊的應(yīng)用前景。但是本文設(shè)計的方法只能實現(xiàn)幾種視頻制式之間的轉(zhuǎn)換,而不能實現(xiàn)任意比例的實時轉(zhuǎn)換,需要在后續(xù)工作中進一步完善。

      參考文獻:

      [1] 李益.視頻信號處理芯片中圖像縮放模塊的設(shè)計[D].廣州:華南理工大學(xué),2011.

      [2] 蘇延平.視頻圖像縮放的FPGA設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2014.

      [3] 肖文娟.基于FPGA的多格式視頻信號轉(zhuǎn)換系統(tǒng)[D].太原:太原理工大學(xué),2010.

      [4] 朱艷亮.實時視頻縮放算法及FPGA實現(xiàn)[D].長沙:中南大學(xué),2009.

      [5] 李曉明.基于FPGA的多通道視頻縮放研究與設(shè)計[D].哈爾濱:哈爾濱工程大學(xué),2013.

      [6] 謝敏.任意比例實時圖像縮放IP核的FPGA設(shè)計與實現(xiàn)[D].南京:南京理工大學(xué),2012.

      [7] 電影電視工程師協(xié)會.SMPTE 296M-2001[Z].2001.

      [8] 電影電視工程師協(xié)會.SMPTE 274M-2008[Z].2008.endprint

      猜你喜歡
      乘法器流水線
      Gen Z Migrant Workers Are Leaving the Assembly Line
      流水線
      基于FPGA的流水線單精度浮點數(shù)乘法器設(shè)計*
      報廢汽車拆解半自動流水線研究
      SIMATIC IPC3000 SMART在汽車流水線領(lǐng)域的應(yīng)用
      自動化博覽(2014年6期)2014-02-28 22:32:05
      乘法器模塊在FPGA中的實現(xiàn)
      基于FPGA 的數(shù)字乘法器性能比較*
      電子器件(2011年6期)2011-08-09 08:07:22
      20×18位符號定點乘法器的FPGA實現(xiàn)
      乌鲁木齐县| 桦南县| 冀州市| 江门市| 双流县| 信宜市| 博湖县| 嘉峪关市| 云龙县| 万盛区| 文水县| 金华市| 贡山| 峨眉山市| 内江市| 大同县| 嘉祥县| 包头市| 克拉玛依市| 上虞市| 广州市| 大名县| 阿荣旗| 讷河市| 论坛| 东阿县| 陆河县| 资源县| 安岳县| 嵩明县| 北碚区| 清流县| 旌德县| 辽宁省| 兰州市| 临夏市| 高州市| 调兵山市| 碌曲县| 客服| 二手房|