• 
    

    
    

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

      ?

      基于FPGA的實(shí)時(shí)大窗口中值濾波器的設(shè)計(jì)

      2016-05-14 13:09武繼瑞劉澤
      現(xiàn)代電子技術(shù) 2016年6期
      關(guān)鍵詞:圖像處理

      武繼瑞 劉澤

      摘 要: 中值濾波在圖像預(yù)處理階段有著重要的應(yīng)用,尤其是對(duì)于圖像中脈沖噪聲的濾除。傳統(tǒng)的中值濾波算法都是通過對(duì)原數(shù)據(jù)按照大小排序,然后才能取出中值。但隨著窗口尺寸的擴(kuò)大,因數(shù)據(jù)增多而造成比較次數(shù)的激增,這成為制約大窗口中值濾波器實(shí)時(shí)性的一個(gè)瓶頸。針對(duì)這一問題,該文提出一種基于FPGA的25輸入的實(shí)時(shí)中值濾波器的設(shè)計(jì)方法。無需對(duì)原數(shù)據(jù)進(jìn)行大小排序,而是根據(jù)各比特平面的信息,重新生成一個(gè)中值,特別適合于FPGA實(shí)現(xiàn)。設(shè)計(jì)專用的位處理單元,簡化了電路結(jié)構(gòu)。通過三級(jí)查找表的方式,解決“多數(shù)表決器”耗時(shí)長的問題。實(shí)驗(yàn)結(jié)果表明,濾波器資源占用少,數(shù)據(jù)吞吐率高,延遲小,可滿足任何窗口形狀的濾波要求。

      關(guān)鍵詞: 中值濾波; 數(shù)字濾波器; 圖像處理; FPGA

      中圖分類號(hào): TN713?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)06?0117?03

      Design of real?time big?window median filter based on FPGA

      WU Jirui, LIU Ze

      (Institute of Optics and Electronics, Chinese Academy of Sciences, Chengdu 610209, China)

      Abstract: The median filtering has important application in image preprocessing stage, especially for filtering of impulse noise in image. The traditional median filtering algorithm is used to sort the original data according to its size to extract the median. The enlarged window size and increasing data cause the dramatical increase of comparison times, which becomes the bottleneck to restrict the real?time performance of big?window median filter. For this problem, a design method for the real?time median filter with 25 inputs based on FPGA is presented. It is unnecessary to sort the original data, but a new median is generated according to the information of each bit plane, which is particularly suitable for the filtering implementation based on FPGA. A special bit?processing unit was designed to simplify the circuit structure. The method of three?level lookup table can solve the time?consuming issue of “majority voter”. The experimental results show that the proposed filter has less sources occupation, high data throughput and short time delay, and can satisfy the filtering requirement of any window shapes.

      Keywords: median filtering; digital filter; image processing; FPGA

      中值濾波作為一種統(tǒng)計(jì)排序?yàn)V波在圖像增強(qiáng)中有著廣泛的應(yīng)用,尤其對(duì)于脈沖噪聲的濾除[1],它提供了一種優(yōu)秀的去噪能力,且相比于同尺寸的線性平滑濾波,其能夠帶來更小的圖像模糊。如今,對(duì)于3×3小窗口的中值濾波算法[2?3],已有眾多研究,技術(shù)比較成熟。然而對(duì)于大窗口的中值濾波,因數(shù)據(jù)增多,造成比較運(yùn)算次數(shù)成幾何級(jí)數(shù)激增,這成為制約大窗口中值濾波實(shí)時(shí)性的一個(gè)瓶頸。為降低比較次數(shù),文獻(xiàn)[4?5]提出了基于均值加速和均值查找的濾波算法,然而計(jì)算均值本身就十分耗時(shí),且從原始數(shù)據(jù)中取出中值需要幾個(gè)時(shí)鐘周期并不確定,不便于用硬件來實(shí)現(xiàn)。文獻(xiàn)[6]提出了一種不完全排序的算法,但對(duì)于5×5的濾波窗口,依然需要多達(dá)108次比較運(yùn)算,20級(jí)延遲,才可計(jì)算出中值。文獻(xiàn)[7]提出了一種基于多級(jí)分組排序的濾波算法,把比較次數(shù)降低到了84次,只需要6級(jí)延遲即可取出中值,但這卻是以犧牲數(shù)據(jù)吞吐率為代價(jià)的,無法滿足更高速度的處理要求。有鑒于此,本文以FPGA為平臺(tái),設(shè)計(jì)了一種基于比特平面的中值濾波器,對(duì)原數(shù)據(jù)并未進(jìn)行大小排序,而是根據(jù)各比特平面的數(shù)據(jù)結(jié)構(gòu),重新生成了一個(gè)中值;該濾波器對(duì)窗口形狀無限制,對(duì)相鄰區(qū)域數(shù)據(jù)無依賴,吞吐率高,延遲小,可滿足高速、實(shí)時(shí)的濾波要求。

      1 中值濾波原理

      1.1 中值濾波基本原理

      中值濾波的基本原理是對(duì)圖像中某一像素點(diǎn)周圍鄰域的像素按照灰度級(jí)大小排列,并選取中間值代替該點(diǎn)像素值,以達(dá)到濾除噪聲的效果。其濾波窗口根據(jù)具體需求可選擇方形、十字形等。對(duì)于邊緣像素點(diǎn),濾波窗口可能覆蓋到圖像外側(cè)無效數(shù)據(jù)。對(duì)此,一般的處理方式是對(duì)無效數(shù)據(jù)填充數(shù)據(jù)0或?qū)吘墧?shù)據(jù)不進(jìn)行濾波處理。

      1.2 基于比特平面的中值濾波原理

      本文以8位寬、5×5窗口的中值濾波器為例,說明基于比特平面的設(shè)計(jì)方法。對(duì)于任意8位寬的數(shù)據(jù),可表示為如下形式:

      [27b7+26b6+25b5+24b4+23b3+22b2+21b1+20b0]

      式中:[bi=0或1;i=0,1,2,…,7。]

      于是可將25個(gè)輸入數(shù)據(jù)分別表示成如下行向量的形式:

      [xTi=bi,7,bi,6,bi,5,bi,4,bi,3,bi,2,bi,1,bi,0]

      式中:[i=1,2,…,25。]

      記矩陣:

      [A=xT1xT2 ?xT25=b1,7b1,6…b1,0b2,7b2,6…b2,0????b25,7b25,6…b25,0=y7,y6,…,y0]

      設(shè)中值所對(duì)應(yīng)的行向量表達(dá)式為

      [mT=λ7,λ6,λ5,λ4,λ3,λ2,λ1λ0]

      記函數(shù)

      [?(yj)=1,向量yj中1的個(gè)數(shù)比0多0,向量yj中0的個(gè)數(shù)比1多]

      式中:[j=7,6,…,0。]

      為了確定向量[mT]中各元素的值,可通過如下步驟計(jì)算:

      (1) 若25個(gè)原輸入數(shù)據(jù)中,最高比特位1的個(gè)數(shù)比0多,則中值的最高比特位必然也為1,反之則為0,有:

      [λ7=?(y7)]

      (2) 假若[λ7=0],對(duì)于向量[xTi],若有[bi,7=1],則[xTi]所代表的數(shù)據(jù)必定大于中值,于是將[xTi]中所有元素全置1,而中值在原數(shù)據(jù)中的大小排序不會(huì)改變,以此來確保[λ6]生成的正確性;反之,對(duì)于[λ7=1],則將[xTi]中所有元素全置為0。即有:

      [xTi=xTi,bi,j=λj1,1,1,1,1,1,1,1,bi,j≠λj,且bi,j=10,0,0,0,0,0,0,0,bi,j≠λj,且bi,j=0]

      式中:[i=1,2,…,25;j=7,6,…,1。]

      (3) 第(2)步更新完矩陣A后可再計(jì)算出[λ6]的值,即:

      [λj=?(yj), j=6,5,…,0]

      (4) 重復(fù)第(2)步和第(3)步,即可算出中值其他比特位的值。

      2 基于比特平面的中值濾波的硬件設(shè)計(jì)

      2.1 頂層電路結(jié)構(gòu)設(shè)計(jì)

      為簡化電路結(jié)構(gòu),提高數(shù)據(jù)吞吐率,本文設(shè)計(jì)了一個(gè)bit_filter單元用來處理一個(gè)特定的比特平面。對(duì)于8位寬的像素?cái)?shù)據(jù),只需將8個(gè)bit_filter單元級(jí)聯(lián)起來即可,其中每個(gè)bit_filter單元產(chǎn)生中值的一個(gè)比特位。為了便于說明,圖1給出了j=5時(shí),bit_filter單元的電路框圖。

      圖1 位處理單元框圖

      圖1中median_data為產(chǎn)生的中值,有:

      median_data_o[7] = median_data_i[7] = [λ7],

      median_data_o[6] = median_data_i[6] = [λ6],

      median_data_o[5] = [λ5]

      對(duì)于25個(gè)輸入數(shù)據(jù)data1~data25來說,此時(shí)最高位和次最高位已不再需要,故輸入端只用了低6位,輸出端只輸出了低5位供下級(jí)處理,以此來降低FPGA的資源消耗。其他各層面的bit_filter單元與此類似。

      對(duì)于8位寬的數(shù)據(jù),若每個(gè)時(shí)鐘處理一個(gè)比特層面,則需要8個(gè)時(shí)鐘的延遲方可算出中值。為降低延遲,也可以每個(gè)時(shí)鐘處理2個(gè)或4個(gè)比特層面,此時(shí)只需要4級(jí)或2級(jí)延遲即可算出中值,但數(shù)據(jù)吞吐率也會(huì)隨之降低。

      2.2 多數(shù)表決器的快速實(shí)現(xiàn)

      在bit_filter單元中,[?(yj)]函數(shù)是限制整個(gè)系統(tǒng)速度的瓶頸。為解決這一問題,本文采用了三級(jí)查找表的方式來快速實(shí)現(xiàn)[?(yj)]函數(shù),其頂層電路框圖如圖2 所示。

      圖2 多數(shù)表決器電路框圖

      首先將[yj]中的25個(gè)數(shù)據(jù)分為4組,每組7個(gè),第4組補(bǔ)3個(gè)0。其中add7bit單元的作用是統(tǒng)計(jì)每組輸入中1的個(gè)數(shù),通過調(diào)用三個(gè)128深度的ROM來實(shí)現(xiàn),每個(gè)ROM由兩個(gè)6輸入的查找表(LUT6)構(gòu)成,用來輸出一個(gè)比特位,將3個(gè)ROM的輸出拼接起來即為sum_o(2:0)。vec3addvec3單元的作用是將兩個(gè)3位寬的數(shù)據(jù)相加,其實(shí)現(xiàn)方式與add7bit類似。第三級(jí)采用一個(gè)256深度的ROM,將第二級(jí)算出的兩個(gè)和作為地址,即可直接查找出[?(yj)]的值。經(jīng)測(cè)試,在Xilinx 5vlx110tff1136?1芯片上,用該方式實(shí)現(xiàn)[?(yj)]函數(shù)共需消耗36個(gè)LUT6,計(jì)算時(shí)間僅需1.654 ns。

      3 總體性能比較分析

      在FPGA的設(shè)計(jì)中,如果單純強(qiáng)調(diào)數(shù)據(jù)吞吐率是沒有意義的,因?yàn)榭偪梢酝ㄟ^插入多級(jí)寄存器,消耗更多資源來提高工作頻率。根據(jù)前面所述的方法,本文在Xilinx 5vlx110tff1136?1 芯片上設(shè)計(jì)實(shí)現(xiàn)25輸入的中值濾波器。同時(shí),按照文獻(xiàn)[7]的設(shè)計(jì)方法,在同款芯片上也實(shí)現(xiàn)了5×5窗口的中值濾波器。數(shù)據(jù)位寬為8,設(shè)計(jì)環(huán)境為ISE,綜合工具為XST。表1列出兩種設(shè)計(jì)方法在插入不同級(jí)寄存器時(shí)的性能和資源消耗情況。

      表1 兩種中值濾波器性能比較

      表1中Algorithm_bit 為本文設(shè)計(jì)方法,Algorithm_7 為文獻(xiàn)[7]的設(shè)計(jì)方法。表格中第4行為文獻(xiàn)[7]的設(shè)計(jì)方法所能達(dá)到的最高頻率,但此時(shí)需要22級(jí)的延遲。而本文的設(shè)計(jì)方法只需要8級(jí)的延遲就可使數(shù)據(jù)吞吐率達(dá)到308 MHz,同時(shí)資源消耗比文獻(xiàn)[7]減少了大約40%。而對(duì)比前3行的數(shù)據(jù)可以發(fā)現(xiàn),本文的設(shè)計(jì)方法在各方面均優(yōu)于文獻(xiàn)[7]。且文獻(xiàn)[7]的濾波器僅適用于方形窗口,而本文設(shè)計(jì)的濾波器對(duì)窗口形狀無任何限制。

      4 結(jié) 語

      本文在FPGA上設(shè)計(jì)一種基于比特平面的大窗口實(shí)時(shí)中值濾波器。根據(jù)原數(shù)據(jù)各比特層面的信息重新生成一個(gè)中值,而未對(duì)原數(shù)據(jù)進(jìn)行大小排序,減少了資源消耗。為了解決多數(shù)表決器耗時(shí)長的問題,本文提出基于三級(jí)查找表的快速實(shí)現(xiàn)方式,大大提高了數(shù)據(jù)吞吐率。測(cè)試結(jié)果表明,采用本文方法設(shè)計(jì)的濾波器,資源消耗少,時(shí)延小,數(shù)據(jù)吞吐率高,可滿足高速實(shí)時(shí)濾波的需求。

      參考文獻(xiàn)

      [1] 岡薩雷斯,伍茲.數(shù)字圖像處理[M].3版.阮秋琦,譯.北京:電子工業(yè)出版社,2011:96?97.

      [2] 付昱強(qiáng).基于FPGA的圖像處理算法的研究與硬件設(shè)計(jì)[D].南昌:南昌大學(xué),2006:16?18.

      [3] 沈?qū)W利,王肅國.基于FPGA的改進(jìn)型中值濾波算法研究[J].微電子學(xué)與計(jì)算機(jī),2014,31(1):21?24.

      [4] 張麗,陳志強(qiáng),高文煥,等.均值加速的快速中值濾波算法[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2004,44(9):1157?1159.

      [5] 鮑華,樊瑜波,饒長輝,等.基于均值查找的快速中值濾波算法[J].四川大學(xué)學(xué)報(bào)(工程科學(xué)版),2011,43(2):76?79.

      [6] 蔣濤,李自勤.基于FPGA的實(shí)時(shí)圖像中值濾波算法及實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2012,28(10):196?197.

      [7] 羅海波,史澤林,惠穎,等.基于多級(jí)分組排序網(wǎng)絡(luò)的實(shí)時(shí)大窗口二維中值濾波器設(shè)計(jì)[J].紅外與激光工程,2008,37(5):935?939.

      猜你喜歡
      圖像處理
      基于圖像處理的機(jī)器人精確抓取的設(shè)計(jì)與實(shí)現(xiàn)
      機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
      Bayesian-MCMC算法在計(jì)算機(jī)圖像處理中的實(shí)踐
      改進(jìn)壓縮感知算法的圖像處理仿真研究
      基于圖像處理的定位器坡度計(jì)算
      Photo Shop通道在圖像處理中的應(yīng)用
      太白县| 正蓝旗| 长汀县| 南宫市| 揭西县| 临澧县| 洪洞县| 华容县| 华蓥市| 静海县| 庐江县| 太原市| 南召县| 扶余县| 平原县| 格尔木市| 衢州市| 林周县| 南投县| 绥芬河市| 松潘县| 仁布县| 宝鸡市| 项城市| 荥经县| 金坛市| 百色市| 盐津县| 会东县| 湘西| 黔东| 阿拉善盟| 舒兰市| 岫岩| 乌拉特后旗| 南涧| 隆林| 留坝县| 胶南市| 义乌市| 揭东县|