《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于二維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亚洲国产精品_日韩亚洲一区二区
狠狠噜噜久久| 欧美一区二区三区四区在线| 亚洲美女中出| 亚洲第一久久影院| 激情久久影院| 国产亚洲一区精品| 国产欧美一区二区三区视频| 国产精品日韩一区| 国产精品视频免费| 国产精品社区| 国产精品视频一| 国产精品视频一区二区三区| 国产精品久久久久影院色老大| 欧美午夜精品久久久久久孕妇 | 亚洲香蕉伊综合在人在线视看| 亚洲国产三级| 亚洲国产日韩欧美在线动漫| 亚洲第一网站| 亚洲欧洲一区二区在线播放| 亚洲精品国产精品乱码不99| 亚洲另类自拍| 一道本一区二区| 亚洲一品av免费观看| 亚洲素人在线| 午夜精品区一区二区三| 欧美诱惑福利视频| 久久久国产精品一区| 久久久人成影片一区二区三区 | 亚洲韩日在线| 亚洲九九爱视频| 一本一道久久综合狠狠老精东影业| 在线亚洲激情| 欧美一级片在线播放| 久久高清一区| 另类图片综合电影| 欧美裸体一区二区三区| 国产午夜精品久久久| 久久成人免费日本黄色| 久久精品人人做人人综合| 亚洲第一久久影院| 亚洲九九精品| 亚洲专区一二三| 久久精品国产清高在天天线| 久久综合给合| 欧美日韩精品欧美日韩精品 | 欧美午夜视频网站| 国产乱码精品一区二区三| 狠狠色狠狠色综合日日tαg | 99精品福利视频| 亚洲综合三区| 麻豆91精品91久久久的内涵| 欧美区一区二| 国产日韩精品在线播放| 在线精品亚洲一区二区| 一区二区三欧美| 亚洲第一区在线| 亚洲特级片在线| 久久色在线播放| 欧美三级电影一区| 国内精品久久久久久影视8 | 另类图片综合电影| 欧美性开放视频| 韩国女主播一区| 99视频精品全国免费| 久久成人免费日本黄色| 亚洲视频网站在线观看| 久久久欧美精品| 国产精品99免费看| 一区视频在线播放| 亚洲视频免费观看| 91久久精品国产91久久性色| 亚洲男女自偷自拍图片另类| 欧美成人精品三级在线观看| 国产精品欧美一区二区三区奶水| 樱桃国产成人精品视频| 亚洲午夜在线视频| 日韩午夜剧场| 久久久久久91香蕉国产| 欧美日韩一区二区三区| 伊人夜夜躁av伊人久久| 亚洲一区日本| 宅男精品导航| 蜜臀av一级做a爰片久久| 国产精品区一区二区三| 亚洲精品乱码久久久久| 欧美制服丝袜第一页| 亚洲综合第一| 欧美日韩一区二区三区在线视频 | 国产亚洲a∨片在线观看| 一二三区精品| 亚洲精品自在在线观看| 久久美女艺术照精彩视频福利播放| 欧美亚州韩日在线看免费版国语版| 精品99一区二区| 午夜精品一区二区三区四区| 亚洲一区二区三区精品视频| 欧美第一黄色网| 黄色综合网站| 亚洲欧美日韩精品久久奇米色影视| 在线一区观看| 欧美欧美天天天天操| 在线看片成人| 亚洲第一二三四五区| 亚洲精品国偷自产在线99热| 亚洲深夜福利视频| 9久re热视频在线精品| 免费在线欧美视频| 韩日成人av| 久久精品国产综合精品| 久久国产精品高清| 国产精品一卡二| 亚洲一区二区三区三| 亚洲视频综合| 欧美三日本三级三级在线播放| 亚洲乱码国产乱码精品精天堂| 亚洲精品乱码视频| 欧美成人视屏| 亚洲黄色高清| 日韩视频一区二区三区在线播放免费观看 | 久久av资源网站| 欧美三级日本三级少妇99| 亚洲人成人77777线观看| 亚洲欧洲精品一区二区三区波多野1战4| 午夜一级在线看亚洲| 国产精品久久久久久久久久三级| 一区二区三区久久网| 国产精品99久久久久久白浆小说| 欧美日韩国产经典色站一区二区三区| 亚洲精品久久久久久下一站| av成人手机在线| 欧美色图五月天| 亚洲午夜激情免费视频| 亚洲欧美一区二区精品久久久| 国产精品日韩精品欧美在线 | 亚洲一品av免费观看| 国产精品久久久久久户外露出| 在线亚洲自拍| 午夜电影亚洲| 国产情侣一区| 亚洲国产精品精华液2区45| 欧美丰满高潮xxxx喷水动漫| 亚洲精品一区二区三区蜜桃久| 亚洲天堂av在线免费观看| 国产精品日韩久久久久| 欧美一级视频精品观看| 亚洲高清视频在线| 99re6这里只有精品视频在线观看| 欧美国产在线视频| 日韩午夜电影av| 亚洲欧美清纯在线制服| 国产欧美亚洲精品| 亚洲高清色综合| 欧美精品v国产精品v日韩精品| 亚洲乱码日产精品bd| 亚洲欧美综合网| 国产在线成人| 最新成人av网站| 欧美日韩亚洲综合一区| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲国产综合在线| 亚洲激情在线观看视频免费| 欧美电影打屁股sp| 99视频在线观看一区三区| 午夜激情综合网| 激情成人综合网| 一区二区三区视频在线观看| 国产欧美精品一区二区三区介绍 | 亚洲精品男同| 国产精品美女999| 91久久国产精品91久久性色| 欧美视频一区二区三区四区| 欧美一级大片在线观看| 欧美激情国产日韩精品一区18| 中文av一区二区| 久久影院亚洲| 亚洲最新在线| 麻豆9191精品国产| 中日韩视频在线观看| 免费不卡在线观看av| 亚洲天堂av在线免费| 男男成人高潮片免费网站| 一区二区三区国产精华| 午夜精品免费视频| 午夜精品视频| 国产精品免费福利| 日韩视频在线播放| 久久精品国产2020观看福利| 欧美日韩在线观看一区二区三区| 香蕉成人久久| 欧美久色视频| 欧美在线黄色| 国产精品ⅴa在线观看h| 欧美一区在线看| 国产日韩精品一区二区| 性欧美xxxx视频在线观看| 欧美伦理影院| 亚洲高清久久| 国产区二精品视| 亚洲一区二区三区高清 | 午夜视频在线观看一区二区|