H264系列十一 宏塊 幀內(nèi)壓縮 幀間壓縮

參考
知乎 視頻拍攝時幀內(nèi)壓縮和幀間壓縮的區(qū)別
知乎 李超 H264基本原理
【H.264/AVC視頻編解碼技術(shù)詳解】十六:幀內(nèi)預(yù)測編碼的基本原理

一、宏塊(Macroblock)。

1.宏塊
宏塊就是悯嗓,把視頻的每一幀(相當于一張圖片)劃分成16*16的小塊寓调,一塊一塊的依次壓縮哆料,而不是對整張圖片一起壓縮袖裕。這樣降低了計算的復(fù)雜度躺率,比較節(jié)省時間龙宏。一個宏塊又可以分成16*16,16*8,8*16,8*8,8*4,4*8,4*4,等大小不等的塊棵逊。具體怎么劃分塊大小,要看畫面有多復(fù)雜银酗。一般來說辆影,運動多徒像,細節(jié)多的部分,劃分成小塊來編碼蛙讥;大片的平坦的無變化的锯蛀,劃分成16*16的大塊。下圖就是塊劃分情況键菱,圖選的不好谬墙,選成殘差幀了⊙﹏⊙,分塊狀況還是大致能看出來的经备。

舉例:圖 6.21 顯示了一個殘差幀(沒有進行運動補償)拭抬。H.264 編碼器為幀的每個部分選擇了最佳分割尺寸,使傳輸信息量最小侵蒙,并將選擇的分割加到殘差幀上造虎。在幀變化小的區(qū)域(殘差顯示灰色),選擇 16×16 分割纷闺;多運動區(qū)域(殘差顯示黑色或白色)算凿,選擇更有效的小的尺寸。

2.子塊
H264對比較平坦的圖像使用 16X16 大小的宏塊犁功。但為了更高的壓縮率氓轰,還可以在 16X16 的宏塊上更劃分出更小的子塊。子塊的大小可以是 8X16? 16X8? 8X8? 4X8? 8X4? 4X4非常的靈活浸卦。相比于早期標準只能按照宏塊或者半個宏塊進行運動補償署鸡,H.264所采用的這種更加細分的宏塊分割方法提供了更高的預(yù)測精度和編碼效率。


image.png

上幅圖中限嫌,紅框內(nèi)的 16X16 宏塊中大部分是藍色背景靴庆,而三只鷹的部分圖像被劃在了該宏塊內(nèi),為了更好的處理三只鷹的部分圖像怒医,H264就在 16X16 的宏塊內(nèi)又劃分出了多個子塊炉抒。


image.png

這樣再經(jīng)過幀內(nèi)壓縮,可以得到更高效的數(shù)據(jù)稚叹。下圖是分別使用mpeg-2和H264對上面宏塊進行壓縮后的結(jié)果焰薄。其中左半部分為MPEG-2子塊劃分后壓縮的結(jié)果,右半部分為H264的子塊劃壓縮后的結(jié)果扒袖,可以看出H264的劃分方法更具優(yōu)勢塞茅。
image.png
二、幀內(nèi)(Intra)壓縮僚稿。

1.幀內(nèi)預(yù)測
幀內(nèi)壓縮類似于圖片壓縮,跟這一幀的前面(或后面)一幀(或幾幀)無關(guān)蟀伸,由當前幀中蚀同,已編碼的部分來推測當前待編碼的這一部分數(shù)據(jù)是什么缅刽。
先看這個圖片


image.png

假設(shè)現(xiàn)在是按順序來編碼,第一行已經(jīng)完全編完蠢络,⑤也編完了衰猛,正要壓縮⑥這一塊∩部祝可以看出啡省,它周圍的①②③④⑤,跟⑥簡直一模一樣啊髓霞,如果能用①②③④⑤來推測⑥是什么圖像卦睹,顯然比只壓縮⑥要節(jié)省空間。這就是幀內(nèi)預(yù)測方库。

一般來說结序,視頻的第一幀是幀內(nèi)預(yù)測幀(廢話,它想?yún)⒖计渌麕臄?shù)據(jù)也沒有的參考)纵潦,場景切換時是幀內(nèi)預(yù)測幀(比如視頻里插了一段廣告徐鹤,這個廣告跟視頻里其他的內(nèi)容都無關(guān),用它來預(yù)測還不如我自己編自己省空間)邀层。幀內(nèi)預(yù)測在H.264編碼標準里有以下幾種預(yù)測方法返敬,具體請查看H.264白皮書。


image.png

一幅圖像被劃分好宏塊后寥院,對每個宏塊可以進行 9 種模式的預(yù)測劲赠。找出與原圖最接近的一種預(yù)測模式。然后只磷,將原始圖像與幀內(nèi)預(yù)測后的圖像相減得殘差值经磅。再將我們之前得到的預(yù)測模式信息一起保存起來,這樣我們就可以在解碼時恢復(fù)原圖了钮追。

除了幀內(nèi)預(yù)測編碼之外预厌,H.264還定義了一種特殊的編碼模式,即為I_PCM模式元媚。I_PCM模式不對像素塊進行預(yù)測-變換-量化操作轧叽,而是直接傳輸圖像的像素值。在有些時候(如傳輸圖像的不規(guī)則紋理信息刊棕,或低量化參數(shù)條件下)炭晒,該模式比預(yù)測編碼模式效率更高

另外參考【H.264/AVC視頻編解碼技術(shù)詳解】十七:幀內(nèi)預(yù)測編碼的預(yù)測實現(xiàn)方法

2.DCT,CABAC
經(jīng)過幀內(nèi)與幀間的壓縮后甥角,雖然數(shù)據(jù)有大幅減少网严,但還有優(yōu)化的空間∴臀蓿可以將殘差數(shù)據(jù)做整數(shù)離散余弦變換(DCT)震束,去掉數(shù)據(jù)的相關(guān)性怜庸,進一步壓縮數(shù)據(jù)。


將殘差數(shù)據(jù)宏塊進行 DCT 轉(zhuǎn)換

數(shù)據(jù)被進一步壓縮

做完 DCT 后垢村,還不夠割疾,還要進行 CABAC 進行無損壓縮。


CACBA 的無損壓縮方案要比 VLC 高效
三嘉栓、幀間(Inter)壓縮宏榕。

幀間壓縮是,由這一幀的前(或后)一幀(或幾幀)來推測當前待壓縮的這一部分數(shù)據(jù)是什么侵佃。

下圖是一個視頻序列中連續(xù)的兩幀麻昼。(我真沒偷懶,這真的是倆不同的幀趣钱,不信你看書的位置和人的表情都變了)


image.png

image.png

如果攝像頭沒有晃來晃去涌献,那么,在連續(xù)的視頻圖像里面首有,前后兩幀的差別真的很小燕垃,比一張圖片中連續(xù)兩個宏塊的差別還要小,這時用幀間壓縮的效果會比幀內(nèi)壓縮的效果好井联。

Block Matching 就是塊匹配卜壕,就是找找看前面已經(jīng)編碼的幾幀里面,和我當前這個塊最類似的一個塊烙常,這樣我就不用編碼當前塊的內(nèi)容了轴捎,只需要編碼當前塊和我找到的那個塊的差(稱為殘差)就可以了。找最像的塊的過程叫運動搜索(Motion Search)蚕脏,又叫運動估計(Motion Estimation)侦副。用殘差和原來的塊就能推算出當前塊是什么樣兒的,這個過程叫運動補償(Motion Compensation)驼鞭。有全搜索秦驯,菱形搜索法,三步搜索算法挣棕,新三步搜索算法译隘,梯度下降搜索算法,運動矢量場自適應(yīng)搜索算法等各種算法洛心,這也一直是研究和發(fā)論文的熱點固耘。

四、幀分組 I幀词身,P幀厅目,B幀和GOP

對于視頻數(shù)據(jù)主要有兩類數(shù)據(jù)冗余,一類是時間上的數(shù)據(jù)冗余,另一類是空間上的數(shù)據(jù)冗余损敷。其中時間上的數(shù)據(jù)冗余是最大的户辫。下面我們就先來說說視頻數(shù)據(jù)時間上的冗余問題。

為什么說時間上的冗余是最大的呢嗤锉?假設(shè)攝像頭每秒抓取30幀,這30幀的數(shù)據(jù)大部分情況下都是相關(guān)聯(lián)的墓塌。也有可能不止30幀的的數(shù)據(jù)瘟忱,可能幾十幀,上百幀的數(shù)據(jù)都是關(guān)聯(lián)特別密切的苫幢。對于這些關(guān)聯(lián)特別密切的幀访诱,其實我們只需要保存一幀的數(shù)據(jù),其它幀都可以通過這一幀再按某種規(guī)則預(yù)測出來韩肝,所以說視頻數(shù)據(jù)在時間上的冗余是最多的触菜。

為了達到相關(guān)幀通過預(yù)測的方法來壓縮數(shù)據(jù),就需要將視頻幀進行分組哀峻。那么如何判定某些幀關(guān)系密切涡相,可以劃為一組呢?我們來看一下例子剩蟀,下面是捕獲的一組運動的臺球的視頻幀催蝗,臺球從右上角滾到了左下角。


image.png

H264編碼器會按順序育特,每次取出兩幅相鄰的幀進行宏塊比較丙号,計算兩幀的相似度。如下圖:


image.png

通過宏塊掃描與宏塊搜索可以發(fā)現(xiàn)這兩個幀的關(guān)聯(lián)度是非常高的缰冤。進而發(fā)現(xiàn)這一組幀的關(guān)聯(lián)度都是非常高的犬缨。因此,上面這幾幀就可以劃分為一組棉浸。其算法是:在相鄰幾幅圖像畫面中怀薛,一般有差別的像素只有10%以內(nèi)的點,亮度差值變化不超過2%,而色度差值的變化只有1%以內(nèi)涮拗,我們認為這樣的圖可以分到一組乾戏。在這樣一組幀中,經(jīng)過編碼后三热,我們只保留第一帖的完整數(shù)據(jù)鼓择,其它幀都通過參考上一幀計算出來。我們稱第一幀為IDR/I幀就漾,其它幀我們稱為P/B幀呐能,這樣編碼后的數(shù)據(jù)幀組我們稱為GOP。

  • I幀:關(guān)鍵幀,采用幀內(nèi)壓縮技術(shù)摆出。
  • P幀:向前參考幀朗徊,在壓縮時,只參考前面已經(jīng)處理的幀偎漫。采用幀音壓縮技術(shù)爷恳。
  • B幀:雙向參考幀,在壓縮時象踊,它即參考前而的幀温亲,又參考它后面的幀。采用幀間壓縮技術(shù)杯矩。
  • GOP:兩個I幀之間是一個圖像序列栈虚,在一個圖像序列中只有一個I幀。如下圖所示:


    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末史隆,一起剝皮案震驚了整個濱河市魂务,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泌射,老刑警劉巖粘姜,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異熔酷,居然都是意外死亡相艇,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門纯陨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坛芽,“玉大人,你說我怎么就攤上這事翼抠×” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵阴颖,是天一觀的道長活喊。 經(jīng)常有香客問我,道長量愧,這世上最難降的妖魔是什么钾菊? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮偎肃,結(jié)果婚禮上煞烫,老公的妹妹穿的比我還像新娘。我一直安慰自己累颂,他們只是感情好滞详,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布凛俱。 她就那樣靜靜地躺著,像睡著了一般料饥。 火紅的嫁衣襯著肌膚如雪蒲犬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天岸啡,我揣著相機與錄音原叮,去河邊找鬼。 笑死巡蘸,一個胖子當著我的面吹牛篇裁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赡若,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼团甲!你這毒婦竟也來了逾冬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤躺苦,失蹤者是張志新(化名)和其女友劉穎身腻,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匹厘,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡嘀趟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了愈诚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片她按。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖炕柔,靈堂內(nèi)的尸體忽然破棺而出酌泰,到底是詐尸還是另有隱情,我是刑警寧澤匕累,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布陵刹,位于F島的核電站,受9級特大地震影響欢嘿,放射性物質(zhì)發(fā)生泄漏衰琐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一炼蹦、第九天 我趴在偏房一處隱蔽的房頂上張望羡宙。 院中可真熱鬧,春花似錦掐隐、人聲如沸辛辨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斗搞。三九已至指攒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間僻焚,已是汗流浹背允悦。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留虑啤,地道東北人隙弛。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像狞山,于是被迫代替她去往敵國和親全闷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 在保證視頻圖像質(zhì)量的前提下萍启,HEVC通過增加一定的計算復(fù)雜度总珠,可以實現(xiàn)碼流在H.264/AVC的基礎(chǔ)上降低50%。...
    加劉景長閱讀 7,870評論 0 6
  • 在目前勘纯,無論在各個行只要和視頻相關(guān)的局服,我們都可以看見H264相關(guān)的身影,H264作為目前使用最廣泛的視頻壓縮標準驳遵,...
    DramaScript閱讀 21,591評論 7 56
  • 數(shù)據(jù)挖掘堤结,已成為各大公司的必備職位唆迁,針對顧客行為和購買歷史等進行數(shù)據(jù)整合、分析挖掘竞穷,達到精準定位營銷的目的媒惕。但數(shù)據(jù)...
    大圣眾包閱讀 4,285評論 1 8
  • 七天的循環(huán)月弛,是一幅畫肴盏。 周一,是畫布上的第一筆帽衙。 笑著下筆菜皂,周末賞畫時,會有驚喜厉萝。 快恍飘,為你畫布上的第一筆榨崩,選顏色去!
    GoodNineNine閱讀 134評論 0 1
  • 早起送虹虹 到北站的時候剛好十二點 感覺這次見 大家又好像成熟了一些 都在往好的方向進步啦 回來到了就開車 好像感...
    珍惜眼前始為真閱讀 188評論 0 0