版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本章重點:圖像編碼與壓縮的基本概念、理論及其編碼分類。常用的無損壓縮方法。常用的有損壓縮方法。第7章圖像編碼與壓縮7.1圖像編碼的必要性與可能性7.2圖像編碼分類7.3圖像編碼評價準(zhǔn)則7.4圖像編碼模型7.5無損壓縮7.6有損壓縮7.7JPEG圖像編碼壓縮標(biāo)準(zhǔn) 7.8MPEG視頻編碼壓縮標(biāo)準(zhǔn)7.9小結(jié)第7章圖像編碼與壓縮7.1圖像編碼的必要性與可能性7.1.2圖像編碼的可能性組成圖像的各像素之間,無論是在圖像的行方向還是在列方向,都存在著一定的相關(guān)性。常見的靜態(tài)圖像數(shù)據(jù)冗余包括:空間冗余,結(jié)構(gòu)冗余,知識冗余,視覺冗余,圖像區(qū)域的相同性冗余,紋理的統(tǒng)計冗余。7.2圖像編碼分類
7.3圖像編碼評價準(zhǔn)則
在圖像壓縮編碼中,解碼圖像與原始圖像可能會有差異,因此,需要評價壓縮后圖像的質(zhì)量。描述解碼圖像相對原始圖像偏離程度的測度一般稱為保真度(逼真度)準(zhǔn)則。常用的準(zhǔn)則可分為兩大類:客觀保真度準(zhǔn)則和主觀保真度準(zhǔn)則。7.3.1客觀保真度準(zhǔn)則
最常用的客觀保真度準(zhǔn)則是原圖像和解碼圖像之間的均方根誤差和均方根信噪比兩種。均方根誤差
:均方信噪比:
對上式求平方根,就得到均方根信噪比。
(7-2)(7-3)7.3.2主觀保真度準(zhǔn)則
具有相同客觀保真度的不同圖像,人的視覺可能產(chǎn)生不同的視覺效果。這是因為客觀保真度是一種統(tǒng)計平均意義下的度量準(zhǔn)則,對于圖像中的細(xì)節(jié)無法反映出來。一種常用的方法是對一組(不少于20人)觀察者顯示圖像,并將他們對該圖像的評分取平均,用來評價一幅圖像的主觀質(zhì)量。
例如可用{-3,-2,-1,0,1,2,3}來代表主觀評價{很差,較差,稍差,相同,稍好,較好,很好}。評分評價說明1優(yōu)秀圖像質(zhì)量非常好,如同人能想象出的最好質(zhì)量2良好圖像質(zhì)量高,觀看舒服,有干擾但不影響觀看3可用圖像質(zhì)量可以接受,有干擾但不太影響觀看4剛可看圖像質(zhì)量差,干擾有些妨礙觀看,觀察者希望改進(jìn)5差圖像質(zhì)量很差,幾乎無法觀看6不能用圖像質(zhì)量極差,不能使用表7.1電視圖像質(zhì)量評價尺度7.4圖像編碼模型
一個圖像壓縮系統(tǒng)包括兩個不同的結(jié)構(gòu)塊:
編碼器和解碼器。圖像f(x,y)輸入到編碼器中,編碼器可以根據(jù)輸入數(shù)據(jù)生成一組符號。在通過信道進(jìn)行傳輸之后,將經(jīng)過編碼的表達(dá)符號送入解碼器,經(jīng)過重構(gòu)后,生成輸出圖像。f(x,y)信源編碼信道編碼信道信道解碼信源解碼f’(x,y)一個常用于圖像壓縮系統(tǒng)模型7.4.1信源編碼器和信源解碼器信源編碼器的任務(wù)是減少或消除輸入圖像中的編碼冗余、像素間冗余或心理視覺冗余。
從原理來看主要分為三個階段:
第一階段將輸入數(shù)據(jù)轉(zhuǎn)換為可以減少輸入圖像中像素間冗余的數(shù)據(jù)的集合。第二階段設(shè)法去除原圖像信號的相關(guān)性。第三階段是找一種編碼方式。信源解碼器包含兩部分:符號解碼器和反向轉(zhuǎn)換器。編碼器模型
f(x,y)轉(zhuǎn)換器量化器符號編碼器信道信道符號解碼器反向轉(zhuǎn)換器Λf(x,y)(a)信源編碼器(b)信源解碼器7.4.2信道編碼器和解碼器
7.5無損壓縮
7.5.1霍夫曼編碼
一個事件集合x1,x2,,…xn,處于一個基本概率空間,其相應(yīng)概率為p1,p2,,…pn,且p1+p2+…pn=1。每一個信息的信息量為:
如定義在概率空間中每—事件的概率不相等時的平均不肯定程度或平均信息量叫作熵H,則:1.理論基礎(chǔ)
(7-9)(7-10)熵是編碼所需比特數(shù)的下限,即編碼所需要最少的比特。
例:設(shè)8個隨機變量具有同等概率為1/8,計算信息熵H。 解:根據(jù)公式7-10可得: H=8*[-1/8*(log2(1/8))=-8*[-1/8*(-3)]=3Huffman編碼是1952年由Huffman提出的一種編碼方法。這種編碼方法根據(jù)信源數(shù)據(jù)符號發(fā)生的概率進(jìn)行編碼。在信源數(shù)據(jù)中出現(xiàn)概率越大的符號,相應(yīng)的碼越短;出現(xiàn)概率越小的符號,其碼長越長,從而達(dá)到用盡可能少的碼符號表示源數(shù)據(jù)。它在變長編碼方法中是最佳的。2.Huffman編碼
設(shè)信源A的信源空間為:其中,現(xiàn)用r個碼符號的碼符號集對信源A中的每個符號(i=1,2,…,N)進(jìn)行編碼。具體編碼的方法是:(1)把信源符號按其出現(xiàn)概率的大小順序排列起來;(2)把最末兩個具有最小概率的元素之概率加起來;(3)把該概率之和同其余概率由大到小排隊,然后再把兩個最小概率加起來,再重新排隊;(4)重復(fù)(2)直到最后只剩下兩個概率為止。Huffman編碼具體方法:例:設(shè)有編碼輸入其頻率分布分別為現(xiàn)求其最佳霍夫曼編碼。 解:Huffman編碼過程下圖所示:
符號概率
x10.7x20.3x30.1x70.1x50.06x60.041
0.70.30.10.10.120.70.30.20.130.70.30.370.60.7
本例中對0.6賦予0,對0.4賦予1,0.4傳遞到x1,所以x1的編碼便是1。0.6傳遞到前一級是兩個0.3相加,大值是單獨一個元素x2的概率,小值是兩個元素概率之和,每個概率都小于0.3,所以x2賦予0,0.2和0.1求和的0.3賦予1。所以x2的編碼是00,而剩余元素編碼的前兩個碼應(yīng)為01。0.1賦予1,0.2賦予0。以此類推,最后得到諸元素的編碼如下:
元素x1x1x2x3x7x5x6概率P(x1)0.40.30.10.10.060.04編碼w110001101000101001011經(jīng)霍夫曼編碼后,平均碼長為:
= =0.71+0.302+0.13+0.17+0.065+0.075 =2.20(bit) 該信源的熵為H=2.17bit,編碼后計算的平均碼長為2.2bit,非常接近于熵??梢奌uffman編碼是—種較好的編碼。注意:短碼不作長碼的起始部分。Huffman編碼是最佳的,其平均碼長相同,不影響編碼效率和數(shù)據(jù)壓縮性能。由于Huffman碼的碼長參差不齊,因此,存在一個輸入、輸出速率匹配問題。解決的辦法是設(shè)置一定容量的緩沖存儲器Huffman碼在存儲或傳輸過程中,如果出現(xiàn)誤碼,可能會引起誤碼的連續(xù)傳播Huffman編碼對不同信源其編碼效率也不盡相同。Huffman編碼應(yīng)用時,均需要與其他編碼結(jié)合起來使用,才能進(jìn)一步提高數(shù)據(jù)壓縮比。Huffman編碼實現(xiàn)7.5.2香農(nóng)-費諾編碼
由于霍夫曼編碼法需要多次排序,當(dāng)很多時十分不便,為此費諾(Fano)和香農(nóng)(Shannon)分別單獨提出類似的方法,使編碼更簡單。具體編碼方法如下:
①把按概率由大到小、從上到下排成一列,然后把分成兩組,并使得
②把兩組分別按0,1賦值。然后分組、賦值,不斷反復(fù),直到每組只有一種輸入為止。將每個所賦的值依次排列起來就是費諾—香農(nóng)編碼。以前面哈夫曼編碼的例子進(jìn)行香農(nóng)-費諾編碼:輸入概率
x10.7o0x20.31010x30.11001100x70.111101x50.06101110x60.0411111
對一個5符號信源A={a1,a2,a3,a2,a7},各字符出現(xiàn)的概率和設(shè)定的取值范圍如下: 字符概率范圍
a30.2
[0.0,0.2)
a10.2
[0.2,0.4)
a20.4
[0.4,0.8) a70.2
[0.8,1.0) “范圍”給出了字符的賦值區(qū)間。這個區(qū)間是根據(jù)字符發(fā)生的概率劃分的。具體把a1、a2、a3、a7分配在哪個區(qū)間范圍,對編碼本身沒有影響,只要保證編碼器和解碼器對字符的概率區(qū)間有相同的定義即可。為討論方便起見,假定有
式中Ns為新于區(qū)間的起始位置;Fl為前于區(qū)間的起始位置,當(dāng)前符號的區(qū)間左端;Ne為新于區(qū)間的結(jié)束位置;Fe為前子區(qū)間的結(jié)束位置;當(dāng)前符號的區(qū)間右端;L為前子區(qū)間的長度。按上述區(qū)間的定義,若數(shù)據(jù)流的第一個字符為a1,由字符概率取值區(qū)間的定義可知,代碼的實際取值范圍在[0.2,0.4]之間,即輸入數(shù)據(jù)流的第一個字符決定了代碼最高有效位取值的范圍。繼續(xù)對源數(shù)據(jù)流中的后續(xù)字符進(jìn)行編碼。每讀入一個新的符號,輸出數(shù)值范圍就進(jìn)一步縮小。讀入第二個符號a2取值范圍在區(qū)間的[0.4,0.8]內(nèi)。由于第一個字符a1已將取值區(qū)間限制在[0.2,0.4]的范圍中,因此a2的實際取值是在前符號范圍[0.2,0.4]的[0.4,0.8]處,從而字符a2的編碼取值范圍在[0.28,0.36],而不是在[0,1]整個概率分布區(qū)間上。
每輸入一個符號,都將按事先對概率范圍的定義,在逐步縮小的當(dāng)前取值區(qū)間上確定新的范圍上、下限。繼續(xù)讀入第三個符號a3受到前面巳編碼的兩個字符的限制,它的編碼取值應(yīng)在[0.28,0.36]中的[0.0,0.2]內(nèi),即[0.28,0.296]。重復(fù)上述編碼過程,直到輸入數(shù)據(jù)流結(jié)束。最終結(jié)果如下: 輸入字符區(qū)間長度范圍
a10.2
[0.2,0.4)
a20.08
[0.28,0.36)
a30.016
[0.28,0.296) a20.0067[0.2867,0.2928) a10.00128[0.2915,0.2928]
隨著字符的輸入,代碼的取值范圍越來越小??梢杂靡粋€浮點數(shù)表示一個字符串,達(dá)到減少所需存儲空間的目的。7.5.4游程編碼
游程編碼(RLC)是一種利用空間冗余度壓縮圖像的方法,屬于統(tǒng)計編碼類。設(shè)圖像中的某一行或某一塊像素經(jīng)采樣或經(jīng)某種變換后的系數(shù)為:某一行或某一塊內(nèi)像素值可分為k段,長度為的連續(xù)串,每個串具有相同的值,那么,該圖像的某一行或某一塊可由下面偶對來表示:
其中為每個串內(nèi)的代表值,為串的長度。串長就是游程長度(Run—length),簡寫為RL,即由灰度值構(gòu)成的數(shù)據(jù)流中各灰度值重復(fù)出現(xiàn)而形成的長度。如果給出了灰度值、對應(yīng)長度及位置,就能很容易地恢復(fù)出原來的數(shù)據(jù)流。RL的基本結(jié)構(gòu)
游程編碼分為定長游程編碼和變長游程編碼兩類。定長游程編碼是指編碼的游程所使用位數(shù)是固定的,即RL位數(shù)是固定的。如果灰度連續(xù)相同的個數(shù)超過了固定位數(shù)所能表示的最大值,則進(jìn)入下一輪游程編碼。變長游程編碼是指對不同范圍的游程使用不同位數(shù)的編碼,即表示RL位數(shù)是不固定的。XSCRL串字符串位置串長游程編碼一般不直接應(yīng)用于多灰度圖像,但比較適合于二值圖像的編碼。
為了達(dá)到較好的壓縮效果,有時游程編碼和其他一些編碼方法混合使用。RLC比較適合二值圖像數(shù)據(jù)序列,其原因是在二值序列中,只有“0”和“1”兩種符號;這些符號的連續(xù)出現(xiàn),就形成了“0”游程:L(0),“1”游程:L(1)。定義了游程和游程長度之后,就可以把任何二元序列變換成游程長度的序列,簡稱游程序列。這一變換是可逆的,一一對應(yīng)的。7.5.5無損預(yù)測編碼
一幅二維靜止圖像,設(shè)空間坐標(biāo)(i,j)像素點的實際灰度為f(i,j),是根據(jù)以前已出現(xiàn)的像素點的灰度對該點的預(yù)測灰度,也稱預(yù)測值或估計值,計算預(yù)測值的像素,可以是同一掃描行的前幾個像素,或者是前幾行上的像素,甚至是前幾幀的鄰近像素。實際值和預(yù)測值之間的差值,以下式表示:
(7-13)由圖像的統(tǒng)計特性可知,相鄰像素之間有著較強的相關(guān)性。因此,其像素的值可根據(jù)以前已知的幾個像素來估計,即預(yù)測。預(yù)測編碼是根據(jù)某一模型,利用以往的樣本值對于新樣本值進(jìn)行預(yù)測,然后將樣本的實際值與其預(yù)測值相減得到一個誤差值,對于這一誤差值進(jìn)行編碼。如果模型足夠好且樣本序列在時間上相關(guān)性較強,那么誤差信號的幅度將遠(yuǎn)遠(yuǎn)小于原始信號。對差值信號不進(jìn)行量化而直接編碼就稱之為無損預(yù)測編碼。無損預(yù)測編碼器的工作原理圖如下:預(yù)測器源圖像熵編碼器編碼表壓縮源圖像
由先前三點預(yù)測可以定義為:
其中a1,a2,a3稱預(yù)測系數(shù),都是待定參數(shù)。如果預(yù)測器中預(yù)測系數(shù)是固定不變的常數(shù),稱之為線性預(yù)測。預(yù)測誤差:(7-14)(7-15)設(shè)a=f(i,j-1),b=f(i-1,j),c=f(i-1,j-1),的預(yù)測方法如右圖所示,可有8種選擇方法:選擇方法預(yù)測值0非預(yù)測1acb2bax3c4a+b-c5a+(b-c)/26B+(a-c)/27(a+b)/2例:設(shè)有一幅圖像,f(i-1,j-1),f(i-1,j),f(i,j-1),f(i,j)的灰度值分別為253,252,253,255,用圖7-8第四種選擇方法預(yù)測f(i,j)的灰度值,并計算預(yù)測誤差。 解:=a+b-c=f(i,j-1)+f(i-1,j)-f(i-1,j-1)=252+253-253=252 預(yù)測誤差=255-252=3 顯然,預(yù)測誤差e(i,j)=2比像素的實際值f(i,j)=255小的多,對2進(jìn)行編碼比對255直接編碼將占用更少的比特位。
7.5.6字典壓縮算法字典編碼方法是以類似查字典的方式進(jìn)行編碼。它的基本原理是以較長的字符串或經(jīng)常出現(xiàn)的字母組合構(gòu)成字典中的各個詞條,并用相對較短的數(shù)字或符號來表示的方法。
字典編碼按其構(gòu)成的方式可分為靜態(tài)字典方法和動態(tài)字典方法。1.LZ77算法LZ77是JacobZiv和AbrahamLempel在1977年發(fā)表的一篇論文中提出的。利用該算法進(jìn)行數(shù)據(jù)壓縮、解壓縮的過程,就像一個窗口在原始數(shù)據(jù)中滑動過程,故也常稱為基于滑動窗口的自適應(yīng)的字典壓縮方法。2LZ78算法LZ78是JacobZiv和AbrahamLempel在1978年發(fā)表的另一篇論文中提出的。LZ78算法不同于LZ77算法,它放棄了窗口概念,采用樹形結(jié)構(gòu)構(gòu)造字典和保存短語,從而確保文件中的內(nèi)容均能反映到字典中。3LZW算法1987年,TerryA.Welch在LZ78的基礎(chǔ)上進(jìn)行了改進(jìn),這就是著名的LZW壓縮算法。LZW壓縮算法是一種基于字典算法的編碼方法.他的基本思想是建立一個編碼表(轉(zhuǎn)換表)也稱串表,將輸入字符串映射成定長的碼子輸出,通常碼長設(shè)為12bit.12位可以有7096個不同的12位代碼,這就是說,轉(zhuǎn)換表有7096個表項,其中256個表項用來存放已定義的字符,剩下3870個表項用來存放前綴LZW編碼算法的具體執(zhí)行步驟如下:步驟1:開始時的詞典包含所有可能的根(Root),而當(dāng)前前綴P是空的;步驟2:當(dāng)前字符(C):=字符流中的下一個字符;步驟3:判斷綴2符串P+C是否在詞典中(1)如果“是”:P:=P+CPP(用C擴展P);(2)如果“否”①把代表當(dāng)前前綴P的碼字輸出到碼字流;②把綴2符串P+C添加到詞典;③令P:=CPP(現(xiàn)在的P僅包含一個字符C);步驟7:判斷碼字流中是否還有碼字要譯(1)如果“是”,就返回到步驟2;(2)如果“否”①把代表當(dāng)前前綴P的碼字輸出到碼字流;②結(jié)束.壓縮算法流程圖舉例:原始碼流
357667357678903335767837
原理(1).準(zhǔn)備一個數(shù)據(jù)字典(可以看做一個數(shù)組).數(shù)組的前256項初始化為0,1,2,...,255,后面的項為空白.為方便起見,我們管字典中的每一項叫"模式".
(2)開始對圖像文件編碼,圖像文件從左向右掃描,把掃描得到的數(shù)據(jù)與字典中的模式進(jìn)行比較.如果相同,就把這個"模"index(在數(shù)組中的位置)作為碼字輸出.如果在字典中找不到與之匹配的模式,則在字典中創(chuàng)建一個新的模式(從第256項開始).
原始碼流
357667357678903335767837開始編碼:
a
因為第一個數(shù)字是35,我們必然可以從字典中找到與之匹配的模式(也就是第35個),但我們不急著用第35個模式與之匹配,先看看第二個數(shù)字是76,希望在字典中能找到一個更長的模式"3576"這樣的模式,與之匹配,但不幸的是我們沒有找到,所以只對第一個數(shù)字35編碼,結(jié)果輸出35;
同時把"3576"加入字典的第256項,希望以后能碰到它.
b
同理,對76編碼,輸出76,同時把"7667"加入字典的第257項.
c
同理,對67編碼,輸出67,同時把"6735"加入字典的第258項.
d
這時注意了:對35編碼,是不是現(xiàn)在還輸出35呢?當(dāng)然不是,我們發(fā)現(xiàn)35后面跟著76,掃描字典,可以發(fā)現(xiàn)第256個模式與之匹配,輸出256.同時,將模式"357678"加入到字典的第259項.
e
同理,接下來輸出78,90,33,259,37.
所以輸出的碼流為35766725678903325937.
參考文獻(xiàn)[1]楊國梁,張光年.無損LZW壓縮算法及實現(xiàn).首都師范大學(xué)學(xué)報(自然科學(xué)版).2007.12.25卷,11-13[2]董雪豐,嚴(yán)閃.LZW壓縮算法.福建電腦.2007.1,26-27[3]林小竹,籍俊偉.一種改進(jìn)的LZW壓縮算法.計算機工程.2005.7,第31卷,199-2017.6有損壓縮
有損編碼是以丟失部分信息為代價來換取高壓縮比。有損壓縮方法主要有有損預(yù)測編碼方法、變換編碼方法等。7.6.1有損預(yù)測編碼
在預(yù)測編碼中,對差值信號進(jìn)行量化后再進(jìn)行編碼就稱之為有損預(yù)測編碼。有損預(yù)測方法有多種,其中差分脈沖編碼調(diào)制(DifferentialPulseCodeModulation,簡稱DPCM),是一種具有代表性的編碼方法。
DPCM系統(tǒng)由編碼器和解碼器組成,它們各有一個相同的預(yù)測器。DPCM系統(tǒng)的工作原理如下圖所示:量化器編碼器預(yù)測器信道傳輸解碼器輸入輸出預(yù)測器系統(tǒng)包括發(fā)送、接收和信道傳輸三個部分。發(fā)送端由編碼器、量化器、預(yù)測器和加減法器組成;接收端包括解碼器和預(yù)測器等;信道傳送以虛線表示。圖中輸入信號f(i,j)是坐標(biāo)(i,j)處的像素的實際灰度值,是由已出現(xiàn)先前相鄰像素點的灰度值對該像素的預(yù)測灰度值。e(i,j)是預(yù)測誤差。DPCM包含量化器,這時編碼器對編碼,量化器導(dǎo)致了不可逆的信息損失,這時接收端經(jīng)解碼恢復(fù)出的灰度信號不是真正的f(i,j),而是重建信號??梢娨肓炕鲿鹨欢ǔ潭鹊男畔p失,使圖像質(zhì)量受損。但是可以利用人眼的視覺特性,丟失不易覺察的圖像信息,不會引起明顯失真。7.6.2變換編碼
變換編碼不是直接對空域圖像信號編碼,而是首先將圖像數(shù)據(jù)經(jīng)過某種正交變換(如傅立葉變換(DFT),離散余弦變換(DCT),K-L變換等等)另一個正交矢量空間(稱之為變換域),產(chǎn)生一批變換系數(shù),然后對這些變換系數(shù)進(jìn)行編碼處理,從而達(dá)到壓縮圖像數(shù)據(jù)的目的。
變換編碼的原理如下圖:圖像數(shù)據(jù)經(jīng)過正交變換后,空域中的總能量在變換域中得到保持,但像素之間的相關(guān)性下降,能量將會重新分布,并集中在變換域中少數(shù)的變換系數(shù)上,因此,選擇少數(shù)F(u,v)來重建圖像就可以達(dá)到壓縮數(shù)據(jù)的目的,并且重建圖像僅引入較小誤差。變換多采用正交函數(shù)為基礎(chǔ)的變換。f(x,y)重建f(x,y)圖象正交變換樣本選擇量化編碼F(u,v)反正交變換補零解碼數(shù)字信道卡胡南-列夫變換(K-L) 對于N
N的矩陣T,有N個標(biāo)量λi,i=1,2,…,N,能使
|T-λiI|=0則λi叫做矩陣T的特征值。另外,N個滿足的向量Vi叫做T的特征向量,這些特征向量構(gòu)成一個正交基集。 設(shè)X是一個N
1的隨機向量,也就是說,X的每個分量都是xi隨機變量。X的均值(平均向量)可以由L個樣本向量來估計向量Mx:(7-32)Mx協(xié)方差矩陣可以由 來估計。協(xié)方差矩陣是實對稱的。對角元素是個隨機變量的方差,非對角元素是它們的協(xié)方差。定義一個線性變換T,它可由任何X向量產(chǎn)生一個新向量Y:
式中,T的各行是Mx的特征向量,即T的行向量就是Mx的特征向量。(7-33)(7-34)變換得到的Y是期望為零的隨機向量。Y的協(xié)方差矩陣可以由X的協(xié)方差矩陣決定: 因為T的各行是Φx的特征向量,故Φy是一個對角陣,對角元素是的Φx特征值。因此 這些也是的Φx特征值。隨機向量Y是由互不相關(guān)的隨機變量組成的,因此線性變換T起到了消除變量間的相關(guān)性的作用。Φx=λ1
···0······0···λN
(7-35)特征向量變換是可逆的。要實現(xiàn)對信號進(jìn)行K—L變換,首先要求出矢量x的協(xié)方差短陣Φx,再求協(xié)方差矩陣Φx的特征值λi,然后求λ對應(yīng)的Φx的特征向量,再用Φx的特征向量構(gòu)成正交矩陣T。例:若已知隨機矢量x的協(xié)方差矩陣為 求其正交矩陣T?Φx=62022-10-111)按,求Φx的特征值λi:得:則可解得:=6.857=2=0.1762)求λi對應(yīng)的特征向量。將λ1,λ2,λ3代入(7-31)中分別求得如下三個特征向量:
===
用V1,V2,V3的轉(zhuǎn)置向量作為正交矩陣T的行向量,那么,對于任一均值為0的向量X=(2,1,-0.1)的K-L變換為: 則Y的協(xié)方差矩陣Φy為:
Y=TX=0.9180.329-0.0670.333-0.6670.667-0.2170.6370.772
21-0.1=
2.237-0.0670.127ΦY=TΦXTT=6.85700020000.176離散余弦變換(DCT)在數(shù)字圖像壓縮編碼中,最佳變換K-L計算復(fù)雜,一般不采用。由于DCT與K-L變換壓縮性能和誤差很接近,而DCT計算復(fù)雜度適中,又具有可分離特性,還有快速算法等特點,所以近年來在圖像數(shù)據(jù)壓縮中,采用離散余弦變換編碼的方案很多。JPEG、MPEG、H.261等壓縮標(biāo)準(zhǔn),都用到離散余弦變換編碼進(jìn)行數(shù)據(jù)壓縮。余弦變換是傅立葉變換的一種特殊情況。在傅立葉級數(shù)展開式中,如果被展開的函數(shù)是實偶函數(shù),那么,其傅立葉級數(shù)中只包含余弦項,再將其離散化由此可導(dǎo)出余弦變換,或稱之為離散余弦變換DCT(DiscreteCosineTransform)。二維離散偶余弦正變換公式為:式中,x,y,u,v=0,1……,N-1。當(dāng)u=v=0時。
當(dāng)u=1,2,…,N-1;v=1,2,…,N-1時。
(7-38)二維離散偶余弦逆變換公式為:式中x,y,u,v=0,1……,N-1。當(dāng)u=v=0時。
當(dāng)u=1,2,…,N-1;v=1,2,…,N-1時。(7-39)二維離散余弦變換核具有可分離特性,所以,其正變換和逆變換均可將二維變換分解成系列一維變換(行、列)進(jìn)行計算。在DCT為主要方法的變換編碼中,一般不直接對整個圖像進(jìn)行變換,而是首先對圖像分塊,將M×N的一幅圖像分成不重疊的M/K×N/K個K×K塊分別進(jìn)行變換。這樣做的好處主要體現(xiàn)在:第一,降低運算量,如對一幅512×512圖像,分塊變換僅需約1/3的運算量;其次,后續(xù)的量化和掃描處理可以得到明顯的簡化;第三,容易將傳輸誤差引起的錯誤控制在一個塊內(nèi),而不是整個圖像擴散。分塊大小通常選8×8和16×16。7.7JPEG圖像編碼壓縮標(biāo)準(zhǔn)
JPEG(JointPhotographicExpertGroup,簡稱JPEG)是聯(lián)合圖像專家小組的英文縮寫。其中“聯(lián)合”的含意是指,國際電報電話咨詢委員會〔CCIITI〕和國際標(biāo)淮化協(xié)會(ISO)聯(lián)合組成的一個圖像專家小組。JPEG算法被確定為JPEG國際標(biāo)準(zhǔn),它是國際上彩色、灰度、靜止圖像的第一個國際標(biāo)準(zhǔn)。JPEG標(biāo)準(zhǔn)適于靜圖像的壓縮,電視圖像序列的幀內(nèi)圖像的壓縮編碼也常采用JPEG壓縮標(biāo)準(zhǔn)。7.7.1JPEG的工作模式
JPEG對每一個圖像分量單獨編碼。JPEG對每個不同的圖像分量可以采用不同的量化參數(shù)和熵編碼的碼表對于一個圖像分量,JPEG提供7種工作模式。
順序編碼:每一個圖像分量按從左到右,從上到下掃描,一次掃描完成編碼。
累進(jìn)編碼:圖像編碼在多次掃描中完成。
無失真編碼:解碼后能精確地恢復(fù)源圖像采樣值,其壓縮比低于有失真壓縮編碼方法。
分層編碼:圖像在多個空間分辨率進(jìn)行編碼。 7.7.2基本工作模式
基于DCTJPEG編碼的過程框圖
8×8塊編碼器DCT正變換量化器熵編碼器量化表熵編碼器源圖像數(shù)據(jù)壓縮的圖像數(shù)據(jù)7.7.2基本工作模式
解碼過程框圖
解碼器逆變換(IDCT)反量化器熵解碼器量化表熵編碼器恢復(fù)的圖像數(shù)據(jù)JPEG采用的是8×8大小的子塊的二維離散余弦變換(DCT)。在編碼器的輸入端,把原始圖像順序地分割成一系列8×8的子塊,設(shè)原始圖像的采樣精度為P位,是無符號整數(shù),輸入時把[0,2P]范圍的無符號整數(shù)變成[-2P-1,2P-1-1]范圍的有符號整數(shù),以此作為離散余弦正變換的輸入。在解碼器的輸出端經(jīng)離散余弦逆變換(IDCT)后,得到一系列8×8的圖像數(shù)據(jù)塊,需將其數(shù)值范圍由[-2P-1
,2P-1-1]再變回到[0,2P]范圍內(nèi)的無符號整數(shù),來獲得重構(gòu)圖像。為了達(dá)到壓縮數(shù)據(jù)的目的,對DCT系數(shù)需作量化處理。量化處理是一個多到一的映射,它是造成DCT編解碼信息損失的根源。在JPEG中采用線性均勻量化器,量化定義為對67個DCT系數(shù)除以量化步長,四舍五入取整。量化的作用是在一定的主觀保真度圖像質(zhì)量前提下,丟掉那些對視覺效果影響不大的信息。1611101627705161121217192658605517131627705769561717222951878062182237566810910377273555678110711392796778871031211201017292959811210010399例:給定Lena圖像的一個平坦區(qū)域(8×8子塊)如下:6971757987899169707376839095777776778589957173767986919377777782889193787680878892957678808593979577798185869797給出DCT變換系數(shù)量化過程。如下是它的DCT變換系數(shù),可以看到能量集中在少數(shù)低頻系數(shù):660.1250﹣77.079625.998010.39937.87508.78665.60251.3176﹣17.3267﹣2.67795.2236﹣1.32370.52220.29170.2800﹣2.2810.0280﹣0.6763﹣0.95750.96202.77301.9783﹣0.3162.17712.30030.7572﹣2.27033.55591.2907﹣1.00270.15800.9777﹣2.37500.1038﹣3.22200.96531.37502.22580.38753.52360.9297﹣1.3282﹣2.72560.9828﹣1.9317﹣0.69720.1253﹣1.8560.39732.6670﹣0.5669﹣3.7168﹣0.8891﹣1.6182﹣2.575﹣1.7322.16661.7238﹣0.3335﹣0.7808﹣2.6253﹣0.96991.7857﹣1.183用JPEG的亮度量化矩陣式對每個系數(shù)進(jìn)行均勻量化,量化器輸出為:71﹣731000010000000000000000000000000000000000000000000000000000000反量化后,進(jìn)行DCT反變換,得到的解碼圖像為:
8075717278858990 8075717278858990 8076727379869091 8177727780879192 8277737781879193 8378777581889293 8379757682899397 87797576828993978×8子塊的64個變換系數(shù)經(jīng)量化后,按直流系數(shù)DC和交流系數(shù)AC分成兩類處理。坐標(biāo)u=v=0的直流系數(shù)DC實質(zhì)上就是空域圖像中67個像素的平均值。相鄰的8×8子塊之間的DC系數(shù)有強的相關(guān)性,JPEG對DC系數(shù)采用DPCM編碼,即對相鄰塊之間的DC系數(shù)的差值DIFF=DCi
-DCi-1編碼。
DCj-2DCj-1DCjDCj+1DCj+2其余63個系數(shù)稱為交流系數(shù)(AC系數(shù))采用行程編碼。由于低頻分量多呈圓環(huán)形輻射狀向高頻率衰減,因此可看成按Z字形衰減,如下圖所示。因此,AC系數(shù)按Z字形掃描讀數(shù)。AC0DCAC0AC7AC7對這63個AC系數(shù)采用非常簡單和直觀的行程編碼,行程編碼采用兩個字節(jié)表示。JPEG使用1字節(jié)的高4位表示連續(xù)“0”的個數(shù),而使用它的低四位來表示下一個非“0”系數(shù)所需要的位數(shù),跟在它后面的是量化AC系數(shù)的數(shù)值。AC系數(shù)的行程編碼如下圖所示:NNNNSSSS兩個非零值間連續(xù)零個數(shù)表示下一個非零值需要的比特數(shù)第一個字節(jié)下一個字節(jié)(RunLength)(Size)下一個非零值的實際值例JPEG標(biāo)準(zhǔn)編碼和解碼
考慮下列8×8子圖像,使用JPEG基本標(biāo)準(zhǔn)進(jìn)行壓縮和重構(gòu):
52
55
61
66
70
61
67
73
63
59
66
90
109
85
69
72
62
59
68
113
177
107
66
73
63
58
71
122
157
106
70
69
67
61
68
107
126
88
68
7079
65
60
70
77
68
58
7585
71
67
59
55
61
65
8387
79
69
68
65
76
78
97原圖像包含256個可能的灰度級,因此,編碼過程從對原子圖像的像素層次移動-128或128個灰度級開始。得到的移住陣列為:
-76
-73
-67
-62
-58
-67
-67
-55
-65
-69
-62
-38
-19
-73
-59
-56
-66
-69
-60
-15
16
-27
-62
-55
-65
-70
-57
-6
26
-22
-58
-59
-61
-67
-60
-27
-2
-70
-60
-58
-79
-63
-68
-58
-51
-65
-70
-53
-73
-57
-67
-69
-73
-67
-63
-75
-71
-79
-59
-60
-63
-52
-50
-37對N=8,正向DCT,變換的陣列為:-715
-29
-62
25
55
-20
-l
3
7
-21
-62
9
11
-7
-6
6-76
8
77
-25
-30
10
7
-5-50
13
35
-15
-9
6
0
3
11
-8
-13
-2
-1
1
-7
1
-10
1
3
-3
-1
0
2
-1
-7
-l
2
-l
2
-3
1
2
-1
-1
-1
-2
-1
-l
0
-1如果用JPEG推薦的標(biāo)準(zhǔn)化陣列對變換陣列進(jìn)行量化,則進(jìn)行按比例舍入后的系數(shù)是:-26
-3
6
2
2
0
0
01
-2
-7
0
0
0
0
0-3
1
5
-l
-1
0
0
0-7
1
2
-1
0
0
0
01
0
0
0
0
0
0
00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0變換和標(biāo)準(zhǔn)化處理過程產(chǎn)生了大量的零值系數(shù)。按z形模式對這些系數(shù)進(jìn)行重新排列的時候,得到的一維系數(shù)序列是:[-26-31-3-2-62-7171150200-12000001-1EOB]這里,EOB字符代表塊結(jié)尾標(biāo)志。使用的專用EOB霍夫曼碼字(1010)表明在重新排列的序列中系數(shù)余項均為0。DC系數(shù)編碼(DPCM)設(shè)前一個DC系數(shù)是-17,
得到的DPCM差為[-26-(-17)]或-9
查找JPEG系數(shù)編碼分類表
對一個類7的差的合理基礎(chǔ)編碼是101(一個3比特編碼),而經(jīng)過完整編碼的類7系數(shù)的總長度應(yīng)有7比特。余下的7比特應(yīng)該根據(jù)差值的最低有效位(ISB)生成。對一個一般的DC差異類(如,類K),需要額外的K比特,并將正差或負(fù)差的K個LSB進(jìn)行減1運算。對差為-9的值,合理的LSB為(0111)-1或0110,且完整的DPCM編碼的DC碼字是1010110。重排陣列的非零AC系數(shù)根據(jù)JPEG系數(shù)編碼分類表和JPEG默認(rèn)AC編碼表可以進(jìn)行類似的編碼。主要差別在于每個默認(rèn)的AC霍夫曼碼字依賴于前述對非零系數(shù)編碼后的零值系數(shù)的數(shù)目,以及非零系數(shù)的量級分類
第一個重排陣列的非零AC系數(shù)(-3)的編碼為0100。第二個系數(shù)(1)的編碼為001;第三個系數(shù)(-3)的編碼為0100。………..第17個AC系數(shù)(-1)編碼為
110110繼續(xù)使用這種方法,完整的編碼(重排列)陣列為:10101100100001
01000101
100001
0110
100011
001
100011
001001
100101
11100110
101100110
11110100000
10107.8MPEG視頻編碼壓縮標(biāo)準(zhǔn)
從時間的觀點看,數(shù)字圖像分為靜態(tài)圖像和運動圖像,視頻信號就是典型的運動圖像。視頻壓縮的目標(biāo)是在盡可能保證視覺效果的前提下減少視頻數(shù)據(jù)率。根據(jù)壓縮前和解壓縮后的數(shù)據(jù)是否完全一致,視頻壓縮可分為有損壓縮和無損壓縮。無損壓縮意味著解壓縮后的數(shù)據(jù)與壓縮前的數(shù)據(jù)完全一致。有損壓縮則意味著解壓縮后的數(shù)據(jù)與壓縮前的數(shù)據(jù)不一致。視頻編解碼過程:外部控制編碼比特流a)視頻編碼b)視頻解碼編碼控制信源編碼器多路視頻編碼器發(fā)送緩沖區(qū)接收緩沖區(qū)多路視頻解碼器信源解碼器視頻信號視頻信號的壓縮包括兩個主要方面:幀內(nèi)壓縮與幀間壓縮。幀內(nèi)(Intraframe)壓縮也稱為空間壓縮(Spatialcompression)。當(dāng)壓縮一幀圖像時,僅考慮本幀的數(shù)據(jù)而不考慮相鄰幀之間的冗余信息。幀間(Interframe)壓縮是基于許多視頻或動畫的連續(xù)前后兩幀具有很大的相關(guān)性。即連續(xù)的視頻其相鄰幀之間具有冗余信息。根據(jù)這一特性,壓縮相鄰幀之間的冗余量就可以進(jìn)一步提高壓縮量,減小壓縮比。幀間壓縮也稱為時間壓縮(Temporalcompression),它通過比較時間軸上不同幀之間的數(shù)據(jù)進(jìn)行壓縮。MPEG(MovingPictureExpertGroup)是運動圖像專家組的簡稱。該小組于1991年底提出了用于數(shù)字存儲媒介的、速率約1.5MB/s的運動圖像及其伴音的壓縮編碼,并于1992年正式通過,通常被稱為MPEG標(biāo)準(zhǔn),此標(biāo)準(zhǔn)后來被定名為MPEG-1。
到目前為止,MPEG標(biāo)準(zhǔn)己不再是—個單一的標(biāo)準(zhǔn),而是一個用于全運動視頻和相關(guān)音頻壓縮的標(biāo)準(zhǔn)系列,包括MPEG-l、MPEG-2、MPEG-3、MPEG-4和MPEG-7共5個標(biāo)準(zhǔn),每一個標(biāo)準(zhǔn)都有其特定的應(yīng)用范圍。其中,MPEG-1和MPEG-2標(biāo)準(zhǔn)的應(yīng)用范圍最廣。
MPEG-1用于加速CD-ROM中圖像的傳輸。MPEG-2用于寬帶傳輸?shù)膱D像,圖像質(zhì)量達(dá)到電視廣播甚至HDTV的標(biāo)準(zhǔn)。和MPEG-1相比,MPEG-2支持更廣的分辨率和比特率范圍,將成為數(shù)字圖像盤(DVD)和數(shù)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年物流管理專業(yè)知識試題解析
- 2026年企業(yè)運營崗位晉升中層管理考試題目及答案解析
- 2026年智能終端技術(shù)與應(yīng)用認(rèn)證試題庫
- 2026年生物技術(shù)實驗題目分子生物學(xué)實驗技術(shù)與操作考核題
- 2026年公務(wù)員考試行政能力測試申論預(yù)測模擬題集
- 2026年心理治療師資格認(rèn)證預(yù)測模擬題
- 2026年企業(yè)法務(wù)人員業(yè)務(wù)能力測試
- 2026年機械設(shè)計制造與自動化實操測試
- 2026年美食旅游線路設(shè)計與知識問答
- 護(hù)理安全文化:員工授權(quán)與參與
- 2025~2026學(xué)年福建省泉州五中七年級上學(xué)期期中測試英語試卷
- 聯(lián)合辦公合同范本
- 2025年生物多樣性保護(hù)與生態(tài)修復(fù)項目可行性研究報告
- 2025年黑龍江省檢察院公益訴訟業(yè)務(wù)競賽測試題及答案解析
- 一氧化碳中毒救治課件
- 《會計信息化工作規(guī)范》解讀(楊楊)
- 高海拔地區(qū)GNSS大壩監(jiān)測技術(shù)研究
- 艾滋病的抗病毒治療
- 實施指南(2025)《DL-T 1630-2016氣體絕緣金屬封閉開關(guān)設(shè)備局部放電特高頻檢測技術(shù)規(guī)范》
- 慢性胃炎的護(hù)理業(yè)務(wù)查房
- 2025至2030中國生物識別和身份行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
評論
0/150
提交評論