鄭崴,苗青林
(河南科技學(xué)院,河南新鄉(xiāng)453003)
隨著數(shù)字圖象技術(shù)應(yīng)用的日益廣泛,多媒體技術(shù)、電話會議以及高清電視的普及,都可以給工作生活帶來豐富的圖象信息.由于圖象信息會占用大量的通信帶寬和存儲空間,因此圖象信息越多,對帶寬和存儲空間的要求也就越高.一張高為297 mm、寬為210 mm的照片,利用一臺300 DPI的彩色掃描儀將其轉(zhuǎn)換為數(shù)字圖象進(jìn)行存儲,則需要26 M的存儲空間.可以看出,對高效率的圖象壓縮技術(shù)的需要在數(shù)字圖象應(yīng)用日益廣泛的今天是非常迫切的.
現(xiàn)在已經(jīng)有多種非常成熟的圖象壓縮技術(shù),而這其中最常用的不外乎Joint Photographic Experts Group發(fā)布的JPEG2000和JPEG這兩種圖象壓縮標(biāo)準(zhǔn).雖然兩種標(biāo)準(zhǔn)都可以實現(xiàn)數(shù)字圖象的壓縮,但是它們使用了兩種截然不同的實現(xiàn)方法.JPEG標(biāo)準(zhǔn)是基于離散余弦變換,這是一種類似與傅立葉變換的數(shù)學(xué)變換方法[1],并且是一種有損的圖象壓縮技術(shù)[2].而JPEG2000標(biāo)準(zhǔn)的提出主要是為了實現(xiàn)圖象的無損壓縮,并且利用JPEG2000實現(xiàn)的圖象壓縮獲得的圖象效果一般情況下是好于JPEG標(biāo)準(zhǔn)的.盡管如此,由于JPEG2000是基于小波變換的一種壓縮技術(shù),因此無論是在硬件上還是軟件上其實現(xiàn)起來,都要難于JPEG[3].所以,在一些處理器速度比較低的移動設(shè)備中,JPEG的應(yīng)用更加廣泛,并且基于模塊編碼算法的JPEG也更加的容易實現(xiàn).所以,這種基于模塊編碼的圖象壓縮技術(shù)的關(guān)鍵就在于研究快速的算法的實現(xiàn)以求減少圖象信息處理過程的計算量.
JPEG(Joint Photographic Experts Group)全稱為聯(lián)合圖像專家組,建立于1986年.在1992年,聯(lián)合圖像專家組發(fā)布了圖象壓縮標(biāo)準(zhǔn)JPEG,直到現(xiàn)在,JPEG標(biāo)準(zhǔn)仍然廣泛的應(yīng)用于圖象壓縮領(lǐng)域.由于JPEG標(biāo)準(zhǔn)的優(yōu)越性,它成為在通信中尤其是互聯(lián)網(wǎng)中最常用的圖片格式.JPEG是一種有損圖象壓縮方法,也就是說,JPEG將圖象信息中的多余的信息量和對視覺影響不明顯的信息量刪除掉來達(dá)到壓縮的目的.因此,如果壓縮比過大,則壓縮后的圖片效果就會比較差.盡管如此,在存儲空間有限的情況下,JPEG仍然有其應(yīng)用的價值.一般的JPEG編碼器會提供從10:1到40:1的壓縮比,當(dāng)然,壓縮比越高,則得到的壓縮圖象的質(zhì)量會越差,而壓縮過程中丟失的信息是對視覺影響不明顯的低頻部分,而視覺比較敏感的高頻部分則會被保存下來[4].圖1是一個JPEG圖象編碼標(biāo)準(zhǔn)的流程,而解碼部分是編碼部分的逆過程.
圖1 一般的JPEG標(biāo)準(zhǔn)
近來,基于小波變換的JPEG2000圖象壓縮標(biāo)準(zhǔn)得到了廣泛的應(yīng)用,由于JPEG2000相較于JPEG可以得到較高的壓縮比和較高的圖象效果,在一定程度上,有取代JPEG的趨勢.但是,JPEG由于實現(xiàn)簡單、計算量小、占用內(nèi)存少等優(yōu)點,在一些特殊的場合,尤其是在計算速度較慢的移動設(shè)備中,JPEG相比較于JPEG2000來說更加的適用.所以,基于對圖象模塊編碼的以JPEG為代表的圖象處理方法仍然具有光明的前途,并且廣泛的應(yīng)用與互聯(lián)網(wǎng)與圖象存儲中,尤其是在移動電話越來越流行的今天,JPEG的這些優(yōu)點決定了其無可替代的地位.此外,由于JPEG出色的壓縮圖象質(zhì)量和迅捷的下載速度,現(xiàn)在常用的各種瀏覽器全部支持JPEG格式的圖象文件.
壓縮是出于對存儲和數(shù)據(jù)傳輸?shù)哪康?對于信息進(jìn)行重新組合的過程[5],與一般的數(shù)據(jù)壓縮相比較而言,圖象壓縮具有其自身特有的壓縮技術(shù).一般數(shù)據(jù)的壓縮通常都是無損的,因為這個時候一個數(shù)據(jù)的錯誤都可能導(dǎo)致最后的結(jié)果出現(xiàn)錯誤,而圖象壓縮恰恰相反,圖象中的冗余信息的比重是相當(dāng)大的,因此,在一些即時更新的圖片網(wǎng)站中,圖象壓縮是必不可少的過程.圖象壓縮的目的就是去除原始信息中冗余的信息和對圖象效果影響較少的這部分?jǐn)?shù)據(jù),而DCT變換的作用就是將圖象中各個頻率的信息區(qū)分開來.再將對視覺敏感的高頻部分信息保留下來,而對視覺無法察覺的低頻部分在數(shù)值上設(shè)為零從而達(dá)到圖象壓縮的目的.這個過程在圖象處理中稱之為量化,其實就是刪除原始圖象數(shù)據(jù)中的冗余部分.由此可以看出,DCT在圖象壓縮技術(shù)中,尤其在JPEG中的重要地位,沒有DCT對數(shù)據(jù)進(jìn)行區(qū)分,圖象的壓縮就無法實現(xiàn).
DCT在JPEG當(dāng)中扮演著重要的作用,而且DCT應(yīng)用于圖象壓縮中是以對圖象模塊編碼處理為基礎(chǔ)的,其處理過程就是將一張圖片劃分為許多小的模塊,再按自左至右,自上而下的順序?qū)@些模塊分別進(jìn)行DCT運算.實際上,離散余弦變換一共有四種形式,而常用于圖象壓縮的離散余弦變換是第二種形式,多表示為DCT-II型,其主要包括式(1)、(2)[1],其中p表示原始圖象矩陣中的一個象素點.
N表示一個DCT模塊的標(biāo)準(zhǔn).一般情況,標(biāo)準(zhǔn)的DCT模塊的標(biāo)準(zhǔn)多為N=8(JPEG,H.263)[2,5]或者N=16(MPEG)[6].如過一個基于的DCT模塊的算法,其中x和y的取值應(yīng)該是由1到7,以保證符合DCT模塊的標(biāo)準(zhǔn).將式(2)帶入式(1)可得式(3),可以得到一個變換后的矩陣 T,再經(jīng)過式(4)[1]進(jìn)行計算,便可得到一個完成DCT變換的8×8的矩陣,其中M表示原始圖象矩陣中的一個需要進(jìn)行處理的8×8矩陣模塊,T’表示矩陣T的轉(zhuǎn)置矩陣.
需要注意的是,因為這里用到的是一個8×8的DCT矩陣模塊,所以在進(jìn)行變換之前需要先把一個a*b大小的原始圖象平均的化為若干個8×8的模塊.此時,如果a和b能夠被8整除,稱之為完美矩陣模塊.當(dāng)a和b不能被8整除時,則需要補(bǔ)上值為0的象素點以使得圖象能夠達(dá)到完美矩陣模塊來進(jìn)行變換.
這種基于DCT模塊編碼的圖象壓縮技術(shù)更容易在一些低端處理器上實現(xiàn),而這種圖象壓縮技術(shù)研究的核心問題就是如何找到快速的DCT算法.經(jīng)過DCT處理,可以將一張圖片的低頻部分放在一個DCT模塊的左上角,而高頻部分則放在模塊的右下角,這樣,通過變化可以將一張圖片的各個不同的能量部分區(qū)分開來以方便進(jìn)行量化壓縮[7].因此,無論是在硬件實現(xiàn)還是軟件實現(xiàn)上,都有很多的快速DCT的算法.有些快速DCT算法是利用了離散傅立葉變換(DFT)和DCT之間的關(guān)系而得到的,所以已有的快速FFT算法在這里也可以做為提高DCT處理的速度,比如FFT[8-9]和Walsh-Hadamard transform(WHT)[10-11].但是由于本身DFT的復(fù)雜性,這種類型的快速DCT算法在減小計算量提高運算速度上的作用是有限的;還有一些快速DCT算法是通過對DCT矩陣進(jìn)行因數(shù)分解,將復(fù)雜的計算變?yōu)楹唵蔚娜呛瘮?shù)計算,在一定程度上減少DCT處理中的計算量,使其容易實現(xiàn).如圖2中的算法結(jié)構(gòu),就是基于這種思想的一種算法.這些算法的主要思想就是盡量減少DCT中的乘法次數(shù),因為乘法會占用大量的處理器資源.
圖2 量化表
圖3 Z順序表
實際上,圖象的多余信息的壓縮完全是由量化部分完成的.在JPEG標(biāo)準(zhǔn)中,當(dāng)DCT變化執(zhí)行完畢后,圖象中的信息根據(jù)各自不同的頻率分布在不同的位置上.這時,在根據(jù)不同的壓縮要求將這些象素值進(jìn)行四舍五入計算,再與標(biāo)準(zhǔn)量化表進(jìn)行相乘,之后變得到量化后的值.如設(shè)x為DCT變化后的一個象素點的值,q為使用的量化表的規(guī)格,常用的為8×8標(biāo)準(zhǔn)的量化圖,則由公式可得量化后的結(jié)果.圖2為常用的一個標(biāo)準(zhǔn)量化表.
在JPEG標(biāo)準(zhǔn)中,編碼部分的功能是將DCT和量化后的圖象信息變?yōu)閿?shù)字信息.在基于模塊化圖象壓縮的JPEG標(biāo)準(zhǔn)中,最常用是霍夫曼編碼,在編碼過程中需要按照一定的順序進(jìn)行處理,這種順序稱為“Z順序”,如圖3所示,圖中的數(shù)字代表這量化后的圖像點的系數(shù).一般情況下,左上角的系數(shù)代表這一個8×8模塊的交流值,而其他系數(shù)代表這模塊的直流值,經(jīng)過編碼后,不同的直流值和交流值則會被變化為不同的霍夫曼碼.
在對JPEG的各個模塊進(jìn)行分析的基礎(chǔ)上,著重分析了DCT在JPEG標(biāo)準(zhǔn)中的所起到的分離信息量的作用,可見DCT是JPEG能夠?qū)崿F(xiàn)圖像壓縮的基礎(chǔ),而快速的DCT算法可以提高JPEG編碼器的計算速度和壓縮效率,而在量化和編碼的部分主要利用圖表法來實現(xiàn),因此要想提高圖像壓縮的效率只有考慮快速DCT的算法來實現(xiàn).
[1]Gregory K W.The JPEG still picture compression standard[J].IEEE Transactions on Consumer Electronics,1992,1(38):777-789.
[2]AndrewB.Watson.Image compressionusingthe Discrete Cosine Transform[J].Mathematical Journal,1994,4(1):81-88.
[3]ZixiangXiong,KannanRAchandran,Michael T,et al.Acomparative studyofDCT-andwavelet-basedimage coding[J].IEEE Transactions onCircuits andSystems forVideoTechnology,1999,5(9):202-207.
[4]Shao G F,Li Z S,Zhang H,et al.Image Fusion Based on Human Vision Perception[C].Shanghai:Proceedings of the Third international Conference onMachine LeaningandCybernetics,2004:26-29.
[5]Li J.Image compression-the mathematics ofJPEG2000[C].MSRImodernsignal processingseries,2000.
[6]AhemdN,NatarajanT,RaoKR.Discrete Cosine Transform[J].IEEETransactions onComputer,1974,23:90-93.
[7]ChenWH,PrattWK.Science adaptive coder[J].IEEETransactions onCommunications,1984,32:225-232.
[8]RaoKR,YipP.Discrete Cosine Transform[R].NewYork:Academic,1990.
[9]PennebakerWB.JPEGStill Image DataCompressionStandard[C].NewYork:VanNorstrandReinhold,1993.
[10]ITU-T.MPEG-2 video[S].ITU-TRecommendationH.262-ISO/IEC13818-2,1995.
[11]ITU-T.Videocodingforlowbitrate communication[S].ITU-TRecommendationH.263,1995.