陳曉妹,王向文
(上海電力大學(xué)電子與信息工程學(xué)院,上海 200090)
隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,大量數(shù)據(jù)產(chǎn)生并被傳輸交換。為了便于傳輸,需要對(duì)數(shù)據(jù)進(jìn)行一定程度的壓縮[1]。壓縮分為有損和無(wú)損兩種,無(wú)損可以完全恢復(fù)出信息,但是壓縮效率不高,而有損可以很大程度的壓縮數(shù)據(jù),同時(shí)能夠一定程度上保證數(shù)據(jù)的真實(shí)性。對(duì)于圖像而言,需要將原始位圖壓縮成JPEG格式。
JPEG算法廣泛應(yīng)用在數(shù)碼相機(jī)和互聯(lián)網(wǎng)中,網(wǎng)絡(luò)中80%的圖片都采用了JPEG壓縮。JPEG壓縮算法的關(guān)鍵在量化,量化是壓縮中唯一的信息損失來(lái)源,通過(guò)降低整數(shù)精度以減少存儲(chǔ)需要的位數(shù),從而達(dá)到壓縮數(shù)據(jù)的目的。而JPEG編碼的其它過(guò)程,如DCT,熵編碼則是無(wú)損的。JPEG算法提供了兩張標(biāo)準(zhǔn)的量化系數(shù)矩陣,分別用于處理亮度數(shù)據(jù)Y和色差數(shù)據(jù)Cr以及Cb。用固定的量化表對(duì)具有不同細(xì)節(jié)內(nèi)容的圖像進(jìn)行固定量化步長(zhǎng)的量化,致使圖像細(xì)節(jié)的丟失,而這些細(xì)節(jié)可能恰是原始圖像的關(guān)鍵信息,是其最重要的部分。
如何在同等壓縮比的情況下保留更多的圖像細(xì)節(jié)是圖像壓縮的重要問(wèn)題。根據(jù)原圖像的頻域分布,自適應(yīng)地改變量化級(jí)數(shù),是在一定的壓縮比下保留更多圖像細(xì)節(jié)的可行思路。文獻(xiàn)[5]在JPEG壓縮的基礎(chǔ)上,利用高頻分量在8*8的子塊出現(xiàn)的位置和63個(gè)交流系數(shù)的平均值,提出了基于JPEG的自適應(yīng)量化算法,但并未進(jìn)一步優(yōu)化。文獻(xiàn)[6]利用0.98縮放近似原圖像的方法解決原始量化步長(zhǎng)多值問(wèn)題,提出了一種雙重壓縮估計(jì)原始量化步長(zhǎng)的方法,該方法根據(jù)兩次量化步長(zhǎng)間的大小提出了直接利用直方圖計(jì)算的新方法,但多次量化一定程度上會(huì)對(duì)結(jié)果的精確程度造成影響,同時(shí)使得計(jì)算的復(fù)雜度增加。JPEG算法用于數(shù)字圖像,壓縮比和質(zhì)量取決于64個(gè)整數(shù)的矩陣的量化表,由于不同內(nèi)容圖像,各頻率信息不一,沒(méi)有唯一的最佳量化表。文獻(xiàn)[8]考慮利用群體智能的啟發(fā)式方法解決量化表的選擇,提出了將螢火蟲(chóng)算法應(yīng)用于不同圖像相似性度量的量化表選擇問(wèn)題的框架。文獻(xiàn)[10]提出一種基于改進(jìn)量化表的JPEG圖像壓縮算法(JPEG-HVS),通過(guò)對(duì)人眼亮度對(duì)比度敏感函數(shù)(CSF)運(yùn)用生成新的量化表,來(lái)替代JPEG標(biāo)準(zhǔn)通用的亮度量化表。文獻(xiàn)[12]提出了一種在JPEG壓縮中自適應(yīng)選擇DCT量化參數(shù)的新算法。量化參數(shù)是根據(jù)對(duì)比度超過(guò)閾值視覺(jué)敏感度的精細(xì)細(xì)節(jié)的合成,其中采用塊分類來(lái)量化參數(shù),可能引起塊效應(yīng)。
本文在信息論反注水理論的基礎(chǔ)上,充分考慮各8*8子塊中關(guān)鍵信息占的比例,提出了基于反注水模型的JPEG自適應(yīng)量化算法。主要思想是給每個(gè)頻率分配相同的失真d,根據(jù)信源包含同一個(gè)頻率位置上DCT系數(shù)的方差與失真d的關(guān)系,重新估計(jì)量化步長(zhǎng),并進(jìn)行優(yōu)化,使得量化步長(zhǎng)更接近最優(yōu),再將所有8*8子塊的相應(yīng)DCT系數(shù)重新量化,達(dá)到了優(yōu)化量化的效果。
本文結(jié)構(gòu)如下:第一部分?jǐn)⑹隽薐PEG算法;第二部分簡(jiǎn)述了反注水模型;第三部分是反注水自適應(yīng)算法的提出和實(shí)現(xiàn)步驟;第四部分是實(shí)驗(yàn)結(jié)果,根據(jù)優(yōu)化的參數(shù)表達(dá)式,本文提出了一種反注水自適應(yīng)量化參數(shù)選擇算法,該算法能夠根據(jù)圖像內(nèi)容不同更新量化參數(shù)。最后,實(shí)驗(yàn)表明新算法能夠有效的提升圖像編碼質(zhì)量。
根據(jù)數(shù)據(jù)分布特征,把需要量化的一個(gè)信源拆分成多組具有不同分布特征的子信源,并分別對(duì)每組進(jìn)行優(yōu)化量化設(shè)計(jì)則可以達(dá)到比對(duì)單一信源進(jìn)行優(yōu)化量化性能更優(yōu)的效果。在研究圖像的DCT系數(shù)量化編碼應(yīng)用中利用多信源的優(yōu)化量化參數(shù)選擇量化方案可以較大程度提高編碼壓縮效率。對(duì)于率失真函數(shù)這一線性約束問(wèn)題的最佳分配方案是讓各個(gè)隨機(jī)變量具有相等的失真d*,如(1)式所示
Di=d*
(1)
另外,要求各個(gè)隨機(jī)變量的失真和不超過(guò)給定的最大目標(biāo)失真Dc。因此,當(dāng)允許的總目標(biāo)失真增大時(shí),各隨機(jī)變量失真也隨之增大。由于方差是量化失真的最大值,即一個(gè)量化策略所對(duì)應(yīng)的量化失真一定不大于方差值,在這種情況下,有以下表示方法
(2)
根據(jù)隨機(jī)變量的目標(biāo)失真d*與最大失真和Dc之間的關(guān)系,目標(biāo)失真可以通過(guò)(3)求解
(3)
這種優(yōu)化方法,在信息論中也被稱為反注水法,如圖1所示。通過(guò)“反注水”法,復(fù)雜的率失真優(yōu)化問(wèn)題轉(zhuǎn)換為了簡(jiǎn)單的失真最優(yōu)化問(wèn)題。圖像各個(gè)頻率編碼失真重新分配,且最后的失真總和不超過(guò)最大目標(biāo)失真和值,就可以得到最優(yōu)的量化參數(shù)和率失真性能。
圖1 反注水模型圖
要提升圖像壓縮質(zhì)量,則應(yīng)該對(duì)量化參數(shù)進(jìn)行優(yōu)化。因此,提出了一種自適應(yīng)反注水參數(shù)選擇算法。首先進(jìn)行原圖像從RGB到Y(jié)UV空間的轉(zhuǎn)換,并將原始圖像分成尺寸8*8 的子塊,接著對(duì)子塊進(jìn)行離散余弦變換(DCT),實(shí)現(xiàn)由時(shí)域轉(zhuǎn)頻域。利用式4求得亮度分量在DCT變換后子塊中64個(gè)系數(shù)的平均值,利用平均值和式5求出亮度分量在頻率域方差
(4)
(5)
其中,n為子塊總數(shù),i的取值范圍是1~64。
根據(jù)設(shè)定目標(biāo)失真DT,由式(6)求得平均失真d
d=DT/64
(6)
利用反注水理論即7式重新分配失真,得到各頻率位置失真
(7)
(8)
利用反注水理論得各頻率新目標(biāo)失真
(9)
由式(10)和(11)計(jì)算參數(shù)最大似然估計(jì)ηi和死區(qū)尺寸zi
(10)
(11)
(12)
(13)
(14)
利用新生成量化表進(jìn)行圖像壓縮,生成符合JPEG格式的壓縮文件。除量化表有變,壓縮過(guò)程中其余步驟與JPEG標(biāo)準(zhǔn)壓縮過(guò)程相同,所以用標(biāo)準(zhǔn)的JPEG解碼程序能對(duì)用自適應(yīng)量化算法壓縮的JPEG文件進(jìn)行解壓縮,可知自適應(yīng)量化算法與JPEG 標(biāo)準(zhǔn)是兼容的。
新算法的創(chuàng)新處在于量化表的自適應(yīng)設(shè)計(jì),其余部分與JPEG標(biāo)準(zhǔn)編解碼過(guò)程相同。
反注水自適應(yīng)量化算法可總結(jié)如下:
1)首先對(duì)圖片數(shù)據(jù)進(jìn)行量化、反量化,得到初始化的失真值。
2)利用反注水模型即式(2)重新分配失真。
3)通過(guò)求解式(12),估算出優(yōu)化后的量化步長(zhǎng)。
4)利用更新后的量化步長(zhǎng)求圖像失真,由式(14)求得優(yōu)化后的量化步長(zhǎng)。
5)將所求得的量化步長(zhǎng)更新至量化表中。
具體流程框圖如圖2所示。
圖2 算法流程框圖
本文所提出的自適應(yīng)反注水算法,是基于JPEG的優(yōu)化量化,能夠隨著圖像的變化自動(dòng)更新參數(shù),同時(shí),該算法只需對(duì)量化表中的參數(shù)進(jìn)行調(diào)整,但是量化器的結(jié)構(gòu)依然保持不變,不影響編碼過(guò)程。
實(shí)驗(yàn)環(huán)境:MATLAB2018
為檢驗(yàn)自適應(yīng)量化算法的實(shí)際效果,利用USI-SIPI圖像數(shù)據(jù)庫(kù)中的圖像進(jìn)行了不同壓縮率下的壓縮實(shí)驗(yàn)。通常利用圖像的逼真度和可懂度來(lái)評(píng)價(jià)圖像質(zhì)量,逼真度描述壓縮圖像同標(biāo)準(zhǔn)圖像的偏離程度,常用峰值信噪比(PSNR)來(lái)度量;可懂度是指圖像向人或機(jī)器供給信息的能力。
由于圖像中的亮度分量包含了主要信息,所以實(shí)驗(yàn)以亮度數(shù)據(jù)為例。實(shí)驗(yàn)選用尺寸為512*512的圖lena、mandrill、boat和peppers,采用峰值信噪比(PSNR)作為量化前后的失真度量,PSNR越高,表示量化質(zhì)量越好。比特率則作為衡量編碼效率的工具,比特率越小,表示編碼耗費(fèi)的資源越少。對(duì)于灰度圖像,PSNR計(jì)算公式如下:
(15)
其中f(n,m)指原圖像,f′(n,m)是壓縮后的恢復(fù)圖像,其圖像尺寸均為N*M,MAX為f(n,m)中的像素最大值,MAX=255是8bit量化圖像的最大值。
率失真曲線能夠直觀的表示出PSNR與比特率之間的均衡性,反映了量化前后的壓縮效果。圖3為改進(jìn)算法與固定參數(shù)量化的RD曲線圖。其中,紅色線為新算法的RD曲線,藍(lán)色線是JPEG標(biāo)準(zhǔn)壓縮的RD曲線。由圖可見(jiàn),在相同碼率時(shí),本文提出的算法有更高的PSNR,這說(shuō)明相比于固定參數(shù)量化方法,新算法率失真特性更佳,對(duì)圖片質(zhì)量的損失更小。
圖3 自適應(yīng)量化參數(shù)算法與固定參數(shù)量化率失真曲線比較圖
量化技術(shù)在圖像編碼中起著重要作用,直接影響了圖像的壓縮效果。本文利用反注水模型,基于JPEG標(biāo)準(zhǔn)的量化算法,提出了一種自適應(yīng)量化參數(shù)更新算法,該算法能根據(jù)圖像內(nèi)容信息自適應(yīng)更新量化參數(shù)。實(shí)驗(yàn)結(jié)果表明,該方法相較與固定參數(shù)的量化方法,并未改變量化編碼器框架,且在相同條件下可提升圖像質(zhì)量,并且可提升視頻質(zhì)量,使PSNR平均提高0.3223dB,達(dá)到優(yōu)化量化的目的。