在H.264的協議文檔中,PPS的結構定義在7.3.2.2節中,以下表所示: 算法
其中部分語法元素含義以下:ide
表示當前PPS的id。某個PPS在碼流中會被相應的slice引用,slice引用PPS的方式就是在Slice header中保存PPS的id值。該值的取值範圍爲[0,255]。編碼
表示當前PPS所引用的激活的SPS的id。經過這種方式,PPS中也能夠取到對應SPS中的參數。該值的取值範圍爲[0,31]。spa
熵編碼模式標識,該標識位表示碼流中熵編碼/解碼選擇的算法。對於部分語法元素,在不一樣的編碼配置下,選擇的熵編碼方式不一樣。例如在一個宏塊語法元素中,宏塊類型mb_type的語法元素描述符爲「ue(v) | ae(v)」,在baseline profile等設置下采用指數哥倫布編碼,在main profile等設置下采用CABAC編碼。視頻
標識位entropy_coding_mode_flag的做用就是控制這種算法選擇。當該值爲0時,選擇左邊的算法,一般爲指數哥倫布編碼或者CAVLC;當該值爲1時,選擇右邊的算法,一般爲CABAC。ip
標識位,用於表示另外條帶頭中的兩個語法元素delta_pic_order_cnt_bottom和delta_pic_order_cn是否存在的標識。這兩個語法元素表示了某一幀的底場的POC的計算方法。文檔
表示某一幀中slice group的個數。當該值爲0時,一幀中全部的slice都屬於一個slice group。slice group是一幀中宏塊的組合方式,定義在協議文檔的3.141部分。(主要用在FMO靈活宏塊模式編碼時纔會用到)it
表示當Slice Header中的num_ref_idx_active_override_flag標識位爲0時,P/SP/B slice的語法元素num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1的默認值。配置
標識位,表示在P/SP slice中是否開啓加權預測。coding
表示在B Slice中加權預測的方法,取值範圍爲[0,2]。0表示默認加權預測,1表示顯式加權預測,2表示隱式加權預測(都應用於B slices)。
表示初始的量化參數。實際的量化參數由該參數、slice header中的slice_qp_delta/slice_qs_delta計算獲得。
用於計算色度份量的量化參數,取值範圍爲[-12,12]。
標識位,用於表示Slice header中是否存在用於去塊濾波器控制的信息。當該標誌位爲1時,slice header中包含去塊濾波相應的信息;當該標識位爲0時,slice header中沒有相應的信息。
若該標識爲1,表示$I$宏塊在進行幀內預測時只能使用來自$I$和$SI$類型宏塊的信息;若該標識位0,表示I宏塊可使用來自Inter類型宏塊的信息。
標識位,用於表示Slice header中是否存在redundant_pic_cnt語法元素。當該標誌位爲1時,slice header中包含redundant_pic_cnt;當該標識位爲0時,slice header中沒有相應的信息。