數(shù)字圖像處理--圖像壓縮與編碼_第1頁
數(shù)字圖像處理--圖像壓縮與編碼_第2頁
數(shù)字圖像處理--圖像壓縮與編碼_第3頁
數(shù)字圖像處理--圖像壓縮與編碼_第4頁
數(shù)字圖像處理--圖像壓縮與編碼_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、配套課件數(shù)字圖像處理 編程框架、理論分析、實(shí)例應(yīng)用和源碼實(shí)現(xiàn)數(shù)字圖像處理1在計(jì)算機(jī)視覺和信息論的領(lǐng)域中,數(shù)據(jù)壓縮或稱為信源編碼,就是通過特定的編碼方案使用比未編碼的表示形式更少的位存儲空間(或者其它信息承載單元)來進(jìn)行信息編碼的過程。圖像壓縮,就是數(shù)據(jù)壓縮在數(shù)字圖像中的應(yīng)用,實(shí)際的目標(biāo)就是通過降低圖像數(shù)據(jù)的冗余性來更加有效的存儲和傳輸數(shù)據(jù)。壓縮的兩個(gè)基本的成分就是冗余性和不相干性的縮減。減少冗余性,目的是從圖像和視頻這些源信號中刪除掉重復(fù)的部分;減少不相干性,就是忽略掉不會被信號接受者所感知的部分信號。數(shù)字圖像處理2一般來說,需要涉及三種類型的冗余性,分別包括:鄰域像素值之間的空間冗余性或者相

2、關(guān)性不同顏色平面或者光譜帶之間的光譜冗余性或者相關(guān)性在圖像序列中相鄰幀之間的時(shí)基冗余性或者相關(guān)性(對于視頻應(yīng)用來說)圖像壓縮研究的目標(biāo)就是通過盡可能的剔除空間和光譜冗余性來減少圖像表示的位存儲容量,換句話說,在給定位率或者壓縮率的基礎(chǔ)上能夠取得最好的圖像質(zhì)量。數(shù)字圖像處理3所謂質(zhì)量評價(jià),對象就是壓縮后的圖像,主要是看壓縮后的圖像是否符合一定的質(zhì)量評判標(biāo)準(zhǔn),換句話說,是看壓縮后的圖像與壓縮前的圖像之間的差異是否在一定的范圍之內(nèi)。數(shù)字圖像處理4平均平方誤差信噪比峰值結(jié)構(gòu)相似性數(shù)字圖像處理5無損壓縮算法通常利用統(tǒng)計(jì)冗余信息,將發(fā)送方的數(shù)據(jù)進(jìn)行更為準(zhǔn)確的表達(dá),且不帶任何錯(cuò)誤。無損壓縮可能的原因就是大多

3、數(shù)現(xiàn)實(shí)世界的數(shù)據(jù)具有統(tǒng)計(jì)冗余信息。有損數(shù)據(jù)壓縮或者感知編碼,其可能的原因則是部分準(zhǔn)確性的損失是可以接受的。有損數(shù)據(jù)壓縮提供了在指定壓縮比的條件下獲得最好圖像準(zhǔn)確性的途徑。無損壓縮方案是可逆的,也就是說原始數(shù)據(jù)是可以重構(gòu)的;有損方案為了獲得更高的壓縮比而接受一些數(shù)據(jù)上的損失。數(shù)字圖像處理6預(yù)測編碼是根據(jù)離散信號之間存在著一定關(guān)聯(lián)性的特點(diǎn),利用前面一個(gè)或多個(gè)信號預(yù)測下一個(gè)信號進(jìn)行,然后對實(shí)際值和預(yù)測值的差(預(yù)測誤差)進(jìn)行編碼。對于視頻信號的預(yù)測編碼分成兩種,一個(gè)是幀間預(yù)測編碼,一個(gè)是幀內(nèi)預(yù)測編碼。幀內(nèi)預(yù)測是從空間上去除同一幀圖像內(nèi)宏塊之間的冗余。幀間預(yù)測編碼效率比幀內(nèi)編碼要高,它是從時(shí)間上去除圖像

4、幀與幀之間的冗余,分為單向預(yù)測、雙向預(yù)測。數(shù)字圖像處理7變換編碼的理論基礎(chǔ)是“聯(lián)合信息熵必不大于各分量信息熵之和?!弊儞Q編碼是進(jìn)行一種函數(shù)變換,變換編碼不是直接對空域相關(guān)信號編碼,而是首先將空域圖像信號映射變換到另一個(gè)正交矢量空間(變換域或頻域),產(chǎn)生一系列變換系數(shù),然后對這些變換系數(shù)進(jìn)行處理編碼。變換編碼系統(tǒng)中壓縮數(shù)據(jù)分為三步,即變換、變換域采樣和量化。變換編碼技術(shù)上比較成熟,廣泛應(yīng)用于各種圖像數(shù)據(jù)壓縮,如單傅立葉變換、沃爾什變換、哈爾變換、斜變換、余弦變換、正弦變換、K-L變換等。數(shù)字圖像處理8在傅里葉級數(shù)展開式中,如果被展開的函數(shù)是實(shí)偶函數(shù),那么,其傅里葉級數(shù)中只包含余弦項(xiàng),再將其離散化

5、,由此可導(dǎo)出余弦變換,或稱之為離散余弦變換。近年來在圖像數(shù)據(jù)壓縮中,采用離散余弦變換編碼的方案很多,特別是JPEG、MPEG、H.261等壓縮標(biāo)準(zhǔn),都用到離散余弦變換編碼進(jìn)行數(shù)據(jù)壓縮。小波分析是把一個(gè)信號分解成由原始小波經(jīng)過移位和縮放后的一系列小波,因此小波是小波變換的基函數(shù),即小波可用作表示一些函數(shù)的基函數(shù)。經(jīng)過多年的努力,小波理論基礎(chǔ)已經(jīng)基本建立并成為應(yīng)用數(shù)學(xué)的一個(gè)新領(lǐng)域,引起了眾多數(shù)學(xué)家和工程技術(shù)人員的極大關(guān)注。數(shù)字圖像處理9壓縮的完成主要依靠,一是使用線性變換來剔除圖像數(shù)據(jù)的相關(guān)性,二是對所得到的變換系數(shù)進(jìn)行量化,三是對不同類型的數(shù)據(jù)分配比特位,四是對量化后的結(jié)果進(jìn)行熵編碼。典型的有損

6、圖像編碼壓縮方案,既要涉及有損壓縮算法,也會涉及無損壓縮算法。對于分形技術(shù),圖像中可能的自相似信息被用來縮減用于圖像重新描述所需的數(shù)據(jù)規(guī)模。數(shù)字圖像處理10要壓縮一幅圖像通常涉及如下幾個(gè)步驟:為目標(biāo)圖像設(shè)置比特率和質(zhì)量損傷(即可以容許的錯(cuò)誤多少)等參數(shù);根據(jù)各自的重要性,將圖像數(shù)據(jù)劃分為不同的類型;根據(jù)所劃分的類型對可使用的比特位預(yù)算進(jìn)行分割,以使得質(zhì)量損傷達(dá)到最??;使用比特位分配信息,來對每種類型的數(shù)據(jù)進(jìn)行單獨(dú)的量化;使用熵編碼器來對每種類型的數(shù)據(jù)進(jìn)行編碼,并將所得到的編碼流寫進(jìn)文件。數(shù)字圖像處理11一般來說,從壓縮數(shù)據(jù)中重構(gòu)圖像通常比壓縮過程要快得多,這就是用戶平時(shí)在瀏覽一幅BMP圖像和一

7、幅JPEG圖像的時(shí)候?qū)嶋H上是感受不到任何時(shí)間上延遲的原因。對于一幅大尺度圖像的壓縮格式存儲來說,其消耗的時(shí)間用戶通常是感受得到的,特別對于一個(gè)圖像序列(即視頻)的壓縮則是一種漫長的等待。相對而言,壓縮視頻格式的解碼和播放都必須快于或者等于視頻的幀率,否則所得到的編解碼器絕對是失敗的。對于專業(yè)人員來說,圖像壓縮和解壓縮從來都是成對出現(xiàn)的。數(shù)字圖像處理12一系列的線性變換技術(shù)得到了發(fā)展,包括離散傅里葉變換、離散余弦變換和離散小波變換等等。圖像可以表示為一個(gè)特定系數(shù)的二維數(shù)組,其中每個(gè)系數(shù)表示在特定點(diǎn)上的亮度信息。技術(shù)上,色彩上的平滑變化可以稱為低頻變化,而尖銳的變化可以稱為高頻變化。低頻成分(對應(yīng)

8、于平滑變化)構(gòu)成了圖像的基礎(chǔ),而高頻成分(提供細(xì)節(jié)的邊緣)在低頻成分的基礎(chǔ)上對圖像進(jìn)行精煉,以提供更為精細(xì)的圖像。數(shù)字圖像處理13正向小波變換是將圖像數(shù)據(jù)劃分成具有不同重要性的類型,而反向變換則是不同類型的數(shù)據(jù)重新組合為圖像。同樣,一個(gè)低通和高通濾波器對被使用,這里則被稱為是合成濾波器對。濾波的過程也正好是相反的,從最頂層開始,先列后行,再進(jìn)入下一層,直至到達(dá)最底層。數(shù)字圖像處理14圖像的金字塔分解量化,是一個(gè)使用有限的(最好是小的)數(shù)值集合來近似圖像中連續(xù)的數(shù)值集合的過程。量化器的目的就是縮減用來存儲變換系數(shù)的比特位數(shù)目,其主要通過減少這些系數(shù)的精度。量化是對每個(gè)單獨(dú)的系數(shù)進(jìn)行操作,被稱為標(biāo)

9、量量化(Scalar Quantization - SQ)。也可以對一組系數(shù)進(jìn)行量化,這就稱為向量量化(Vector Quantization - VQ)。數(shù)字圖像處理15數(shù)字圖像處理16熵編碼器的作用就是對量化后的系數(shù)進(jìn)行進(jìn)一步的無損壓縮,以提供更好的整體壓縮比。其通過建立模型來精確的決定每個(gè)量化系數(shù)出現(xiàn)的概率,并根據(jù)這些概率來產(chǎn)生合適的編碼,以使得所輸出的編碼流比所輸入的流具有更小的尺寸。最常使用的熵編碼器為Huffman編碼器和算術(shù)編碼器,盡管對于實(shí)時(shí)要求性比較高的應(yīng)用,簡單的游程編碼(Run-Length Encoding - RLE)被證明是十分有效的。Huffman編碼器算術(shù)編碼器

10、游程編碼數(shù)字圖像處理17無損壓縮,就是利用數(shù)據(jù)的統(tǒng)計(jì)冗余特性進(jìn)行壓縮,可以完全無失真的復(fù)原原始數(shù)據(jù),但是由于受到數(shù)據(jù)統(tǒng)計(jì)冗余理論的限制,壓縮比一般為2:1至5:1。相比而言,無損壓縮具有如下的優(yōu)勢:100%的存儲且不存在任何信息的損失對于音頻數(shù)據(jù)而言,具有音質(zhì)高的特點(diǎn),且不受信號源的影響無損壓縮的格式可以很容易的轉(zhuǎn)換為其它有損壓縮格式,而不存在多次有損壓縮所帶來的更大失真問題當(dāng)然,無損壓縮的缺點(diǎn)也是明顯的,包括:占用空間大,壓縮比有限解碼無損壓縮格式需要更大的計(jì)算量,所以對解碼硬件具有更高的要求數(shù)字圖像處理18數(shù)字圖像處理19游程編碼差分脈沖編碼調(diào)制LZW字典算法熵編碼Huffman編碼算術(shù)編

11、碼數(shù)字圖像處理20數(shù)字圖像處理21數(shù)字圖像處理22數(shù)字圖像處理23數(shù)字圖像處理24數(shù)字圖像處理25/*算術(shù)編碼算法*/*對信息中的每一個(gè)符號循環(huán)調(diào)用encode_symbol */*要保證信息的結(jié)尾處包含唯一的終止符,然后傳送在范圍low, high ) 中的任意數(shù)值*/encode_symbol( symbol, cum_freq )range = high - low;high = low + range * cum_freq symbol - 1 ;low = low + range * cum_freq symbol ;/*算術(shù)解碼算法*/*“Value”表示所接受的數(shù)值*/*持續(xù)的調(diào)

12、用decode_symbol,直到返回終止符*/decode_symbol( cum_freq )find symbol such thatcum_freq symbol = ( value - low )/( high - low ) 0 ; c = *in+, l- ) if ( c = cp ) i+;if ( i 255 ) *out+ = 255;*out+ = c; dl += 2;i = 1; else *out+ = i;*out+ = cp; dl += 2;i = 1;cp = c;*out+ = i; *out+ = cp; dl += 2;return dl;數(shù)字圖像處

13、理28int rle_decode(char *out, const char *in, int l)int i, j, tb;char c;for(tb=0 ; l=0 ; l -= 2 ) i = *in+;c = *in+;tb += i;while(i- 0) *out+ = c;return tb;數(shù)字圖像處理29#include #include #include const char *o = WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW;int main()char *d = malloc

14、(2*strlen(o);char *oc = malloc(strlen(o);int rl = rle_encode(d, o, strlen(o);int ocl = rle_decode(oc, d, rl);fwrite(oc, 1, ocl, stdout);free(d); free(oc);return 0;脈沖編碼調(diào)制(Pulse-code modulation - PCM)是模擬信號的數(shù)字表示,其中信號的振幅以統(tǒng)一的間隔進(jìn)行均勻采樣,然后量化至用數(shù)字形式(通常為二進(jìn)制)表示的一系列的符號。數(shù)字圖像處理30用于PCM的信號采樣與量化DPCM在PCM的基礎(chǔ)上增加了一些基于信號樣

15、本預(yù)測的功能,其輸入既可以是模擬信號,也可以是數(shù)字信號。存在兩種選項(xiàng),第一是采用兩個(gè)連續(xù)樣本的數(shù)值。如果是模擬樣本,則進(jìn)行量化;計(jì)算第一個(gè)樣本與下一個(gè)樣本之間的差值,作為輸出來用于進(jìn)一步的熵編碼。第二種選項(xiàng)是采用相對解碼過程的局部模型輸出的差值,而不是采用相對先前輸入樣本的差值。在第二種選項(xiàng)中,差值被量化,就允許對于編碼過程中損失的控制。數(shù)字圖像處理31數(shù)字圖像處理32基于第一選項(xiàng)的DPCM基于第二選項(xiàng)的DPCMLZW字典算法(LempelZivWelch - LZW)是一種通用的無損數(shù)據(jù)壓縮算法,由Abraham Lempel,Jacob Ziv和Terry Welch三人共同提出,這也是L

16、ZW命名的來歷。所要編解碼的對象為TOBEORNOTTOBEORTOBEORNOT#,其中 # 標(biāo)記信息的結(jié)尾。在字符系統(tǒng)中共包括26個(gè)符號,即從A至Z的26個(gè)大寫字母,再加上一個(gè)終止符 #。對這些符號進(jìn)行賦值,分別為1至26,和0,并將這些賦值使用位串來表示。數(shù)字圖像處理33# = 00000 = 0A = 00001 = 1B = 00010C = 00011.Z = 11010 = 26數(shù)字圖像處理34當(dāng)前 下個(gè) 輸出 擴(kuò)展序列 字符 代碼 比特 字典- - - - -NULL T T O 20 = 10100 27: TO - 27 = 0到26之后的第一個(gè)可用代碼O B 15 = 0

17、1111 28: OBB E 2 = 00010 29: BEE O 5 = 00101 30: EOO R 15 = 01111 31: OR R N 18 = 10010 32: RN - 32 需要6 個(gè)比特,所以下次輸出就需要6個(gè)比特N O 14 = 001110 33: NOO T 15 = 001111 34: OTT T 20 = 010100 35: TTTO B 27 = 011011 36: TOBBE O 29 = 011101 37: BEOOR T 31 = 011111 38: ORTTOB E 36 = 100100 39: TOBEEO R 30 = 01111

18、0 40: EORRN O 32 = 100000 41: RNOOT # 34 = 100010 - # 終止算法,發(fā)送當(dāng)前序列和終止碼 0 = 000000 未編碼長度 = 25*5 = 125 bits編碼長度 = 6*5 + 11*6 = 96 bits.數(shù)字圖像處理35 輸入 輸出 新的字典條目 比特 代碼 序列 完全 推測- - - - - 10100 = 20 T 27: T? 01111 = 15 O 27: TO 28: O? 00010 = 2 B 28: OB 29: B? 00101 = 5 E 29: BE 30: E? 01111 = 15 O 30: EO 31:

19、 O? 10010 = 18 R 31: OR - 32: R? - 5比特可以產(chǎn)生的最后代碼31001110 = 14 N 32: RN 33: N? 所以,開始使用6比特001111 = 15 O 33: NO 34: O?010100 = 20 T 34: OT 35: T?011011 = 27 TO 35: TT 36: TO?011101 = 29 BE 36: TOB - 37: BE? - 36 = TO + 下一個(gè)接受的編碼序列(BE)011111 = 31 OR 37: BEO 38: OR? 的第一個(gè)字符(B)100100 = 36 TOB 38: ORT 39: TOB

20、?011110 = 30 EO 39: TOBE 40: EO?100000 = 32 RN 40: EOR 41: RN?100010 = 34 OT 41: RNO 42: OT?000000 = 0 #所謂有損壓縮是利用了人類對圖像或聲波中的某些頻率成分不敏感的特性,允許壓縮過程中損失一定的信息;雖然不能完全回復(fù)原始數(shù)據(jù),但是所損失的部分對理解原始圖像的影響縮小,卻換來了大得多的壓縮比。有損方法的一個(gè)優(yōu)點(diǎn)就是在有些情況下能夠獲得比任何已知無損方法小得多的文件大小,同時(shí)又能滿足系統(tǒng)的需要。數(shù)字圖像處理36離散余弦變換(Discrete Cosine Transform - DCT)表示的是

21、一個(gè)有限數(shù)據(jù)點(diǎn)的序列,其通過在不同頻率之上的余弦函數(shù)之和來實(shí)現(xiàn)。DCT等價(jià)于大致具有兩倍長度、作用在偶對稱實(shí)數(shù)上的DFT,因?yàn)閷?shí)數(shù)偶函數(shù)的傅里葉變換還是實(shí)數(shù)偶函數(shù)。數(shù)字圖像處理37逆變換正變換數(shù)字圖像處理38二維DCT頻率數(shù)字圖像處理39數(shù)字圖像處理40去相關(guān)性去相關(guān)性正交性正交性能量緊湊能量緊湊性性對稱性對稱性可分離性可分離性數(shù)字圖像處理41數(shù)字圖像處理42數(shù)字圖像處理43向量量化(Vector Quantization - VQ)是一種基于塊編碼原則的有損數(shù)據(jù)壓縮方法。一個(gè)VQ其實(shí)就是一個(gè)近似器,其思想類似于四舍五入的操作,即取最近鄰整數(shù)。數(shù)字圖像處理44如果給定一個(gè)輸入向量,那么就需要選

22、擇一個(gè)codeword,以表示這個(gè)輸入向量與所選擇的codeword在同一個(gè)Voronoi區(qū)域中。數(shù)字圖像處理45分形變換(Fractal Transform)是由Michael Barnsley等人所發(fā)明的技術(shù),用于有損圖像壓縮。分形壓縮方法,最適用于紋理和自然圖像,其所依據(jù)的事實(shí)就是圖像中的一些區(qū)域通常與同一幅圖像中的其它區(qū)域相似。在大約高達(dá)50:1的壓縮比下,分形壓縮可以提供類似基于DCT算法(例如JPEG)的結(jié)果。對于視頻壓縮,分形壓縮在適當(dāng)?shù)膲嚎s時(shí)間(2.4至66秒每幀)內(nèi)可以取得25:1至244:1的壓縮比。數(shù)字圖像處理46基于分形變換的壓縮和解壓縮的大致思路分形變換壓縮分形變換壓縮分形變換解壓縮分形變換解壓縮分形理論用于圖像壓縮之所以有效,是因?yàn)樽匀唤缰衅毡榇嬖谥中挝矬w,它們表面上具有非常復(fù)雜的統(tǒng)計(jì)特性和視覺特性,但信息量卻很少,可用幾條簡單的確定規(guī)則迭代出來。數(shù)字圖像處理47JPEG,全稱是聯(lián)合圖像專家組(Joint

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論