H264數據結構

NAL  nal_unit_type中的web

1(非IDR圖像的編碼條帶)、網絡

2(編碼條帶數據分割塊A)、編碼

3(編碼條帶數據分割塊B)、spa

4(編碼條帶數據分割塊C)、orm

5(IDR圖像的編碼條帶)種類型
6(SEI)、視頻

7(SPS)、it

8(PPS)import

 

Slice種的三種編碼模式:I_slice、P_slice、B_slice

frame的3種類型:I frame、P frame、 B frame

一幀的數據能夠分爲多個slice(片)一個幀是能夠分割成多個Slice來編碼的,而一個Slice編碼以後被打包進一個NAL單元,不過NAL單元除了容納Slice編碼的碼流外,還能夠容納其餘數據,好比序列參數集SPS:
打包

       每一個slice中的數據,在幀內預測只用到本身slice的數據, 與其餘slice數據沒有依賴關係。 
       NAL 是用來將編碼的數據進行打包的。 好比,每個slice 數據能夠放在NAL 包中。
       I 幀是本身獨立編碼,不依賴於其餘frame 數據。
       P frame 依賴 I frame 數據。 
       B frame 依賴 I frame, P frame 或其餘 B frame 數據。
webkit

一、NAL、Slice與frame意思及相互關係 
NAL指網絡提取層,裏面放一些與網絡相關的信息
Slice是片的意思,264中把圖像分紅一幀(frame)或兩場(field),而幀又能夠分紅一個或幾個片(Slilce);片由宏塊(MB)組成。宏塊是編碼處理的基本單元。

二、VCL視頻編碼層不作解釋。

三、NAL nal_unit_type爲序列參數集(SPS)、圖像參數集(PPS)、加強信息(SEI)。表示後面的數據信息爲序列參數集(SPS)、圖像參數集(PPS)、加強信息(SEI)。

四、H.264的參數集又分爲序列參數集(Sequence parameter set)和圖像參數集(Pictureparameterset)。

        序列參數集:包括一個圖像序列的全部信息,即兩個IDR圖像間的全部圖像信息。

        圖像參數集:包括一個圖像的全部分片的全部相關信息,包括圖像類型、序列號等,解碼時某些序列號的丟 失可用來檢驗信息包的丟失與否。多個不一樣的序列和圖像參數集存儲在解碼器中,編碼器依據每一個編碼分片的頭部的存儲位置來選擇適當的參數集,圖像參數集自己也包括使用的序列參數集參考信息。  

 

總結:

NAL單元中首先會有一個H.264 NAL type,根據這個能夠判斷是啥信息。若是是
H264NT_SLICE_DPA,H264NT_SLICE_DPB,H264NT_SLICE_DPC,H264NT_SLICE_IDR視頻數據相關的,裏面還會有Slicehead頭信息,根據這個頭信息,能夠判斷屬於I-Slice(P-Slice或B-Slice),以後對於每一個宏塊,都會有MB head信息,根據宏塊頭信息能夠判斷塊模式。

相關文章
相關標籤/搜索