999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

實時DSP圖像處理高斯濾波優化

2014-12-18 08:04:42王洪元虞祖耀
制造業自動化 2014年24期
關鍵詞:優化

金 龍,王洪元,張 繼,虞祖耀

(常州大學 信息科學與工程學院,常州 213164)

0 引言

高斯濾波是一種線性濾波,可以用于圖像平滑處理和噪聲的去除,但是有著龐大的計算量。因此,有必要對高斯濾波算法進行優化。目前,對算法硬件優化的研究已經取得了一定的進展。文獻[1]、[2]介紹了DSP算法優化的思路,但沒有給出實例;文獻[3]優化了Sobel邊緣檢測等三種圖像預處理算法,但也沒有詳細描述其優化方法;文獻[4]對中值濾波算法在DSP上進行了優化,但是其優化方法仍然需要改進。

本文所用的平臺是TMS320DM6446定點DSP處理器[5,6],它擁有ARM和DSP雙核心處理器。在對高斯平滑濾波算法程序分析的基礎上,分解運算高斯平滑濾波器,將程序的運行流程進行重新設計和規劃,并進行內聯函數優化,在算法設計和代碼優化兩方面提高了程序的運行效率。

1 高斯濾波

高斯濾波是一種低通濾波的方法器,這是它被用來對圖像進行平滑處理的根本原因。圖1是高斯低通濾波方法器的示意圖。

高斯濾波掩膜二維形式如下:

式中,x和y表示的是到像素點間的距離,σ為分布函數,高斯濾波曲線的形狀可以通過改變分布函數σ來完成。下面以如下5×5大小的高斯模板為例來說明本文的優化方法:

圖1 高斯低通濾波方法器

2 基于DM6446高斯濾波實現及優化

2.1 數據相關性分析

高斯濾波器是一種相對簡單的算法,如何充分利用DM6446 DSP良好的并行處理性能,來最快的實現算法是研究的重點。在高斯濾波算法計算過程中,每次像素點的計算都是相關聯的。比如當前像素點和其周邊各個像素點的計算便有著大量重復計算。而且計算相鄰的像素點時獲取的圖像數據也有重復。使用DM6446芯片中的寄存器,一方面可以暫時存儲中間計算結果,在計算下一個像素點時使用,如此便可有效地避免重復運算;另一方面,可以在計算像素點時將寄存器中相鄰像素點計算所需的圖像數據暫時存儲,對新像素點進行計算時便只需讀取新進入濾波窗口的圖像數據,數據從內存到寄存器的傳輸量將會大大減少。

如圖2所示,將計算像素點(點I33)時相對應的高斯濾波窗口所覆蓋的像素點數據舉出,而且將窗口外相鄰的像素點數據也一一列出。

圖2 濾波窗口覆蓋區域示例

計算像素點I33時,利用式(1),在以像素點I33為中心點的圖像區域上用高斯濾波器H覆蓋,高斯濾波器H與圖像區域內相對應的像素點數據相乘并累加,最后將所得結果與高斯濾波器系數的累加和相除,便可得到I33像素點的高斯濾波處理結果。計算I34像素點時,將高斯濾波器H向右移一個像素的位置,然后做出同樣的操作。

_dotpsu4()內聯函數是一種可以快速完成求點積和指令,可以完成同行中四個相鄰的元素與濾波系數累加和的相乘并累加。因此,對圖2中所示I33 像素點至I36像素點的圖像區域,調用_dotpsu4()內聯函數計算覆蓋區域內像素點數據與高斯濾波器的卷積累加和,并與高斯濾波系數累加和相除,便得到高斯濾波結果G11、G12、G13和G14。

2.2 內聯函數優化及高斯滑動模板的運用

內聯函數(intrinsics)的作用是將復雜的C語言程序替換來使程序運行效率提高。內聯函數的使用有兩方面,一方面是將使用頻繁調用的小函數改變為內聯函數;另一方面則是使用C64X編譯器所提供的內聯函數。

不難發現因為在空間上相鄰所以計算中的許多數據讀取操作是可以避免的,還有很多中間結果是可以復用的。針對上述問題,利用內聯函數_memd8(),可以一次讀取8個原始圖像像素數據。因此只需要八條數據讀取指令,便可以對圖2中全部的圖像數據進行讀取,同時還可以對多個像素點進行濾波處理。

通過_memd8()內聯函數讀取8個原始圖像數據并與高斯平滑濾波模板進行卷積。將1×5的高斯模板[1,2,3,2,1]用0補全成1×8的模板,橫向對8×8的圖像數據分別做卷積之后再縱向做卷積,并按劃分成高位模板和低位模板。計算I13像素點處的濾波結果時,如圖3(a)所示對應原始圖像數據都按照高位和低位劃分。使用_dotpsu4()函數來計算圖像數據高位或低位與濾波模板對應高位或低位的卷積和,其結果除以9,便可得出該像素點的處理結果。但當所需計算像素點改變時,數據中的高位和低位也會發生改變,高斯模板就需要隨著變化。計算I15像素點時,原始圖像數據如圖3(b)所示劃分高位和低位,為了方便計算,本文采用高斯滑動模板,1×8的模板同樣劃分高位模板和低位模板,如圖4所示高斯模板發生滑動,根據所需計算像素點的位置變換而變換,這樣大大方便了計算,提高了效率。

圖3 像素點原始圖像數據高、低位劃分

2.3 高斯平滑濾波優化

圖4 高斯模板滑動

高斯濾波掩膜具有可分解性的特點,二維高斯濾波模板可以分解成橫向的一維高斯濾波模板和縱向的一維高斯濾波模板。這樣將高斯濾波掩膜進行分解運算大大減少了計算量,提高了程序運行效率。

為了使算法耗時最短,應盡可能的減少對濾波處理過程中產生的中間結果進行存儲或讀取操作,所以卷積累加操作應在一次遍歷中完成。所以就需對每次遍歷處理所需讀取的基本處理單元大小進行確定,從而讓優化的效果最好。

要通過_memd8()內聯函數對濾波處理結果進行迅速的存儲,每次遍歷得到的濾波處理結果在行方向上應相鄰且為8的整數倍。為了通過_dotpsu4()內聯函數完成對像素點數據與高斯濾波器系數的累加卷積處理,每次應讀取相鄰的8個同行像素點數據來進行橫向卷積處理,與之類似,每次讀取相鄰的8個同列像素點數據來進行縱向卷積處理。經過以上分析,選擇8×8大小的圖像區域作為卷積處理的基本處理單元,首先進行橫向卷積處理,再遍歷其結果進行縱向卷積處理便可以得到8×8大小的濾波結果。

本文在存儲濾波結果時選用縱向排列的方法,以大小為8×4的區域存儲。這樣做的好處是可以直接使用_memd8()函數對濾波結果進行讀取,大大提高了程序讀取效率。

2.4 濾波模塊分解優化

因為在濾波處理過程中有著很多復運算和讀取數據操作,所以需要對處理的運算過程進行優化。通過對濾波器進行的分析,濾波器H可作如下分解:

其中:

可以看出,對該濾波器H線性分解后,對圖像的濾波效果和分解前是相同的。分解后的模板全部轉換為0和1的形式,免去了計算中的乘法運算,只需加法運算,使代碼運算效率大大提高。分解后的濾波器對圖像進行濾波處理的計算如圖5所示。

圖5 濾波器線性分解后計算H1+H2+H3+H4+2H5+3H6

其中:I11,I12,…,I55等是讀入寄存器中的像素點數據,而中間結果存儲在寄存器A,B,C,…,E中。每次循環都可以得出K1、K2兩個濾波處理結果,K1和K2分別為:

F、F(1)、F(2)、F(3)、F(4)、F(5)計算方法如圖5中E、E(1)、E(2)、E(3)、E(4)、E(5)所示。計算得出K1、K2后濾波掩膜右移兩個像素位置,以I53、T63像素點為中心,便只需計算新進窗口的像素點數據,計算K3、K4兩個濾波結果時可以重復利用開始時已經計算出的中間結果,計算新進入窗口元素如公式(6)所示。

3 實驗結果及分析

為了測試高斯平滑濾波的優化效果,利用式(2)所示5×5高斯濾波器應用到尺寸不同的圖像進行高斯濾波處理,得到算法程序消耗時間與優化前作對比如表1所示。實驗的仿真環境為CCSv3.3,處理器是TMS320DM6446/594MHz定點DSP。

表1 優化前后濾波耗時對比

如表1所示,對未優化的高斯濾波程序在-O3模式下進行編譯,對不同尺寸的原始圖像進行高斯平滑濾波處理所消耗時間都比較長。利用高斯濾波器可分解性的特點,對圖像數據進行兩次卷積處理并進行內聯函數優化,先遍歷圖像數據進行橫向卷積處理,再對其處理結果進行縱向卷積處理。這就使兩次卷積處理能夠在對原始圖像的一次遍歷中完成。本文采用高斯滑動模板,根據所需計算像素點的位置變換而變換,這樣大大方便了計算,提高了效率。分析實驗結果后發現,對尺寸不同的原始圖像進行高斯濾波處理,處理效率提高了22倍以上,而且尺寸越大的原始圖像,高斯濾波處理的優化效果就越顯著。

對一幅240×180×8bit大小的原始圖像,使用不同大小的高斯濾波器進行濾波處理,所得到算法消耗時間如表2所示。分析后可以看出,高斯濾波器的尺度越大,采用本文所述的優化方法進行高斯濾波處理,所得的優化效果就會越明顯。

表2 不同尺寸掩膜優化性能對比

4 結論

本文以TMS320DM6446 DSP為平臺,基于高斯平滑掩膜的可分解性,通過對濾波器進行線性分解,內聯函數優化,優化高斯濾波模板,合理安排存儲方式等技術,大大減少了高斯濾波算法的執行時間。實驗表明,本文所述的優化方法可以明顯提高高斯濾波算法運行效率,具有較好的應用價值。

[1]刁一平,趙曉群.基于TI C6000DSP的C/C++語言代碼效率優化[J].微計算機應用,2007,28(5):544-548.

[2]楊光宇,高曉蓉,王黎,等.基于TI C6000 系列DSP C/C++程序優化技術[J].現代電子技術,2009,33(8):544-548.

[3]陳松,鄭紅,吳興華,等.基于DSP 的數字圖像預處理算法優化方法[J].儀器儀表用戶,2010,17(3):58-60.

[4]黃德天,陳建華.DSP圖像處理的程序優化[J].中國光學與應用光學,2009,2(5):452-459.

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 久久久久免费精品国产| 久久综合亚洲鲁鲁九月天| 米奇精品一区二区三区| 国产欧美在线观看一区| 日韩一级毛一欧美一国产| 欧美日本一区二区三区免费| 国产精品自在在线午夜| 中字无码av在线电影| 9cao视频精品| 国产乱人伦AV在线A| 免费一级无码在线网站| 免费一级全黄少妇性色生活片| 日韩黄色大片免费看| 欧美日韩资源| 72种姿势欧美久久久久大黄蕉| 午夜久久影院| 亚洲福利网址| 亚洲色图欧美视频| 免费国产在线精品一区| 久久国产精品无码hdav| 亚洲无码不卡网| 五月天久久婷婷| 亚洲IV视频免费在线光看| 欧美一级高清片欧美国产欧美| 国产黑丝一区| 国产1区2区在线观看| 毛片久久久| 免费毛片视频| 欧美无专区| 欧美午夜视频在线| 激情乱人伦| 99视频在线看| 91热爆在线| 亚洲无码高清一区二区| 小蝌蚪亚洲精品国产| 亚洲一本大道在线| 午夜视频免费一区二区在线看| 免费国产一级 片内射老| 91麻豆久久久| 五月丁香伊人啪啪手机免费观看| 看看一级毛片| 青青青视频91在线 | 中文一区二区视频| 波多野结衣第一页| 日本午夜影院| A级毛片无码久久精品免费| 亚洲国产理论片在线播放| AV无码一区二区三区四区| 91久久夜色精品国产网站| 国内精自视频品线一二区| 亚洲精品麻豆| 亚洲第一成网站| 成人亚洲天堂| 国产白浆视频| 在线日韩日本国产亚洲| 一区二区三区成人| 永久在线精品免费视频观看| 日韩欧美91| 国产成人毛片| 日韩av在线直播| 欧美在线精品一区二区三区| 91在线视频福利| 国产午夜不卡| 理论片一区| 亚洲中文字幕在线一区播放| 日本欧美成人免费| 欧美一级色视频| 日韩精品亚洲人旧成在线| 三上悠亚一区二区| 国产成人高清在线精品| 亚洲视频二| 一级毛片不卡片免费观看| 中国美女**毛片录像在线| 国产欧美日韩一区二区视频在线| 亚洲人成网站观看在线观看| 免费国产福利| 欧美亚洲国产精品第一页| 中文字幕第1页在线播| 亚洲热线99精品视频| 亚洲免费成人网| 51国产偷自视频区视频手机观看 | 国产一二三区视频|