基于JPEG2000的一種新型率控制方法
2 新的率控制方法
最優(yōu)截?cái)帱c(diǎn)λ只能通過所有截?cái)帱c(diǎn)實(shí)際的率失真斜率來求得,這就需要熵編碼過程編碼所有的位平面數(shù)據(jù)和所有編碼過的碼流都存儲(chǔ)在存儲(chǔ)器中,而且,即使是那些在碼流控制后不需要傳輸?shù)拇a流,也要編碼和存儲(chǔ)。然而,通過研究發(fā)現(xiàn):如果將每個(gè)截?cái)帱c(diǎn)的率失真斜率按遞減的方式進(jìn)行整理,這個(gè)排列順序便與位平面層數(shù)有關(guān)。一般情況下,位平面高的率失真斜率大于位平面低的;其次,先編碼的通道的率失真斜率大于后編碼的通道。
基于以上兩點(diǎn),可先掃描圖像的位平面信息,在編碼那些率失真斜率大的。而后面不重要的比特就可以不進(jìn)行編碼。這個(gè)方法的過程首先是根據(jù)下式計(jì)算出每個(gè)碼塊Bi的最高位平面數(shù)Pi;
其中是碼塊Bi中的最大系數(shù)。之后,在求出最大的平面數(shù):
掃描每一個(gè)碼塊的順序圖如圖l所示。對(duì)于每一個(gè)掃描的碼塊,一般有如下三個(gè)條件:
(1)首先要判斷Pi=Pmax是否成立,如果成立,編碼這個(gè)編碼塊未編碼的位平面通道,然后Pi減1,之后檢查條件(2)。否則檢查條件(3);
(2)如果累計(jì)的碼率大于目標(biāo)碼率,則立即退出編碼。否則,檢查條件(3);
(3)如果這是最后一個(gè)編碼塊,那么Pmax減1,然后進(jìn)入下一個(gè)層的編碼。否則繼續(xù)掃描下個(gè)編碼塊。
由于上述條件(2)滿足的條件,故不會(huì)使碼率超過壓縮率的限制。而條件(1)、(3)則充分考慮了位平面和編碼通道的重要性,因而可確保得到最佳的圖像質(zhì)量。
3 實(shí)驗(yàn)結(jié)果
這里,我們用512x512的lena圖像進(jìn)行測(cè)試,表1記錄了PCRD與新方法在計(jì)算量和內(nèi)存使用量上的對(duì)比。表2所列是兩種方法在PSNR上的對(duì)比。兩種方法的解壓圖像效果如圖2所示。
4 結(jié)束語
通過對(duì)JPEG2000的分析,本文提出了一種通過估計(jì)率失真信息來控制碼率的方法。該方法由于不需要對(duì)所有的數(shù)據(jù)進(jìn)行編碼,因此,可在保持圖像質(zhì)量的同時(shí),還可以有效減少冗余計(jì)算量和內(nèi)存占用量。
評(píng)論