1. 程式人生 > >h.264的圖象引數集和序列引數集

h.264的圖象引數集和序列引數集

http://blog.sina.com.cn/s/blog_12eb15b660102vk23.html

h.264解碼中首先過濾碼流獲得引數集,引數集是H.264標準的一個新概念,是一種通過改進視訊碼流結構增強錯誤恢復能力的方法。眾所周知,一些關鍵資訊位元的丟失(如序列和影象的頭資訊)會造成解碼的嚴重負面效應,而H.264把這些關鍵資訊分離出來,憑藉引數集的設計,確保在易出錯的環境中能正確地傳輸。這種碼流結構的設計無疑增強了碼流傳輸的錯誤恢復能力。

H.264的引數集又分為序列引數集(Sequence parameter set)簡寫SPS,和影象引數集(Picture parameter set)簡寫PPS。其中,序列引數集包括一個影象序列的所有資訊,即兩個IDR影象間的所有影象資訊

影象引數集包括一個影象的所有分片的所有相關資訊,包括影象型別、序列號等,解碼時某些序列號的丟失可用來檢驗資訊包的丟失與否。多個不同的序列和影象引數集儲存在解碼器中,編碼器依據每個編碼分片的頭部的儲存位置來選擇適當的引數集,影象引數集本身也包括使用的序列引數集參考資訊。  

引數集具體實現的方法也是多樣化的:(1)通過帶外傳輸,這種方式要求引數集通過可靠的協議,在首個片編碼到達之前傳輸到解碼器;(2)通過帶內傳輸,這需要為引數集提供更高級別的保護,例如傳送複製包來保證至少有一個到達目標;(3)在編碼器和解碼器採用硬體處理引數集。

序列引數集以及影象引數集要在解碼前傳輸,在解碼的過程中被啟用。一旦被啟用,則上一個序列引數集或者圖象引數集就失效了。圖象引數集是被使用它的slice data或者使用它的A分割的Nalu啟用的。而序列引數集是被使用它的圖象引數集或者包括緩衝期訊息的SEI nalu所啟用。同一個IDR圖象的序列引數集有相同的seq_parameter_set_id,直到一個圖象的最後一個access unit或者包括緩衝期訊息的SEI Nalu,這時需要出現下一個圖象的序列引數集。下一個圖象的序列引數集被SEI nalu啟用。如果序列引數集和圖象引數集是通過其他傳輸管道傳送的,則要保證以上的傳輸順序。