周新文,鐘明光
(1.西安電子科技大學電子工程學院,陜西西安 710071;2.西安電子科技大學機電工程學院,陜西西安 710071)
雙正交小波[1]具有對稱性,因此具有線性相位,有較高的正則性和消失距,能夠平滑地近似表示信號,使得小波變換后大系數(shù)盡可能地集中在圖像邊緣處及低頻子帶,適合于圖像壓縮。提升小波變換[2-5]是不依賴于傅里葉變換的新一代小波變換,運算量是傳統(tǒng)小波變換的50%。提升小波變換可以實現(xiàn)同址計算,這樣在運算中可以節(jié)省內存的消耗,易于硬件實現(xiàn)。同時提升方法的正反變換結構一致,只有正負號的區(qū)別。基于這樣的原因,應用提升運算實現(xiàn)傳統(tǒng)的雙正交小波變換,在圖像壓縮系統(tǒng)中具有一定意義[6-8]。
雙正交小波具有很多優(yōu)良的數(shù)學性質,適合在圖像壓縮系統(tǒng)中使用。理論證明,可以將傳統(tǒng)的小波濾波器分解成提升步驟。將傳統(tǒng)小波變換轉換成提升運算,常見較簡單的分解方法是基于因式分解的方法,這里應用Euclidean算法實現(xiàn)。
小波濾波器組,應用Euclidean進行分解。將表示為奇數(shù)系數(shù)與偶數(shù)系數(shù)的和
由于ho(z)和he(z)互素,式(1)可進一步表示為
對于給定濾波器,通過下式可以得到一個濾波器g0,令
當i為偶數(shù)
當i為奇數(shù)
由式(4)和式(5)得
令 si(z)=q2i-1(z),t(z)=q2i(z)得到
對于9/7小波濾波器分解為
結合小波濾波器的多相分解he(z),ho(z),ge(z)和go(z),聯(lián)立方程組解得 α=-1.586 134,β=-0.052 98,γ =0.882 911,δ=0.443 506,k=1.149 604,得到9/7小波變換運算式如式(9)所示。
采用3級小波變換,共6步一維小波變換操作,即第1層行變換,第2層列變換,第2層行變換,第2層列變換,第3層行變換,第3層列變換。模塊要求1個時鐘周期計算1個小波系數(shù),進行實時處理。在FPGA中采用流水操作。假設1幀圖像的大小為N×N像素,進行小波變換。分析系統(tǒng)可以知道,第1層行列變換需要2×N×N個時鐘周期,第2層行列變換需要1/2×N×N個時鐘周期,第3層行列變換需要1/8×N×N個時鐘周期。
第1層行變換需要直接接收原始數(shù)據(jù),因此時鐘頻率應當與數(shù)據(jù)同步時鐘一致,并且單獨設計。其余5步變換共需1.625×N×N個時鐘周期。要滿足1個時鐘周期產生1個小波系數(shù),則后續(xù)5步變換模塊的時鐘頻率至少應當是第1層行變換時鐘頻率的1.625倍,這樣設計就會引入雙時鐘。
FPGA硬件設計中的多時鐘往往是造成系統(tǒng)工作不穩(wěn)定的主要因素。設計時需要考慮的因素增多,因此設計難度增加。更高頻率,對于器件的要求會提高,需要更高性能的芯片。同時更高的頻率就意味著更高的功耗?;谝陨峡紤],本文在后續(xù)5步變換的設計中采用了雙變換核的模式。當前幀圖像的第1層行變換與上一幀圖像的后續(xù)5步變換并行進行。后序變換過程中,采用雙運算核設計,同時進行兩行(列)數(shù)據(jù)的運算,這樣就能夠能保證在使用單一時鐘的情況下,每個時鐘周期處理1個數(shù)據(jù),達到實時處理的要求,這是本文設計的關鍵。這里引入一個新問題,就是上一步變換的結果需要進行數(shù)據(jù)組織,為下一步兩行(列)并行運算做好準備。小波變換模塊整體設計如圖1所示。
圖1 小波變換模塊框圖
下面分運算模塊,控制模塊和數(shù)據(jù)組織模塊對硬件設計做一介紹。運算模塊負責主要的數(shù)據(jù)運算,控制模塊負責流程控制,數(shù)據(jù)組織模塊負責對上一步變換的結果進行組織,以滿足下一步兩行(列)變換的需要。
(1)運算核設計。小波變換運算核設計如圖2所示。運算核共涉及8個加法器和5個乘法器。由于前面輸入或者前中間運算結果數(shù)據(jù)在后序運算中需要用到。因此依據(jù)時序為相應的信號設置一定數(shù)量的寄存器組。采用流水設計,每步運算到相應寄存器中去取數(shù),這樣保證數(shù)據(jù)時序對齊。同時運算中還需要處理的問題是邊界擴展。圖 2中的原始數(shù)據(jù) x(n),p(m),q(y)和r(z)都需要作邊界擴展,每行(列)各擴展一個數(shù)據(jù)。其中x(n)和q(y)需要在右邊界作擴展,分別用第一個數(shù)據(jù)x(N)和q(Mi),p(m)和r(z)需要在左邊界作擴展,分別為最后第一個數(shù)據(jù)p(0)和r(0),Mi為第i層一維變換需要處理的數(shù)據(jù)個數(shù)的1/2。邊界擴展的時序同步由控制模塊負責。
圖2 小波變換運算硬件設計框圖
(2)控制模塊??刂颇K主要負責各步變換運算的啟動,停止,邊界擴展同步控制,變換模塊數(shù)據(jù)讀寫的使能,讀寫數(shù)據(jù)存儲地址的產生等工作。在設計中將第一層行變換進行單獨設計,后序5步變換進行集中設計。這里首先說明第一步行變換的流程控制,后序5步變換相似。
第1層行變換模塊主要作以下工作:1)接收外部數(shù)據(jù),將運算結果送數(shù)據(jù)組織模塊。2)數(shù)據(jù)運算。3)產生寫數(shù)據(jù)地址信號以及寫使能信號。4)控制邊界擴展。5)產生外部存儲器RAM片選信號;f產生第一層行變換結束標志。數(shù)據(jù)按幀處理,幀內部按行處理。隨原始數(shù)據(jù)有幀同步和行同步信號??刂颇K依據(jù)同步信號來控制相應的計數(shù)器計數(shù),以控制邊界擴展,產生寫使能,寫數(shù)據(jù)地址,RAM片選信號,第一層行變換結束標志等信號的產生。
第1層行變換結束,隨即啟動該幀數(shù)據(jù)的后序5步變換依次進行。后序5步變換進行獨立設計。同時后序5步變換依次控制兩個運算核進行運算,實現(xiàn)兩行(列)的并行處理,這是本設計的關鍵。
(3)數(shù)據(jù)組織模塊。數(shù)據(jù)組織模塊服務于運算模塊。分為兩個子模塊,org1和org2,分別負責行變換數(shù)據(jù)組織和列變換數(shù)據(jù)組織。行變換結束之后的數(shù)據(jù)都要參與列變換運算,在數(shù)據(jù)組織過程中將同行相鄰兩列兩個數(shù)據(jù)組織起來,存在一個存儲單元內,這樣在列變換時,讀取一次就能讀出來兩個分別屬于兩列的數(shù)據(jù),再分別送給兩個運算核進行處理。數(shù)據(jù)組織及數(shù)據(jù)讀取如圖3所示。
圖3 行變換數(shù)據(jù)組織及列變換數(shù)據(jù)讀取示意圖
列變換數(shù)據(jù)組織模塊org2負責列變換結果數(shù)據(jù)組織。列變換結果只有第1層列變換后的LL1區(qū)域和第2層列變換后的LL2區(qū)域的數(shù)據(jù)參與下一層行變換,因此也只有這些數(shù)據(jù)需要進行組織,其他數(shù)據(jù)作為最終的變換結果。這些數(shù)據(jù)的組織是結合后序操作進行的,文中不予說明。列變換結果組織的目標是在行變換過程中讀取一次數(shù)據(jù),可以讀取同一列相鄰兩行的兩個數(shù)據(jù)。數(shù)據(jù)組織形式與圖3所示類似。
文中的設計在外部時鐘為50 MHz下通過仿真驗證。系統(tǒng)工作穩(wěn)定可靠。仿真中主要參照C語言版本的數(shù)據(jù)。格外關注幀數(shù)據(jù)首尾、行列首尾的同步信號、控制信號、計數(shù)器和運算數(shù)據(jù)等。同時在行列中進行了大量的數(shù)據(jù)核對工作。在硬件設計中使用了數(shù)字時鐘管理模塊(DCM),同時對時鐘和端口做了約束。仿真結果如圖4所示。
圖4 小波變換模塊仿真截圖
雙正交小波變換采用提升步驟進行計算,大大降低了計算量,同時由于雙運算核設計,系統(tǒng)能夠達到實時處理的要求。雙正交小波變換在圖像壓縮中性能優(yōu)良。將小波變換作為圖像壓縮系統(tǒng)的一部分,進行了測試。測試過程中,將最終的小波系數(shù)按照編碼掃描的要求進行組織。結果顯示,該模塊能夠滿足圖像壓縮系統(tǒng)的要求,數(shù)據(jù)正確,壓縮性能優(yōu)良,系統(tǒng)工作穩(wěn)定。圖5給出了小波變換模塊應用于圖像壓縮編解碼系統(tǒng)的測試結果。圖5(a)為原始圖像,圖5(b),圖5(c)和圖5(d)分別為8倍,16倍和20倍壓縮重構圖像。在20倍壓縮時,重構圖像依然比較清晰。
圖5 小波變換圖像壓縮測試結果
小波變換是圖像壓縮系統(tǒng)中的關鍵模塊。其端口定義明確,易于進行獨立設計。本文應用提升算法在FPGA硬件平臺上實現(xiàn)了小波變換。使用了雙運算核的設計,使得系統(tǒng)在不增加設計復雜性,不提高功耗的情況下,實現(xiàn)了數(shù)據(jù)的實時處理。系統(tǒng)通過了仿真驗證,工作穩(wěn)定可靠,達到實用要求。
[1] 崔錦泰.小波分析導論[M].西安:西安交通大學出版社,1995.
[2] DAUBECHIES I,SWELDEN W.Factoring wavelet transforms into lifting steps[J].Journal of Fourier Analysis and Applications,1998,4(3):247 -269.
[3] LIN T,HAO Pengwei,XU Shufang.Factoring m - band wavelet transforms into reversible integer mappings and lifting steps[C].IEEE International Conference on Acoustics,Speech,and Signal Processing,2005(4):629 -632.
[4] CHENG L,LIANG D L,ZHANG Z H.Popular biorthogonal wavelet filters via a liftings cheme and Its application in image compression [J].IEE Proc. - Vis.Image Signal Process.,August,2003,150(4):227 -232.
[5] SWELDEN W.The lifting scheme a custom -design construction of biorthogonal wavelets[J].Applied and Computational Harmonic Analysis,1996,3(2):186 -200.
[6] 王文君,陳思錦,秦其明,等.基于雙正交小波的多分辨率遙感圖像數(shù)據(jù)融臺[J].現(xiàn)代電子技術,2004(5):33-36.
[7] 都伊林,戴文琪.雙正交小波提升系數(shù)的遞推算法與實現(xiàn)[J].現(xiàn)代電子技術,2006(8):77-80.
[8] 胡濤,黃鋁文,張鵬.基于雙正交小波變換在灰度圖像壓縮中的應用[J].現(xiàn)代電子技術,2004(21):84-86.