HEVC 序列参数集 SPS说明
HEVC 序列参数集 SPS说明
在H.265/HEVC中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像,也可以是non-IDR图像。non-IDR图像可以是BLA (Broken Link Access)图像或 CRA (Clean Random Access)图像。对于一段视频码流,其可能包含一个或者多个编码视频序列CVS。序列参数集SPS的内容就是包含一个CVS中所有编码图像的共享编码参数,SPS通过被PPS引用而作用于编码图像,一个CVS中所有被使用的PPS必须引用同一个SPS。实际上,SPS为所有的SS提供了公共参数,如图像的格式、档次、级等。当一个SPS被引用时,该SPS处于激活状态,直到整个CVS结束。
下表给出了SPS中所含的语法元素,其内容大致分为以下几个部分。
1 图像格式的信息。包括采样格式、图像分辨率、量化深度、解码图像是否需要裁剪输出以及相关的裁剪参数。
2 编码参数信息。包括编码块、变换块的最小尺寸和最大尺寸,帧内、帧间预测编码时变换块的最大划分深度,对4:4:4采样格式的三个通道分量是否单独编码,是否需要帧内强滤波,帧间预测过程中的某些限制条件[如非对称模式(AMP)的使用、时域MV预测的使用]是否使用量化矩阵,是否需要样点自适应补偿(SAO),是否采用PCM模式及在该模式下的相关编码参数。
3 与参考图像相关的信息。包括短期参考图像的设置,长期参考图像的使用和数目,长期参考图像的POC和其能否作为当前图像的参考图像。
4 档次、层和级相关参数。
5 时域分级信息。包括时域子层的最大数目,控制传输POC进位的参数,时域子层顺序标识开关,与子层相关的参数(如解码图像缓冲区的最大需求)。
6 可视化可用性信息、(VideoUsabilityInformation,VUI),用于表征视频格式等额外信息。
7 其他信息。包括当前SPS引用的VPS编号、SPS标识号和SPS扩展信息。
sps_videoparametersetid:指定当前激活的VPS的ID号。
sps_max_sublayers_minus1:用于指定时域子层的最大数目。
sps_temporal_id_nesting_flag:当sps_max_sub_layers_minus1大于0时,其规定了是否额外地限制CVS的帧间预测,当vps_temporal_id_nesting_flag取值为1时,该语法元素取值为1。当sps_max_sub_layers_minusl为0时,该语法元素取值为1。
sps_seq_parameter_set_id:表示SPS的标识号,取值范围为[0,15]。
chroma_formati_dc:表示色度采样格式,取值范围为[0,3]。例如取值为1时,表示采用4:2:0格式。
separate_colour_plane_flag:该语法元素取值为1,则表示对4:4:4格式的三种通道分量采用单独编码;该语法元素取值为则表示彩色分量不进行独立编码。当该语法元素没有给出时,可推测出其值为0。
pic_width_in_luma_samples:表明解码图像中亮度样点的宽度。
pic_height_in_luma_samples:表明解码图像中亮度样点的高度。
conformance_window_flag:表示解码器是否要对解码后的图像裁剪输出。
conf_win_left_offset、conf_win_right_offset、confwin_top_offset和confwinbottomoffset:当conformance_window_flag值为1时,解码图片需要裁减输出,这四个参数用于指定左、右、上、下的裁剪宽度。
bit_depth_luma_minus8:表示亮度像素的比特深度。
bit_depth_chroma_minus8:表示色度像素的比特深度。
log2_maxpic_order_cnt_Isb_minus4:该语法元素的取值范围为[0,12],其用于计算变量MaxPicOrderCntLsb的值。MaxPicOrderCntLsb用于控制进位,比特流中只传一个低位的POC,不用传高位POC。利用前参考图像的高、低位POC和MaxPicOrderCntLsb得到当前图像的高位POC,再结合当前图像的低位POC,可以得到当前图像实际的POC。
sps_sub_layer_ordering_info_present_flag:时域子层顺序标识开关。该值等于1,表示sps_max_decpic_buffering_minus1[i]、sps_max_numreorder_pics[i]、sps_max_latency_increase_plus1[i]适用于sps_max_sublayersminus1+1子层;该值等于0,则表示这些参数适用于所有子层。sps_max_dec_pic_buffering_minus1[i]:当HighestTid取值为i时,该语法元素规定了解码图像缓冲区的最大需求。
sps_max_num_reorder_pics[i]:当HighestTid取值为i时,表示解码顺序在某一图像之后,而显示顺序在该图像之前的图像的最大数量。其取值范围为[0,sps_max_dec_pic_buffering_minus1[i]]。
sps_max_latency_increase_plus1[i]:该值不为0时,其用于计算SpsMaxLatencyPictures[i]的值。
log2_minluma_coding_blocksize_minus3:指定亮度编码块的最小尺寸。log2_diff_max_min_luma_coding_block_size:指定亮度编码块最大尺寸和最小尺寸的差值。
log2_min_transform_block_size_minus2:指定亮度变换块的最小尺寸。
log2_diff_max_min_transform_block_size:指定亮度变换块最大尺寸和最小尺寸的差值。
max_transform_hierarchy_depth_inter:表示帧间预测时变换块的最大划分深度。取值范围为[0,CtbLog2SizeY - Log2MinTrafoSize]。
max_transform_hierarchy_depth_intra:表示帧内预测时变换块的最大划分深度。取值范围为[0,CtbLog2SizeY - Log2MinTrafoSize]。
scaling_list_enabled_flag:表示对变换系数在量化过程中是否使用量化矩阵。sps_scaling_list_data_present_flag:表示是否存在量化矩阵数据。
amp_enabled_flag:表示是否使用非对称划分模式,非对称模式即PartMode等于PART_2NxnU,PART_2NxnD,PART_nLx2N或PART_nRx2N。
sample_adaptive_offset_enabled_flag:表示去方块滤波过程后重构图像是否使用样点自适应补偿(SAO)。
pcm_enabled_flag:表示是否使用PCM模式。
pcm_sample_bit_depth_luma_minus1:表示亮度分量中PCM样点的比特深度。pcm_sample_bit_depth_chroma_minusl:表示色度分量中PCM样点的比特深度。
log2_min_pcm_luma_coding_block_size_minus3:表示在PCM模式下,编码块的最小尺寸。
log2_diff_max_min_pcm_luma_coding_block_size:表示在PCM模式下,编码块尺寸最大值和最小值的差值。
pcm_loop_filter_disabled_flag:表示在PCM模式下,编码单元的重建像素是否使用环路滤波。
num_short_term_ref_pic_set:指明在SPS中short_term_ref_pic_set()的数目。其取值范围为[0,64]。
long_term_ref_pics_present_flag:表示帧间预测时是否使用长期参考图像。
num_long_term_refpics_sps:指定SPS中长期参考图像的数目,其取值范围是[0,32]。
lt_ref_pic_poc_Isb_sps[i]:表示POC与SPS中第i个长期参考图像的MaxPicOrderCntLsb取模之后的值。
used_by_curr_pic_It_sps_flag[i]:表示第i个长期参考图像能否作为当前图像的参考图像。
sps_temporal_mvp_enabled_flag:指定非IDR图像的片头中是否存在句法元素slice_temporal_mvp_enabled_flag(表示帧间预测过程中能否使用时域MV预测)。
strong_intra_smoothing_enabled_flag:表示滤波过程是否使用双向线性插值。
vui_parameters_present_flag:表示是否含有语法结构体vuiparame-ters()。
sps_extension_flag:其值为0,则表示语法元素sps_extension_data_flag不存在;其值为1,则语法元素sps_extension_data_flag被保留以供将来使用。
sps_extension_data_flag:可以为任意值,在现有版本中解码器忽略该语法元素。
摘自《新一代高效视频编码 H.265/HEVC:原理、标准与实现》 万帅 杨付正 编著
HEVC 序列参数集 SPS说明相关推荐
- H.264 序列参数集(SPS)
基本结构(SPS) H.264 中的 SPS(Sequence Parameter Set)是一种参数集,用于描述视频序列的特征和配置信息.SPS 是在 H.264 视频流中的一个元数据单元,它包含了 ...
- hevc sps 序列参数集
Hevc图像参数集 h265中,一个CVS由一个随机接入点开始,第一幅图像可以是IDR图像, 也可以是non IDR图像. SPS包含了一个CVS(Codec Video Sequence)中所有 ...
- 九、序列参数集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中的公用信息.对于同一幅图像,其内所 ...
- 【H.264/AVC视频编解码技术】第四章【SPS序列参数集】
1.H264码流中重要的组成部分,保存针对整个视频序列的参数,丢失SPS的码流通常无法正常解码. 2.SPS信息的保存位置: 封装格式: FLV======会保存在 Tag中的Vide ...
- 十、图像参数集Picture Paramater Set(PPS)解析
GitHub代码地址:点击这里 除了序列参数集SPS之外,H.264中另一重要的参数集合为图像参数集Picture Paramater Set(PPS).通常情况下,PPS类似于SPS,在H.264的 ...
- H264—帧,片,参数集,NALU等概念
h264是一个编码压缩的格式,可以使用x264库进行编码,源码开放,可下载编译使用. --------------------------------------------------------- ...
- HEVC解码器HM源码阅读(四)解析参数集
解析视频参数集VPS 如果NALU的装的是VPS,那么需要从NALU中把VPS解析出来.VPS包含了全局使用的一些信息,包含Profile.Level.Tier.时域层信息.TimingInfo.HR ...
- PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介
参数集,即是powershell的语法, 可使用其中的一个参数集,各参数集的参数不能混用,若各参数集有公有参数,运行时只指定一个公有参数时,默认运行第一个含有该参数的参数集.如Get-EventLog ...
最新文章
- leetcode-155 最小栈
- Swift3.0语言教程组合字符串
- 扣押游戏android,恐怖探索游戏「扣押(DISTRAINT)」
- QT5.14搭建MSVC(VS2017) x86 以及64位编译器开发环境搭建(GDB配置)
- 正则表达式提取字符串内所有的img标签下的src路径
- java发送http请求的四种方式
- 安装了silverlight还是提示_win10系统安装.netframework3.5方法
- django 1.8 官方文档翻译: 3-3-2 File对象
- 03-postgresql报错ERROR: operator does not exist: numeric = character varyin
- 【Hadoop】同步集群时间
- UVA10625 GNU = GNU'sNotUnix【字符统计】
- 判断一个单链表是否有环及环的链接点
- 【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测
- SpringBoot启动类自动包扫描 三种方式
- ubuntu升级22.04无法启动--ACPI BIOS Error
- C#进阶(一)——TXT文件处理:以导线网近似平差为例
- Nodejs中,使用nock做http请求的mock
- oracle12c彻底关闭omf,11g OMF管理时 db_unique_name的一个大小写疑问
- 微服务(一)--Common
- TabLayout自定义选择背景滑块
热门文章
- Jumpserver安装和测试连接
- “鸿蒙之父”王成录重申:鸿蒙系统不是安卓套壳;苹果多款产品电池修理费将涨价;Debian移除Python 2|极客头条
- 零磁屏蔽磁场发生系统/地磁动态模拟屏蔽系统简介
- 树的直径,树的重心,树的分冶
- SSL双向认证的证书详解
- NILM-组合优化算法 combinationrial optimization(附代码)
- 公安部:“净网2018”侦破网络犯罪案件57519起
- Ubuntu中使用apt-get时无法搜索软件的解决方法
- [047量化交易]python获取股票 量比 换手率 市盈率-动态 市净率 总市值 流通市值
- JavaScript:JavaScript这些小技巧你必须要知道