專利名稱:基于jpeg-ls標(biāo)準(zhǔn)的動態(tài)碼率控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,更進(jìn)一步涉及一種基于JPEG_LS(JointPhotographic Experts Group Lossless and near—lossless compression of conituous—tone still image)連續(xù)色調(diào)靜態(tài)圖像的無損或近無損的圖像壓縮標(biāo)準(zhǔn)的動態(tài)碼率控制方法。本發(fā)明適用于遙感衛(wèi)星中對圖像進(jìn)行壓縮編碼。
背景技術(shù):
JPEG-LS圖像壓縮標(biāo)準(zhǔn)是一種針對靜止圖像的無損和近無損壓縮標(biāo)準(zhǔn)。JPEG-LS由于具有低復(fù)雜度、無損/近無損壓縮下性能優(yōu)異的特點而被廣泛應(yīng)用于遙感圖像壓縮領(lǐng)域。但是JPEG-LS有一個缺陷,編碼器輸出碼率波動較大而且不可控,這種缺陷極大限制了 JPEG-LS的應(yīng)用,特別是在遙感衛(wèi)星應(yīng)用中,信道帶寬受到嚴(yán)格的限制,編碼器的輸出碼率必須與信道帶寬相匹配,這就要求編碼器的輸出碼率保持相對穩(wěn)定,由此產(chǎn)生了 JPEG-LS圖像壓縮碼率的控制方法。徐燕凌在“ JPEG-LS圖像壓縮動態(tài)碼率控制策略”(《計算機(jī)學(xué)報》第34卷,第7期,2008年4月)中提出了一階碼率控制方法。這種碼率控制方法將圖像分為若干個碼控單元,每壓縮完一個碼控單元,就觀察當(dāng)前的壓縮比,如果與目標(biāo)壓縮比的差值大于所設(shè)定的門限值,就調(diào)節(jié)失真量化參數(shù)使之變化一個固定的步長,來控制下一個碼塊的輸出碼率,使得圖像的整體碼率收斂于目標(biāo)碼率。該方法存在的不足是,該方法采用固定的門限值和調(diào)節(jié)步長,導(dǎo)致碼率控制效果較差。西安空間無線電技術(shù)研究所在其專利申請“一種JPEG-LS圖像壓縮的碼率控制方法”(專利申請?zhí)?201010617932. 2,公開號CN102088602A)中公開了一種JPEG-LS圖像壓縮的碼率控制方法。這種碼率控制方法將待壓縮圖像分為若干個子圖,每壓縮完一個子圖后,就計算出目標(biāo)壓縮比與當(dāng)前壓縮比的偏差量,同時根據(jù)實際壓縮碼流量和目標(biāo)壓縮比計算獲得門限值,當(dāng)偏差量大于門限值時,就對失真量化參數(shù)值做出相應(yīng)的調(diào)整,從而使得實際碼率收斂于目標(biāo)碼率。但是該方法存在的不足是,該方法在計算門限值時沒有考慮到失真量化參數(shù)的影響,導(dǎo)致門限值的設(shè)定不夠準(zhǔn)確,并且該方法所設(shè)定的調(diào)節(jié)步長過于單一,不能很好的適用于各類圖像的碼率控制。發(fā)明的內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于JPEG_LS圖像壓縮標(biāo)準(zhǔn)的動態(tài)碼率控制方法。本發(fā)明根據(jù)失真量化參數(shù)和輸出碼率的關(guān)系來進(jìn)行碼率控制,達(dá)到更好的碼率控制性能。實現(xiàn)本發(fā)明目的的思路是根據(jù)JPEG-LS編碼的特性,找到失真量化參數(shù)與輸出碼率的對應(yīng)關(guān)系,在圖像壓縮過程中,根據(jù)這種對應(yīng)關(guān)系來調(diào)節(jié)失真量化參數(shù),使得實際碼率能夠精確收斂于目標(biāo)碼率。為了實現(xiàn)上述目的,本發(fā)明的方法包括如下步驟(I)圖像分塊
將待壓縮圖像分為N個長方形的碼塊,N為大于I的正整數(shù),每個碼塊的寬度與待壓縮圖像的寬度相同,高度均取一個相同的值。(2)初始化參數(shù)根據(jù)目標(biāo)壓縮倍數(shù),設(shè)定失真量化參數(shù)的初始值。(3)對當(dāng)前碼塊進(jìn)行JPEG-LS壓縮編碼對待壓縮圖像的當(dāng)前碼塊進(jìn)行JPEG-LS圖像壓縮編碼,在編碼的過程中用計數(shù)器記錄下當(dāng)前碼塊的編碼比特個數(shù)和已編碼圖像區(qū)域的編碼比特個數(shù)。(4)獲得碼塊的碼率偏差完成對待壓縮圖像的第i個碼塊的編碼后,通過下式碼率偏差計算公式,獲得第i個碼塊的碼率偏差A(yù)r1 ;
A (B-W-n-D/T)
_7] ΛΓι= (『·”)——其中,Ar1表示第i個碼塊的碼率偏差,B表示第i個碼塊的碼流比特個數(shù),W表示待壓縮圖像的寬度,η表示待壓縮圖像分塊后的碼塊高度,D表示待壓縮圖像的像素精度,T表示目標(biāo)壓縮倍數(shù)。(5)調(diào)整參數(shù)5a)判斷下式是否成立,若成立則執(zhí)行步驟(6),否則執(zhí)行步驟5b);IAr1ISr/^其中,Ar1表示第i個碼塊的碼率偏差量,r表示碼率門限值,其值是根據(jù)當(dāng)前的失真量化參數(shù)查詢失真量化參數(shù)與碼率門限值關(guān)系表得到。5b)判斷第i個碼塊的碼率偏差量Arl是否大于0,若大于O則將失真量化參數(shù)增加1,將Ar1減少r,否則將失真量化參數(shù)減少1,將Ar1增加r。5c)判斷下式是否成立,若成立則執(zhí)行步驟5a),否則執(zhí)行步驟(6);O < Near < 20其中,Near是當(dāng)前的失真量化參數(shù)。(6)由下式碼率偏差的計算公式獲得已編碼圖像區(qū)域的碼率偏差A(yù)r2 ;
A {C-W-m-D/T)Ar2 =----
(W -η)其中,Ar2表示已編碼圖像區(qū)域的碼率偏差,C表示已編碼圖像區(qū)域的碼流比特個數(shù),W表示待壓縮圖像寬度,m表示已編碼圖像區(qū)域的高度,D表示待壓縮圖像的像素精度,T表示目標(biāo)壓縮倍數(shù),η表示圖像分塊后的碼塊高度。(7)調(diào)整參數(shù)7a)判斷下式是否成立,若成立則執(zhí)行步驟(2),否則執(zhí)行步驟7b);I Δ r21 < r/2其中,Ar2表示已編碼圖像區(qū)域的碼率偏差量,r表示碼率門限值,其值是根據(jù)當(dāng)前的失真量化參數(shù)查詢失真量化參數(shù)與碼率門限值關(guān)系表得到。7b)判斷已編碼圖像區(qū)域的碼率偏差A(yù)r2是否大于0,若大于O則將失真量化參數(shù)增加1,將Λ r2減少r,否則將失真量化參數(shù)減少1,將Λ r2增加r。7c)判斷下式是否成立,若成立則執(zhí)行步驟7a),否則執(zhí)行步驟(2);
O < Near < 20其中,Near是當(dāng)前的失真量化參數(shù)。本發(fā)明與現(xiàn)有技術(shù)相比較,具有如下優(yōu)點第一,由于本發(fā)明建立了失真量化參數(shù)和碼率門限值關(guān)系表,在圖像壓縮過程中根據(jù)當(dāng)前失真量化參數(shù)進(jìn)行查表來得到相應(yīng)的碼率門限值,克服了現(xiàn)有技術(shù)中碼率門限值的設(shè)定不準(zhǔn)確的缺點,使得本發(fā)明的碼率控制精確度有效提升。第二,由于本發(fā)明在碼率控制過程中對失真量化參數(shù)的調(diào)整是建立在對待壓縮碼塊進(jìn)行碼率預(yù)測的基礎(chǔ)上,使得新舊碼塊的碼率偏差可以相互抵消,從而使圖像整體碼率收斂于目標(biāo)碼率,克服了現(xiàn)有技術(shù)在沒有獲得待壓縮碼塊的碼率的相關(guān)信息的情況下進(jìn)行盲目的參數(shù)調(diào)節(jié),使得本發(fā)明對失真量化參數(shù)的調(diào)節(jié)更加有效,進(jìn)而提高圖像壓縮過程中的碼率收斂速度。第三,由于本發(fā)明根據(jù)失真量化參數(shù)值和碼率偏差量共同決定調(diào)節(jié)步長大小,克服了現(xiàn)有技術(shù)中對失真量化參數(shù)的調(diào)節(jié)步長的設(shè)定過于單一的缺點,使得本發(fā)明對失真量化參數(shù)的調(diào)整更加靈活,對各類圖像都能進(jìn)行有效的碼率控制。第四,由于本發(fā)明采用查表的方式來確定碼率門限值,而該表是由經(jīng)驗數(shù)據(jù)所得到的,不需要在圖像壓縮的過程中進(jìn)行建表,也不需要在圖像壓縮的過程中對該表中的數(shù)據(jù)進(jìn)行更新,所以本發(fā)明在提高碼率控制性能的同時沒有明顯增加實現(xiàn)復(fù)雜度。
圖I為本發(fā)明的流程圖;圖2為本發(fā)明中測試圖像的輸出碼率隨失真量化參數(shù)變化的曲線圖;圖3為本發(fā)明的碼率控制精度和一階碼率控制方法的碼率精確度對比圖。
具體實施例方式下面結(jié)合附圖I對本發(fā)明的實現(xiàn)步驟做詳細(xì)的描述。步驟1,將待壓縮圖像分為N個長方形的碼塊,N為大于I的正整數(shù),每個碼塊的寬度與待壓縮圖像的寬度相同,高度均取一個相同的值,當(dāng)待壓縮圖像高度值較大時,碼塊的高度值也相應(yīng)較大,當(dāng)待壓縮圖像高度值較小時,碼塊的高度值也相應(yīng)較小,本發(fā)明的實施例中,當(dāng)待壓縮圖像的分辨率為1024(行)*1024(列)時,以32(行)*1024(列)作為一個碼塊對待壓縮圖像進(jìn)行碼塊劃分。步驟2,初始化參數(shù)根據(jù)目標(biāo)壓縮倍數(shù),設(shè)定失真量化參數(shù)的初始值,失真量化參數(shù)是指JPEG-LS標(biāo)準(zhǔn)中圖像質(zhì)量恢復(fù)所允許的最大誤差值。目標(biāo)壓縮倍數(shù)是用戶根據(jù)實際應(yīng)用的需求設(shè)定的一個固定值,一般為一個小于或等于4的正整數(shù),當(dāng)傳輸信道的帶寬較大時,目標(biāo)壓縮倍數(shù)可以設(shè)得較小,當(dāng)傳輸信道的帶寬較小時,目標(biāo)壓縮倍數(shù)應(yīng)設(shè)得較大。失真量化參數(shù)的初始值是由經(jīng)驗數(shù)據(jù)得到,對于大多數(shù)圖像能夠獲得較好的碼率控制效果。當(dāng)目標(biāo)壓縮倍數(shù)為4時,取初始值為4,當(dāng)目標(biāo)壓縮倍數(shù)為3時,取初始值為2,當(dāng)目標(biāo)壓縮倍數(shù)小于3時,取初始值為O。 步驟3,對當(dāng)前碼塊進(jìn)行JPEG-LS壓縮編碼
對待壓縮圖像的當(dāng)前碼塊的每個像素依次進(jìn)行JPEG-LS圖像壓縮編碼首先根據(jù)當(dāng)前像素的相鄰像素的重建值獲得一個像素預(yù)測值,將該預(yù)測值和當(dāng)前像素做差獲得一個像素殘差值,然后用當(dāng)前的失真量化參數(shù)對該殘差值進(jìn)行量化,對量化后的像素殘差值進(jìn)行映射和編碼,同時更新上下文參數(shù)。在編碼的過程中用計數(shù)器記錄下當(dāng)前碼塊的編碼比特個數(shù)和已編碼圖像區(qū)域的編碼比特個數(shù)。步驟4,壓縮完第i個碼塊后,通過下式碼率偏差計算公式,獲得第i個碼塊的碼率偏差Δι^。
權(quán)利要求
1..基于JPEG-LS標(biāo)準(zhǔn)的動態(tài)碼率控制方法,包括如下步驟(1)圖像分塊將待壓縮圖像分為N個長方形的碼塊,N為大于I的正整數(shù),每個碼塊的寬度與待壓縮圖像的寬度相同,高度均取一個相同的值;(2)初始化參數(shù)根據(jù)目標(biāo)壓縮倍數(shù),設(shè)定失真量化參數(shù)的初始值;(3)對當(dāng)前碼塊進(jìn)行JPEG-LS壓縮編碼對待壓縮圖像的當(dāng)前碼塊進(jìn)行JPEG-LS圖像壓縮編碼,在編碼的過程中用計數(shù)器記錄下當(dāng)前碼塊的編碼比特個數(shù)和已編碼圖像區(qū)域的編碼比特個數(shù);(4)獲得碼塊的碼率偏差完成對待壓縮圖像的第i個碼塊的編碼后,通過下式碼率偏差計算公式,獲得第i個碼塊的碼率偏差A(yù)r1 ;
2.根據(jù)權(quán)利要求I所述的基于JPEG-LS標(biāo)準(zhǔn)的動態(tài)碼率控制方法,其特征在于,步驟(2)、5a)、5b)、5c)、7a)、7b)、7c)中所述的失真量化參數(shù)是指JPEG-LS圖像壓縮標(biāo)準(zhǔn)中圖像質(zhì)量恢復(fù)所允許的最大誤差。
3.根據(jù)權(quán)利要求I所述的基于JPEG-LS標(biāo)準(zhǔn)的動態(tài)碼率控制方法,其特征在于,步驟(2)中的失真量化參數(shù)的初始值是當(dāng)目標(biāo)壓縮倍數(shù)為4時,取初始值為4,當(dāng)目標(biāo)壓縮倍數(shù)為3時,取初始值為2,當(dāng)目標(biāo)壓縮倍數(shù)小于3時,取初始值為O。
4.根據(jù)權(quán)利要求I所述的基于JPEG-LS標(biāo)準(zhǔn)的動態(tài)碼率控制方法,其特征在于,步驟5a)和步驟7a)中所述的失真量化參數(shù)與碼率門限值的關(guān)系表是通過如下步驟得到的第一步,選取圖像壓縮領(lǐng)域的標(biāo)準(zhǔn)圖像Iena圖像作為測試圖像;第二步,將失真量化參數(shù)初始化為20 ;第三步,對測試圖像進(jìn)行JPEG-LS圖像壓縮編碼,記錄相應(yīng)的輸出碼率;第四步,將失真量化參數(shù)減少I ;第五步,對測試圖像進(jìn)行JPEG-LS圖像壓縮編碼,記錄相應(yīng)的輸出碼率;第六步,將第五步中記錄的輸出碼率減去第三步中記錄的輸出碼率,得到關(guān)系表中對應(yīng)于當(dāng)前失真量化參數(shù)的碼率門限值;第七步,判斷失真量化參數(shù)是否等于0,若等于0,則完成關(guān)系表的建立,否則執(zhí)行第三止
全文摘要
本發(fā)明公開了一種基于JPEG-LS標(biāo)準(zhǔn)的動態(tài)碼率控制方法,(1)圖像分塊;(2)初始化參數(shù);(3)對當(dāng)前碼塊進(jìn)行JPEG-LS壓縮編碼;(4)獲得碼塊的碼率偏差;(5)調(diào)整參數(shù);(6)獲得已編碼區(qū)域的碼率偏差;(7)調(diào)整參數(shù);本發(fā)明相比于其他現(xiàn)有的JPEG-LS碼率控制方法,提出的碼率控制方法具有碼率控制精度高,碼率收斂速度快的優(yōu)點,同時還繼承了JPEG-LS復(fù)雜度低、運(yùn)算消耗小的特點,便于硬件實現(xiàn)。
文檔編號H04N7/26GK102938838SQ20121043424
公開日2013年2月20日 申請日期2012年10月19日 優(yōu)先權(quán)日2012年10月19日
發(fā)明者吳憲云, 張毅, 李云松, 雷杰 申請人:西安電子科技大學(xué)