亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于傳輸觸發(fā)架構(gòu)的中值濾波處理器

        2012-07-20 09:39:56白松輝史再峰魏繼增
        微處理機 2012年1期
        關(guān)鍵詞:排序指令

        白松輝,史再峰,郭 煒,魏繼增

        (1.天津大學(xué)計算機科學(xué)與技術(shù)學(xué)院,天津 300072;2.天津大學(xué)電子信息工程學(xué)院,天津, 300072)

        1 引言

        圖像在生成和傳輸過程中,容易產(chǎn)生脈沖噪聲,使圖像質(zhì)量降低,進(jìn)而影響后續(xù)處理的效果[1]。因此需要對圖像進(jìn)行一些圖像濾波、圖像增強等預(yù)處理,以此來提高圖像的質(zhì)量。中值濾波法是一種非線性空間濾波平滑技術(shù),既可以消除隨機噪聲和脈沖干擾又可以很大程度的保留圖像的邊緣信息。在嵌入式圖像處理系統(tǒng)中,實時性需求一直是一個很大的瓶頸。傳統(tǒng)的MCU 無法進(jìn)行大批量數(shù)據(jù)的實時處理,DSP 雖然具有指令流水和很高的速度,但其仍是串行執(zhí)行指令來進(jìn)行運算,處理速度依然很受限制[2]。該處理器是在基于一種可配置傳輸觸發(fā)架構(gòu)(Transport Triggered Architecture,TTA)處理器的基礎(chǔ)上設(shè)計的中值濾波器專門處理器,使中值濾波速度得到了大幅度地改善。

        2 TTA 架構(gòu)及中值濾波算法

        2.1 圖像處理中的自適應(yīng)中值濾波

        中值濾波是一種能有效抑制噪聲的非線性信號處理技術(shù),其原理是把數(shù)字圖像中一點的值用該點鄰域中各點值的中值代替,讓各個像素點的值接近真實值,消除孤立的噪聲點。對于椒鹽噪聲來說,由于模板的中值很大程度上不會是噪聲,因此中值濾波能很好地消除它。二維圖像某像素點的中值濾波,先要確定鄰域窗口的大小,鄰域窗口一般為奇數(shù)方形窗口,如3*3 窗口、5*5 窗口等。然后對窗口中的像素灰度值進(jìn)行排序,找出其中值,用該中值取代原像素點的值。

        中值濾波算法對每一個像素點都會用鄰域排序后的中值來替換,即使不是噪聲點也同樣處理,導(dǎo)致正確的像素點也被替換,使處理后的圖像模糊[4]。這里采用一種算法只對噪聲點進(jìn)行處理,而不對正確的點進(jìn)行處理,這樣還可以節(jié)省時間[3]。首先選擇一個點A 和其周圍的四個點:從中選出最大值A(chǔ)max 和最小值A(chǔ)min,如果Amax-A 或A-Amin 大于一定值,則認(rèn)為此處為噪聲點,將其替換,否則認(rèn)為是正確的點,不對其進(jìn)行處理。驗證表明這樣去噪聲后能夠得到更好的圖像效果。

        2.2 TTA 架構(gòu)

        傳輸觸發(fā)體系結(jié)構(gòu)是傳統(tǒng)超長指令字體系結(jié)構(gòu)的超集,超長指令字架構(gòu)處理器屬于操作觸發(fā)體系結(jié)構(gòu),即通過對指令的譯碼獲取操作類型,然后觸發(fā)數(shù)據(jù)傳輸完成相應(yīng)計算。而TTA是通過將數(shù)據(jù)傳輸?shù)较嚓P(guān)計算部件來觸發(fā)相應(yīng)的運算。它不同于VLIW 在一條指令中打包多個操作,TTA 則是在一條指令中打包多個數(shù)據(jù)傳輸[5]。其指令格式為每條指令包含n個Slot,n 由所設(shè)計處理器的總線條數(shù)決定,可以使指令達(dá)到高度并行。每個Slot 由Source 和Destination 兩段組成,即操作數(shù)的來源和傳送到的目的地地址。Source 中的最高位決定數(shù)據(jù)來源是立即數(shù)或寄存器的地址。這樣所有的操作都由數(shù)據(jù)傳輸來觸發(fā)完成,功能單元運算出來的結(jié)果放在功能單元的結(jié)果寄存器,可以通過總線傳輸?shù)叫枰墓δ軉卧蚣拇嫫鳌?/p>

        一個典型的TTA 操作和傳輸架構(gòu)處理器,整體架構(gòu)由控制單元、各種不同的功能單元、通用寄存器堆和各種互連網(wǎng)絡(luò)組成。設(shè)計者可以根據(jù)計算任務(wù)任意的增加、減少不同的功能單元或寄存器來調(diào)整處理器計算能力;根據(jù)各模塊之間的連接改變總線寬度、數(shù)目。因為這種靈活性,使其非常適合作為協(xié)處理器配合功能強大的通用處理器完成計算數(shù)據(jù)密集型的任務(wù)[5]。

        2.3 基于TTA 架構(gòu)的圖像中值濾波

        在圖像中值濾波過程中,算法核心在于排序。但是并不需要把9個數(shù)全部排序,只需要找到中值。傳統(tǒng)的排序算法要完成此項任務(wù)需要30 次排序運算,這里選擇一種快速找中值的方法,可以使排序次數(shù)降到最低13 次即可完成。首先按行進(jìn)行排序,得到結(jié)果后再從3個最大值之中求最小值,從3個中值中求中間值,3個最小值之中求最大值。這樣3個中間值中的最大值一定大于5個數(shù)值,即本行最小值,其他兩行的中值及最小值。同理3個中間值中的最小值也至少小于5個數(shù)。故此可以只比較3個最大值中的最小值,3個中間值的中間值和3個最小值之中的最大值,即得到所求的中間值。如圖1 所示。

        圖1 排序算法

        根據(jù)排序算法設(shè)計專門的排序功能單元,首先分別對每行的三個數(shù)進(jìn)行排序,這里設(shè)計的排序功能單元每個周期完成對三個數(shù)的排序。行排序完成后,還要完成對最大列選出最小值、中間列選出中間值和最小列選出最大值,繼續(xù)使用排序功能單元來完成此操作,再在排序完成后有選擇的將結(jié)果放到內(nèi)部數(shù)據(jù)總線上,最后從得到的三個數(shù)中選出中間值。整個算法都是三個數(shù)的排序操作,算法的工整性使得排序功能單元最大程度地發(fā)揮其性能。

        3 基于TTA 架構(gòu)的中值濾波實現(xiàn)

        3.1 中值濾波處理器架構(gòu)

        嵌入式系統(tǒng)對處理器功耗和成本要求苛刻,設(shè)計處理器時不僅要有較高的處理性能以完成運算任務(wù),還要盡量減小面積、功耗和成本。所以必須合理設(shè)計功能單元、通用寄存器數(shù)目和總線條數(shù)。中值濾波處理器內(nèi)部總體結(jié)構(gòu)如圖2 所示,由主處理器與中值濾波處理器接口模塊、控制模塊、各種功能單元模塊、指令存儲單元、數(shù)據(jù)存儲單元模塊組成。中值濾波處理器的功能模塊主要包括循環(huán)控制單元、數(shù)據(jù)存儲單元、排序功能單元和帶加減功能的ALU組成。循環(huán)控制單元主要控制循環(huán)次數(shù),自動完成整幅圖像的濾波;帶加減功能的ALU 模塊用來計算存取數(shù)據(jù)時的地址偏移量。

        圖2 基于TTA的中值濾波處理器架構(gòu)

        中值濾波處理器內(nèi)部采用四條總線的結(jié)構(gòu)。在中值濾波數(shù)據(jù)處理時,需要將相應(yīng)的數(shù)據(jù)從存儲器中取出,再將數(shù)據(jù)送到相應(yīng)的功能模塊或寄存器中。四條總線就可以保證在取數(shù)據(jù)的同時使帶加減功能的ALU 可以同時計算出下次要取數(shù)據(jù)的偏移地址,使得取數(shù)操作和計算偏移地址最就可以并行執(zhí)行;或排序功能模塊的排序操作和取數(shù)據(jù)同步進(jìn)行,使各模塊達(dá)到最佳的并行效果。

        3.2 排序功能模塊

        在圖像中值濾波運算中,核心算法是排序。如果用常規(guī)的指令來實現(xiàn)排序算法,首先要用比較單元來比較兩個數(shù)的大小,然后用條件判斷指令來決定程序是否跳轉(zhuǎn),之后再完成數(shù)據(jù)的交換。不僅用到的指令多,而且條件判斷指令往往需要幾個周期的延遲,導(dǎo)致排序花費很長的時間。

        為了對排序程序加速運算,這里在中值濾波處理器中定制相應(yīng)的排序功能單元。該功能單元不需要使用比較、條件判斷等指令。這樣將大大精簡排序程序的代碼量,提高排序運算的執(zhí)行速度。當(dāng)這三個數(shù)到達(dá)排序功能單元,其中一個數(shù)觸發(fā)排序功能單元進(jìn)行排序,下個周期便可得到排序結(jié)果。

        在圖像中值濾波運算中,核心算法是排序。為了提高排序速度,這里首先對a、b 排序,大數(shù)用max[a、b]表示,小數(shù)用min[a、b]表示。然后再分別用max[a、b]、min[a、b]來和c 比較大小,如果c 大于max[a、b],則表明c為最大值,max[a、b]為中間值;如果c 小于min[a、b],則表明c為最小值,min[a、b]為中間值;否則,max[a、b]為最大值,c為中間值,min[a、b]為最小值。第二次比較產(chǎn)生的兩個選擇信號來決定三個數(shù)的最終順序。這種排序就使得排序周期縮短了一個兩數(shù)比較大小的時間。

        3.3 數(shù)據(jù)存取單元

        每幅圖像都可以看成是一個二維矩陣的像素值,運算時用行坐標(biāo)和列坐標(biāo)來索引到具體某個像素值。例如寬度為m的二維矩陣P,坐標(biāo)點(x,y)的值為P[x][y],通過x、y 和矩陣P的首地址計算得到存放地址,存放地址為:

        每次尋址需要一次乘法和兩次加法操作,為了加快圖像的尋址,中值濾波處理器中定制一個具有二維尋址功能的存取功能單元,在存取功能單元中內(nèi)置一個乘法器和兩個加法器,只要往該功能單元傳輸P 基址、x 和y 就可直接得到P[x][y]的地址,不再需要調(diào)用加法單元和乘法單元的指令,節(jié)省了尋址時間。

        圖3 數(shù)據(jù)存取模塊

        訪問數(shù)據(jù)存儲器時,有讀和寫兩種操作,即取數(shù)操作和存數(shù)操作,各有兩種尋址方式,直接尋址和偏移尋址,組合起來便有四種觸發(fā)方式,這里用觸發(fā)寄存器控制存取方式及尋址方式,如圖3 所示。直接尋址時,只需給出P 地址即可;在偏移尋址中,則通過P 基址和偏址x、m*y相加作為地址來訪問存儲器,這樣的設(shè)計使得二維查找數(shù)據(jù)快速、方便。取數(shù)時,數(shù)據(jù)存儲器首先需要一個周期的讀操作,到輸出到數(shù)據(jù)線之間還有一級寄存器,因此讀數(shù)據(jù)需要兩個周期的延時;存數(shù)據(jù)時,只需把數(shù)據(jù)寫到存儲器中,所以可以連續(xù)存數(shù),可以認(rèn)為沒有延時。

        4 實驗結(jié)果及分析

        在系統(tǒng)驗證中,首先對各個模塊及該處理器的RTL 代碼用Modelsim 6.5 SE 軟件進(jìn)行仿真驗證,然后選用蘇州國芯公司的C*Core C310 微處理器作為主處理器,以設(shè)計的專用中值濾波處理器作為從處理器搭建一個圖像處理SoC 硬件驗證平臺,并基于Xilinx FPGA XC4VLX100-FF1148 芯片進(jìn)行了實現(xiàn),圖像處理的結(jié)果最終在QVGA 屏幕上顯示輸出。

        驗證時對一幅320*240的24 位RGB 真彩色圖片進(jìn)行中值濾波,原圖中(圖4 左)人為加入了10%的椒鹽噪聲,對其進(jìn)行中值濾波后,有噪聲的點用相應(yīng)的中值替換,消除了椒鹽噪聲的影響,使圖像變得清晰,處理效果如圖4 右所示,實際硬件顯示圖像結(jié)果與仿真圖像相同。

        圖4 含有噪聲的圖片和中值濾波后的效果

        本處理器和通用微處理器C*Core C310、ARM926EJ 進(jìn)行比較。單從數(shù)據(jù)的排序功能來看,例如實現(xiàn)200個數(shù)據(jù)的排序,本處理器只需120396個Cycle,而C*Core C310 則需要519834個Cycle,ARM926EJ 則需要347345個Cycle,結(jié)果說明設(shè)計的中值濾波處理器比通用處理器性能要高很多。用三個處理器分別對不同數(shù)量的數(shù)據(jù)進(jìn)行排序的時間統(tǒng)計,中值濾波時對RGB 三個分量分別以相同的方法做處理,對RGB 中一個分量進(jìn)行中值濾波的時間統(tǒng)計見表1 所示。

        表1 排序時間統(tǒng)計

        5 結(jié)束語

        通過對中值濾波算法的研究,提出了一種可配置處理器為協(xié)處理器的硬件架構(gòu)。設(shè)計專門的排序功能單元,使得在排序過程中減少了比較和跳轉(zhuǎn)指令的使用。尋址方式采用二維尋址減少了加法和乘法指令的使用。在進(jìn)行中值濾波時,處理器有選擇的處理圖像,只去除噪聲點,使得圖像的處理效果更加真實。用可配置處理器TTA 架構(gòu)設(shè)計的SoC,由于其可編程性和可配置性,及其可配置的靈活性,使得任務(wù)能夠高效的完成。但還有幾個方面值得完善和深入研究,可配置處理器還存在很大的擴展空間。相信未來的SOC 設(shè)計中會用到更多的協(xié)處理器,以更加靈活的支持各種新的應(yīng)用。

        [1]R H Chan,C Hu,M Nikolova.An iterative procedure for removing random- vALUed impulse noise[J].IEEE Signal Process.Lett.2004,11:921-924.

        [2]Mao-Hsiung Hung,Jeng- Shyang Pan,Chaur- Heh Hsieh.Speed Up Temporal Median Filter for Background Subtraction[C].2010 First International Conference on Pervasive Computing,Signal Processing and Applications(PCSPA 2010).Los Alamitos CA,USA,IEEE Computer Society,2010.

        [3]S Perreault,P Hebert.Median Filtering in Constant Time[J].IEEE Trans.on Image Processing.2007,16:2389-2394.

        [4]Mohammed,Jafar Ramadhan.An Improved Median Filter Based on Efficient Noise Detection for High Quality Image Restoration[C].2008 Second Asia International Conference on Modeling & Simulation,Piscataway,NJ,USA,IEEE.2008.

        [5]Wei Guo,Jizeng Wei,Yongbin Yao,et al.Design of a configurable and extensible Tcore processor based on Transport Triggered Architecture[C].the 2009 World Congress on Computer Science and Information Engineering,Piscataway,NJ,USA,IEEE,2009.

        [6]阮正旺,張建州,張亮.清除椒鹽噪聲的局部L1 去噪保邊方法[J].中國圖象圖形學(xué)報,2010,15(6):867-872.

        猜你喜歡
        排序指令
        聽我指令:大催眠術(shù)
        排排序
        排序不等式
        恐怖排序
        節(jié)日排序
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        刻舟求劍
        兒童繪本(2018年5期)2018-04-12 16:45:32
        殺毒軟件中指令虛擬機的脆弱性分析
        一種基于滑窗的余度指令判別算法
        少妇又紧又色又爽又刺| 日本高清色倩视频在线观看| 日韩欧美一区二区三区中文精品| 亚洲免费毛片网| av中文字幕一区人妻| 东京热久久综合久久88| 人人妻人人澡人人爽曰本| 一本加勒比hezyo无码视频| 亚洲成熟中老妇女视频| 成品人视频ww入口| 精品久久久无码中文字幕| 国产丝袜免费精品一区二区| 美女被黑人巨大入侵的的视频 | 亚洲视频在线观看| a一区二区三区乱码在线 | 欧洲| 无码AV大香线蕉伊人久久| 日本a爱视频二区三区| 欧美日韩精品久久久免费观看| 色综合久久久久久久久五月| 新久久久高清黄色国产| 亚洲乱码av乱码国产精品| 国产农村乱辈无码| 亚洲熟妇色xxxxx欧美老妇| 少妇又紧又色又爽又刺| 一边摸一边抽搐一进一出视频| 99精产国品一二三产品香蕉| 99久久这里只精品国产免费| 精品精品国产三级av在线 | 韩国日本亚洲精品视频| 亚洲本色精品一区二区久久 | 国产思思久99久精品| 中文字幕亚洲高清视频| 欧美人做人爱a全程免费| 国产无线乱码一区二三区| 激情在线视频一区二区三区| 国产aⅴ激情无码久久久无码| 色爱区综合五月激情| 亚洲熟女国产熟女二区三区| 青青草成人在线免费视频| 成人激情五月天| 亚洲第一区二区快射影院|