本文轉載自http://blog.csdn.net/c250456789/article/details/61925946
編碼結構:包含編碼時候的分層處理架構和編碼完後碼流的語法架構
1、編碼時的分層處理架構
在對視頻序列進行壓縮的時候,會將其先分割成若干個小的圖像組(GOP,Group of Pictures),定義一個GOP編碼後生成的壓縮數據爲CVS(Coded Video Sequence)
視頻編解中,存在封閉式GOP和開放式GOP
每個圖像組包含若干張圖片,每張圖片可以劃分爲一個或多個片(Slice)
每個GOP分爲若干個片(Slice),片與片之間進行獨立編碼
每個片由一個或者多個片段(SS,Slice Segment)組成
一個SS在編碼時,被分割成大小相同的樹形結構單元(CTU,Coding Tree Unit),CTU是HEVC新引進的概念
每個CTU按照四叉樹分割方式分割成不同類型的編碼單元(CU,Coding Unit)
2、壓縮碼流結構
GOP層、Slice層中公用的大部分語法元素遊離出來組成序列參數集(SPS,Sequence Paramenter Set)和圖像參數集(PPS,Picture Paramenter Set)
SPS中包含了一個CVS中所有圖像共用的信息,包括解碼相關信息,如檔次級別,分辨率deng
PPS中包含了一幅圖像所有的公共參數,即一個圖像中的所有SS會使用同樣的PPS,包括初始圖像控制信息,如初始化量化參數(QP,Quantization Parament)、分塊信息等
此外爲了適應其他應用如可分級視頻編碼器,多視點視頻編碼器,HEVC語法架構中增加了視頻參數集(VPS,Video Parament Set),其中包含了多個子層共享的語法元素,其他不屬於SPS的特定信息等。
一個SS獲取參數的引用順序如下(實則上是一個樹狀的結構):SS <-- PPS <-- SPS <-- VPS