《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于二維FFT的圖像濾波方法及實現

基于二維FFT的圖像濾波方法及實現

2008-12-03
作者:鄒德財1,2,吳海濤1,盧曉春1

  摘 要: 二維傅立葉變換" title="傅立葉變換">傅立葉變換" title="快速傅立葉變換" title="快速傅立葉變換">快速傅立葉變換">快速傅立葉變換(FFT)在一個傳統概念的處理機上實現時,需要芯片具有更多的邏輯資源。本文給出了基于FPGA的自定義處理機(CCM)的二維FFT算法和實現。在CCM的Splash-2平臺上實現了二維FFT,計算速度達到180Mflops,最快速度超過Sparc-10工作站的23倍。同時,對于一個N×N圖像,這種實現方法可以滿足二維FFT所需要的O(N2log2N)次的浮點算術運算。
  關鍵詞: 自定義處理機(CCM);二維;快速傅立葉變換(FFT); 圖像;Splash-2

?

  當被處理的圖像像素相對較小時,可以直接采用空間域濾波的方法。但隨著像素的增多,計算量也隨之增大。針對這種情況,本文對像素較大的圖像,采用了一種將圖像先從空域轉換到頻域,執行點到點的乘法濾波,然后通過反傅立葉變換,將頻域內濾波器圖像再轉換到空間域的方法。在此基礎上,對二維快速傅立葉變換采用了基于FPGA的CCM的Splash-2平臺實現方式,目的是為了對視頻信號進行實時濾波。實現過程中需要對浮點數" title="浮點數">浮點數進行計算,采用了CCM可以自定義數據格式和算法數據流以滿足應用的需要。
1 用傅立葉變換進行圖像濾波
  圖1是用快速傅立葉變換進行圖像濾波處理的實現過程[1],其中,預處理階段包括確定圖像大小、獲得填充參數和生成一個濾波函數等過程;后處理階段包括計算結果的實部" title="實部">實部,修剪圖像以及將圖像進行轉換等操作,其他部分將在以下環節分別進行介紹。

?

1.1 離散傅立葉變換(DFT)
  一個N×N圖像的二維的DFT,f(x,y)定義為:
  

  二維的DFT變換可以分解成多個一維的傅立葉變換,則(1)式等同于:
  

  公式(1)、(2)表明一個N×N的二維DFT可以通過先進行N個一維DFT(行),然后再進行另外N個一維DFT(列)來計算,即所謂的行列分解法[2]
1.2 快速傅立葉變換(FFT)
? 執行一個N點DFT所需的復雜乘法和加法運算次數與N2成正比。由于一維DFT可以被分解,所以進行乘法與加法運算的次數正比于N×log2N。而FFT算法通過“分而治之”的方法來實現其較高的計算效率。通過時間與頻率采樣的分組,具有N個值的DFT運算可以表示成兩點DFT的組合方式。這兩點DFT稱為蝶形運算,它需要一次復乘和兩次復加來實現。蝶形結構的符號如圖2所示(左側:基2的蝶形結構)。

?

  用FFT“分而治之”的方法,一個8點的FFT的計算如圖2所示。N點FFT的每一級運算由N/2基2的蝶形組成,總共有log2N次運算。因此,每個FFT共有(N/2)×log2N個蝶形結構。一個二維FFT可以拆分為兩組一維的DFT運算,且每個DFT可以用一維的FFT來計算。此外,數據以倒位序輸入而以正常的線性順序輸出。
2 浮點算法
2.1 浮點格式的表示

  為了實現本文給出的FFT運算,在此設計了一個較小的18bit的浮點格式。用這種格式來滿足兩種特定要求:(1)動態范圍需要非常大,以便能夠準確地表示一個實數的大小、正負;(2)進入Splash-2平臺的XILINX 4010處理器的數據通道寬度為36bit,且每一個時鐘周期" title="時鐘周期">時鐘周期內都輸入復數的實部與虛部。基于這些要求,使用的浮點格式如圖3所示。

?

2.2 浮點加法減法與乘法
  為了在每個時鐘周期產生一個結果,開發浮點加減法程序來實現管道化單元,所實現的浮點加法與減法算法與最傳統的處理器相似。
  浮點乘法與整數乘法類似。因為浮點數是以“符號-數字”的形式存儲,乘法器僅需要處理無符號整數,與浮點加法器的結構類似[3],浮點乘法器單元也是每個時鐘周期產生一次結果,這種設計的瓶頸是整數乘法器。
  本文將VHDL語言放在XILINX芯片相應開發工具ISE中進行編譯,同時給出時延、速度等相關參數。
  浮點運算單元還與FIR濾波器組合一起使用。FFT運算以10MHz工作,轉換的結果存儲在Splash-2開發板的存儲器中。算術單元的最大時鐘速度至少可以工作在10MHz。
3 FFT的實現
  本文從一個幀緩沖區得到連續的視頻圖像提供給FFT和IFFT參與并行計算從而構建出濾波算法。以下討論用于實現FFT、FFT中的蝶形操作以及濾波處理的再循環算法。
3.1 FFT再循環算法
  為了計算二維的FFT,需要設計一個通過蝶形運算的數據循環算法。圖4給出了相應的結構圖。

?

?

  兩列存儲器用來存儲FFT的每一級運算的輸入輸出數據。每一列存儲器包括三個處理單元,用來把兩個18bit浮點數的實部與虛部存儲到它們的本地內存。由于本地內存只有16bit寬,先將兩個18bit浮點數值進行分割,然后按順序放在三個存儲單元中。為了計算輸入圖像的FFT,來自于幀緩沖區中的數據幀從8bit的整數被轉換為18bit的浮點數存儲在第一列中。在計算二維FFT時,首先計算圖像每一行的一維FFT,然后計算行變換后每一列的FFT。一維FFT的計算與圖2中所示方法相同。FFT的第一級通過從第一列存儲區以倒位序讀取數據采樣點的每一行,然后將它送給蝶形操作進行計算。蝶形計算的結果存儲在第二列存儲區。當第一級中的蝶形計算完成時,開始第二級計算,從第二列存儲區中順序讀取數據然后送入蝶形處理器,這一操作的結果存儲在第一列存儲區。這一循環方法通過從一個存儲區中讀數而在另一外存儲區存儲計算結果來進行。當圖中每一行一維FFT計算完時循環終止。第二組一維FFT與第一組以相同的方法進行計算,直到第二組的FFT計算完第一組的所有結果。當最后一次FFT的最后一級計算完時,數據從X11傳到X15進行濾波。一次完整的二維FFT過程包括2×N2×log2N次蝶形操作。
3.2 蝶形實現
  蝶形操作是FFT算法的核心。蝶形運算框圖如圖2所示,它包括了一次復乘與兩次浮點加法、減法。復乘包括4次乘法和兩次加減。每個時鐘周期內以10MHz進行8次浮點操作。蝶形操作的計算量為80Mflops。圖5表示在Splash-2平臺上如何將蝶形運算在5個處理單元之間進行分割計算。
  復乘的實部與虛部分別用下式來表示:
  
  圖2中蝶形運算輸入A與輸入B如圖5中的f(x)所示。A值先送入計算,在下個時鐘周期再送入B的值。輸入A不與旋轉因子相乘而是通過多路選擇開關對它乘1加0無改變地通過循環運算。當B的實部與虛部送入時,它們依次通過4個處理單元來得到復乘結果。處理單元1(PE1)讀出相應旋轉因子的實部并將它與B的實部相乘,計算結果與旋轉因子送到處理單元3(PE3),B的實部與虛部送到處理單元2(PE2)。PE2將B的虛部與相應旋轉因子相乘結果送入PE3。PE3從PE1中讀取B.re.re,把它與從PE2中讀取的B.im.im相加,得到復乘實部的最終結果.re;復乘虛部.im可用同樣的方法在PE3與PE4中得到。在第一個時鐘周期內將A與相加得到X,在第二個時鐘周期內將A減去得到Y,這樣就完成了蝶形運算。

?

  由于存儲器數據總線的寬度僅為16bit,在本地PE1、PE2的存儲器中無法存儲18bit格式的旋轉因子。因此從18bit浮點指數域中減去2bit來產生一個較小的16bit格式,而用歐拉定理可以將旋轉因子表示成正余弦函數的形式,因此浮點數的值將不會有大于0的指數。因此,指數域范圍從0~-31變化,這樣指數域的長度從7bit減到5bit。當旋轉因子被讀入處理單元時,在相應運算單元中進行一次從16bit格式到18bit格式的轉換即可。
3.3 濾波
  當輸入圖像轉換到頻域時,矩陣濾波系數H(u,v)和轉換后的圖像可以通過濾波器得到濾波后的圖像。矩陣H(u,v)元素值的范圍為0~1.0,它與蝶形運算旋轉因子以相同的的存儲方式存儲在本地的存儲器中。濾波系數存儲在X15和X16芯片的本地存儲器中。濾波器芯片包括一個浮點乘法單元和濾波系數地址邏輯單元,X15與X16用來對轉換后圖像的實部和虛部分別進行濾波。
  不同類型的濾波器如理想濾波器以及其他類型濾波器可以先計算,然后從宿主機下載到開發平臺的存儲器中。
  由于CCM的靈活性,浮點格式可以通過自定義方式以最小的比特數來達到最大精度。利用Splash-2的并行結構,地址計算、蝶形運算以及濾波可以并行地進行計算。通過蝶形運算操作,每個時鐘周期內可以以10MHz的速度得到一個實數或復數結果。這種應用的性能類似于一個典型的DSP處理器所達到的性能。


參考文獻
[1] RAFAE1 C G,RICHARD E W,STEVEN L E.數字圖像處理.北京:電子工業出版社,2006.
[2] DAN E D,RUSSELL M M.多維數字信號處理.北京:科學出版社,1991.
[3] SHIRAZI N,WALTERS A P A.Quantitative analysis of floating point arithmetic on FPGA based custom computing?machines.IEEE Symposium on FPGAs for Custom Computing Machines,1995,(4).

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久亚洲午夜电影| 欧美区日韩区| 国产精品萝li| 国产欧美日韩综合精品二区| 久久精品123| 先锋资源久久| 亚洲男人影院| 亚洲综合视频网| 亚洲一区二区精品在线| 亚洲视屏一区| 亚洲自拍偷拍一区| 亚洲欧洲av一区二区三区久久| 亚洲影院在线观看| 午夜国产精品视频| 香蕉久久精品日日躁夜夜躁| 午夜精品一区二区三区在线视| 亚洲女性裸体视频| 午夜精品久久久| 香蕉久久夜色| 亚洲丁香婷深爱综合| 亚洲国产精品va在线观看黑人| 亚洲第一精品福利| 亚洲国产高清一区二区三区| 亚洲激情成人网| 亚洲国产日韩欧美在线图片| 亚洲破处大片| 一区二区三区免费在线观看| 一本色道久久88综合亚洲精品ⅰ| 一本大道久久a久久精二百| 亚洲天堂成人在线观看| 亚洲免费在线看| 欧美一区二区三区四区在线观看地址| 欧美亚洲在线播放| 久久久久亚洲综合| 女人天堂亚洲aⅴ在线观看| 欧美激情视频一区二区三区免费| 欧美日韩伦理在线| 国产精品久久久久7777婷婷| 国产欧美日韩伦理| 精品成人国产| 亚洲精品日韩在线观看| 亚洲天堂成人在线视频| 性伦欧美刺激片在线观看| 亚洲国产三级在线| 一区二区三区|亚洲午夜| 午夜在线成人av| 久久嫩草精品久久久精品| 欧美激情按摩在线| 国产精品理论片| 国产尤物精品| 亚洲精品国偷自产在线99热| 亚洲视频综合在线| 亚洲高清精品中出| 亚洲亚洲精品三区日韩精品在线视频| 欧美影院在线| 欧美激情一区二区三区高清视频| 夜夜嗨av一区二区三区| 欧美—级a级欧美特级ar全黄| 蜜臀av在线播放一区二区三区| 欧美日韩国产色站一区二区三区| 国产精品一区二区久激情瑜伽| 激情欧美一区二区三区| 99成人在线| 久久国产精品电影| 一区二区久久久久| 久久久99免费视频| 欧美日韩你懂的| 国外成人在线视频| 99精品热视频| 亚洲国产色一区| 欧美亚洲一区在线| 欧美精品v日韩精品v韩国精品v| 国产精品久久久久久久7电影| 在线观看亚洲精品视频| 亚洲综合好骚| 亚洲狼人综合| 欧美在线播放一区二区| 欧美区一区二| 极品中文字幕一区| 亚洲视频 欧洲视频| 91久久精品国产91久久| 欧美一区二区国产| 欧美日韩久久| 在线高清一区| 香蕉乱码成人久久天堂爱免费| 宅男噜噜噜66国产日韩在线观看| 久久天堂精品| 国产精品网红福利| 亚洲精品一区在线观看香蕉| 久久精品亚洲一区二区| 先锋影音一区二区三区| 欧美精品在线观看一区二区| 国内精品久久久久久久果冻传媒| 亚洲午夜av在线| 一区二区三区久久久| 免费视频亚洲| 国内精品久久久久影院优| 亚洲男女毛片无遮挡| 亚洲小少妇裸体bbw| 欧美国产精品va在线观看| 狠狠色狠狠色综合日日tαg| 亚洲夜间福利| 亚洲午夜精品久久| 欧美另类极品videosbest最新版本 | 欧美日韩高清在线播放| 国内外成人免费激情在线视频网站| 亚洲一区二区免费视频| 亚洲午夜精品国产| 欧美另类69精品久久久久9999| ●精品国产综合乱码久久久久| 久久国产精品一区二区三区| 国产精品女人网站| 亚洲一二三区在线观看| 麻豆精品视频| 影音先锋亚洲精品| 亚洲国产精品福利| 久久久蜜臀国产一区二区| 国产亚洲aⅴaaaaaa毛片| 亚洲一区二区三区777| 亚洲在线播放| 国产精品久久久久久亚洲调教| 在线亚洲免费| 午夜精品久久久久久久99水蜜桃| 国产精品黄色在线观看| 中文在线不卡| 亚洲欧美日本日韩| 国产精品视频一二三| 午夜精品一区二区三区在线播放| 香蕉成人久久| 国产欧美日韩91| 欧美一级播放| 久久久久欧美精品| 精品99一区二区| 亚洲日本中文字幕| 欧美伦理91i| 一区二区三区视频观看| 性色一区二区三区| 国产一区二区三区免费不卡| 欧美在线观看视频| 美日韩精品免费观看视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲欧洲午夜| 欧美日韩国产在线一区| 在线亚洲精品| 久久精品电影| 亚洲大片av| 一区二区av在线| 国产精品午夜电影| 久久av一区二区| 欧美二区乱c少妇| 一区二区三区精品在线| 性做久久久久久久久| 国产一区二区成人久久免费影院| 亚洲国产激情| 欧美日韩亚洲一区二区三区四区 | 欧美不卡一区| 亚洲区国产区| 校园激情久久| 在线成人av网站| 亚洲视频国产视频| 国产情人综合久久777777| 亚洲国产高清高潮精品美女| 欧美日韩国产色视频| 亚洲欧美国产精品桃花| 另类天堂视频在线观看| 亚洲精品视频在线看| 午夜亚洲影视| 亚洲国产成人午夜在线一区| 亚洲午夜影视影院在线观看| 国产视频在线一区二区 | 亚洲激精日韩激精欧美精品| 欧美人与禽性xxxxx杂性| 国语自产精品视频在线看一大j8| 亚洲啪啪91| 国产精品少妇自拍| 久久www成人_看片免费不卡| 欧美国产精品中文字幕| 亚洲女人天堂av| 欧美高清视频一区| 亚洲制服少妇| 免费一级欧美片在线播放| 国产精品99久久久久久久女警| 久久免费视频在线| 9色精品在线| 久久久99久久精品女同性| 亚洲久久在线| 久久久久国色av免费观看性色| 最新日韩中文字幕| 欧美亚洲日本国产| 欧美日韩亚洲一区二区三区在线 | 亚洲第一成人在线| 欧美性色aⅴ视频一区日韩精品| 久久福利资源站| 欧美视频中文字幕在线| 欧美一区三区二区在线观看| 欧美日本亚洲视频| 欧美综合国产| 国产精品一二三四区| 亚洲精品综合精品自拍| 国产视频一区二区在线观看|