# 編碼結構之編碼完后碼流的語法架構
? ? ? 本博文主要介紹HEVC編碼結構,從編碼完后碼流的語法架構這一方面進行描述。
? ? ? 在碼流結構方面,HEVC采用了類似于H.264的分層結構,將屬于GOP層、Slice層中共用的大部分語法游離出來,組成序列參數集SPS(Sequence Parameter Set)和圖像參數集PPS(Picture Parameter Set)。此外,為了兼容標準在其他應用上的擴展,例如可分級視頻編碼器、多視點視頻編碼器,HEVC的語法架構中增加了視頻參數集VPS(Video Parameter Set)。
? ? ? 參數集是一個獨立的數據單元,它包含視頻的不同層級編碼單元的共享信息,只有當參數集直接或間接被片段SS(Slice Segment)引用時才有效。SS是視頻編碼數據的基本單位,對于一個SS,通過引用它所使用的PPS,該PPS又引用其對應的SPS,該SPS又引用它對應的VPS,最終得到SS的公用信息,HEVC的壓縮碼流結構如下圖所示。

### 1、視頻參數集VPS(Video Parameter Set)
? ? ? VPS的內容大致包括多個子層共享的語法元素,其他不屬于SPS的特定信息等。
? ? ? 在H.264的碼流結構中,沒有類似VPS這樣的參數集去描述時域各層之間的依賴關系。它的擴展部分可伸縮視頻編碼中,SEI信息提供了相關各層信息,以用于不同業務和不同終端的訪問。但是在某些場合,例如廣播和多播,由于SEI中的部分信息會重復出現在SPS中,這樣會造成參數重傳而引起延遲等問題,因此在HEVC中引入了VPS。
? ? ? VPS主要用于傳輸視頻分級信息,有利于兼容標準在可分級視頻編碼或多視點視頻編碼的擴展。一個給定的視頻序列,無論它每一層的SPS是否相同,都參考相同的VPS,VPS包含的信息有:
(1)、多個子層和操作點共享的語法元素;
(2)、會話所需的有關操作點的關鍵信息,如檔次、級別;
(3)、其他不屬于SPS的操作點特性信息,例如與多層或子層相關的虛擬參考解碼器HRD(Hypothetical Reference Decoder)參數。
### 2、序列參數集SPS(Sequence Parameter Set)
? ? ? SPS的內容大致包括解碼相關信息,如檔次級別、分辨率、某檔次中編碼工具開關標識和涉及的參數、時域可分級信息等。SPS還包含了一個CVS(Coded Video Sequence)中所有圖像共用的信息,其中CVS被定義為一個GOP編碼后所生產的壓縮數據。
### 3、圖像參數集PPS(Picture Parameter Set)
? ? ? PPS的內容大致包括初始圖像控制信息,如量化參數QP、分塊信息等。即PPS包含了一幅圖像所用的公共參數,也就是說,一幅圖像中的所有SS引用同一個PPS。
### 4、擴展知識點:檔次(Profile)、層(Tier)和級別(Level)
? ? ? 檔次主要規定編碼器可采用哪些編碼工具或算法。
? ? ? 級別則是指根據解碼端的負載和存儲空間情況對關鍵參數(最大采樣率、最大圖像尺寸、分辨率、最小壓縮比、最大比特率、解碼緩沖區DPB大小等)加以限制。
? ? ? 考慮到應用可根據最大的碼率和CPB大小來區分,因此有些級別定義了兩個層Tier:主層和高層,主層用于大多數應用,而高層用于那些最嚴苛的應用。
- 前言
- HEVC算法和體系結構:資源獲取和章節安排
- HEVC算法和體系結構:HEVC概括性介紹
- HEVC算法和體系結構:環路濾波技術
- HEVC算法和體系結構:編碼框架
- HEVC算法和體系結構:編碼結構之編碼時的分層處理架構
- HEVC算法和體系結構:編碼結構之編碼完后碼流的語法架構
- HEVC算法和體系結構:預測編碼之幀內預測
- HEVC算法和體系結構:預測編碼之幀間預測
- x265探索與研究(一):x265下載安裝與配置
- x265探索與研究(二):x265使用基本方法
- x265探索與研究(三):如何播放*.265格式的視頻或解碼視頻流
- x265探索與研究(四):如何編碼視頻?
- x265探索與研究(五):如何用VS調試x265?