專利名稱:基于“空間組合推舉體制”的小波變換ip核及其變換方法
技術領域:
基于“空間組合推舉體制”的小波變換IP(Intellectual Property,知識產權)核是二維正交離散小波變換(Discrete Wavelet Transform,DWT)的集成電路實現,它是一種專用集成電路(ASIC)IP核,屬于信息技術領域中超大規(guī)模集成電路SOC(System On Chip,片上系統(tǒng))及IP核設計的范疇,特別涉及新一代靜止圖像壓縮處理技術中的小波變換領域。
在1991年國際標準化組織(ISO)和國際電信聯盟(ITU)聯合制定的靜止圖像壓縮標準JPEG中使用的是離散余弦變換(DCT),它的算法較為簡單,壓縮性能良好,在幾年中獲得了巨大的成功。但是,在DCT中圖像首先被分成8×8(或16×16)的像素塊,這些像素塊被各自獨立地變換、量化、編碼和傳輸。這樣,雖然充分考慮了塊內部像素間的相關性,但是塊與塊之間的相關性卻被忽視了,這就在很大程度上限制了壓縮比的提高。同時,在低比特率(小于0.25比特/像素)的條件下,這種分塊結構還產生了塊邊緣的“方塊效應”。
小波變換理論是新發(fā)展起來的一個數學分支。它克服了傳統(tǒng)傅里葉變換的缺陷,是一種良好的時頻域局部化分析方法。小波變換的基本原理是利用與人類視覺特性相匹配的一組垂直與水平濾波器將圖像分解成具有不同分辨率、不同方向特性的子帶,并使能量集中在某些子帶里。這種能量的集中為圖像的壓縮提供了巨大的空間。并且,小波變換的復雜度與圖像的規(guī)模無關,因此能對整幅圖像直接進行變換,這就有效地克服DCT編碼所產生的塊邊緣效應。由于其良好的特性,DWT被新一代靜止圖像壓縮標準JPEG2000所采用。
在JPEG2000中,小波變換的實現有兩種實現方式基于卷積的實現方式(convolution-based implementation)和基于推舉體制的實現方式(lifting-basedimplementation)。Daubechies等人證明了,對于有限長的雙正交小波濾波器,推舉體制實現方式的運算量在極限情況下是卷積實現方式運算量的一半,另外它還有存儲單元少,逆變換實現非常簡單,易于構造第二代小波變換及一些非線形小波變換等優(yōu)點。因此,推舉體制的實現方式是JPEG2000的首選實現方式,它可以提高小波變換的實現速度。
由于進行小波變換時數據依賴關系復雜,運算量大,故其硬件實現難度較大;但隨著小波變換研究與應用的日益普及,其硬件實現的需求也日益迫切,因此對小波變換硬件實現的研究越來越受到重視。
本發(fā)明提出的二維離散小波變換專用集成電路的特征在于它的濾波器結構采用9/7小波濾波器,分解結構采用5層Mallat分解、邊界延拓采用對稱方式;它是基于“空間組合推舉體制”算法(SCLA)的小波變換專用集成電路IP核,它由以下幾部分組成1)一個離散小波變換(DWT)濾波器含有A、B、C、D、E共五個核心矩陣運算單元,A、B、C、D運算單元工作區(qū)域的大小均為3×3,E運算單元的大小為2×2;2)一組輸入、輸出緩沖池分別由12個寄存器呈2列6行式構成,對稱地分布于DWT濾波器左、右邊界;3)一組片內存儲器由8片一讀一寫的雙口同步SRAM(靜態(tài)隨機存儲器)組成,用于6行數據的存儲;如圖1所示,經圖像采集和色度變換后的原始圖像信號端與片內存儲器中的Line4_Leve14片、Line5_Leve14片輸入端相連,而上述兩片存儲器的輸出端分別與輸入緩沖池的第5行、第6行寄存器的輸入端相連;片內存儲器中的Line4_LL片、Line5_LL片的輸入端分別與輸出緩沖池中第2行寄存器的LL數據輸出端相連,而上述片內存儲器Line4_LL、Line5_LL的輸出端分別與輸入緩沖池第5行、第6行寄存器的輸入端相連;片內存儲器的Line0片、Line1片、Line2片、Line3片的輸入端分別依次與輸出緩沖池中的第3行、第4行、第5行、第6行寄存器的輸出端相連,而上述Line0~Line3各片存儲器的輸出端分別依次與輸入緩沖池中第1行、第2行、第3行、第4行寄存器的輸入端相連;上述輸入緩沖池中第1~4行寄存器的輸出端分別依次與各運算單元D、C、B、A的第1行第3列的運算子單元的輸入端相連;上述輸入緩沖池中第5行、第6行寄存器的輸出端分別依次與運算單元A中第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元A中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元B中的第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元B中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元C中的第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元C中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元D中的第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元D中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元E中的第2列第1行、第2列第2行的運算子單元的輸入端相連;上述運算單元E中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與輸出緩沖池中第1行、第2行寄存器的輸入端相連;上述各運算單元D、C、B、A中的各第1列第3行的運算子單元的輸出端分別依次與輸出緩沖池中第3~6行寄存器的輸入端相連;輸往離散小波變換器下端的優(yōu)化截斷的嵌入式分塊編碼(Embedded Block Coding with Optimized Truncation,EBCOT)的數據LH、HH以及HL各自由輸出緩沖池中第1行、第2行寄存器輸出端輸出。
本發(fā)明提出的小波變換專用集成電路的變換方法的特征在于它實行的變換方式同“空間組合推舉體制”的算法相結合,通過在緩沖池內緩存6行數據以完成對整幀圖像全部層的分解運算,它通過使離散小波變換濾波器組織起對片內存儲器,輸入、輸出緩沖池的有效訪問時序來實現,為此,該濾波器的主狀態(tài)機共分為一下3個狀態(tài)狀態(tài)1和狀態(tài)2同時完成以下3種操作(1)、該濾波器從片內存儲器讀出2列數據并寫進輸入緩沖池緩存;(2)、該濾波器對濾波器里的舊數進行運算單元A、B、C、D、E所對應的“空間組合推舉體制”運算,即各運算單元A、B、C、D內的各第1列第1行、第1列第3行、第3列第1行、第3列第3行的運算子單元處的元素值在變換前后保持不變,各第2列第1行、第2列第3行的運算子單元處的元素新值由水平相鄰的元素相加后乘以參數運算單元A乘以α,B乘以β,C乘以γ,D乘以δ,再和該元素的舊值相加得到,各第1列第2行、第3列第2行的運算子單元處的元素新值由豎直相鄰的元素相加后乘以上述參數,再和該元素的舊值相加得到,各第2列第2行的運算子單元處的元素新值由水平相鄰元素的舊值和豎直相鄰元素的新值相加后乘以上述參數,再和該元素的舊值相加得到,運算單元E內第1列第1行運算子單元處的元素新值等于舊值乘以η,第2列第2行的運算子單元處的元素新值等于起舊值乘以1/η,上述各參數是已知的;(3)、該濾波器從輸出緩沖池寫出2列結果;其中8個數據屬于當前層分解過程中的中間數據,它們被下移2行后寫回片內存儲器,用于當前層下一行的分解運算;剩余的4個數據中,LL數據被寫回片內存儲器Line4_LL或Line5_LL,用于下一層的分解操作,而HL、LH及HH則分別被直接輸出給EBCOT編碼器;狀態(tài)3則完成以下操作把運算單元和輸入、輸出緩沖池中的所有數據同時左移2列,轉入狀態(tài)1;再進行以上4步運算時,原始圖像數據被不斷地串行送入片內存儲器Line4_Leve14或Line5_Leve14。
本發(fā)明完成了基于SCLA算法的二維離散小波變換專用集成電路IP核設計,并已經流片測試并驗證成功。其中,我們自主提出并采用的SCLA算法和由JPEG2000標準推薦采用的推舉算法(Lifting Agorithm)比較,完成雙正交二維小波變換所需的乘法運算量減小了5/12,該算法在集成電路實現時將大大降低電路的功耗,減小電路面積并提高處理的速度。除本發(fā)明外目前世界上尚無人完成該算法的超大規(guī)模集成電路(VLSI)實現。
本設計中的SCLA由發(fā)明人中的孟鴻鷹博士首次提出(論文見[J].Electronics Letters,Vol36 issue21,pp.1766-1767,12 Oct 2000.作者是Meng.H,Wang.Z.題目為Fastspatial combinative lifting algorithm of wavelet transform using the 9/7 filter forimage block compression.),是推舉體制小波變換實現方法的一個改進。它在推舉體制的框架下,從離散小波變換算子的矩陣表示出發(fā),將二維小波變換的水平和豎直方向運算結合在一起考慮。和標準的推舉體制比較,大大減少了完成雙正交二維小波變換所需的乘法運算量。以9/7濾波器為例,對N×N圖像完成一階離散小波變換的總乘法量由6×N×N次減少到3.5N×N次。空間組合推舉體制算法為以更小的代價用集成電路實現二維小波變換提供了條件。
對于大小為N×N(設N=2L)的二維圖像,我們將它們的乘法次數比較結果列在下面的表1中。在這個表中,第一列是四種算法,第二列是分解一層時的乘法次數,第三列是分解J(J≤L)層時的乘法次數。分解J層和分解一層的乘法次數的比例是不變的。分解相同的層數,只要乘以一個相同的常數系數,就可以知道乘法運算量。因此它們之間的比例是不會改變的。
表1 9/7濾波器各種算法的乘法運算量比較結果
圖1SCLA處理器的系統(tǒng)結構。
圖2層分解的過程。
圖3JPE62000編碼器的硬件實現。
SCLA處理器主要由DWT濾波器,輸入,輸出緩沖池以及片內存儲器4部分組成。DWT濾波器由5個核心矩陣運算單元組成。其中,A,B,C,D運算單元工作區(qū)域的大小均為3×3。符號 處的元素值在變換前后保持不變;符號 處的元素新值由水平相鄰的元素相加后乘以參數(A乘以α,B乘以β,C乘以γ,D乘以δ)再和該元素的舊值相加得到符號 處的元素新值由豎直相鄰的元素相加后乘以上述參數,再和該元素的舊值相加得到;符號 處的元素新值由水平相鄰元素的舊值和豎直相鄰元素的新值相加后乘以上述參數,再和該元素的舊值相加得到。A,B,C,D在濾波器中的位置不同,運算方法除所乘參數外完全相同。E運算單元的大小為2×2,符號表示該元素的新值等于其舊值乘以η,符號 表示該元素的新值等于其舊值乘以1/η。參數具體數值為α=-1.586134342 β=-0.05298011854γ=0.8828110762 δ=0.4435068522 ζ=1.149604398數據在這5個運算單元里運算流動進行SCLA操作時,就好象這5個運算方框在濾波器里有序的滑動。
片內存儲器由8片一讀一寫的雙口同步SRAM組成,用于6行數據的存儲。其中Line0~Line3用于存儲level4~level0(1evel4代表最頂層分解級,level3~level0代表的分解級依次遞減)分解過程中的4行中間數據,Line4_LL和Line5_LL用于存儲1evel3~level0分解所需的LL數據,Line4_Level4和Line5_Level4僅用于存儲level4分解過程中的LL數據,即原始圖像數據。由于對這些SRAM采用了基于行的組織方式,因此很容易根據當前處理的行號和分解的層號來尋址。
輸入、輸出緩沖池分別由12個寄存器組成,實現位數等于小波系數的實現精度。它在濾波器和片內存儲器之間起重要的接口作用。
為完成全部層的SCLA分解,作為核心控制單元的DWT濾波器必須有效的組織起對片內存儲器以及輸入,輸出緩沖池的訪問時序。DWT濾波器的主狀態(tài)機共分為3個狀態(tài)。狀態(tài)1和狀態(tài)2同時完成了以下3種操作1.DWT濾波器從片內存儲器讀出2列新數(每個時鐘讀出l列,每列6個新數,共12個新數),并寫進輸入緩沖池緩存;2.DWT濾波器對濾波器里的舊數進行運算單元A,B,C,D,E所對應的SCLA運算;3.DWT濾波器從輸出緩沖池寫出2列結果(每個時鐘寫出1列,每列6個數據,共12個數據)。其中,8個數據屬于當前層分解過程的中間數據,它們被下移2行之后寫回片內存儲器,用于當前層下一行的分解運算;剩余的4個數據由LL,HL,LH和HH組成,其中,
LL被寫回片內存儲器Line4_LL或Line5_LL,用于下一層的分解操作,而HL,LH和HH則被直接輸出給EBCOT編碼器。在狀態(tài)3,完成如下操作將運算單元和輸入,輸出寄存器里的所有數據同時左移2列,轉入狀態(tài)1;在進行以上4步運算的同時,原始數據被不斷的串行送入Line4_Leve14或Line5_Leve14。
由于DWT采用了基于行的變換結構,且只用一個濾波器完成所有層的分解,因此各層分解只能穿插進行,每層分解需要有各自的6行緩存結構。層分解過程如圖2所示,其中,變量row4,row3,row2,row1,row0,依次記錄level 4-level 0所處理的當前行。初始時row4=row3=row2=row1=row0=0。再進行第i層的處理時,若row(i-1)為偶數,則當前分解的低頻(LL)分量寫入第i-1層的Line 5,否則寫入第i-1層的Line 4。第i層的當前行處理結束后,若row(i-1)為偶數,則轉入第i-1層的處理,否則,轉入第4層的處理。同時要更新row(i-1)的值,即row(i-1)加1。
目前本專用集成電路IP核已應用于清華大學研究的JPEG2000 IP核設計中,它與后續(xù)JPEG2000 EBCOT編碼部分相配合,可以用硬件實現JPEG2000圖像壓縮。最終的設計將可以作為JPEG2000硬件壓縮系統(tǒng)的一部分應用于遠程監(jiān)控,數碼相機等領域。它在JPEG2000 IP核中的位置如圖3所示。首先,原始圖像經圖像采集和色度變換,被串行送入變換器進行DWT。接著,變換后的小波系數分成若干子帶后被送入EBCOT編碼部分,依次進行分塊,量化,過程編碼和算數編碼。最后,EBCOT輸出的比特流和率失真斜率等信息經截斷和封裝,最終生成符合JPEG2000靜止圖像標準的壓縮碼流。本芯片的技術指標如表2所示。
表2.芯片主要技術指標
權利要求
1.基于“空間組合推舉體制”的小波變換IP核是二維正交離散小波變換(DiscreteWavelet Transform,DWT)的集成電路實現,其特征在于,它是一種專用集成電路IP(Intellectual Property,知識產權)核,其濾波器結構采用9/7小波濾波器,分解結構采用5層Mallat分解、邊界延拓采用對稱方式,它是基于“空間組合推舉體制”算法(SpacialCombinational Lifting Algorithm,SCLA)的小波變換專用集成電路IP核,它由以下幾部分組成1)一個離散小波變換濾波器含有A、B、C、D、E共五個核心矩陣運算單元,A、B、C、D運算單元工作區(qū)域的大小均為3×3,E運算單元的大小為2×2;2)一組輸入、輸出緩沖池分別由12個寄存器呈2列6行式構成,對稱地分布于DWT濾波器左、右邊界;3)一組片內存儲器由8片一讀一寫的雙口同步SRAM(靜態(tài)隨機存儲器)組成,用于6行數據的存儲;其中,經圖像采集和色度變換后的原始圖像信號端與片內存儲器中的Line4_Leve14片、Line5_Leve14片輸入端相連,而上述兩片存儲器的輸出端分別與輸入緩沖池的第5行、第6行寄存器的輸入端相連;片內存儲器中的Line4_LL片、Line5_LL片的輸入端分別與輸出緩沖池中第2行寄存器的LL數據輸出端相連;而上述片內存儲器Line4_LL、Line5_LL的輸出端分別與輸入緩沖池第5行、第6行寄存器的輸入端相連;片內存儲器的Line0片、Line1片、Line2片、Line3片的輸入端分別依次與輸出緩沖池中的第3~6行寄存器的輸出端相連,而上述Line0~Line3各片存儲器的輸出端分別依次與輸入緩沖池中第1~4行寄存器的輸入端相連;上述輸入緩沖池中第1~4行寄存器的輸出端分別依次與各運算單元D、C、B、A的第1行第3列的運算子單元的輸入端相連;上述輸入緩沖池中第5行、第6行寄存器的輸出端分別依次與運算單元A中第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元A中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元B中的第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元B中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元C中的第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元C中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元D中的第3列第2行、第3列第3行的運算子單元的輸入端相連;上述運算單元D中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與運算單元E中的第2列第1行、第2列第2行的運算子單元的輸入端相連;上述運算單元E中的第1列第1行、第1列第2行的運算子單元的輸出端分別依次與輸出緩沖池中第1行、第2行寄存器的輸入端相連;上述各運算單元D、C、B、A中的各第1列第3行的運算子單元的輸出端分別依次與輸出緩沖池中第3~6行寄存器的輸入端相連;輸往離散小波變換器下端優(yōu)化截斷的嵌入式分塊編碼(Embedded Block Coding with Optimized Truncation,EBCOT)的數據LH、HH以及HL各自由輸出緩沖池中第1行、第2行寄存器輸出端輸出。
2.根據權利要求1提出的基于“空間組合推舉體制”的小波變換專用集成電路的變換方法,其特征在于它實行的變換方式同“空間組合推舉體制”的算法相結合,通過在緩沖池內緩存6行數據以完成對整幀圖像全部層的分解運算,它通過使離散小波變換濾波器組織起對片內存儲器,輸入、輸出緩沖池的有效訪問時序來實現,為此,該濾波器的主狀態(tài)機共分為一下3各狀態(tài)狀態(tài)1和狀態(tài)2同時完成以下3種操作(1)、該濾波器從片內存儲器讀出2列數據并寫進輸入緩沖池緩存;(2)、該濾波器對其內部的舊數進行運算單元A、B、C、D、E所對應的“空間組合推舉體制”運算,即各運算單元A、B、C、D內的各第1列第1行、第1列第3行、第3列第1行、第3列第3行的運算子單元處的元素值在變換前后保持不變,各第2列第1行、第2列第3行的運算子單元處的元素新值由水平相鄰的元素相加后乘以參數運算單元A乘以α,B乘以β,C乘以γ,D乘以δ,再和該元素的舊值相加得到,各第1列第2行、第3列第2行的運算子單元處的元素新值由豎直相鄰的元素相加后乘以上述參數,再和該元素的舊值相加得到,各第2列第2行的運算子單元處的元素新值由水平相鄰元素的舊值和豎直相鄰元素的新值相加后乘以上述參數,再和該元素的舊值相加得到,運算單元E內第1列第1行運算子單元處的元素新值等于舊值乘以η,第2列第2行的運算子單元處的元素新值等于起舊值乘以1/η,上述各參數是已知的;(3)、該濾波器從輸出緩沖池寫出2列結果;其中8個數據屬于當前層分解過程中的中間數據,它們被下移2行后寫回片內存儲器,用于當前層下一行的分解運算;剩余的4個數據中,LL數據被寫回片內存儲器Line4_LL或Line5_LL,用于下一層的分解操作,而HL、LH及HH則分別被直接輸出給EBCOT編碼器;狀態(tài)3則完成以下操作把運算單元和輸入、輸出緩沖池中的所有數據同時左移2列,轉入狀態(tài)1;再進行以上4步運算時,原始圖像數據被不斷地串行送入片內存儲器Line4_Leve14或Line5_Leve14。
全文摘要
基于“空間組合推舉體制”的小波變換IP核是二維正交離散小波變換的集成電路實現,特別涉及新一代靜止圖像壓縮技術中的小波變換領域,其特征在于它基于“空間組合推舉體制”(SCLA)算法,是一種專用集成電路IP核,其濾波器結構采用9/7小波濾波器、分解結構采用5層Mallat分解,邊界延拓采用對稱方式。SCLA算法和標準的推舉算法比較,完成小波變換所需的乘法運算量減小了5/12。本集成電路具有功耗低,面積小,處理速度高的優(yōu)點。
文檔編號H04N7/26GK1450803SQ0312114
公開日2003年10月22日 申請日期2003年3月28日 優(yōu)先權日2003年3月28日
發(fā)明者張利, 王志華, 陳弘毅, 劉雷波, 孟鴻鷹, 陳寧, 謝時根, 王學進, 趙偉, 馬振強 申請人:清華大學