多媒體數(shù)據(jù)壓縮和編碼_第1頁(yè)
多媒體數(shù)據(jù)壓縮和編碼_第2頁(yè)
多媒體數(shù)據(jù)壓縮和編碼_第3頁(yè)
多媒體數(shù)據(jù)壓縮和編碼_第4頁(yè)
多媒體數(shù)據(jù)壓縮和編碼_第5頁(yè)
已閱讀5頁(yè),還剩148頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

多媒體數(shù)據(jù)壓縮和編碼210.1數(shù)據(jù)壓縮編碼技術(shù)概述10.1.1信息的度量

討論數(shù)據(jù)壓縮,就要涉及現(xiàn)代科學(xué)領(lǐng)域的一個(gè)重要分支—信息論。信息論有關(guān)信息熵的概念對(duì)數(shù)據(jù)壓縮有著重要的指導(dǎo)意義,它一方面給出了數(shù)據(jù)壓縮的理論極限,另一方面又指明了數(shù)據(jù)壓縮的技術(shù)途徑。

信息論的創(chuàng)始人香農(nóng)(C.EShannon)在他的著名論文《通信的數(shù)學(xué)理論》中,從研究通信系統(tǒng)傳輸?shù)膶?shí)質(zhì)出發(fā),對(duì)信息作了科學(xué)定義,進(jìn)行了定性和定量的描述。

香農(nóng)認(rèn)為:信息是有秩序的量度,是人們對(duì)事物了解的不確定性的消除或減少。信息是對(duì)組織程度的一種測(cè)度,信息能使物質(zhì)系統(tǒng)有序性增強(qiáng),減少破壞、混亂和噪音。3香農(nóng)提出:信息的傳播過(guò)程是“信源”(信息的發(fā)送者)把要提供的信息經(jīng)過(guò)“信道”傳遞給“信宿”(信息的接收者),信宿接收這些經(jīng)過(guò)“譯碼”(即解釋符號(hào))的信息符號(hào)的過(guò)程。并由此建立了通信系統(tǒng)模型。

我們從一則消息中獲得了信息,但獲得的信息有多少呢?量度信息多少的測(cè)度就是信息量。信息的度量反映了人們對(duì)于信息的定量認(rèn)識(shí)。

根據(jù)香農(nóng)有關(guān)信息的定義,信息如何測(cè)度呢?顯然,信息量與不確定性消除程度有關(guān)。消除多少不確定性,就獲得多少信息量。用數(shù)學(xué)語(yǔ)言來(lái)講,不確定就是隨機(jī)性。不確定性的大小可以直觀地看成是事先猜測(cè)某隨機(jī)事件是否發(fā)生的難易程度。4按照香農(nóng)的定義,信息量的度量公式可描述為:它實(shí)際上就是后驗(yàn)概率和先驗(yàn)概率之比。在信道無(wú)干擾情況下,由信源傳來(lái)的消息告訴信宿某事件已經(jīng)發(fā)生,則某事件必然發(fā)生了。按照概率的定義,對(duì)于確定發(fā)生的必然事件,其概率為1。這時(shí)公式的后驗(yàn)概率為1。(10.1)5假設(shè)Pi是第i個(gè)消息出現(xiàn)的先驗(yàn)概率,則第i個(gè)消息的信息量為:(10.2)6

第i個(gè)消息可能有n種狀態(tài),那么輸出這個(gè)消息的總信息量的期望值(即平均信息量)為:

借用熱力學(xué)的名詞,把H叫做熵。它代表接收一個(gè)符號(hào)所獲得的平均信息量。熵是在平均意義上表征信源總體特性的一個(gè)物理量。公式(10.3)中,對(duì)數(shù)的底數(shù)理論上可取任何數(shù)。當(dāng)?shù)讛?shù)為2時(shí),信息的計(jì)量單位為比特(bit),即二進(jìn)制單位。

以上就是香農(nóng)關(guān)于信息的度量。通常也稱為概率信息。它是一個(gè)科學(xué)的定義,有明確的數(shù)學(xué)模型和定量計(jì)算。(10.3)7

香農(nóng)公式與日常用語(yǔ)中信息的含義一致。如,設(shè)某一事件是在預(yù)料中一定會(huì)發(fā)生的必然事件,若該事件果然發(fā)生了,收信者將不會(huì)得到任何信息。因?yàn)楦鶕?jù)公式(10.2),Pi=1,得:

反之,若某一事件發(fā)生的概率很小,即猜測(cè)它是否發(fā)生的不確定性很大,一旦這個(gè)事件發(fā)生了,收信者會(huì)覺(jué)得很意外,感到獲得信息量很大。根據(jù)公式(10.2),因?yàn)镻i<<1(表示概率遠(yuǎn)小于1),故得:(10.4)(10.5)8只有當(dāng)事件發(fā)生與不發(fā)生的概率相同時(shí),其信息量才達(dá)到最大。香農(nóng)的信息度量公式排除了對(duì)信息的主觀含意。根據(jù)上述公式,同樣一個(gè)消息對(duì)任何一個(gè)收信者來(lái)說(shuō),所得到的信息量都是一樣的。

910.1.2信息的壓縮

壓縮編碼的理論基礎(chǔ)是信息論。香農(nóng)把信息定義為熵的減少。即,信息可定義為用來(lái)消除不確定性的東西。從信息論的角度來(lái)看,壓縮就是去掉信息中的冗余,即保留不確定的信息,去除確定的信息,也就是用一種更接近信息本質(zhì)的描述來(lái)代替原有冗余的描述。所以,將香農(nóng)的信息論觀點(diǎn)運(yùn)用到圖像信息的壓縮,所要解決的問(wèn)題就是如何將圖像信息壓縮到最小,但仍攜有足夠信息以保證能復(fù)制出與原圖近似的圖像。10圖像信息之所以能進(jìn)行壓縮是因?yàn)槠浔旧硗ǔ4嬖诤艽笕哂?,以視頻連續(xù)畫(huà)面為例,每一幀畫(huà)面由若干個(gè)像素組成,因?yàn)閯?dòng)態(tài)圖像通常反映一個(gè)連續(xù)的過(guò)程,相鄰幀之間存在很大相關(guān)性,從一幅畫(huà)面到下一幅畫(huà)面,背景與前景可以沒(méi)有太多的變化。這些相似的信息為數(shù)據(jù)壓縮提供了基礎(chǔ)。另一原因是人的視覺(jué)和聽(tīng)覺(jué)對(duì)某些信號(hào)(如顏色,聲音)不敏感,致使信息被壓縮之后還不知不覺(jué),也不致對(duì)壓縮后的信息產(chǎn)生誤解。正因如此,可在允許保真度的條件下壓縮待存儲(chǔ)的圖像數(shù)據(jù),以節(jié)省存儲(chǔ)空間,圖像傳輸時(shí)也大大減少信道的容量,光盤(pán)技術(shù)和數(shù)據(jù)壓縮技術(shù)的發(fā)展為各種形式數(shù)據(jù)的存儲(chǔ)和傳輸提供了技術(shù)保證。CPU性能不斷提高也為數(shù)據(jù)壓縮提供了有利條件。1110.1.3有損壓縮與無(wú)損壓縮

多媒體數(shù)據(jù)壓縮分為有損壓縮和無(wú)損壓縮。

無(wú)損壓縮算法是為保留原始多媒體對(duì)象(包括圖像、語(yǔ)音和視頻)而設(shè)計(jì)的。無(wú)損壓縮中,數(shù)據(jù)在壓縮過(guò)程中不會(huì)改變或損失,解壓縮產(chǎn)生的數(shù)據(jù)是對(duì)原始對(duì)象的完整復(fù)制。當(dāng)圖像冗余度很少(同類像素重復(fù)性很小)時(shí),無(wú)損壓縮技術(shù)得不到可接受的結(jié)果。有損壓縮會(huì)造成一些信息的損失,關(guān)鍵問(wèn)題是看這種損失對(duì)圖像質(zhì)量帶來(lái)的影響。只要這種損失被限制在允許范圍內(nèi),有損壓縮就是可接受的。有損壓縮技術(shù)主要應(yīng)用領(lǐng)域是在影像節(jié)目、可視會(huì)議和多媒體網(wǎng)絡(luò)這樣的由音頻、彩色圖像和視頻組成的多媒體應(yīng)用中。1210.1.4對(duì)稱壓縮和不對(duì)稱壓縮

壓縮技術(shù)的基本方式有兩種:即對(duì)稱壓縮和不對(duì)稱壓縮。在對(duì)稱壓縮中,壓縮算法和解壓縮算法是一樣的。是一種可逆操作。對(duì)稱壓縮的優(yōu)點(diǎn)在于雙方都以同一種速度進(jìn)行操作,例如視頻會(huì)議這種實(shí)時(shí)傳遞的系統(tǒng)便采用對(duì)稱壓縮技術(shù)。發(fā)送方將實(shí)況視頻信號(hào)用某種算法加以壓縮,然后通過(guò)通信介質(zhì)進(jìn)行傳輸。接收端收到信號(hào)后,再使用同樣的算法按逆運(yùn)算解壓縮,使圖像解碼后重現(xiàn)。

不對(duì)稱壓縮,是指壓縮和解壓縮的運(yùn)算速率是不相同的。例如VCD的制作與播放便是典型的不對(duì)稱壓縮。在制作VCD時(shí),將一部電影壓縮到VCD盤(pán)片上可能需要花費(fèi)十幾個(gè)小時(shí)或更多時(shí)間,而播放VCD時(shí),為保證視頻的流暢,其解壓縮的速度卻很快。1310.1.5影響數(shù)據(jù)壓縮的幾個(gè)要素

一個(gè)好的壓縮方法對(duì)多媒體信息的存儲(chǔ)和傳輸是至關(guān)重要的,影響壓縮性能的主要指標(biāo)有:壓縮比

對(duì)壓縮前后的文件大小和數(shù)據(jù)量進(jìn)行比較,作為壓縮率的衡量指標(biāo)。人們普遍希望壓縮的倍數(shù)越高越好,壓縮的速度越快越好。但同時(shí)人們又希望確保數(shù)據(jù)壓縮的精度,即解壓縮的數(shù)據(jù)和原來(lái)的數(shù)據(jù)最好沒(méi)有差別,沒(méi)有數(shù)據(jù)損失。然而追求壓縮比率和追求精度往往是矛盾的,因此就需要在這兩者之間權(quán)衡取舍。14圖像質(zhì)量

圖像的清晰程度反映出圖像的質(zhì)量。有損壓縮可獲得較大壓縮比,但壓縮比過(guò)高,還原后的圖像質(zhì)量可能降低。圖像質(zhì)量的評(píng)估常采用客觀和主觀評(píng)估兩種方法。

客觀評(píng)估是通過(guò)一種具體算法來(lái)統(tǒng)計(jì)多媒體數(shù)據(jù)壓縮結(jié)果的損失。如采用純誤差測(cè)度,即原始圖像與恢復(fù)圖像之間的簡(jiǎn)單數(shù)學(xué)統(tǒng)計(jì)。盡管這種方法將誤差量化表達(dá),但并不能反映觀察者對(duì)誤差的視覺(jué)感知。

主觀評(píng)估基于人的視覺(jué)感知,因?yàn)橛^察者作為最終視覺(jué)信宿,他們能對(duì)恢復(fù)圖像的質(zhì)量作出直觀的判斷。方法之一是進(jìn)行主觀測(cè)試,讓觀察者通過(guò)觀測(cè)一系列恢復(fù)圖像,并與原圖像進(jìn)行比較,再根據(jù)損傷的可見(jiàn)程度進(jìn)行評(píng)級(jí),以判斷哪種壓縮方法的失真少。15

傳統(tǒng)的客觀評(píng)價(jià)方法由于只對(duì)恢復(fù)圖像和原始圖像的純誤差做數(shù)學(xué)統(tǒng)計(jì),難以反映圖像的視覺(jué)差別。如果能在客觀評(píng)估中引入簡(jiǎn)單的視覺(jué)模型,或者誤差的結(jié)構(gòu)特性,便能導(dǎo)致與主觀測(cè)試更符合的結(jié)果。主觀評(píng)估的好處就是使人一目了然,但是主觀評(píng)判的結(jié)果往往和客觀評(píng)判并不是一一對(duì)應(yīng)的,有的結(jié)果相差很大。然而這種方法容易受觀察者背景知識(shí)、觀測(cè)動(dòng)機(jī)、觀測(cè)環(huán)境等等因素的限制和影響。所以,在圖像處理技術(shù)和壓縮編碼技術(shù)飛速發(fā)展的今天,能夠準(zhǔn)確地對(duì)圖像質(zhì)量進(jìn)行主觀評(píng)估的客觀評(píng)估(即數(shù)學(xué)算法)是亟待解決的難題。

16壓縮與解壓縮的速度

壓縮和解壓縮的速度是壓縮系統(tǒng)的兩項(xiàng)單獨(dú)的性能度量。在有些應(yīng)用中,壓縮和解壓縮都需要實(shí)時(shí)進(jìn)行,如電視會(huì)議的圖像傳輸。在有些應(yīng)用中,壓縮可以用非實(shí)時(shí)壓縮,而只要解壓縮是實(shí)時(shí)的,如多媒體CD-ROM的節(jié)目制作。從目前開(kāi)發(fā)的壓縮技術(shù)來(lái)看,一般壓縮的計(jì)算量比解壓縮要大。

壓縮速度不僅與采用的壓縮方法有關(guān),而且與快速算法的計(jì)算量有關(guān),若在算法上有較大突破,無(wú)疑將對(duì)多媒體的開(kāi)發(fā)與應(yīng)用產(chǎn)生很大影響。17執(zhí)行的硬件與軟件

采用什么樣的硬件與軟件去執(zhí)行壓縮/解壓縮,與采用壓縮方案和算法的復(fù)雜程度有著密切的關(guān)系。設(shè)計(jì)精巧的簡(jiǎn)單算法可以在簡(jiǎn)單的硬件上執(zhí)行,且執(zhí)行速度很快。而設(shè)計(jì)復(fù)雜的算法需要在功能強(qiáng)大的軟硬件支持下才能運(yùn)行。但僅靠算法來(lái)提高壓縮/解壓縮的速度還是有限的。在多數(shù)情況下,不得不依靠硬件本身提供的功能去完成,例如采用專用多媒體處理芯片。因此在壓縮/解壓縮系統(tǒng)中,速度和硬件之間的選擇顯得十分重要。1810.1.6圖像編碼技術(shù)的發(fā)展經(jīng)典編碼技術(shù)

1948年,Oliver提出了第一個(gè)編碼理論——脈沖編碼調(diào)制PCM(PulseCodingModulation);同年,Shannon的經(jīng)典論文——“通信的數(shù)學(xué)原理”首次提出并建立了信息率失真函數(shù)概念;1959年,Shannon進(jìn)一步確立了碼率失真理論,奠定了信息編碼的理論基礎(chǔ)。編碼方法主要有預(yù)測(cè)編碼、變換編碼和統(tǒng)計(jì)編碼,也稱為三大經(jīng)典編碼方法。經(jīng)典編碼技術(shù)又稱為“第一代”編碼技術(shù)。19

“第一代”視頻(圖像)編碼技術(shù)是非常優(yōu)秀的紋理編碼方案,它們能夠在中等壓縮率的情況下,提供非常好的圖像質(zhì)量,但在非常低的位率情況下,無(wú)法為一般的序列提供令人滿意的質(zhì)量。20世紀(jì)80年代初,“第一代”編碼技術(shù)達(dá)到了頂峰,這類技術(shù)去除客觀和視覺(jué)冗余信息的能力已接近極限。究其原因是由于這些技術(shù)都沒(méi)有利用圖像的結(jié)構(gòu)特點(diǎn),因此它們也就只能以像素或塊作為編碼對(duì)象,另外,這些技術(shù)在設(shè)計(jì)編碼器時(shí)也沒(méi)有考慮人類視覺(jué)系統(tǒng)的特性。20“第二代”編碼方法

“第一代”編碼技術(shù)以信息論和數(shù)字信號(hào)處理技術(shù)為理論基礎(chǔ),旨在去除圖像數(shù)據(jù)中的線性相關(guān)性。其壓縮比不高,大約在10∶1左右。為了克服“第一代”視頻(圖像)編碼技術(shù)的局限性,Kunt等人于1985年提出“第二代”視頻(圖像)編碼技術(shù)?!暗诙本幋a技術(shù)不局限于信息論的框架,而是充分利用人的視覺(jué)生理、心理和圖像信源的各種特征,實(shí)現(xiàn)從“波形”編碼到“模型”編碼的轉(zhuǎn)變,以便獲得更高壓縮比。其壓縮比在30:1至70:1之間?!暗诙本幋a方法主要有:基于分形的編碼、基于模型的編碼、基于區(qū)域分割的編碼和基于神經(jīng)網(wǎng)絡(luò)的編碼等。

21

“第二代”編碼方法充分利用了計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)視覺(jué)、人工智能與模式識(shí)別等相關(guān)學(xué)科的研究成果,為視頻壓縮編碼開(kāi)拓出了廣闊前景。但由于“第二代”編碼方法增加了分析的難度,所以大大增加了實(shí)現(xiàn)的復(fù)雜性。從當(dāng)前發(fā)展情況看,“第二代”編碼方法仍處于深入研究階段。如,分形法由于圖像分割、迭代函數(shù)系統(tǒng)代碼的獲得非常困難,因而實(shí)現(xiàn)起來(lái)時(shí)間長(zhǎng),算法非常復(fù)雜。模型法則僅限于人頭肩像等基本的視頻上,進(jìn)一步的發(fā)展有賴于新的數(shù)學(xué)方法和其他相關(guān)學(xué)科的發(fā)展。神經(jīng)網(wǎng)絡(luò)的工作機(jī)理至今仍不清楚,硬件研制不成功,所以在視頻編碼中的應(yīng)用研究進(jìn)展緩慢,目前多與其他方法結(jié)合使用。但由于巨大壓縮性能潛力,人們正致力于這些新方法研究之中。22近來(lái),出現(xiàn)了充分利用人類視覺(jué)特性的“多分辨率編碼”方法,如子帶編碼和基于小波變換的編碼。這類方法使用不同類型的一維或二維線性數(shù)字濾波器,對(duì)視頻進(jìn)行整體分解,然后根據(jù)人類視覺(jué)特性對(duì)不同頻段的數(shù)據(jù)進(jìn)行粗細(xì)不同的量化處理,以達(dá)到更好的壓縮效果。這類方法原理上仍屬于線性處理,屬于“波形”編碼,可歸入經(jīng)典編碼方法,但它們又充分利用了人類視覺(jué)系統(tǒng)特性,因此可被看作是“第一代”編碼技術(shù)向“第二代”編碼技術(shù)的過(guò)渡。

用信息熵H來(lái)評(píng)價(jià)壓縮編碼

在壓縮編碼中,信息熵H可用于用熵衡量壓縮方法的效果,如果信號(hào)序列經(jīng)壓縮后,熵H不變,則表明信息量沒(méi)有下降,這種壓縮方法是無(wú)損的編碼方法,所以無(wú)損編碼又稱為熵(不變)編碼。23用熵衡量壓縮是否為最佳碼

如以N表示編碼器輸出碼字的平均碼長(zhǎng),則當(dāng):

N>>H(X)時(shí),有冗余,不是最佳,有進(jìn)一步壓縮的潛力;

N<H(X)不可能;

N稍大于H(X)時(shí)是最佳碼。熵值是平均碼長(zhǎng)N的下限。10.1.7圖像編碼技術(shù)的標(biāo)準(zhǔn)化

圖像編碼的研究?jī)?nèi)容是圖像數(shù)據(jù)壓縮,其主要應(yīng)用領(lǐng)域是圖像信息通信和存儲(chǔ)。當(dāng)需要對(duì)所傳輸或存儲(chǔ)的圖像信息進(jìn)行高比率壓縮時(shí),必須采取復(fù)雜的圖像編碼技術(shù)。但是,如果沒(méi)有一個(gè)共同的標(biāo)準(zhǔn),不同系統(tǒng)間不能兼容。除非每一編碼方法的各個(gè)細(xì)節(jié)完全相同,否則各系統(tǒng)間的聯(lián)結(jié)十分困難。24

鑒于這一情況,20世紀(jì)90年代后,國(guó)際電信聯(lián)盟ITU、國(guó)際標(biāo)準(zhǔn)化組織ISO和國(guó)際電工委員會(huì)IEC在全世界范圍內(nèi)積極工作,制定了一系列靜止和活動(dòng)圖像編碼的國(guó)際標(biāo)準(zhǔn),現(xiàn)已批準(zhǔn)的主要有:JPEG標(biāo)準(zhǔn)、MPEG標(biāo)準(zhǔn)、H.261標(biāo)準(zhǔn)等。這些標(biāo)準(zhǔn)和建議是在相應(yīng)領(lǐng)域工作的各國(guó)專家合作研究的成果和經(jīng)驗(yàn)總結(jié)。由于這些國(guó)際標(biāo)準(zhǔn)的出現(xiàn),圖像編碼尤其是視頻圖像編碼壓縮技術(shù)得到了飛速發(fā)展。目前,按照這些標(biāo)準(zhǔn)做的硬件、軟件產(chǎn)品和專用集成電路在市場(chǎng)上大量涌現(xiàn),對(duì)現(xiàn)代圖像通信的迅速發(fā)展及開(kāi)拓圖像編碼新應(yīng)用領(lǐng)域(如多媒體通信、數(shù)字高清晰度電視傳輸?shù)?發(fā)揮了重要作用。隨著研究不斷深入,還將有新的數(shù)據(jù)壓縮編碼標(biāo)準(zhǔn)不斷推出。25圖10.1是圖像壓縮編碼分類的一般方法

圖10.1圖像壓縮編碼分類的一般方法

2610.2預(yù)測(cè)編碼10.2.1預(yù)測(cè)編碼的基本概念

預(yù)測(cè)編碼是數(shù)據(jù)壓縮理論的一個(gè)重要分支,它是根據(jù)離散信號(hào)之間存在著一定的相關(guān)性,利用前面的一個(gè)或多個(gè)信號(hào)對(duì)下一信號(hào)進(jìn)行預(yù)測(cè),然后對(duì)實(shí)際值和預(yù)測(cè)值的差進(jìn)行編碼。就圖像壓縮而言,預(yù)測(cè)編碼可分為幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)兩種類型。27

幀內(nèi)預(yù)測(cè)編碼反映了同一幀圖像內(nèi),相鄰像素點(diǎn)之間的空間相關(guān)性較強(qiáng),因而任何一個(gè)像素點(diǎn)的亮度值,均可由它相鄰的已被編碼的像素點(diǎn)的編碼值來(lái)進(jìn)行預(yù)測(cè)。如果能夠準(zhǔn)確地預(yù)測(cè)作為時(shí)間函數(shù)的數(shù)據(jù)源的下一個(gè)輸出將是什么,或者數(shù)據(jù)源可以準(zhǔn)確地被一個(gè)數(shù)據(jù)模型表示,則可以準(zhǔn)確地預(yù)測(cè)數(shù)據(jù),然而,實(shí)際信號(hào)源是不可能滿足這兩個(gè)條件的,因此,只能用一個(gè)預(yù)測(cè)器,預(yù)測(cè)下一個(gè)樣值,允許它有些誤差。通常使用的誤差函數(shù)是均方誤差(mse):28其中:E是數(shù)學(xué)期望;

So是下一樣值的實(shí)際值;

^So是下一樣值的預(yù)測(cè)值。

若預(yù)測(cè)根據(jù)某一預(yù)測(cè)模型進(jìn)行,且模型表達(dá)足夠好,則只需存儲(chǔ)或傳輸某些起始像素點(diǎn)和模型參數(shù)就可以代表整個(gè)一幅圖像了。這時(shí)只要編碼很少的數(shù)據(jù)量,這是極端理想的情況。實(shí)際上預(yù)測(cè)不會(huì)百分之百準(zhǔn)確,此時(shí)可將預(yù)測(cè)的誤差值(實(shí)際值與預(yù)測(cè)值之差值)存儲(chǔ)或傳輸,一般來(lái)講,誤差值要比實(shí)際值小得多,這樣在同等條件下,就可減少數(shù)據(jù)編碼的比特?cái)?shù),從而也減少了存儲(chǔ)和傳輸?shù)臄?shù)據(jù)量,實(shí)現(xiàn)了數(shù)據(jù)的壓縮。29

幀內(nèi)預(yù)測(cè)編碼典型的壓縮方法有差分脈沖編碼調(diào)制DPCM和自適應(yīng)差分脈沖編碼調(diào)制ADPCM等,它們比較適合圖像與聲音數(shù)據(jù)的壓縮。因?yàn)檫@些媒體的數(shù)據(jù)均由采樣得到,相鄰采樣值之間的差值都不太大,可用較少的比特?cái)?shù)表示差值。 預(yù)測(cè)器是DPCM的核心,預(yù)測(cè)器越好,能使差值越小,數(shù)據(jù)壓縮就越多,預(yù)測(cè)器可采用線性預(yù)測(cè)或非線性預(yù)測(cè),通常采用線性預(yù)測(cè)作為預(yù)測(cè)器的設(shè)計(jì)。30

在MPEG壓縮標(biāo)準(zhǔn)中還采用了幀間預(yù)測(cè)編碼。這是由于運(yùn)動(dòng)圖像各幀之間有很強(qiáng)的時(shí)間相關(guān)性。例如,在電視圖像傳送中,相鄰幀的時(shí)間間隔只有1/30秒,大多數(shù)像素的亮度信號(hào)在幀間的變化是不大的,利用幀間預(yù)測(cè)編碼技術(shù)就可減少幀序列內(nèi)圖像信號(hào)的冗余度。此外,電視圖像的相鄰幀間的內(nèi)容在一般情況下(除場(chǎng)景切換外)實(shí)際上沒(méi)有太大變化,所以相鄰幀間有較大相關(guān)性,這種相關(guān)性稱為時(shí)域相關(guān)性。運(yùn)動(dòng)補(bǔ)償?shù)哪康鼐褪且獙⑦@種時(shí)域相關(guān)性盡可能地去除。31

10.2.2差分脈沖編碼-DPCM

差分脈沖編碼調(diào)制DPCM與PCM不同,它編碼的不是采樣樣本值,而是樣本值及其預(yù)測(cè)值的差分,即量化的是已知的樣本值與預(yù)測(cè)值之間的差值。DPCM是從過(guò)去的幾個(gè)采樣值的線性組合來(lái)預(yù)測(cè)推斷現(xiàn)在的采樣值,進(jìn)而用實(shí)際采樣值與預(yù)測(cè)采樣值之差(稱作預(yù)測(cè)誤差)及線性預(yù)測(cè)系數(shù)進(jìn)行編碼,從而達(dá)到信息壓縮的一種方法。

32差分脈沖編碼調(diào)制的概念如圖10.2。差分信號(hào)是離散輸入信號(hào)和預(yù)測(cè)器輸出的估算值之差。注意是對(duì)是預(yù)測(cè)值,而不是過(guò)去樣本的實(shí)際值。DPCM系統(tǒng)實(shí)際上就是對(duì)這個(gè)差值進(jìn)行量化編碼,用來(lái)補(bǔ)償過(guò)去編碼中產(chǎn)生的量化誤差。它實(shí)際上是一個(gè)負(fù)反饋系統(tǒng),采用這種結(jié)構(gòu)可以避免量化誤差的積累。33圖10.2DPCM工作原理方框圖34重構(gòu)信號(hào)是由逆量化器產(chǎn)生的量化差分信號(hào),與對(duì)過(guò)去樣本信號(hào)的估算值求和得到。以作為預(yù)測(cè)器確定下一個(gè)信號(hào)估算值的輸入信號(hào)。由于在發(fā)送端和接收端都使用相同的逆量化器和預(yù)測(cè)器,所以收發(fā)兩端可從同一個(gè)傳送信號(hào)獲得相同的量化差分信號(hào)和重構(gòu)信號(hào)。

35

若預(yù)測(cè)誤差不經(jīng)量化精確地傳到接收端,可無(wú)失真地復(fù)原原始PCM信號(hào)。但主觀實(shí)驗(yàn)表明,對(duì)于人眼觀看的電視圖像來(lái)講,預(yù)測(cè)誤差沒(méi)必要絕對(duì)精確地傳到接收方,可以對(duì)它再經(jīng)過(guò)一次量化,適當(dāng)降低精確度,從而獲得進(jìn)一步的碼率壓縮。這樣,雖然由于量化誤差的引入造成圖像一定程度失真,但若把量化誤差限制到主觀視覺(jué)不能察覺(jué)的程度,并不影響圖像主觀質(zhì)量。所以,量化器是利用主觀視覺(jué)特點(diǎn),挖掘壓縮潛力的工具。3610.2.3自適應(yīng)差分脈沖編碼-ADPCM

ADPCM是自適應(yīng)量化和自適應(yīng)預(yù)測(cè)方法的總稱。ADPCM是在DPCM方法上的進(jìn)一步改進(jìn),通過(guò)調(diào)整量化步長(zhǎng),對(duì)不同頻段所設(shè)置的量化字長(zhǎng)不同,使數(shù)據(jù)得到進(jìn)一步的壓縮。37

自適應(yīng)量化是使量化間隔大小的變化自動(dòng)地適應(yīng)輸入信號(hào)大小變化。它根據(jù)信號(hào)分布不均勻的特點(diǎn),使系統(tǒng)具有隨輸入信號(hào)變化而改變量化區(qū)間大小,以保持輸入量化器的信號(hào)基本均勻的能力。自適應(yīng)量化必須具有對(duì)輸入信號(hào)的幅值進(jìn)行估計(jì)的能力,有了估值才能確定相應(yīng)的改變量。若估值在信號(hào)的輸入端進(jìn)行,稱前饋?zhàn)赃m應(yīng);若在量化輸出端進(jìn)行,稱反饋?zhàn)赃m應(yīng)。

預(yù)測(cè)參數(shù)的最佳化依賴于信源的統(tǒng)計(jì)特性,而按DPCM采用固定的預(yù)測(cè)參數(shù)往往得不到好的性能。自適應(yīng)預(yù)測(cè)不是對(duì)輸入信號(hào)幅度絕對(duì)值進(jìn)行編碼,而是對(duì)樣本之間的差值進(jìn)行編碼。差值不是簡(jiǎn)單地用樣本的絕對(duì)值之差,而是通過(guò)預(yù)測(cè)技術(shù)使求出的預(yù)測(cè)值與實(shí)際值的均方差盡可能地小(如圖10.3)。38

圖10.3ADPCM編碼框圖

3910.3變換編碼10.3.1變換編碼的基本方法

變換編碼先對(duì)信號(hào)進(jìn)行某種函數(shù)變換,從信號(hào)的一種表示空間變換到信號(hào)的另一種表示空間,然后在變換后的域上,對(duì)變換后的信號(hào)進(jìn)行編碼,其過(guò)程如圖10.4所示。圖10.4變換編碼的工作過(guò)程40變換編碼的基本方法是將數(shù)字圖像分成一定大小的子圖像塊,用某種正交變換對(duì)子像塊進(jìn)行變換,得到變換域中的系數(shù)矩陣,然后選用其中的主要系數(shù)進(jìn)行量化編碼,由于在變換域中信號(hào)的能量比較集中,例如圖像信號(hào)的能量主要集中在低頻部分,若只對(duì)主要的低頻分量進(jìn)行編碼并作合理的比特分配,則可大大壓縮數(shù)據(jù)量。41

變換編碼不是直接對(duì)原圖像信號(hào)壓縮編碼,而是首先將圖像信號(hào)進(jìn)行某種函數(shù)變換,從一種信號(hào)(空間)映射(變換)到另一個(gè)域中,產(chǎn)生一組變換系數(shù),然后對(duì)這些系數(shù)量化、編碼、傳輸。在空間上具有強(qiáng)相關(guān)性的信號(hào)、反映在頻域上,是某些特定的區(qū)域內(nèi)能量常常被集中在一起,或是變換系數(shù)矩陣的分布具有規(guī)律性。我們可利用這些規(guī)律,在不同的頻域上分配不同的量化比特?cái)?shù),從而達(dá)到壓縮數(shù)據(jù)的目的。42

我們知道,模擬圖像經(jīng)采樣后,成為離散化的亮度值。假如把整幅圖像一次進(jìn)行變換,則運(yùn)算比較復(fù)雜,所需時(shí)間較長(zhǎng)。通常把圖像在水平方向和垂直方向上分為若干子區(qū),以子區(qū)為單位進(jìn)行變換。每個(gè)子區(qū)通常有8×8個(gè)像素點(diǎn),每個(gè)子區(qū)的全部像素值構(gòu)成一個(gè)空間域矩陣。43變換編碼是一種有損編碼方法,采用不同的變換方式,壓縮的數(shù)據(jù)量和壓縮速度都不一樣。典型的變換編碼有離散余弦變換、KL變換以及近來(lái)流行的小波變換等。實(shí)踐證明,無(wú)論對(duì)單色圖像、彩色圖像、靜態(tài)圖像還是運(yùn)動(dòng)圖像,變換編碼都是非常有效的方法,變換編碼抗干擾性較好,有比預(yù)測(cè)編碼更高的壓縮比,其缺點(diǎn)是易于產(chǎn)生方塊效應(yīng)。44

10.3.2變換編碼的數(shù)學(xué)表示

離散變換可以用矩陣表示,設(shè)信源序列是一個(gè)n行k列的矩陣X,例如,對(duì)一幅圖像進(jìn)行掃描,從上到下共n行,從左到右取k個(gè)樣值。這樣形成n個(gè)k維的采樣向量序列(x1,x2,…,xn),其中,xi=(xi1,xi2,…xik)是一個(gè)k維向量。

45

這n個(gè)向量構(gòu)成n行k列的矩陣X,xij表示第i行第j個(gè)樣值。假設(shè)采用一維變換,設(shè)變換后輸出序列為Y,變換矩陣為A,則它們之間的關(guān)系是:

Y=AX

如果所采取的變換為正交變換,變換矩陣為正交變換矩陣,即ATA=A-1A=I,其中AT為A的轉(zhuǎn)置矩陣,T-1為T的逆矩陣,I為單位矩陣,那么:

X=ATY

在接收端用變換矩陣的轉(zhuǎn)置矩陣AT與接收序列Y相乘便可恢復(fù)源序列X。

公式的意義在于:在變換中,空間域中能量全部轉(zhuǎn)移到變換域中。在反變換中,變換域的能量又能全部轉(zhuǎn)移到空間域中。

46經(jīng)過(guò)變換之后,變換域中總能量不變,但能量將會(huì)重新分布。在空間域中,能量分布具有一定的隨機(jī)性。由于圖像有一定的相關(guān)性,變換域中能量在大部分情況下,集中于零空間頻率或低空間頻率對(duì)應(yīng)的變換系數(shù),從而使具有相關(guān)性圖像的相關(guān)性減少。同時(shí)由于能量集中于零空間頻率和低空間頻率所對(duì)應(yīng)的變換域矩陣元素中,我們對(duì)這些元素分配較多的比特?cái)?shù),而對(duì)能量較少的元素分配較少的比特?cái)?shù)或不分配比特?cái)?shù),由于相關(guān)性的減少,變換域中分配的總比特?cái)?shù)可以比原圖像的總比特?cái)?shù)少,這樣就可以使圖像所需傳送的比特?cái)?shù)減少,達(dá)到壓縮的目的。4710.3.3離散余弦變換

離散余弦變換DCT(DiscreteCosineTransformation)具有運(yùn)算速度快、易于實(shí)現(xiàn)等優(yōu)點(diǎn),它的快速算法已可由專用芯片來(lái)實(shí)現(xiàn),因而被廣泛采用。離散余弦變換方法研究較早,技術(shù)成熟,圖像壓縮實(shí)踐證明DCT是許多圖像的最佳變換,它允許將88圖像的空間表達(dá)式轉(zhuǎn)換為頻率域,只需要少量的數(shù)據(jù)點(diǎn)來(lái)表示圖像。另外,DCT算法的性能很好,可以進(jìn)行高效的運(yùn)算,因此使它在硬件和軟件中都容易實(shí)現(xiàn)。目前國(guó)際上已經(jīng)制訂了基于離散余弦變換的靜止圖像壓縮標(biāo)準(zhǔn)JPEG和運(yùn)動(dòng)圖像壓縮標(biāo)準(zhǔn)MPEG。48

DCT壓縮過(guò)程中最關(guān)鍵的步驟是一個(gè)稱為DCT的數(shù)學(xué)變換。DCT和著名的快速傅立葉變換(FFT)屬于同一類數(shù)學(xué)運(yùn)算,這類變換的基本運(yùn)算是將信號(hào)從一種表達(dá)形式變成另一種表達(dá)形式,并且這種變換過(guò)程是可逆的,即在兩個(gè)變換過(guò)程中除開(kāi)舍入誤差和截?cái)嗾`差,本質(zhì)是無(wú)損失的。

DCT變換過(guò)程相當(dāng)復(fù)雜,對(duì)其原理的理解很大程度上取決于對(duì)數(shù)學(xué)理論知識(shí)的了解。這里我們不討論深?yuàn)W的數(shù)學(xué)概念,只通過(guò)舉例說(shuō)明這個(gè)問(wèn)題。

源圖像在進(jìn)行DCT變換之前,首先把源圖像劃分為若干個(gè)8×8像素的子塊,然后對(duì)8×8像素塊逐一進(jìn)行DCT(如圖10.5)變換。例如,如果源圖像為640480的分辨率(即由640480像素組成),則劃分后的圖像將包含8060這樣多的子塊。49圖10.5JPEG將源圖像劃分為若干個(gè)子塊,每個(gè)子塊包含8×8個(gè)像素50現(xiàn)在我們來(lái)理解在DCT處理前后數(shù)據(jù)發(fā)生了哪些變化。圖像一般可以用灰度(或彩色)來(lái)表示,為討論問(wèn)題方便,我們?nèi)D像中一個(gè)被放大了的8×8個(gè)像素的子塊作為示例,如圖10.6所示。假設(shè)每個(gè)像素的灰度值(或顏色值)用8比特來(lái)表示,那么共有256個(gè)灰度等級(jí)(或256種顏色)。這樣,我們可以定義一個(gè)8行×8列的二維數(shù)組來(lái)表示圖像子塊中各像素的灰度值和顏色值。于是可得到二維數(shù)組矩陣。

不失一般性,如果圖像是真彩色圖像,即每個(gè)像素的顏色值需用24比特表示,需要用3個(gè)8行×8列的數(shù)組來(lái)表示這個(gè)子塊。每一個(gè)數(shù)組表示其中一個(gè)8比特組合的像素值。離散余弦變換作用于每一個(gè)數(shù)組。51一個(gè)被放大的8×8個(gè)像素的子塊表示圖像灰度(或顏色)的矩陣

經(jīng)過(guò)離散余弦變換后的頻率系數(shù)矩陣T

圖10.6一個(gè)8×8個(gè)像素的子塊的DCT變換52

進(jìn)行離散余弦變換,要用到如下公式:其中,否則,53公式表明:DCT對(duì)一個(gè)8×8的矩陣P進(jìn)行處理,得到一個(gè)8×8的頻率系數(shù)矩陣。不解釋這個(gè)公式是怎么來(lái)的,它的物理意義是:這個(gè)變換的基本運(yùn)算是將信號(hào)從一種表達(dá)形式(空間域,即圖像的像素值)變成另一種等同的表達(dá)形式(頻率域,即頻率系數(shù)),并且這種變換過(guò)程是可逆的。數(shù)組T中每個(gè)元素稱為變換系數(shù),這些系數(shù)都有明確的物理意義:如當(dāng)i=0,j=0時(shí),P[0][0]的值稱為DC系數(shù),它與數(shù)組P的平均值有關(guān)。T矩陣的其余的值稱為AC系數(shù)。隨著i和j值的增加,相應(yīng)系數(shù)分別代表逐步增加的水平空間頻率分量和垂直空間頻率分量的大小。

54從矩陣中可以看出有一個(gè)傾向:隨著元素離DC系數(shù)越來(lái)越遠(yuǎn),它的值就越來(lái)越小。這意味著通過(guò)DCT來(lái)處理數(shù)據(jù),已將圖像的表示集結(jié)到輸出矩陣的左上角的系數(shù),這個(gè)系數(shù)就比其他系數(shù)攜帶了更多關(guān)于圖像的有用信息,同時(shí)DCT矩陣的右下部分系數(shù)幾乎不包含有用信息。由于計(jì)算機(jī)屏幕上的大多數(shù)圖像都由低頻信息構(gòu)成,因此這一點(diǎn)是很有意義的。這樣,系數(shù)越來(lái)越小,而且對(duì)描述圖像越來(lái)越不重要。所以說(shuō)DCT確定了圖像的一部分信息,這些信息可被“扔掉”并且不會(huì)對(duì)圖像的質(zhì)量帶來(lái)嚴(yán)重影響。在圖像未進(jìn)行變換前要實(shí)現(xiàn)這一點(diǎn)是難以想象的,當(dāng)圖像在空間域描述時(shí)要找出哪些像素對(duì)圖像的全貌是重要的,而哪些是不重要的則相當(dāng)困難。

55

如果離散余弦變換是不可逆運(yùn)算(即從DCT系數(shù)中恢復(fù)原始像素信息),那么這種變換是毫無(wú)意義的,事實(shí)上,有一個(gè)逆離散余弦變換(IDCT)公式能夠?qū)㈩l率域的數(shù)據(jù)重新轉(zhuǎn)換為像素值:56DCT(IDCT)算法的計(jì)算量比較大(從程序中可以看出,是一個(gè)循環(huán)的嵌套結(jié)構(gòu))。如對(duì)一幅較高精度的真彩色圖像使用JPEG壓縮時(shí),大約要進(jìn)行上億次運(yùn)算操作,這對(duì)實(shí)現(xiàn)JPEG壓縮、編碼的軟件、硬件設(shè)備產(chǎn)品提出了較高的要求。早期的JPEG壓縮多數(shù)做成專用的壓縮卡,以專用的高速CPU芯片實(shí)現(xiàn)壓縮處理,現(xiàn)在通用的計(jì)算機(jī)CPU速度不斷提高的情況下,JPEG壓縮也可以用軟件來(lái)實(shí)現(xiàn)。

57DCT的優(yōu)點(diǎn)很多,主要表現(xiàn)為:

已證明DCT是許多圖像的最佳變換;

DCT可以將N×N圖像的空間域轉(zhuǎn)換為頻率域,只需少量的數(shù)據(jù)點(diǎn)表示圖像;DCT產(chǎn)生的系數(shù)很容易被量化,以獲得好的塊壓縮;

DCT算法的性能很好,可以進(jìn)行高效的運(yùn)算,因此它在硬件和軟件中都容易實(shí)現(xiàn);

DCT算法是對(duì)稱的,逆DCT算法可用來(lái)解壓縮圖像。5810.3.4K-L變換

K-L變換(Karhunen-Loeve)亦稱主要成份變換,是一個(gè)離散變換。K-L變換從圖像統(tǒng)計(jì)特性出發(fā),用一組不相關(guān)的系數(shù)來(lái)表示連續(xù)信號(hào),實(shí)現(xiàn)正交變換。K-L使矢量信號(hào)的各個(gè)分量互不相關(guān),因而在均方誤差準(zhǔn)則下,它是失真最小的一種變換,故稱作最佳變換。

如果圖像信號(hào)是一個(gè)平穩(wěn)隨機(jī)過(guò)程,K-L變換的效率最高。通過(guò)K-L變換之后,所有的系數(shù)都是不相關(guān)的,并且數(shù)值較大的方差僅存于少數(shù)系數(shù)中,這樣就有可能在允許的失真度下,把圖像數(shù)據(jù)壓縮到最小。59

雖然K-L變換是最佳正交變換方法,但是由于它沒(méi)有通用的變換矩陣,因此對(duì)于每一個(gè)圖像數(shù)據(jù)都要計(jì)算相應(yīng)的變換矩陣,其計(jì)算量相當(dāng)大,很難滿足實(shí)時(shí)處理的要求。所以實(shí)際中較少用K-L變換對(duì)圖像數(shù)據(jù)進(jìn)行壓縮。

6010.3.5小波變換

今天的影像壓縮中,動(dòng)態(tài)影像壓縮一般采用MPEG算法,靜止影像壓縮多采用JPEG算法。MPEG和JPEG均基于DCT。使用DCT進(jìn)行影像壓縮的缺陷在于影像的細(xì)節(jié)、精細(xì)信息損失較多,人工處理的痕跡較明顯。一種名叫小波壓縮的壓縮算法引起了人們的注意。61

小波分析方法最早是1910年Harr提出的小“波”規(guī)范正交基的概念。到20世紀(jì)80年代,Stromberg證明了小波函數(shù)的存在性,1984年法國(guó)地球物理學(xué)家Morlet在分析地震波的局部性質(zhì)時(shí),發(fā)現(xiàn)傳統(tǒng)的付立葉(Fourier)變換難以達(dá)到要求,因而引入小波概念于信號(hào)分析中。1987年,Mallat將計(jì)算機(jī)視覺(jué)領(lǐng)域內(nèi)的多尺度分析的思路引入到小波分析中,小波函數(shù)的構(gòu)造以及信號(hào)按小波變換的分解與重構(gòu),其相應(yīng)的算法(稱為Mallat算法)有效地應(yīng)用于圖像分析與重構(gòu)。62

近年來(lái),小波變換(WaveletTransformation)倍受科學(xué)技術(shù)界的重視,它不僅在數(shù)學(xué)上已形成一個(gè)新的分支,而且在應(yīng)用上(如信號(hào)處理、圖像壓縮、模式識(shí)別以及眾多的非線性科學(xué)領(lǐng)域)被認(rèn)為是繼離散余弦變換之后的一種最具潛力的變換編碼技術(shù)。由于小波變換具有Fourier變換所沒(méi)有的時(shí)頻特性及多分辨率分析,以及它的快速算法(Mallat算法)并不遜色于快速Fourier變換,因而小波變換一經(jīng)出現(xiàn),立即引起了人們的關(guān)注,成為當(dāng)前最為熱門的一個(gè)研究方向。

63

小波變換對(duì)圖像的壓縮類似于離散余弦變換,即都是對(duì)圖像進(jìn)行變換,由時(shí)域變換到頻域,然后再量化,編碼,輸出。不同之處在于小波變換是對(duì)整幅圖像進(jìn)行變換,而不是先對(duì)圖像進(jìn)行小區(qū)域分割。另外在量化技術(shù)上也是采用不同的方法。離散余弦變換是采用一種與人類視覺(jué)相匹配的矢量量化表,而小波變換則沒(méi)有這樣的量化表,它主要依據(jù)變換后各級(jí)分辨率之間的自相似的特點(diǎn),采用逐級(jí)逼近技術(shù)實(shí)現(xiàn)減少數(shù)據(jù)存儲(chǔ)的目的。

64

利用小波變換技術(shù)實(shí)現(xiàn)對(duì)圖像、視頻及聲音的壓縮可以取得極好壓縮效果。小波壓縮的速度很快,而且其還原的影像質(zhì)量也更為精細(xì)(如圖10.7)。MPEG最高壓縮比率約為200∶1,對(duì)比之下,小波壓縮算法對(duì)動(dòng)態(tài)影像的壓縮比率為480∶1,而對(duì)靜止影像畫(huà)面的壓縮比率也高達(dá)300∶1以上。小波壓縮算法的出現(xiàn),促進(jìn)了包括Internet上的視頻點(diǎn)播、更高容量和更高畫(huà)質(zhì)的CDROM影視節(jié)目的創(chuàng)作、交互式電視、圖書(shū)檢索和異地遠(yuǎn)程視訊會(huì)議的發(fā)展。65源圖像

小波壓縮后重構(gòu)的圖像(壓縮比:22:1)

圖10.7小波變換的壓縮效果66

基于小波壓縮技術(shù)的良好性能,美國(guó)生產(chǎn)DSP的著名廠商AnalogDevices公司,已開(kāi)始提供支持小波壓縮的編碼/解碼芯片。Intel公司更是利用小波壓縮算法重新設(shè)計(jì)了它的Indeo視頻交互系統(tǒng)。在新的Indeo視頻交互系統(tǒng)中,舍棄了原來(lái)的壓縮技術(shù),而采用了更加復(fù)雜的基于小波壓縮的算法。67

綜上所述,由于小波變換繼承了Fourier分析的優(yōu)點(diǎn),同時(shí)又克服它的許多缺點(diǎn),所以它在靜態(tài)和動(dòng)態(tài)圖像壓縮領(lǐng)域得到廣泛的應(yīng)用,并且已經(jīng)成為某些圖像壓縮國(guó)際標(biāo)準(zhǔn)(如MPEG-4)的重要環(huán)節(jié)。當(dāng)然,像其他變換編碼一樣,在壓縮比特別高的時(shí)候,小波變換壓縮量化后的重建圖像也會(huì)產(chǎn)生幾何畸變。

由于小波分析克服了Fourier分析的許多弱點(diǎn),因此它不僅可以用于圖像壓縮,還可以用于許多其他領(lǐng)域,如信號(hào)分析、靜態(tài)圖像識(shí)別、計(jì)算機(jī)視覺(jué)、聲音壓縮與合成、視頻圖像分析、CT成像、地震勘探和分形力學(xué)等領(lǐng)域。總之,可以說(shuō)凡能用Fourier分析的地方,都可以進(jìn)行小波分析。小波分析應(yīng)用前景十分廣闊。

68

當(dāng)前,關(guān)于小波變換圖像壓縮算法的研究和應(yīng)用都十分活躍。國(guó)外一些公司將這種技術(shù)用于Internet環(huán)境中的圖像數(shù)據(jù)傳輸,提供商業(yè)化的服務(wù),對(duì)于緩解網(wǎng)絡(luò)帶寬不足、加快圖像信息傳播速度起到了很好的推進(jìn)作用。圖文資料數(shù)字化必然會(huì)產(chǎn)生大量的圖像數(shù)據(jù),對(duì)于高比率圖像壓縮算法的需求尤為迫切。作為一種優(yōu)秀的圖像壓縮算法,小波變換在這一領(lǐng)域具有非常好的應(yīng)用前景,也應(yīng)該能夠發(fā)揮關(guān)鍵性的作用.

6910.4統(tǒng)計(jì)編碼

預(yù)測(cè)編碼和變換編碼是根據(jù)去除相關(guān)性的原理達(dá)到壓縮數(shù)據(jù)的目的。數(shù)據(jù)之所以能夠壓縮,主要是由于信源發(fā)出的信息序列是有記憶的,元素之間存在相關(guān)性,去掉它們之間的相關(guān)性之后,數(shù)據(jù)才被壓縮的。那么,相互獨(dú)立的、無(wú)相關(guān)性的消息序列構(gòu)成的無(wú)記憶信源能否進(jìn)行壓縮呢?我們知道,信源的熵H(X)只有在信源符號(hào)出現(xiàn)的概率相等時(shí),才達(dá)到它的最大值,即使信源符號(hào)之間無(wú)相關(guān)性,只要它們出現(xiàn)的概率不等,那么其熵H(x)必然小于最大值,即有冗余信息的存在。既然有冗余度存在,當(dāng)然對(duì)這樣的信源也能夠采用一定的方法進(jìn)行壓縮。70

統(tǒng)計(jì)編碼就是根據(jù)消息出現(xiàn)概率的分布特性而進(jìn)行的壓縮編碼,它有別于預(yù)測(cè)編碼和變換編碼。這種編碼的宗旨在于,在消息和碼字之間找到明確的一一對(duì)應(yīng)關(guān)系,以便在恢復(fù)時(shí)能夠準(zhǔn)確無(wú)誤地再現(xiàn)出來(lái),或者至少是極相似地找到相當(dāng)?shù)膶?duì)應(yīng)關(guān)系,并把這種失真或不對(duì)應(yīng)概率限制到可容忍的范圍內(nèi)。但不管什么途徑,它們總是要使平均碼長(zhǎng)或碼率壓低到最低限度。

71

統(tǒng)計(jì)編碼主要針對(duì)無(wú)記憶信源(是指信源在不同時(shí)刻發(fā)出的符號(hào)之間是無(wú)依賴的,彼此統(tǒng)計(jì)獨(dú)立的),根據(jù)信息碼字出現(xiàn)概率的分布特征而進(jìn)行壓縮編碼,尋找概率與碼字長(zhǎng)度間的最優(yōu)匹配。統(tǒng)計(jì)編碼又可分為定長(zhǎng)碼和變長(zhǎng)碼。給單個(gè)符號(hào)或者定長(zhǎng)符號(hào)組賦相同長(zhǎng)度的碼字,這就是所謂的定長(zhǎng)編碼。如果根據(jù)符號(hào)出現(xiàn)概率的不同賦予長(zhǎng)短不一的碼字,這是變長(zhǎng)編碼(VLC)方案。

常用的統(tǒng)計(jì)編碼有huffman編碼、算術(shù)編碼和行程編碼三種。7210.4.1哈夫曼(Huffman)編碼

大多數(shù)存儲(chǔ)數(shù)字的信息編碼系統(tǒng)都采用位數(shù)固定的定長(zhǎng)碼,即使用相同位數(shù)對(duì)數(shù)據(jù)進(jìn)行編碼。如常用的ASCII碼,用8位二進(jìn)制數(shù)表示一個(gè)英文字符。正象一篇文章中,每個(gè)字符出現(xiàn)的頻度是不同的。有些字符出現(xiàn)的頻率高,有些字符出現(xiàn)的頻率低。同樣,在一幅圖像中,有些圖像數(shù)據(jù)出現(xiàn)的頻率高,有些圖像數(shù)據(jù)出現(xiàn)的頻率低。如果對(duì)出現(xiàn)頻率高的數(shù)據(jù)用較少的比特?cái)?shù)來(lái)表示,出現(xiàn)頻率低的數(shù)據(jù)用較多的比特?cái)?shù)來(lái)表示,這樣從總的效果看還是節(jié)省了存儲(chǔ)空間。采用這種辦法對(duì)數(shù)據(jù)進(jìn)行編碼時(shí),代碼的位數(shù)不固定,這種碼稱為變長(zhǎng)碼。這種編碼思想首先由香農(nóng)提出,哈夫曼對(duì)它提出了改進(jìn),用這種方法得到的編碼稱為哈夫曼碼。73

哈夫曼壓縮算法的編碼思想如下:

⑴將信源符號(hào)按概率遞減順序排列;

⑵把兩個(gè)最小的概率加起來(lái),作為新符號(hào)的概率;

⑶重復(fù)步驟⑴與⑵,直到概率和等于1為止;

⑷完成上述步驟后,再沿路徑返回進(jìn)行編碼。尋找從每一信源符號(hào)到概率為1處的路徑,每層有兩個(gè)分支,分別賦予0和1(對(duì)概率大的賦予編碼0,概率小的賦予編碼1,反之亦可,但同一過(guò)程中賦值的方法必須一致),從而得到每個(gè)符號(hào)的編碼。哈夫曼編碼示例如圖10.8所示74信源概率哈夫曼碼a10.2501a20.2011a30.18000a40.13100a50.10101a60.090010a70.050011

1

0

0

0

1

0

0

1

1

010.23

0.14

0.32

0.43

0.5711圖10.8哈夫曼編碼過(guò)程75

對(duì)信源進(jìn)行編碼后,形成了一個(gè)哈夫曼編碼表。在信源的存儲(chǔ)與傳輸過(guò)程中必須首先存儲(chǔ)或傳輸哈夫曼編碼表。解碼時(shí),必須參照這個(gè)表才能正確譯碼。使用哈夫曼編碼方法,要精確地統(tǒng)計(jì)出每個(gè)信源出現(xiàn)的概率,如果沒(méi)有這個(gè)精確統(tǒng)計(jì)最終的編碼文件就不會(huì)太小。所以哈夫曼方法通常要進(jìn)行兩次掃描:第一遍掃描產(chǎn)生統(tǒng)計(jì)結(jié)果,第二遍掃描完成編碼。7610.4.2行程編碼

現(xiàn)實(shí)中有許多這樣的圖像,在一幅圖像中具有許多顏色相同的圖塊。在這些圖塊中,許多行上都具有相同的顏色,或者在一行上有許多連續(xù)的像素都具有相同的顏色值。在這種情況下就不需要存儲(chǔ)每一個(gè)像素的顏色值,而僅僅存儲(chǔ)一個(gè)像素的顏色值,以及具有相同顏色的像素?cái)?shù)目即可,或者存儲(chǔ)一個(gè)像素的顏色值,以及具有相同顏色值的行數(shù)。這種壓縮編碼稱為行程長(zhǎng)度編碼,用RLE(RunLengthEncoding)表示,具有相同顏色并且是連續(xù)的像素?cái)?shù)目稱為行程長(zhǎng)度。

77

RLE所能獲得的壓縮比有多大,主要取決于圖像本身的特點(diǎn)。如果圖像中具有相同顏色的圖像塊越大,圖像塊數(shù)目越少,則獲得的壓縮比就越高。反之,壓縮比就越小。譯碼時(shí)按照與編碼時(shí)采用的相同規(guī)則進(jìn)行,還原后得到的數(shù)據(jù)與壓縮前的數(shù)據(jù)完全相同,由此可見(jiàn),RLE是一種無(wú)損壓縮技術(shù)。

78RLE編碼方法特別適用于由計(jì)算機(jī)生成的圖像,對(duì)于減少圖像文件的存儲(chǔ)空間非常有效。許多圖形文件和視頻文件,如.BMP,.TIF等都使用了這種壓縮。然而,RLE對(duì)顏色豐富的自然圖像就顯得力不從心。因?yàn)樵诓噬珗D像中,同一行上具有相同顏色的連續(xù)像素往往很少,而連續(xù)幾行都具有相同顏色值的情況就更少。如果仍用RLE編碼方法,不僅不能壓縮圖像,反而使原來(lái)的圖像數(shù)據(jù)變得更大。但這并不是說(shuō)RLE編碼方案不能用于自然圖像的壓縮,而是不能單純使用RLE一種編碼方法,需要和其他的壓縮編碼技術(shù)聯(lián)合使用。

7910.4.3算術(shù)編碼

算術(shù)編碼是Rissomen提出的一種編碼方法,它把信源集合映射到[0,1]區(qū)間之間的一個(gè)小區(qū)間,用這個(gè)小區(qū)間里的一個(gè)實(shí)數(shù)表示此信源符號(hào)。在不知信源統(tǒng)計(jì)的情況下,只要能監(jiān)視一小段時(shí)間內(nèi)碼符號(hào)出現(xiàn)的頻度,不管是平穩(wěn)的還是非平穩(wěn)的信號(hào),編成的碼率總能趨近于信源熵值。雖然比Huffman編碼復(fù)雜,但它不需要傳送像Huffman碼的碼表,具有可構(gòu)造性,即可以使用迭代方法每次處理一個(gè)數(shù)據(jù)符號(hào)且只有算術(shù)運(yùn)算,同時(shí)算術(shù)編碼還有自適應(yīng)能力的優(yōu)點(diǎn),所以是一種很有前途的編碼方法,在國(guó)際標(biāo)準(zhǔn)JPEG擴(kuò)展系統(tǒng)中,建議使用算術(shù)編碼。80

算術(shù)編碼可以是靜態(tài)的或者自適應(yīng)的。在靜態(tài)算術(shù)編碼中,信源符號(hào)的概率是固定的。在自適應(yīng)算術(shù)編碼中,信源符號(hào)的概率根據(jù)編碼時(shí)符號(hào)出現(xiàn)的頻繁程度動(dòng)態(tài)地進(jìn)行修改,在編碼期間估算信源符號(hào)概率的過(guò)程叫做建模。需要開(kāi)發(fā)動(dòng)態(tài)算術(shù)編碼的原因是因?yàn)槭孪戎谰_的信源概率是很難的,而且是不切實(shí)際的。當(dāng)壓縮消息時(shí),我們不能期待一個(gè)算術(shù)編碼器獲得最大的效率,所能做的最有效的方法是在編碼過(guò)程中估算概率。因此動(dòng)態(tài)建模就成為確定編碼器壓縮效率的關(guān)鍵。

81符號(hào)00011011概率0.10.40.20.3初始編碼間隔[0,0.1)[0.1,0.5)[0.5,0.7)[0.7,1)8210.4.4關(guān)于統(tǒng)計(jì)編碼模型

要壓縮一條信息,首先要分析清楚信息中每個(gè)符號(hào)出現(xiàn)的概率。不同的壓縮程序通過(guò)不同的方法確定符號(hào)的出現(xiàn)概率,對(duì)符號(hào)的概率計(jì)算得越準(zhǔn)確,也就越容易得到好的壓縮效果。在壓縮程序中,用來(lái)處理輸入信息,計(jì)算符號(hào)的概率并決定輸出哪個(gè)或哪些代碼的模塊叫做模型。83

因?yàn)閷?duì)信息中字符的出現(xiàn)概率通常難以估計(jì)以至于有各種不同的壓縮模型。當(dāng)然,我們可以預(yù)先掃描文件中的所有字符,統(tǒng)計(jì)出每個(gè)字符出現(xiàn)的概率,這種方法在壓縮術(shù)語(yǔ)里叫做“靜態(tài)統(tǒng)計(jì)模型”。但是,不同的文件中,字符有不同的分布概率,我們要么先花上大量的時(shí)間統(tǒng)計(jì)我們要壓縮的所有文件中的字符概率,要么為每一個(gè)單獨(dú)的文件保存一份概率表以備解壓縮時(shí)需要。問(wèn)題是,不但掃描文件要消耗大量時(shí)間,保存一份概率表也使壓縮后的文件增大了不少。所以,實(shí)際應(yīng)用中,“靜態(tài)統(tǒng)計(jì)模型”應(yīng)用的很少。84

真正的壓縮程序中使用的大多是一種叫“自適應(yīng)模型”的模型??梢哉J(rèn)為自適應(yīng)模型是一臺(tái)具有學(xué)習(xí)功能的自動(dòng)機(jī)。它在信息被輸入之前對(duì)信息內(nèi)容一無(wú)所知并假定每個(gè)字符的出現(xiàn)概率均等,隨著字符不斷被輸入和編碼,統(tǒng)計(jì)并記錄已經(jīng)出現(xiàn)過(guò)的字符的概率并將這些概率應(yīng)用于對(duì)后續(xù)字符的編碼。也就是說(shuō),自適應(yīng)模型在壓縮開(kāi)始時(shí)壓縮效果并不理想,但隨著壓縮的進(jìn)行,他會(huì)越來(lái)越接近字符概率的準(zhǔn)確值,并達(dá)到理想的壓縮效果。自適應(yīng)模型還可以適應(yīng)輸入信息中字符分布的突然變化,可以適應(yīng)不同的文件中的字符分布而不需要保存概率表。85

Huffman編碼、算術(shù)編碼可以采用自適應(yīng)模型,根據(jù)已經(jīng)編碼的符號(hào)頻率決定下一個(gè)符號(hào)的編碼。這時(shí),我們無(wú)需為解壓縮預(yù)先保存任何信息,整個(gè)編碼是在壓縮和解壓縮過(guò)程中動(dòng)態(tài)創(chuàng)建的,而且自適應(yīng)編碼由于其符號(hào)頻率是根據(jù)信息內(nèi)容的變化動(dòng)態(tài)得到的,更符合符號(hào)的局部分布規(guī)律,因此在壓縮效果上比靜態(tài)模型好許多。但是,采用自適應(yīng)模型必須考慮編碼表的動(dòng)態(tài)特性,即編碼表必須可以隨時(shí)更新以適應(yīng)符號(hào)頻率的變化。

8610.5其他編碼10.5.1LZW編碼

1977年,兩位以色列教授發(fā)明Lempel-Zev壓縮技術(shù),介紹了查找冗余字符串和將此字符串用較短的符號(hào)標(biāo)記替代的技術(shù),并作了實(shí)驗(yàn)。1985年,美國(guó)的Wekch將此技術(shù)實(shí)用化,取得了LZW專利。

哈夫曼編碼要求事先編寫(xiě)出一本碼簿,但在許多情況下并不知道或無(wú)法取得被壓縮數(shù)據(jù)的統(tǒng)計(jì)特性。LZW是基于“詞典編碼”的另一種編碼方案。其基本思想是用符號(hào)代替一串字符,這一串字符可是有意義的,也可是無(wú)意義的。用8位代碼表示的圖像數(shù)據(jù)組合起來(lái)的一串字符很難說(shuō)代表什么意義。因此,在詞典編碼中僅僅把字符串看成是一個(gè)號(hào)碼,而不管它代表什么意思。87圖像數(shù)據(jù)實(shí)際上也是由字符串組成的,在對(duì)一幅圖像數(shù)據(jù)進(jìn)行編碼之前首先設(shè)置一個(gè)編碼碼表,這個(gè)碼表可以是已知的256個(gè)字符組成的碼表,表的每一欄可看成是由單個(gè)字符組成的字符串,并且給每一欄都編一個(gè)號(hào)碼。

在編碼圖像數(shù)據(jù)過(guò)程中,每讀一個(gè)字符(即圖像數(shù)據(jù)),就與以前讀入的字符串拼接成一個(gè)新的字符串,并且查看碼表中是否已經(jīng)有相同的字符串,如果有就用這個(gè)字符串的號(hào)碼來(lái)代替這一個(gè)字符,如果沒(méi)有,則把這個(gè)新的字符串放到碼表中,并且給它編上一個(gè)新的號(hào)碼。編碼就變成一邊生成碼表一邊增添新字符串的號(hào)碼。在數(shù)據(jù)存儲(chǔ)或傳輸時(shí),只存儲(chǔ)或傳輸號(hào)碼,而不存儲(chǔ)和傳輸碼表本身。在譯碼時(shí),按照編碼時(shí)的規(guī)則一邊生成碼表一邊還原圖像數(shù)據(jù)。88

LZW壓縮編碼也是一種無(wú)損壓縮編碼,目前已經(jīng)把這種壓縮技術(shù)成功地集成到Windows系統(tǒng)中,用于壓縮硬盤(pán)上的數(shù)據(jù)。現(xiàn)在市場(chǎng)上流行的許多圖像處理軟件都采用了LZW算法,用于減少圖像所需要的存儲(chǔ)空間。

10.5.2分形編碼

分形最早是由IBM研究中心的數(shù)學(xué)家BenoitMandelbrot于1967年在研究海岸線長(zhǎng)度時(shí)提出來(lái)的。海岸線的長(zhǎng)度實(shí)際上是不確定的,因?yàn)槠溟L(zhǎng)度取決于測(cè)量的尺度。隨著尺度的減小,量到的彎曲越多,海岸線將越長(zhǎng)。Mandelbrot把這種圖形叫作分形(fraction),意味不規(guī)則。

89

分形編碼與分形幾何相關(guān)。什么是分形幾何?通俗一點(diǎn)說(shuō)就是研究無(wú)限復(fù)雜但具有一定意義下的自相似圖形和結(jié)構(gòu)的幾何學(xué)。什么是自相似呢?例如一棵蒼天大樹(shù)與它自身上的樹(shù)枝及樹(shù)枝上的枝杈,在形狀上沒(méi)大的區(qū)別,大樹(shù)與樹(shù)枝這種關(guān)系在幾何形狀上稱之為自相似關(guān)系;我們?cè)倌脕?lái)一片樹(shù)葉,仔細(xì)觀察一下葉脈,它們也具備這種性質(zhì)。這些例子在我們的身邊到處可見(jiàn)。分形幾何揭示了世界的本質(zhì),分形幾何是真正描述大自然的幾何學(xué)。90

分形幾何不同于傳統(tǒng)的歐氏幾何之處在于它更適于描繪自然界復(fù)雜的、具有無(wú)窮細(xì)節(jié)的自然景物。如絢麗多姿的云彩,層巒起伏的山脈,彎曲綿延的海岸線等。它的兩大工具即是自相似原理及分?jǐn)?shù)維。自相似可以把復(fù)雜的景物用極其簡(jiǎn)單的規(guī)則來(lái)描述,分?jǐn)?shù)維則用來(lái)刻畫(huà)該物的復(fù)雜程度。如一條平直的直線,它的維數(shù)是1;而對(duì)于復(fù)雜的曲線,它的維數(shù)卻是介于12之間的分?jǐn)?shù)維,如果1.2維或1.3維等。91分形編碼正是利用了分形幾何中自相似的原理來(lái)實(shí)現(xiàn)的。首先對(duì)圖像進(jìn)行分塊,然后再去尋找各塊之間的相似性,這里相似性的描述主要是依靠仿射變換來(lái)確定的,一旦找到了每塊的仿射變換,于是就保存下這個(gè)仿射變換的系數(shù),由于每塊的數(shù)據(jù)量遠(yuǎn)大于仿射變換的系數(shù),因而圖像得以大幅度的壓縮。

10多年來(lái),雖然分形圖像編碼和解碼不斷改進(jìn),但仍不夠成熟,壓縮比不夠高,壓縮效果還不十分理想,在當(dāng)前圖像壓縮編碼中還不能占據(jù)主導(dǎo)地位。國(guó)際標(biāo)準(zhǔn)MPEG-4中已經(jīng)把小波變換列了進(jìn)去,但分形不在其中。靜態(tài)圖像壓縮標(biāo)準(zhǔn)JPEG2000是完全使用小波的圖像編碼方法,也沒(méi)有把分形列進(jìn)去。但我們應(yīng)該看到分形圖像壓縮方法的優(yōu)勢(shì)和巨大潛力。

9210.5.3矢量量化編碼

矢量量化編碼利用相鄰圖像數(shù)據(jù)間的高度相關(guān)性,將輸入圖像數(shù)據(jù)序列分組,每一組m個(gè)數(shù)據(jù)構(gòu)成一個(gè)m維矢量,一起進(jìn)行編碼,即一次量化多個(gè)點(diǎn)。根據(jù)香農(nóng)率失真理論,對(duì)于無(wú)記憶信源,矢量量化編碼總是優(yōu)于標(biāo)量量化編碼。93編碼前,先通過(guò)大量樣本的訓(xùn)練或?qū)W習(xí)或自組織特征映射神經(jīng)網(wǎng)絡(luò)方法,得到一系列的標(biāo)準(zhǔn)圖像模式,每一個(gè)圖像模式就稱為碼字或碼矢,這些碼字或碼矢合在一起稱為碼書(shū),碼書(shū)實(shí)際上就是數(shù)據(jù)庫(kù)。輸入圖像塊按照一定的方式形成一個(gè)輸入矢量。編碼時(shí)用這個(gè)輸入矢量與碼書(shū)中的所有碼字計(jì)算距離,找到距離最近的碼字,即找到最佳匹配圖像塊。輸出其索引(地址)作為編碼結(jié)果。解碼過(guò)程與之相反,根據(jù)編碼結(jié)果中的索引從碼書(shū)中找到索引對(duì)應(yīng)的碼字(該碼書(shū)必須與編碼時(shí)使用的碼書(shū)一致),構(gòu)成解碼結(jié)果。由此可知,矢量量化編碼是有損編碼。

9410.5.4子帶編碼

子帶編碼技術(shù)是一種高質(zhì)量、高壓縮比的圖像編碼方法。它早已在語(yǔ)音信號(hào)壓縮編碼中獲得廣泛應(yīng)用。其基本依據(jù)是,語(yǔ)音和圖像信號(hào)可以劃分為不同的頻域段,人眼對(duì)不同頻域段的敏感程度不同。例如圖像信號(hào)的主要能量集中在低頻區(qū)域,它反映圖像的平均亮度,而細(xì)節(jié)、邊緣信息則集中在高頻區(qū)域。子帶編碼的基本思想是利用一濾波器組,通過(guò)重復(fù)卷積的方法,經(jīng)取樣將輸入信號(hào)分解為高頻分量和低頻分量,然后分別對(duì)高頻和低頻分量進(jìn)行量化和編碼。解碼時(shí),高頻分量和低頻分量經(jīng)過(guò)插值和共軛濾波器而合成原信號(hào)。進(jìn)行子帶編碼的一個(gè)關(guān)鍵問(wèn)題,是如何設(shè)計(jì)共軛濾波器組,除去混疊頻譜分量。

9510.6靜態(tài)圖像壓縮標(biāo)準(zhǔn)JPEG

JPEG(JointPhotographeraExpertsGroup)是一個(gè)通用的靜態(tài)圖像壓縮標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)制定了有損壓縮和無(wú)損壓縮的編碼方案。這個(gè)標(biāo)準(zhǔn)適用范圍很廣,既可用于灰度圖像,又可用于彩色圖像。如多媒體CD-ROM,彩色圖像,圖文檔案管理等。10.6.1JPEG概述

JPEG算法是一種適用于連續(xù)色調(diào)、多級(jí)灰度、靜止圖像的數(shù)字圖像壓縮編碼方法。也是國(guó)際上彩色、灰度、靜止圖像的第一個(gè)國(guó)際標(biāo)準(zhǔn)。是一個(gè)適用范圍廣泛的通用標(biāo)準(zhǔn)。它不僅適用于靜止圖像的壓縮,電視圖像序列的幀內(nèi)圖像的壓縮編碼,也常采用JPEG壓縮方法。96

JPEG的目的是為了給出一個(gè)適用于連續(xù)色調(diào)圖像的壓縮方法,使之滿足以下要求:達(dá)到或接近當(dāng)前壓縮比與圖形保真度的技術(shù)水平,能覆蓋一個(gè)較寬的圖形質(zhì)量等級(jí)范圍,能達(dá)到“很好”或“極好”的評(píng)估,與原始圖像相比,人的視覺(jué)難以區(qū)分。能適用于任何種類連續(xù)色調(diào)圖像,且長(zhǎng)寬比都不受限制,同時(shí)也不受限于景物內(nèi)容、圖形復(fù)雜程度和統(tǒng)計(jì)特性。

計(jì)算的復(fù)雜性是可控制的,其軟件可在各種CPU上完成,算法也可用硬件實(shí)現(xiàn)。

97

JPEG算法的基礎(chǔ)是離散余弦變換和哈夫曼變換,它是一種有損壓縮。試驗(yàn)表明,經(jīng)壓縮25倍還原后的彩色圖像與原圖相比,對(duì)非行家來(lái)說(shuō)很難加以區(qū)別。在損失某些圖像信息的情況下,JPEG可以把圖像壓縮比提的更高。例如當(dāng)把30:1的壓縮比用于一個(gè)全彩色的圖像幀時(shí),要求的圖像存儲(chǔ)空間就從1000K降至33K,而數(shù)據(jù)傳輸率則降至每秒1MB,這就降到了目前大多數(shù)存儲(chǔ)設(shè)備可以處理的范圍內(nèi)了。

JPEG壓縮分四個(gè)步驟實(shí)現(xiàn):顏色模式轉(zhuǎn)換及采樣;DCT變換;

量化;

編碼;

98

JPEG的編碼過(guò)程與譯碼過(guò)程如圖10.9和10.10所示圖10.9JPEG的編碼步驟圖10.10JPEG的解碼步驟9910.6.2顏色模式轉(zhuǎn)換及采樣

RGB色彩模型是我們最常用的表示顏色的方式。JPEG采用的是YCbCr色彩系統(tǒng)。這里Y代表亮度,Cb和Cr則代表色度、飽和度。JPEG的圖片使用YCrCb顏色模型,而不是RGB顏色模型,其中的一個(gè)主要理由是人類的眼晴對(duì)低頻的數(shù)據(jù)比對(duì)高頻的數(shù)據(jù)具有更高的敏感度,同樣,人眼對(duì)亮度的改變也比對(duì)色彩的改變要敏感得多,也就是說(shuō)Y成份的數(shù)據(jù)是比較重要的。既然Cb成份和Cr成份的數(shù)據(jù)比較相對(duì)不重要,就可以只取部分?jǐn)?shù)據(jù)來(lái)處理。以增加壓縮的比例。100

JPEG通常有兩種采樣方式:4:1:1和4:2:2,它們所代表的意義是Y、Cb和Cr三個(gè)成份的數(shù)據(jù)取樣比例。例如在4:2:2采樣方式中,采用RGB模型,4個(gè)點(diǎn)需要43=12字節(jié)(想一想為什么是43),而在YcrCb模型中僅需要4+2=6字節(jié)

101

想要用JPEG基本壓縮法處理全彩色圖像,得先把RGB顏色模式圖像數(shù)據(jù),轉(zhuǎn)換為YCbCr顏色模式的數(shù)據(jù)。通過(guò)下列計(jì)算公式可完成數(shù)據(jù)轉(zhuǎn)換:

Y=0.2990R+0.5870G+0.1140B

Cb=-0.1687R-0.3313G+0.5000B+128

Cr=0.5000R-0.4187G-0.0813B+12810.6.3DCT變換

DCT變換(如圖10.11所示)這里進(jìn)一步討論DCT變換前后的空間域矩陣(P矩陣)和頻率域矩陣(T矩陣)中數(shù)值的物理意義及其聯(lián)系。102P矩陣

DCT變換T矩陣

圖10.11DCT變換是將空間矩陣P變換為頻率矩陣T103

DCT變換時(shí),輸入的圖像數(shù)據(jù)是單個(gè)分量的樣本數(shù)據(jù),它把整幅圖分成許多子塊,每個(gè)子塊是一個(gè)8×8樣本矩陣。當(dāng)圖像數(shù)據(jù)分成一個(gè)88矩陣后,還必須將每個(gè)數(shù)值減去128,然后一一代入DCT變換公式中,即可達(dá)到DCT變換的目的。圖像數(shù)據(jù)值必須減去128,是因?yàn)镈CT轉(zhuǎn)換公式所接受的數(shù)字范圍是在-128到+127之間。在逆向離散余弦變換后,對(duì)重構(gòu)圖像中的每個(gè)樣本值數(shù)據(jù)要加上128。

編碼時(shí)將源圖像8×8樣本塊矩陣P中的無(wú)符號(hào)整數(shù)值變成有符號(hào)的整數(shù),送給DCT進(jìn)行變換,得到64個(gè)DCT系數(shù)矩陣T。矩陣T中的數(shù)值可以認(rèn)為對(duì)應(yīng)于64點(diǎn)輸入信號(hào)中包含的空間頻率的幅度。矩陣T中左上角的系數(shù)為DC系數(shù),其余的為AC系數(shù)。

104

這里面有什么玄機(jī)呢?假設(shè)所有P矩陣中所有的值都是一樣的。這將對(duì)應(yīng)一幅只包含一種顏色沒(méi)有任何變化的圖像。這時(shí)候所有的AC系數(shù)對(duì)應(yīng)余弦函數(shù)的和,它們將相互消去,于是所有的AC系數(shù)都為0。如果P值中有一點(diǎn)小小的變化,則對(duì)應(yīng)一幅顏色均勻變化而不太精細(xì)的圖像。在這種情況下,矩陣T將包含許多值為0的AC系數(shù)。那將有很多但不是全部的AC系數(shù)為0。如果P值中有很大的變化,它表示一幅小范圍內(nèi)顏色變化劇烈的圖像,或?qū)嶋H上表示一幅有許多精密細(xì)節(jié)的圖像。這時(shí)的AC系數(shù)值為0的將很少,或者都不為零。

一般而言,如果像素值作為其位置的函數(shù)變化越快,越不均勻,則AC系數(shù)對(duì)應(yīng)越大的數(shù)值。另外,有更多的空間頻率較高的值不為零??偟膩?lái)說(shuō),AC系數(shù)本質(zhì)上是像素變化的一種尺度。因此,精細(xì)的圖像要比色彩變化很少的圖像難壓縮。

10510.6.3量化量化過(guò)程

DCT變換的作用是使空間域的能量重新分布,降低圖像的相關(guān)性。DCT變換本身并不能達(dá)到數(shù)據(jù)壓縮的作用,而要實(shí)現(xiàn)圖像壓縮,就要選擇適當(dāng)?shù)谋忍胤峙浞桨负土炕椒?。量化的作用是在保證主觀圖像質(zhì)量的前提下,丟掉那些對(duì)視覺(jué)效果影響不大的信息。量化是一種降低精度的過(guò)程,所以是有損的。1068×8的圖像塊經(jīng)過(guò)DCT變換后,其低頻分量都集中在左上角,高頻分量分布在右下角(DCT變換實(shí)際上是空間域的低通濾波器)。由于該低頻分量包含了圖像的主要信息(如亮度),而高頻與之相比,就不那么重要了,所以我們可以忽略高頻分量,從而達(dá)到壓縮的目的。如何將高頻分量去掉,這就要用到量化,它是產(chǎn)生信息損失的根源(如圖10.12)。這里的量化操作,就是將某一個(gè)值除以量化表中對(duì)應(yīng)的值。由于量化表左上角的值較小,右上角的值較大,這樣就起到了保持低頻分量,抑制高頻分量的目的。107圖10.12經(jīng)量化后,源圖像(左)與IDCT運(yùn)算后得到的圖像(右)會(huì)產(chǎn)生一定的失真,失真程度視量化等級(jí)而定108JPEG標(biāo)準(zhǔn)中采用線性均勻量化器,量化過(guò)程為對(duì)64個(gè)DCT系數(shù)除以量化步長(zhǎng)并取整,量化步長(zhǎng)由量化表(量化矩陣)決定。量化的計(jì)算公式十分簡(jiǎn)單:

量化值(i,j)=(T(i,j)/量化矩陣(i,j))由公式可見(jiàn),當(dāng)量化值較大時(shí),可保證所有較高頻率的分量實(shí)際上都將被四舍五入為0。僅在高頻系數(shù)很大時(shí)才將其編碼為非0,但這種情況很少出現(xiàn)。

在解碼過(guò)程中,逆量化公式為:

T(i,j)=量化值(i,j)量化矩陣(i,j)

不難看出,當(dāng)使用大的量化值時(shí),在逆量化過(guò)程中所用的DCT輸出會(huì)有大的誤差,幸運(yùn)的是逆量化過(guò)程中高頻分量的誤差不會(huì)對(duì)圖像的質(zhì)量有嚴(yán)重影響。有許多方案可用來(lái)選擇量化矩陣中的元素值。109JPEG推薦的量化表

JPEG使用的顏色是YCrCb格式。Y分量代表了亮度信息,CrCb分量代表了色差信息。相比而言,Y分量更重要些。我們可以對(duì)Y采用細(xì)量化,對(duì)YCrCb采用粗量化,可進(jìn)一步提高壓縮比。所以量化表通常有兩張,一張是針對(duì)Y的,一張是針對(duì)YCrCb的。

JPEG基本算法包括一套量化表,它是從廣泛的實(shí)驗(yàn)法中得出的。表10-3和10-4分別給出了JPEG標(biāo)準(zhǔn)所推薦的亮度量化表和色度量化表。量化表中元素為1-255之間的任意整數(shù),其值規(guī)定了所對(duì)應(yīng)DCT系統(tǒng)的步長(zhǎng)。當(dāng)頻率系數(shù)經(jīng)過(guò)量化后,將頻率系數(shù)由浮點(diǎn)數(shù)轉(zhuǎn)變?yōu)檎麛?shù),這才便于執(zhí)行最后的編碼。不過(guò),經(jīng)過(guò)量化階段后,所有數(shù)據(jù)只保留整數(shù)近似值,也就再度損失了一些數(shù)據(jù)內(nèi)容。

110161110162440516112121419265860551413162440576956141722295187806218223756681091037724355564811041139249647887103121120101729295981121001039917182447999999991821266699999999242656999999999947669999999999999999999999999999999999999999999999999999999999999999999999999999表10-3亮度量化表

表10-4色度量化表

111量化表的優(yōu)化

用戶可根據(jù)人類視覺(jué)和壓縮圖像類型的特點(diǎn)對(duì)量化表進(jìn)行優(yōu)化,并作為編碼器的一個(gè)輸入。顯然有許多方案可用來(lái)選擇量化矩陣中元素值。一般用兩種實(shí)驗(yàn)方法檢測(cè)不同量化方案,一種是測(cè)量輸入圖像和已解壓圖像間的數(shù)學(xué)誤差,第二種是用人眼去判斷解壓后效果。但后者并非總是與誤差水平內(nèi)的數(shù)學(xué)差異完全一致。在運(yùn)行時(shí)選擇量化矩陣的好處是在使用DCT來(lái)壓縮圖像時(shí)控制圖像的質(zhì)量很容易。通過(guò)給較大的DCT系數(shù)選擇特別高的量化步長(zhǎng)可獲得很好的壓縮率,但圖像質(zhì)量很差;通過(guò)慎重選擇小的量化步長(zhǎng),壓縮率不是很好,但圖像的質(zhì)量會(huì)很好。這樣用戶有很大的靈活性,從而可根據(jù)所想象的要求存儲(chǔ)能力來(lái)選擇圖像的質(zhì)量。11210.6.4編碼

JPEG壓縮算法的最后部分是對(duì)量化后的圖像進(jìn)行編碼。由三步組成:直流系數(shù)(DC)的編碼

因?yàn)閳D像中相鄰塊之間有很強(qiáng)相關(guān)性,JPEG標(biāo)準(zhǔn)對(duì)DC系數(shù)采用DPCM編碼(差分編碼)方法,即對(duì)相鄰的8×8像素塊之間的DC系數(shù)的差值進(jìn)行編碼。經(jīng)過(guò)DCT變換后,低頻分量集中在左上角,其中T(0,0)(即第1行第1列元素)代表了DC系數(shù),即8×8子塊的平均值。由于兩個(gè)相鄰的8×8子塊的DC系數(shù)相差很小,所以對(duì)其采用差分編碼DPCM,可提高壓縮比,即對(duì)相鄰的子塊DC系數(shù)的差值進(jìn)行編碼。這個(gè)差值可用公式表示為:113交流系數(shù)(AC)編碼與Z形掃描

T矩陣有63個(gè)元素是交流(AC)系數(shù),可采用行程編碼進(jìn)行壓縮。需要考慮的問(wèn)題是:這63個(gè)系數(shù)應(yīng)該按照怎么樣的順序排列?為了保證低頻分量先出現(xiàn),高頻分量后出現(xiàn),這63個(gè)元素采用了“之”字型(Zig-Zag)排列方法,稱之為Z形掃描。

Z型掃描算法能夠?qū)崿F(xiàn)高效壓縮的原因之一是經(jīng)過(guò)量化后,大量的DCT矩陣元素被截成0。而且零值通常是從左上角開(kāi)始沿對(duì)角線方向分布的。由于這么多0值,對(duì)0的處理與對(duì)其他數(shù)的處理不大相同,采用行程編碼算法(RLE)沿Z型路徑可有效地累積圖像中0的個(gè)數(shù),所以這種編碼壓縮效率非常高。Z型掃描過(guò)程如圖10.13。

114圖10.13Z字型掃描過(guò)程

11563個(gè)AC系數(shù)行程編碼的碼字用兩個(gè)字節(jié)表示,如圖10.14所示。

圖10.14AC系數(shù)行成編碼116熵編碼

為了進(jìn)一步達(dá)到壓縮數(shù)據(jù)的目的,需要對(duì)DC碼和AC行程編碼的碼字再作基于統(tǒng)計(jì)特性的熵編碼(entropycoding)。JPEG建議使用兩種熵編碼方法:哈夫曼編碼和自適應(yīng)二進(jìn)制算術(shù)編碼。熵編碼可分成兩步進(jìn)行,首先把DC碼行程碼字轉(zhuǎn)換成中間符號(hào)序列,然后給這些符號(hào)賦以變長(zhǎng)碼字。這個(gè)過(guò)程比較繁瑣,具體實(shí)現(xiàn)細(xì)節(jié)可閱讀附參考資料。

JPEG壓縮對(duì)比如圖10.15所示117源圖像質(zhì)量(文件容量38384bytes)高質(zhì)量壓縮(文件容量11331bytes)中等質(zhì)量壓縮(文件容量6968bytes)低質(zhì)量(文件容量為3687bytes)圖10.15JPEG壓縮效果對(duì)比11810.6.5新一代靜態(tài)圖像壓縮標(biāo)準(zhǔn)(JPEG2000)

JPEG所具有的優(yōu)良品質(zhì),使它獲得極大成功。然而,隨著多媒體應(yīng)用領(lǐng)域的激增,傳統(tǒng)JPEG壓縮技術(shù)也顯示出許多不足,無(wú)法滿足人們對(duì)多媒體圖像資料的要求。離散余弦變換將圖像壓縮為8×8的小塊,然后依次放入文件中,這種算法靠丟棄頻率信息實(shí)現(xiàn)壓縮,因而圖像的壓縮率越高,頻率信息被丟棄的越多。在極端情況下,JPEG圖像只保留了反映圖像外貌的基本信息,精細(xì)的圖像細(xì)節(jié)都損失了。

JPEG2000與傳統(tǒng)JPEG最大的不同,在于它放棄了JPEG所采用的以離散余弦變換為主的區(qū)塊編碼方式,而改為以小波轉(zhuǎn)換(Wavelettransform)為主的解析編碼方式。

119JPEG2000主要有以下特點(diǎn):

高壓縮率

JPEG2000壓縮性能比JPEG提高了30%~50%,也就是說(shuō),在同樣的圖像質(zhì)量下,JPEG2000可以使圖像文件的大小比JPEG圖像文件小30%~50%。同時(shí),使用JPEG2000的系統(tǒng)穩(wěn)定性好,運(yùn)行平穩(wěn),抗干擾性好,易于操作。

同時(shí)支持有損和無(wú)損壓縮

JPEG只支持有損壓縮,而JPEG2000能支持無(wú)損壓縮。在實(shí)際應(yīng)用中,諸如衛(wèi)星遙感圖像、醫(yī)學(xué)圖像、文物照片等重要的圖像都非常適合于采用JPEG2000壓縮。

120實(shí)現(xiàn)了漸進(jìn)傳輸

漸進(jìn)傳輸(ProgressiveTransmission)是指先傳輸圖像的輪廓,然后逐步傳輸數(shù)據(jù),不斷提高圖像質(zhì)量,讓圖像由朦朧到清晰,而不必像現(xiàn)在的JPEG那樣,由上到下慢慢顯示,這在網(wǎng)絡(luò)傳輸中有重大意義。支持“感興趣區(qū)域”

用戶可指定圖像上感興趣區(qū)域(RegionofInterest)的壓縮質(zhì)量,還可選擇指定的部分先解壓縮,從而使重點(diǎn)突出。這種方法優(yōu)點(diǎn)在于它結(jié)合了接收方對(duì)壓縮的主觀需求,實(shí)現(xiàn)了交互式壓縮。JPEG2000的壓縮比在JPEG的基礎(chǔ)上可再提高10%至30%。由于JPEG2000采用的是小波變換算法,它所產(chǎn)生的壓縮圖像比JPEG圖像更細(xì)膩、更逼真。而它所采用的新的文件格式也更利于對(duì)圖像進(jìn)行數(shù)字化處理。12110.7運(yùn)動(dòng)圖像壓縮標(biāo)準(zhǔn)MPEG

MPEG(MotionPictureExpertsGroup)是運(yùn)動(dòng)圖像專家小組的英文縮寫(xiě)。這是一個(gè)為視頻壓縮開(kāi)發(fā)制造與平臺(tái)獨(dú)立標(biāo)準(zhǔn)的全球性組織。MPEG的活動(dòng)始于1988年,其目標(biāo)是建立一個(gè)標(biāo)準(zhǔn)的草案。JPEG和MPEG都是在ISO領(lǐng)導(dǎo)下的專家小組,其成員也有很大的交疊。JPEG的目標(biāo)集中于靜止

溫馨提示

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

評(píng)論

0/150

提交評(píng)論