專利名稱::基于碼率預(yù)分配的jpeg2000自適應(yīng)率控制系統(tǒng)及方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及圖像處理
技術(shù)領(lǐng)域:
,特別是一種基于碼率預(yù)分配的JPEG2000優(yōu)化碼率控制方法,用于各種數(shù)字設(shè)備的圖像壓縮編碼。
背景技術(shù):
:隨著多媒體和網(wǎng)絡(luò)技術(shù)的發(fā)展和應(yīng)用,已有的靜止圖像壓縮標(biāo)準(zhǔn)JPEG已不能滿足當(dāng)前市場和實際應(yīng)用的要求,為此國際標(biāo)準(zhǔn)組織于2000年11月制定了靜止圖像壓縮的新標(biāo)準(zhǔn)JPEG2000。該新標(biāo)準(zhǔn)采用了澳大利亞學(xué)者DavidTaubman在歷>力尸ei"/br歷朋ce5"caia/We/鵬geCb順res57'o/w^'t力朋6^7(7£££/wage尸rac咖/"g,vol.9,no.7,pp.1158-1170,July2000)—文中提出的小波變換和率失真優(yōu)化截取內(nèi)嵌碼塊編碼算法EBCOT,該算法分為Tl編碼器和T2編碼器兩部分。Tl由內(nèi)嵌比特平面編碼和MQ算術(shù)編碼器組成,完成上下文形成和算術(shù)編碼;T2部分完成率控制和碼流組織。進(jìn)行率失真優(yōu)化截取內(nèi)嵌碼塊編碼算法EBCOT編碼時,各小波子帶劃分為更小的碼塊,如64X64,以碼塊為單位獨(dú)立作T1編碼。不同的碼塊產(chǎn)生的比特流長度是不相同的,它們對恢復(fù)圖像質(zhì)量的貢獻(xiàn)也是不同的。因此對于所有碼塊產(chǎn)生的比特流,T2采用了率失真優(yōu)化技術(shù)進(jìn)行后壓縮處理,完成碼流的率控制和組織。JPEG2000采用PCRD(壓縮后率失真優(yōu)化)算法來精確地進(jìn)行率控制,該算法能夠在給定碼率條件下使壓縮圖像質(zhì)量最好。但PCRD優(yōu)化算法是在整幅圖像上的全局優(yōu)化過程,它必須要等到整幅圖像的所有碼塊的所有通道編碼完成后才能進(jìn)行分層截取點的搜索,而T1編碼器包含了JPEG2000編碼器中大部分計算量,約為45%60%,然而T1編碼器很大一部分計算量和存儲量對于最終碼流來說是冗余的,巨大的計算量和大量的內(nèi)存是JPEG2000硬件實時實現(xiàn)的瓶頸。由優(yōu)化率失真截取算法可知必須得知所有碼塊的編碼通道的編碼長度A/f和每個編碼通道的失真減少量Ai",這也就要求T1編碼器必須對所有比特平面編碼,并存儲每個子帶的編碼數(shù)據(jù)和相關(guān)信息,如存儲A^和AD,等。顯然,其中的大部分編碼數(shù)據(jù)并未包含在最終壓縮碼流中,這就導(dǎo)致T1編碼器的大部分計算量和存儲器使用量浪費(fèi)在對最終壓縮碼流無用的數(shù)據(jù)上。為了提高編碼器的工作效率,Tl編碼器沒有必要對所有的比特平面或所有的子帶編碼,只要能在T1編碼的過程中針對不同的比特率自適應(yīng)確定一個合適編碼深度,在這個編碼范圍內(nèi)保證每個碼塊率失真斜率曲線是嚴(yán)格單調(diào)下降的,再進(jìn)行截取點選擇,即可基本達(dá)到JPEG2000標(biāo)準(zhǔn)的壓縮效果。根據(jù)EBCOT實際編碼特點可知第一,斜率在選擇優(yōu)化截取點時僅進(jìn)行比較運(yùn)算,也就是說斜率的真實值并不重要,重要的是所用斜率之間的大小關(guān)系,這也是我們可以對其預(yù)測的前提。第二,每個碼塊的率失真斜率曲線是與編碼的比特平面和編碼子帶的類型相關(guān)的,除了個別的奇異點,其基本呈下降趨勢,在同一比特平面內(nèi),較早編碼的子帶比晚編碼的子帶的率失真斜率大。因此,縮短時間和減少存儲量是迫切需要的,許多學(xué)者在這方面做出了大量的研究工作,提出了一些算法,從不同程度提高編碼效率。Y.M.Yeung在五^7deWmfeco"^)//orJ尸五G2000/脂gecW"gY7E5^o"C7rm'"朋dS,e卿々r附eo7fec/2"o/ogy,vol.15,no.3,pp.335-344,March,2005)—文中根據(jù)編碼碼塊中比特平面越高,其所含信息的重要性越高的特點提出了優(yōu)先掃描率分配算法PSRA,基本思想是在整個圖像編碼碼塊中找出一個最大編碼通道數(shù),然后按照這個最大編碼通道數(shù),將所有碼塊按照編碼通道從高到低編碼,直至達(dá)到目標(biāo)碼率。在PSRA算法的基礎(chǔ)上,Y.M.Yeung又提出了優(yōu)先掃描最佳截取算法PSOT,其算法思想是按照PSRA算法,高編碼通道優(yōu)先編碼,直到達(dá)到目標(biāo)碼流,然后從已編碼通道中找出率失真斜率最低的編碼通道,編碼每個碼塊率失真斜率大于最低率失真斜率的編碼通道,最后將所得的碼流進(jìn)行率失真優(yōu)化截取輸出最終碼流。PSOT算法改進(jìn)了PSRA算法的性能,其峰值信噪比PSNR基本上等于JPEG2000標(biāo)準(zhǔn)算法,但是相比PSRA算法卻大大增加了計算量和存儲空間,而且增加了T2率失真優(yōu)化截取算法。在這個高編碼通道優(yōu)先編碼框架中,需要在所有碼塊中循環(huán)切換碼塊編碼,并且需要保存所有碼塊的上下文狀態(tài)變量等狀態(tài)信息,算法復(fù)雜度較高,相關(guān)信息存儲量大,這在實時系統(tǒng)中是很難做到的。因此設(shè)計計算量低、低存儲要求的實時JPEG2000壓縮率控制算法是非常重要的。吳宗澤在JPEG2000實時截斷碼率控制新算法及其VLSI結(jié)構(gòu)設(shè)計(電子學(xué)報,vol.33,no.8,pp.1457-1460.August,2005)—文中根據(jù)小波量化權(quán)值和編碼通道數(shù)預(yù)先分配各個碼塊的壓縮碼字?jǐn)?shù),提出了JPEG2000碼率預(yù)分配的率控制算法。該算法極大地降低了JPEG2000的Tl編碼器的計算量和存儲空間,實現(xiàn)了實時截斷編碼,并且所得的碼流不必進(jìn)行T2率失真優(yōu)化截取而直接進(jìn)行碼流組織和打包即可,算法復(fù)雜度很低,有利于大規(guī)模集成電路VLSI實現(xiàn)。但是該算法的峰值信噪比PSNR較低,一般要低于PCRD算法0.8dB以上,圖像質(zhì)量損失較大。TaekonowC7rcwtoa"d加/e臘—附eo7fec//o/ogy,vol.15,no.l,pp.181-187.January,2005)提出了高效內(nèi)存漸進(jìn)率失真優(yōu)化算法MEPRD,該算法提出的最小斜率丟棄的思想使T1編碼器有效地結(jié)合率失真斜率優(yōu)化截取算法的優(yōu)點,其性能與標(biāo)準(zhǔn)算法基本相同,且大幅度減少了編碼所需的運(yùn)算量和時間,但是隨著碼率的增加,編碼冗余也隨之增加,而且增加了最小斜率搜索算法。發(fā)明的內(nèi)容本發(fā)明的目的在于克服上述已有技術(shù)的不足,提供一種基于碼率預(yù)分配的JPEG2000自適應(yīng)率控制系統(tǒng)及方法,簡化碼率控制算法復(fù)雜度高,提高編碼效率和恢復(fù)圖像質(zhì)量,實現(xiàn)JPEG2000的碼率優(yōu)化控制。實現(xiàn)本發(fā)明目的的技術(shù)關(guān)鍵是引入了一個預(yù)測模板,對圖像小波變換和量化后EBCOT編碼碼塊的有效比特平面進(jìn)行獨(dú)立的熵估計,并以碼塊估計熵總和指導(dǎo)碼率預(yù)分配,同時T2編碼器由預(yù)分配編碼比特率自適應(yīng)地反饋控制編碼深度、完成優(yōu)化截取。本發(fā)明提出的基于碼率預(yù)分配的JPEG2000自適應(yīng)率控制系統(tǒng),包括預(yù)處理、小波變換、量化,Tl編碼器、T2編碼器,該T1編碼器由比特平面+MQ編碼器組成,該T2編碼器由優(yōu)化截取、碼流組織組成,其特征在于T1編碼器中增設(shè)有熵估計模塊,T2編碼器中增設(shè)有碼率分配模塊和編碼深度控制模塊;原始圖像經(jīng)預(yù)處理、小波變換和量化后的碼塊分兩路輸出,一路直接進(jìn)入比特平面+MQ編碼器,另一路通過熵估計模塊估計出每個碼塊的熵,送入碼率分配模塊進(jìn)行碼率分配,并通過編碼深度控制模塊將每個碼塊的碼率反饋給比特平面+MQ編碼器,進(jìn)行碼塊比特平面編碼后,再反饋給編碼深度控制模塊確定每個碼塊的編碼輸出碼流,并對該輸出碼流進(jìn)行優(yōu)化截取和碼流組織,輸出最終碼流。'所述的比特平面+MQ編碼器輸入量化后的碼塊和編碼深度控制模塊反饋的每個碼塊的累加碼率,是通過每個碼塊累加碼率控制每個碼塊的比特平面編碼,每個碼塊編碼后輸出的碼塊碼流再到編碼深度控制模塊進(jìn)行自適應(yīng)調(diào)整編碼深度,以控制每個碼塊的比特平面編碼碼流。所述的熵編碼模塊采用JPEG-LS預(yù)測算法對量化輸入的碼塊進(jìn)行估計,并將估計出的每個碼塊熵輸出給碼率分配模塊。所述的碼率分配模塊將輸入的每個碼塊熵進(jìn)行累加得到整幅圖像的估計熵和每個碼塊預(yù)分配權(quán)值,輸出每個碼塊的編碼碼率給編碼深度控制模塊。所述的編碼深度控制模塊將比特平面+MQ編碼器輸出的每個碼塊碼流進(jìn)行累加,并與碼率分配模塊輸入的碼塊編碼碼率通過編碼深度控制模塊進(jìn)行比較,輸出碼塊累加碼率和碼塊碼流分別給比特平面+MQ編碼器和優(yōu)化截取模塊。本發(fā)明提出的基于碼率預(yù)分配的JPEG2000自適應(yīng)碼率控制系統(tǒng),包括如下過程步驟一,利用JPEG-LS預(yù)測算法對經(jīng)過小波變換和量化后的每個碼塊,進(jìn)行碼塊熵i/,的估計,計算整幅圖像的估計熵//以及每個碼塊的編碼碼率<^,按JPEG2000標(biāo)準(zhǔn)的碼塊掃描順序進(jìn)行掃描,為所有碼塊的Tl編碼作準(zhǔn)備;步驟二,設(shè)置當(dāng)前碼塊的初始編碼深度控制門限《=0;步驟三,對當(dāng)前碼塊進(jìn)行T1編碼,輸出當(dāng)前碼塊未曾編碼的最高通道的編碼碼流并進(jìn)行累加,即及6=1么及64,其中A^為當(dāng)前碼塊第A個編碼通道的編碼碼流長度,當(dāng)碼塊第A個編碼通道^失真減少量為AZ^;式中,6為圖像的當(dāng)前碼塊數(shù),/t為當(dāng)前碼塊的當(dāng)前碼通道數(shù);步驟四,將累加的編碼碼流與碼塊分配編碼碼率進(jìn)行比較,調(diào)整編碼深度控制門限,根據(jù)門限控制每個碼塊的編碼截止,輸出已編碼碼塊的編碼碼流;步驟五,根據(jù)己得到AZ^和A^,在已編碼的編碼通道內(nèi),按率失真優(yōu)化截取點算法剔除每個碼塊的奇異點,計算出每個碼塊中相鄰候選截取點之間的率失真斜率,最后査找最優(yōu)截取點,完成碼流截??;步驟六,按JPEG2000標(biāo)準(zhǔn)的碼流組織算法,完成碼流組織和打包,輸出最終碼流。所述的步驟四,按如下過程進(jìn)行1)判斷當(dāng)前碼塊的編碼深度控制門限《是否為1,如果《不為1,則執(zhí)行(2),如果《=1,則執(zhí)行(3);2)判斷碼塊的累加編碼碼流《是否大于碼塊的編碼碼率C;,如果^^G,返回第三步對當(dāng)前碼塊的未曾編碼的最高通道進(jìn)行T1編碼,如果i^X^,設(shè)置編碼深度控制門限《為1,返回第三步;3)判斷所有碼塊是否己經(jīng)編碼完畢,如果所有碼塊編碼完畢,則輸出所有碼塊的編碼碼流,再返回步驟五進(jìn)行碼流的優(yōu)化截取,如果沒有編碼完畢,則執(zhí)行(4);4)截止當(dāng)前碼塊的T1編碼,準(zhǔn)備下一碼塊的T1編碼,并返回步驟二。本發(fā)明由于采用對圖像小波變換和量化后EBCOT編碼碼塊的有效比特平面進(jìn)行獨(dú)立的熵估計,并以碼塊估計熵總和指導(dǎo)碼率預(yù)分配,并由預(yù)分配編碼碼率自適應(yīng)地反饋控制編碼深度、完成優(yōu)化截取,因而碼率預(yù)分配精確,大幅度減少了計算量和存儲空間,在不同碼率下均有效地提高了編碼效率,而且獲得了與標(biāo)準(zhǔn)算法基本相同的高壓縮性能。本發(fā)明與JPEG2000中所采用的PCRD算法的比較測試結(jié)果,如表1表4。比較內(nèi)容包括三個方面一是峰值信噪比PSNR的差值A(chǔ)i^iV及;二是計算量的減少率,該計算量的減少率用Tl編碼器編碼的編碼通道個數(shù)來衡量;三是算法的存儲量的減少率,該存儲量的減少率用Tl編碼中存儲的碼流字節(jié)數(shù)和相關(guān)信息,即編碼通道的失真減少量AD,、編碼碼流長度Mf和率失真斜率《的字節(jié)數(shù)來衡量;表1_對標(biāo)準(zhǔn)512*512的Barbara圖像的測試比較本發(fā)明與JPEG2000標(biāo)準(zhǔn)算法比較結(jié)果<table>tableseeoriginaldocumentpage8</column></row><table>表2_對標(biāo)準(zhǔn)512*512的Lena圖像的測試比較本發(fā)明與JPEG2000標(biāo)準(zhǔn)算法比較結(jié)果<table>tableseeoriginaldocumentpage8</column></row><table>表3對標(biāo)準(zhǔn)1024*1024的Field圖像的測試比較<table>tableseeoriginaldocumentpage9</column></row><table>表4對標(biāo)準(zhǔn)2048*2048的Bridge圖像的測試比較<table>tableseeoriginaldocumentpage9</column></row><table>從表1表4中可以看出,本發(fā)明在低碼率下,平均PSNR差值最低為0.213dB,而隨著碼率的增加,圖像質(zhì)量損失是非常少,基本上與PCRD標(biāo)準(zhǔn)方法的性能接近;在不同的碼率下,本發(fā)明的計算量和存儲量都有大幅度的降低,尤其在0.125bpp下,四幅圖像的平均計算量減少率和平均存儲量減少率分別為77.6%和92.6%,采用本發(fā)明提出的率失真控制結(jié)構(gòu),可以在存儲資源上減少為原來的7.4%,而在2bpp下,四幅圖像的平均計算量減少率和平均存儲量減少率分別為47.3%和61.5%??梢娫诓煌a率下,由于本發(fā)明均大大減少了計算量和存儲量,因此不僅可在保持圖像質(zhì)量損失很少的前提下,有效地減少了整個JPEG2000編碼系統(tǒng)的計算量和存儲量,提高了編碼器的效率,而且易于硬件實現(xiàn)。圖1是現(xiàn)有JPEG2000的編碼系統(tǒng)的框圖;圖2是本發(fā)明的編碼系統(tǒng)框圖;圖3是本發(fā)明預(yù)測模板的選擇示意圖,其中圖3(a)是碼塊的總體預(yù)測模板,圖3(b)是碼塊的第一行像素的預(yù)測模板,圖3(c)是碼塊的第一列像素的預(yù)測模板;圖4是本發(fā)明的編碼方法流程圖5是本發(fā)明在不同碼率下與JPEG2000標(biāo)準(zhǔn)方法的PSNR平均差值示意圖;圖6是本發(fā)明在不同碼率下與JPEG2000標(biāo)準(zhǔn)方法的計算量減少率示意圖;圖7是本發(fā)明在不同碼率下與JPEG2000標(biāo)準(zhǔn)方法的存儲量減少率示意圖。具體實施例方式參考圖1,JPEG2000核心編碼系統(tǒng)主要包括預(yù)處理、離散小波變換、量化、比特平面+MQ編碼器、優(yōu)化截取、碼流組織。輸入的原始處理圖像首先經(jīng)過預(yù)處理和離散小波變換后,變換成一系列不同的頻帶;然后將變換后的系數(shù)根據(jù)壓縮需求進(jìn)行量化處理;將量化后的子帶分成碼塊,作為JPEG2000熵編碼的基本處理單元;對各個碼塊分別進(jìn)行算術(shù)編碼器MQ的熵編碼處理,生成原始壓縮碼流;然后,根據(jù)需求采用T2編碼器中的率失真優(yōu)化截取算法進(jìn)行碼流截??;最后進(jìn)行碼流組織生成最終壓縮碼流輸出。參考圖2,本發(fā)明在JPEG2000核心編碼系統(tǒng)的基礎(chǔ)上增加了熵估計模塊、碼率分配模塊和編碼深度控制模塊。輸入的原始處理圖像首先經(jīng)過預(yù)處理、離散小波變換和量化后,分割成許多碼塊,分別輸入給比特平面+MQ編碼器和熵編碼模塊。該比特平面+MQ編碼器輸入量化后的碼塊和編碼深度控制模塊反饋的每個碼塊的累加碼率,通過每個碼塊累加碼率控制每個碼塊的比特平面編碼,每個碼塊編碼后輸出的碼塊碼流再到編碼深度控制模塊進(jìn)行自適應(yīng)調(diào)整編碼深度,以控制每個碼塊的比特平面編碼碼流。該熵編碼模塊采用JPEG-LS預(yù)測算法對量化輸入的碼塊進(jìn)行估計,并將估計出的每個碼塊熵輸出給碼率分配模塊。該碼率分配模塊將輸入的每個碼塊熵進(jìn)行累加得到整幅圖像的估計熵和每個碼塊預(yù)分配權(quán)值,輸出每個碼塊的編碼碼率給編碼深度控制模塊。該編碼深度控制模塊將比特平面+MQ編碼器輸出的每個碼塊碼流進(jìn)行累加,并與碼率分配模塊輸入的碼塊編碼碼率通過編碼深度控制碼塊進(jìn)行比較,輸出碼塊累加碼率和碼塊碼流分別給比特平面+MQ編碼器和優(yōu)化截取模塊。然后,根據(jù)需求采用T2編碼器中的率失真優(yōu)化截取算法進(jìn)行碼流截??;最后進(jìn)行碼流組織生成最終壓縮碼流輸出。參考圖4,利用本發(fā)明系統(tǒng)實現(xiàn)自適應(yīng)碼率控制的過程如下一.估計各碼塊的熵,為每個碼塊分配編碼碼流1.熵估計原理小波域中的基于碼塊有效比特平面進(jìn)行獨(dú)立估計的熵估計方法,具體描述如下假如某圖像小波分解后某一子帶的系數(shù)為^'=0,1,.』-1,_/=0,1M-l,圖像的分辨率為;VxM,如果圖像壓縮過程時用一個步長為A,的量化器進(jìn)行量化,其中"O,l,..丄-l,丄為小波變換后的子帶類型數(shù),經(jīng)過量化后的碼塊存在一定的零比特平面,設(shè)碼塊零比特平面數(shù)為^,6=0,1,.^-1,5為圖像的碼塊個數(shù),則經(jīng)過量化和除去碼塊零比特平面數(shù)后碼塊編碼的系數(shù)為盧=_3_由系數(shù)《組成的各個碼塊的熵估計值,考慮到算法復(fù)雜度和熵估計的準(zhǔn)確性,本發(fā)明采用基于JPEG-LS預(yù)測算法,其預(yù)測模板如圖3(a)所示,預(yù)測公式為min();c^腿(《,,《)《,+^廠《其它如果預(yù)測的像素為碼塊的第一行或第一列,則分別用圖3(b)和圖3(c)的預(yù)測模板,預(yù)測值為前一個像素點的值。此時碼塊的預(yù)測熵Z/,為^=ZS|V-1則整幅圖像的估計熵/Z為令R為各個碼塊預(yù)分配權(quán)值,貝IJ:『,4且2X:1丄A*<8各個碼塊預(yù)分配的字節(jié)數(shù)為0;=/_><『6,其中/_為原始圖像的壓縮字節(jié)數(shù);然后對每個碼塊按G進(jìn)行EBCOT編碼即可。在計算碼塊估計熵進(jìn)行編碼之前,首先要對圖像做預(yù)處理,小波變換及量化,從而得到各碼塊的編碼系數(shù)《。本發(fā)明實施例采用了4幅經(jīng)典測試圖像尺寸為512X512的Lena圖像、尺寸為512X512的Barbara圖像、尺寸為1024X1024的Field圖像、尺寸為2048X2048的Bridge圖像,這些圖像均通過Daubechies9/7濾波器進(jìn)行4級小波變換,碼塊大小設(shè)定為64X64。圖像經(jīng)4級小波變換后產(chǎn)生的13個子帶,其中與低頻子帶LL同級的4個子帶的分辨率最小。對分辨率為512X512的圖像,它的子帶最小分辨率為32X32,比原始設(shè)定的碼塊大小要小,則這些子帶的碼塊大小為子帶分辨率的大小,因而有4個32X32的碼塊及63個64X64的碼塊,共67個碼塊。對于分辨率為1024X1024及2048X2048的圖像,所有碼塊大小均為64X64,這兩種分辨率的圖像分別有256和1024個碼塊。2.熵估計過程(1)對所有碼塊編碼系數(shù)的預(yù)測。利用JPEG-LS預(yù)測算法對經(jīng)過小波變換和量化后的每個碼塊編碼系數(shù)《,按照圖3所示的預(yù)測模版進(jìn)行預(yù)測,如果《是碼塊第一行或第一列的值,則用該行或該列的前一個值作為預(yù)測值,如圖3(b)(c)所示的預(yù)測模板,即^=《或3^=《;如果《是碼塊的第一個值,則預(yù)測值為本身,即《=《;如果是碼塊的其他位置,則采用圖3(a)所示的預(yù)測模版通過預(yù)測公式進(jìn)行預(yù)測。例如第一個碼塊起始的相鄰4個像素的值分別為;^=2,々=3,《p=l,《=4,則各點的預(yù)測值分別為^=《=2,3^=jC=2,4p=;C=2,又因^min(;C,jC),所以《的預(yù)測值《,=maxOC,;C)=3。(2)計算整幅圖像的估計熵/f。當(dāng)?shù)玫剿写a塊系數(shù)的預(yù)測值后,即可先通過^=!]2^"-《1計算各碼塊的預(yù)測熵,再通過^=1]^^計算整幅圖像的估計熵。"乂e6A<B針對上述實施例中的三種分辨率圖像,分別有67,256和1024個碼塊估計熵,編碼時用這些碼塊估計熵總和指導(dǎo)碼率預(yù)分配。(3)分配每個碼塊的編碼碼率C;。設(shè)^為碼塊Z)的預(yù)分配權(quán)值,貝U:『6=&,各個碼塊預(yù)分配的字節(jié)數(shù)為C,=x^,其中為原始圖像的壓縮字節(jié)數(shù)。針對上述實施例中的三種分辨率圖像,分別有67,256和1024個碼塊的編碼碼率,編碼時用這些碼塊的編碼碼率指導(dǎo)編碼深度控制模塊控制碼塊編碼。(4)作T1編碼的前期準(zhǔn)備。按JPEG2000標(biāo)準(zhǔn)的碼塊掃描順序?qū)λ写a塊進(jìn)行掃描,按照掃描順序排列所有的碼塊,準(zhǔn)備碼塊的T1編碼。二.設(shè)置當(dāng)前碼塊的深度控制門限《=0,用來表示當(dāng)前碼塊未滿足所需碼流長度的編碼深度。本發(fā)明方法中引入的編碼深度控制門限d,其作用是控制增加的編碼深度,在此將當(dāng)前碼塊的深度控制門限設(shè)為0。三.進(jìn)行當(dāng)前碼塊的T1編碼并進(jìn)行碼流累加。當(dāng)編碼碼塊6時,首先編碼該碼塊未曾編碼的最高通道,將所得碼流、該編碼通道的AA4和A/^放入存儲器中,根據(jù)A-2]M^計算累計碼流,并與碼塊的分配碼率進(jìn)行比較,其中A^是當(dāng)前碼塊第;t個編碼^道的編碼碼流長度,AZ^是當(dāng)前碼塊第A:個編碼通道的失真減少量;6為圖像的當(dāng)前碼塊數(shù),A為當(dāng)前碼塊的當(dāng)前碼通道數(shù)。四.自適應(yīng)碼率控制。將累加的編碼碼流與碼塊分配編碼碼率進(jìn)行比較,調(diào)整編碼深度控制門限,根據(jù)門限控制每個碼塊的編碼截止,輸出已編碼碼塊的編碼碼流。(1)判斷當(dāng)前碼塊的編碼深度控制門限《是否為1,如果《不為1,則執(zhí)行(2),如果《=1,則執(zhí)行(3);(2)判斷碼塊的累加編碼碼流A是否大于碼塊的編碼碼率G,如果A^c;,對當(dāng)前碼塊進(jìn)行T1編碼,輸出當(dāng)前碼塊未曾編碼的最高通道的編碼碼流并進(jìn)行累加,如果^>&,設(shè)置編碼深度控制門限《為1,對當(dāng)前碼塊進(jìn)行T1編碼,輸出當(dāng)前碼塊未曾編碼的最高通道的編碼碼流并進(jìn)行累加;(3)判斷所有碼塊是否巳經(jīng)編碼完畢,如果所有碼塊編碼完畢,則輸出所有碼塊的編碼碼流并進(jìn)行優(yōu)化截取,如果沒有編碼完畢,則執(zhí)行(4);(4)截止當(dāng)前碼塊的Tl編碼,準(zhǔn)備下一碼塊的Tl編碼,并設(shè)置當(dāng)前碼塊的初始編碼深度控制門限《=0。五優(yōu)化截取。根據(jù)已得到AZ《和A《,在已編碼的編碼通道內(nèi),按率失真優(yōu)化截取點算法依次進(jìn)行剔除每個碼塊的奇異點、計算出每個碼塊中相鄰候選截取點之間的率失真斜率、査找最優(yōu)截取點,完成碼流截取;六碼流組織并輸出最終碼流。按JPEG2000標(biāo)準(zhǔn)的碼流組織算法,完成碼流組織和打包,輸出最終編碼碼流,實現(xiàn)圖像壓縮。本發(fā)明的效果可以通過圖57進(jìn)一步說明從圖5可見,本發(fā)明在低碼率下,平均PSNR差值最低為0.213dB,隨著碼率的增加,本發(fā)明基本上等于PCRD標(biāo)準(zhǔn)方法的性能,可見本發(fā)明的圖像質(zhì)量損失是非常少的。從圖6可見,隨著壓縮倍數(shù)的增加,本發(fā)明的計算量有大幅度的降低,尤其在0.125bpp下,四幅圖像的平均計算量減少率為77.6%。從圖7可見,隨著壓縮倍數(shù)的增加,本發(fā)明的存儲量有大幅度的降低,尤其在0.125bpp下,四幅圖像的平均存儲量減少率為92.6%,采用本發(fā)明提出的率失真控制結(jié)構(gòu),可以在存儲資源上減少為原來的7.4%。可見在不同碼率下,本發(fā)明均大大減少了計算量和存儲量。因此本發(fā)明在保持圖像質(zhì)量損失很少的前提下,有效地減少了EBCOT的計算量和存儲量,提高了編碼器的效率,而且本發(fā)明算法復(fù)雜度低,易于硬件實現(xiàn)。特別說明本發(fā)明方法中引入了編碼深度控制門限^,其作用是控制增加的編碼深度,在上述方法中d的門限設(shè)為l,即碼塊6所得的壓縮碼流的碼率已經(jīng)大于目標(biāo)碼率,編碼深度控制模塊通知T1編碼器再增加一個編碼通道進(jìn)行編碼。引入編碼深度控制門限的作用是擴(kuò)大最終碼流的選擇范圍,盡量減少個別率失真斜率大于最終;i的編碼通道未被編碼從而影響截取效果。當(dāng)然編碼深度控制門限^的門限值越大,本發(fā)明方法的恢復(fù)圖像的質(zhì)量與標(biāo)準(zhǔn)算法越相近,但綜合考慮,本發(fā)明選擇"的門限值為l。權(quán)利要求1.一種基于碼率預(yù)分配的JPEG2000自適應(yīng)碼率控制編碼系統(tǒng),包括預(yù)處理、小波變換、量化,T1編碼器、T2編碼器,該T1編碼器由比特平面+MQ編碼器組成,該T2編碼器由優(yōu)化截取、碼流組織組成,其特征在于T1編碼器中增設(shè)有熵估計模塊,T2編碼器中增設(shè)有碼率分配模塊和編碼深度控制模塊;原始圖像經(jīng)預(yù)處理、小波變換和量化后的碼塊分兩路輸出,一路直接進(jìn)入比特平面+MQ編碼器,另一路通過熵估計模塊估計出每個碼塊的熵,送入碼率分配模塊進(jìn)行碼率分配,并通過編碼深度控制模塊將每個碼塊的碼率反饋給比特平面+MQ編碼器,進(jìn)行碼塊比特平面編碼后,再反饋給編碼深度控制模塊確定每個碼塊的編碼輸出碼流,并對該輸出碼流進(jìn)行優(yōu)化截取和碼流組織,輸出最終碼流。2.根據(jù)權(quán)利要求1所述的編碼系統(tǒng),其特征在于比特平面+MQ編碼器輸入量化后的碼塊和編碼深度控制模塊反饋的每個碼塊的累加碼率,通過每個碼塊累加碼率控制每個碼塊的比特平面編碼,每個碼塊編碼后輸出的碼塊碼流再到編碼深度控制模塊進(jìn)行自適應(yīng)調(diào)整編碼深度,以控制每個碼塊的比特平面編碼碼流。3.根據(jù)權(quán)利要求1所述的編碼系統(tǒng),其特征在于熵編碼模塊采用JPEG-LS預(yù)測算法對量化輸入的碼塊進(jìn)行估計,并將估計出的每個碼塊熵輸出給碼率分配模塊。4.根據(jù)權(quán)利要求1所述的編碼系統(tǒng),其特征在于碼率分配模塊將輸入的每個碼塊熵進(jìn)行累加得到整幅圖像的估計熵和每個碼塊預(yù)分配權(quán)值,輸出每個碼塊的編碼碼率給編碼深度控制模塊。5.根據(jù)權(quán)利要求l所述的編碼系統(tǒng),其特征在于編碼深度控制模塊將比特平面+MQ編碼器輸出的每個碼塊碼流進(jìn)行累加,并與碼率分配模塊輸入的碼塊編碼碼率通過編碼深度控制碼塊進(jìn)行比較,輸出碼塊累加碼率和碼塊碼流分別給比特平面+MQ編碼器和優(yōu)化截取模塊。-6.—種基于碼率預(yù)分配的JPEG2000自適應(yīng)碼率控制編碼方法,包括如下過程步驟一,利用JPEG-LS預(yù)測算法對經(jīng)過小波變換和量化后的每個碼塊,進(jìn)行碼塊熵i^的估計,計算整幅圖像的估計熵H以及每個碼塊的編碼碼率G,按JPEG2000標(biāo)準(zhǔn)的碼塊掃描順序進(jìn)行掃描,為所有碼塊的Tl編碼作準(zhǔn)備;步驟二,設(shè)置當(dāng)前碼塊的初始編碼深度控制門限《=0;步驟三,對當(dāng)前碼塊進(jìn)行T1編碼,輸出當(dāng)前碼塊未曾編碼的最高通道的編碼碼流并進(jìn)行累加,即A-J]A^,其中A^是當(dāng)前碼塊第A:個編碼通道的編碼碼流長度,AZ^是當(dāng)前碼塊第/個編碼通道的失真減少量;6為圖像的當(dāng)前碼塊數(shù),&為當(dāng)前碼塊的當(dāng)前碼通道數(shù);步驟四,將累加的編碼碼流與碼塊分配編碼碼率進(jìn)行比較,調(diào)整編碼深度控制門限,根據(jù)門限控制每個碼塊的編碼截止,輸出已編碼碼塊的編碼碼流;步驟五,根據(jù)已得到Ai《和A^,在已編碼的編碼通道內(nèi),按率失真優(yōu)化截取點算法依次進(jìn)行剔除每個碼塊的奇異點、計算出每個碼塊中相鄰候選截取點之間的率失真斜率、査找最優(yōu)截取點,完成碼流截取;步驟六,按JPEG2000標(biāo)準(zhǔn)的碼流組織算法,完成碼流組織和打包,輸出最終編碼碼流。7.根據(jù)權(quán)利要求6所述自適應(yīng)碼率控制編碼方法,其特征在于所述的步驟四按如下過程進(jìn)行(1)判斷當(dāng)前碼塊的編碼深度控制門限《是否為1,如果《不為1,則執(zhí)行(2),如果《=1,則執(zhí)行(3);(2)判斷碼塊的累加編碼碼流^是否大于碼塊的編碼碼率c;,如果Asc;,返回步驟三對當(dāng)前碼塊的未曾編碼的最高通道進(jìn)行Tl編碼,如果^><^,設(shè)置編碼深度控制門限《為1,返回步驟三;(3)判斷所有碼塊是否已經(jīng)編碼完畢,如果所有碼塊編碼完畢,則輸出所有碼塊的編碼碼流,再返回步驟五進(jìn)行碼流的優(yōu)化截取,如果沒有編碼完畢,則執(zhí)行(4);(4)截止當(dāng)前碼塊的T1編碼,準(zhǔn)備下一碼塊的T1編碼,并返回步驟二。全文摘要本發(fā)明公開了一種基于碼率預(yù)分配的JPEG2000自適應(yīng)率控制系統(tǒng)及方法,主要解決JPEG2000編碼方法計算量和存儲量大的問題。原始圖像經(jīng)預(yù)處理、小波變換和量化后的碼塊分兩路輸出,一路直接進(jìn)入比特平面+MQ編碼器,另一路通過熵估計模塊估計出每個碼塊的熵,送入碼率分配模塊進(jìn)行碼率分配,并通過編碼深度控制模塊將每個碼塊的碼率反饋給比特平面+MQ編碼器,進(jìn)行碼塊比特平面編碼后,再反饋給編碼深度控制模塊確定每個碼塊的編碼輸出碼流,并對該輸出碼流進(jìn)行優(yōu)化截取和碼流組織,輸出最終碼流。同時可根據(jù)需要改變編碼深度控制系數(shù)門限值,靈活的控制編碼深度,以提高圖像壓縮質(zhì)量。本發(fā)明具有復(fù)雜度低,易于硬件實現(xiàn)的優(yōu)點,適用于各種JPEG2000圖像實時壓縮系統(tǒng)。文檔編號H04N1/41GK101106711SQ200710018190公開日2008年1月16日申請日期2007年7月5日優(yōu)先權(quán)日2007年7月5日發(fā)明者凱劉,吳成柯,周有喜,孔繁鏘,李云松,汪美珠,王柯儼,杰雷申請人:西安電子科技大學(xué)