基於提升的高效dwt編碼方法及編碼器的製作方法
2023-05-05 04:11:46
專利名稱:基於提升的高效dwt編碼方法及編碼器的製作方法
技術領域:
本發明涉及圖像編解碼領域,具體講,涉及基於提升的高效DWT編碼方法及編碼器。
背景技術:
Discrete wavelet transform(DWT)是一種有效的多解析度分析工具,具有良好的時頻局部特性,可以將信號分解成具有時域特性的不同子代。其編碼效率和圖像復原質量均高於傳統的離散餘弦變換(DCT),從而在信號處理和圖像壓縮領域得到廣泛的應用,如MPEG-4, JPEG2000 等。傳統小波變換由卷積算法實現,計算複雜,存儲空間要求高,不利於VLSI實現,參 JAL K. K. Parhi and T. Nishitani, 「VLSI architecture for discrete wavelettransforms, ^IEEE Trans. VeryLarge Scale Integra. (VLSI) Syst. , vol.1。為角軍決該問題,
Daubechies等提出了第二代小波變換的關鍵技術-提升算法,參見1. Daubechies and W
Sweldens,「Factoring wavelet transforminto lifting steps,,,J. Fourier Anal. Appl.,vol. 4,no. 3,pp. 245-267,Mar. 1998.該算法有效地將計算量縮減到卷積算法的一半,提高了小波變換的速度和實用性,使有效的硬體實現成為可能。目前基於提升算法的DWT編碼器存在諸多的硬體實現方式,各種實現架構均在一定程度上推動了技術的進步,`但仍存在諸多因素限制著硬體實現的效率。典型的幾種硬體實現方式及實現中存在的問題如下。`實現方法1:採用直接的方式對提升算法進行實現,按照算法要求,先逐行完成行變換,再逐列進行列變換。參見 J. M. Jou,Y. H. Shiau,and C. C. Liu,「Efficient VLSIarchitectures forthe biorthogonal wavelet transform by fIter bank and liftingscheme,」 in Proc.1EEE ISCAS,May2001。問題1:由於該架構需要完成全部的行變換才能進行列變換的計算,因此需要緩存全部的行變換結果,而對於大數據量的處理,如高清圖像,該中間結果的數量極為龐大,需要額外的外部sram進行存儲。同時,列變換的開始需要等待行變換的結束,這延長了整體的計算時間,且在每級變換中由於並沒有對架構進行優化,因此具有較長的關鍵路徑延時,進一步影響了編碼器處理速度。實現方法2 :基於行的DWT架構,該結構採用行變換和列變換並行執行的實現方法,不但提升了處理速度,而且能夠採用行列間轉置緩存替代片外sram。參見C. Chrysafitsand A. Ortega,「Line-based,reduced memory,wavelet image compression.,,IEEE Trans.SignalProcess.,vol. 9, no. 3,pp.378-389, Mar. 2000。問題2 :雖然實現了行列變換的並行處理,但處理方式仍然為單輸入的串行處理且行列間的轉置緩存仍然較大。同時在各濾波器中,關鍵路徑延時仍然較長。實現方法3 =Xiong等人提出了 FA和HA兩種實現方式通過並行的行列濾波電路來縮短輸出延時和計算時間,並且無需在架構中設置行列間轉置緩存。參見C. Xiong,J.Tian, andj. Liu,,,Efficient Achitectures for Two-Dimensional Discrete WaveletTransform U sing LiftingScheme,,,IEEE Trans.1mage Process. , vol. 16, no. 3,pp.607-614, Mar. 2007。問題3 :雖然該架構復用了預測和更新電路,將關鍵路徑變成Tm+2Ta,其中Tm和Ta分別為一個乘法器和加法器的關鍵路徑延時。但該架構仍然沒有切斷乘法和多加法的延時累加,關鍵路徑仍然較長。同時,雖然該架構採用了並行的濾波器設計,將轉置緩存縮減至4個寄存器的大小,且計算時間減半。但由於需對輸入數據進行緩存,當處理N*N大小的圖像數據時總的內部緩存仍為5. 5N,硬體複雜度仍然較高。實現方法4 Flipping結構作為近年間一種重要的DWT架構,最早由huang提出。該設計對提升公式進行等價變形,放棄了以往將乘法器設置在輸入節點和計算節點間的做法,通過改變乘法器的位置有效降低了關鍵路徑延時。且該架構可以通過加入流水寄存器的方式,進行流水分級處理,5級流水線即可以將關鍵路徑延時降至I個Tm的大小。參見 C.-T. Huang, P.-C. Tseng, and L.-G. Chen,,,Flipping structure An efficientVLSI architecture fori ifting-based discrete wavelet transform,,,IEEE Trans.SignalProcess.,vol. 52,no. 4,pp.1080-1089,Apr. 2004.
問題4 :作為一種改進的基於行DWT架構,Fliping結構在進行流水設計時也同樣會增加巨大的中間緩存。Huang認為1-D DffT電路中流水寄存器的數目對應著2_D DWT架構中中間緩存的大小,因此應當限制1-D DWT電路中的流水寄存器數量,但也無疑影響了關鍵路徑的縮短。其中,1-D和2-D為小波變換的維度,我們規定,單純進行一次行濾波或列濾波為1-D小波變換,即進行行濾波又進行列濾波為2-D小波變換。
發明內容
本發明旨在克服現有技術的不足,提供一種具有較高的編碼效率,可以滿足高速編碼的應用需要的編碼器,為達到上述目的,本發明採取的技術方案是,基於提升的高效DWT編碼方法,步驟為公式⑴ (6)為9/7DWT的提升步驟公式,總體由兩部分構成,分別為4步提升及2步縮放公式⑴ ⑷為4步提升過程,依次對應I次提升,I次預測,2次提升,2次預測;公式(5) ¢)為2步縮放過程,分別為高頻縮放及低頻縮放;
I1—X v(2n +1) = —X x(2n +1) + x(2n) + x(2n + 2) (I)
a ~a-^-X j(2n) = -^-X x(2n) + y{2n -1) + y(2n +1)(2)—xH(2n +1) = —xy(2n + 1) + y(2n) + y{2n + 2) (3)
7T-XL(2n) = -Xy(2n) + H(2n-l) + H(2n +1) (4)
SSH° (2n+l) = eXH(2n+l) (5)L。(2n) = f XL(2n)(6)其中,n為大於等於0的整數,x(n)為輸入的原始圖像值,y(n)為算法中的一級運算結果,H0 (2n+l)和L° (2n)為最終分解生成的高頻分量和低頻分量;對應係數的取值如下a =-1.586134342、^ =-0.052980118、y = 0.882911075、8 = 0. 443506852、K=1.230174105。將公式(I)代入公式(2)並通過等價變型對公式中的各項進行從新組合
權利要求
1.一種基於提升的高效DWT編碼方法,其特徵是,步驟為公式(I) ¢)為9/7DWT的提升步驟公式,總體由兩部分構成,分別為4步提升及2步縮放公式(I) (4)為4步提升過程,依次對應I次提升,I次預測,2次提升,2次預測;公式(5) (6)為2步縮放過程,分別為高頻縮放及低頻縮放;
2.一種基於提升的高效DWT編碼器,其特徵是,結構為基於提升的高效DWT編碼器,結構為 列編碼單元,用於2-D DffT中的列濾波部分; 行編碼單元,用於2-D DffT中的行濾波部分; 轉置緩存單元,用於緩存行列濾波器間的數據,並調整數據流結構; 數據進入列編碼單元進行列變換,編碼單元為雙輸入雙輸出,每一時鐘周期讀入兩個數據進行處理;當列編碼完成一定行數後,將所得結果輸出至轉置緩存單元;數據流經過轉置,滿足了行編碼的要求,此時數據進入行編碼單元開始行變換,行濾波輸出的數據經過增益計算後形成LL、LH、HL、HH 4個子帶信號,將4個子代分量進行重排後即可完成一級2_DDffT的分解過程。
3.如權利要求2所述的一種基於提升的高效DWT編碼器,其特徵是,列編碼單元由寄存器、乘法器、加法器和4個大小為N的雙埠 ram構成,4個大小為N的雙埠 ram為sraml、sram2> sram3、sram4,用來存儲計算時產生的中間變量,N為N*N圖像數據的尺寸整個列編碼單元由5級流水線組成,每級流水線由一個寄存器及用以完成相應運算的加法器或乘法器組成,列編碼單元工作後,數據按照行的方向進入列濾波器,每一時鐘周期讀入兩個數據分別為奇數項x(2n+l)和偶數項x(2n),之後在第I級流水線中對讀入的數據進行乘法運算,所得結果在下一周期參與第2級流水線的中間變量DlkOi)和D2k(n)的計算,並將新得到的中間變量DlkOi)、D2k(n)存入sraml和sram2,同時,從sraml和sram2中讀出所需的中間變量DlH(Ii)和D2H(n)用於y(2n-l)/a和y(2n-2)/a ^的計算;上兩行存入的中間變量DlH(Ii)和D2H(Ii)保留N個周期後讀出,用於新讀入的兩行數據的列變換,同時將新產生的中間變量DlkOi)和D2k(n)存入sraml、sram2,以更新DlH(Ii)和D21"1 (n)所處地址處的內容;以第3級流水線的兩個寄存器為界,前半部分電路完成公式13和14的計算,後半部分電路完成公式15和16的計算;後半部電路需在第3級流水線中改變乘法器的所乘係數,接受第2級流水線所算出的y(2n-l)/a和y(2n-2)/a ^並完成對應的乘法運算;在第4級流水線中進行公式15,16計算的同時更新對應的中間變量Dt1 (n)和D/-1 (n),中間變量D3k^1 (n)和D4H(Ii)分別對應存儲於sram3、sram4中,之後在第5級流水線中對最終的高低頻結果進行輸出。
4.如權利要求2所述的一種基於提升的高效DWT編碼器,其特徵是,行編碼單元由行寄存器、行乘法器、行加法器和另外4個寄存器bufferl、buffer2、buffer3、buffer4組成,整個行編碼單元由5級流水線組成,每級流水線由一個行寄存器及用以完成相應運算的行加法器或行乘法器組成,輸入數據在第一級流水線中進行乘法運算,並在第二級流水線中進行中間變量D1kOr^l)和D2k(n+1)的計算並存入相應的bufferl、buffer2,同時讀出buffer1、buffer 2中另一地址處的中間變量D115 (n)和D2k(n)用於計算y(2n+l)/a和y(2n)/a 3 ;設置的buffer用於高頻行和低頻行的中間變量交替讀取,滿足高頻行和低頻行的計算獨立完成;第3級流水線中對前半部分電路的輸出結果y(2n+l)/a和y(2n)/a ^進行乘法運算,並輸入至第4級流水線完成公式15及16的計算及中間變量D3k(n+1)和D4k(n+1)的更新;最終的高低頻分量H和L在第5級流水線中輸出。
全文摘要
本發明涉及圖像編解碼領域。為提供一種具有較高的編碼效率,可以滿足高速編碼的應用需要的編碼器,本發明採取的技術方案是,基於提升的高效DWT編碼器,結構為列編碼單元,用於2-D DWT中的列濾波部分;行編碼單元,用於2-D DWT中的行濾波部分;轉置緩存單元,用於緩存行列濾波器間的數據,並調整數據流結構;數據進入列編碼單元進行列變換,數據進入行編碼單元開始行變換,行濾波輸出的數據經過增益計算後形成LL、LH、HL、HH 4個子帶信號,將4個子代分量進行重排後即可完成一級2-D DWT的分解過程。本發明主要應用於圖像圖像編解碼。
文檔編號H03M7/46GK103067023SQ20121050706
公開日2013年4月24日 申請日期2012年11月29日 優先權日2012年11月29日
發明者張為, 姜喆, 劉豔豔, 高志宇 申請人:天津大學