資源描述:
《圖像壓縮技術(shù)介紹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、圖像壓縮技術(shù)介紹? 由于圖像和視頻本身的數(shù)據(jù)量非常大,給存儲(chǔ)和傳輸帶來了很多不便,所以圖像壓縮和視頻壓縮得到了非常廣泛的應(yīng)用。比如數(shù)碼相機(jī)、USB攝像頭、可視電話、視頻點(diǎn)播、視頻會(huì)議系統(tǒng)、數(shù)字監(jiān)控系統(tǒng)等等,都使用到了圖像或視頻的壓縮技術(shù)。 常用的圖像的壓縮方法有以下幾種:? 1、行程長(zhǎng)度編碼(RLE)? 行程長(zhǎng)度編碼(run-lengthencoding)是壓縮一個(gè)文件最簡(jiǎn)單的方法之一。它的做法就是把一系列的重復(fù)值(例如圖象像素的灰度值)用一個(gè)單獨(dú)的值再加上一個(gè)計(jì)數(shù)值來取代。比如有這樣一個(gè)字母序列aabbbccccccccdddddd它的行程長(zhǎng)度編
2、碼就是2a3b8c6d。這種方法實(shí)現(xiàn)起來很容易,而且對(duì)于具有長(zhǎng)重復(fù)值的串的壓縮編碼很有效。例如對(duì)于有大面積的連續(xù)陰影或者顏色相同的圖象,使用這種方法壓縮效果很好。很多位圖文件格式都用行程長(zhǎng)度編碼,例如TIFF,PCX,GEM等。? 2、LZW編碼? 這是三個(gè)發(fā)明人名字的縮寫(Lempel,Ziv,Welch),其原理是將每一個(gè)字節(jié)的值都要與下一個(gè)字節(jié)的值配成一個(gè)字符對(duì),并為每個(gè)字符對(duì)設(shè)定一個(gè)代碼。當(dāng)同樣的一個(gè)字符對(duì)再度出現(xiàn)時(shí),就用代號(hào)代替這一字符對(duì),然后再以這個(gè)代號(hào)與下個(gè)字符配對(duì)。LZW編碼原理的一個(gè)重要特征是,代碼不僅僅能取代一串同值的數(shù)據(jù),也能夠代
3、替一串不同值的數(shù)據(jù)。在圖像數(shù)據(jù)中若有某些不同值的數(shù)據(jù)經(jīng)常重復(fù)出現(xiàn),也能找到一個(gè)代號(hào)來取代這些數(shù)據(jù)串。在此方面,LZW壓縮原理是優(yōu)于RLE的。? 3、霍夫曼編碼? 霍夫曼編碼(Huffmanencoding)是通過用不固定長(zhǎng)度的編碼代替原始數(shù)據(jù)來實(shí)現(xiàn)的?;舴蚵幋a最初是為了對(duì)文本文件進(jìn)行壓縮而建立的,迄今已經(jīng)有很多變體。它的基本思路是出現(xiàn)頻率越高的值,其對(duì)應(yīng)的編碼長(zhǎng)度越短,反之出現(xiàn)頻率越低的值,其對(duì)應(yīng)的編碼長(zhǎng)度越長(zhǎng)。?? 霍夫曼編碼很少能達(dá)到8∶1的壓縮比,此外它還有以下兩個(gè)不足:①它必須精確地統(tǒng)計(jì)出原始文件中每個(gè)值的出現(xiàn)頻率,如果沒有這個(gè)精確統(tǒng)計(jì),壓
4、縮的效果就會(huì)大打折扣,甚至根本達(dá)不到壓縮的效果。霍夫曼編碼通常要經(jīng)過兩遍操作,第一遍進(jìn)行統(tǒng)計(jì),第二遍產(chǎn)生編碼,所以編碼的過程是比較慢的。另外由于各種長(zhǎng)度的編碼的譯碼過程也是比較復(fù)雜的,因此解壓縮的過程也比較慢。②它對(duì)于位的增刪比較敏感。由于霍夫曼編碼的所有位都是合在一起的而不考慮字節(jié)分位,因此增加一位或者減少一位都會(huì)使譯碼結(jié)果面目全非。? 4、預(yù)測(cè)及內(nèi)插編碼? 一般在圖象中局部區(qū)域的象素是高度相關(guān)的,因此可以用先前的象素的有關(guān)灰度知識(shí)來對(duì)當(dāng)前象素的灰度進(jìn)行預(yù)計(jì),這就是預(yù)測(cè)。而所謂內(nèi)插就是根據(jù)先前的和后來的象素的灰度知識(shí)來推斷當(dāng)前象素的灰度情況。如果預(yù)測(cè)
5、和內(nèi)插是正確的,則不必對(duì)每一個(gè)象素的灰度都進(jìn)行壓縮,而是把預(yù)測(cè)值與實(shí)際象素值之間的差值經(jīng)過熵編碼后發(fā)送到接收端。在接收端通過預(yù)測(cè)值加差值信號(hào)來重建原象素。? 預(yù)測(cè)編碼可以獲得比較高的編碼質(zhì)量,并且實(shí)現(xiàn)起來比較簡(jiǎn)單,因而被廣泛地應(yīng)用于圖象壓縮編碼系統(tǒng)。但是它的壓縮比并不高,而且精確的預(yù)測(cè)有賴于圖象特性的大量的先驗(yàn)知識(shí),并且必須作大量的非線性運(yùn)算,因此一般不單獨(dú)使用,而是與其它方法結(jié)合起來使用。如在JPEG中,使用了預(yù)測(cè)編碼技術(shù)對(duì)DCT直流系數(shù)進(jìn)行編碼,而對(duì)交流系數(shù)則使用量化+游程編碼+霍夫曼編碼。? 5、矢量量化編碼? 矢量量化編碼利用相鄰圖象數(shù)據(jù)間的
6、高度相關(guān)性,將輸入圖象數(shù)據(jù)序列分組,每一組m個(gè)數(shù)據(jù)構(gòu)成一個(gè)m維矢量,一起進(jìn)行編碼,即一次量化多個(gè)點(diǎn)。根據(jù)仙農(nóng)率失真理論,對(duì)于無記憶信源,矢量量化編碼總是優(yōu)于標(biāo)量量化編碼。? 編碼前,先通過大量樣本的訓(xùn)練或?qū)W習(xí)或自組織特征映射神經(jīng)網(wǎng)絡(luò)方法,得到一系列的標(biāo)準(zhǔn)圖象模式,每一個(gè)圖象模式就稱為碼字或碼矢,這些碼字或碼矢合在一起稱為碼書,碼書實(shí)際上就是數(shù)據(jù)庫。輸入圖象塊按照一定的方式形成一個(gè)輸入矢量。編碼時(shí)用這個(gè)輸入矢量與碼書中的所有碼字計(jì)算距離,找到距離最近的碼字,即找到最佳匹配圖象塊。輸出其索引(地址)作為編碼結(jié)果。解碼過程與之相反,根據(jù)編碼結(jié)果中的索引從碼書中
7、找到索引對(duì)應(yīng)的碼字(該碼書必須與編碼時(shí)使用的碼書一致),構(gòu)成解碼結(jié)果。由此可知,矢量量化編碼是有損編碼。目前使用較多的矢量量化編碼方案主要是隨機(jī)型矢量量化,包括變換域矢量量化,有限狀態(tài)矢量量化,地址矢量量化,波形增益矢量量化,分類矢量量化及預(yù)測(cè)矢量量化等。? 6、變換編碼? 變換編碼就是將圖象光強(qiáng)矩陣(時(shí)域信號(hào))變換到系數(shù)空間(頻域信號(hào))上進(jìn)行處理的方法。在空間上具有強(qiáng)相關(guān)的信號(hào),反映在頻域上是某些特定的區(qū)域內(nèi)能量常常被集中在一起,或者是系數(shù)矩陣的分布具有某些規(guī)律。我們可以利用這些規(guī)律在頻域上減少量化比特?cái)?shù),達(dá)到壓縮的目的。由于正交變換的變換矩陣是可逆
8、的且逆矩陣與轉(zhuǎn)置矩陣相等,這就使解碼運(yùn)算是有解的且運(yùn)算方便,因此運(yùn)