專利名稱:實現jpeg2000圖像壓縮的定點小波變換方法
技術領域:
本發明涉及圖像處理技術領域,更進ー步涉及JPEG2000圖像壓縮系統中ー種兼容5/3小波變換和9/7小波變換高效硬件定點實現方法。本發明使用9/7提升小波變換的BIBO (Bounded Input Bounded Output)增益來確定小波變換中間值的存儲位深,使用5/3提升小波變換的BIBO増益來確定9/7提升小波變換中量化參數的選擇方式和量化的實現方式,最終使用同一存儲空間來存放定點5/3提升小波變換和定點9/7提升小波變換。本發明可用于各種數字設備的圖像壓縮編碼。
背景技術:
隨著多媒體和網絡技術的發展和應用,傳統的圖像壓縮算法已不能滿足當前市 場和實際應用的要求,為此國際標準組織于2000年11月制定了靜止圖像壓縮的新標準JPEG2000。該新標準采用基于小波變換技術的率失真優化截取內嵌碼塊編碼算法(EBCOT),取得了較好的圖像壓縮效果,它包括小波變換模塊、基于上下文的位平面算術編碼模塊、率失真優化截取模塊和碼流組織模塊。其中小波變換模塊采用了兩種實現方式分別是可逆整數5/3小波變換和不可逆浮點9/7小波變換。由于第二代提升小波變換需要較少的工作內存和更少的算法計算量,所以在JPEG2000中采用了提升結構來實現這兩種小波變換,但是仍然需要定點和浮點兩套系統來實現5/3和9/7小波變換。西安電子科技大學在其專利申請“基于行的小波變換的VLSI結構”(專利申請號200510042864. 0,公開號CN1717049)中公開了ー種基于行的小波變換的超大規模集成電路VLSI結構。這種結構利用了小波變換濾波器的特性,使得每ー級小波分解的行變換和列變換并行處理,通過有效管理中間數據的緩存空間,降低了對數據存儲空間的要求。但該方法仍然存在的不足是,由于5/3小波變換和9/7小波變換特性的不同,需要分別采用不同的存儲空間,并且9/7小波變換所有提升步驟的系數都采用了ー個非常大的固定存儲位深。因此在同時要求5/3小波變換和9/7小波變換的系統中,這種結構大大浪費了存儲空間。
發明內容
本發明的目的在于克服上述已有技術的不足,提供ー種JPEG2000圖像壓縮系統中基于BIBO增益控制的小波變換定點實現方法。本發明使用盡可能少的硬件資源,同一存儲空間來存放兩種類型的小波變換系數。本發明對9/7小波變換各級各步提升算法進行了精細的劃分,根據各級小波變換中各個提升步驟的不同特性分析出各級各步提升算法的BIBO増益,來設計各步提升后小波系數存儲位深的最小值。在5/3小波變換無損壓縮的限制下,使用5/3小波變換的BIBO増益來設計9/7小波變換中量化參數的選擇方式和量化的實現方式,最終所有小波系數都以19位來存儲。本發明不僅大大節省了小波變換模塊中的硬件存儲資源和運行時間,而且也節省了 JPEG2000中后續基于上下文的位平面算木編碼模塊和率失真優化模塊的存儲資源和運行時間。本發明從研究數值定點實現需求出發,為了保證小波變換系統各步提升結果不產生溢出,為各級各提升步中數據動態范圍的擴展預留足夠的保護位。保護位的個數由BIBO増益來控制,BIBO增益是輸出樣本最大絕對值與輸入樣本的最大絕對值的比值。為實現上述目的,本發明的方法包括如下步驟(I)在JPEG2000圖像壓縮系統中輸入需要壓縮的圖像數據。(2)對輸入的圖像數據進行DC電平位移,得到O對稱分布的圖像數據。(3)判斷是否為9/7小波變換用戶根據是否進行有損壓縮,決定采用9/7提升還是采用5/3提升小波變換;如果
有損壓縮,采用9/7提升小波變換,轉到步驟(4);否則,轉到步驟(6)。(4) BIBO增益控制的9/7提升小波變換4a)將DC電平位移后所有數據左移upshift位,upshift值取任意大于O的整數;4b)將左移后的每一行數據,采用浮點轉定點方法,依次進行標準9/7提升小波變換第一步提升、第二步提升、第三步提升和第四步提升,根據ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深;4c)將第四步提升后圖像分為左右兩部分,其中左半部分作為水平變換后的低頻部分再進行垂直方向的標準四步提升,根據ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深;將右半部分作為水平變換后的高頻部分進行垂直方向的標準四步提升,根據ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深;4d)對第一級小波變換后數據的低頻子帶進行第二級小波變換,提升后的數據按照ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深,依次進行第三級、第四級小波變換,直至完成四級小波變換。(5) BIBO增益控制的9/7提升小波變換后的系數量化5a)通過查找各子帶最小量化步長初始值表,得到每個子帶的最小量化步長初始值,使用這個量化步長初始值對每個子帶的9/7小波變換后的系數進行量化;5b)將步驟5a)中的9/7小波系數右移Y位,實現更大量化步長的量化,量化步長為量化步長初始值的2的Y次冪,Y的值取任意大于等于O的整數;5c)將步驟5b)中所有的9/7小波系數右移upshift位;5d)將步驟5c)量化后的9/7小波變換系數以19位存儲。(6) BIBO增益控制的5/3提升小波變換6a)對每一行的數據進行標準5/3小波第一步提升和第二步提升,將提升后所有數據和9/7小波變換后的同類型數據存放于同一空間,根據ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深;6b)對第二步提升后圖像分為左右兩部分,將左半部分作為水平變換后的低頻數據,進行垂直方向的兩步標準5/3小波提升,提升后所有數據和9/7小波變換后的同類型數據存放于同一空間;將右半部分作為水平變換后的高頻數據,進行垂直方向的兩步標準5/3小波提升,提升后所有數據和9/7小波變換后的同類型數據存放于同一空間,完成第一級小波變換;6c)對第一級小波變換后數據的低頻子帶進行第二級小波變換,提升后所有數據和9/7小波變換后的同類型數據存放于同一空間,依次進行第三級、第四級小波變換,直至完成四級小波變換。(7)根據用戶要求輸出5/3小波變換的系數或者9/7小波變換的系數。(8)利用JPEG2000圖像壓縮系統中標準的基于上下文的位平面算木編碼模塊對小波變換后的系數進行處理,得到算術編碼的碼流。(9)利用JPEG2000圖像壓縮系統中標準的率失真優化截取模塊對算術編碼的碼 流進行率失真優化截取,記錄截取點信息。(10) JPEG2000圖像壓縮系統中標準的碼流組織模塊使用截取點信息,對算術編碼的碼流進行碼流組織,得到JPEG2000的壓縮碼流。本發明與現有技術相比較,具有如下優點第一,由于本發明將JPEG2000圖像壓縮系統中5/3提升小波變換后的數據和9/7提升小波變換后的同類型數據存放于同一空間,克服了現有技術中5/3小波變換和9/7小波變換分別有兩套存儲空間,使得本發明采用同一存儲空間來存放兩種類型的小波變換系數,節約了存儲資源。第二,由于本發明對9/7提升小波變換各級各步提升算法進行了精細的劃分,由各級小波變換中各個提升步驟的不同特性分析出各級各步提升算法的BIBO増益,并設計各步提升后小波系數存儲位深的最小值,使用這個最小存儲位深來存放中間的變量。克服了現有技術9/7提升小波變換中間變量的存儲位深使用一個足夠大的統ー值帶來的缺點,使得本發明采用更少的存儲資源存放9/7提升小波變換的中間系數。第三,由于本發明采用最小存儲位深來存放9/7提升小波變換中間系數,使得本發明對這些中間數據的處理可以采用更短的乘法器,加快了小波變換的速度。第四,由于本發明在5/3小波變換無損壓縮的限制下,設計了 9/7小波變換的量化步長選擇方式和量化方式,克服了現有技術9/7小波變換量化后系數存儲空間無限大的缺點,使得本發明采用固定存儲資源存放9/7小波變換量化后系數。第五,由于本發明將量化后小波系數采用19位來存儲,既實現了無損小波變換,有損小波變換又充分利用了存儲資源,從而使后續基于上下文的位平面算術編碼模塊和率失真優化截取模塊具有更少的存儲資源和更快的速度。第六,本發明中的方法既可以應用于控制軟件系統中的小波變換,又可以應用于控制硬件系統中的小波變換,在這兩種系統中使用本發明都會帶來存儲資源的和運行時間的節省。
圖I是本發明的流程圖。
具體實施例方式下面結合附圖I對本發明的實現步驟做詳細的描述。步驟I.在JPEG2000圖像壓縮系統中輸入需要壓縮的圖像數據,圖像數據采用X比特存儲,X取值范圍為I 16位。步驟2.對輸入的圖像數據進行DC電平位移,得到O對稱分布的圖像數據。步驟3.用戶根據是否進行有損壓縮,決定采用9/7提升還是采用5/3提升小波變換;如果有損壓縮,采用9/7提升小波變換,轉到步驟4 ;否則,轉到步驟6。步驟4. BIBO增益控制的9/7提升小波變換4a)將DC電平位移后所有數據左移upshift位,upshift值取任意大于O的整數。4b)將左移后的每一行數據,采用浮點轉定點方法,依次進行標準9/7提升小波變換第一步提升、第二步提升、第三步提升和第四步提升,根據ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深,其中二維9/7提升小波變換各步提升增益表,根據9/7提升小波變換中各個提升步驟的濾波器系數的特性,推出濾波導致的數據變化范圍而得到的ー張反映每步提升后數據的最大位深擴展表。提升后數據的存儲位深是,X、upshift、ニ維9/7提升小波變換各步提升増益表中與變換級和提升步驟相對應的值二者之和。ニ維9/7提升小波變換各步提升増益表按如下步驟得到首先不考慮規整化乘運算,詳細的分析9/7提升小波變換各級各提升步驟中的
BIBO增益。設<^$[77]表示在一維離散小波變換分解級為d時,提升中的第step步的分析矢量,η表示分析矢量的維數。相應的BIBO増益和分析矢量的關系如下式所示
權利要求
1.實現JPEG2000圖像壓縮的定點小波變換方法,包括如下步驟 (1)在JPEG2000圖像壓縮系統中輸入需要壓縮的圖像數據; (2)對輸入的圖像數據進行DC電平位移,得到O對稱分布的圖像數據; (3)判斷是否為9/7小波變換 用戶根據是否進行有損壓縮,決定采用9/7提升還是采用5/3提升小波變換;如果有損壓縮,采用9/7提升小波變換,轉到步驟(4);否則,轉到步驟(6); (4)BIBO增益控制的9/7提升小波變換 4a)將DC電平位移后所有數據左移upshift位,upshift值取任意大于O的整數; 4b)將左移后的每一行數據,采用浮點轉定點方法,依次進行標準9/7提升小波變換第ー步提升、第二步提升、第三步提升和第四步提升,根據ニ維9/7提升小波變換各步提升增益表,分別控制各步提升后數據的存儲位深; 4c)將第四步提升后圖像分為左右兩部分,其中左半部分作為水平變換后的低頻部分再進行垂直方向的標準四步提升,根據ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深;將右半部分作為水平變換后的高頻部分進行垂直方向的標準四步提升,根據ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深; 4d)對第一級小波變換后數據的低頻子帶進行第二級小波變換,提升后的數據按照ニ維9/7提升小波變換各步提升増益表,分別控制各步提升后數據的存儲位深,依次進行第三級、第四級小波變換,直至完成四級小波變換; (5)BIBO增益控制的9/7提升小波變換后的系數量化 5a)通過查找各子帶最小量化步長初始值表,得到每個子帶的最小量化步長初始值,使用這個量化步長初始值對每個子帶的9/7小波變換后的系數進行量化; 5b)將步驟5a)中的9/7小波系數右移Y位,實現更大量化步長的量化,量化步長為量化步長初始值的2的Y次冪,Y的值取任意大于等于O的整數; 5c)將步驟5b)中所有的9/7小波系數右移upshift位; 5d)將步驟5c)量化后的9/7小波變換系數以19位存儲; (6)BIBO增益控制的5/3提升小波變換 6a)對每一行的數據進行標準5/3小波第一步提升和第二步提升,將提升后所有數據和9/7小波變換后的同類型數據存放于同一空間,根據ニ維9/7提升小波變換各步提升增益表,分別控制各步提升后數據的存儲位深; 6b)對第二步提升后圖像分為左右兩部分,將左半部分作為水平變換后的低頻數據,進行垂直方向的兩步標準5/3小波提升,提升后所有數據和9/7小波變換后的同類型數據存放于同一空間;將右半部分作為水平變換后的高頻數據,進行垂直方向的兩步標準5/3小波提升,提升后所有數據和9/7小波變換后的同類型數據存放于同一空間,完成第一級小波變換; 6c)對第一級小波變換后數據的低頻子帶進行第二級小波變換,提升后所有數據和9/7小波變換后的同類型數據存放于同一空間,依次進行第三級、第四級小波變換,直至完成四級小波變換; (7)根據用戶要求輸出5/3小波變換的系數或者9/7小波變換的系數;(8)利用JPEG2000圖像壓縮系統中標準的基于上下文的位平面算木編碼模塊對小波變換后的系數進行處理,得到算術編碼的碼流; (9)利用JPEG2000圖像壓縮系統中標準的率失真優化截取模塊對算木編碼的碼流進行率失真優化截取,記錄截取點信息; (10)JPEG2000圖像壓縮系統中標準的碼流組織模塊使用截取點信息,對算術編碼的碼流進行碼流組織,得到JPEG2000的壓縮碼流。
2.根據權利要求I所述的實現JPEG2000圖像壓縮的定點小波變換方法,其特征在于步驟⑴中所述的圖像數據采用X比特存儲,X取值范圍為I 16位。
3.根據權利要求I所述的實現JPEG2000圖像壓縮的定點小波變換方法,其特征在于步驟4b)、步驟4c)、步驟4d)和步驟6a)中所述的ニ維9/7提升小波變換各步提升増益表,根據9/7提升小波變換中各個提升步驟的濾波器系數的特性,推出濾波導致的數據變化范圍而得到的ー張反映每步提升后數據的最大位深擴展表。
4.根據權利要求I所述的實現JPEG2000圖像壓縮的定點小波變換方法,其特征在于步驟4b)、步驟4c)、步驟4d)和步驟6a)中所述提升后數據的存儲位深是,X、upshift、ニ維9/7提升小波變換各步提升増益表中與變換級和提升步驟相對應的值三者之和。
5.根據權利要求I所述的實現JPEG2000圖像壓縮的定點小波變換方法,其特征在于步驟5a)中所述的各子帶最小量化步長初始值表,通過以下步驟獲得 第一歩,利用5/3提升小波變換BIBO増益,得到5/3小波變換后每個子帶小波系數絕對值的最大值; 第二歩,利用9/7提升小波變換BIBO増益,得到9/7小波變換后每個子帶小波系數絕對值的最大值; 第三步,利用9/7提升小波變換標準提升步驟中規整化乘運算,得到9/7提升小波后每個子帶小波系數規整化乘運算増益; 第四步,將9/7小波變換綜合基矢量平方范數,開方后得到9/7小波變換后每個子帶幀內小波基函數的L2范數; 第五歩,將9/7提升小波每個子帶小波系數的絕對值的最大值、規整化乘運算増益、子帶幀內小波基函數的L2范數三者相乘,再將相乘之積除以5/3提升小波每個子帶小波系數的絕對值的最大值,得到每個子帶的量化步長最小值; 第六步,選取所有子帶量化步長最小值中的最大值,將該最大值與每個子帶幀內小波基函數的L2范數相乘,得到每個子帶最小量化步長初始值,由初始值組成了ー張各子帶最小量化步長初始值表。
全文摘要
一種實現JPEG2000圖像壓縮的定點小波變換方法,其步驟為(1)輸入圖像;(2)DC電平位移;(3)判斷是否為9/7小波;(4)BIBO增益控制的9/7提升小波;(5)BIBO增益控制的9/7提升小波后的系數量化;(6)BIBO增益控制的5/3提升小波;(7)輸出小波系數;(8)算術編碼;(9)率失真優化截取;(10)碼流組織,得到JPEG2000壓縮碼流。本發明引入BIBO增益控制方法,使用9/7小波BIBO增益來確定小波變換中間值的存儲位深,使用5/3小波BIBO增益來確定9/7提升小波變換量化參數的選擇方式及量化方式,大大節省了JPEG2000系統存儲資源和運行時間。
文檔編號H04N7/26GK102685501SQ20121014821
公開日2012年9月19日 申請日期2012年5月14日 優先權日2012年5月14日
發明者劉凱, 吳成柯, 張靜, 李云松, 王柯儼, 郭杰 申請人:西安電子科技大學