逐步解码刷新和参考图片列表的信令通知
文献发布时间:2023-06-19 18:32:25
相关申请的交叉引用
根据适用的专利法和/或《巴黎公约》规定,本申请旨在及时要求于2020年5月21日提交的美国临时专利申请第63/028,150号的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容通过引用作为本申请公开内容的一部分。
技术领域
本专利文件涉及图像和视频编解码和解码。
背景技术
数字视频在互联网和其他数字通信网络上占据了最大带宽使用。随着能够接收和显示视频的连接的用户设备的数量增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文件公开了可由视频编码器和解码器用于执行视频编码或解码的技术。
在一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在包括了包括条带的视频图片的视频和视频的比特流之间执行转换。该规则指定,由于条件被满足,指定与参考图片列表(RPL)索引相关联的参考图片列表语法结构中的条目数量的语法元素的默认值等于0,其中在以下情况下满足条件:(1)视频图片是瞬时解码刷新图片,(2)第一语法标志指定RPL语法元素不存在于条带的条带标头中,以及(3)第二语法标志指定RPL信息不存在于视频图片的图片标头中。
在另一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定,基于用于转换的层间预测的使用来确定第一语法标志的值,第一语法标志指定参考图片列表(RPL)语法元素是否存在于视频图片的条带的条带标头中。
在另一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定与以下相关的约束:(1)视频图片是否是瞬时解码刷新图片,(2)参考图片列表(RPL)语法元素是否存在于视频图片的条带的条带标头中,(3)参考该视频图片的图片参数集的每个图片是否具有一个以上的网络抽象层单元,该一个以上的网络抽象层单元的单元类型的值不相同,以及(4)RPL信息是否存在于视频图片的图片标头中。
在另一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定与以下相关的约束:(1)层是否使用层间预测以及(2)参考图片列表语法结构中的条目是否是层间参考图片(ILRP)条目。
在另一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定在序列参数集中的第一列表的参考图片列表语法结构的数量为1并且基于第一列表的参考图片列表句法结构导出视频图片的第一参考图片列表的情况下,推断指定参考图片列表语法结构的索引的变量。
在另一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在视频的当前图片和视频的比特流之间执行转换。该规则指定,响应于图片由当前图片的条带的参考图片列表中的层间参考图片(ILRP)条目所参考允许该图片具有逐步解码刷新(GDR)类型,并且指定在输出顺序中图片的恢复点的语法元素为0。
在另一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在包括当前图片的视频和视频的比特流之间执行转换。该规则指定,响应于当前图片是经编解码层视频序列的起始图片,当前图片的参考图片列表中的每个层间参考图片(ILRP)条目被标记为用于长期参考。
在另一个示例方面中,公开了一种处理视频数据的方法。该方法包括根据规则在视频和视频的比特流之间执行转换。该规则指定,在指定层间参考图片(ILRP)是否用于经编解码层视频序列中的任何经编解码图片的帧间预测的第二语法标志之前,在比特流中存在指定参考图片列表语法元素是否存在于瞬时解码刷新(IDR)图片的条带标头中的第一语法标志。
在另一示例方面,公开了一种视频处理方法。该方法包括在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该经编解码表示符合格式规则,其中该格式规则指定指示层间参考图片是否被用于转换的第一语法元素的第一值控制指示参考图片列表是否被包括在经编解码表示中的第二语法元素的第二值或存在。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该经编解码表示符合格式规则,其中该格式规则指定在第一语法元素指示参考图片列表的语法元素不被包括在经编解码表示中并且在经编解码表示中允许混合网络抽象层单元并且参考图片列表语法元素不被包括在图片标头中的情况下,在经编解码表示中将禁用瞬时解码器参考图片类型网络抽象层单元的使用。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该经编解码表示符合格式规则,其中该格式规则指定以下约束:(a)指示视频参数集中给定层id的独立层激活标志的第一语法元素的值控制指示层间参考图片上的激活的第二语法元素的值,或者(b)指示序列参数集中的参考图片列表的数量的第一语法元素的值控制指示用于当前视频单元的转换的参考图片表的第二语法元素的值。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该转换根据规则进行,该规则指定在当前图片是经编解码层视频序列的起始图片的情况下用于当前图片的参考列表中的层间图片被认为是长期参考图片。
在另一个示例方面,公开了另一种视频处理方法。该方法包括在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该经编解码表示符合格式规则,其指定在根据第一字段被有条件地信令通知的信令通知层间图片的存在的第二字段之前信令通知指示参考图片列表信息的存在的第一字段。
在又另一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
在又另一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实现上述方法的处理器。
在又另一个示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了本文描述的方法中的一个。
这些和其他特征贯穿整个本文件进行了描述。
附图说明
图1是示出根据本公开的一些实施例的视频编解码系统的框图。
图2是用于视频处理的示例硬件平台的框图。
图3是视频处理的示例方法的流程图。
图4是示出示例视频编解码系统的框图。
图5是示出根据本公开的一些实施例的编码器的框图。
图6是示出根据本公开的一些实施例的解码器的框图。
图7是根据本技术的一个或多个实施例的用于视频处理的方法的流程图表示。
图8是根据本技术的一个或多个实施例的用于视频处理的另一方法的流程图表示。
图9是根据本技术的一个或多个实施例的用于视频处理的另一方法的流程图表示。
图10是根据本技术的一个或多个实施例的用于视频处理的另一方法的流程图表示。
图11是根据本技术的一个或多个实施例的用于视频处理的另一方法的流程图表示。
图12是根据本技术的一个或多个实施例的用于视频处理的另一方法的流程图表示。
图13是根据本技术的一个或多个实施例的用于视频处理的另一方法的流程图表示。
图14是根据本技术的一个或多个实施例的用于视频处理的又另一方法的流程图表示。
具体实施方式
在本文件中使用章节标题是为了便于理解,并且不限制每个章节中公开的技术和实施例仅适用于该章节。此外,在一些描述中使用H.266术语仅仅是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
1.概述
本专利文件涉及视频编解码技术。具体地,其是关于参考图片列表设计的一些改进。这些思想可以单独或以各种组合被应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(VVC)。
2.缩写
APS 自适应参数集
AU 接入单元
AUD 接入单元分隔符
AVC 高级视频编解码
CLVS 经编解码层视频序列
CLVSS CLVS起始
CPB 经编解码图片缓冲器
CRA 干净随机接入
CTU 编解码树单元
CVS 编解码视频序列
DCI 解码能力信息
DPB 解码图片缓冲器
EOB 比特流结束
EOS 序列结束
GDR 逐步解码刷新
HEVC 高效视频编解码
HRD 假设参考解码器
IDR 瞬时解码刷新
ILP 层间预测
ILRP 层间参考图片
JEM 联合探索模型
LTRP 长期参考图片
MCTS 运动约束片集
NAL 网络抽象层
OLS 输出层集
PH 图片标头
PPS 图片参数集
PTL 简档、层次和级别
PU 图片单元
RAP 随机接入点
RBSP 原始字节序列负载
SH 条带标头
SEI 补充增强信息
SPS 序列参数集
STRP 短期参考图片
SVC 可缩放视频编解码
VCL 视频编解码层
VPS 视频参数集
VTM VVC测试模型
VUI 视频可用性信息
VVC 多功能视频编解码
3.初步讨论
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T产生了H.261和H.263,ISO/IEC产生了MPEG-1和MPEG-4视觉,这两个组织联合产生了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时间预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,联合视频探索团队(JVET)于2015年由VCEG和MPEG联合成立。此后,JVET采用了许多新方法,并将它们应用于名为联合探索模型(JEM)的参考软件中。JVET会议每季度同时举行一次,新的编解码标准的目标是与HEVC相比降低50%的比特率。在2018年4月的JVET会议上,新的视频编解码标准被正式命名为通用视频编解码(VVC),VVC测试模型(VTM)的第一个版本在当时发布。由于不断努力促进VVC标准化,在每次JVET会议上都会将新的编解码技术采纳到VVC标准。VVC工作草案和测试模型VTM随后在每次会议后更新。VVC项目目前的目标是在2020年7月的会议时完成技术竣工(FDIS)。
3.1.参考图片管理和参考图片列表(RPL)
参考图片管理是任何使用帧间预测的视频编解码方案所必需的核心功能。其管理参考图片在解码图片缓冲器(DPB)中的存储和移除,并将参考图片按其正确顺序放入RPL中。
HEVC的参考图片管理,包括参考图片的标记和从解码图片缓冲器(DPB)中的移除以及参考图片列表构造(RPLC),与AVC的参考图片管理不同。代替AVC中基于滑动窗口加自适应存储器管理控制操作(MMCO)的参考图片标记机制,HEVC指定了基于所谓参考图片集(RPS)的参考图片管理和标记机制,并且因此RPLC基于RPS机制。RPS由与图片相关联的一组参考图片组成,该组图片由按解码顺序在相关联图片之前的所有参考图片组成,它们可被用于按解码顺序对相关联图片或在相关联图片之后的任何图片进行帧间预测。参考图片集由五个参考图片列表组成。前三个列表包含可以在当前图片的帧间预测中使用并且可以按解码顺序在当前图片之后的一个或多个图片的帧间预测中使用的所有参考图片。其他两个列表由包含不在当前图片的帧间预测中使用而是可以按解码顺序在当前图片之后的一个或多个图片的帧间预测中使用的所有参考图片组成。RPS提供DPB状态的“帧内编解码的”信令,而不是AVC中的“帧间编解码的”信令,主要是为了提高错误恢复能力。HEVC中的RPLC过程基于RPS,通过信令通知用于每个参考索引的RPS子集的索引;该过程比AVC中的RPLC过程更简单。
VVC中的参考图片管理更类似于HEVC而不是AVC,但更简单、更鲁棒。在这些标准中,导出了两个RPL(列表0和列表1),但它们不是基于HEVC中使用的参考图片集概念或AVC中使用的自动滑动窗口过程;相反,它们被更直接地信令。对于RPL,参考图片被列为活动条目和非活动条目,并且在当前图片的CTU的帧间预测中,只有活动条目可被用作参考索引。非活动条目指示要保持在DPB中的其他图片,以供比特流中稍后到达的其他图片参考。
3.2.HEVC和VVC中的随机接入及其支持
随机接入指的是对来自不是比特流的解码顺序中的第一个图片的图片的比特流开始接入和解码。为了支持广播/多播和多方视频会议中的调谐和频道切换、本地播放和流式传输中的搜索以及流式传输中的流自适应,比特流需要包括频繁的随机接入点,这些接入点通常是帧内编解码图片,但也可以是帧间编解码图片(例如,在逐步解码刷新的情况下)。
HEVC包括通过NAL单元类型在NAL单元标头中的帧内随机接入点(IRAP)图片的信令通知。支持三种类型的IRAP图片,即瞬时解码器刷新(IDR)、干净随机接入(CRA)和断开链接接入(BLA)图片。IDR图片约束图片间预测结构不参考当前图片组(GOP)之前的任何图片,通常被称为封闭GOP随机接入点。通过允许某些图片在当前GOP之前参考图片,CRA图片的限制性较小,在随机接入的情况下,所有图片都被丢弃。CRA图片通常被称为开放-GOP随机接入点。BLA图片通常源自两个比特流或其在CRA图片处的一部分的拼接,例如在流切换期间。为了更好地系统使用IRAP图片,总共定义了六个不同的NAL单元来信令IRAP图片的属性,这些NAL单元可被用于更好地匹配ISO基本媒体文件格式(ISOBMFF)中定义的流接入点类型,这些类型被用于HTTP上动态自适应流(DASH)中的随机接入支持。
VVC支持三种类型的IRAP图片、两种类型的IDR图片(一种类型带有或另一种类型没有相关联的RADL图片)和一种类型的CRA图片。这些基本上与HEVC相同。HEVC中的BLA图片类型不被包括在VVC中,主要是由于两个原因:i)BLA图片的基本功能可以通过CRA图片加上序列结束NAL单元来实现,序列结束NAL单元的存在指示后续图片在单层比特流中开始新的CVS。ii)在VVC开发期间,希望指定比HEVC更少的NAL单元类型,如NAL单元标头中NAL单元的类型字段使用五比特而不是六比特所指示的。
VVC和HEVC在随机接入支持方面的另一个关键区别是在VVC中以更规范的方式支持GDR。在GDR中,比特流的解码可以从帧间编解码的图片开始,虽然在开始时不能正确解码整个图片区域,但在若干图片之后,整个图片区域将是正确的。AVC和HEVC还支持GDR,使用恢复点SEI消息来信令通知GDR随机接入点和恢复点。在VVC中,为GDR图片的指示指定新的NAL单元类型,并在图片标头语法结构中信令通知恢复点。CVS和比特流被允许从GDR图片开始。这意味着允许整个比特流仅包含帧间编解码图片而不包含单个帧内编解码图片。以这种方式指定GDR支持的主要好处是为GDR提供一致的行为。GDR使编码器能够通过将帧内编解码的条带或块分布在多个图片中而不是对整个图片进行帧内编解码来平滑比特流的比特率,从而实现端到端延迟的显著减少,这在诸如无线显示、在线游戏、基于无人机的应用的超低延迟应用越来越流行的今天被认为比以前更重要。
VVC中另一个与GDR相关的特性是虚拟边界信令通知。GDR图片与其恢复点之间的图片处的刷新区域(即,正确解码的区域)和未刷新区域之间的边界可以被信令通知为虚拟边界,并且当被信令通知时,不会应用跨越边界的环路内滤波,因此不会发生边界处或边界附近的一些样本的解码失配。当应用程序决定在GDR过程中显示正确解码的区域时,这可能很有用。
IRAP图片和GDR图片可以被统称为随机接入点(RAP)图片。
3.3.参数集
AVC、HEVC和VVC指定参数集。参数集的类型包括SPS、PPS、APS和VPS。AVC、HEVC和VVC中的所有都支持SPS和PPS。VPS从HEVC开始引入,并被包括在HEVC和VVC两者中。APS未被包括在AVC或HEVC中,但被包括在最新的VVC草案文本中。
SPS被设计为承载序列级标头信息,PPS被设计为承载不经常变化的图片级标头信息。利用SPS和PPS,不需要为每个序列或图片重复不经常改变的信息,因此可以避免该信息的冗余信令。此外,使用SPS和PPS能够实现重要标头信息的带外传输,从而不仅避免了冗余传输的需要,而且提高了错误恢复能力。
引入VPS是为了承载多层比特流中所有层通用的序列级标头信息。
引入APS是为了承载以下这样的图片级或条带级信息,它们需要相当多的比特来编解码、可以由多个图片共享、以及在一个序列中可以有很多不同的变化。
3.4.一般的和VVC中的可缩放视频编解码(SVC)
可缩放视频编解码(SVC,有时也称为视频编解码中的可缩放性)是指使用基本层(BL)(有时被称为参考层(RL))和一个或多个可缩放增强层(EL)的视频编解码。在SVC中,基本层可以承载具有基本质量水平的视频数据。一个或多个增强层可以承载额外的视频数据以支持例如更高的空间、时间和/或信噪比(SNR)水平。可以相对于先前编码的层来定义增强层。例如,底层可以用作BL,而顶层可以用作EL。中间层可以用作EL或RL,或两者兼用。例如,中间层(例如,既不是最低层也不是最高层的层)可以是用于中间层以下的层、诸如基本层或任何中间增强层的EL,同时用作中间层以上的一个或多个增强层的RL。类似地,在HEVC标准的多视图或3D扩展中,可以有多个视图,并且可以利用一个视图的信息来编解码(例如,编码或解码)另一视图的信息(例如,运动估计、运动矢量预测和/或其他冗余)。
在SVC中,由编码器或解码器使用的参数基于其可使用的编解码级别(例如,视频级、序列级、图片级、条带级等)被分组为参数集。例如,可以由比特流中不同层的一个或多个编解码视频序列使用的参数可以被包括在视频参数集(VPS)中,并且可以由编解码视频序列中的一个或者多个图片使用的参数被包括在序列参数集(SPS)中。类似地,由图片中的一个或多个条带使用的参数可以被包括在图片参数集(PPS)中,并且特定于单个条带的其他参数可以被包含在条带标头中。类似地,可以在各种编解码级别提供特定层在给定时间使用哪个(哪些)参数集的指示。
由于在VVC中支持参考图片重采样(RPR),可以在不需要任何附加信号处理级别编解码工具的情况下设计对包含多个层的比特流的支持(例如,在VVC中具有SD和HD分辨率的两个层),因为空间可缩放性支持所需的上采样可以仅使用RPR上采样滤波器。然而,可缩放性支持需要高级语法更改(与不支持可缩放性相比)。VVC版本1中指定了可缩放性支持。与任何更早的视频编解码标准(包括AVC和HEVC的扩展)中的可缩放性支持不同,VVC可缩放性的设计已尽可能对单层解码器设计友好。多层比特流的解码能力是以假如比特流中只有单层的方式指定的。例如解码能力(诸如DPB大小)以独立于要被解码的比特流中的层数的方式指定。基本上,为单层比特流设计的解码器不需要太多改变就能够解码多层比特流。与AVC和HEVC的多层扩展设计相比,HLS方面在牺牲一些灵活性的情况下得到了显著简化。例如,IRAP AU需要包含CVS中存在的每个层的图片。
4.公开的技术方案解决的技术问题
最新VVC文本(JVET-R2001-vA/v10)中参考图片列表的现有设计存在以下问题:
1)标志sps_idr_rpl_present_flag是为单层比特流设计的,用于在不需要改变SH的情况下合并IDR和非IDR图片。在多层上下文中,当sps_inter_layer_ref_pics_present_flag等于1时,使sps_idr_rpl_present_flag等于0是没有意义的,因为这将禁用增强层(EL)图片中的IDR条带(即,其中nal_unit_type等于IDR_N_LP或IDR_W_RADL的条带)以包含RPL,并因此禁用EL图片中要使用层间预测(ILP)编解码的IDR条带,而IRAP图片的ILP通常对可缩放性提供的编解码增益贡献最大。
2)对于pps_mixed_nalus_in_pic_flag等于1、pps_rpl_info_in_ph_flag等于0、并且至少有一个其中nal_unit_type等于IDR_W_RADL或IDR_N_LP的VCL NAL单元的图片,sps_idr_rpl_present_flag的值必须等于1,使得图片中的IDR条带将具有SH中信令通知的RPL,否则为图片中的IDR条带导出的RPL将为空,而为图片中非IDR条带导出的RPL不为空。
3)当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0时,如果sps_inter_layer_ref_pics_present_flag等于0,则其中nuh_layer_id等于sps的nuh_layer_id的非独立层将必须参考具有nuh_layer_id较低的sps。然而,尽管这是可能的,但在这种情况下,根本没有理由有具有那样的nuh_layer_id值的SPS。因此,当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0时,要求sps_inter_layer_ref_pics_present_flag等于1是有意义的。
4)当sps_num_ref_pic_lists[0]等于1并且rpl_sps_flag[0]等于1时,rpl_idx[0]的推断在需要时缺失。
5)最新VVC文本的条款8.3.2(参考图片列表构造的解码过程)包括对用于其中sps_idr_rpl_present_flag等于0并且具有等于IDR_W_RADL或IDR_N_LP的nal_unit_type的条带的RplsIdx[i]、num_ref_entries[i][RplsIdx[i]]和NumRefIdxActive[i]的默认值的规范,因为当对于这些条带,RPL为空时,将使用这些值。然而,当pps_rpl_info_in_ph_flag等于1时,PH包括RPL,因此当pps_rpl_info_in_ph_flag等于1时,无需为上述变量和语法元素指定默认值。事实上,当pps_rpl_info_in_ph_flag等于1时,RPL可能不为空,因此默认值的这种规范可能不正确。
6)最新VVC文本的条款8.3.2(参考图片列表结构的解码过程)包括以下约束:
-当前图片的条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目所参考的图片应存在于DPB中,其nuh_layer_id refPicLayerId应小于当前图片的nuh_layer_id,并且应为IRAP图片或其TemporalId小于或等于Max(0,vps_Max_tid_il_ref_pics_plus1[currLayerIdx][refLayerIdx]-1),其中currLayerIdx和refLayerIdx分别等于GeneralLayerIdx[nuh_layer_id]和GeneralLayerIdx[refpicLayerId]。
然而,与IRAP图片类似,约束中也应考虑ph_recovery_poc_cnt等于0的GDR图片。
7)在参考图片标记的解码过程中,如最新VVC文本的条款8.3.3中指定,CLVSS图片所参考的层间参考图片(如有)未被标记为“用于长期参考”。这将导致解码过程中的问题,因为这将触发应用一些基于POC的缩放,这可能导致调用除零操作,因为IRLP的POC值和当前图片相同。
5.技术方案和实施例示例
为了解决上述问题和其他问题,公开了如下总结的方法。这些项目应被视为解释一般概念的示例,并且不应狭义解释。此外,这些项目可以单独应用或以任何方式组合应用。
1)为了解决问题1,根据sps_inter_layer_ref_pics_present_flag有条件地信令通知sps_idr_rpl_present_flag。
a.在一个示例中,指定当sps_inter_layer_ref_pics_present_flag等于1时,跳过sps_idr_rpl_present_flag并推断其为等于1。
i.替代地,另外,当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0时,要求sps_idr_rpl_present_flag的值等于1。
b.替代地,不根据sps_inter_layer_ref_pics_present_flag有条件地信令通知sps_idr_rpl_present_flag,当sps_inter_layer_ref_pics_present_flag等于1时,要求sps_idr_rpl_present_flag的值等于1。
c.替代地,不根据sps_inter_layer_ref_pics_present_flag有条件地信令通知sps_idr_rpl_present_flag,当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0时,要求sps_idr_rpl_present_flag的值等于1。
d.替代地,不根据sps_inter_layer_ref_pics_present_flag有条件地信令通知sps_idr_rpl_present_flag,当sps_inter_layer_ref_pics_present_flag等于1或vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0时,要求sps_idr_rpl_present_flag的值等于1。
2)为了解决问题2,添加一个约束,使得当sps_idr_rpl_present_flag等于0、pps_mixed_nalus_in_pic_flag等于1并且pps_rpl_info_in_ph_flag等于0时,nal_unit_type的值不应等于IDR_W_RADL或IDR_N_LP。
a.替代地,添加一个约束,使得对于pps_mixed_nalus_in_pic_flag等于1、pps_rpl_info_in_ph_flag等于0、并且至少有一个其中nal_unit_type等于IDR_W_RADL或IDR_N_LP的VCL NAL单元的图片,sps_idr_rpl_present_flag的值应等于1。
3)为了解决问题3,添加一个约束,使得当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于0时,sps_inter_layer_ref_pics_present_flag的值应等于1。
a.替代地,指定sps_inter_layer_ref_pics_present_flag的值应等于!vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]。
4)为了解决问题4,添加当sps_num_ref_pic_lists[0]等于1并且rpl_sps_flag[0]等于1时,rpl_idx[0]的值的推断。
a.在一个示例中,当sps_num_ref_pic_lists[0]等于1并且rpl_sps_flag[0]等于1时,rpl_idx[0]的值被推断为等于0。
5)为了解决问题5,指定仅当pps_rpl_info_in_ph_flag等于0时,对于其中sps_idr_rpl_present_flag等于0并且nal_unit_type等于IDR_W_RADL或IDR_N_LP的条带设置或推断RplsIdx[i]、num_ref_entries[i][RplsIdx[i]]和NumRefIdxActive[i]的默认值。
6)为了解决问题6,以与IRAP图片相同的方式处理其中ph_recovery_poc_cnt等于0的GDR图片,该IRAP图片涉及当前图片条带的RefPicList[0]或RefPicList[1]中ILRP条目的约束。
7)为了解决问题7,在参考图片标记的解码过程中,指定当当前图片是CLVSS图片时,将RefPicList[0]或RefPicList[1]中的每个ILRP条目(如果存在)标记为“用于长期参考”。
8)为了解决问题1,在SPS语法中,在sps_inter_layer_ref_pics_present_flag之前信令通知sps_idr_rpl_present_flag,并且根据sps_idr_rpl_present_flag有条件地信令通知sps_inter_layer_ref_pics_present_flag。
a.在一个示例中,指定当sps_idr_rpl_present_flag等于0时,跳过sps_inter_layer_ref_pics_present_flag并推断其等于0。
i.替代地,另外,当sps_idr_rpl_present_flag的值等于0时,要求vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1。
b.替代地,在SPS语法中,在sps_inter_layer_ref_pics_present_flag之前信令通知sps_idr_rpl_present_flag,不根据sps_idr_rpl_present_flag有条件地信令sps_inter_layer_ref_pics_present_flag,当sps_idr_rpl_present_flag的值等于0时,要求sps_inter_layer_ref_pics_present_flag等于0。
c.替代地,在SPS语法中,在sps_inter_layer_ref_pics_present_flag之前信令通知sps_idr_rpl_present_flag,不根据sps_idr_rpl_present_flag有条件地信令sps_inter_layer_ref_pics_present_flag,当sps_idr_rpl_present_flag等于0时,要求sps_inter_layer_ref_pics_present_flag的值等于0或vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1。
d.替代地,是否和/或如何信令通知sps_inter_layer_ref_pics_present_flag和/或sps_idr_rpl_present_flag可以取决于一般约束信息(GCI)语法中存在的一般约束标志,例如intra_only_constraint_flag。
6.实施例
以下是上文第4节中概述的本发明的一些方面的一些示例实施例,其可被应用于VVC规范。已添加或修改的大部分相关部分用粗体斜体下划线,并且部分删除部分用[[]]表示。
6.1.第一实施例
本实施例适用于项目1、1.a、2、2a、3、4、4.a、5、6和7。
7.3.2.3序列参数集RBSP语法
7.4.2.2NAL单元标头语法
...
对于子图片的所有VCL NAL单元,nal_unit_type的值应相同。子图片被参考为具有与子图片的VCL NAL单元相同的NAL单元类型。
当图片中的任何两个子图片具有不同的NAL单元类型时,对于图片中包含至少一个P或B条带的所有子图片,sps_subpic_treated_as_pic_flag[]的值应等于1。
...
7.4.3.3序列参数集RBSP语法
...
sps_inter_layer_ref_pics_present_flag等于0指定没有ILRP被用于CLVS中任何经编解码图片的帧间预测。sps_inter_layer_ref_pics_present_flag等于1指定ILRP可以被用于CLVS中的一个或多个经编解码图片的帧间预测。当sps_video_parameter_set_id等于0时,sps_inter_layer_ref_pics_present_flag的值被推断为等于0。[[当vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,sps_inter_layer_ref_pics_present_flag的值应等于0。]]
sps_idr_rpl_present_flag等于1指定参考图片列表语法元素可以存在于IDR图片的条带标头中。sps_idr_rpl_present_flag等于0指定参考图片列表语法元素不存在于IDR图片的条带标头中。
...
7.4.9参考图片列表语法
...
rpl_idx[i]指定具有listIdx等于i(用于导出当前图片的参考图片列表i)的ref_pic_list_struct(listIdx,rplsIdx)语法结构在包括在SPS中的具有listIdx等于i的ref_pic_list_struct(listIdx,rplsIdx)语法结构的列表中的索引。语法元素rpl_idx[i]由Ceil(Log2(sps_num_ref_pic_lists[i]))个比特表示。rpl_idx[i]的值应在0到sps_num_ref_pic_lists[i]-1(含端点)之间。
当
-[[如果rpl_sps_flag[i]等于1]]
-否则,[[rpl_idx[1]]]
变量RplsIdx[i]导出如下:
RplsIdx[i]=rpl_sps_flag[i]?rpl_idx[i]:sps_num_ref_pic_lists[i]
(150)
...
8.3.2参考图片列表构造的解码过程
...
如果sps_idr_rpl_present_flag等于0,
-RplsIdx[i]的值被设置为等于sps_num_ref_pic_lists[i]。
-num_ref_entries[i][RplsIdx[i]]的值被推断为等于0。
-NumRefIdxActive[i]的值被设置为0。
...
-[[当前图片的条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目所参考的图片应与当前图片位于同一AU中。]]
-以下所有约束适用于当前图片的条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目(如果存在)所参考的图片:
ο
ο图片应存在于DPB中。
ο图片的nuh_layer_id refPicLayerId应小于当前图片的nuh_layer_id。
ο以下约束条件之一适用:
ο图片应为
ο图片的TemporalId应小于或等于Max(0,vps_Max_tid_il_ref_pics_plus1[currLayerIdx][refLayerIdx]-1),其中currLayerIdx和refLayerIdx分别等于GeneralLayerIdx[nuh_layer_id]和GeneralLayerIdx[refpicLayerId]。
-条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目(如果存在)应为活动条目。
...
8.3.3参考图片标记的解码过程
...
如果当前图片是CLVSS图片,则以下内容适用:
-DPB中当前具有与当前图片相同的nuh_layer_id的所有参考图片(如果有)被标记为“未用于参考”。
-
否则(当前图片不是CLVSS图片),则以下内容适用:
-对于RefPicList[0]或RefPicList[1]中的每个LTRP条目,当图片是与当前图片具有相同nuh_layer_id的STRP时,该图片被标记为“用于长期参考”。
-具有与DPB中的当前图片相同的nuh_layer_id并且未被RefPicList[0]或RefPicList[1]中的任何条目参考的每个参考图片被标记为“未用于参考”。
-对于RefPicList[0]或RefPicList[1]中的每个ILRP条目,图片被标记为“用于长期参考”。
图1是示出示例视频处理系统1900的框图,其中可以实现本文公开的各种技术。各种实现可以包括系统1900的一些或全部组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩格式(例如,8或10比特多分量像素值)接收,或者可以以经压缩或经编码格式接收。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口以及诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可以包括编解码组件1904,其可以实现本文件中描述的各种编解码或编码方法。编解码组件1904可以降低从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的经编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,也可以被经由连接的通信发送,如组件1906所表示的那样。组件1908可以使用在输入1902处接收的视频的存储的或传送的比特流(或经编解码的)表示来生成像素值或发送到显示接口1910的可显示视频。从比特流表示生成用户可观看视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但应当理解,在编码器处使用编解码工具或操作,并且将由解码器执行反转编解码结果的相应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或显示端口,等等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文件中描述的技术可以实现在各种电子设备中,诸如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图2是视频处理装置3600的框图。装置3600可被用于实现本文所述的一个或多个方法。装置3600可以被实现在智能手机、平板电脑、计算机、物联网(IoT)接收器等等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(一个或多个)处理器3602可以被配置为实现本文件中描述的一个或多个方法。(一个或多个)存储器3604可被用于存储用于实现本文所述的方法和技术的数据和代码。视频处理硬件3606可以被用于在硬件电路中实现本文件中描述的一些技术。
图4是示出可以利用本公开的技术的示例视频编解码系统100的框图。
如图4中所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成经编码视频数据,其可被称为视频编码设备。目的地设备120可以对源设备110生成的经编码视频数据进行解码,其可被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备、用于从视频内容提供者接收视频数据的接口和/或用于生成视频数据的计算机图形系统的源,或者这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的经编解码表示的比特序列。比特流可以包括经编解码图片和相关联的数据。经编解码图片是图片的经编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。经编码的视频数据可以通过网络130a经由I/O接口116直接发送到目的地设备120。经编码的视频数据还可以存储在存储介质/服务器130b上,以供目的地设备120访问。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取经编码的视频数据。视频解码器124可以解码经编码的视频数据。显示设备122可以向用户显示经解码的视频数据。显示设备122可以与目的地设备120集成,或者可以在目的地设备120的外部,其被配置为与外部显示设备连接。
视频编码器114和视频解码器124可以根据视频压缩标准,诸如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或进一步的标准来操作。
图5是示出视频编码器200的示例的框图,其可以是图4中所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图5的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以在IBC模式中执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,一些组件,诸如运动估计单元204和运动补偿单元205可以高度集成,但是为了解释的目的,在图5的示例中单独表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
模式选择单元203可以例如基于误差结果来选择编解码模式(帧内或帧间)中的一个,并将所得到的帧内编解码块或帧间编解码块提供给残差生成单元207以生成残差块数据,并提供给重构单元212以重构编码块以用作参考图片。在一些示例中,模式选择单元203可以选择组合帧内和帧间预测(CIIP)模式,其中预测基于帧间预测信号和帧内预测信号。模式选择单元203还可以在帧间预测的情况下为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于运动信息和来自缓冲器213的除与当前视频块相关联的图片之外的图片的解码样本来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1中的参考图片(其包含参考视频块)的参考索引,和指示当前视频块与参考视频块之间的空间位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计模块204可以在列表0中的参考图片中为当前视频块搜索参考视频块,并且还可以在列表1中的参考图片中为当前视频块搜索另一参考视频块。运动估计单元204然后可以生成指示列表0和列表1中的参考图片(其包含参考视频块)的参考索引,和指示参考视频块与当前视频块之间的空间位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块中的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的完整的运动信息集。
在一些示例中,运动估计单元204可以不输出当前视频的完整的运动信息集。相反地,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性信令技术的两个示例包括高级运动矢量预测(AMVP)和Merge模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测模块206可以基于同一图片中其他视频块的经解码样本来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测的视频块和各种语法元素。
残差生成单元207可以通过从当前视频块减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中的样本的不同样本分量相对应的残差视频块。
在其他示例中,例如在跳过模式中,当前视频块可能没有残差数据,并且残差生成单元207可能不执行减法操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频单元相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将重构的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的相应样本,以产生与当前块相关联的重构视频块以用于存储在缓冲器213中。
在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成经熵编码数据并输出包括该经熵编码数据的比特流。
图6是示出视频解码器300的示例的框图,其可以是图4中所示的系统100中的视频解码器124。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图5的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图6的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200(图5)描述的编码编次相反的解码过程。
熵解码单元301可以检索经编码比特流。经编码的比特流可以包括经熵编解码的视频数据(例如,视频数据的经编码块)。熵解码单元301可以解码经熵编解码的视频数据,并且从经熵解码的视频数据中,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可以包括用于与亚像素精度一起使用的插值滤波器的标识符。
运动补偿单元302可以使用由视频编码器200在视频块编码期间使用的插值滤波器来计算参考块的亚整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定被用于经编码视频序列的(一个或多个)帧和/或(一个或多个)条带的块的大小、描述如何对经编码视频序列图片的每个宏块进行分割的分割信息、指示如何对每个分割进行编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)以及用于解码经编码视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空间上相邻的块形成预测块。逆量化单元303对比特流中提供并由熵解码单元301解码的经量化视频块系数进行逆量化(即,反量化)。逆变换单元303应用逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的相应预测块相加以形成经解码块。如果需要,还可以应用去块滤波器来对解码块进行滤波,以去除块效应伪影。经解码的视频块然后被存储在缓冲器307中,其为随后的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
接下来提供一些实施例优选的解决方案的列表。
以下解决方案示出了在前一节(例如,项目1)中讨论的技术的示例实施例。
1.一种视频处理方法(例如,图3中的方法600)包括在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换(602),其中该经编解码表示符合格式规则,其中该格式规则指定指示层间参考图片是否被用于转换的第一语法元素的第一值控制指示参考图片列表是否被包括在经编解码表示中的第二语法元素的第二值或该第二语法元素的存在。
2.根据解决方案1的方法,其中在第一值为1的情况下,则从经编解码表示中省略第二语法元素并将其推断为1。
以下解决方案示出了在前一节(例如,项目2)中讨论的技术的示例实施例。
3.一种视频处理方法,包括:在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该经编解码表示符合格式规则,其中该格式规则指定在第一语法元素指示参考图片列表的语法元素不被包括在经编解码表示中并且在经编解码表示中允许混合网络抽象层单元并且参考图片列表语法元素不被包括在图片标头中的情况下,在经编解码表示中将禁用瞬时解码器参考图片类型网络抽象层单元的使用。
以下解决方案示出了在前一节(例如,项目3、4)中讨论的技术的示例实施例。
4.一种视频处理方法,包括:在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该经编解码表示符合格式规则,其中该格式规则指定以下约束:(a)指示视频参数集中给定层id的独立层激活标志的第一语法元素的值控制指示层间参考图片上的激活的第二语法元素的值,或者(b)指示序列参数集中的参考图片列表的数量的第一语法元素的值控制指示用于当前视频单元的转换的参考图片表的第二语法元素的值。
5.根据解决方案4的方法,其中第一和第二语法元素具有相反的二进制值。
6.根据解决方案4的方法,其中第一和第二语法元素具有相同的二进制值。
以下解决方案示出了在前一节(例如,项目7)中讨论的技术的示例实施例。
7.一种视频处理方法,包括:在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该转换根据规则进行,该规则指定在当前图片是经编解码层视频序列的起始图片的情况下当前图片的参考列表中的层间图片被认为是长期参考图片。
以下解决方案示出了在前一节(例如,项目8)中讨论的技术的示例实施例。
8.一种视频处理方法,包括:在包括了包括一个或多个视频图片的一个或多个视频层的视频和视频的经编解码表示之间执行转换,其中该经编解码表示符合格式规则,其指定在根据第一字段被有条件地信令通知的信令通知层间图片的存在的第二字段之前信令指示参考图片列表信息的存在的第一字段。
9.根据解决方案1-8中任一项的方法,其中执行转换包括对视频进行编码以生成经编解码表示。
10.根据解决方案1-8中任一项的方法,其中执行转换包括解析和解码经编解码表示以生成视频。
11.一种视频解码装置,包括被配置为实现解决方案1至10中的一个或多个所述方法的处理器。
12.一种视频编码装置,包括被配置为实现解决方案1至10中的一个或多个所述方法的处理器。
13.一种其上存储有计算机代码的计算机程序产品,当由处理器执行该代码时,其使处理器实现解决方案1至10中任一项所述的方法。
14.一种在本文件中描述的方法、装置或系统。
图7是根据本技术的一个或多个实施例的处理视频数据的方法700的流程图表示。方法700包括在操作710处根据规则在包括了包括条带的视频图片的视频和视频的比特流之间执行转换。该规则指定了,由于满足条件,指定与参考图片列表(RPL)索引相关联的参考图片列表语法结构中的条目数量的语法元素的默认值等于0。在以下情况下满足该条件,(1)视频图片是瞬时解码刷新图片,(2)第一语法标志指定RPL语法元素不存在于条带的条带标头中,以及(3)第二语法标志指定RPL信息不存在于视频图片的图片标头中。
在一些实施例中,响应于满足该条件,变量的默认值等于0。该变量指定用于条带的转换的RPL的最大参考索引。在一些实施例中,响应于满足该条件,指示参考图片列表索引的变量等于序列参数集中的参考图片列表语法结构的数量。
图8是根据本技术的一个或多个实施例的处理视频数据的方法800的流程图表示。方法800包括在操作810处根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定,基于用于转换的层间预测的使用来确定第一语法标志的值,第一语法标志指定参考图片列表(RPL)语法元素是否存在于视频图片的条带的条带标头中。
在一些实施例中,基于指定参考图片列表语法结构中的条目是否是层间参考图片(ILRP)条目的第二语法标志,第一语法标志有条件地存在于比特流中。在一些实施例中,在第二语法标志指示参考图片列表语法结构中的条目是层间参考图片(ILRP)条目的情况下,第一语法标志不存在于比特流中并且被推断为等于1。
在一些实施例中,在第二语法标志指定参考图片列表语法结构中的条目是层间参考图片(ILRP)条目的情况下,第一语法标志的值等于1。在一些实施例中,在第三语法标志具有指示层不使用层间预测的值0的情况下,第一语法元素的值等于1。在一些实施例中,在以下情况下,第一语法标志的值等于1:(1)第二语法标志指定参考图片列表语法结构中的条目是层间参考图片(ILRP)条目,或(2)第三语法标志具有指示层不使用层间预测的值0。
图9是根据本技术的一个或多个实施例的处理视频数据的方法900的流程图表示。方法900包括在操作910处根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定与以下相关的约束:(1)视频图片是否是瞬时解码刷新图片,(2)参考图片列表(RPL)语法元素是否存在于视频图片的条带的条带标头中,(3)参考视频图片的图片参数集的每个图片是否具有一个以上的网络抽象层单元,该一个以上的网络抽象层单元的单元类型的值不相同,以及(4)RPL信息是否存在于视频图片的图片标头中。
在一些实施例中,该约束指定在以下情况下视频图片被约束为非瞬时解码刷新图片:(1)RPL语法元素不存在于视频图片的条带的条带标头中,(2)参考图片参数集的每个图片具有一个以上的网络抽象层单元,该一个以上的网络抽象层单元的单元类型的值不相同,以及(3)RPL信息不存在于视频图片的图片标头中。在一些实施例中,该约束指定在以下情况下RPL语法元素被约束为存在于视频图片的条带的条带标头中:(1)参考图片参数集的每个图片具有一个以上的网络抽象层单元,该一个以上的网络抽象层单元的单元类型的值不相同,(2)RPL信息存在于视频图片的图片标头中,以及(3)视频图片是瞬时解码刷新图片。
图10是根据本技术的一个或多个实施例的处理视频数据的方法1000的流程图表示。方法1000包括在操作1010处根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定基于以下的约束:(1)层是否使用层间预测并且(2)参考图片列表语法结构中的条目是否是层间参考图片(ILRP)条目。
在一些实施例中,在没有层使用层间预测的情况下,约束指定参考图片列表语法结构中的条目是层间参考图片(ILRP)条目。在一些实施例中,约束指定参考图片列表语法结构中的条目是否是层间参考图片(ILRP)条目与层是否使用层间预测相同。
图11是根据本技术的一个或多个实施例的处理视频数据的方法1100的流程图表示。方法1100包括在操作1110处根据规则在视频的视频图片和视频的比特流之间执行转换。该规则指定在序列参数集中的第一列表的参考图片列表语法结构的数量为1并且基于第一列表的参考图片列表句法结构导出视频图片的第一参考图片列表的情况下,推断指定参考图片列表语法结构的索引的变量。在一些实施例中,变量被推断为等于0。
图12是根据本技术的一个或多个实施例的处理视频数据的方法1200的流程图表示。方法1200包括在操作1210处根据规则在视频的当前图片和视频的比特流之间执行转换。该规则指定,响应于图片由当前图片条带的参考图片列表中的层间参考图片(ILRP)条目所参考,允许该图片具有逐步解码刷新(GDR)类型,并且指定在输出顺序中图片的恢复点的语法元素为0。
在一些实施例中,图片与当前图片处于相同的接入单元中。在一些实施例中,图片存在于解码图片缓冲器中。在一些实施例中,图片具有小于当前图片的层标识符的层标识符。在一些实施例中,参考图片列表包括参考列表0或参考列表1。
图13是根据本技术的一个或多个实施例的处理视频数据的方法1300的流程图表示。方法1300包括在操作1310处根据规则在包括当前图片的视频和视频的比特流之间执行转换。该规则指定,响应于当前图片是经编解码层视频序列的起始图片,当前图片的参考图片列表中的每个层间参考图片(ILRP)条目被标记为用于长期参考。
在一些实施例中,参考图片列表包括参考列表0或参考列表1。在一些实施例中,当前图片的参考图片列表中的每个层间参考图片(ILRP)条目在解码过程中被视为长期参考图片。在一些实施例中,在用于参考图片标记的解码过程中,对每个图片调用一次该方法。在一些实施例中,参考图片列表中的每个层间参考图片(ILRP)条目都在解码图片缓冲器中。在一些实施例中,将每个ILRP条目标记为用于长期参考替换包括未用于参考或用于短期参考的其他标记。
图14是根据本技术的一个或多个实施例的处理视频数据的方法1400的流程图表示。方法1400包括在操作1410处根据规则在视频和视频的比特流之间执行转换。该规则指定,在指定层间参考图片(ILRP)是否用于经编解码层视频序列中的任何经编解码图片的帧间预测的第二语法标志之前,在比特流中存在指定参考图片列表语法元素是否存在于瞬时解码刷新(IDR)图片的条带标头中的第一语法标志。
在一些实施例中,规则还指定根据第一语法标志,第二语法标志有条件地存在于比特流中。在一些实施例中,在第一语法标志等于0的情况下,第二语法标志不存在于比特流中,并且被推断为0。在一些实施例中,在第一语法标志等于0并且层不使用层间预测的情况下,第二语法标志不存在于比特流中并且被推断为0。在一些实施例中,在第一语法标志等于0的情况下,第二语法标志等于0或者层不使用层间预测。在一些实施例中,第一语法标志和/或第二语法标志是否存在于比特流中基于一般约束信息语法结构中的一般约束标志。
在一些实施例中,转换包括将视频编码为比特流。在一些实施例中,转换包括将视频从比特流解码。
本文件中描述的公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中,或者可以在计算机软件、固件或硬件中实现,包括本文件中公开的结构及其结构等效物,或者它们的一个或多个的组合。公开和其他实施例可以被实现为一个或多个计算机程序产品,即编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组合物,或者它们的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们的一个或多个的组合的代码。传播的信号是人为生成的信号,例如机器生成的电信号、光信号或电磁信号,其被生成以编码信息用于传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一台计算机上或位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
本文件中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,这些处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。也可以由专用逻辑电路(以及也可以被实现为其的装置)执行过程和逻辑流程,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适于执行计算机程序的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦接到从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传送至其或两者皆有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路。
尽管本专利文件包含许多规定,但它们不应被解释为对任何主题或可能要求保护的内容的范围的限制,而是对特定技术的特定实施例可能特定的特征的描述。本专利文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管特征可在上文中描述为以特定组合的方式起作用,甚至最初如此要求保护,但在一些情况下,要求保护的组合中的一个或多个特征可从组合中删除,并且要求保护的组合可指向子组合或子组合的变体。
类似地,虽然在图中以特定顺序描绘了操作,但这不应被理解为要求以所示的特定顺序或序列执行这些操作或者执行所有所示的操作,以获得期望的结果。此外,本专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了一些实现和示例,并且可以基于本专利文件中描述和示出的内容来进行其他实现、增强和变化。
- 视频编码中的参考图片列表和共位图片信令通知
- 用于解码图片缓冲器和参考图片列表的状态信息的信号通知