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