天天看點

NAL單元的各種類型介紹

NAL單元的各種類型如下表所示:

NAL單元的各種類型介紹

NAL分為VCL的NAL單元和非VCL的NAL單元。

一個以IDR Access Unit開始的Coded Sequence,由一個或多個IDR Slices組成,每一個都是Intra Coded Slice。然後緊接着就是非IDR Slice或分割Slice。非VCL的NAL單元包括PSP、SEI等,這些參數對解碼和顯示視訊都是很有用的。

1、A、B和C類資料分割

組成Slice的Coded Data被存放在三種資料分割中,A、B和C類資料分割。每種分割包含Coded Slice的一個子集。每種分割被單獨的存放在一個NAL單元中,是以可以被單獨傳輸。

A類資料分割:包含Slice的頭和每個宏塊的頭;

B類資料分割:包含Intra和SI Slice宏塊的被編碼的Residual資料;

C類資料分割:包含P、B和SP Slice宏塊的被編碼的Residual資料。

如果A類資料分割丢失,很難甚至不可能重構其所在的Slice。三類資料分割在對錯誤的容忍度方面相比,A最不能容忍錯誤的出現,而C的容錯能力最強。在一個容易出錯的環境,提高性能的政策包括:對這三種資料分割應用非均勻錯誤保護。例如,對A類資料分割使用向前糾錯,通過不同的通道傳輸不同類型的資料分割,或者給A類資料分割選擇一個最可靠的通道。

2、SEI

SEI(Supplemental Enhancement Information),補充增強資訊,這部分參數可以作為H.264的比特流資料而被傳輸,每一個SEI資訊被封裝成一個NAL單元。SEI對于解碼器來說可能是有用的,但是對于基本的解碼過程來說,并不是必須的。

3、PPS和SPS

Parameter Sets是攜帶解碼參數的NAL Units。發送這些參數采用獨立于Coded Slices的方式能夠提高效率,因為共用的參數僅僅需要傳輸一次。Parameter Sets對于正确的解碼是非常重要的。在一個有損耗的傳輸場景,在傳輸過程中比特流或包可能丢失或損壞。在這種網絡環境中,Parameter Sets可以通過高品質的服務來發送,比如向前糾錯機制或優先級機制。

Parameter Sets與其之外的句法元素之間的關系如下圖所示:

NAL單元的各種類型介紹

SPS(Sequence Parameter Set)包含一些通用的參數,比如Profile和Level,比如視訊幀的尺寸,參考幀的最大數量等,這些參數對整個Video Sequence或者Programme都是通用的。PPS(Picture Parameter Set)包含一些通用的參數,比如熵編碼類型,有效的參考圖像的數目和初始化參數等,這些參數可以應用到一個Video Sequence或者一部分編碼幀。

一個Parameter Set在開始的時候是不活躍的,直到被激活。一個PPS被預先傳到解碼器,當在一個Slice Header中涉及到的時候,就會被激活,而且直到一個不同的PPS被激活。對于SPS,當一個PPS涉及到它的時候,就會被激活。對于一個以IDR Access Unit開始的Coded Video Sequence,在整個過程中,一個SPS會一直處于活躍狀态。是以,一個SPS可以有效的被IDR Slice激活。

4、序列結束符和流結束符

序列結束符表明下一個Access Unit是IDR,比如一個新的Coded Video Sequence的開始。

流結束符表明比特流的結束。

繼續閱讀