GitHub代码地址:点击这里

除了序列参数集SPS之外,H.264中另一重要的参数集合为图像参数集Picture Paramater Set(PPS)。通常情况下,PPS类似于SPS,在H.264的裸码流中单独保存在一个NAL Unit中,只是PPS NAL Unit的nal_unit_type值为8;而在封装格式中,PPS通常与SPS一起,保存在视频文件的文件头中。

1. 图像参数集PPS的定义

在H.264的协议文档中,PPS的结构定义在7.3.2.2节中,具体的结构如下表所示:

 
 

2. PPS中的语法元素

(1). pic_parameter_set_id

表示当前PPS的id。某个PPS在码流中会被相应的slice引用,slice引用PPS的方式就是在Slice header中保存PPS的id值。该值的取值范围为[0,255]。

(2). seq_parameter_set_id

表示当前PPS所引用的激活的SPS的id。通过这种方式,PPS中也可以取到对应SPS中的参数。该值的取值范围为[0,31]。

(3). entropy_coding_mode_flag

熵编码模式标识,该标识位表示码流中熵编码/解码选择的算法。对于部分语法元素,在不同的编码配置下,选择的熵编码方式不同。例如在一个宏块语法元素中,宏块类型mb_type的语法元素描述符为“ue(v) | ae(v)”,在baseline profile等设置下采用指数哥伦布编码,在main profile等设置下采用CABAC编码。

标识位entropy_coding_mode_flag的作用就是控制这种算法选择。当该值为0时,选择左边的算法,通常为指数哥伦布编码或者CAVLC;当该值为1时,选择右边的算法,通常为CABAC。

(4). bottom_field_pic_order_in_frame_present_flag

标识位,用于表示另外条带头中的两个语法元素delta_pic_order_cnt_bottom和delta_pic_order_cn是否存在的标识。这两个语法元素表示了某一帧的底场的POC的计算方法。

(5). num_slice_groups_minus1

表示某一帧中slice group的个数。当该值为0时,一帧中所有的slice都属于一个slice group。slice group是一帧中宏块的组合方式,定义在协议文档的3.141部分。

(6). num_ref_idx_l0_default_active_minus1、num_ref_idx_l0_default_active_minus1

表示当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的默认值。

(7). weighted_pred_flag

标识位,表示在P/SP slice中是否开启加权预测。

(8). weighted_bipred_idc

表示在B Slice中加权预测的方法,取值范围为[0,2]。0表示默认加权预测,1表示显式加权预测,2表示隐式加权预测。

(9). pic_init_qp_minus26和pic_init_qs_minus26

表示初始的量化参数。实际的量化参数由该参数、slice header中的slice_qp_delta/slice_qs_delta计算得到。

(10). chroma_qp_index_offset

用于计算色度分量的量化参数,取值范围为[-12,12]。

(11). deblocking_filter_control_present_flag

标识位,用于表示Slice header中是否存在用于去块滤波器控制的信息。当该标志位为1时,slice header中包含去块滤波相应的信息;当该标识位为0时,slice header中没有相应的信息。

(12). constrained_intra_pred_flag

若该标识为1,表示I宏块在进行帧内预测时只能使用来自I和SI类型宏块的信息;若该标识位0,表示I宏块可以使用来自Inter类型宏块的信息。

(13). redundant_pic_cnt_present_flag

标识位,用于表示Slice header中是否存在redundant_pic_cnt语法元素。当该标志位为1时,slice header中包含redundant_pic_cnt;当该标识位为0时,slice header中没有相应的信息。

十、图像参数集Picture Paramater Set(PPS)解析相关推荐

  1. 九、序列参数集Sequence Paramater Set(SPS)解析

    GitHub代码地址:点击这里 在H.264标准协议中规定了多种不同的NAL Unit类型,其中类型7表示该NAL Unit内保存的数据为Sequence Paramater Set.在H.264的各 ...

  2. HEVC 图像参数集 PPS说明

    HEVC 图像参数集 PPS说明 在编码视频流中,一个CVS包含多幅图像,每幅图像可能包括一个或多个SS,每个SS头提供了其所引用的PPS标识号,以此得到相应PPS中的公用信息.对于同一幅图像,其内所 ...

  3. H264—帧,片,参数集,NALU等概念

    h264是一个编码压缩的格式,可以使用x264库进行编码,源码开放,可下载编译使用. --------------------------------------------------------- ...

  4. hevc sps 序列参数集

    Hevc图像参数集   h265中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像, 也可以是non IDR图像. SPS包含了一个CVS(Codec Video Sequence)中所有 ...

  5. H.264 序列参数集(SPS)

    基本结构(SPS) H.264 中的 SPS(Sequence Parameter Set)是一种参数集,用于描述视频序列的特征和配置信息.SPS 是在 H.264 视频流中的一个元数据单元,它包含了 ...

  6. HEVC 序列参数集 SPS说明

    HEVC 序列参数集 SPS说明 在H.265/HEVC中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像,也可以是non-IDR图像.non-IDR图像可以是BLA (Broken Li ...

  7. HEVC解码器HM源码阅读(四)解析参数集

    解析视频参数集VPS 如果NALU的装的是VPS,那么需要从NALU中把VPS解析出来.VPS包含了全局使用的一些信息,包含Profile.Level.Tier.时域层信息.TimingInfo.HR ...

  8. PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介

    参数集,即是powershell的语法, 可使用其中的一个参数集,各参数集的参数不能混用,若各参数集有公有参数,运行时只指定一个公有参数时,默认运行第一个含有该参数的参数集.如Get-EventLog ...

  9. OpenCV+MFC学习笔记(二):OpenCV二值化处理图像并在Picture Control中并自适应显示

    在前面我们已经完成通过OpenCV读取图片在Picture Control中并自适应显示.下面我们很自然的需要对读取的图片进行处理,处理完之后很自然的想到要看看效果.所以今天的笔记是通过OpenCV灰 ...

最新文章

  1. 数据结构和算法分析 引论+算法分析
  2. getElementById取得文本框中的值
  3. Netty的引用计数对象
  4. 我的第一次Pascal程序
  5. 预算分配Budget Allocation:Morphl-AI的营销科学解决方案(一)
  6. paip.提升用户体验---c++ QPushButton按钮控件透明以及不规则按钮以及 鼠标越过动态设置
  7. 【Thinking In Java】笔记之一 一切都是对象
  8. lenovo L480 进入bios_利用微星主板自带的 M-Flash BIOS工具升级BIOS
  9. android 开源 视频播放器,安卓视频播放器——ijkPlayer(Bilibili开源)
  10. 大数据案例分析|谁在愚人节最容易被骗?
  11. 2020年副业收入!这是我看到的最好的一篇介绍网络兼职的文章
  12. R语言 -- car::scatterplotmatrix散点图矩阵 参数详解
  13. 百万级PHP网站架构-Poppen.de
  14. plc实验报告流程图_plc实训总结范文
  15. 注销Apple ID账号
  16. mysql 全文检索_MySQL全文检索
  17. Gartner调查研究:中国的数字化发展较之世界水平如何?高性能计算能否占据主导地位?
  18. 《有限与无限的游戏》第四章 发生在世界中的有限游戏:经典摘抄
  19. 分享88个企业政府PHP源码,总有一款适合你
  20. 南昌工程学院计算机考试题库和答案,南昌工程学院线性代数习题册参考答案

热门文章

  1. 赠书:Java面试一战到底!
  2. 记一次订单号的重复事故
  3. 华为:0元 + 3个月 = WEB全栈前端工程师
  4. Spring Boot构建多租户SaaS平台核心技术指南
  5. Spring Security 和 Apache Shiro
  6. 1024 大促书单丨神券在手,快乐我有
  7. 将矩阵转为一行_矩阵与矩阵乘积简介
  8. 【redis】哨兵模式
  9. 动态滤波器卷积新高度!DDF resnet50精度提高1.9
  10. tenserflow.js 环境搭建