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说明相关推荐

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

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

  2. hevc sps 序列参数集

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

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

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

  4. HEVC 图像参数集 PPS说明

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

  5. 【H.264/AVC视频编解码技术】第四章【SPS序列参数集】

    1.H264码流中重要的组成部分,保存针对整个视频序列的参数,丢失SPS的码流通常无法正常解码. 2.SPS信息的保存位置: 封装格式:         FLV======会保存在 Tag中的Vide ...

  6. 十、图像参数集Picture Paramater Set(PPS)解析

    GitHub代码地址:点击这里 除了序列参数集SPS之外,H.264中另一重要的参数集合为图像参数集Picture Paramater Set(PPS).通常情况下,PPS类似于SPS,在H.264的 ...

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

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

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

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

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

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

最新文章

  1. leetcode-155 最小栈
  2. Swift3.0语言教程组合字符串
  3. 扣押游戏android,恐怖探索游戏「扣押(DISTRAINT)」
  4. QT5.14搭建MSVC(VS2017) x86 以及64位编译器开发环境搭建(GDB配置)
  5. 正则表达式提取字符串内所有的img标签下的src路径
  6. java发送http请求的四种方式
  7. 安装了silverlight还是提示_win10系统安装.netframework3.5方法
  8. django 1.8 官方文档翻译: 3-3-2 File对象
  9. 03-postgresql报错ERROR: operator does not exist: numeric = character varyin
  10. 【Hadoop】同步集群时间
  11. UVA10625 GNU = GNU'sNotUnix【字符统计】
  12. 判断一个单链表是否有环及环的链接点
  13. 【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测
  14. SpringBoot启动类自动包扫描 三种方式
  15. ubuntu升级22.04无法启动--ACPI BIOS Error
  16. C#进阶(一)——TXT文件处理:以导线网近似平差为例
  17. Nodejs中,使用nock做http请求的mock
  18. oracle12c彻底关闭omf,11g OMF管理时 db_unique_name的一个大小写疑问
  19. 微服务(一)--Common
  20. TabLayout自定义选择背景滑块

热门文章

  1. Jumpserver安装和测试连接
  2. “鸿蒙之父”王成录重申:鸿蒙系统不是安卓套壳;苹果多款产品电池修理费将涨价;Debian移除Python 2|极客头条
  3. 零磁屏蔽磁场发生系统/地磁动态模拟屏蔽系统简介
  4. 树的直径,树的重心,树的分冶
  5. SSL双向认证的证书详解
  6. NILM-组合优化算法 combinationrial optimization(附代码)
  7. 公安部:“净网2018”侦破网络犯罪案件57519起
  8. Ubuntu中使用apt-get时无法搜索软件的解决方法
  9. [047量化交易]python获取股票 量比 换手率 市盈率-动态 市净率 总市值 流通市值
  10. JavaScript:JavaScript这些小技巧你必须要知道