H.264(八)Slice Header

1 Slice的概念

H.264的碼流結構可以分爲兩層:

  • 網絡抽象層NAL:用於傳輸的二進制碼流包
  • 視頻編碼層VCL:保存原始視頻的圖像數據

H.264的條帶:Slice

  • 表示視頻圖像數據的NAL Unit包含的語法元素
  • IDR Slice NAL type: 5
  • non-IDR Slice NAL type: 1

定義Slice的意義:

  • 一個Slice:包含某一幀的全部或部分數據
  • 防止誤碼的擴散
  • 不同的slice之間,其解碼操作獨立;
  • 某一個slice的解碼過程所參考的數據(例如預測編碼)不能越過slice的邊界

2 Slice的類型

根據碼流中不同的數據類型,H.264標準中共定義了5總Slice類型:

  1. I slice: 幀內編碼的條帶;
  2. P slice: 單向幀間編碼的條帶;
  3. B slice: 雙向幀間編碼的條帶;
  4. SI slice: 切換I條帶,用於擴展檔次中碼流切換使用;
  5. SP slice: 切換P條帶,用於擴展檔次中碼流切換使用;

在I slice中只包含I宏塊,不能包含P或B宏塊;在P和B slice中,除了相應的P和B類型宏塊之外,還可以包含I類型宏塊。

3 Slice的組成

每一個Slice總體來看都由兩部分組成,一部分作爲Slice header,用於保存Slice的總體信息(如當前Slice的類型等),另一部分爲Slice body,通常是一組連續的宏塊結構(或者宏塊跳過信息),如下圖所示:

4. Slice Header結構

Slice header:中主要保存了當前slice的一些全局的信息,slice body中的宏塊在進行解碼時需依賴這些信息。其中比較常見的一些語法元素有:

first_mb_in_slice:片中的第一個宏塊的地址, 片通過這個句法元素來標定它自己的地址。要注意的是在幀場自適應模式下,宏塊都是成對出現,這時本句法元素表示的是第幾個宏塊對,對應的第一個宏塊的真實地址應該是
                                                2 * first_mb_in_slice

slice_type:指明片的類型,IDR 圖像時, slice_type 等於 2, 4, 7, 9。


pic_parameter_set_id:當前slice所依賴的pps的id;

colour_plane_id:當標識位separate_colour_plane_flag爲true時,colour_plane_id表示當前的顏色分量,0、1、2分別表示Y、U、V分量。

frame_num: 每個參考幀都有一個依次連續的 frame_num 作爲它們的標識,這指明瞭各圖像的解碼順序。但事實上我們在表 中可以看到, frame_num 的出現沒有 if 語句限定條件,這表明非參考幀的片頭也會出現 frame_num。只是當該個圖像是參考幀時,它所攜帶的這個句法元素在解碼時纔有意義。如表:

field_pic_flag:場編碼標識位。當該標識位爲1時表示當前slice按照場進行編碼;該標識位爲0時表示當前slice按照幀進行編碼。

bottom_field_flag:底場標識位。該標誌位爲1表示當前slice是某一幀的底場;爲0表示當前slice爲某一幀的頂場。

idr_pic_id:表示IDR幀的序號。某一個IDR幀所屬的所有slice,其idr_pic_id應保持一致。IDR 圖像的標識。不同的 IDR 圖像有不同的 idr_pic_id 值。值得注意的是, IDR 圖像有不等價於 I 圖像,只有在作爲 IDR 圖像的 I 幀纔有這個句法元素,在場模式下, IDR 幀的兩個場有相同的 idr_pic_id 值。 idr_pic_id 的取值範圍是 [0, 65535],和 frame_num 類似,當它的值超出這個範圍時,它會以循環的方式重新開始計數。

pic_order_cnt_lsb:表示當前幀序號的另一種計量方式。

delta_pic_order_cnt_bottom:表示頂場與底場POC差值的計算方法,不存在則默認爲0;

slice_qp_delta:指出在用於當前片的所有宏塊的量化參數的初始值。
SliceQPY = 26 + pic_init_qp_minus26 + slice_qp_delta
QPY 的範圍是 0 to 51。
我們前文已經提到, H.264 中量化參數是分圖像參數集、片頭、宏塊頭三層給出的,前兩層各自給出一個偏移值,這個句法元素就是片層的偏移。

整個slice header的結構如下表所示:

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章