十、图像参数集Picture Paramater Set(PPS)解析
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)解析相关推荐
- 九、序列参数集Sequence Paramater Set(SPS)解析
GitHub代码地址:点击这里 在H.264标准协议中规定了多种不同的NAL Unit类型,其中类型7表示该NAL Unit内保存的数据为Sequence Paramater Set.在H.264的各 ...
- HEVC 图像参数集 PPS说明
HEVC 图像参数集 PPS说明 在编码视频流中,一个CVS包含多幅图像,每幅图像可能包括一个或多个SS,每个SS头提供了其所引用的PPS标识号,以此得到相应PPS中的公用信息.对于同一幅图像,其内所 ...
- H264—帧,片,参数集,NALU等概念
h264是一个编码压缩的格式,可以使用x264库进行编码,源码开放,可下载编译使用. --------------------------------------------------------- ...
- hevc sps 序列参数集
Hevc图像参数集 h265中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像, 也可以是non IDR图像. SPS包含了一个CVS(Codec Video Sequence)中所有 ...
- H.264 序列参数集(SPS)
基本结构(SPS) H.264 中的 SPS(Sequence Parameter Set)是一种参数集,用于描述视频序列的特征和配置信息.SPS 是在 H.264 视频流中的一个元数据单元,它包含了 ...
- HEVC 序列参数集 SPS说明
HEVC 序列参数集 SPS说明 在H.265/HEVC中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像,也可以是non-IDR图像.non-IDR图像可以是BLA (Broken Li ...
- HEVC解码器HM源码阅读(四)解析参数集
解析视频参数集VPS 如果NALU的装的是VPS,那么需要从NALU中把VPS解析出来.VPS包含了全局使用的一些信息,包含Profile.Level.Tier.时域层信息.TimingInfo.HR ...
- PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介
参数集,即是powershell的语法, 可使用其中的一个参数集,各参数集的参数不能混用,若各参数集有公有参数,运行时只指定一个公有参数时,默认运行第一个含有该参数的参数集.如Get-EventLog ...
- OpenCV+MFC学习笔记(二):OpenCV二值化处理图像并在Picture Control中并自适应显示
在前面我们已经完成通过OpenCV读取图片在Picture Control中并自适应显示.下面我们很自然的需要对读取的图片进行处理,处理完之后很自然的想到要看看效果.所以今天的笔记是通过OpenCV灰 ...
最新文章
- 数据结构和算法分析 引论+算法分析
- getElementById取得文本框中的值
- Netty的引用计数对象
- 我的第一次Pascal程序
- 预算分配Budget Allocation:Morphl-AI的营销科学解决方案(一)
- paip.提升用户体验---c++ QPushButton按钮控件透明以及不规则按钮以及 鼠标越过动态设置
- 【Thinking In Java】笔记之一 一切都是对象
- lenovo L480 进入bios_利用微星主板自带的 M-Flash BIOS工具升级BIOS
- android 开源 视频播放器,安卓视频播放器——ijkPlayer(Bilibili开源)
- 大数据案例分析|谁在愚人节最容易被骗?
- 2020年副业收入!这是我看到的最好的一篇介绍网络兼职的文章
- R语言 -- car::scatterplotmatrix散点图矩阵 参数详解
- 百万级PHP网站架构-Poppen.de
- plc实验报告流程图_plc实训总结范文
- 注销Apple ID账号
- mysql 全文检索_MySQL全文检索
- Gartner调查研究:中国的数字化发展较之世界水平如何?高性能计算能否占据主导地位?
- 《有限与无限的游戏》第四章 发生在世界中的有限游戏:经典摘抄
- 分享88个企业政府PHP源码,总有一款适合你
- 南昌工程学院计算机考试题库和答案,南昌工程学院线性代数习题册参考答案