第四章 靜止圖像編碼_第1頁
第四章 靜止圖像編碼_第2頁
第四章 靜止圖像編碼_第3頁
第四章 靜止圖像編碼_第4頁
第四章 靜止圖像編碼_第5頁
已閱讀5頁,還剩112頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第四章

靜止圖像編碼中國礦業(yè)大學信電學院主要內(nèi)容

4.1概述

4.2預測編碼

4.3變換編碼

4.4灰度圖像編碼4.5靜止圖像壓縮標準JPEG

4.6二值圖像壓縮標準JBIG

4.7JPEG20004.1概述概念:靜止圖像指從顯示屏上觀察到的內(nèi)容和狀態(tài)不變的圖像。分類:從被攝對象來看,靜止圖像包括內(nèi)容本身是靜

止的圖像和活動場景的某一時刻的“凝固”現(xiàn)象。從編碼角度來看,靜止圖像編碼指對單幅圖像

的編碼和不考慮各幀之間相關性的一幅幅獨立圖

像的編碼。靜止圖像編碼要求:

清晰度:圖像是靜止的,人眼易于觀察圖像中細節(jié)。而不能利用人視覺暫留特性,要求高清晰度。

逐漸浮現(xiàn)的顯示方式:為了使觀察者不至于等待過長時間,或者處于傳輸效率等方面考慮,往往要求編碼提供逐漸浮現(xiàn)的顯示方式,即先傳輸一幅模糊的整幅圖像,然后隨傳輸進行再逐漸變清晰。

抗干擾:一幅畫面?zhèn)鬏旈g隔較長,各種干擾噪聲在顯示屏上保留時間較長,對人眼觀看極為不利。因此要求編碼與調(diào)制方式都具較強的抗干擾能力。統(tǒng)計編碼(Huffman編碼、香農(nóng)編碼、

算術編碼、LZW編碼)—無損壓縮

預測編碼和變換編碼)—有損壓縮灰度圖像的抖動編碼、方塊編碼、比特平面

編碼)—有損壓縮靜止圖像壓縮編碼國際標準JPEG二值圖像壓縮編碼國際標準JBIG靜止圖像編碼方法:4.2預測編碼1、定義:

指利用圖像信號的空間或時間相關性,用已傳輸?shù)南袼貙Ξ斍暗南袼剡M行預測,然后對預測值與真實值的差——預測誤差進行編碼處理和傳輸。當預測比較準確,預測誤差較小時,就可用較少比特進行編碼,可達到壓縮編碼目的。2、預測編碼分類:

無損預測編碼:

關鍵是預測誤差不被再次量化而直接編碼傳送。

有損預測編碼:在保證傳輸質量前提下,可以進一步利用人的主觀視覺特性,對預測誤差進行量化后再編碼傳送。通常為差分脈沖編碼調(diào)制DPCM。3、無損預測編碼

無損預測編碼系統(tǒng):編碼器+解碼器(有相同的預測器)3、無損預測編碼 輸入序列:fn

(n=1,2,…) 預測輸出:(舍入成整數(shù)) 預測誤差: 誤差編碼:在符號編碼器中用變長碼編誤差 解壓序列: 哪里取得了壓縮?(消除了象素間冗余)

3、無損預測編碼

線性預測器的設計:對于一幅具體圖像,當用前k個像素的線性組合來表示預測值時,每個像素的權重構成預測器的系數(shù)集合。

m階線性預測:1-D線性預測:

一階1-D線性預測:

4、有損預測編碼

在有損預測編碼中,目前用較多的是差分脈沖編碼調(diào)制DPCM。DPCM主要是對預測誤差進行量化編碼。令

為空間坐標像素點的實際灰度值;為空間坐標像素點的預測灰度值實際值和預測值之差對預測誤差信號進行量化、編碼、發(fā)送,則為差分脈沖編碼調(diào)制DPCM。4、DPCM編、解碼原理:

增加了1個量化器,預測器放在1個反饋環(huán)中為輸入圖像像素樣值(tn時刻樣本值);為根據(jù)tn時刻以前采樣值x1,…,xn-1所作預測值為與的差值,即:為經(jīng)量化器后的輸入信號;為接收端自身形成的預測值;為接收端信號,即接收端恢復的輸出信號;并且作為發(fā)送端和接收端的預測器的輸入;當輸入信號f(i,j)進入時,f(i,j)先與預測值相減,所得預測誤差值經(jīng)量化器量化成數(shù)字信號

后,通過編碼后進行傳輸發(fā)送。接收端解碼得到與接收端的預測器產(chǎn)生的預測值相加,得到再現(xiàn)序列??煽吹桨l(fā)送端預測值和接收端預測值

產(chǎn)生的過程相同。因為發(fā)送端和接收端具有相同預測器,且預測器輸入信號也相同。在發(fā)射端,與相加得到,然后該作預測器輸入,按照線性或非線性預測原理求出下一個預測值。

則發(fā)送端原始信號f(i,j)和接收端重建信號f’(i,j)之間存在誤差為:此為發(fā)送端量化器所造成的量化誤差4、最佳線性預測:

DPCM編碼器的輸出是輸入樣值與預測值

之間的差值,即預測誤差的量化值DPCM編碼性能的優(yōu)劣,很大程度上取決于預測器的設計,而預測器的設計關鍵在于確定各個預測系數(shù)。最佳線性預測主要是選擇一組預測系數(shù)使得預測誤差的均方誤差值為最小。假設當前待編碼的像素為X0,其前面N個已編碼像素分別為X1,X2,…,Xn。若用它們對進行預測,并用表示預測值,{ai|i=1,2,…,N}表示預測系數(shù),則可寫成:則預測誤差為:X0的最優(yōu)估計值是使誤差e的期望值為最小的,也就是說最佳線性預測為選擇預測系數(shù)ai使預測誤差均方值為最小。要使均方誤差值為最小,則有:注意:需分別對各個ai求偏微分。整理后得:這為一個N階線性方程組,可由此解出N個預測系數(shù){ai|i=1,2,…,N}。由于解出的N個預測系數(shù)使預測誤差的均方值為最小,因此稱為最佳預測系數(shù)。均方差定義為:且為了對于恒定的輸入時能得到恒定的輸出,預測系數(shù)應滿足等式:因為假設圖像中一區(qū)域亮度值為一常數(shù),那么預測器預測值也應為一相同常數(shù),即:(常數(shù))又因為:例:一個三階預測系統(tǒng)如右圖,為一幅像素(i,j)的預測域圖,圖中示出(i,j)像素的三個相鄰像素。則由圖中三點預測,定義為:構成三階預測器。其中a1,a2,a3稱為預測系數(shù),都是待定系數(shù)。預測誤差:應用均方誤差最小準則,求出預測系數(shù)a1,a2,a3,以獲得f(i,j)的最佳線性預測值均方誤差表達式為:將預測值與實際值之間的均方誤差,對a1,a2,a3求偏導,令:解方程得到a1,a2,a3,即為最佳線性預測系數(shù)4.3變換編碼變換編碼是一種間接編碼方法。是有失真編碼中應用最廣泛的一類編碼方法。輸入圖像子塊劃分正變換系數(shù)量化熵編碼信道熵解碼反量化反變換子塊拼接輸出圖像變換編碼包括4部分:子塊劃分,正變換,量化,熵編碼1、子塊劃分子塊劃分是影響變換編碼誤差和計算復雜度的重要因素。(壓縮量和計算復雜度都隨子圖象尺寸的增加而增加)決定子塊劃分大小的條件:相鄰子圖像之間的相關(冗余)隨著塊尺寸增大而減小,可減少到某個可接受的水平子圖象的長和寬都是2的整數(shù)次冪最常用的子圖象尺寸:88和1616正變換(例如DFT,DCT等)是將空間域里描述的圖像,經(jīng)過某種變換在變換域中進行描述,達到改變能量分布的目的,將圖像能量在空間域的分散分布變?yōu)樵谧儞Q域的能量的相對集中分布,這樣有利于進一步采用其它圖像處理方式。2、正變換依據(jù):圖像變換使圖像信號能量重新分布,其中低頻成分占能量的絕大部分,而高頻成分占比重很小,根據(jù)統(tǒng)計編碼原理,能量分布集中,熵值很小,可實現(xiàn)平均碼長為最短。2、正變換正變換方法實際中常用有:DFT、DCT變換等。從理論上說,正變換本身不能對圖像進行有效壓縮。經(jīng)過正變換后,把原始圖像表示為正變換后所得到正變換系數(shù)矩陣。

變換編碼就是對正交變換得到的系數(shù)矩陣進行量化和編碼。注意:正交變換本身不產(chǎn)生壓縮。正交變換只是去除原圖像中的相關性,使能量集中于少數(shù)變換系數(shù),使壓縮成為可能。3、變換編碼的工作原理:

在變換階段,系統(tǒng)將原圖像分割成一個個小圖像塊,通常為88或1616小方塊。對每個小方塊進行某種正交變換,降低或消除相鄰像素之間或相鄰掃描行之間的相關性,提供用于編碼壓縮的變換系數(shù)矩陣。變換后常用編碼方案:區(qū)域抽樣閾值抽樣區(qū)域抽樣:由于變換系數(shù)集中在低頻區(qū)域,而低頻區(qū)集中在變換域的左上角,可對該區(qū)域變換系數(shù)進行量化、編碼、傳輸;而右下角高頻區(qū)既不編碼又不傳輸,可達壓縮目的。缺點為高頻分量被丟棄,圖象分辨率下降。閾值抽樣:設定一閾值,只對變換系數(shù)幅值大于此閾值的編碼,這樣使低頻成分不僅保留,而且某些高頻成分也被選擇編碼。重建圖像時,品質得到改善。注意:壓縮編碼并不是在變換步驟得到的,而是在量化變換系數(shù)時得到的。例:區(qū)域抽樣一個88的圖像子塊DCT變換系數(shù)矩陣對DCT變換系數(shù)矩陣以8為步長量化量化公式:Squv=round(Suv/8)其中:Suv是DCT系數(shù),8為量化步長則量化后的系數(shù)矩陣為:分析:大部分區(qū)域譜能量主要集中在左上角的地方。壓縮方法:選擇能量集中的區(qū)域進行編碼,舍棄能量為0和零星能量區(qū)域。000000000000000例:閾值抽樣原理:將變換系數(shù)與門限值相比較,大于門限的給予編碼,否則舍棄。經(jīng)Walsh變換后系數(shù)編碼方法:選0為閾值,系數(shù)位置的行列號均以4位表示,變換系數(shù)的值以7位表示。編碼:行列系數(shù)64:32:變換方式及方塊尺寸的選擇在常用的正交變換中,DCT的性能很好,所以,圖像編碼往往采用DCT變換。隨著技術的發(fā)展,目前,已經(jīng)提出多種新的變換方法,如小波變換。塊尺寸一般選為8×8或16×16。4.4灰度圖像編碼4.4.1抖動編碼主要是早期圖像處理中用于圖像的打印,現(xiàn)已很少使用。一、基本原理:將灰度圖像轉換為二值圖像,然后再對二值圖像進行編碼。通過一個抖動矩陣定出灰度圖像中各個像素的閾值,根據(jù)這些閾值確定原圖像相應的像素取1或0。二、基本方法:1.抖動矩陣定義:一個m×m的模板,每個元素均不相同,取值為0、1、…,2m-1,表示0到2m-1個灰度級別的值。例如256級灰度值的抖動矩陣為8×8的矩陣,每個元素取值分別為0到255。2.抖動矩陣產(chǎn)生:Limb在1969年提出的抖動矩陣的算法設通過遞推關系有:其中Mn和Un均為2n2n的方陣,Un所有元素為1。則有:M2為16級灰度的標準圖像。3.抖動編碼方法:將灰度圖像中像素值與抖動矩陣比較,當圖像像素值大于對應矩陣的像素值時輸出為1,反之,輸出為0。M3為256級灰度的標準圖像。編碼實例原圖抖動矩陣編碼實例編碼結果注意:由于實際的灰度圖像級別一般都在0到255之間分布,因此,進行抖動編碼時需根據(jù)圖像的灰度層次情況選擇適當階數(shù)的抖動矩陣。4.4.2方塊編碼(BTC)一、基本原理:方塊編碼是把一幅圖像劃分成大小為NN的互不重疊的子塊,由于子塊內(nèi)各相鄰像素間具有灰度相關性,可選用兩個適當灰度級來近似代表子塊內(nèi)各像素原來的灰度,然后指明子塊內(nèi)各像素分別屬于哪個代表性灰度級。方塊編碼的過程基本上就是圖像的局部二值化。方塊編碼可將某一幀圖象得以壓縮而不致使圖象質量有明顯的下降。

二、基本方法:設圖像中一個子塊大小為m=NN個像素,子塊中第i個像素為Pi

,其灰度值為Xi。編碼后子塊的兩個代表性灰度為a0,a1,稱之為灰度級分量。如果用一個二元碼i指明像素Pi編碼后屬于a0或a1,則i稱為分辨率分量。設方塊內(nèi)灰度閾值為XT

,像素Pi編碼后的灰度值為Yi,則基本編碼方法可用下式表示:由上式可知,編碼后圖像方塊的像素亮度{Y1,Y2,…,Ym}可以用{a0,a1}和{1,2,…,m}的組合表示。{a0,a1}為兩個實際的代表性灰度值。

{1,2,…,m}組成一個m比特的比特面。若設a0,a1各用P比特,i用1比特,則編碼后每個像素的平均比特數(shù)為:通常方塊尺寸選為m=44較好。若取m=44,P=8比特,則經(jīng)方塊編碼后壓縮到每像素比特數(shù)為B=2bit/像素,壓縮比C=8/2=4。由上式可見,m越大,B越小,壓縮比越高,但會圖像質量下降。因為方塊尺寸越大,子塊內(nèi)像素相關性越小,只用兩個灰度作近似,逼真度會愈差。編碼實例給定以下4×4圖像方塊,對該圖像方塊編碼。解:設灰度判決閾值為該圖像塊的均值。則有:判決閾值設該圖像方塊的兩個代表性灰度為a0和a1。a0用低于判決閾值的像素集合的均值表示。a1用高于判決閾值的像素集合的均值表示。如果用一個二元碼指明某像素編碼后屬于a0或a1。且有:則{1,2,…,16}組成一個16比特的比特面B,有:計算a0和a1,四舍五入取整有:

則{194,25}和比特圖B將一起傳輸給接收端。接收端解碼恢復圖像為:三、量化器的設計:適當選擇編碼參數(shù)a0,a1及XT,使編碼后方塊灰度值和方差與原始圖像的灰度相同或近似相同。下面為兩種典型方案:(都取,只需選擇a0,a1)方案1:保持一階矩、二階矩的參數(shù)選擇取閾值,記,q為編碼后灰度為a1的像素的個數(shù)。編碼策略為保持一階矩、二階矩不變,則:解此方程組可得:其中為子塊的均方差。方案2:均方誤差最小的參數(shù)選擇取閾值,記,q為編碼后灰度為a1的像素的個數(shù)。編碼策略為使均方誤差為最小,則:令,可得出:可看出,a0是方塊中灰度級低于閾值XT的像素灰度平均值,可記為XL。a1是方塊中灰度級大于閾值XT的像素灰度平均值,可記為XH。例:試對圖像子塊進

行方塊編碼155541555315151521515153解:求出閾值XT而當XiXT時的子塊中像素個數(shù)q=8。(1)采用保持矩不變選擇量化參數(shù)a0,a1則且{1,2,…,16}組成一個16比特的比特面,為:1000100011101110方塊編碼傳輸恢復圖像137771377713131371313137編碼后每個像素的平均比特數(shù)為:(2)采用均方誤差最小選擇量化參數(shù)a0,a1且{1,2,…,16}組成一個16比特的比特面,為:1000100011101110方塊編碼傳輸恢復圖像154441544415151541515154編碼后每個像素的平均比特數(shù)為:四、進一步降低數(shù)碼率的方法:在方塊尺寸固定情況下,即m=NN一定時,可以從兩方面著手進一步降低碼率:(1)選擇合適的傳輸用的灰度級分量,通過成組編

碼方式降低傳輸效率。用和取代a0,a1進行傳輸(收端同樣可恢

復編碼圖像)當圖像的方差大時,傳輸圖像平均值用較少比特數(shù),即對圖像平均值作粗量化;反之,則用較多的比特數(shù)。依據(jù):根據(jù)人的視覺特性,當圖像方差大時,即灰度變化大時,對圖像平均值不太敏感;而當圖像方差小,即灰度變化平緩,要求所傳輸?shù)钠骄狄M量精確些。所需碼字數(shù)00~151611~141421,3,5,7,9,11,13832,4,6,8,10,12,14742,4,6,8,10,12,14752,5,8,11,14563,6,9,12474,7,103總計64下表給出一個4bit圖像的(,)聯(lián)合量化方案。如果分別傳輸和,則要4+3=7bit。如采用下表方案,則編碼共需64種不同碼字,僅需6bit。(2)通過比特面的再劃分,降低傳輸碼率。比特面尺寸為4×42222將尺寸為4×4的比特面劃分為4個2×2的次比特面。而次比特面a,b,c,d為全0或全1的相對次數(shù)要高,其它情況很少出現(xiàn)。采用比特面編碼可實現(xiàn)碼率降低。4.4.3比特平面編碼一、概念:1、比特平面:假如一灰度圖像為n比特/像素,將每個像素的第j個比特抽取出來,得到一個稱為比特平面的二值圖像。圖像可用一組共n個比特平面表示。2、比特平面編碼:將一圖像用一組共n個比特平面來表示,則把對灰度圖像的編碼轉換為分別對n個各比特平面的二值編碼。通常再將每個比特平面分為不重疊的mn個像素子塊,然后進行二值編碼。3、灰度圖像的比特平面分解:168256級灰度圖像最低位最高位8bit灰度圖像的比特平面分解(以一個像素點為例)設有一幅2×2的圖像,灰度級為4(00、01、10、11),設圖像數(shù)據(jù)為把原圖像分成兩幅二值圖像,把這樣生成的二值圖像稱為比特平面的二值圖像。256個灰度級的圖像可分為8個比特平面24位真彩色可分為3個8比特平面,24個比特平面。高比特面低比特面二進制二、次最佳方塊編碼:統(tǒng)計分析表明,比特平面中有三種結構的方塊:mn個全“0”;mn個全“1”;m×n個其它情況則有如下的次最佳方塊編碼方案:全“0”子塊:碼字為“0”;

全“1”子塊:碼字為“11”;

其它情況:碼字為“10”+“”;“”為將子塊的比特內(nèi)容直接輸出。問題:每個子塊編碼碼長?若設P(0;n,m)和P(1;n,m)分別為mn個全“0”和全“1”子塊出現(xiàn)概率,則此編碼方案的平均碼長L:壓縮比為Cr:對于方塊尺寸的選擇,通常取n=m=4較為合適。4.4.4漸進編碼一、基本思想:在發(fā)送端首先傳輸一幅低分辨率圖像,隨著傳輸過程進行,逐漸傳送細節(jié)部分;在接收端,解碼器可以快速顯示一整幅低質量圖像。接收者可以較快看到圖像大致輪廓。隨著接收和解壓圖像越來越多,顯示質量逐漸提高,最后看到一幅清晰圖像。通常接收者在只解壓出5~10%時就能識別出大部分圖像特征。二、目的和特點:漸進編碼是一種可控制的有損模式。目的

為了以不同的質量或分辨率訪問同一幅圖像,在達到應用目的情況下,使傳送的數(shù)據(jù)量最少。特點如果圖像經(jīng)過多次壓縮,需在不同分辨率的設備上顯示時,解碼器可根據(jù)需要確定解碼過程,當圖象達到特定輸出設備分辨率時則停止解碼。漸進編碼可先壓縮最重要圖像信息,再壓縮次重要圖像信息并加到輸出流中,如此繼續(xù)。用戶可通過設置參數(shù)來確定編碼器何時停止編碼,以控制失真總量。例如,數(shù)碼相機,其存儲卡中圖像進行瀏覽時,會看到圖像由模糊逐漸“聚焦”變得清晰,使用了漸進編碼。三、編碼方法:1.四叉樹分層漸進編碼方式依據(jù)原理:對于圖像中任意一個像素,其相鄰的幾個像素值可能與其非常相似甚至相同。因此,如用相鄰幾個像素的平均值代替這幾個像素時,仍然可以看出原圖的輪廓?;舅枷耄簩D像按照分辨率分出層次。最底層(0級)為原圖,分辨率最高。由低層向高層分辨率逐層降低,每一級灰度值都是下一級相鄰4個灰度值的均值。依次進行,最頂層(n級)分辨率最低,只有一個像素灰度值。最終形成一種金字塔的形式。分層編碼的金字塔結構

具體算法設圖像大小為2n×2n置圖像的級數(shù)為k=0(底層原圖像)將第k級的圖像分割成2×2的小子圖像對每個四元組,即2×2的小子圖像,求出一個均值和三個差值d1~d3求出的所有均值構成第k+1級圖像Ik+1,所有的差值構成差值矩陣Dk+1。若k<n,則還沒有到頂層,令k=k+1,轉到第2步,否則,算法結束。

算法分析討論所以,下一層的圖像完全可以用上一層的像素值和對應差值求得,所以,只存儲In,Dn,Dn-1,Dn-2……,D1編碼實例原圖像如下圖所示,試進行四叉樹漸進編碼。發(fā)送端只存儲傳輸I2,D2,D1,編碼實例編碼實例發(fā)送端依次傳輸In,Dn,Dn-1,……,D1,接收端就可以先在N×N大小的整幅畫面顯示In(或直接顯示實際分辨率的圖片),然后,隨著Dn,Dn-1,Dn-2,……,D1的接收,恢復出In-1,…I0

結果討論四叉樹漸進編碼效果2.比特平面分層漸進編碼模式這是固定分辨率的分層編碼(即圖像大小固定)。從最高位到最低位,順序傳輸各個比特面,實現(xiàn)分層傳輸。先傳送一個最高位比特面,得到一幅二值圖像,有了物體的大致輪廓,逐漸地接收的比特面越多,細節(jié)、顏色越豐富。當接收到全部比特面后,可以恢復原始圖像。這也是一種圖像顯示的技巧。比特平面分層編碼效果示例1234684.5JPEG標準JPEG(JointPhotographicExpertsGroup)為“聯(lián)合圖片專家組”的簡稱。JPEG標準是一個適用于彩色和單色多灰度或連續(xù)色調(diào)靜止數(shù)字圖像的壓縮標準。是用于彩色和灰度靜止圖像的一種完善的有損/無損壓縮方法.

JPEG建議了兩種基本算法:

基于DCT、Huffman編碼的有損壓縮算法;

基于DPCM的無損壓縮算法;4.5.1JPEG標準概述

JPEG定義了四種運行模式:

基于DCT順序型模式:按從左到右、從上到下對圖像進行掃描編碼,解碼后圖像失真度較??;對一圖像僅掃描一次。

基于DCT遞增型模式:對一幅圖像按由粗到細進行編碼。多次掃描一圖像進行編碼,每次繼續(xù)的掃描都對圖像作了改善。

無失真編碼模式:對圖像采用無損壓縮技術,保證重建圖像數(shù)據(jù)與原始圖像數(shù)據(jù)完全相同。

分層編碼模式:以多種分辨率對圖像進行編碼。按不同應用要求,可獲得不同分辨率或質量的圖像。

JPEG定義了三種編碼系統(tǒng):(1)基于DCT的有損編碼基本系統(tǒng):

面向大多數(shù)有損壓縮的應用。(2)基于DCT的擴展編碼系統(tǒng):

面向遞進式應用,從低分辨率到高分辨率逐步遞進傳遞的應用。(3)獨立編碼系統(tǒng):

面向無損壓縮的應用,使用簡單的DPCM方法進行預測估值,對預測估值進行Huffman編碼。

JPEG基本系統(tǒng)為基于DCT變換的順序式模式的高效有失真編碼,可用于絕大多數(shù)應用場合。4.5.2JPEG基本系統(tǒng)JPEG基本系統(tǒng)的編解碼器結構框圖:JPEG基本系統(tǒng)的編碼方法:⒈數(shù)據(jù)分塊

構造子圖像。將圖像分割成88子塊,按照從左到

右,從上到下的光柵掃描方式進行排序。

顏色空間轉換。人眼對亮度更敏感,提取亮度特

征,將RGB轉換為YUV模型,編碼時對亮度采用特

殊編碼:

Y=0.299R+0.5870G+0.1140BU=–0.1787R–0.3313G+0.5000B+128V=0.5000R–0.4187G–0.0813B+128⒉DCT處理

零偏置轉換。目的是使像素的絕對值出現(xiàn)3位10進制的概率大大減少。

采用方法為:在DCT前,對以無符號數(shù)表示的具有n位精度的輸入數(shù)據(jù),通過減去2n-1,轉換成有符號數(shù)。在IDCT后,應該加上2n-1,轉換成無符號數(shù)。例如,對于n=8,即將0~255的值域,通過減去128,轉換為值域在-128~127之間的值。對于88子圖,進行零偏置轉換后DCT正交變換:對每一88圖像子塊進行DCT變換從空間域轉換到頻率域。JPEG標準是開放式的,可以采用任何一種快速DCT算法f(x,y)為8位,取值范圍為0~255,所以直流系數(shù)F(0,0)的取值范圍為0~2040但是,對于以無符號數(shù)表示的具有P位精度的輸入數(shù)據(jù),在DCT前要先將其減去2p-1,轉換成有符號數(shù)(反變換后再加上2p-1);JPEG基本系統(tǒng)中,P=8,因此f(x,y)的動態(tài)范圍0~255偏移至-128~127 -29 -62 25 55 -20 -1 37 -21 -62 9 11 -7 -6 6-46 8 77 -25 -30 10 7 -5-50 13 35 -15 -9 6 0 311 -8 -13 -2 -1 1 -4 1-10 1 3 -3 -1 0 2 -1-4 -1 2 -1 2 -3 1 -2-1 -1 -1 -2 -1 -1 0 -1正向DCT變換(N=8)后變成:-415DC系數(shù)AC系數(shù)

DCT變換后產(chǎn)生64個DCT系數(shù)值,代表了該圖像塊頻率成分。其中低頻分量集中在左上角,包含了圖像的主要信息;高頻分量集中在右下角,高頻分量對應的系數(shù)很小,可以忽略高頻分量,從而達到壓縮的目的。第一個系數(shù)即左上角系數(shù)稱為直流系數(shù)(DC系數(shù)),該系數(shù)遠比其余的63個系數(shù)要大。其余63個系數(shù)稱為交流系數(shù)(AC系數(shù))。AC系數(shù)值隨著它與DC系數(shù)的距離增加而越來越??;DCT系數(shù)分析:⒊系數(shù)量化對于亮度和顏色使用不同的量化閾值模板,并取整。量化就是用DCT變換后的系數(shù)除以量化表中相對應的量化階后四舍五入取整。由于量化表中左上角的值較小,而右下角的值較大,因而起到了保持低頻分量、抑制高頻分量的作用。因為亮度分量比色度分量更重要些,因而對亮度分量采用細量化,而對色度分量采用粗量化。量化是圖像質量下降的主要原因。量化公式:Squv=round(Suv/Quv)其中:Suv是DCT系數(shù),Quv量化模板系數(shù)例:Sq(0,0)=round[-415/16]=round[-25.9]=-26⒋Z形掃描將量化后的DCT系數(shù),按“Z”字型方式重新排序,全零結尾用特殊符號EOB。得到:

[-26-31-3-2-62-41-4115020

0-1200000-1-1EOB]⒌DC系數(shù)編碼DC系數(shù)和AC系數(shù)分別用不同方式進行編碼。主要為利用以前量化的DC系數(shù)來預測當前量化的DC系數(shù),并對所得到的預測誤差進行Huffman編碼

DC系數(shù)編碼方式為:預測+Huffman編碼區(qū)間編碼表書上第87頁表4-6

1區(qū)間DC哈夫曼編碼表區(qū)間 編碼長度區(qū)間 編碼長度00026111010101037111105201138111110631003911111107410131011111110851103111111111109

DC系數(shù)編碼組成:

區(qū)間號編碼(SSSS)+預測誤差本身編碼(VVVV)第一步:求DPCM(差分脈沖調(diào)制碼),用當前的DC,減去前一個子圖的DC,則:

預測誤差VVVV: DIFF=DC–PRE_DCDC系數(shù)的編碼步驟:第二步:根據(jù)DIFF求出區(qū)間號:SSSS

通過DIFF查區(qū)間編號表得出區(qū)間號SSSS

根據(jù)SSSS查哈夫曼編碼表得出SSSS的哈夫曼編碼第三步:對預測誤差VVVV編碼。正數(shù)是自己,負數(shù)則求反。VVVV編碼碼長=區(qū)間號值PreDC-17DC-26DC系數(shù)編碼舉例:例:已知DC=-26,

PRE_DC=-17

則有:DIFF=-26-(-17)=-9用-9查區(qū)間表得:區(qū)間號SSSS=4

用4查哈夫曼編碼表得:哈夫曼編碼:101預測誤差VVVV=-9,由于9的二進制編碼為:1001

求反則有: 1001=0110DC系數(shù)最后的編碼為:101+0110=1010110長度為7位⒍AC系數(shù)編碼

AC系數(shù)編碼方式為:將非零AC系數(shù)前面的“0”的游程長度(即個數(shù))與該AC系數(shù)值一起作為統(tǒng)計事件進行編碼。行程/區(qū)間編碼長度行程/區(qū)間編碼長度

0/01010(=EOB)40/6111100070/10020/71111100080/20120/81111110110100/310030/91111111110000010160/4101140/A1111111110000011160/51101051/11100 4區(qū)間AC哈夫曼編碼表AC系數(shù)編碼方法:將一個非零AC系數(shù)及其前面的0行程長度(連續(xù)0的個數(shù))的組合稱為一個事件。將每個事件編碼表示為“RRRR/SSSS+尾碼”。

RRRR為0行程的長度,

SSSS表示尾碼的有效位數(shù)B(即當前非0系數(shù)所占的比特數(shù)),即非零AC系數(shù)所在區(qū)間號如果非零AC系數(shù)大于等于0,則尾碼的碼字為該系數(shù)的B位原碼,否則,取該系數(shù)的B位反碼。AC系數(shù)編碼舉例:例:兩個相鄰的AC系數(shù)為0-1,要對AC系數(shù)-1進行

Huffman編碼。則有該系數(shù)-1前值為0的系數(shù)的個數(shù)RRRR=1

依據(jù)AC系數(shù)查表得區(qū)間號:SSSS=1

由于RRRR/SSSS=1/1,則

查表得:1100編碼長度4位由于AC系數(shù)值VVVV=-1,則

二進制編碼為1,求反得:0AC系數(shù)最后的編碼為:11000,長度為5則對量化后且按“Z”字型方式重新排序后的DCT系數(shù)[-26-31-3-2-62-41-41150200-1

200000-1-1EOB]進行Huffman編碼得到:[10101100100001010001011000010110100011001100011001001100101111001101101100110111101000001010]完成編碼的重排數(shù)組的總位數(shù)是92,不壓縮需要888=512位。結果的壓縮率是512/925.57。書上第91頁的例4-1某88的亮度圖像塊的量化系數(shù)矩陣如下所示,對其進行Z形掃描,并假設相鄰的上一個編碼塊的DC量化系數(shù)為77,試對其按照JPEG標準基本算法進行編碼,并計算數(shù)據(jù)壓縮比。使用累進方式工作,編碼過程采用自適應的算術編碼。每個圖像分量的編碼要經(jīng)過多次掃描才完成。第一次掃描只對圖像進行一次粗糙的掃描壓縮,以相對于總的傳輸時間小得多的時間傳輸粗糙圖像,并重建一幀質量較低的可識別圖像。在隨后的掃描中再對圖像作較細的壓縮,這時只傳遞增加的信息,可重建一幅質量好一些的圖像。這樣不斷漸進,直致獲得滿意的圖像為止。4.5.2JPEG擴展系統(tǒng)一、DCT漸進模式JPEG擴展系統(tǒng)是基本系統(tǒng)的擴展。漸進編碼的顯示

和順序顯示的效

果是不同的采用JPEG無損編碼模式。將像素的預測值與實際輸入值的差值進行哈夫曼編碼或算術編碼進行壓縮。假設在一幅圖像中,已知像素x的相鄰像素a,b,c。x的像素值用Px表示,則可以用JPEG標準中所采用的8個方程式來進行預測x的像素值。選擇值預測選擇值預測

0Noprediction4

溫馨提示

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

評論

0/150

提交評論