資源描述:
《jpeg壓縮編碼標(biāo)準(zhǔn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第9章圖象的壓縮編碼,JPEG壓縮編碼標(biāo)準(zhǔn)在介紹圖象的壓縮編碼之前,先考慮一個問題:為什么要壓縮?其實這個問題不用我回答,你也能想得到。因為圖象信息的數(shù)據(jù)量實在是太驚人了。舉一個例子就明白:一張A4(210mm×297mm)幅面的照片,若用中等分辨率(300dpi)的掃描儀按真彩色掃描,其數(shù)據(jù)量為多少?讓我們來計算一下:共有(300×210/25.4)×(300×297/25.4)個象素,每個象素占3個字節(jié),其數(shù)據(jù)量為26M字節(jié),其數(shù)據(jù)量之大可見一斑了。如今在Internet上,傳統(tǒng)基于字符界面的應(yīng)用逐漸被能夠瀏覽圖象信息的WWW(WorldWideWeb)方式所取代。WWW盡管漂亮,但是也
2、帶來了一個問題:圖象信息的數(shù)據(jù)量太大了,本來就已經(jīng)非常緊張的網(wǎng)絡(luò)帶寬變得更加不堪重負(fù),使得WorldWideWeb變成了WorldWideWait??傊?,大數(shù)據(jù)量的圖象信息會給存儲器的存儲容量,通信干線信道的帶寬,以及計算機(jī)的處理速度增加極大的壓力。單純靠增加存儲器容量,提高信道帶寬以及計算機(jī)的處理速度等方法來解決這個問題是不現(xiàn)實的,這時就要考慮壓縮。壓縮的理論基礎(chǔ)是信息論。從信息論的角度來看,壓縮就是去掉信息中的冗余,即保留不確定的信息,去掉確定的信息(可推知的),也就是用一種更接近信息本質(zhì)的描述來代替原有冗余的描述。這個本質(zhì)的東西就是信息量(即不確定因素)。壓縮可分為兩大類:第一類壓縮過
3、程是可逆的,也就是說,從壓縮后的圖象能夠完全恢復(fù)出原來的圖象,信息沒有任何丟失,稱為無損壓縮;第二類壓縮過程是不可逆的,無法完全恢復(fù)出原圖象,信息有一定的丟失,稱為有損壓縮。選擇哪一類壓縮,要折衷考慮,盡管我們希望能夠無損壓縮,但是通常有損壓縮的壓縮比(即原圖象占的字節(jié)數(shù)與壓縮后圖象占的字節(jié)數(shù)之比,壓縮比越大,說明壓縮效率越高)比無損壓縮的高。圖象壓縮一般通過改變圖象的表示方式來達(dá)到,因此壓縮和編碼是分不開的。圖象壓縮的主要應(yīng)用是圖象信息的傳輸和存儲,可廣泛地應(yīng)用于廣播電視、電視會議、計算機(jī)通訊、傳真、多媒體系統(tǒng)、醫(yī)學(xué)圖象、衛(wèi)星圖象等領(lǐng)域。壓縮編碼的方法有很多,主要分成以下四大類:(1)象素
4、編碼;(2)預(yù)測編碼;(3)變換編碼;(4)其它方法。所謂象素編碼是指,編碼時對每個象素單獨處理,不考慮象素之間的相關(guān)性。在象素編碼中常用的幾種方法有:(1)脈沖編碼調(diào)制(PulseCodeModulation,簡稱PCM);(2)熵編碼(EntropyCoding);(3)行程編碼(RunLengthCoding);(4)位平面編碼(BitPlaneCoding)。其中我們要介紹的是熵編碼中的哈夫曼(Huffman)編碼和行程編碼(以讀取.PCX文件為例)。所謂預(yù)測編碼是指,去除相鄰象素之間的相關(guān)性和冗余性,只對新的信息進(jìn)行編碼。舉個簡單的例子,因為象素的灰度是連續(xù)的,所以在一片區(qū)域中,相
5、鄰象素之間灰度值的差別可能很小。如果我們只記錄第一個象素的灰度,其它象素的灰度都用它與前一個象素灰度之差來表示,就能起到壓縮的目的。如248,2,1,0,1,3,實際上這6個象素的灰度是248,250,251,251,252,255。表示250需要8個比特,而表示2只需要兩個比特,這樣就實現(xiàn)了壓縮。常用的預(yù)測編碼有Δ調(diào)制(DeltaModulation,簡稱DM);微分預(yù)測編碼(DifferentialPulseCodeModulation,DPCM),具體的細(xì)節(jié)在此就不詳述了。所謂變換編碼是指,將給定的圖象變換到另一個數(shù)據(jù)域(如頻域)上,使得大量的信息能用較少的數(shù)據(jù)來表示,從而達(dá)到壓縮的目
6、的。變換編碼有很多,如(1)離散傅立葉變換(DiscreteFourierTransform,簡稱DFT);(2)離散余弦變換(DiscreteCosineTransform,簡稱DCT);(3)離散哈達(dá)瑪變換(DiscreteHadamardTransform,簡稱DHT)。其它的編碼方法也有很多,如混合編碼(HybirdCoding)、矢量量化(VectorQuantize,VQ)、LZW算法。在這里,我們只介紹LZW算法的大體思想。值得注意的是,近些年來出現(xiàn)了很多新的壓縮編碼方法,如使用人工神經(jīng)元網(wǎng)絡(luò)(ArtificialNeuralNetwork,簡稱ANN)的壓縮編碼算法、分形(F
7、ractl)、小波(Wavelet)、基于對象(ObjectBased)的壓縮編碼算法、基于模型(Model–Based)的壓縮編碼算法(應(yīng)用在MPEG4及未來的視頻壓縮編碼標(biāo)準(zhǔn)中)。這些都超出了本書的范圍。本章的最后,我們將以JPEG壓縮編碼標(biāo)準(zhǔn)為例,看看上面的幾種編碼方法在實際的壓縮編碼中是怎樣應(yīng)用的。9.1哈夫曼編碼哈夫曼(Huffman)編碼是一種常用的壓縮編碼方法,是Huffman于1952年為壓縮