美章網(wǎng) 資料文庫 高效低存儲DWT的結(jié)構(gòu)設(shè)計范文

高效低存儲DWT的結(jié)構(gòu)設(shè)計范文

本站小編為你精心準(zhǔn)備了高效低存儲DWT的結(jié)構(gòu)設(shè)計參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

高效低存儲DWT的結(jié)構(gòu)設(shè)計

《西安電子科技大學(xué)學(xué)報》2016年第二期

1DWT的原理及分析

1.1DWT提升結(jié)構(gòu)原理相比于傳統(tǒng)的卷積結(jié)構(gòu),DWT提升結(jié)構(gòu)在內(nèi)存利用率和讀取次數(shù)上都具有優(yōu)勢。提升小波的原理是將多相位小波濾波矩陣分解為兩個連續(xù)的上三角和下三角矩陣以及一個對角矩陣。CCSDS-IDC采用的基于提升的9/7DWT,其具體實現(xiàn)方式如公式(2)所示。在公式(2)中,x(n)為輸入的圖像數(shù)據(jù),y(n)表示按交織方式存放的小波系數(shù),其中y(2n)為低通系數(shù),y(2n+1)為高通系數(shù),常系數(shù)1.586,0.053,0.883,0.444,K1.149。圖像的DWT行變換與列變換都需要完成與公式(2)相同的運算過程,行變換之后的結(jié)果再經(jīng)過列變換才能完成一級DWT,一級DWT之后可以得到HH、HL、LH和LL共四個小波子帶,選擇其中的LL子帶進(jìn)行下一級DWT處理。依此方式,經(jīng)過三級DWT可以得到10個子帶,分別為三級輸出的HH,HL,LH等9個子帶以及第三級輸出的LL3子帶。10個子帶的小波系數(shù)按照分層樹的結(jié)構(gòu)形式組織成獨立的單元塊,每個單元塊中包含64個小波系數(shù),包括1個DC系數(shù)(LL3子帶)和63個AC系數(shù)(來自其余9個子帶)。

1.2DWT多級變換的原理分析

DWT的第一級變換是對原始圖像進(jìn)行處理,而第二級變換是對第一級變換后得到的LL1子帶進(jìn)行處理,LL1子帶的寬度和高度分別是原始圖像寬度和高度的1/2,其分辨率大小是原始圖像的1/4。對于分辨率為NN的圖像來說,若采用行列并行結(jié)構(gòu),那么完成第一級DWT需要近2N個時鐘,而對于第二三級DWT來說,其需要消耗的處理時間分別約為2N/4和2N/16個時鐘。顯然,第二三級所需要的處理時間之和小于第一級所需的時間,即222N/4+N/16<N。由此可知,從處理時間上看,將第二三級DWT可以分時復(fù)用同一個DWT模塊,并可以與第一級DWT并行處理。實際上,由等比數(shù)列的求和公式可知,第二級及以上級的DWT所消耗的處理時間總和永遠(yuǎn)不會超過2N個時鐘,即永遠(yuǎn)不會超過第一級DWT消耗的時間,所以第二級及以上級二維DWT都可以時分復(fù)用同一個變換模塊。基于此分析,本文設(shè)計了第二三級DWT時分復(fù)用變換模塊的VLSI結(jié)構(gòu),該結(jié)構(gòu)具有良好的擴(kuò)展性,只需要簡單的控制參數(shù)修改便可適用于變換等級為二級以上的任意多級小波變換,也可應(yīng)用于與9/7DWT形式類似的5/3DWT。

2多級復(fù)用高速DWT的VLSI結(jié)構(gòu)

2.1乘加器復(fù)用的DWT單步提升結(jié)構(gòu)對于DWT的提升結(jié)構(gòu)來說,其各步提升均可采用同一種單步提升結(jié)構(gòu)。這一點從公式(2)所示的四步提升公式也可以看出,即各步提升的計算過程近似相同,均含有兩次加法和一次乘法運算。其區(qū)別僅是各步輸入的乘法系數(shù)互不相同。第一步提升過程的計算公式如公式(3)所示:通過簡單變形,可以看出該提升過程可以分為公式(4)所示的兩次計算,通過采用兩次計算方式,可以將乘法器和加法器進(jìn)行時分復(fù)用,通過選擇控制的方式由同一電路結(jié)構(gòu)完成兩次計算。基于以上分析,我們設(shè)計了如圖2(a)所示的電路結(jié)構(gòu),該結(jié)構(gòu)由5個選擇器、1個移位器、1個乘法器、1個加法器和1個寄存器構(gòu)成。當(dāng)兩個數(shù)據(jù)到來時,該結(jié)構(gòu)開始進(jìn)行運算,將運算的中間結(jié)果k1存入圖2(a)所示的寄存器中。在此結(jié)構(gòu)中,對需要進(jìn)行邊界拓展的數(shù)據(jù)進(jìn)行左移一位的操作。圖2(a)所示的DWT單步提升結(jié)構(gòu)可劃分為兩個組成部分,即存儲和運算部分,其中的運算部分是虛線標(biāo)注的運算處理單元(ProcessingElement,PE)。對于行變換和列變換來說,它們的PE結(jié)構(gòu)相同,只是所用的存儲結(jié)構(gòu)不同。行變換使用D觸發(fā)器存儲數(shù)據(jù),而列變換使用雙端口隨機(jī)存取存儲器(RandomAccessMemory,RAM)存儲數(shù)據(jù)。在XilinxVirtex4之后的FPGA型號系列中,內(nèi)嵌有DSP48的IP(IntellectualProperty)硬核可以實現(xiàn)乘加運算,具有更高的速度性能、更低的功耗和更佳的資源開銷,用其代替圖2(a)中的乘法器和加法器,可以得到速度更快、面積更小的PE硬件結(jié)構(gòu),如圖2(b)所示。

2.2行變換電路結(jié)構(gòu)9/7dwt的4步提升計算均可使用相同的單步提升PE結(jié)構(gòu)來完成,僅僅是輸入數(shù)據(jù)和提升常系數(shù)不同。為了提高4步提升的計算速度,我們通過將4個獨立的單步提升PE結(jié)構(gòu)級聯(lián)起來并行計算,便可實時地實現(xiàn)一次行變換,如圖3(a)所示。由圖2(b)可知,數(shù)據(jù)輸入到數(shù)據(jù)輸出之間存在較長的存組合邏輯路徑,如果將兩個PE直接級聯(lián)將形成一塊路徑更長的組合邏輯,這會導(dǎo)致組合邏輯時延變大,降低系統(tǒng)的最大時鐘頻率。為了避免該問題,我們在圖3(a)所示的行變換結(jié)構(gòu)中加入了流水線(Pipeline)設(shè)計,通過插入D觸發(fā)器來縮短組合邏輯路徑,即在PE之間使用D觸發(fā)器進(jìn)行連接。圖3(a)中的奇偶標(biāo)識信號將輸入數(shù)據(jù)區(qū)分成兩部分,分別為偶數(shù)位置數(shù)據(jù)x(2n)和奇數(shù)位置數(shù)據(jù)x(2n+1)。第一步提升輸出偶數(shù)位置的數(shù)據(jù)仍為x(2n),而奇數(shù)位置的數(shù)據(jù)是y(2n+1)。當(dāng)輸入第一行第1個數(shù)據(jù)s時,數(shù)據(jù)存入第一個PE左端的寄存器中。輸入第2個數(shù)據(jù)d時,讀取上次存入寄存器中的數(shù)據(jù)s,用s與d做運算得到第一步提升的中間結(jié)果inv,再將inv重新存回該寄存器中,同時,行變換的第二步提升啟動,將s寫入第二個PE左端的寄存器中。以此方式按行進(jìn)行小波變換。

2.3列變換電路結(jié)構(gòu)行變換結(jié)果經(jīng)過兩個寄存器進(jìn)入列變換模塊,為了實現(xiàn)行列并行運算,列變換需要對整行數(shù)據(jù)進(jìn)行操作,因此,輸入數(shù)據(jù)的緩存和中間結(jié)果的緩存不能使用寄存器存儲,而需要使用雙端口RAM存儲整行數(shù)據(jù)。當(dāng)輸入第二行第一個數(shù)據(jù)時開始進(jìn)行列變換,因此,RAM只需要緩存一行數(shù)據(jù)。列變換結(jié)構(gòu)如圖3(b)所示,對于第二級及以上級DWT,RAM需要緩存各級的中間結(jié)果,因此需要標(biāo)記各級DWT的起始地址。

2.4多級復(fù)用DWT及小波系數(shù)緩存處理電路結(jié)構(gòu)行變換結(jié)構(gòu)與列變換結(jié)構(gòu)級聯(lián)實現(xiàn)一級DWT。由1.2節(jié)分析可知,高級別DWT可時分復(fù)用同一個DWT模塊來實現(xiàn),該時分復(fù)用方法會增加一些控制模塊的邏輯資源,相比于一級DWT來說,所增加的邏輯資源是非常少的。復(fù)用控制模塊功能主要包括產(chǎn)生奇偶標(biāo)識信號、級別標(biāo)識信號和RAM控制信號。因為高級別DWT會共用相同的數(shù)據(jù)線,所以需要一個級別標(biāo)識信號來表明當(dāng)前進(jìn)行的DWT級別。本文所實現(xiàn)的多級DWT復(fù)用結(jié)構(gòu),通過簡單的參數(shù)修改,便可應(yīng)用于變換等級為二級以上的任意多級小波變換。根據(jù)分塊比特平面熵編碼的特點,當(dāng)LL3數(shù)據(jù)到來時即可開始進(jìn)行熵編碼。換句話說,緩存少量的小波系數(shù)便可將其按特定順序輸出給熵編碼器進(jìn)行處理,而不需要等到所有小波系數(shù)都得到之后才開始熵編碼。因此,本文將DWT與熵編碼之間的緩存使用片內(nèi)雙端口RAM來實現(xiàn),而不用片外DRAM存儲器,這樣可以節(jié)省大量的片外存儲資源。由于使用RAM需要額外的控制邏輯,RAM的個數(shù)應(yīng)該盡量少。本文將各級輸出的LH和HH分量合并到一起,從而減少RAM的個數(shù),因此本文共用了3個雙端口RAM(如圖4所示的RAM5,RAM6,RAM7)來緩存DWT最終得到的小波系數(shù),并在條件滿足時及時地將這些小波系數(shù)輸出給后級熵編碼器進(jìn)行處理。我們將RAM5劃分為六塊存儲區(qū)域,分別存儲各級輸出的HH和LH子帶數(shù)據(jù),將RAM6劃分為三塊存儲區(qū)域,存儲各級輸出的HL子帶數(shù)據(jù),而RAM7只存儲第三級輸出的LL3子帶數(shù)據(jù)。小波系數(shù)緩存處理結(jié)構(gòu)如圖4所示,通過子帶分離器將輸出的小波系數(shù)分離,并乘以相應(yīng)的K系數(shù)。通過寫控制器將數(shù)據(jù)寫入對應(yīng)的存儲器中,并且三個RAM寫入數(shù)據(jù)時的地址變化由同一份邏輯產(chǎn)生,可以進(jìn)一步節(jié)約邏輯資源。讀控制器根據(jù)LL3同步信號判斷讀取的起始時間,三個存儲器的讀取結(jié)果進(jìn)行或運算作為進(jìn)入熵編碼器的輸入數(shù)據(jù),其同步信號是通過將各個存儲器讀使能信號相或運算并延遲一個時鐘得到的。

3性能與仿真

將本文提出的9/7DWT提升結(jié)構(gòu)與其他文獻(xiàn)所提出的結(jié)構(gòu)進(jìn)行對比,在邏輯規(guī)模和計算時間等方面的對比結(jié)果如表1所示。其中Tm和Ta分別代表乘法器和加法器時延,圖像的分辨率為N*N。由表1可以看出,本文結(jié)構(gòu)所需存儲器、加法器和乘法器都相對較少,關(guān)鍵路徑也很短。相對于乘法器和加法器使用較少的文獻(xiàn)[11]-[13]來說,其輸出時延也是最短的。

實驗結(jié)果本文所提出的VLSI結(jié)構(gòu)在Xilinx型號為XC4VSX55的FPGA中得到了硬件實現(xiàn),具有95.91MPixels/s的數(shù)據(jù)處理性能。表2為本文與其它文獻(xiàn)slices資源的對比情況,由表2可以看出,本文在分辨率、位寬和級數(shù)等指標(biāo)都較大的情況下,消耗FPGA的slices資源最少,且不需要片外緩存。由此可見,本文結(jié)構(gòu)有明顯的資源優(yōu)勢。

4結(jié)束語

本文通過DWT提升結(jié)構(gòu)復(fù)用和級間復(fù)用,在保證數(shù)據(jù)處理速度的同時減少了邏輯資源的使用。此外,根據(jù)分塊比特平面熵編碼的特點,我們改變了傳統(tǒng)的DWT輸出數(shù)據(jù)緩存處理方式,將輸出數(shù)據(jù)所需的片外存儲資源用片內(nèi)少量RAM緩存替換,在不降低處理速度的情況下,節(jié)省了片外存儲,減少了系統(tǒng)體積和功耗,非常適合空間環(huán)境下圖像數(shù)據(jù)高速處理的應(yīng)用需求。

作者:董明巖 雷杰 王柯儼 李云松 單位:西安電子科技大學(xué)綜合業(yè)務(wù)網(wǎng)國家重點實驗室

主站蜘蛛池模板: 在镜子里看我怎么c你的 | 在厨房里被挺进在线观看| 中文字幕永久免费视频| 最近韩国电影免费观看完整版中文| 亚洲色欲久久久久综合网| 美女和男人免费网站视频| 国产午夜福利精品一区二区三区| 做受视频60秒试看| 天堂а√在线中文在线| 东京无码熟妇人妻AV在线网址| 日本邪恶全彩工囗囗番3d| 亚洲va无码va在线va天堂| 欧美激情综合亚洲五月蜜桃| 俄罗斯极品美女毛片免费播放| 美女张开腿让男人桶爽国产| 国产亚洲欧美在线播放网站| 国产浮力影院第一页| 国产精品成人一区二区三区| 99re在线视频播放| 天天色天天色天天色| 一级黄色片免费| 新婚熄与翁公老张林莹莹| 久久婷婷五月综合97色直播| 杨幂精品国产专区91在线| 亚洲成AV人综合在线观看| 波多野结衣教师在线观看| 免费a级片在线观看| 精品乱码久久久久久中文字幕| 四虎影在线永久免费观看| 蜜桃成熟时33d在线| 国产国产精品人在线视| 成人免费小视频| 国产特级毛片aaaaaa高潮流水| 18禁无遮挡羞羞污污污污免费| 国内揄拍国内精品视频| 99精品视频在线观看| 女神校花乳环调教| 一二三四在线观看免费高清视频| 性一交一乱一伦一| 三级黄色免费片| 成人乱码一区二区三区AV|