13-HEVC解碼中的SPS解析

一段HEVC碼流可能包含一個或者多個編碼視頻序列CVS,每個CVS由一個隨機接入點開始,即IDR/BLA/CRA。在H.264和HEVC中,序列參數集SPS包含該CVS中所有slice需要的信息。SPS的內容大致可以分爲幾個部分:1、自引ID;2、解碼相關信息,如檔次級別、分辨率、子層數等;3、某檔次中的功能開關標識及該功能的參數;4、對結構和變換系數編碼靈活性的限制信息;5、時域可分級信息;6、VUI。

以下是對每一個語法元素的討論解釋:
1、sps_video_parameter_set_id :指定了當前活動的VPS的ID號,當前例子的取值爲0,這也與前文的VPS解析的結果一直;
2、sps_max_sub_layers_minus1 :該值+1表示引用該SPS的CVS所包含的最大時域子層數,取值範圍0-6;本例取值爲0,即只有1個時域子層;
3、sps_temporal_id_nesting_flag :標識時域可分級中的幀間預測參考幀的限制信息;此處該值取0【好像與標準文檔裏寫的有點矛盾啊……】;
4、:【其實在這個參數之前碼流中還有很多數據沒有解釋清楚,留到以後看吧】本SPS的ID值,此處取0;
5、chroma_format_idc:色度採樣格式,此處取值爲1,代表採用4:2:0格式;
6、separate_colour_plane_flag :這個參數是4:4:4格式專用的,在本例中不存在;
7、pic_width_in_luma_samples和pic_height_in_luma_samples :圖像的分辨率信息,用指數哥倫布編碼,本例取176*144;
8、conformance_window_flag :指示一致窗口裁剪偏移參數conformance cropping window offset parameters的信息;此處取值爲1,表示後續幾位爲conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offset等參數;
9、bit_depth_luma_minus8 :指定了亮度矩陣的比特深度以及亮度量化參數範圍偏移量;此處取0,表示每個亮度像素用8爲表示,QpBdOffset參數爲0;
10、bit_depth_chroma_minus8 :與bit_depth_luma_minus8類似,只不過是針對色度的;
11、log2_max_pic_order_cnt_lsb_minus4 :負責計算變量MaxPicOrderCntLsb的值【這個值是幹嘛的……】;
12、sps_sub_layer_ordering_info_present_flag :時域子層順序標識開關,該值取1,表示後續幾位分別是sps_max_dec_pic_buffering、sps_num_reorder_pics、sps_max_latency_increase等參數;
13、log2_min_coding_block_size_minus3 :用於計算最小亮度CB的尺寸,此處取0;
14、log2_diff_max_min_coding_block_size :用於計算最大最小亮度CB尺寸的差值,此處取3;
15、log2_min_transform_block_size_minus2:用於計算最小TB尺寸,此處取0;
16、log2_diff_max_min_transform_block_size :用於計算最大最小TB尺寸的差值,此處取3;
17、max_transform_hierarchy_depth_inter :幀間模式CB中TB的最大層級深度,此處爲2;
18、max_transform_hierarchy_depth_intra ::幀內模式CB中TB的最大層級深度,此處爲2;
19、scaling_list_enabled_flag:標識是否在變換系數量化中使用量化列表,此處取0;
20、amp_enabled_flag :標識是否使用不對稱運動劃分,此處爲1;
21、sample_adaptive_offset_enabled_flag :標識是否使用SAO,此處爲1;
22、pcm_enabled_flag :標識是否使用PCM,此處爲0,即不實用PCM數據;
23、num_short_term_ref_pic_sets :指示SPS中short_term_ref_pic_set( )這個結構的數目,此處爲1;
24、long_term_ref_pics_present_flag :指示幀間預測中是否使用長期參考幀,此處爲1,即使用長期參考幀;
25、sps_temporal_mvp_enable_flag :標識CVS中非IDR幀的條帶頭中是否包含slice_temporal_mvp_enabled_flag標識,此處爲1,即含有;
26、sps_strong_intra_smoothing_enable_flag :標識平滑濾波過程中是否使用雙線性差值方法,此處爲1,即使用;
27、vui_parameters_present_flag :標識是否有vui_parameters()結構體,此處爲0,即沒有;
28、sps_extension_flag:sps擴展信息,取0,沒有擴展。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章