數(shù)字視頻技術(shù)4(1)教材_第1頁
數(shù)字視頻技術(shù)4(1)教材_第2頁
數(shù)字視頻技術(shù)4(1)教材_第3頁
數(shù)字視頻技術(shù)4(1)教材_第4頁
數(shù)字視頻技術(shù)4(1)教材_第5頁
已閱讀5頁,還剩303頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)字視頻技術(shù)第四章視頻編碼國際標(biāo)準(zhǔn)2012年4月4.1視頻數(shù)據(jù)壓縮編碼4.2視頻編解碼標(biāo)準(zhǔn)簡介4.5MPEG-1視頻編碼和解碼主要內(nèi)容4.3視頻數(shù)據(jù)編碼方法4.4音頻數(shù)據(jù)壓縮編碼原理重點了解4.6MPEG-2視頻編碼和解碼重點§4.4視頻數(shù)據(jù)壓縮編碼視頻壓縮必要性按照ITU601的建議,傳輸1秒鐘的PAL制式信號的原始數(shù)據(jù)量為

720*576*8*2*25=169Mbit=21MB/S

1GB硬盤存:1GB/21MB=49s

的節(jié)目結(jié)論:要使數(shù)字電視信號適合于實際存儲和傳輸,必須壓縮數(shù)據(jù)量,降低傳輸數(shù)據(jù)碼率。前提:壓縮后圖象質(zhì)量要滿足視覺要求。4.1.1基本原理數(shù)據(jù)壓縮可降低信息的數(shù)據(jù)量,以壓縮編碼的形式存儲和傳輸,既節(jié)約存儲空間,又提高通信信道的傳輸效率。視頻數(shù)據(jù)相關(guān)性很強,有很大冗余度。信息冗余的種類有空間冗余、時間冗余、視覺冗余等。數(shù)字視頻壓縮的可能性空間冗余同一幀圖像,相鄰像素間的相似性(亮度、色度)所形成的冗余。先去除冗余數(shù)據(jù)再進行編碼,則使每個像素的平均比特數(shù)下降,就是通常所說的幀內(nèi)編碼。時間冗余

視頻圖像序列中的某幀圖像的某一取樣點的亮度和色度信息,與其在時間軸上相鄰兩幀的相應(yīng)位置上的取樣點存在極強的相關(guān)性。利用這種相鄰兩幀之間的相關(guān)性,可以采用一定的編碼方法,消除時間冗余。數(shù)字視頻壓縮的可能性t+1t時域冗余空域冗余DCT符號冗余

符號冗余也稱編碼表示冗余。

圖像和聲音信號可看做是一個隨機信號序列,在時間和空間上均具有統(tǒng)計特性。不同的信號出現(xiàn)的概率不同,若用相同的比特數(shù)來表示,則會存在冗余。采用可變長編碼技術(shù),對出現(xiàn)概率大的符號用短碼字表示,對出現(xiàn)概率小的符號用長碼字表示,則可去除符號冗余,從而節(jié)約碼字,這就是熵編碼的思想。數(shù)字視頻壓縮的可能性視覺冗余

視覺冗余度是相對于人眼的視覺特性而言的。

人類的視覺系統(tǒng)對于圖像的注意是非均勻和非線性的,并不是對圖像中的任何變化都能感知。壓縮視覺冗余的核心思想是去掉那些相對人眼而言是看不到的或可有可無的圖像數(shù)據(jù)。對視覺冗余的壓縮通常反映在各種具體的壓縮編碼過程中。人眼對顏色的空間分辨力低于對亮度信號的分辨力。人眼對畫面靜止部分的空間分辨力高于對運動部分的空間分辨力。人眼對亮度的感覺存在視覺閾值,隨著圖像內(nèi)容的變化而變化。對屏幕的中心區(qū)失真敏感,對屏幕四周的失真不敏感。數(shù)字視頻壓縮的可能性視頻壓縮方法的分類從信息論角度出發(fā),按解碼后的重建圖像和壓縮編碼前的原始圖像是否完全相同,可將圖像壓縮編碼方法分為:無損壓縮和有損壓縮。無損壓縮,又稱冗余度壓縮編碼、無失真編碼或熵編碼。

最常用的無損壓縮編碼方法有霍夫曼(Huffman)編碼、算術(shù)編碼和游程編碼(Run-LengthEncoding,RLE)等。有損壓縮,也稱為信息量壓縮編碼、失真度編碼或熵壓縮編碼。有損壓縮編碼方法利用了人類視覺的感知特性,允許壓縮過程中損失一部分信息.常見的有損壓縮編碼方法有:預(yù)測編碼、變換編碼、子帶編碼、基于模型的編碼等。

幀內(nèi)壓縮和幀間壓縮幀內(nèi)壓縮即空間壓縮,僅考慮本幀的數(shù)據(jù),而不考慮相鄰幀之間的冗余信息,即消除空間冗余,一般采用有損壓縮。壓縮比較低。幀間壓縮也稱時間壓縮,是基于視頻或動畫相鄰兩幀間的相關(guān)性進行壓縮的。就是消除時間冗余,一般采用無損壓縮方式。在編碼過程中,常?;旌鲜褂枚喾N壓縮技術(shù),達到最佳壓縮效果。視頻壓縮方法的分類其他分類方法:按圖像的不同屬性可分為單色、彩色、多譜色圖像編碼從圖像的灰度層次上可分為多灰度編碼、二值圖像編碼按圖像的運動狀態(tài)分為靜止圖像序列的壓縮編碼、運動圖像序列的壓縮編碼4.2視頻編解碼標(biāo)準(zhǔn)簡介目前國際上制定視頻編解碼技術(shù)的組織有兩個,一個是“國際電聯(lián)(ITU-T)”,另一個是“國際標(biāo)準(zhǔn)化組織(ISO)”。

ITU-T制定的標(biāo)準(zhǔn)有H.261、H.263、H.263+等,H.26X系列側(cè)重網(wǎng)絡(luò)傳輸,注重數(shù)據(jù)傳輸?shù)膶崟r性,而且只是視頻編碼。

ISO下屬的MPEG(MovingPictureExpertsGroup-運動圖象專家組)開發(fā)制定的標(biāo)準(zhǔn)有MPEG-1、MPEG-2、MPEG-4等,主要針對活動圖像和音頻編碼。而H.264則是由兩個組織聯(lián)合組建的聯(lián)合視頻組(JVT)共同制定的新數(shù)字視頻編碼標(biāo)準(zhǔn),所以它既是ITU-T的H.264,又是ISO/IEC的MPEG-4高級視頻編碼(AdvancedVideoCoding,AVC),而且它將成為MPEG-4標(biāo)準(zhǔn)的第10部分。4.2視頻編解碼標(biāo)準(zhǔn)簡介

JPEG是由ISO和IEC組成的JointPhotographicExpertsGroup(聯(lián)合圖像專家組)的縮寫,主要致力于制定連續(xù)色調(diào)、多級灰度、靜態(tài)圖像的數(shù)字圖像壓縮編碼標(biāo)準(zhǔn)。常用的基于離散余弦變換(DCT)的編碼方法,是JPEG算法的核心內(nèi)容。

JPEG采用的是幀內(nèi)壓縮方式,圖像清晰、穩(wěn)定,適于視頻編輯,而且可以靈活設(shè)置每路的視頻清晰度和壓縮幀數(shù)。其壓縮后的格式可以讀取單一畫面,因此可以任意剪接,特別適用與安防取證的用途。視頻編碼標(biāo)準(zhǔn)發(fā)展歷程ISO/IECMPEGMPEG-1,MPEG-2,MPEG-4,MPEG-4AVC/H.264,MPEGHVCITU-TVCEGH.261,H.262(MPEG-2),H.263,H.264,VCEGH.NGC中國

AVSAVS-P2,AVS-S下一代標(biāo)準(zhǔn)?方向、技術(shù)?

年代

MPEG-1

1993

2001

1997

2005

MPEG-4AVC/H.2641989

MPEG-2MPEG-42013AVS下一代標(biāo)準(zhǔn)20092017視頻編碼標(biāo)準(zhǔn)發(fā)展歷程H.261和H.263標(biāo)準(zhǔn)1988年CCIT(現(xiàn)ITU-T)制定了電視/會議電視的H.261建議草案(數(shù)碼率=p*64kbit/s,p=1,….,30)。H.261標(biāo)準(zhǔn)適用于電視電話和電視會議,因此推薦的圖象編碼算法必須是實時處理的,并要求最小延遲時間和嚴(yán)格的唇音同步。當(dāng)p取1或2時,速率只能達到64-128kbit/s,由于速率較低只能傳清晰度不高的圖象(主要是肩上人頭像),適合于面對面的電視電話會議;當(dāng)p>6,速率>384kbit/s時,速率較高,可以傳輸清晰度尚好的圖象,適用于電視會議。H.261是第一個實用的數(shù)字視頻編碼標(biāo)準(zhǔn),它使用了混合編碼框架,包括了基于運動補償?shù)膸g預(yù)測,基于離散余弦變換的空域變換編碼,量化,zig-zag掃描和熵編碼。H.261編碼時基本的操作單位稱為宏塊。H.261使用YCbCr顏色空間,并采用4:2:0色度抽樣,每個宏塊包括16x16的亮度抽樣值和兩個相應(yīng)的8x8的色度抽樣值。H.263是H.261的后繼標(biāo)準(zhǔn),是一個較為成熟的標(biāo)準(zhǔn),它是幀間預(yù)測和變換編碼的混合算法,壓縮比較高,常用于超低速率的圖象傳輸,能適應(yīng)誤碼率高的信道,具備容錯能力。H.263+是在H.263的基礎(chǔ)上以增加編碼的可選項的形式改進的,但編碼效率更高,適用范圍更大,增加了一些改進編碼的方法,也提高了抗誤碼的能力。主要應(yīng)用方向仍是低碼流的視頻業(yè)務(wù),用于PSTN以及無線接入的高誤碼率的通信環(huán)境。H.261和H.263標(biāo)準(zhǔn)MPEG-4

MPEG-4的著眼點在于解決低帶寬上音視頻的傳輸問題,在164KHZ的帶寬上,MPEG-4平均可傳5-7幀/秒。采用MPEG-4壓縮技術(shù)的網(wǎng)絡(luò)型產(chǎn)品可使用帶寬較低的網(wǎng)絡(luò),如PSTN,ISDN,ADSL等,大大節(jié)省了網(wǎng)絡(luò)費用。

MPEG-4的最高分辨率可達720×576,接近DVD畫面效果,基于圖像壓縮的模式?jīng)Q定了它對運動物體可以保證有良好的清晰度。MPEG-4所有的這些優(yōu)點,使它成為當(dāng)前網(wǎng)絡(luò)產(chǎn)品生產(chǎn)廠商開發(fā)的重要趨勢之一。MPEG-2、MPEG-4、MPEG-4AVC(簡稱AVC,也稱JVT、H.264)、AVS是目前音視頻產(chǎn)業(yè)可以選擇的信源編碼標(biāo)準(zhǔn),MPEG-2是第一代信源標(biāo)準(zhǔn),其余三個為第二代標(biāo)準(zhǔn);前三個標(biāo)準(zhǔn)是由MPEG專家組完成的,第四個是我國自主制定的;從主要技術(shù)指標(biāo)——編碼效率比較:MPEG-4是MPEG-2的1.4倍;AVS和AVC相當(dāng),都是MPEG-2兩倍以上。

3.4

視頻編碼方法1950差分預(yù)測編碼調(diào)制隔行編碼B幀P幀場景自適應(yīng)編碼塊運動估計DCT宏塊混合編碼哈夫曼編碼變換編碼運動矢量預(yù)測視頻對象基于對象的可分級編碼容錯一般的B幀高級的去塊效率慮波基于位平面的可伸縮編碼高精度運動補償基于上下文的算術(shù)編碼2014多視編碼分布式編碼1999~1985專利可免費使用專利可免費使用§4.3視頻數(shù)據(jù)編碼方法4.3.1熵編碼4.3.2預(yù)測編碼4.3.3變換編碼主要內(nèi)容熵編碼的基本原理就是去除信源在空間和時間上的相關(guān)性,去除圖像信源像素值的概率分布不均勻性,使編碼碼字的平均碼長接近信源的熵而不產(chǎn)生失真。4.3.1熵編碼信息論中,熵是用于度量信息量的一個概念,指的是具體數(shù)據(jù)所含的平均信息量,定義為在不丟失信息的前提下描述該信息內(nèi)容所需的最小比特數(shù)。信息數(shù)據(jù)壓縮在理論上壓縮的最大極限是信息熵。建立在隨機過程的統(tǒng)計特性基礎(chǔ)上,根據(jù)信息出現(xiàn)概率的分布特性而進行,是無損壓縮編碼。4.3.1熵編碼對信源X的各個符號的自信息量取統(tǒng)計平均,可得到每個符號的平均信息量為:信源X的信息熵H(X)

,單位為比特(bit),含義是信源X發(fā)出任意一個符號的平均信息量。4.3.1熵編碼§4.3視頻數(shù)據(jù)編碼方法4.3.1熵編碼4.3.2預(yù)測編碼4.3.3變換編碼主要內(nèi)容霍夫曼編碼算術(shù)編碼游程編碼

霍夫曼編碼霍夫曼編碼是一種可變字長編碼?;驹硎穷l繁使用的數(shù)據(jù)用較短的代碼代替,較少使用的數(shù)據(jù)用較長的代碼代替,每個數(shù)據(jù)的代碼各不相同。它在變長編碼中是最佳的。

霍夫曼編碼具體步驟統(tǒng)計每個符號出現(xiàn)的概率。把概率按從小到大的順序從左到右地進行排列。選出最小的兩個值,把他們概率之和作為分支點的概率。重復(fù)步驟3,直到最后得到概率之和為1的根。對形成的二叉樹的每個分枝賦值,左邊標(biāo)“0”,右邊標(biāo)“1”。把從最上面的根到最下面的葉子經(jīng)過的“0”、“1”序列串連起來,就得到各個符號對應(yīng)的霍夫曼編碼?;舴蚵鼧涞臉?gòu)建霍夫曼編碼實際上構(gòu)造了一個碼樹,碼樹從最上層的端點開始構(gòu)造,直到樹根結(jié)束。這里舉個例子說明如何生成霍夫曼樹。假設(shè)對由a1、a2、a3、a4、a5、a6、a7、a8八個信源符號組成的源信息字符串:“a1

a1a2

a2a3

a3

a3a4

a4

a4

a4a5

a5

a5a6

a6

a6a7

a7a8”進行霍夫曼編碼。首先應(yīng)對信息中各數(shù)字出現(xiàn)的次數(shù)進行統(tǒng)計如下:

碼值

a1a2a3a4a5a6a7a8次數(shù)

22343331概率0.10.10.150.20.150.150.10.05熵H=-0.1*log2(0.1)-0.1*log2(0.1)-0.15*log2(0.15)-0.2*log2(0.2)-0.15*log2(0.15)-0.15*log2(0.15)-0.1*log2(0.1)-0.05*log2(0.05)=2.9087(bit)先將所有符號排成一行,構(gòu)成8個最底層節(jié)點。首先將這些節(jié)點中最小兩個概率值相加:0.05+0.1=0.15,得到新的

節(jié)點這時擁有的概率值為0.2,0.1,0.1,0.15,0.15,0.15,0.15。再將兩個最小的概率值相加得到新的節(jié)點......直到得到根節(jié)點概率為1.0為止。相加時,對于概率值相等的多個節(jié)點,可以任意選取。除根節(jié)點外,設(shè)節(jié)點左邊分支為0,右邊分支為1(也可以反過來)。這樣,生成的霍夫曼樹如下圖所示:對于各值(碼值)的代碼(碼字)就是從根節(jié)點出發(fā)到底層節(jié)點所經(jīng)歷的分支序列。如a4的代碼(碼字)為00,a6的碼字為111......通常a4和a6等稱為碼值,00和111等稱為碼字。所有碼值和碼字對應(yīng)關(guān)系如下表所示:霍夫曼表將所有碼值和碼字的關(guān)系整理成一張表,為了整字節(jié)輸出碼字,表中還含有各碼字的長度。這種表就稱為霍夫曼表。本例霍夫曼表如表所示:

進行壓縮編碼時,只要將碼值用碼字代替即可。所以源符a1

a1a2

a2a3

a3

a3a4

a4

a4

a4a5

a5

a5a6

a6

a6a7

a7a8編碼為:0100100110111011011010000000011011011010000100001001。平均碼長B=0.1*3+0.1*3+0.15*3+0.2*2+0.15*3+0.15*3+0.1*4+0.05*4=2.95(b)熵H=

2.9087編碼效率N=H/B=2.9087/2.95=98.6%霍夫曼編碼作業(yè):設(shè)有離散無記憶信源,符號a1,a2,a3,a4,a5,a6,a7的出現(xiàn)概率分別為0.21,0.19,0.18,0.17,0.14,0.09,0.02,寫出其霍夫曼編碼過程。(要求:左0右1,左1右0)。4.3.1.1霍夫曼編碼注意:霍夫曼編碼的算法是確定的,但編出的碼并非是唯一的。在對二叉樹的分枝賦值時,賦“0”、“1”可以是任意的。若有兩個或兩個以上符號概率相等,其次序可以是任意的,會得到不同的霍夫曼碼,符號的碼字長度將受到影響,但不會影響到霍夫曼碼的平均碼長和編碼效率。由于霍夫曼編碼的依據(jù)是信源符號的概率分布,故其編碼效率取決于信源的統(tǒng)計特性,對不同的信源的編碼效率是不同的。解碼時

,必須參照霍夫曼編碼表才能正確譯碼。在信源的存儲與傳輸過程中必須首先存儲或傳輸這一霍夫曼編碼表,在實際計算壓縮效果時

,必須考慮霍夫曼編碼表占有的比特數(shù)。在某些應(yīng)用場合,信源概率服從于某一分布或存在一定規(guī)律

(這主要由大量的統(tǒng)計得到

),這樣就可以在發(fā)送端和接收端固定霍夫曼編碼表

,在傳輸數(shù)據(jù)時就省去了傳輸霍夫曼編碼表

,這種方法稱為霍夫曼編碼表缺省使用。4.3.1.2算術(shù)編碼算術(shù)編碼是一種利用信源概率分布特性,能夠趨近熵極限的編碼方法。算數(shù)編碼的兩個過程:概率模型建立過程和掃描編碼過程。基本原理:根據(jù)信源可能發(fā)出的不同符號序列的概率,把[0,1)區(qū)間劃分為互不重疊的子區(qū)間,子區(qū)間的寬度恰好是各符號序列的概率。這個區(qū)間隨著信源符號序列中每一個信源符號的加入逐步減小,每次減小的程度取決于當(dāng)前加入的信源符號的先驗概率。

用算術(shù)編碼方法是將被編碼的一個消息或一個符號串(序列)表示成0和1之間的一個間隔,即對一串符號直接編碼成[0,1)區(qū)間上的一個浮點小數(shù),在傳輸任何符號串(消息)之前,設(shè)符號串的完整范圍為[0,1)。當(dāng)一個符號被處理時,這一范圍就依據(jù)分配給這一符號的那一范圍變窄,間隔變小,當(dāng)符號串序列越長,則編碼表示它的間隔越小,同時表示這一間隔所需的位數(shù)就越多,直到完成對所有符號串的編碼。算術(shù)編碼的過程,實際上就是依據(jù)信息源符號串的發(fā)生概率對碼區(qū)間分割的過程。1

編碼過程

假如要對有10個符號的信息源發(fā)出的字符串“statetree”進行編碼,符號串具有如下的概率分布如圖所示。

按每個符號出現(xiàn)的概率對[0,1)區(qū)間進行劃分,顯然每個符號都有一對應(yīng)的子區(qū)間,這里所用的10個字符被分配的范圍如圖所示。

按對‘statestree”’的算術(shù)編碼過程為:

(1)初始化時,被分割的范圍range(

)=high(

)-low(

)=[0,1)=1-0=1,下一個范圍的低、高端分別由下式計算:

low(s)=low(

)+range(

)×low(s)

high(s)=low(

)+range(

)×high(s)

其中等號右邊的low為上一個被編碼字符的范圍低值;rangelow和rangehigh分別為本次被編符號已給定出現(xiàn)的概率范圍的low和high。

(2)對消息第1字符s編碼:s的rangelow=0.60,s的rangehigh=0.70,因此下一個區(qū)間的low和high為:

low(s)=low(

)+range(

)×low(s)=0+1×0.6=0.6

high(s)=low(

)+range(

)×high(s)

=0+1×0.7=0.7

range(s)=high(s)-low(s)=0.7-0.6=0.1

S將區(qū)間[0,1)

[0.6,0.7)

注意:字符“

”表示“分割為”字符。

(3)對第2個字符t編碼,使用的新生成范圍為[0.6,0.7),因為t的rangelow=0.70,rangehigh=1.00,因此下一個low,high分別為:

low(st)=low(s)+range(s)×low(t)=0.6+0.1×0.7=0.67

high(st)=low(s)+range(s)×high(t)=0.6+0.1×1.0=0.70

range(st)=high(st)-low(st)=0.7-0.67=0.03

t將區(qū)間[0.6,0.7)

[0.67,0.70)

(4)對第3個字符

a編碼,在新生成的[0.67,0.70)中進行分割。因為

a的rangelow=0.10,rangehigh=0.2,因此下一個low,high分別為:

low(sta)=low(st)+range(st)×low(a)=0.67+0.03×0.1=0.673

high(sta)=low(st)+range(st)×high(a)=0.67+0.03×0.2=0.676

range(sta)=high(sta)-low(sta)=0.676-0.673=0.003

a將區(qū)間[0.67,0.7)

[0.673,0.676)

(5)對第4個字符t編碼,在新生成的[0.673,0.676)上進行分割。因為

t的rangelow=0.70,rangehigh=1.00,因此下一個low,high分別為:

low(stat)=low(sta)+range(sta)×low(t)=0.673+0.003×0.7=0.6751

high(stat)=low(sta)+range(sta)×high(t)=0.673+0.003×1.0=0.676

range(stat)=high(stat)-low(stat)=0.676-0.6751=0.0009t將區(qū)間[0.673,0.676)

[0.6751,0.676)

同理得到下面各字符e,,t,r,e,e

編碼所得到的范圍分別為:

[0.67528,0.67555),[0.67528,0.675307),[0.6752989,0.675307),[0.67530295,0.67530376),[0.675303112,0.675303355)[0.6753031606,0.6753032335)。

將編碼后的區(qū)間范圍綜合如圖3-9所示:

我們用0.6753031606代表字符串“statetree”,從而達到高效編碼的目的,這就是算術(shù)編碼的基本思想。

上述算術(shù)編碼區(qū)間分割過程可用圖表示。2

解碼過程

通過編碼,最后一個子區(qū)間的的下界值0.6753031606就是字符串“statetree”的惟一編碼。然后在解碼時,通過判斷哪一個字符能擁有我們已編碼的消息落在的空間來找出消息中的第一個字符。由于0.6753031606落在[0.6,0.7]之間,因此馬上就可解得第1個符號是S。

在解出S后,由于我們知道S的范圍的上界和下界,利用編碼的逆作用,首先除掉S的下界值0.6,得0.075303606,然后用s的范圍range=0.1去除所得到的0.0753031606,得到0.753031606,接著找出0.753031606所落在的區(qū)間[0.7,1.0)。就可解得第2個符號是t。

去掉t

的下界值0.67,得0.0053031606,然后用t的range=0.03除0.0053031606,得到0.17677202,找出0.17677202所屬范圍的字符a,

如此繼續(xù)解碼操作,就可以獲得字符串“statetree”的準(zhǔn)確譯碼。分析以上所述的解碼操作過程,我們得到其解碼公式為

注意:Number為字符串的編碼。

練習(xí):設(shè)信源符號a,b,c,d對應(yīng)的概率分別為0.5,0.25,0.125,0.125,求信源序列S=abda對應(yīng)的算術(shù)編碼各個信源符號對應(yīng)的區(qū)間端點值如表所示

(2)初始時設(shè)low(

)=0,high(

)=1,range(

)=1(3)輸入信源序列abda的第1個符號a,由遞推公式計算

low(a)=low(

)+range(

)×low(a)=0+1×0=0.0

high(a)=low(

)+range(

)×high(a)=0+1×0.5=0.500range(a)==high(a)–

low(a)=0.500(4)輸入信源序列abda的第2個符號b:low(ab)=low(a)+range(a)×low(b)=0.00+0.5×0.5=0.250high(ab)=low(a)+range(a)×high(b)=0.00+0.5×0.75=0.375range(ab)==high(ab)–

low(ab)=0.125(4)輸入信源序列abda的第3個符號d:

low(abd)=low(ab)+range(ab)×low(d)

=0.25+0.875×0.125=0.359375

high(abd)

=low(ab)+range(ab)×high(d)

=0.25+0.125×1=0.375range(abd)==high(abd)–

low(abd)=0.015625(4)輸入信源序列abda的第4個符號a:

low(abda)=low(abd)+range(abd)×low(a)=0.359375

high(abda)

=low(abd)+range(abd)×high(a)=0.3671875(5)可取0.359375作為信源序列S=abda的編碼

信源序列S=abda對應(yīng)的小區(qū)間的左、右端點值表

信源序列S=abda對應(yīng)區(qū)間的劃分過程圖5.譯碼——編碼的逆過程根據(jù)接收到的碼字譯出對應(yīng)的信源序列[譯碼步驟](1)判斷碼字落在哪個符號區(qū)間,譯出第1個符號(2)將碼字減去剛譯出符號的左端點值,得差值并以剛譯出符號對應(yīng)的區(qū)間長度去除差值再判斷此值落在哪個符號區(qū)間,譯出第2個符號(3)重復(fù)步驟(2),直至全部信源序列被譯完為止[譯碼舉例]0.359375→信源序列S=abda

(1)0.359375∈[0,0.5),譯出第1個符號為a(2)用符號a對應(yīng)區(qū)間長度0.5去除碼字0.359375與符號a的左端點值(0)的差,即(0.359375–0)/0.5=0.71875,0.71875∈[0.5,0.75),譯出第2個符號為b(3)用符號b對應(yīng)區(qū)間長度0.25去除碼字0.71875與符號b的左端點值(0.5)的差得0.875,0.875∈[0.875,1),譯出第3個符號為d(3)用符號d對應(yīng)區(qū)間長度0.125去除碼字0.875與符號d的左端點值(0.875)的差得0,0∈[0,0.5),譯出第4個符號為a因而,碼字0.359375對應(yīng)的序列為abda,譯碼正確[END]0.607421875

low(Sur)=low(S)+range(S)×low(ur)high(Sur)=low(S)+range(S)×high(ur)一、概述

霍夫曼編碼主要是針對無記憶信源。當(dāng)信源有記憶時上述編碼效率不高。游程編碼對相關(guān)信源編碼更有效。游程編碼的思想方法:

二元相關(guān)序列→游程編碼→多元非相關(guān)序列→霍夫曼編碼二、游程編碼⒈游程游程:數(shù)字序列中連續(xù)出現(xiàn)相同符號的一段。二元序列的游程:只有“0”和“1”兩種符號。連“0”這一段稱為“0”游程,它的長度稱為游程長度L(0);連“1”這一段稱為“1”游程,它的游程長度用L(1)表示。4.3.1.3游程編碼游程長度序列/游程序列:用交替出現(xiàn)的“0”游程和“1”游程長度表示任意二元序列。規(guī)定二元序列總是從“0”開始。游程變換:是一種一一對應(yīng)的變換,也是可逆變換。例如:二元序列:000101110010001…,可變換成游程序列:31132131…對于隨機序列,游程長度是隨機的,其取值可為1,2,3,…,直至無窮。⒉編碼方法:首先求出“0”游程長度和“1”游程長度的概率分布,即以游程長度為元素,構(gòu)造一個新的信源;將“0”游程和“1”游程看作二個信源,分別進行編碼。對新的信源(游程序列)進行霍夫曼編碼由于對“0”游程和“1”游程分別進行編碼,故有二張碼字表,其碼字可以重復(fù)。⒊小結(jié):游程變換減弱了原序列符號間的相關(guān)性。游程變換將二元序列變換成了多元序列;這樣就適合于用其他方法,如哈夫曼編碼,進一步壓縮信源,提高通信效率。由其方案可知游程變換后編碼并不適合于多進制序列。4.3熵編碼以上三種編碼方法——霍夫曼編碼、算術(shù)編碼、游程編碼均為無損壓縮編碼,是基于視頻信號的統(tǒng)計特性的編碼方法,可以完全恢復(fù)原始圖像,壓縮率較低。有損編碼則是根據(jù)人眼和人耳的特性進行壓縮編碼,會丟失一些圖像或音頻信息,不能完全恢復(fù)原始圖像,會造成一定失真,但壓縮率高?!?.3視頻數(shù)據(jù)編碼方法4.3.1熵編碼4.3.2預(yù)測編碼4.3.3變換編碼主要內(nèi)容DPCM編碼

運動補償預(yù)測編碼預(yù)測編碼的基本原理

利用圖像在空間和時間上的連續(xù)性,用鄰近的M個值預(yù)測當(dāng)前值,對當(dāng)前值與預(yù)測值之差進行量化編碼(一維、二維、三維預(yù)測)由于信號在時間和空間上存在很強的相關(guān)特性,預(yù)測誤差信號與原信號相比,幅度減小很多,但原信號所包含的信息仍保持完整。這就有效地去除了多余信息。可采用較少的量化比特數(shù)來進行預(yù)測誤差的量化,可以實現(xiàn)壓縮頻帶、提高傳輸效率的目的。

DPCM編碼1.差值編碼(DPCM)

(1)視頻信號的空間(幀內(nèi))相關(guān)性的統(tǒng)計分析

①視頻圖像的組成:“像塊”、“輪廓”和“細(xì)節(jié)”“像塊”--是圖像中成片相同像素組成的塊,它的空間相關(guān)性最強?!拜喞?--是像塊間的分界,它的相關(guān)性較差。

“細(xì)節(jié)”---是圖像中變化最頻繁的細(xì)節(jié)描述,相關(guān)性最小。②統(tǒng)計結(jié)果:“像塊”要占約90%以上;“輪廓”和“細(xì)節(jié)”只占不到10%。

注:在視頻信號中低頻部分占絕大多數(shù),而高頻部分則所占比例較小。

(2)時間(幀間)相關(guān)性的分析

①在靜止畫面中,其幀間相同位置的樣值則100%的相同。

②在非靜止畫面中,相鄰幀的不同部分也只是運動物體,只占較小的比例。(3)差值編碼原理①在發(fā)送端:處理或傳輸?shù)牟皇菆D像中當(dāng)前樣值本身,而是該樣值與前一個(相鄰)樣值的差值,則這些差值絕大多數(shù)是很小的或為零,可以用短碼來表示,而對那些出現(xiàn)幾率較少的較大差值,用長碼來表示,則可使總體碼數(shù)下降。②在接收端:將已得到的前一樣值與剛收到的差值相加,就可還原出所要的當(dāng)前樣值。③差值編碼:采用對相鄰樣值差值進行變字長編碼的方式稱為差值編碼,又稱為差分脈碼調(diào)制(DPCM)。(4)預(yù)測編碼發(fā)送端:從另一個角度看,我們可以把前一個樣值看成是當(dāng)前樣值的預(yù)測值,并與當(dāng)前樣值相減,得到一個差值(預(yù)測誤差)。該差值可以看成是當(dāng)前要傳送的樣值對于預(yù)測值的修正值,并對該差值編碼、傳送。接收端:可以將已得到的預(yù)測值(前一個樣值的輸出值),加上這一解碼后的修正值,就得到了一個正確的當(dāng)前樣值。因此差值編碼也可以稱為預(yù)測編碼。

(5)差值編碼的實現(xiàn)差值編碼原理圖發(fā)送端發(fā)出的預(yù)測誤差應(yīng)為:

(3-1)

經(jīng)過量化器Q量化后,。其中ε(n)是量化誤差或稱量化噪聲。接收端輸出的信號為:

(3-2)

結(jié)論:發(fā)送端輸出的是當(dāng)前樣值與前一樣值(預(yù)測值)的差值(預(yù)測誤差)。接收端將該預(yù)測誤差與前一輸出樣值(預(yù)測值)相加,又還原為當(dāng)前樣值。

(1)可行性討論:差值編碼可以實現(xiàn)圖像信號的壓縮、傳輸與還原。(2)存在的問題:在還原的Vo(n)中,除了含有Vo(n-1)和差值ΔVi(n)外,還附加了一個量化噪聲ε(n),且在前一個輸出樣值Vo(n-1)中,還含有與再前一個樣值差值的量化噪聲ε(n-1),因為由(3-2)式可得出

(3-3)將式(3-3)帶入式(3-2)得

(3-2)由此可得出:

(3-4)

在式(3-4)中n與m均為整數(shù)。結(jié)論:在還原的Vo(n)中,含有前面歷次差值的量化噪聲(噪聲積累)。

(3)方案的改進在發(fā)送端:輸入信號減去的是上次輸出的樣值Vo(n-1),則在減去預(yù)測值的同時也減去了量化噪聲ε(n)

ΔVi(n)=Vi(n)-Vo(n-1)經(jīng)量化后ΔV’i(n)應(yīng)為:

ΔV’i(n)=Vi(n)-Vo(n-1)+ε(n)

(3-5)上式中的ε(n)為本次量化的量化噪聲。(3-1)在接收端:輸出的還原信號Vo(n)應(yīng)為:

Vo(n)=ΔV’i(n)+Vo(n-1)(3-6)將式(3-5)帶入式(3-6)得:Vo(n)=Vi(n)-Vo(n-1)+Vo(n-1)+ε(n)最后有:

Vo(n)=Vi(n)+ε(n)(3-7)從上式中可以看出:最終還原的信號中,前一次的量化噪聲被抵銷了,而只含有當(dāng)前的輸入樣值Vi(n)和本次量化的量化噪聲ε(n),不存在量化噪聲的積累。ΔV’i(n)=Vi(n)-Vo(n-1)+ε(n)(3-5)改進后的差值編碼原理圖2.預(yù)測編碼(1)二維或三維預(yù)測:以上介紹的是一維預(yù)測編碼,然而它對于圖像的水平線有較好的效果,但對垂直線效果較差。因此人們一般采用二維(幀內(nèi))或三維(幀間)預(yù)測。(2)預(yù)測方法如圖所示:設(shè)Xn為實際樣值,X^n為其預(yù)測值。A:本行前一樣值B:上一行前一樣值C:上一行該點樣值D:前一幀該點樣值預(yù)測值X^n應(yīng)為:

X^n=F(A,B,C,D)

三維預(yù)測(3)線性預(yù)測上式應(yīng)為:X^n=KaA+KbB+KcC+KdD

其中Ka、Kb、Kc、Kd分別為A、B、C、D的權(quán)重或系數(shù)。一般有:

Ka+Kb+Kc+Kd=1

討論:①當(dāng)Kb=Kc=Kd=0,Ka=1時,為一維差值預(yù)測,即前面討論的情況。

②當(dāng)Ka+Kb+Kc=1,Kd=0時,為二維預(yù)測,即幀內(nèi)預(yù)測。

③當(dāng)Kd≠0為三維預(yù)測,即幀間預(yù)測。(4)預(yù)測編碼的對象是:實際樣值Xn和預(yù)測樣值X^n的差值ΔXn。

即:ΔXn=Xn-X^nΔXn為預(yù)測誤差,預(yù)測越準(zhǔn),其值越小,在多數(shù)情況下為零。零出現(xiàn)的幾率最大,可以用短碼表示,而較大的差值用長碼表示,從而可以降低碼率,達到壓縮的目的。關(guān)于運動矢量、運動估值及運動補償幀間預(yù)測的依據(jù):圖像序列在時間軸方向的相關(guān)性;

物體的背景或物體的一部分相對不變或變化緩慢;人類的視覺特性:人類的視覺對靜止圖像有較高的空間分辨率,但是可以減少傳輸幀數(shù)來降低時間軸分辨率,未傳輸?shù)膸梢酝ㄟ^計算補出來;對運動圖像分辨率低,可以對這一部分圖像降低清晰度;

運動補償預(yù)測編碼為什么進行運動補償預(yù)測?

對于活動圖像編碼,幀間預(yù)測是主要的手段;基本幀間預(yù)測方法對于存在大量靜止區(qū)域或緩變區(qū)域的圖像,預(yù)測效果不錯;對于活動的物體,預(yù)測效果不理想;對于一些發(fā)生運動的圖像進行預(yù)測編碼,采用運動補償預(yù)測的方法。1、運動補償預(yù)測的基本原理自然場景的視頻圖像只有其中的部分區(qū)域在運動,同一場景相鄰的兩幀圖像之間差異也不會太大,編碼器無需將視頻序列中每幀圖像的所有信息都進行編碼后傳輸給解碼器端,只要將當(dāng)前幀中目標(biāo)的運動信息告知解碼器端,解碼器可根據(jù)運動信息和前一幀圖像內(nèi)容來更新當(dāng)前幀圖像,獲得當(dāng)前幀的真實數(shù)據(jù);(可有效降低編碼所需數(shù)據(jù)量)從序列圖像中提取有關(guān)物體運動的信息的過程——運動估計(如何快速、有效的獲得足夠精度的運動矢量);把前一幀相應(yīng)的運動部分信息根據(jù)運動矢量補償過來的過程——運動補償(MotionCompensation,MC)。運動估計——將活動圖像分為若干局部結(jié)構(gòu),檢測出每個局部結(jié)構(gòu)在前一幀圖像中的位置,從而可以估計出這個結(jié)構(gòu)的位移,用運動矢量表示;運動補償——由位移的估值建立局部結(jié)構(gòu)在不同幀的空間位置對應(yīng)關(guān)系,用前一幀圖像中的對應(yīng)部分對當(dāng)前幀中的局部結(jié)構(gòu)進行預(yù)測。2、運動估計與運動補償預(yù)測編碼步驟:

分割圖像為若干局部結(jié)構(gòu)——劃分靜止和運動區(qū)域;最簡單方法分塊;運動估計——對每一個運動物體進行位移估計;運動補償——由位移估計建立同一運動物體在不同幀空間位置對應(yīng)關(guān)系,建立預(yù)測關(guān)系;對于運動補償后的位移幀差信號、運動矢量進行編碼傳輸。

abc當(dāng)前幀后一幀運動矢量MV前一幀對當(dāng)前子塊進行運動估計,就是找在前一幀圖像中哪一個子塊和當(dāng)前子塊最相似,估計它的位移矢量。運動矢量運動估計(MotionEstimation,ME)是去除時間冗余最基礎(chǔ)有效的方法,也是各類視頻編碼算法所普遍采用的一項核心技術(shù);

運動估計的優(yōu)劣直接決定編碼效率和重構(gòu)視頻質(zhì)量:運動估計越準(zhǔn)確,補償?shù)臍埐顖D像越小,編碼效率越高,在相同碼率下的解碼視頻就具有更好的圖像質(zhì)量;運動估計的計算復(fù)雜度占到編碼器的50%以上,為保證視頻編/解碼的實時性,運動估計應(yīng)當(dāng)具有盡可能低的計算復(fù)雜度;如何提高運動估計算法的性能,使運動估計更快速、精確和簡潔受到廣泛關(guān)注。3、運動估計的分類全局運動估計基于塊的運動估計基于像素點的運動估計基于區(qū)域的運動估計基于網(wǎng)格的運動估計時域運動估計頻域運動估計(DFT、DCT、DWT)a

全局運動估計c

基于塊的運動估計b

基于像素點的運動估計d基于區(qū)域的運動估計a

基于塊的運動估計使用規(guī)則塊模型,各塊運動參數(shù)獨立規(guī)定,除非鄰近塊的運動參數(shù)被約束得非常平滑,一般估計的運動場不連續(xù)或混亂的。b

基于網(wǎng)格的運動估計使用不規(guī)則網(wǎng)格覆蓋當(dāng)前幀,尋找每一個節(jié)點的運動,使得當(dāng)前幀中每一個元素內(nèi)的圖案與參考幀中相應(yīng)的變形元素很好匹配,每一個運動區(qū)域內(nèi)各點的運動矢量由該區(qū)域節(jié)點的運動矢量內(nèi)插得到。4.

塊匹配運動估計(1)基本思想將視頻序列的每一幀都劃分為許多大小相同、互不重疊的子塊(并做假設(shè):子塊內(nèi)所有像素具有運動一致性,并且只做平移運動,不包含旋轉(zhuǎn)、伸縮);然后對每個子塊到參考幀某一給定特定搜索范圍(匹配窗)內(nèi)根據(jù)一定的匹配準(zhǔn)則找出與當(dāng)前塊最相似的塊,即預(yù)測塊(匹配塊);預(yù)測塊與當(dāng)前塊的相對位移即為運動矢量(MotionVector,MV),預(yù)測塊和當(dāng)前塊之間的差值稱為殘差圖像;視頻壓縮的時候,只需保存運動矢量和殘差數(shù)據(jù)就可以完全恢復(fù)出當(dāng)前塊;預(yù)測越準(zhǔn)確,殘差中的數(shù)值越小,編碼后所占用的比特數(shù)越少;利用運動矢量在參考幀上進行運動補償,補償殘差經(jīng)DCT變換、量化、編碼后與運動矢量共同編碼傳送。(2)提高搜索效率的主要技術(shù)運動估計算法研究的目標(biāo)——提高預(yù)測精度,加快估計速度,降低編碼比特率;提高算法效率采用的方法:初始搜索點的選擇;匹配準(zhǔn)則;運動搜索策略。1)初始搜索點的選擇

直接選擇參考幀對應(yīng)的(0,0)位置

方法簡單,易陷入局部最優(yōu)點(初始步長太大,原點不是最優(yōu)點,有可能使快速搜索跳出原點周圍可能性較大的區(qū)域而去搜索遠距離的點,導(dǎo)致搜索方向不確定,可能陷入局部最優(yōu));選擇預(yù)測的起點——利用相關(guān)性預(yù)測初始搜索點,減少搜索次數(shù)

基于SAD值的起點預(yù)測方法——求出當(dāng)前塊與相鄰塊間的SAD值,選取SAD最小的塊的運動矢量作為預(yù)測值。預(yù)測精度高,計算量大;利用相鄰塊和相鄰幀對應(yīng)塊的運動矢量來預(yù)測當(dāng)前塊的搜索起點,為簡化系統(tǒng)多采用同幀塊的空間相關(guān)性來預(yù)測運動;基于相鄰運動矢量相等的起點預(yù)測方法,保證精度基礎(chǔ)上利用運動矢量相關(guān)性大大減少計算量。2)匹配準(zhǔn)則平均絕對誤差均方誤差歸一化互相關(guān)函數(shù)常見的運動估計匹配準(zhǔn)則有三種:MAD、MSE和NCCF,由于MAD沒有乘除操作,不需做乘法運算,實現(xiàn)簡單方便,所以使用較多。通常使用求和絕對誤差(SAD)代替MAD

。式中為第K幀位于的像素值,分別為水平和垂直方向的偏移量,取值范圍為像塊與搜索區(qū)的關(guān)系示意圖3)運動搜索策略即如何進行搜索,以保證運動估計的準(zhǔn)確性和搜索速度;存在計算復(fù)雜度和搜索精度的矛盾,往往采取折中。(3)

經(jīng)典運動估計算法全搜索法

三步搜索法新三步搜索法

四步搜索法

基于塊的梯度下降搜索法

菱形搜索法六邊形搜索法運動矢量場自適應(yīng)搜索算法

UMHexagonS算法漸進消除算法1)全搜索法全搜索法(FullSearchAlgorithm,FSA)也稱窮盡搜索法——對匹配窗內(nèi)所有候選位置計算SAD(i,j)值,找出最小的,其對應(yīng)的偏移量即為所求運動矢量;精度最高,必為全局最優(yōu)點;計算復(fù)雜,難以實時處理;必須研究相應(yīng)的運動估計快速算法。2)運動估計快速算法分層的和多分辨率的快速塊匹配方法固定搜索模式的快速塊匹配方法(重點)基于時空相關(guān)性和視覺特性的快速塊匹配方法(重點)降低匹配準(zhǔn)則復(fù)雜度的快速塊匹配方法①分層的和多分辨率的快速塊匹配方法

用低分辨率塊的運動矢量預(yù)測較高分辨率塊的運動矢量,或者用同一分辨率下大尺寸塊的運動矢量預(yù)測其內(nèi)部子塊的運動矢量,并在后續(xù)搜索中做進一步修正。缺點:構(gòu)造多層/多分辨率圖像有較大的計算復(fù)雜度,且內(nèi)存需求較大。多分辨率快速塊匹配——由低分辨率到高分辨率②降低匹配準(zhǔn)則復(fù)雜度的快速塊匹配方法

不會減少搜索點數(shù),而是著眼于匹配準(zhǔn)則計算復(fù)雜度的降低,因而常常用于全搜索法的快速實現(xiàn)。

主要有兩種方式:連續(xù)消除法像素子采樣法③固定搜索模式的快速塊匹配方法該方法假設(shè)匹配誤差隨著離全局誤差最小點的距離增加而單調(diào)增加;一般從原點開始,采用固定的搜索模板和搜索策略得到最佳匹配塊;著名的算法有:三步法、梯度下降法、四步法、菱形法、六邊形法等。A、三步搜索法(ThreeStepSearch,TSS)搜索范圍為±7;搜索模板半徑依次減半;第一步步長過大對小運動檢測效果不好;搜索范圍大于7時,搜索步驟不止三步;

搜索次數(shù)9+8+8=25。B、四步搜索法(FourStepSearch,FSS)基于現(xiàn)實中序列圖像一個特征,即運動矢量都是中心分布的,從而在5×5搜索窗上構(gòu)造了9個檢測點的搜索模板;首先用5×5搜索窗;每一步將搜索窗的中心移向最小塊誤差點處;后兩步搜索窗大小依賴于最小塊誤差點的位置;計算復(fù)雜度低,搜索幅度較平滑,不會出現(xiàn)方向上誤導(dǎo)。反復(fù)使用5×5方形模板進行搜索。模板中心處SAD值最小時再用3×3模板搜索一次確定最佳匹配位置;搜索次數(shù)9+3+5+8=25;搜索速度不一定快于三步法,但計算復(fù)雜度低于三步法;搜索幅度比較平滑,不會出現(xiàn)方向上的誤導(dǎo),在攝像機鏡頭伸縮、有快速運動物體的圖像序列中廣泛應(yīng)用。C、基于塊的梯度下降搜索法(Block-BasedGradientDescentSearch,BBGDS)利用運動矢量中心分布特性,用3×3搜索窗;視頻幀內(nèi)相鄰像素間具有漸變性,每一步的最小塊誤差點分布具有一定的方向性,即梯度下降方向;使用梯度下降方向來決定下一步的搜索方向;特點:使用中心匹配塊而不是匹配點,降低了陷入局部最優(yōu)的可能性;引入梯度下降概念,用梯度下降方向指導(dǎo)搜索方向,減少不必要的搜索,大大降低算法復(fù)雜性。反復(fù)使用3×3模板進行搜索。模板中心處SAD值最小時結(jié)束。對大運動檢測效果不好D、菱形搜索法(DiamondSearch,DS)

搜索窗口太小易陷入局部最優(yōu),搜索窗口太大易產(chǎn)生錯誤的搜索路徑;統(tǒng)計表明,視頻圖像進行運動估計最優(yōu)點通常在零矢量周圍;基于上述事實,采用兩種模板:9個檢測點的大菱形模板;5個檢測點的小菱形模板;先用大模板計算當(dāng)最小塊誤差點出現(xiàn)在中心處時,換為小模板,此時5個點中最小塊誤差點即為最優(yōu)匹配點;

搜索方式與四步法類似,只是搜索模板換為兩個菱形模板;搜索次數(shù)9+5+4+4=22;目前快速匹配算法中性能最優(yōu)異的算法之一,1999年10月被MPEG-4采用并收入驗證模型。菱形搜索法性能分析:

選用了大小兩種形狀的搜索模版,先用大模板搜索,步長大搜索范圍廣,進行粗定位,避免搜索窗口太小時,陷入局部最優(yōu);粗定位后,再用小模板準(zhǔn)確定位,保證匹配精度;搜索時各步之間相關(guān)性強,模板移動只需要在幾個新的檢測點處進行匹配計算,提高了搜索速度。MPEG-1圖像P幀編碼原理§4.3視頻數(shù)據(jù)編碼方法4.3.1熵編碼4.3.2預(yù)測編碼4.3.3變換編碼主要內(nèi)容

離散余弦變換(DCT)

二維DCT數(shù)據(jù)壓縮編碼過程視頻圖像的頻率特征:低頻信號的幅值大,高頻信號幅值小。圖像信號的能量主要集中于信號的低頻分量,而高頻分量的能量較小。相關(guān)性分析:對于變化復(fù)雜的圖像來說位置空間的相關(guān)性并不明顯,但將信號變換到頻率的直角坐標(biāo)域中,則幅值大的低頻分量集中在一個角落,而幅值小的高頻分量則分布在其他位置,表現(xiàn)出了較強的頻率相關(guān)性。因此就可能獲得一種效率更高的編碼方法,以便于進行壓縮編碼,DCT編碼就是這樣一種純數(shù)學(xué)變換的編碼方式。

.離散余弦變換(DCT)

1、

變換的基本原理正交變換的矩陣表示正交變換是一類重要的線性變換。利用矩陣可以方便地表示線性變換。

設(shè):表示圖象矩陣,為變換圖象矩陣的變換系數(shù),表示變換矩陣,為A的轉(zhuǎn)置,(以像塊為例)則利用兩次矩陣乘法完成二維線性變換法:

=發(fā)送端以F形式發(fā)送,接收端在收到后,利用相應(yīng)的逆變換,把F變換成,變換矩陣乘A的逆矩陣和的逆矩陣其中為單位矩陣。2、DCT變換的方法①分塊:將每個分量圖像分成許多8×8=64個樣點組成的像塊,并對其采樣,得到在空域中的8×8的樣值矩陣。②變換:利用FDCT公式,將空域中的8×8樣值矩陣,正向變換(FDCT)為頻域中的8×8DCT系數(shù)矩陣。++=ΣΣ==16)12(cos16)12(cos),()()(41),(7070ppvyuxyxfvCuCvuFyx

FDCT變換二維DCT的矩陣表示式

正變換FDCT:

正交變換矩陣,是的轉(zhuǎn)置矩陣根據(jù)矩陣的正交性,有反變換IDCT:

即[DCT]的轉(zhuǎn)置矩陣等于它的逆矩陣。8*8的DCT矩陣

對比兩個數(shù)值矩陣觀察相關(guān)性f=170132185147190215220185130190175195223199163180220202173197170154160170211185190166140172190193150180140164198180177141172135190163140165132160140160200145135170199190129

f(x,y),F(u,v)矩陣F=136.2340-48.8294-39.24589.8608-22.631011.6491-63.7071-5.381662.2669-77.255416.1615-12.825535.054023.9713-5.6764-41.69917.5839-7.406975.576026.7426-26.4953-12.8395-10.5650-43.593518.621918.167323.2682-26.082817.795821.602510.09396.4744-9.1274-32.19130.341412.5642-10.6278-7.27107.0297-8.1319-9.276810.067812.2530-9.920210.1096-12.997410.025310.542210.7947

2.3326-29.5610-20.2712-7.353512.19529.65590.2945-8.391312.2379-8.4750-6.515315.882613.3316-2.18192.2038F(0,0)稱為直流(DC)系數(shù)其他為交流(AC)系數(shù)變換后的64個DCT頻率系數(shù)與DCT前的64個像素塊相對應(yīng),都是64個點,說明這個過程只是一個沒有壓縮作用的無損變換過程。單獨一個圖像的全部

DCT

系數(shù)塊的頻譜幾乎都集中在最左上角的系數(shù)塊中。DCT輸出的頻率系數(shù)矩陣最左上角的直流(DC)系數(shù)幅度最大

DC

系數(shù)為出發(fā)點向下、向右的其它DCT

系數(shù),離

DC分量越遠,頻率越高,幅度值越小,圖中最右下角為2.2038,即圖像信息的大部分集中于直流系數(shù)及其附近的低頻頻譜上,離

DC系數(shù)越來越遠的高頻頻譜幾乎不含圖像信息,甚至于只含雜波。DCT

本身沒有壓縮作用,卻為以后壓縮時的"取"、"舍"奠定了必不可少的基礎(chǔ)。IDCT變換(逆變換):DCT系數(shù)并不能重構(gòu)圖像,因此在接收端需要利用IDCT公式將頻域中的8×8

DCT系數(shù)矩陣變換為空域中的8×8樣值矩陣,使圖像得以還原。逆向DCT變換(IDCT):++=16)12(cos16)12(cos),(41),(ppvyuxvuF)()(vCuCyxfΣΣ==7070vu亮度信號DCT變換原圖象亮度信號余弦變換將大部分信息濾掉重構(gòu)亮度信號圖像

二維DCT數(shù)據(jù)壓縮編碼過程1、圖像壓縮編解碼過程方框圖

2.DCT系數(shù)量化

(1)量化的原因:

DCT之后其系數(shù)矩陣中相關(guān)性不夠明顯,為進一步降低DCT系數(shù)矩陣中非零系數(shù)的幅值,增加零系數(shù)的個數(shù),使相關(guān)性表現(xiàn)的更明顯,需要進一步量化。(2)量化的依據(jù)①對失真的要求:量化是圖像質(zhì)量下降的重要原因,DCT系數(shù)量化是基于限失真編碼理論進行的,容許有失真,但應(yīng)在視覺容許的容限內(nèi)。②視覺要求:

a.對亮度信號與色度信號的分辨能力不同;

b.對低頻圖像信號和高頻圖像信號的分辨能力不同。結(jié)論:可以采用不同的量化方案。(3)量化的方法

區(qū)域濾波法:是采用式對DCT系數(shù)矩陣中的每一個值逐一量化。注:

a.F(u,v)為DCT系數(shù)矩陣中位于(u,v)的DCT系數(shù);

S(u,v)為量化表中位于(u,v)點的量化步長,(不同位置可以采用不同的量化步長);

Q(u,v)為對應(yīng)于(u,v)位置的量化值。

b.round()為取整函數(shù)。

c.

Q(u,v)矩陣,為量化后的DCT系數(shù)矩陣,表現(xiàn)了較強的相關(guān)性。d.逆量化Q-1:接收端,一定要使用與發(fā)送端相同的量化表進行逆量化,方可使圖像還原。

亮度量化步長表

1611101623305161121213192658605513131623305769561317222951878062182237566810910377233555638110311392396378871031211201017292959811210010399特點:

1.量化步長值不同:左上角量化步長值較小,右下角量化步長值較大

2.量化后,右下角的高頻分量的系數(shù)變?yōu)榱?,保留了低頻分量1611101623305161121213192658605513131623305769561317222951878062182237566810910377233555638110311392396378871031211201017292959811210010399對不同的分量信號采用不同的量化表(不同分量信號的區(qū)別)

色度量化步長表

17182337999999991821266699999999232656999999999937669999999999999999999999999999999999999999999999999999999999999999999999999999采用Zig-Zag(或稱“Z”字形)掃描,可保證低頻分量先出現(xiàn),高頻分量后出現(xiàn)。掃描之后,分別用不同的方法對直流分量和交流分量編碼。DC直流系數(shù)AC01交流系數(shù)掃描開始交流系數(shù)掃描結(jié)束AC07AC70AC77

3.Zig-Zag掃描:一種將二維數(shù)組轉(zhuǎn)變?yōu)橐痪S數(shù)組的Z字形掃描方法。

Zig-Zag掃描序列:系數(shù)矩陣Q,進行Zig-Zag掃描所得到的數(shù)據(jù)序列。

Z掃描的特點:

①可以增加連續(xù)0系數(shù)的個數(shù),也就是增加0的游程長度。②在數(shù)據(jù)序列中,非零系數(shù)主要都集中于數(shù)據(jù)序列的首部,在數(shù)據(jù)序列的尾部,則都是連零(EOB)數(shù)據(jù)。這樣對傳輸中的數(shù)據(jù)壓縮十分有利。

4、變換系數(shù)熵編碼直流分量(DC):

相鄰圖像子塊的直流分量(圖像子塊的平均樣值)也存在著相關(guān)性,所以對DC的量化系數(shù)用DPCM編碼較合適,即對當(dāng)前塊和前一塊的DC系數(shù)的差值進行編碼。

交流分量(AC):把數(shù)值為0的連續(xù)長度(即0的游長)和非0值結(jié)合起來構(gòu)成一個事件(Run,Level),然后再對事件(Run,Level)進行熵編碼。例:設(shè)8×8圖像亮度數(shù)據(jù)矩陣如下,請進行壓縮編碼。解:(1)亮度數(shù)據(jù)矩陣的DCT變換系數(shù)為:==.(2)亮度量化矩陣S(u,v):1611101623305161121213192658605513131623305769561317222951878062182237566810910377233555638110311392396378871031211201017292959811210010399量化公式:量化結(jié)果:(3)Zig-Zag掃描輸出路徑及掃描輸出后的值每一數(shù)據(jù)塊最后一個量值結(jié)束,應(yīng)該用數(shù)據(jù)塊結(jié)束符號:EOB作為結(jié)束,EOB編碼為1010MPEG-1P幀圖像編碼原理

1、音頻信號壓縮編碼的必要性數(shù)字音頻的質(zhì)量取決于:采樣頻率和量化位數(shù)這兩個參數(shù),為了保真在時間變化方向上取樣點盡量密,取樣頻率要高;在幅度取值上盡量細(xì),量化比特率要高

,直接的結(jié)果就是存儲容量及傳輸信道容量要求的壓力。音頻信號的傳輸率=取樣頻率*樣本的量化比特數(shù)*通道數(shù)取樣頻率=44.1KHz樣本值的量化比特數(shù)=16

普通立體聲的信號通道數(shù)=2數(shù)字信號傳輸碼流大約1.4Mbit/s

4.4音頻數(shù)據(jù)壓縮編碼原理一、音頻壓縮編碼的基本原理

數(shù)字音頻的出現(xiàn),是為了滿足復(fù)制、存儲、傳輸?shù)男枨?,音頻信號的數(shù)據(jù)量對于進行傳輸或存儲形成巨大的壓力。音頻信號的壓縮是在保證一定聲音質(zhì)量的條件下,盡可能以最小的數(shù)據(jù)率來表達和傳送聲音信息。信號壓縮過程是對采樣、量化后的原始數(shù)字音頻信號流運用適當(dāng)?shù)臄?shù)字信號處理技術(shù)進行信號數(shù)據(jù)的處理,去除音頻信號中人們感信息影響可以忽略的成分,僅僅對有用的那部分音頻信號進行編碼,從而降低了參與編碼的數(shù)據(jù)量。

2、音頻信號壓縮編碼的可能性數(shù)字音頻信號中包含的對人們感受信息影響可以忽略的成分稱為冗余,包括時域冗余、頻域冗余和聽覺冗余。

(1)時域冗余時域冗余的表現(xiàn)形式:

①幅度分布的非均勻性信號的量化比特分布是針對信號的整個動態(tài)范圍而設(shè)定的,對于小幅度信號而言,大量的比特數(shù)據(jù)位被閑置。②樣值間的相關(guān)性聲音信號是一個連續(xù)表達過程,通過采樣之后,相鄰的信號具有極強的相似性,信號差值與信號本身相比,數(shù)據(jù)量要小的多。

③信號周期的相關(guān)性聲音信息在整個可聞域的范圍內(nèi),每個瞬間只有部分頻率成分在起作用,即特征頻率,這些特征頻率會以一定的周期反復(fù)出現(xiàn),周期之間具有相關(guān)關(guān)系。④靜音聲音信息中的停頓間歇,無論是采樣還是量化都會形成冗余,找出停頓間歇并將其樣值數(shù)據(jù)去除,可以減少數(shù)據(jù)量。(2)頻域冗余頻域冗余的表現(xiàn)形式:①長時功率譜密度的非均勻性任何一種聲音信息,在相當(dāng)長的時間間隔內(nèi),功率分布在低頻部分大于高頻部分,功率

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論