• hevc pps解析


    在编码视频流中,一个CVS包含多幅图像,每幅图像可能包括一个或者多个SS,每个SS头提供其所引用的PPS标示号,以此得到相应PPS中的共用信息,对于同一幅图像,其内所有的SS都用同一个PPS,需要注意的是,PPS中存在一些与SPS中相同的参数,PPS中的这些参数将会覆盖SPS中它们的取值,也就是说,SS使用PPS中的这些 参数进行解码。在解码开始时,所有的PPS全部是非活动状态的,而且在解码的任意时刻最多只能有一个PPS处于激活状态。当某一副图像在其解码过程中饮用了某个PPS时,这个PPS便处于激活状态,直到该图像解码结束。

        编码工具的可用性标志。

        Pps_pic_parameter_set_id 表示当前激活的PPS的ID号,取值范围是0,63 

        Pps_seq_parameter_set_id 表示当前激活的SPS的ID号,取值范围-, 15

        

        Dependent_slice_sgments_enable_flag 表示slice头中是否存在句法元素dependent_slice_segment_flag, 用于判断当前片段是否含有依赖片。

        Output_flag_present_flag ,表示slice头中是否存在句法元素,pic_output_flag, pic_output_flag 影响解码图像的输出移除过程。

        

        Num_extra_slice_header_bits. 值为0,表示slice头RBSP

    中没有额外的Slice头比特,其他保值连保留提供ITU-T以及ISO/IEC将来使用。

        Sign_datra_biding_enabled_flag 表示是否不允许使用符号位隐藏技术。

        Cabac_init_present_flag 表示片头中国呢是否存在句法元素cabac_init_flag ,cabac_init_flag 用于判断在CABAC中使用何种方法来确定上下文变量的初始值。

        Num_ref_idx_l0_default_active_minus1 该语法元素取值范围为[0, 14] 表示在num_ref_idx_active_override_flag 等于0时,P Slice和B slice 中num_ref_idx_l0_active_minus1的默认值,即引用的list0 中参考图像树木的最大默认值。

       Num_ref_idx_l1_default_avtice_minus1 该语法元素取值范是0,14 表示在num_ref_idx_active_override_flag为0时,num_ref_idx_l1_active_minus1 的默认值,即引用list1 中参考图像数目最大默认值。

       Init_qp_minus26:规定了每个slice 中亮度分量的量化参数初始值。

       Constrained_intra_pred_flag 表示帧内预测是否受限,即是否允许使用采用帧间预测模式的邻近快信息进行帧内预测。

       Transform_skip_enabled_flag 指定在残差编码句法中是否存在transform_skip_flag,transform_skip_flag 用于表示残差编码是否为transform_skip模式。

       Cu_qp_delta_enabled_flag, 其取值为1,表明当前PPS中存在diff_cu_qp_delta_depth, 并且在变换但愿句法中可能存在cu_qp_delta_abs ,其值等于0,则表示两个句法元素都不存在。

       Diff_cu_qp_delta_depth 表示在传送cu_qp_delta_abs和cu_qp_delta_sign_flag的编码单元中,亮度CTB尺寸与最小亮度CB尺寸的差值,用于每个CU中QP值的计算,其详细计算过程详见6.2 节,该语法元素取值范围0, log2_diff_max_min_luma_coding_block_size

      Pps_cb_qp_offset和pps_cr_qp_offset 表示色度分量Cb和Cr分别采用量化参数(Qp Cb和 Qp Cr) 相对与亮度分量的量化参数QPy的偏移量,其取值范围都是-12, 12。

      Pps_slice_chroma_qp_offsets_present_flag, 指明Slice头中是否存在slice_cb_qp_offset和slice_cr_qp_offset 这两个值用来计算量化参数QpCb和QPCr

        Weighted_pred_flag 表示P Slice是否使用加权预测

    Weighted_bipred_flag B slice是否使用加权预测。

      Transquant_bypass_enabled_flag 表示是否存在cu_transquant_bypass_flag, cu_transquant_bypass_flag用于判断是否为transquant_bypass模式,即是否跳过伸缩变换和环滤波过程。

       Tiles_enabled_flag 表示是否使用Tile模式。

       Entropy_coding_sync_enabled_flag 表示是否使用熵编码同步机制。

    Num_tile_columns_minus1 表示划分该图像的Tile的总列数

    Num_tile_rows_minus1 表示划分该图像的Tile的总行数。

    Uniform_spacing_flag 表示图像中Tile的列边界和行边界的分布是否一致。

    Column_width_minus1[i] 表示纵向第i个Tile的宽度

    row_height_)minus1[i] 表示横向第i个Tile的高度。

    Loop_filter_across_tiles_enabled_flag 表示是否允许环路滤波跨越tile边界。

    Pps_loop_filter_across_slices_enabled_flag 表示是否允许环路滤波跨越Slice的左边界和上边界

    Deblocking_filter_control_present_flag 表示pps 中是否存在去方块滤波的控制信息。

    Deblocking_filter_override_enabled_flag 表示Slice头中是否存在语法元素deblocking_filter_override_disable_flag 表示Slice中是否使用去方块滤波器。

    Pps_beta_offset_div2和pps_tc_offset_div2 其用于给出Slice所使用的默认的去方块滤波参数补偿值B和tC,该两个语法元素的取值范围都是 -6, 6

    Pps_scaling_list_data_present_flag 表示当前PPS中是否存在变换矩阵信息,若存在。这一信息会对PPS中的该信息进行覆盖。

    Lists_modification_present_flag 表示Slice中是否存在语法结构ref_pic_lists_modification()

    Log2_parallel_merge_level_minus2 用于给出变量Log2ParMrgLevel 的值。变量Log2ParMrgLevel 被用在merge模式下亮度分量MV的产生过程中,表示并行产生merge候选列表的能力。

     slice_segment_header_extension_present_flag表示SS头扩展句法元素是否存在,在该版本中,规定其取值为1,用作保留,供ITU-T以及ISO/IEC将来使用。

      Pps_extension_flag 表示是否存在语法与纳素pps_extension_data_flag 在该版本中,规定其取值为0,其取值为1用作保留 供ITU-T以及ISO/IEC将来使用。

    Pps_extension_data_flag 可以是任意值,该语法元素的取值不影响解码器。解码过程忽略该语法元素。

  • 相关阅读:
    武汉凯迪正大—接触电阻测试仪器
    [数据可视化] 词云(Word Cloud)
    Spring IoC源码:createBean(下)
    ADDS:检查 AD Domain 的健康和复制状态
    基于单片机的智能数字电子秤proteus仿真设计
    看P8大佬肝完《微服务架构设计模式》的一点总结
    2021 XV6 3:页表
    深入浅出详解Knative云函数框架!
    E. Speedrun
    JAVA计算机毕业设计演出购票系统Mybatis+系统+数据库+调试部署
  • 原文地址:https://blog.csdn.net/fantasy_ARM9/article/details/128143240