一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

H.264數(shù)據(jù)元素:序列、圖像、片、宏塊、塊

 waston 2016-05-12
  1. 圖像picture幀frame場field
  2. 片slice
    1. 幀內(nèi)編碼幀I 幀關(guān)鍵幀
    2. 預(yù)測幀P幀前向預(yù)測編碼幀
    3. B幀雙向預(yù)測編碼幀
  3. 宏塊Macro Block

    在H.264中,句法元素被組織成五個層次:序列(sequence)、圖像(frame/field-picture)、片(slice)、宏塊(macroblock)、子塊(sub-block)。

 

 

圖像(picture)、幀(frame)、場(field)

    視頻壓縮中,一幅圖像(picture)可以分成一幀(frame)或兩場(field)。一般來講,picture可以分為若干個宏塊(macroblock),每個宏塊可以采用不同的預(yù)測編碼類型,整幅圖像各宏塊的類型可以不同。例如I picture只包含intra MB, P picture包含intra MB或predicted MB, B picture包含intra, predicted, 或bi-predicted MB。

I圖像:I宏塊

P圖像:I宏塊、P宏塊

B圖像:I宏塊、P宏塊、B宏塊

片(slice)

    在H.264中,一幅圖像可以編碼為一個或多個片(slice),每個slice由宏塊組成,一個宏塊由一個16×16亮度像素和附加的一個8×8 Cb和一個8×8 Cr彩色像素塊組成。宏塊是H.264編碼的基本單位,可以采用不同的編碼類型。slice共有5種類型。slice的目的是為了限制誤碼的擴散和傳輸,使編碼片相互間保持獨立。一個slice編碼之后被打包進一個NALU,NALU除了容納slice還可以容納其它數(shù)據(jù),如序列參數(shù)集SPS、PPS、SEI等。

類型

描述

支持的框架

I frames/slices (Intra)

I宏塊

全部

P frames/slices (Predicted)

I宏塊、P宏塊

全部

B frames/slices (Bi-Predicted)

I宏塊、B宏塊

擴展和主

SI-frames/slices (switching I)

SI宏塊(一種特殊的幀內(nèi)編碼宏塊),用于不同編碼流之間的切換

擴展

SP-frames/slices (switching P)

I宏塊、P宏塊,用于不同編碼流之間的切換

擴展

  • 幀內(nèi)編碼幀/I 幀/關(guān)鍵幀

Intra codedframes/ Intra coded slices/ I-frames/ Key frames

    在I幀中,所有宏塊都采用幀內(nèi)預(yù)測的方式,因此解碼時僅用I幀的數(shù)據(jù)就可重構(gòu)完整圖像,不需要參考其他畫面而生成。I幀可以用來快進快退,作為隨機訪問的參考點。I幀用來作為P幀和B幀的參考幀,其質(zhì)量直接影響到其后各幀的質(zhì)量。I幀描述了圖像背景和運動主體的詳情,可以幫助場景切換時重置畫面質(zhì)量。當(dāng)場景進行切換時,可以切換I幀從而更加高效地壓縮P幀和B幀(當(dāng)然這要求編碼器要有場景切換檢測功能)。由于I幀僅進行幀內(nèi)預(yù)測,沒有進行運動估計等幀間預(yù)測,因此I幀的碼率比較高。

    在H.264中規(guī)定了兩種類型的I幀:普通I幀(normal Iframes)和IDR幀(InstantaneousDecoding Refresh, 即使解碼刷新)。IDR幀實質(zhì)也是I幀,使用幀內(nèi)預(yù)測。IDR幀的作用是立即刷新,會導(dǎo)致DPB(Decoded Picture Buffer參考幀列表)清空,而I幀不會。所以IDR幀承擔(dān)了隨機訪問功能,一個新的IDR幀開始,可以重新算一個新的序列開始編碼,播放器永遠可以從一個IDR幀播放,因為在它之后沒有任何幀引用之前的幀。如果一個視頻中沒有IDR幀,這個視頻是不能隨機訪問的。所有位于IDR幀后的B幀和P幀都不能參考IDR幀以前的幀,而普通I幀后的B幀和P幀仍然可以參考I幀之前的其他幀。IDR幀阻斷了誤差的積累,而I幀并沒有阻斷誤差的積累。

    I 幀編碼的基本流程:

1、進行幀內(nèi)預(yù)測,決定所采用的幀內(nèi)預(yù)測模式。

2、像素值減去預(yù)測值,得到殘差。

3、對殘差進行變換和量化。

4、變長編碼和算術(shù)編碼。

5、重構(gòu)圖像并濾波,得到的圖像作為其它幀的參考幀。

  • 預(yù)測幀/P幀/前向預(yù)測編碼幀

    P幀屬于前向預(yù)測的幀間編碼,僅參考前面的最靠近它的I幀或者P幀進行幀間預(yù)測。編碼端在參考幀中找到P幀某點的預(yù)測值以及運動矢量,相減獲取預(yù)測差值,將預(yù)測差值和運動矢量進行編碼后傳輸。解碼端根據(jù)運動矢量從I幀中找出P幀某點的預(yù)測值并與預(yù)測差值相加得到P幀某點樣值,從而可得到完整的P幀。在以前的標(biāo)準(zhǔn)中(如MPEG-2),P幀解碼時只使用前一幀作為參考,在H.264中,解碼時可以使用多幀已解碼的圖像作為參考。P幀可以是其后面P幀的參考幀,也可以是其前后的B幀的參考幀。由于P幀是參考幀,它可能造成解碼錯誤的擴散。由于是差值傳送,P幀的壓縮比較高。在H.264基本配置中僅僅存在I幀和P幀,不存在B幀。

  • B幀/雙向預(yù)測編碼幀

    B幀以前面的I或P幀和后面的P幀為參考幀進行預(yù)測,編碼找出B幀某點的預(yù)測值和兩個運動矢量,并取預(yù)測差值和運動矢量傳送。解碼端根據(jù)運動矢量在兩個參考幀中找出預(yù)測值并與差值求和,得到B幀某點樣值,從而可得到完整的B幀。在以前的標(biāo)準(zhǔn)中(如MPEG-2),B幀不作為參考幀,可以使用較低的碼率、降低圖像質(zhì)量而不會影響后續(xù)圖像,解碼時使用兩幀圖像作為參考。在H.264中,B幀可以作為參考幀,解碼時可以使用一幅、兩幅或多幅圖像作為參考,圖像幀的傳輸順序和顯示順序是不同的。B幀壓縮比最高,因為它只反映兩參考幀間運動主體的變化情況,預(yù)測比較準(zhǔn)確。

    P 幀和 B 幀編碼的基本流程:

1、進行運動估計,計算采用幀間編碼模式的率失真函數(shù)(節(jié))值。P幀只參考前面的幀,B幀可參考后面的幀。

2、進行幀內(nèi)預(yù)測,選取率失真函數(shù)值最小的幀內(nèi)模式與幀間模式比較,確定采用哪種編碼模式。

3、計算實際值和預(yù)測值的差值。

4、對殘差進行變換和量化。

5、熵編碼,如果是幀間編碼模式,編碼運動矢量。

宏塊(Macro Block)

    宏塊是編碼處理的基本單元,通常宏塊大小為16x16個像素。一個編碼圖像首先要劃分成多個塊(4x4 像素)才能進行處理,顯然宏塊應(yīng)該由整數(shù)個塊組成。宏塊分為I、P、B宏塊:I宏塊(幀內(nèi)預(yù)測宏塊)只能利用當(dāng)前片中已解碼的像素作為參考進行幀內(nèi)預(yù)測;P宏塊(幀間預(yù)測宏塊)可以利用前面已解碼的圖像作為參考圖像進行幀內(nèi)預(yù)測;B宏塊(幀間雙向預(yù)測宏塊)則是利用前后向的參考圖像進行幀內(nèi)預(yù)測。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产福利一区二区三区四区| 欧美一区二区三区不卡高清视| 日本婷婷色大香蕉视频在线观看| 久久99一本色道亚洲精品| 福利专区 久久精品午夜| 国产一区二区三区成人精品| 日本女人亚洲国产性高潮视频| 日韩精品一区二区不卡| 爽到高潮嗷嗷叫之在现观看| 视频一区二区 国产精品| 黄色片一区二区三区高清| 国产精品亚洲欧美一区麻豆 | 五月情婷婷综合激情综合狠狠| 日本在线高清精品人妻| 欧美精品亚洲精品一区| 一区二区三区人妻在线| 黄色激情视频中文字幕| 在线视频三区日本精品| 国产精品国三级国产专不卡| 国产成人在线一区二区三区| 99国产成人免费一区二区| 日本熟女中文字幕一区| 久久精品蜜桃一区二区av| 色老汉在线视频免费亚欧| 亚洲男人的天堂色偷偷| 国产欧美日韩在线精品一二区| 国产又粗又猛又爽又黄| 精品一区二区三区人妻视频| 午夜精品久久久免费视频| 国产不卡免费高清视频| 欧美日韩亚洲国产综合网| 亚洲a级一区二区不卡| 国产精品一区欧美二区| 成年午夜在线免费视频| 亚洲深夜精品福利一区| 人人妻在人人看人人澡| 午夜日韩在线观看视频| 99视频精品免费视频| 亚洲清纯一区二区三区| 欧美日韩一区二区综合| 国产欧美日韩精品自拍|