多媒體技術(shù)基礎(chǔ)-MPEG-4 AVC H264視像_第1頁
多媒體技術(shù)基礎(chǔ)-MPEG-4 AVC H264視像_第2頁
多媒體技術(shù)基礎(chǔ)-MPEG-4 AVC H264視像_第3頁
多媒體技術(shù)基礎(chǔ)-MPEG-4 AVC H264視像_第4頁
多媒體技術(shù)基礎(chǔ)-MPEG-4 AVC H264視像_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、多媒體技術(shù)基礎(chǔ)多媒體技術(shù)基礎(chǔ)- MPEG-4 AVC/H.264視像視像 2022年7月3日第13章 MPEG-4 AVC/H.264視像2/73第13章 MPEG-4 AVC/H.264視像目錄 13.1 MPEG-4 AVC/H.264的由來的由來13.2 提高編碼效率的主要技術(shù)提高編碼效率的主要技術(shù)13.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)13.3.1 分層處理的結(jié)構(gòu)13.2.2 視像數(shù)據(jù)的組織13.3.3 三種類型的視像13.4 編譯碼器的結(jié)構(gòu)編譯碼器的結(jié)構(gòu)13.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測13.5.1 44亮度預(yù)測方式13.5.2 1616亮度預(yù)測方式13.5.3 88色度預(yù)測方式13.

2、6 幀間預(yù)測幀間預(yù)測13.6.1 移動(dòng)補(bǔ)償塊的大小13.6.2 子像素移動(dòng)矢量13.6.3 移動(dòng)矢量的預(yù)測13.7 變換和量化變換和量化13.7.1 變換類型13.7.2 DCT和IDTC變換簡化13.7.3 正變換與量化13.7.4 逆變換與逆量化13.7.5 44亮度DC殘差系數(shù)的變換和量化13.7.6 22色度DC系數(shù)的變換和量化13.7.7 變換與量化過程舉例13.8 熵編碼熵編碼13.8.1 指數(shù)葛洛姆編碼介紹13.8.2 CAVLC編碼13.8.3 CABAC編碼2022年7月3日第13章 MPEG-4 AVC/H.264視像3/73第第13章章 MPEG-4 AVC/H.264視

3、像視像 n前言前言MPEG-4 AVC / H.26412 34是ITU-T和ISO/IEC聯(lián)合推薦的視像編碼工業(yè)標(biāo)準(zhǔn),在相同質(zhì)量下,比先前的MPEG-Video的壓縮效率提高23倍為降低H.264的計(jì)算復(fù)雜度和提高壓縮效率,ITU的專家組正在醞釀開發(fā)H.2652022年7月3日第13章 MPEG-4 AVC/H.264視像4/7313.1 MPEG-4 AVC/H.264的由來的由來nMPEG-4視像標(biāo)準(zhǔn)視像標(biāo)準(zhǔn)從2003年開始,通常認(rèn)為由兩部分組成nMPEG-4 Visual可視對象編碼標(biāo)準(zhǔn)ISO/IEC 14496-2 Part 2。版本1(1999年),版本2 (2001年)u主要處理

4、自然對象、合成對象和混合對象的編碼nMPEG-4 AVC/ H.264高級視像編碼ISO/IEC 14496-10 Part 10:Advanced Video Coding (AVC), 2003年發(fā)布u主要處理自然視像的編碼2022年7月3日第13章 MPEG-4 AVC/H.264視像5/7313.1 MPEG-4 AVC/H.264的由來的由來(續(xù)續(xù)1)nMPEG-4 Visual的問題的問題與傳統(tǒng)視像編碼的最大差別是引入了“對象編碼”n設(shè)計(jì)思想設(shè)計(jì)思想:將某一確定場景中的不同部分作為視像對象,采用不同的編碼技術(shù)分別予以編碼和傳送,在接收端解碼之后重新組合還原出原來的場景n在理論上說在

5、理論上說,MPEG-4 Visual的這種設(shè)計(jì)思想是先進(jìn)的,功能是強(qiáng)大的,應(yīng)用是廣泛的。許多觀察家也曾預(yù)言,MPEG-4 Visual將成為因特網(wǎng)上視聽對象的主要編碼方法,并取代目前正在使用的、享有專利的各種編解碼器,但時(shí)至今日這種情況還未出現(xiàn)n主要問題主要問題:技術(shù)上的困難。目前人工智能技術(shù)還不能輕而易舉地識別場景中的各種對象。盡管自1999年發(fā)布以來已經(jīng)開發(fā)了多個(gè)版本,但技術(shù)上還沒有取得較大的突破,使用的視像壓縮技術(shù)主要還是20世紀(jì)90年代開發(fā)的技術(shù)2022年7月3日第13章 MPEG-4 AVC/H.264視像6/7313.1 MPEG-4 AVC/H.264的由來的由來(續(xù)續(xù)2)nH.

6、26L的出現(xiàn)的出現(xiàn)VCEG專家組nVideo Coding Experts Group的縮寫, ITU專家組n1995年完成H.263可視電話標(biāo)準(zhǔn)版本1的開發(fā)后開始兩個(gè)新計(jì)劃u開發(fā)H.263版本2的短期(short-term)計(jì)劃u開發(fā)低位速率可視通信新標(biāo)準(zhǔn)的長期(long-term)計(jì)劃H.26L的出現(xiàn)n執(zhí)行長期計(jì)劃的結(jié)果是在1999年10月產(chǎn)生了H.26L標(biāo)準(zhǔn)草案,n提供的視像壓縮性能明顯優(yōu)于以往的ITU-T標(biāo)準(zhǔn)2022年7月3日第13章 MPEG-4 AVC/H.264視像7/7313.1 MPEG-4 AVC/H.264的由來的由來(續(xù)續(xù)3)nH.264的出現(xiàn)的出現(xiàn)JVT聯(lián)合視像組nM

7、PEG專家組認(rèn)識到H.26L的潛力,在2001年12月與VCEG成立了JVT(Joint Video Team) ,其主要任務(wù)就是將H.26L發(fā)展為國際標(biāo)準(zhǔn)H.264的出現(xiàn)nJVT專家們努力的結(jié)果是在2003年3月產(chǎn)生了兩個(gè)名稱不同而內(nèi)容一致的標(biāo)準(zhǔn)uISO MPEG-4 Part 10uITU-T H.264常寫成:常寫成:MPEG-4 AVC/H.264 或或 H.264/ MPEG-4 AVC2022年7月3日第13章 MPEG-4 AVC/H.264視像8/7313.2 提高編碼效率的主要技術(shù)提高編碼效率的主要技術(shù) nMPEG-4 AVC/H.264是視像數(shù)據(jù)壓縮技術(shù)取得是視像數(shù)據(jù)壓縮技

8、術(shù)取得重大進(jìn)展的標(biāo)志重大進(jìn)展的標(biāo)志編碼效率明顯提高nMPEG-4 AVC/H.264繼承了先前開發(fā)的視像標(biāo)準(zhǔn)的許多優(yōu)點(diǎn),在結(jié)構(gòu)上沒有明顯改變,只在各個(gè)主要功能模塊內(nèi)部做了“小打小鬧”和“精雕細(xì)刻”n在視像質(zhì)量相同的前提下,采用MPEG-4 AVC/H.264標(biāo)準(zhǔn)獲得的視像數(shù)據(jù)壓縮比是采用MPEG-2視像標(biāo)準(zhǔn)的23倍應(yīng)用范圍得到擴(kuò)大n可有效降低在有線網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)和電信網(wǎng)絡(luò)上傳送高質(zhì)量影視節(jié)目的成本,使應(yīng)用范圍得到進(jìn)一步擴(kuò)大。例如,原先使用MPEG-2視像技術(shù)的DVD影視和數(shù)字電視已經(jīng)開始轉(zhuǎn)向采用MPEG-4 AVC / H.264技術(shù)2022年7月3日第13章 MPEG-4 AVC/H.264

9、視像9/7313.2 提高編碼效率的主要技術(shù)提高編碼效率的主要技術(shù)(續(xù)續(xù)1)n提高編碼效率的主要改進(jìn)技術(shù)提高編碼效率的主要改進(jìn)技術(shù)56 采用可變圖塊大小的幀間預(yù)測和移動(dòng)補(bǔ)償n預(yù)測圖塊大小不再局限于1616像素,可小到44像素,于是提高了預(yù)測精度,如將移動(dòng)矢量精度提高到1/4個(gè)像素采用空間的幀內(nèi)預(yù)測n定義了多種預(yù)測方式,目的是找到相關(guān)性最大的預(yù)測采用 “整數(shù)變換編碼”n從DCT演變來的變換編碼,提高了編碼的運(yùn)算速度采用效率更高的熵編碼n前后文自適應(yīng)可變長度編碼(context-based adaptive variable length coding, CAVLC)n前后文自適應(yīng)二元算術(shù)編碼(C

10、ontext-based Adaptive Binary Arithmetic Coding,CABAC)。采用多參考幀和消除“塊狀失真”的濾波等技術(shù)2022年7月3日第13章 MPEG-4 AVC/H.264視像10/7313.2 提高編碼效率的主要技術(shù)提高編碼效率的主要技術(shù)(續(xù)續(xù)2)2022年7月3日第13章 MPEG-4 AVC/H.264視像11/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu) n13.3.1 分層處理結(jié)構(gòu)分層處理結(jié)構(gòu)AVC/ H.264標(biāo)準(zhǔn)分成兩層,見圖13-1n視像編碼層(Video Coding Layer, VCL),用于有效地表達(dá)視像內(nèi)容n網(wǎng)絡(luò)抽象層(Ne

11、twork Abstraction Layer,NAL),用于組織VLC數(shù)據(jù)并提供標(biāo)題(header)等信息,便于在各種不同的網(wǎng)絡(luò)上傳輸 2022年7月3日第13章 MPEG-4 AVC/H.264視像12/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)1)視像編碼層(VLC)數(shù)據(jù)分割網(wǎng)絡(luò)抽象層(NAL)H.320MP4FF*H.323/IPMPEG-2其他控制數(shù)據(jù)編碼宏塊編碼像片/數(shù)據(jù)段*MP4FF:MPEG-4 File FormatIP: Internet Protocol圖13-1 MPEG-4 AVC/ H.264的分層結(jié)構(gòu)2022年7月3日第13章 MPEG-4 AVC/

12、H.264視像13/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)2)n13.2.2 視像數(shù)據(jù)的組織視像數(shù)據(jù)的組織 1. 畫面劃分畫面劃分n一幀畫面當(dāng)作一片像片或分割成若干像片,見圖13-2(a)n一片像片包含若干宏塊(MB),見圖13-2(b)n每個(gè)宏塊包含u1個(gè)1616像素的亮度(luma)樣本u2個(gè)88像素的色度(chroma)樣本n一片或多片像片構(gòu)成像片組(slice group),見圖13-2(c)n在隔行掃描視像中,每一場可單獨(dú)編碼,2場構(gòu)成的幀也可單獨(dú)編碼,偶數(shù)場和奇數(shù)場相應(yīng)的宏塊構(gòu)成宏塊對,見圖13-2(d)2022年7月3日第13章 MPEG-4 AVC/H.264

13、視像14/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)3)40012宏塊 #40(a) 像片像片 #1像片 #2像片 #0(d) 隔行掃描的宏塊對像片組 #0像片組 #1像片組 #23637024135宏塊對(b) 宏塊(c) 像片組圖13-2 MPEG-4 AVC_H.264的畫面分割2022年7月3日第13章 MPEG-4 AVC/H.264視像15/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)4)2. 宏塊與子宏塊宏塊與子宏塊n宏塊可劃分成宏塊區(qū)(macroblock partition)和子宏塊(sub-macroblock),見圖13-3(a)n子宏塊(也稱子

14、塊)可劃分成子宏塊區(qū)(sub-macroblock partition),見圖13-3(b)000011123由1616亮度樣本和相關(guān)色度樣本組成1個(gè)宏塊1個(gè)宏塊分成2個(gè)168亮度樣本和相關(guān)色度樣本的宏塊區(qū)1個(gè)宏塊分成4個(gè)88亮度樣本和相關(guān)色度樣本的子宏塊宏塊分割000011123由88亮度樣本和相關(guān)色度樣本組成1個(gè)子宏塊1個(gè)子宏塊分成2個(gè)84亮度樣本和相關(guān)色度樣本的子宏塊區(qū)1個(gè)子宏塊分成44亮度樣本塊和相關(guān)色度樣本塊的子宏塊區(qū)子宏塊分割1個(gè)宏塊分成2個(gè)816亮度樣本和相關(guān)色度樣本的宏塊區(qū)1個(gè)子宏塊分成2個(gè)48亮度樣本和相關(guān)色度樣本的子宏塊區(qū)(a) 宏塊分割(b) 子宏塊分割圖13-3 宏塊與

15、子宏塊的劃分2022年7月3日第13章 MPEG-4 AVC/H.264視像16/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)5)n宏塊的結(jié)構(gòu)u圖13-4表示1616宏塊的樹狀結(jié)構(gòu)分割法u在編碼時(shí)有可能使用88、48、84或44像素塊的組合 484884844444444488圖13-4 樹狀結(jié)構(gòu)分割法2022年7月3日第13章 MPEG-4 AVC/H.264視像17/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)6)3. 像片的類型像片的類型n5種類型的像片。前3種與MPEG-1,-2的圖像I、P和B類似uI像片:由I宏塊構(gòu)成的像片。所有I宏塊編碼都是使用幀內(nèi)方式(i

16、ntra mode)的預(yù)測編碼uP像片:由P宏塊構(gòu)成的像片。 宏塊編碼包含n使用幀內(nèi)方式(intra mode)的預(yù)測編碼n使用幀間方式(inter mode)的預(yù)測編碼uB像片:由B宏塊構(gòu)成的像片。所有宏塊的編碼都是使用幀間方式的預(yù)測編碼2022年7月3日第13章 MPEG-4 AVC/H.264視像18/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)7)uSP像片(switching-P slice):由SP宏塊構(gòu)成的像片。SP宏塊的編碼是用幀間方式(inter mode)的預(yù)測編碼uSI像片(switching-I slice):由SI宏塊構(gòu)成的像片。SI宏塊的編碼是用幀內(nèi)方式

17、的預(yù)測編碼 nSP和SI的作用u用于在同一視像源而位速率不同的視像流之間進(jìn)行切換、隨機(jī)訪問和快進(jìn)或快退u為簡單起見,假設(shè)視像的一幀就是一片像片,使用SP和SI進(jìn)行視像流切換的應(yīng)用見圖13-5n圖中的視像流A是高數(shù)據(jù)率的播放視像流,視像流B是低數(shù)據(jù)率的播放視像流,它們之間可通過 “切換流切換圖像SP ”進(jìn)行切換,或用SI圖像進(jìn)行切換 SP2022年7月3日第13章 MPEG-4 AVC/H.264視像19/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)8)BSPBPBBSPSPSPSPSPBSPBPBBSPSISI P: 預(yù)測圖像 B: 雙向預(yù)測圖像 SP:播放流切換圖像 SP : 切

18、換流切換圖像 SI: 切換幀內(nèi)圖像視像流A視像流B高數(shù)據(jù)率播放視像流低數(shù)據(jù)率播放視像流切換到低數(shù)據(jù)率播放視像流切換到高數(shù)據(jù)率播放視像流圖13-5 使用SP和SI切換視像流的概念2022年7月3日第13章 MPEG-4 AVC/H.264視像20/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)9)n13.3.3 三種類型的視像三種類型的視像基本型(Baseline Profile)n支持使用I像片和P像片的幀內(nèi)編碼和幀間編碼n使用基于前后文自適應(yīng)可變長度編碼(CAVLC)n具有基本的性能和抗錯(cuò)能力n用于要求低延時(shí)的電視會(huì)議和可視電話等應(yīng)用主流型(Main Profile)n支持逐行掃描

19、和隔行掃描視像n支持幀內(nèi)編碼和幀間編碼n支持使用B像片的幀間編碼和使用加權(quán)預(yù)測的幀間編碼n使用基于前后文自適應(yīng)二元算術(shù)編碼(CABAC)n用于質(zhì)量要求比較高的電視廣播和DVD等2022年7月3日第13章 MPEG-4 AVC/H.264視像21/7313.3 視像數(shù)據(jù)的編碼結(jié)構(gòu)視像數(shù)據(jù)的編碼結(jié)構(gòu)(續(xù)續(xù)10)(3) 擴(kuò)展型(Extended Profile)n不支持隔行掃描視像和CABACn附加SP像片和SI像片的切換功能n使用數(shù)據(jù)分割改進(jìn)抗錯(cuò)能力n用于各種網(wǎng)絡(luò)上的流播(streaming)SP和SI像片數(shù)據(jù)分割B像片I像片P像片隔行掃描CAVLCCABAC像片組(FMO, ASO)冗余像片加權(quán)

20、預(yù)測基本類型主流型擴(kuò)展類型圖13-6 MPEG-4 AVC/H.264的三種類型2022年7月3日第13章 MPEG-4 AVC/H.264視像22/7313.4 編解碼器的結(jié)構(gòu)編解碼器的結(jié)構(gòu)nMPEG-4 AVC/H.264編解碼器概要編解碼器概要與先前的視像壓縮編碼標(biāo)準(zhǔn)類似nMPEG-4 AVC/H.264標(biāo)準(zhǔn)沒有明確定義編譯碼器的結(jié)構(gòu),只定義編碼視像位流的語句、語義和解碼的方法編碼器和解碼器包含的功能塊見圖13-7n除了用于消除重構(gòu)圖像的塊狀失真的“消塊濾波器(Deblocking Filter)”、減少幀內(nèi)空間冗余的“幀內(nèi)移動(dòng)估算(Intra-frame Estimation)”與“幀

21、內(nèi)預(yù)測(Intra-frame Prediction)”外,大多數(shù)功能塊在以前的標(biāo)準(zhǔn)中都存在,只是其中的細(xì)節(jié)有較大變化 2022年7月3日第13章 MPEG-4 AVC/H.264視像23/7313.4 編解碼器的結(jié)構(gòu)編解碼器的結(jié)構(gòu)(續(xù)續(xù)1)n編碼器的結(jié)構(gòu)編碼器的結(jié)構(gòu)見圖13-7(a),編碼器有兩個(gè)通道n從左到右的編碼通道u當(dāng)前幀(Fn)以宏塊為處理單元,可用幀內(nèi)編碼或幀間編碼,預(yù)測值用P表示u幀內(nèi)預(yù)測,預(yù)測值是由當(dāng)前幀(Fn)中的輸入樣本與過去幀的重構(gòu)但未經(jīng)濾波(uFnunfiltered)的樣本生成的u幀間預(yù)測,預(yù)測值是由當(dāng)前幀(Fn)中的輸入樣本與過去重構(gòu)并經(jīng)濾波的參考圖像(uFn-1)

22、 的樣本通過移動(dòng)補(bǔ)償預(yù)測生成的2022年7月3日第13章 MPEG-4 AVC/H.264視像24/7313.4 編解碼器的結(jié)構(gòu)編解碼器的結(jié)構(gòu)(續(xù)續(xù)2)編碼過程編碼過程u當(dāng)前幀的輸入值和預(yù)測值相減后生成預(yù)測誤差DnuDn經(jīng)過變換(T)和量化(Q)產(chǎn)生量化變換系數(shù)Xu通過重新排序和熵編碼得到的系數(shù)連同解碼時(shí)需要的邊信息(side information),包括預(yù)測方式、量化參數(shù)和移動(dòng)矢量等一起形成壓縮數(shù)據(jù)位流u送到網(wǎng)絡(luò)抽象層(NAL)用于傳輸或存儲(chǔ)n從右到左的圖像重構(gòu)通道u量化變換系數(shù)X通過逆量化(Q-1)和逆變換(T-1)后產(chǎn)生預(yù)測誤差Dnu與預(yù)測值P相加后生成重構(gòu)圖像uFn,u通過消塊濾波器

23、(Deblocking Filter)后生成作為幀間預(yù)測時(shí)用的重構(gòu)參考圖像Fn2022年7月3日第13章 MPEG-4 AVC/H.264視像25/7313.4 編解碼器的結(jié)構(gòu)編解碼器的結(jié)構(gòu)(續(xù)續(xù)3)圖13-7 MPEG-4 AVC/H.264編解碼器結(jié)構(gòu)72022年7月3日第13章 MPEG-4 AVC/H.264視像26/7313.4 編解碼器的結(jié)構(gòu)編解碼器的結(jié)構(gòu)(續(xù)續(xù)4)n解碼器的結(jié)構(gòu)解碼器的結(jié)構(gòu)見圖13-7(b),與圖13-7(a)中的圖像重構(gòu)過程類似 圖13-7 MPEG-4 AVC/H.264編解碼器結(jié)構(gòu)72022年7月3日第13章 MPEG-4 AVC/H.264視像27/731

24、3.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測n幀內(nèi)預(yù)測幀內(nèi)預(yù)測在以前的視像標(biāo)準(zhǔn)中,I圖像只利用宏塊內(nèi)部的空間相關(guān)性,而沒有利用宏塊之間的空間相關(guān)性。AVC/ H.264引入了幀內(nèi)預(yù)測(intra prediction)技術(shù)幀內(nèi)預(yù)測:在同一像片中從過去編碼后重構(gòu)的相鄰圖塊對當(dāng)前圖塊進(jìn)行預(yù)測n編碼時(shí)用實(shí)際的樣本值與預(yù)測值相減得到預(yù)測誤差n對預(yù)測誤差進(jìn)行變換和編碼。預(yù)測塊大?。毫炼?luma)樣本可在44(用于帶細(xì)節(jié)的圖像區(qū)域)、88或1616 (用于過渡較平緩的圖像區(qū)域)之間選擇預(yù)測方式n亮度塊:88和44有9種,1616有4種n兩個(gè)色度(chroma)塊:88和44,有4種 2022年7月3日第13章 MPEG-4

25、 AVC/H.264視像28/7313.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測(續(xù)續(xù)1)n 44亮度預(yù)測方式亮度預(yù)測方式44亮度樣本的標(biāo)記亮度樣本的標(biāo)記n見圖13-8。位于a,b,p上面和左邊的樣本是已編碼和重構(gòu)的樣本,標(biāo)記為AM(共13個(gè))n亮度塊的預(yù)測塊可根據(jù)AM樣本計(jì)算。注意u在當(dāng)前像片中不一定都有AM樣本可用,為保持像片解碼的獨(dú)立性,只使用當(dāng)前像片中的樣本進(jìn)行預(yù)測u如果E,F(xiàn),G和H樣本不存在,則可用D取代。使用幀內(nèi)預(yù)測編碼時(shí)有兩個(gè)問題需要解決(1) 如何計(jì)算預(yù)測塊(2) 如何選擇預(yù)測塊 2022年7月3日第13章 MPEG-4 AVC/H.264視像29/7313.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測(續(xù)續(xù)2)預(yù)測塊

26、的計(jì)算預(yù)測塊的計(jì)算n每個(gè)樣本的預(yù)測值可按指定預(yù)測方式下的預(yù)測方法計(jì)算n9種預(yù)測方式見圖13-9,箭頭表示預(yù)測方向M A B C D E F G HIabcdJefghKijklL m nop圖13-8 44亮度塊預(yù)測樣本的標(biāo)記2022年7月3日第13章 MPEG-4 AVC/H.264視像30/7313.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測(續(xù)續(xù)3)n方式02:例如u在預(yù)測方式0下,a,e,i和m的樣本預(yù)測值用A樣本值,d,h,l和p的樣本預(yù)測值用D樣本值u在預(yù)測方式2下,ap的樣本預(yù)測值都用的平均值:(A+B+C+D+I+J+K+L)/8 n方式38:預(yù)測值為AM的加權(quán)平均。例如u在預(yù)測方式4下,a的樣本預(yù)

27、測值可用round(I/4 + M/2 + A/4)計(jì)算,d的樣本預(yù)測值可用round (B/4 + C/2 + D/4)計(jì)算u在預(yù)測方式8下,a的樣本預(yù)測值可用round(I/2 + J/2)計(jì)算,d的樣本預(yù)測值可用round(J/4 + K/2 + L/4)計(jì)算其中的round表示四舍五入2022年7月3日第13章 MPEG-4 AVC/H.264視像31/7313.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測(續(xù)續(xù)4)圖13-9 44亮度塊幀內(nèi)預(yù)測方式2022年7月3日第13章 MPEG-4 AVC/H.264視像32/7313.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測(續(xù)續(xù)5)預(yù)測塊的選擇法預(yù)測塊的選擇法n全搜索法(full s

28、earching)是其中之一,過程如下u步驟步驟1:分別計(jì)算9種方式下的44樣本預(yù)測塊u步驟步驟2:分別計(jì)算9種方式下的44原始樣本塊與樣本預(yù)測塊之間的差值,然后計(jì)算絕對誤差的和 通常用SAD (sum of absolute difference)或SAE (sum of absolute errors)表示,或計(jì)算均方誤差MSE (mean square error)u步驟步驟3:比較9種方式下的SAD或MSE。通常認(rèn)為誤差最小的就是預(yù)測精度最高的樣本預(yù)測塊n選擇最佳樣本預(yù)測塊需要大量的計(jì)算,許多學(xué)者在減少計(jì)算量方面做了許多卓有成效的研究 2022年7月3日第13章 MPEG-4 AVC/

29、H.264視像33/7313.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測(續(xù)續(xù)6)n1616亮度預(yù)測方式亮度預(yù)測方式 4種預(yù)測方式見圖13-10nMode 0: 垂直外插預(yù)測,每列的所有樣本預(yù)測值與頂部(H)的樣本值相同nMode 1: 水平外插預(yù)測,每行的所有樣本預(yù)測值與左邊(V)的樣本值相同nMode 2: 平均插值預(yù)測,每個(gè)樣本預(yù)測值均為相應(yīng)的頂部和左邊樣本值之和的平均值nMode 3: “平面(plane)”預(yù)測,用頂部和左邊的樣本采用空間插值法得到樣本預(yù)測值n88色度預(yù)測方式色度預(yù)測方式88和44色度塊都指定了相同的4種預(yù)測方式nmode 0 (DC), mode 1 (水平), mode 2 (垂直)和

30、mode 3 (平面)n預(yù)測方式與1616亮度的含義相同,只是編號不同n2個(gè)88或2個(gè)44的色度塊要使用相同的預(yù)測方式 2022年7月3日第13章 MPEG-4 AVC/H.264視像34/7313.5 幀內(nèi)預(yù)測幀內(nèi)預(yù)測(續(xù)續(xù)7)圖13-10 1616亮度塊幀內(nèi)預(yù)測方式2022年7月3日第13章 MPEG-4 AVC/H.264視像35/7313.6 幀間預(yù)測幀間預(yù)測n幀間預(yù)測幀間預(yù)測(inter prediction)幀間預(yù)測(inter prediction)概念n從過去編碼后重構(gòu)的相鄰幀的樣本預(yù)測當(dāng)前待編碼幀的樣本的過程編碼以塊為基礎(chǔ)n編碼時(shí)用實(shí)際的樣本值與預(yù)測值相減得到預(yù)測誤差n對預(yù)測

31、誤差進(jìn)行變換和編碼,以消除時(shí)間方向上的冗余性。比較MPEG-1和-2nH.264可支持大小可變的移動(dòng)補(bǔ)償塊n移動(dòng)矢量可精確到1/4像素n支持多參考幀的預(yù)測 2022年7月3日第13章 MPEG-4 AVC/H.264視像36/7313.6 幀間預(yù)測幀間預(yù)測(續(xù)續(xù)1)n13.6.1移動(dòng)補(bǔ)償塊的大小移動(dòng)補(bǔ)償塊的大小見如圖13-3n1616的幀間編碼宏塊可以分割成168,816 或88個(gè)樣本的宏塊區(qū)n88的子宏塊可分分割成84,48或44個(gè)樣本的子宏塊區(qū)n兩個(gè)色度塊(Cb和Cr)的大小都是亮度塊的1/2,移動(dòng)矢量也是亮度塊的移動(dòng)矢量的1/2 n編碼宏塊的分區(qū)移動(dòng)補(bǔ)償方法稱為樹型結(jié)構(gòu)移動(dòng)補(bǔ)償(tree

32、-structured motion compensation)法2022年7月3日第13章 MPEG-4 AVC/H.264視像37/7313.6 幀間預(yù)測幀間預(yù)測(續(xù)續(xù)2)n13.6.2子像素移動(dòng)矢量子像素移動(dòng)矢量 子像素的概念n在計(jì)算移動(dòng)矢量和移動(dòng)補(bǔ)償量時(shí)需參考幀的樣本,因采樣的樣本數(shù)有限,在無樣本的位置可用該位置附近的樣本值通過插值得到插值樣本,這個(gè)像素稱為子像素(sub-pixel)n圖13-11(a)中的符號u實(shí)際樣本位置:用表示u半像素位置:兩個(gè)樣本中間的插值位置,用表示u1/4像素位置:兩個(gè)樣本之間1/4的插值位置,用表示子像素移動(dòng)補(bǔ)償是什么n通過搜索插值樣本為當(dāng)前圖塊尋找比較

33、準(zhǔn)確的移動(dòng)矢量和移動(dòng)補(bǔ)償量的方法 2022年7月3日第13章 MPEG-4 AVC/H.264視像38/7313.6 幀間預(yù)測幀間預(yù)測(續(xù)續(xù)3)整像素搜索位置最佳整像素匹配半像素搜索位置最佳半像素匹配1/4像素搜索位置最佳1/4像素匹配(a) 像素位置(b) 移動(dòng)估算示意圖圖13-11 子像素移動(dòng)估算概念2022年7月3日第13章 MPEG-4 AVC/H.264視像39/7313.6 幀間預(yù)測幀間預(yù)測(續(xù)續(xù)4)子像素移動(dòng)估算子像素移動(dòng)估算 n在圖13-11(b)中的符號u實(shí)心圓()表示整像素搜索得到的最佳匹配u實(shí)心方塊()表示半像素搜索得到的最佳匹配u實(shí)心三角形()表示1/4搜索得到的最佳匹

34、配像素n移動(dòng)估算舉例u開始用整像素搜索得到最佳匹配()u然后用半像素搜索得到的最佳結(jié)果()與整像素搜索得到的最佳匹配相比,看看匹配是否有改善,如果需要還可用1/4像素搜索u最后將當(dāng)前圖塊的樣本值減去最終匹配圖塊的樣本值,就得到當(dāng)前圖塊的移動(dòng)補(bǔ)償量,通常用絕對誤差之和(SAE)表示。SAE值越低,表示移動(dòng)補(bǔ)償效果越好2022年7月3日第13章 MPEG-4 AVC/H.264視像40/7313.6 幀間預(yù)測幀間預(yù)測(續(xù)續(xù)5)子像素移動(dòng)矢量子像素移動(dòng)矢量n圖13-12(a)表示在當(dāng)前幀中要預(yù)測的44亮度塊n圖13-12(b)表示整像素移動(dòng)矢量,當(dāng)前塊在過去編碼后重構(gòu)的參考幀中找到的最佳匹配塊n圖1

35、3-12(c)表示1/2像素移動(dòng)矢量,當(dāng)前塊在過去編碼后重構(gòu)的參考幀中找到的最佳匹配塊(c) 參考塊:1/2像素移動(dòng)矢量(b) 參考塊:整像素移動(dòng)矢量(a) 當(dāng)前幀的44塊圖13-12 整像素和子像素移動(dòng)矢量舉例2022年7月3日第13章 MPEG-4 AVC/H.264視像41/7313.6 幀間預(yù)測幀間預(yù)測(續(xù)續(xù)6)n13.6.3移動(dòng)矢量預(yù)測移動(dòng)矢量預(yù)測必要性n每個(gè)分量的移動(dòng)矢量都要編碼和傳送,這將降低視像數(shù)據(jù)的壓縮比,選擇小的移動(dòng)補(bǔ)償塊時(shí)將更嚴(yán)重預(yù)測方法n通過已編碼的相鄰分區(qū)的移動(dòng)矢量進(jìn)行預(yù)測,然后對實(shí)際的移動(dòng)矢量和預(yù)測的移動(dòng)矢量之差進(jìn)行編碼和傳送預(yù)測方法n見13-13,該方法與移動(dòng)補(bǔ)償

36、塊的大小和相鄰塊的移動(dòng)矢量是否可用有關(guān)n在圖13-13(a)中,當(dāng)前塊E的預(yù)測矢量用塊大小相同(如1616)的相鄰塊A、B和C進(jìn)行預(yù)測n在圖13-13(b)中,當(dāng)前塊E的預(yù)測矢量用塊大小不同的A、B和C進(jìn)行預(yù)測2022年7月3日第13章 MPEG-4 AVC/H.264視像42/7313.6 幀間預(yù)測幀間預(yù)測(續(xù)續(xù)7)n當(dāng)前塊E的預(yù)測矢量基本上取左(A)、上(B)和右上(C)宏塊的移動(dòng)矢量的中值(median value),通常寫成A(84)E(1616)B(48)C(168)(a) 塊大小相同的當(dāng)前塊和相鄰塊(b) 塊大小不同的當(dāng)前塊和相鄰塊ABCE圖13-13 預(yù)測矢量的預(yù)測方法,pABC

37、MVMedian MVMVMV AMV BMV CMV 其中,是3個(gè)相鄰的移動(dòng)矢量 2022年7月3日第13章 MPEG-4 AVC/H.264視像43/7313.7 變換和量化變換和量化n13.7.1 變換類型變換類型預(yù)測誤差塊也稱為殘差塊(residual block),每個(gè)殘差塊中的數(shù)據(jù)(稱為殘差數(shù)據(jù))都要進(jìn)行變換、量化和編碼在MPEG-4 AVC/H.264中,根據(jù)殘差數(shù)據(jù)的類型采用不同的變換。在1616預(yù)測方式下,使用3種類型的變換n44亮度和色度陣列使用近似的DCT變換n44亮度陣列的DC(直流分量)殘差系數(shù)使用哈達(dá)瑪變換(Hadamard transform)n22色度陣列的DC

38、殘差系數(shù)使用哈達(dá)瑪變換數(shù)據(jù)的編號n宏塊中的數(shù)據(jù)按照圖13-14所示的掃描順序進(jìn)行編號n“-1”包含44亮度陣列的DC殘差系數(shù),015包含44亮度陣列的殘差系數(shù);16和17包含22色度陣列的DC殘差系數(shù),1825包含44色度陣列的殘差系數(shù) 2022年7月3日第13章 MPEG-4 AVC/H.264視像44/7313.7 變換和量化變換和量化(續(xù)續(xù)1)012345678910111213141516171819202122232425-1(用于1616幀內(nèi)方式)亮度(Luma)色度(Cb)色度(Cr)圖13-14 宏塊中的殘差塊掃描順序2022年7月3日第13章 MPEG-4 AVC/H.264

39、視像45/7313.7 變換和量化變換和量化(續(xù)續(xù)2)n13.7.2 DCT和和IDTC變換簡化變換簡化1. DCT變換變換n若輸入的44陣列為X,經(jīng)過DCT變換后的輸出Y可按下式計(jì)算其中,A是正交變換矩陣,矩陣中的常數(shù)是11121314212223243132333441424344-TxxxxaaaaabacxxxxbccbacabYAXAxxxxaaaaacabxxxxcbbcabac()()1 2, 1 2 cos8 , 1 2 cos 38abcpp=2022年7月3日第13章 MPEG-4 AVC/H.264視像46/7313.7 變換和量化變換和量化(續(xù)續(xù)3)n矩陣A可用蝶形分解

40、為兩個(gè)矩陣相乘A=BC,因此DCT變換可寫成Y=BCXCTB n經(jīng)過推導(dǎo),44陣列X經(jīng)DCT變換后的輸出Y可按下式計(jì)算2200010203221011121322202122232230313233111111111111111111111111TYCXCEaabaabxxxxdxxxxdddabbabbxxxxdaabaabxxxxdddabbabb 其中,CXCT是二維變換“核”,E是由縮放因子組成的矩陣,符號 表示矩陣中的每個(gè)元素與矩陣中相同位置的元素相乘n由于E矩陣中的元素是常數(shù),因此可與編碼器中的量化和解碼器中的逆量化進(jìn)行組合,這樣可簡化DCT變換的計(jì)算 1/101/2 2/5 1/

41、2 abdc,而2022年7月3日第13章 MPEG-4 AVC/H.264視像47/7313.7 變換和量化變換和量化(續(xù)續(xù)4)2. IDTC 變換變換nDCT變換為Y=AXAT, IDTC變換為X=ATYA。由于矩陣A是正交變換矩陣,按照DCT變換的簡化方法,可從DCT變換得到簡化的IDCT變換 2200010203221011121322202122232230313233()111111111111111111111111TXCYE Caabaabyyyydyyyydabbabbddyyyydaabaabyyyydddabbabb 1/101/2 2/5 1/2 abdc,而2022年

42、7月3日第13章 MPEG-4 AVC/H.264視像48/7313.7 變換和量化變換和量化(續(xù)續(xù)5)n13.7.3 正變換與量化正變換與量化 1. 正變換正變換n使用d=1/2時(shí),經(jīng)推導(dǎo),正變換具有如下形式 222222000102031011121324242220212223223031323311111211211211121111111212211211TffffabababbabbabababYC XCEWEaaxxxxxxxxxxxxaaxxxx222424babb1/2 2/5 ab其中,2022年7月3日第13章 MPEG-4 AVC/H.264視像49/7313.7 變換

43、和量化變換和量化(續(xù)續(xù)6)n縮放和量化縮放和量化數(shù)據(jù)輸入塊X經(jīng)過 變換后的每個(gè)系數(shù)Wij使用標(biāo)量量化器進(jìn)行量化。n設(shè)計(jì)標(biāo)量量化器和逆量化器的主要原則u避免除法和浮點(diǎn)運(yùn)算u要與后縮放矩陣進(jìn)行合并量化運(yùn)算按下式進(jìn)行 TffWC XC其中,Zij是量化后的系數(shù) Yij是使用DCT正變換后的系數(shù) Qstep是量化階 (/)ijijZround YQstep2022年7月3日第13章 MPEG-4 AVC/H.264視像50/7313.7 變換和量化變換和量化(續(xù)續(xù)7)變換說明n這個(gè)正變換是近似的DCT變換,因?yàn)閷和b的取值做了改動(dòng),因此變換的輸出與44的DCT變換不一致n輸入塊X的變換轉(zhuǎn)化為計(jì)算 ,

44、 然后對每個(gè)系數(shù)Wij進(jìn)行縮放和量化,其中的(i, j)表示系數(shù)的位置n縮放運(yùn)算( )可歸并到量化計(jì)算過程中,因此Ef矩陣稱為后縮放矩陣(post-scaling matrice)n計(jì)算 不需要做實(shí)際的乘法,因?yàn)樽儞Q矩陣中的元素均為1或2 ,只要做加、減和左移運(yùn)算即可TffWC XCfETffWC XCQTZXTffWC XCW()ijijPFZround WQstep圖13-15 正向DCT變換和量化框圖2022年7月3日第13章 MPEG-4 AVC/H.264視像51/7313.7 變換和量化變換和量化(續(xù)續(xù)8)n13.7.4 逆變換與逆量化逆變換與逆量化逆變換逆變換n使用d=1/2時(shí),

45、逆變換(inverse transform)按下式計(jì)算 22100010203222111101112132221222021222321122303132332211111111111111111111111TiiiXCYE Caabaabyyyyyyyyabbabbyyyyaabaabyyyyabbabb 121TiiCC和 中的因子是+1/2或-1/2,因此可用右移操作實(shí)現(xiàn)除2運(yùn)算。由于Y可預(yù)先通過前縮放矩陣(pre-scaling matrice)Ei和使用恰當(dāng)?shù)目s放因子進(jìn)行縮放,因此除2運(yùn)算引入的誤差可得到補(bǔ)償,運(yùn)算結(jié)果無明顯的精度丟失 2022年7月3日第13章 MPEG-4 AV

46、C/H.264視像52/7313.7 變換和量化變換和量化(續(xù)續(xù)9)逆量化逆量化n假設(shè)仍用Zij表示量化后的系數(shù),Yij是經(jīng)過逆量化后的系數(shù),Qstep表示量化階,逆量化可按下式計(jì)算ijijYZ QstepTiiiXCYE C因逆變換為 ,在逆變換之前可用前縮放矩陣Ei (根據(jù)位置(i, j)選取a2, ab或b2)對Yij進(jìn)行縮放 為避免在計(jì)算過程中引入的舍入誤差,在做逆變換之前的輸入用一個(gè)常數(shù)因子64相乘(左移操作),在逆變換之后的輸出通過右移操作去掉常數(shù)因子642022年7月3日第13章 MPEG-4 AVC/H.264視像53/7313.7 變換和量化變換和量化(續(xù)續(xù)10)-1Q-1T

47、X()/64TiiXC WCW64ijijWZ Qstep PFZ44塊的逆量化和IDCT變換過程可用圖13-16表示 圖13-16 逆量化和逆變換框圖 64ijijWZQstep PF 將逆量化、前縮放和乘常數(shù)因子的運(yùn)算歸并在一起進(jìn)行計(jì)算時(shí),用于逆變換的系數(shù)Wij就可按下式計(jì)算2022年7月3日第13章 MPEG-4 AVC/H.264視像54/7313.7 變換和量化變換和量化(續(xù)續(xù)11)n13.7.5 44亮度亮度DC殘差系數(shù)的變換和量化殘差系數(shù)的變換和量化變換變換n在1616亮度塊的幀內(nèi)預(yù)測方式下,每個(gè)44陣列的殘差數(shù)據(jù)使用 變換,變換后的16個(gè)DC殘差系數(shù)組成44陣列,然后用哈達(dá)瑪變

48、換,或稱Walsh-Hadamard transform, Walsh transform,Walsh-Fourier transform,是傅立葉變換的一種類型 n44亮度DC殘差系數(shù)塊使用如下形式的哈達(dá)瑪變換 TffC XC000102031011121320212223303132331111111111111111111111111211111111TDDYHW Hwwwwwwwwwwwwwwww=驏輊輊輊犏犏犏犏犏犏-犏犏犏犏犏犏-犏犏犏犏犏犏 -犏犏桫犏臌臌臌2022年7月3日第13章 MPEG-4 AVC/H.264視像55/7313.7 變換和量化變換和量化(續(xù)續(xù)12)逆變換逆

49、變換n44亮度DC殘差系數(shù)塊的逆哈達(dá)瑪變換使用如下算式 0001020310111213202122233031323311111111111111111111111111111111TQDDWH Z Hzzzzzzzzzzzzzzzz=驏輊輊輊犏犏犏犏犏犏-犏犏犏犏犏犏-犏犏犏犏犏犏 -犏犏桫犏臌臌臌量化和逆量化量化和逆量化n量化和逆量化也有一套具體的計(jì)算方法,相見教材2022年7月3日第13章 MPEG-4 AVC/H.264視像56/7313.7 變換和量化變換和量化(續(xù)續(xù)13)n13.7.6 22色度色度DC系數(shù)的變換和量化系數(shù)的變換和量化變換變換n22色度DC殘差系數(shù)塊使用如下形式的

50、哈達(dá)瑪變換,0001101111111111TDDwwYHW Hww驏 輊輊犏犏= 犏犏-桫臌臌逆變換逆變換n22亮度DC系數(shù)塊的逆哈達(dá)瑪變換使用如下算式 0001101111111111TQDDzzWHZ Hzz驏 輊輊犏犏=犏犏-桫臌臌量化和逆量化量化和逆量化n量化和逆量化也有一套具體的計(jì)算方法,相見教材2022年7月3日第13章 MPEG-4 AVC/H.264視像57/7313.8 熵編碼熵編碼nMPEG-4 AVC/H.264的熵編碼的熵編碼在以往的視像壓縮標(biāo)準(zhǔn)中,熵編碼(entropy coding)通常都采用霍夫曼編碼。為充分利用視像數(shù)據(jù)的相關(guān)性,MPEG-4 AVC/H.264

51、采用了壓縮效率更高的熵編碼技術(shù),推薦使用的3種熵編碼技術(shù)是n指數(shù)葛洛姆碼(Exp-Golomb code)n前后文自適應(yīng)可變長度編碼技術(shù)(CAVLC)n前后文自適應(yīng)二元算術(shù)編碼技術(shù)(CABAC)CAVLC比CABACnCAVLC比CABAC的計(jì)算復(fù)雜度較低,編碼效率也較低nCABAC比CAVLC的編碼效率較高,計(jì)算復(fù)雜度也較高n有些文獻(xiàn)指出,在相同視像質(zhì)量條件下,CABAC可比CAVLC減少914%的位速率,甚至更高nCAVLC編碼用于所有視像類型,而CABAC只用于主流型(main profile)視像2022年7月3日第13章 MPEG-4 AVC/H.264視像58/7313.8 熵編碼

52、熵編碼(續(xù)續(xù)1)n13.8.1 指數(shù)葛洛姆編碼介紹指數(shù)葛洛姆編碼介紹指數(shù)葛洛姆碼指數(shù)葛洛姆碼nExp-Golomb code或Exponential-Golomb code的譯名n霍夫曼(Huffman)變長碼的一種類型n結(jié)構(gòu)規(guī)則、碼字只與指數(shù)的階有關(guān)以及不需用專門碼表n指數(shù)葛洛姆碼的前11個(gè)碼字見表13-6,其中的碼號實(shí)際上就是行程長度編碼(RLC)中的行程長度n指數(shù)葛洛姆碼的構(gòu)造方法見表13-7,可用下面的形式表示 M zeros1INFO 或或 Prefix(前綴前綴)1Suffix(后綴后綴) 其中,M zeros或Prefix是其值為“0”的M位前導(dǎo)域 INFO或Suffix是M位信

53、息域。例如,在表13-6 中,在k=0時(shí),碼號(code_num)0的碼字沒有前導(dǎo) “0”,也沒有后綴,碼號(code_num)1和2的碼字的 前綴和后綴都只有1位,碼號(code_num)36的碼字 的前綴和后綴各有2位,依此類推2022年7月3日第13章 MPEG-4 AVC/H.264視像59/7313.8 熵編碼熵編碼(續(xù)續(xù)2)2022年7月3日第13章 MPEG-4 AVC/H.264視像60/7313.8 熵編碼熵編碼(續(xù)續(xù)3)2022年7月3日第13章 MPEG-4 AVC/H.264視像61/7313.8 熵編碼熵編碼(續(xù)續(xù)4)MPEG-4 AVC/H.264使用的編碼使用的編

54、碼n0階葛洛姆碼,每個(gè)碼字的長度為(2M+1)位,M的長度和INFO的值可用下式分別計(jì)算,M=floor(log2(code_num+1), floor(x) 表示向下取整到表示向下取整到xINFO= code_num+1-2Mn解碼可按下面的步驟進(jìn)行u步驟步驟1:讀前導(dǎo)域M zerosu步驟步驟2:在信息域INFO中讀M位u步驟步驟3:code_num=2M+INFO-1,(對碼號0,INFO和M均為0)u例如,0001001,code_num = +1-1 = 8編碼參數(shù)的映射編碼參數(shù)的映射nue(v):無符號參數(shù)直接映射,code_num = v,用于宏塊類型、參考幀索引等2022年7月

55、3日第13章 MPEG-4 AVC/H.264視像62/7313.8 熵編碼熵編碼(續(xù)續(xù)5)nme(V):映射指數(shù)(Mapped Exponential),按標(biāo)準(zhǔn)規(guī)定的映射表將參數(shù)v映射到code_num,用于碼塊模式(coded_block_pattern)參數(shù)。碼塊模式表示宏塊中哪塊包含非零系數(shù)u表13-9列出了用于幀間預(yù)測的一小部分宏塊模式2|v| for v0 nse(v) :帶符號參數(shù)映射,用于移動(dòng)矢量差(MVD),量化器參數(shù)QP等。映射關(guān)系見表13-82022年7月3日第13章 MPEG-4 AVC/H.264視像63/7313.8 熵編碼熵編碼(續(xù)續(xù)6)2022年7月3日第13章

56、 MPEG-4 AVC/H.264視像64/7313.8 熵編碼熵編碼(續(xù)續(xù)7)n13.8.2 CAVLC編碼編碼利用經(jīng)量化和Z字形排列后的變換系數(shù)的如下特性n數(shù)據(jù)中包含很多0,可用行程長度編碼技術(shù)表達(dá)0字符串n在非零系數(shù)中出現(xiàn)最多的是+/-1序列,可用+/-1的拖曳1(“TrailingOnes”或“T1s”)數(shù)目表示n在相鄰塊中的非零系數(shù)的數(shù)目是相關(guān)的,可用查找表(look-up table)對非零系數(shù)的數(shù)目進(jìn)行編碼n在DC系數(shù)附近的非零系數(shù)值比較大,在高頻端附近的非零系數(shù)值比較小,可用查找表對非零系數(shù)值進(jìn)行編碼CAVLC編碼的核心技術(shù)是制定碼表n可變長度編碼(VLC)碼表是根據(jù)具體數(shù)據(jù)的

57、特點(diǎn)制定的n不僅碼表的數(shù)目多而且編碼也比較繁瑣CAVLC的計(jì)算方法還在不斷改進(jìn)n建議建議:對不需要具體設(shè)計(jì)編解碼器的讀者不一定要追究每個(gè)細(xì)節(jié),只要求了解編解碼的思想就可以,教材中的例子也可跳過 2022年7月3日第13章 MPEG-4 AVC/H.264視像65/7313.8 熵編碼熵編碼(續(xù)續(xù)8)n13.8.3 CABAC編碼編碼核心技術(shù)核心技術(shù)n確定前后文模型u在2005年發(fā)布的H.264標(biāo)準(zhǔn)中,為各種語句元素定義的前后文模型合計(jì)有459個(gè)之多nCABAC的計(jì)算方法還在不斷改進(jìn)BAC編碼編碼nbinary arithmetic coding的縮寫,二元算術(shù)編碼n只用“0”和“1”兩個(gè)符號的

58、算術(shù)編碼技術(shù) 注意:算術(shù)編碼(arithmetic coding)是對概率已知的數(shù)值 進(jìn)行編碼的技術(shù)n編碼效率都可獲得接近于熵的平均碼長n缺點(diǎn)是其他符號必須轉(zhuǎn)換成用0和1構(gòu)成的位串2022年7月3日第13章 MPEG-4 AVC/H.264視像66/7313.8 熵編碼熵編碼(續(xù)續(xù)9)n舉例:AABAA是由兩個(gè)符號構(gòu)成的消息u霍夫曼編碼技術(shù):不管它們出現(xiàn)的概率是多少,每個(gè)符號都需要1位,因此表示這個(gè)消息總共需要5位u理論值n由于A的概率為0.8,編碼A需要0.32位;B的概率為0.2,編碼B需要2.32位n表示這個(gè)消息的位數(shù):40.3212.323.6位u二元算術(shù)編碼技術(shù):AABAA可用0.5

59、12和0.594之間的一個(gè)數(shù)表示。二進(jìn)制數(shù)0.1001 (0.5625)就落在這個(gè)數(shù)值范圍里,而且只需4位u對比較長而且兩個(gè)符號的概率偏差比較大的消息,可以獲得更高的壓縮效率2022年7月3日第13章 MPEG-4 AVC/H.264視像67/7313.8 熵編碼熵編碼(續(xù)續(xù)10)CABAC編碼編碼n獲得較高編碼效率的技術(shù)u按照每個(gè)語句元素的內(nèi)容選擇概率u根據(jù)局部的統(tǒng)計(jì)以適應(yīng)概率估算u使用二元算術(shù)編碼 n編碼器框圖13見圖13-19。CABAC經(jīng)歷的階段u階段階段1:二元化:二元化(binarization)對非二元值語句元素或符號(如變換系數(shù),移動(dòng)矢量),首先將其轉(zhuǎn)換成稱為“位串(bin s

60、tring)”的二元序列,其中的bin是位(bit)的意思;對二元值語句元素,則直接將它送到二元算術(shù)編碼器進(jìn)行編碼,如圖13-19的下半部所示。二元化后的每一位都經(jīng)歷階段階段2 階段階段4的編碼階段 2022年7月3日第13章 MPEG-4 AVC/H.264視像68/7313.8 熵編碼熵編碼(續(xù)續(xù)11)u階段階段2:前后文模型選擇:前后文模型選擇(context model selection) 二元化元素的一位或多位的概率模型,是根據(jù)最近編碼的元素進(jìn)行統(tǒng)計(jì)得到的模型,模型存儲(chǔ)的是每位的位值(bin value)為“1”或“0”的概率。圖中的“前后文模型器”根據(jù)輸入的位來選擇前后文模型,然

溫馨提示

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

最新文檔

評論

0/150

提交評論