用于视频编码的恢复点过程的方法及相关装置

文档序号:214969 发布日期:2021-11-05 浏览:24次 >En<

阅读说明:本技术 用于视频编码的恢复点过程的方法及相关装置 (Method and related apparatus for recovery point procedure for video coding ) 是由 理卡尔德·肖伯格 马丁·彼得松 米特拉·达姆汉尼安 于 2020-03-10 设计创作,主要内容包括:提供了一种从比特流中解码图片的方法。该方法包括根据恢复点指示识别比特流中的恢复点。恢复点指定比特流中用于对图片的集合进行解码的起始位置。该方法还包括对恢复点指示进行解码,以获得经解码的语法元素的集合。该方法还包括在解码器解析任何编码图片数据之前,从经解码的语法元素的集合中导出用于生成不可用参考图片的集合的信息。该方法还包括基于所导出的信息来生成不可用参考图片的集合。该方法还包括在生成不可用参考图片的集合之后,对图片的集合进行解码。还提供了由编码器执行的方法。(A method of decoding a picture from a bitstream is provided. The method includes identifying a recovery point in the bitstream based on the recovery point indication. The recovery point specifies a starting position in the bitstream for decoding the set of pictures. The method also includes decoding the recovery point indication to obtain a set of decoded syntax elements. The method also includes deriving information for generating a set of unavailable reference pictures from the set of decoded syntax elements prior to the decoder parsing any encoded picture data. The method also includes generating a set of unavailable reference pictures based on the derived information. The method also includes decoding the set of pictures after generating the set of unavailable reference pictures. Methods performed by an encoder are also provided.)

用于视频编码的恢复点过程的方法及相关装置

技术领域

本公开总体上涉及将具有关于如何生成不可用参考图片的信息的恢复点指示编码到比特流中的方法以及从比特流中解码图片的集合的方法。本公开还涉及被配置为对恢复点指示进行编码的编码器和被配置为对图片的集合进行解码的解码器。

背景技术

现在将讨论高效率视频编码(HEVC)和多功能视频编码(VVC)。HEVC是由ITU-T和MPEG标准化的基于块的视频编解码,利用了时间预测和空间预测二者。使用来自当前图片内的帧内(I)预测可以实现空间预测。根据先前解码的参考图片,在块级别上使用单向(P)或双向(B)帧内预测可以实现时间预测。在编码器中,原始像素数据与预测像素数据之间的差(称为残差)可以在与预测参数(例如预测模式和运动矢量,它们也被熵编码)一起发送之前,被变换到频域、被量化、然后被熵编码。解码器可以执行熵解码、逆量化和逆变换以获得残差,然后可以将残差与帧内预测或帧间预测相加以重构图片。

MPEG和ITU-T正在联合视频探索小组(JVET)内开发HEVC的后继者。正在开发的该视频编解码器的名称为VVC。

现在将讨论图像的分量。视频序列包括一系列图像,其中每个图像包括一个或多个分量。每个分量都可以被描述为样本值的二维矩形阵列。视频序列中的图像包含三个分量;一个亮度分量Y(其中样本值为亮度值)和两个色度分量Cb和Cr(其中样本值为色度值)。在每个维度上,色度分量的尺寸可以是亮度分量的1/2,以节省压缩的比特。例如,高清图像的亮度分量的大小可以是1920×1080,且色度分量可以各自具有960×540的尺寸。分量有时也被称为颜色分量。

现在将讨论块和单元。块是一个二维样本阵列。在视频编码中,每个分量可以被分割为块,并且编码视频比特流包括一系列编码块。在视频编码中,可以将图像分割为覆盖图像的特定区域的单元。每个单元包括来自组成该特定区域的所有分量的所有块,并且每个块属于一个单元。H.264中的宏块和HEVC中的编码单元(CU)是单元的示例。

块可以备选地被描述为应用在编码中使用的变换的二维阵列。这些块可以被称为“变换块”。备选地,块可以被描述为应用单个预测模式的二维阵列。这些块可以被称为“预测块”。在本公开中,措辞“块”不限于这些描述之一,而是本文的描述可以应用于“变换块”或“预测块”。

现在将讨论NAL单元。HEVC和VVC二者都定义了网络抽象层(NAL)。所有数据(例如HEVC和VVC中的视频编码层(VCL)或非VCL数据二者)都被封装在NAL单元中。VCL NAL单元可以包含表示图片样本值的数据。非VCL NAL单元可以包含其他相关联的数据,例如参数集和补充增强信息(SEI)消息。HEVC中的NAL单元以报头开始,该报头可以指定NAL单元的NAL单元类型,NAL单元类型标识NAL单元中携带哪种类型的数据、NAL单元所属的层ID和时间ID。在NAL单元报头中的nal_unit_type码字中发送NAL单元类型,并且该类型指示并可以定义应如何解析和解码NAL单元。NAL单元的其余字节是由NAL单元类型指示的类型的有效载荷。比特流包括一系列级联的NAL单元。比特流包括一系列级连的NAL单元。

图1中示出了HEVC中的NAL单元报头的语法。

VVC和HEVC中的每个NAL单元的第一个字节包含nal_unit_type语法元素。解码器或比特流解析器在查看第一个字节之后可以推断出应如何处理(例如解析和解码)NAL单元。VCL NAL单元提供关于当前图片的图片类型的信息。图2中示出了在撰写时,VVC草案的当前版本JVET-M1001-v5的NAL单元类型。

解码顺序是其中NAL单元应被解码的顺序,与NAL单元在比特流内的顺序相同。解码顺序可以与输出顺序不同,输出顺序是其中要由解码器输出(例如用于显示)解码图片的顺序。

现在将讨论帧内随机访问点(IRAP)图片和编码视频序列(CVS)。对于HEVC中的单层编码,访问单元(AU)是单个图片的编码表示。AU可以包括若干视频编码层(VCL)NAL单元以及非VCL NAL单元。

HEVC中的帧内随机访问点(IRAP)图片是在其解码过程中不参考除其自身以外的任何图片进行预测的图片。在HEVC中,比特流中按照解码顺序的第一个图片必须是IRAP图片,但是IRAP图片也可以另外地稍后出现在比特流中。HEVC可以指定三种类型的IRAP图片,断链访问(BLA)图片、瞬时解码器刷新(IDR)图片和纯净随机访问(CRA)图片。

HEVC中的编码视频序列(CVS)是一系列访问单元,从IRAP访问单元开始,直到(但不包括)按照解码顺序的下一个IRAP访问单元。

IDR图片总是开始新的CVS。IDR图片可以具有相关联的随机访问可解码前导(RADL)图片。IDR图片不具有相关联的RASL图片。

BLA图片也开始新的CVS,并且对解码过程的影响与IDR图片相同。然而,HEVC中的BLA图片可以包含指定参考图片的非空集合的语法元素。BLA图片可以具有相关联的RASL图片,这些图片不被解码器输出并且可能无法解码,因为它们可以包含对可能不存在于比特流中的图片的参考。BLA图片还可以具有相关联的RADL图片,这些图片被解码。

CRA图片可以具有相关联的RADL或RASL图片。与BLA图片一样,CRA图片可以包含指定参考图片的非空集合的语法元素。对于CRA图片,可以设置标志以指定相关联的RASL图片不被解码器输出,因为这些图片可能无法解码,因为它们可以包含对不存在于比特流中的图片的参考。CRA可以开始或可以不开始CVS。

现在将讨论参数集。HEVC可以指定三种类型的参数集,图片参数集(PPS)、序列参数集(SPS)和视频参数集(VPS)。PPS包含对整个图片公共的数据,SPS包含对编码视频序列(CVS)公共的数据,并且VPS包含对多个CVS公共的数据。

现在将讨论图块。HEVC和起草的VVC视频编码标准包括被称为图块的工具,该工具将图片分为空间上独立的矩形区域。起草的VVC编码标准中的图块与HEVC中使用的图块非常相似。使用图块,可以将VVC中的图片划分为多行样本和多列样本,其中图块是行和列的交集。图2示出了使用4个图块行和5个图块列的图块划分的示例,导致图片具有总共20个图块。图3是示例性图块划分。

现在将讨论块结构。在HEVC和起草的VVC规范中,每个图片都被划分为称为编码树单元(CTU)的正方形块。所有CTU的大小是相同的,并且在没有任何语法控制划分的情况下完成划分。每个CTU被进一步划分为编码单元(CU),编码单元(CU)可以具有正方形或矩形形状。编码图片可以包括根据所确定的扫描顺序(例如可以是光栅扫描顺序)的一系列经编码的CTU。可以出现其他CTU扫描顺序,例如在使用图块时。然后编码图片可以包括按照图块光栅扫描顺序的一系列经编码的图块,其中,每个经编码的图块可以包括按照CTU光栅扫描顺序的一系列CTU。

现在将讨论参考图片管理。HEVC中的图片由其图片顺序计数(POC)值(也称为完整POC值)标识。每个片包含码字pic_order_cnt_lsb,其对于图片中的所有片应当相同。pic_order_cnt_lsb也被称为完整POC的最低有效比特(lsb),因为它是固定长度码字,并且仅以信号通知完整POC的最低有效比特。编码器和解码器二者都保持跟踪POC,并将POC值指派给被编码/解码的每个图片。pic_order_cnt_lsb可以通过4-16个比特来以信号通知。HEVC中使用变量MaxPicOrderCntLsb,其被设置为最大pic_order_cnt_lsb值加1。这意味着如果使用8个比特以信号通知pic_order_cnt_lsb,则最大值为255,并且MaxPicOrderCntLsb被设置为2^8=256。图片的图片顺序计数值在HEVC中被称为PicOrderCntVal。通常,当前图片的PicOrderCntVal被简称为PicOrderCntVal。

使用参考图片集(RPS)来完成HEVC中的参考图片管理。参考图片集是在片报头中以信号通知的参考图片的集合。当解码器已经对图片进行了解码时,将经解码的图片与其POC值一起放在解码图片缓冲器(DPB)中。在对后续图片进行解码时,解码器从片报头中解析RPS语法并构建参考图片POC值的列表。将这些列表与DPB中存储的图片的POC值进行比较,并且RPS可以指定将DPB中的哪些图片保持在DPB中,以及移除哪些图片。从DPB中移除未包括在RPS中的所有图片。根据经解码的RPS信息,将保持在DPB中的图片或者标记为短期参考图片,或者标记为长期参考图片。

HEVC参考图片管理系统的一个属性是,针对每个片,以信号通知在对当前图片进行解码之前DPB应当具有的状态。这使解码器能够将以信号通知的状态与DPB的实际状态进行比较,并且确定是否缺失任何参考图片。

起草的VVC规范中的参考图片管理与HEVC中的参考图片管理略有不同。在HEVC中,以信号通知RPS,并且从RPS中导出用于帧间预测的参考图片列表。在起草的VVC规范中,以信号通知参考图片列表(RPL)并导出RPS。然而,在这两个规范中,都完成了将哪些图片保持在DPB中、哪些图片应是短期和长期的信令。两个规范中以相同的方式将POC用于图片标识和确定缺失的参考图片。

现在将讨论恢复点。恢复点用于仅使用时间预测图片在比特流中执行随机访问操作。恢复点也可用于在视频数据丢失的情况下刷新视频。

执行比特流中的随机访问操作的解码器在恢复点周期中对所有图片进行解码而不输出它们。当到达恢复点周期的最后一个图片(恢复点图片)时,视频已被完全刷新,并且可以输出恢复点图片和后续图片。恢复点机制有时被称为逐步解码刷新(GDR),因为该机制逐个图片地逐步刷新视频。

实际上,通过使用帧内编码块(例如CTU)逐步地刷新视频来创建GDR。对于恢复点周期中的每个图片,都会刷新视频的较大部分,直到视频已被完全刷新为止。

图4示出了用于视频的逐步解码刷新的两种不同的示例图案,垂直线和伪随机图案。图4示出了五个图片上的逐步解码刷新。白色块是未刷新块(或“脏”块),深灰色块是帧内编码块,并且深灰色和中灰色块是刷新块(或“干净”块)。图4的顶行示出了使用帧内编码块的垂直线的逐步刷新。图4的底行示出了使用伪随机图案的逐步刷新。其他常见模式可以包括水平线和按照光栅扫描顺序逐个块。图4的示例中的块可以是CTU。

刷新块可以被配置为仅从当前(空间帧内预测)和先前图片(时间预测)中的其他刷新块进行预测。这防止了伪像扩散到图片之间的刷新区域。

片或图块可用于以有效的方式限制未刷新块和刷新块之间的预测,这是因为片和图块边界可以关闭跨边界的预测但是允许其他地方的预测。图5示出了在用于GDR的图块中使用限制的示例。在图5中,图块边框用粗线示出。一个图块用于干净区域,一个图块用于脏区域。在图5的第一个示例中,可以将图片分为两个图块,其中一个图块包括刷新块且另一个图块包括未刷新块。在图5的示例中,随着时间的推移,图块分布和图块大小不是恒定的。

通过不限制或仅部分限制对刷新区域的时间预测和空间预测,也可以允许一定程度的伪像。

现在将讨论HEVC中的恢复点SEI消息。在AVC和HEVC中使用的用于在比特流中发送并非解码过程严格需要但是可以以各种方式帮助解码器的消息的机制是补充增强信息(SEI)消息。SEI消息在SEI NAL单元中以信号通知,并且对于解码器解析来说不是规范的。

HEVC和AVC定义的一种SEI消息是恢复点SEI消息。恢复点SEI消息在比特流中恢复周期开始的位置(在图片处)发送。当解码器调谐到比特流时,它可以从该位置开始按照解码顺序对所有图片进行解码而不输出它们,直到它到达恢复点图片,从恢复点图片开始,所有图片应被完全刷新并且可以输出。

HEVC中用于恢复点SEI的语法在图6中示出。在图6中,recovery_point_cnt可以指定恢复点图片,解码器可以从该恢复点图片开始输出图片。

仍然参考图6,exact_match_flag等于1可以指定从调谐到恢复点产生的恢复点图片与就像从先前IRAP图片开始解码比特流那样的恢复点图片精确匹配。exact_match_flag等于0可以指定恢复点图片应当与就像从先前IRAP图片开始解码比特流那样基本相同,但是可能不是精确匹配。

断链标志用于指示在比特流中的SEI消息的位置是否存在断链。如果断链标志被设置为等于1,则通过在先前IRAP图片的位置开始解码所产生的图片可以包含不应在恢复图片之前显示的不期望的视觉伪像。

现在将讨论JVET中关于恢复点的工作。在卢布尔雅那的第11届JVET会议上,成立了特设小组(AHG14)来研究VVC的恢复点。

在2018年10月在中国澳门的第12次会议上,讨论了以下两项提议:

在JVET-L0079中,首先讨论了需要对编码器侧的编码工具进行哪些非规范性改变以能够使用HEVC中的恢复点SEI消息实现精确匹配。所讨论的编码工具是高级时间MV预测(ATMVP)、帧内预测、块内复制、帧间预测和环路滤波器(包括样本自适应偏移(SAO)滤波器、去块滤波器和自适应环路滤波器(ALF))。该文档还讨论了可以应用于编码工具以提高压缩效率的一些规范性改变。

JVET-L0161提出在SPS、PPS中和在片级别以信号通知有关帧内刷新的信息。SPS/PPS中以信号通知的帧内刷新信息包括用于启用帧内刷新工具的标志、帧内刷新模式(列、行、伪)、帧内刷新图案的大小(例如列的宽度或行的长度)和帧内刷新增量QP。在片级别以信号通知的帧内刷新信息包括帧内刷新方向(从右到左/从左到右/从上到下/从下到上)和帧内刷新位置,帧内刷新方向要用于确定运动矢量约束,帧内刷新位置指定由帧内刷新图案的大小给出的帧内刷新块的位置。如果CU属于帧内刷新区域,则在图片级别根据帧内刷新位置值导出帧内刷新图案。

在2019年1月在马拉喀什的第13次会议上,输入文档JVET-M0529提出了使用NAL单元类型来指示恢复点,而不是像HEVC和AVC中那样使用SEI消息。所提出的语法仅包含一个码字recovery_poc_cnt,与HEVC中的使用类似。所提出的语法在图7中示出,其示出了JVET-M0529中提出的恢复点NAL单元语法。

还提出了在恢复点开始解码的解码过程。所提出的过程包括将RPB访问单元定义为与恢复点NAL单元相关联的访问单元以及以下内容:

·如果包含RPI NAL单元的RPB访问单元不是CVS中的第一个访问单元,并且随机访问操作没有在RPB访问单元处初始化,则RPB访问单元中的RPI NAL单元应被忽略。

·否则,如果包含RPI NAL单元的RPB访问单元是CVS中的第一个访问单元,或者随机访问操作在RPB访问单元处初始化,则以下适用:

о解码器应生成RPS中包括的所有参考图片。

о在导出RPB图片的PicOrderCntVal时,RPB图片的poc_msb_cycle_val应被设置为0

о RPB图片和按照解码顺序在RPB图片之后的所有图片都应被解码。

о RPB图片和按照解码顺序在RPB图片之后直到(但不包括)恢复点图片的所有图片不应被输出。

о被RPB访问单元中的图片或被按照解码顺序在该图片之后的任何图片参考的任何SPS或PPS RBSP在其激活之前应可用于解码过程。

该过程意味着JVET-M0529提出了CVS可以在恢复点开始。

尽管上面讨论了图片的解码,但是仍然存在对改进编码和解码中的恢复点处理的需求。

发明内容

根据发明构思的各种实施例,提供了一种从比特流中解码图片的集合的方法。该方法包括根据恢复点指示识别比特流中的恢复点。恢复点指定比特流中用于对图片的集合进行解码的起始位置。图片的集合包括第一图片,第一图片是图片的集合中按照解码顺序在恢复点指示之后的第一个图片,并且其中,图片的集合包括编码图片数据。该方法还包括对恢复点指示进行解码,以获得经解码的语法元素的集合。恢复点指示包括语法元素的集合。该方法还包括在解码器解析任何编码图片数据之前,从经解码的语法元素的集合中导出用于生成不可用参考图片的集合的信息。该方法还包括基于所导出的信息来生成不可用参考图片的集合。该方法还包括在生成不可用参考图片的集合之后,对图片的集合进行解码。

在一些实施例中,对图片的集合进行解码是在恢复点处初始化的,该方法还包括确定第一图片在图片的集合中的位置。该方法还包括确定第二图片在图片的集合中的位置。该方法还包括:对第一图片和图片的集合中在恢复周期中按照解码顺序在第二图片之前的所有其他图片进行解码,而不输出经解码的图片。该方法还包括对第二图片进行解码和输出。

在一些实施例中,该方法还包括在恢复点执行随机访问操作。

在一些实施例中,该方法还包括:基于在生成不可用参考图片的集合之后从比特流中解码图片来渲染图片的集合中的每个图片,以用于在屏幕上显示。

在一些实施例中,该方法还包括通过无线电和/或网络接口从远程设备接收比特流。

还提供了用于解码器和计算机程序的发明构思的对应实施例。

根据本发明构思的其他实施例,提供了一种将恢复点指示编码到比特流中的方法,恢复点指示具有关于如何生成不可用参考图片的信息。该方法包括将图片的第一集合编码到比特流。该方法还包括确定如果在图片的第一集合之后开始比特流中的解码,则将不可用于解码器的参考图片的集合。该方法还包括将恢复点指示编码到比特流。恢复点指示包括针对参考图片的集合的语法元素的集合。该方法还包括将图片的第二集合编码到比特流。图片的第二集合中的至少一个图片参考来自图片的第一集合的图片。

还提供了用于解码器和计算机程序的发明构思的对应实施例。

根据本发明构思的其他实施例,提供了一种将恢复点指示编码到比特流中的方法,恢复点指示具有关于如何生成不可用参考图片的信息。该方法包括将图片的第一集合编码到比特流。该方法还包括确定如果在图片的第一集合之后开始比特流中的解码,则将不可用于解码器的参考图片的集合。该方法还包括将恢复点指示编码到比特流。恢复点指示包括针对参考图片的集合的语法元素的集合。该方法还包括将图片的第二集合编码到比特流。图片的第二集合中的至少一个图片参考来自图片的第一集合的图片。

还提供了用于编码器和计算机程序的发明构思的对应实施例。

在一些方法中,当知道RPS中应当存在哪些参考图片时,才可以完成参考图片的生成。这可以在片报头(对于HEVC)或图块组报头(对于草案VVC)被解码时导出。这意味着在接收到片报头或图块组报头之前无法生成参考图片。

本公开的各种实施例可以提供针对这些和其他潜在问题的解决方案。在本公开的各种实施例中,可以向恢复点添加信息,使得恢复点中的信息足以生成用于恢复点随机访问的参考图片。结果,可以在接收到片报头或图块组报头之前完成图片的生成。

附图说明

附图示出了发明构思的某些非限制性实施例,该附图被包括以提供对本公开的进一步理解,且被并入并构成本申请的一部分。在附图中:

图1示出了HEVC中的NAL单元报头的语法;

图2示出了VCC中的NAL单元类型;

图3示出了示例性图块划分;

图4示出了五个图片上的逐步解码刷新;

图5示出了在用于GDR的图块中使用限制的示例。图块边框以粗线示出。一个图块用于干净区域,一个图块用于脏区域;

图6示出了HEVC恢复点SEI NAL单元语法;

图7示出了JVET-M0529中提出的恢复点NAL单元语法;

图8示出了根据本发明构思的一些实施例的用于低延迟视频的参考结构的示例;

图9示出了根据本发明构思的一些实施例的根据恢复点指示数据中的信息生成不可用参考图片的示例;

图10示出了具有恢复点指示NAL单元的示例比特流。根据本发明构思的一些实施例,NAL单元报头被标记为灰色;

图11示出了根据本发明构思的一些实施例的恢复点指示RBSP语法的示例;

图12示出了根据本发明构思的一些实施例的NAL单元类型码和NAL单元类型类别的示例;

图13示出了根据本发明构思的一些实施例的图片报头中的恢复点指示的语法的示例;

图14示出了根据本发明构思的一些实施例的作为VCL NAL单元中的NAL单元类型的恢复点指示的示例;

图15A示出了根据本发明构思的一些实施例的用于恢复点指示的恢复点指示语法元素的集合的内容的语法的示例,在SEI消息中以信号通知该恢复点指示;

图15B示出了根据本发明构思的一些实施例的用于在PPS中以信号通知恢复点指示语法元素的集合的示例语法;

图16至图20是示出了根据本发明构思的一些实施例的解码器的操作的流程图;

图21是根据本发明构思的一些实施例的解码器的框图;

图22是根据本发明构思的一些实施例的编码器的框图;以及

图23是示出了根据本发明构思的一些实施例的编码器的操作的流程图。

具体实施方式

在下文中,将参考附图更全面地描述本发明构思,在附图中示出了本发明构思的实施例的示例。然而,本发明构思可以以许多不同形式来体现,并且不应当被解释为限于本文中所阐述的实施例。相反,提供这些实施例使得本公开将全面和完整,并且将本发明构思的范围充分传达给本领域技术人员。还应注意,这些实施例并不互相排斥。来自一个实施例的组成部分可以被默认假设为存在于/用于另一实施例中。

以下描述呈现了所公开主题的各种实施例。这些实施例被呈现为教导示例,并且不被解释为限制所公开主题的范围。例如,在不脱离所述主题的范围的情况下,可以修改、省略或扩展所述实施例的某些细节。

如本文所讨论的,各种实施例适用于编码器和解码器中的控制器,如图8至图23所示。图21是根据一些实施例的解码器的示意框图。解码器2100包括输入单元2102,输入单元2102被配置为接收编码视频信号。图21示出了根据本文描述的各种实施例,解码器被配置为对比特流中的图片的集合进行解码。此外,解码器2100包括用于实现本文描述的各种实施例的处理器2104(本文中也被称为控制器或处理器电路或处理电路)。处理器2104耦接到输入(IN)和耦接到处理器2104的存储器2106(本文中也被称为存储器电路)。从处理器2104获得的经解码和重构的视频信号从输出(OUT)2110输出。存储器2106可以包括计算机可读程序代码2108,该计算机可读程序代码2108在由处理器2104执行时使处理器执行根据本文公开的实施例的操作。根据其他实施例,处理器2104可以被定义为包括存储器,使得不需要分离的存储器。

处理器2104被配置为从比特流中解码图片的集合。处理器2104可以根据恢复点指示识别比特流中的恢复点。恢复点可以指定比特流中用于对图片的集合进行解码的起始位置。图片的集合可以包括图片的集合中按照解码顺序在恢复点指示之后的第一个图片,并且图片的集合可以包括编码图片数据。处理器2104可以对恢复点指示进行解码以获得经解码的语法元素的集合。恢复点指示可以包括语法元素的集合。处理器2104可以在解码器解析任何编码图片数据之前,从经解码的语法元素的集合中导出用于生成不可用参考图片的集合的信息。处理器2104可以基于所导出的信息来生成不可用参考图片的集合,并且可以在生成不可用参考图片的集合之后对图片的集合进行解码。此外,模块可被存储在存储器2106中,并且这些模块可以提供指令,使得当处理器2104执行模块的指令时,处理器2104执行相应的操作(例如,以下关于涉及解码器的示例实施例所讨论的操作)。

具有其处理器2104的解码器可以用硬件实现。可以使用和组合电路元件的多种变体来实现解码器的单元的功能。这样的变体由各种实施例涵盖。解码器的硬件实现的特定示例是在数字信号处理器(DSP)硬件和集成电路技术中的实现,包括通用电子电路和专用电路二者。

图22是根据一些实施例的编码器的示意框图。编码器2200包括输入单元2202,输入单元2202被配置为发送编码视频信号。图22示出了根据本文描述的各种实施例,编码器被配置为将图片的集合编码到比特流中。此外,编码器2200包括用于实现本文描述的各种实施例的处理器2204(本文中也被称为控制器或处理器电路或处理电路)。处理器2204耦接到输入(IN)和耦接到处理器2204的存储器2206(本文中也被称为存储器电路)。来自处理器2204的编码视频信号从输出(OUT)2210输出。存储器2206可以包括计算机可读程序代码2208,该计算机可读程序代码2208在由处理器2204执行时使处理器执行根据本文所公开的实施例的操作。根据其他实施例,处理器2204可以被定义为包括存储器,使得不需要分离的存储器。

处理器2204被配置为将恢复点指示编码到比特流中,恢复点指示具有关于如何生成不可用参考图片的信息。处理器2204可以将图片的第一集合编码到比特流。处理器2204可以确定如果在图片的第一集合之后开始比特流中的解码,则将不可用于解码器的参考图片的集合。处理器2204可以将恢复点指示编码到比特流。恢复点指示可以包括用于参考图片的集合的语法元素的集合。处理器2204可以将图片的第二集合编码到比特流。图片的第二集合中的至少一个图片可以参考来自图片的第一集合的图片。此外,模块可被存储在存储器2206中,并且这些模块可以提供指令,使得当处理器2204执行模块的指令时,处理器2204执行相应的操作(例如,以下关于涉及解码器的示例实施例所讨论的操作)。

具有其处理器2204的编码器可以用硬件实现。可以使用和组合电路元件的多种变体来实现解码器的单元的功能。这样的变体由各种实施例涵盖。编码器的硬件实现的特定示例是在数字信号处理器(DSP)硬件和集成电路技术中的实现,包括通用电子电路和专用电路二者。

现在将讨论帧内随机访问点图片(IRAP)图片。不参考除自身以外的其他图片进行预测的编码图片。这意味着编码图片仅包含帧内编码块。IRAP图片可用于随机访问。

现在将讨论恢复点。恢复点可以是比特流中可以在不存在任何IRAP图片的情况下,执行随机访问操作的位置。

现在将讨论恢复点周期。恢复点周期可以是恢复点的周期,例如在执行恢复点随机访问操作时,从开始刷新的第一个图片直到视频被完全解码的最后一个图片的周期。

逐步解码刷新(GDR)图片可以是恢复点周期中的第一个图片。刷新从该图片开始。恢复点随机访问操作通过对该第一个图片进行解码开始。在该描述中,术语恢复点开始(RPB)图片也可以与GDR图片互换使用。

恢复点图片可以是恢复点周期中的最后一个图片。当恢复点周期中的该图片、GDR图片和之前的图片都被解码时,视频被完全刷新。

在本发明构思的一些实施例中,本公开中描述的恢复点指示可以包括:1)恢复点周期开始的位置,例如启动刷新的GDR图片的位置,以及2)恢复点周期结束的位置,例如恢复点图片的标识或位置,其中视频已被完全刷新。在一些实施例中,GDR图片的位置可以例如通过图片的语法元素或包括在图片的访问单元中的语法元素显式地以信号通知。在一些实施例中,优选地,在比特流中的GDR图片的位置处以信号通知恢复点指示,并且与恢复点指示一起显式地以信号通知恢复点图片的位置。

恢复点图片的位置可以通过与GDR图片一起发送的信息或在GDR图片的访问单元中以信号通知,例如通过以信号通知的信息,使得解码器可以在GDR图片或GDR访问单元被解码时导出恢复点图片的ID。解码器然后可以在对按照解码顺序在GDR图片之后的图片进行解码的同时检查与ID的匹配,并且匹配的图片被识别为恢复点图片。所导出的ID可以是帧编号、图片顺序计数编号、解码顺序编号或解码器针对解码图片导出并且可以充当图片标识符的任何其他编号。

当在恢复点调谐到比特流时,即执行对比特流的随机访问,或者如果比特流从恢复点开始,则解码器首先在比特流中定位规范恢复点指示。由于编码器知道解码器应支持恢复点,因此可以使用恢复点作为随机访问点的唯一类型对比特流进行编码,这将实现随机访问操作,同时满足低延迟要求。在已经定位恢复点指示之后,在从GDR图片开始解码恢复点周期中的图片之前,识别恢复点周期的开始和结束。除恢复点图片之外,不应输出恢复点周期中的图片。从恢复点图片开始,图片被正常解码和输出。

在另一实施例中,恢复点图片是按照解码顺序不输出的最后一个图片。在这种情况下,解码器在恢复点周期中不输出任何图片,包括恢复点图片,但是开始输出按照解码顺序在恢复点图片之后的图片。这里,恢复点图片可以不被完全刷新,并且在恢复点图片之后的图片可以被完全刷新。

当解码器在恢复点调谐到比特流时,如果由恢复点周期中的图片参考的图片按照解码顺序位于恢复点指示之前,则这些图片可能不可用,请参见下图。不可用图片的生成可以包括为图片分配存储器、将该图片中的块大小设置为特定值、将该图片的POC值设置为特定值等。当生成不可用参考图片时,可以将图片的样本阵列中的每个值设置为特定值,例如中灰色,并且可以将参考图片的每个预测模式设置为帧内模式。

图8示出了根据本发明构思的用于低延迟视频的参考结构的示例。参考图8,图片2-4包括在与恢复点相关联的恢复点周期中,其中图片2是GDR图片且图片4是恢复点图片。如果在恢复点开始解码,则由恢复点周期中的图片参考的图片0和1不可用,并且需要生成。

在JVET-M0529中提出的方法中,当知道RPS中应该存在哪些参考图片时,才可以完成参考图片的生成。这在对片报头(对于HEVC)或图块组报头(对于草案VVC)进行解码时导出。这意味着在接收到片报头或图块组报头之前无法完成参考图片的生成。

在本公开的一些实施例中,可以通过向恢复点NAL单元添加信息,使得恢复点NAL单元中的信息足以用于生成恢复点随机访问的必要参考图片来改进JVET-M529中提出的上述方法。

在一些实施例中,参考图片的生成可以提前执行。代替等待片或图块组NAL单元被接收和解析,解码器可以在恢复点NAL单元已被接收和解析时生成参考图片。

在一些实施例中,可以简化解码器中的参考图片的生成。解码器可以首先对恢复点NAL单元进行解码,其次通过分配必要的参考图片来准备解码器,第三可以在不需要知道RPB图片是否应被视为随机访问图片的情况下对RPB图片进行解码。上面讨论的关于JVET-M0529的方法更复杂,因为解码器将首先对恢复点NAL单元进行解码,其次对RPB图片的片或图块组报头进行解码,第三分配参考图片,第四对RPB图片的剩余编码片数据进行解码。由于参考图片的分配是在RPB NAL单元被解码时完成的,因此解码器需要知道RPB图片是否应被视为随机访问图片。

在一些实施例中,规范中描述解码过程所需的行数可以显著少于JVET-M0529中描述的方法所需的行数。

现在将关于在对任何图片数据进行解码之前,生成和初始化不可用参考图片的集合来讨论本发明构思的示例性实施例,实施例1。在该实施例中,不可用参考图片的生成和初始化在任何图片数据的解码开始之前完成。这与JVET-M0529形成对比,其中生成和初始化在RPB图片的VCL NAL单元的解析已经开始之后完成。JVET-M0529中这样做是因为不可用参考图片的生成和初始化取决于来自VCL NAL单元中的报头的信息。VCL NAL单元中的报头在这里是片段报头,例如片报头、图块组报头等。在JVET-M0529中,不可用参考图片的生成基于导出图片标识符的集合,这些图片标识符由RPB图片参考并在RPB图片的片或图块组报头中以信号通知。在该实施例中,不可用参考图片的生成基于要生成的参考图片的所有必要属性的显式信令,其中显式信令与由RPB图片参考的图片标识符的集合的信令分开,并且其中显式信令位于按照解码顺序比用于RPB图片的参考图片标识符的信令更早的位置。在该实施例的优选版本中,要生成的不可用参考图片的集合包括在RPB图片的RPL中以信号通知的所有参考图片。

根据一些实施例,在图9中示出根据恢复点指示数据中的信息来生成不可用参考图片,其中该图的顶部中的块集合示出了编码视频比特流。图9示出了根据本发明构思的一些实施例的根据恢复点指示数据中的信息来生成不可用参考图片。每个大块是编码图片数据,并且小块是恢复点指示数据,恢复点指示数据包括具有关于以下信息的语法元素:如何生成和初始化由相关联的恢复点周期中的图片参考的不可用参考图片。恢复点周期用虚线矩形标记。图片的示例参考结构在图的底部示出。恢复点周期包含恢复点指示和图片3、4、5和6,其中图片3是RPB图片。当在恢复点指示处执行随机访问时,参考图片0、1和2对于解码器不可用。使用恢复点指示数据中的信息生成和初始化这些不可用参考图片。在该实施例的优选版本中,在开始RPB图片(示例中的图片3)的解码之前,生成并初始化所有不可用参考图片。生成和初始化是在解码器解析RPB图片的任何数据之前完成的。注意,在该实施例的优选版本中,在开始RPB图片的解码之前,还生成并初始化图片0,图片0不被恢复点周期中的RPB图片参考而被恢复点周期中的图片4参考。对于当前版本的VVC草案,将在图片3的图块组报头中的参考图片列表(RPL)中以信号通知所有图片0、1和2。

在本发明构思的一些实施例中,解码器可以执行以下操作以用于对比特流执行随机访问操作:

1.识别和解码比特流中的恢复点指示,恢复点指示包括恢复点指示语法元素的集合S。

2.然后从集合S中导出用于生成和初始化不可用参考图片的集合的信息,并基于该信息来生成和初始化不可用参考图片的集合。

3.在生成和初始化不可用参考图片的集合之后,开始对按照解码顺序在恢复点指示之后的第一个编码图片进行解码。

4.然后对按照解码顺序在第一个编码图片之后的图片进行解码。

在本发明构思的一些实施例中,编码器可以执行以下操作以用于将恢复点指示编码到比特流中,恢复点指示具有关于如何生成不可用参考图片的信息:

1.将图片的第一集合编码到比特流。

2.确定如果解码将在图片的第一集合之后开始则将不可用于解码器的参考图片的集合。

3.将包括参考图片的语法元素的恢复点指示编码到比特流。

4.将图片的第二集合编码到比特流,其中图片的第二集合中的至少一个图片参考来自图片的第一集合的图片。

现在讨论根据本发明构思的另一示例性实施例,实施例2,其涉及恢复点指示语法元素的内容。讨论了恢复点指示语法元素的集合S的内容以及可以执行的相关操作。

现在讨论参数集指示。在一些实施例中,集合S可以包含指定至少一个参数集标识符的一个或多个语法元素。解码器将对参数集标识符进行解码,并且通过将经解码的参数集标识符和与经解码和存储的参数集相关联的参数集ID进行比较,来使用标识符识别参数集P。参数集P可以在集合S被解码或解析之前已被解码。解码器然后可以使用来自参数集P的信息来生成和初始化不可用参考图片。该信息可以包括例如比特深度、色度子采样类型(例如4:4:4和4:2:0)以及图片宽度和高度。

在一些实施例中,还可以存在多个参数集的链接。使用HEVC作为非限制性示例,解码器可以已存储多个图片参数集和序列参数集(PPS和SPS),每个参数集具有单独的ID值。集合S可以包含用于识别具有匹配ID的所存储的PPS的PPS值。PPS可以包含SPS标识符值,并且解码器可以使用它来识别具有匹配ID的所存储的SPS。解码器然后可以使用来自经识别的SPS的信息来生成和初始化不可用参考图片。

现在讨论不可用参考图片的数量。在一些实施例中,集合S可以包含一个或多个码字,其指定要生成和初始化的不可用参考图片的数量N。解码器将对该数量进行解码,并生成和初始化该数量的参考图片。集合S可以包含在集合S中出现N次的其他码字,其中这些其他码字的每个值可以指定相关联的不可用参考图片的属性。例如,S中可以存在指定存在2个不可用参考图片的码字。在该示例中,集合S然后还包含图片类型码字的两次出现,其中第一次出现可以指定第一不可用参考图片的图片类型,第二次出现可以指定第二不可用参考图片的图片类型。

现在讨论每个不可用参考图片的显式图片顺序计数值。在一些实施例中,集合S可以包含指定每个不可用参考图片的显式图片顺序计数值的一个或多个语法元素。这优选地与不可用参考图片的数量组合,使得集合S可以首先指定不可用图片的数量N,然后针对N个图片中的每个图片包含一个显式图片顺序计数值。解码器可以将显式图片顺序计数值指派给对应的不可用参考图片,例如通过将对应的不可用图片的变量PicOrderCntVal设置为从集合S中解码的显式图片顺序计数值的值。

在一些实施例中,显式图片顺序计数值可以在集合S中作为带符号的UVLC值以信号通知。备选地,显式图片顺序计数值可以作为两个码字的组合以信号通知,其中一个第一码字可以指定显式图片顺序计数值的X个最低有效比特,并且一个第二码字可以指定Y个最高有效比特。所导出的显式图片顺序计数值然后可以等于X+Y*2^z,其中X是具有长度z的固定长度码字。另外,可以存在一比特的第三码字来指定所导出的显式图片顺序计数值的符号。

现在讨论从GDR图片的图片顺序计数值导出每个不可用参考图片的图片顺序计数值。在一些实施例中,集合S可以包含指定GDR图片的显式图片顺序计数值的一个或多个语法元素,例如,根据以上讨论的关于每个不可用参考图片的显式图片顺序计数值的任何方法。然后集合S包含针对每个不可用参考图片的一个或多个码字,其表示增量图片顺序计数值。解码器然后通过将对应的增量图片顺序计数值与GDR图片的图片顺序计数值相加来导出特定不可用参考图片的图片顺序计数值。可以通过与用于以信号通知显式图片顺序计数值的任何方法类似的方法来以信号通知增量图片顺序计数,例如上面讨论的关于每个不可用参考图片的显式图片顺序计数值的方法。

现在讨论每个不可用参考图片的图片标记。在一些实施例中,集合S可以包含指定每个不可用参考图片的图片标记值的一个或多个语法元素。图片标记值可以指示对应的不可用参考图片是短期参考图片还是长期参考图片。可选地,图片标记可以备选地指示对应的不可用参考图片是未用于预测的图片。

在一些实施例中,解码器可以用从S中导出的标记值来标记对应的不可用参考图片。解码器可以将对应的不可用参考图片作为用从S中导出的标记值进行标记地存储在解码图片缓冲器中。

现在讨论不可用参考图片的公共宽度和高度。集合S可以包含指定一个图片宽度值和一个图片高度值的一个或多个语法元素。这些值可以是以亮度样本为单位的宽度值和高度值。在一些实施例中,解码器可以生成和初始化所有不可用参考图片,以具有等于从S中导出的宽度值和高度值的图片宽度和高度。

现在讨论每个不可用参考图片的单独宽度和高度。在一些实施例中,集合S可以包含指定每个不可用参考图片的单独宽度值和单独高度值的一个或多个语法元素。这些值可以是以亮度样本为单位的宽度值和高度值。解码器可以生成和初始化特定的不可用参考图片,以具有等于对应导出的宽度值和高度值的图片宽度和高度。

现在讨论分量的数量及其特性。在一些实施例中,集合S可以包含一个或多个码字,其指定要生成和初始化的不可用参考图片包括的分量的数量M。集合S可以包含一个或多个码字,其指定不可用参考图片的分量的相对尺寸,例如色度子采样类型或色度阵列类型。集合S可以包含一个或多个码字,其指定分量的比特深度。

在一些实施例中,解码器可以生成和初始化特定的不可用参考图片,以具有数量M个指定分量的图片。解码器可以从S中的码字导出一个或多个分量的尺寸,其指定分量的相对尺寸,例如通过将该信息与在别处以信号通知的一个特定分量(例如亮度分量)的宽度和高度组合。

现在讨论图片类型。在一些实施例中,集合S可以包含指定每个不可用参考图片的图片类型值的一个或多个语法元素。解码器可以将图片类型值指派给对应的不可用参考图片,例如通过将对应的不可用图片的图片类型变量设置为从集合S中针对该不可用图片解码的图片类型值的值。

在一些实施例中,图片类型值可以是以下非限制性示例之一:拖尾图片、非STSA拖尾图片、STSA图片、前导图片、RADL图片、RASL图片、IDR图片、CRA图片。

现在讨论时间ID。在一些实施例中,集合S可以包含指定每个不可用参考图片的时间ID值的一个或多个语法元素。解码器可以将时间ID值指派给对应的不可用参考图片,例如通过将对应的不可用图片的时间ID变量设置为从集合S中针对该不可用图片解码的时间ID值的值。

现在讨论层ID。在一些实施例中,集合S可以包含指定每个不可用参考图片的层ID值的一个或多个语法元素。解码器可以将层ID值指派给对应的不可用参考图片,例如通过将对应的不可用图片的层ID变量设置为从集合S中针对该不可用图片解码的层ID值的值。

现在讨论每个不可用参考图片的图片参数集(PPS)ID。在一些实施例中,集合S可以包含指定每个不可用参考图片的图片参数集标识符的一个或多个语法元素。解码器可以将图片参数集标识符指派给对应的不可用参考图片,例如通过将对应的不可用图片的图片参数集标识符变量设置为从集合S中针对该不可用图片解码的图片参数集标识符值的值。

在一些实施例中,可以存在至少两个不可用参考图片P1和P2,使得集合S包含两个对应的图片参数集合标识符I1和I2,其中I1和I2的值不同。这意味着图片P1与一个PPS相关联,且图片P2与另一个不同的PPS相关联。

现在讨论块大小。在一些实施例中,集合S可以包含指定块大小(例如编码树单元的亮度大小和/或编码树单元的色度大小)的一个或多个语法元素。

在一些实施例中,解码器可以将块大小值指派给对应的不可用参考图片,例如通过将每个不可用图片的块大小变量设置为经解码的块大小值的值。解码器可以生成和初始化至少一个不可用参考图片,以具有等于从S中对应导出的块大小值的块大小。解码器可以根据图片的大小和图片的块大小值导出不可用参考图片中的块数量,并针对不可用参考图片中的每个块指派至少一个值,例如帧内模式。

现在讨论根据本发明构思的另一示例性实施例,实施例3,其涉及例如恢复点指示NAL单元。在一些实施例中,恢复点的存在由恢复点指示NAL单元指示,并且恢复点指示语法元素的集合S位于恢复点指示NAL单元的有效载荷中。

在一些实施例中,该指示基于恢复点指示NAL单元的存在,使得如果存在恢复点指示NAL单元,则指示恢复点。如果恢复点指示NAL单元不存在,则不指示恢复点。优选地,使用非VCL NAL单元类型来指示恢复点,这意味着NAL单元不包含任何视频编码层数据。

图10示出了根据本发明构思的一些实施例的示例,根据本发明构思的一些实施例,其使用恢复点指示(RPI)NAL单元来指示比特流中的恢复点。参考图10,示出了具有恢复点指示NAL单元的示例比特流。NAL单元报头被标记为灰色。

图10示出了根据本发明构思的一些实施例的示例,其使用恢复点指示(RPI)NAL单元来指示比特流中的恢复点。在该示例中,比特流包含每个图片的一个VCL NAL单元,例如每个图片一个片或一个图块组。恢复点指示NAL单元被放置在包含开始刷新的GDR图片的VCL NAL单元之前。在该实施例的优选版本中,在访问单元中存在任何SPS或PPS的情况下,恢复点指示NAL单元被放置在访问单元中的任何SPS和PPS之前。在实施例的其他版本中,SPS和/或PPS被放置在访问单元中的恢复点指示之前或在带外以信号通知。恢复点指示NAL单元可以优选地位于与GDR图片相关联的访问单元中的任何VCL NAL单元之前。该访问单元可以被称为恢复点访问单元或恢复点开始(RPB)访问单元。如在10中的示例中,它也可以被称为随机访问点(RAP)访问单元。恢复点指示语法元素的集合S位于恢复点指示NAL单元(由10中的“RPI NAL单元”指示)的有效载荷中。

下面讨论的是根据本发明构思的一些实施例的有关在最新的VVC草案之上如何将恢复点指示指定为NAL单元类型的示例描述、语法和语义。

在本发明构思的一些实施例中,解码器可以执行以下操作以用于对比特流执行随机访问操作:

1.识别和解码比特流中的恢复点指示NAL单元,其包括恢复点指示语法元素的集合S。

2.从集合S中导出用于生成和/或初始化不可用参考图片的集合的信息。

3.基于该信息来生成不可用参考图片的集合。

4.基于该信息来初始化不可用参考图片的集合。

5.在生成和/或初始化不可用参考图片的集合之后,开始对按照解码顺序在恢复点指示之后的第一个编码图片进行解码。

6.然后对按照解码顺序在第一个编码图片之后的图片进行解码。

以下是有关在多功能视频编码(草案4)JVET-M1001-v1之上可以如何指定本发明构思的一些实施例的示例描述、语法和语义。根据本发明构思的一些实施例的改变用下划线标出。

· 3.18编码视频序列(CVS):访问单元序列,由IRAP访问单元或RPB访问单元按照解码顺序组成,随后是零个或多个不是IRAP访问单元的访问单元,包括直到作为IRAP访问单元的任意后续访问单元的所有后续访问单元,但是不包括作为IRAP访问单元的任意后续访问单元。

· 3.74恢复点:比特流中的点,在该点处比特流中的下一个比特是RPB访问单元 的第一个比特

· 3.75恢复点开始(RPB)访问单元:包含恢复点指示NAL单元的访问单元

· 3.76恢复点开始(RPB)图片:RPB访问单元中的编码图片

· 3.77恢复点周期:图片的集合,包括RPB图片以及RPB图片之后的所有图片,直 到并包括由包含RPB图片的访问单元中的恢复点指示NAL单元指示的恢复点图片

· 3.78恢复点图片:恢复点周期中按照解码顺序的最后一个编码图片

根据本发明构思的一些实施例,可以在JVET-M1001-v1之上添加“7.3.2.5恢复点指示RBSP语法”部分,例如在本公开的图11中所示。

根据发明构思的一些实施例,可以在JVET-M1001-v1之上添加“7.4.2.2NAL单元报头语义”部分,例如在本公开的图12中所示。根据本发明构思的一些实施例的改变用下划线标出。

在本发明构思的一些实施例中,当nal_unit_type等于RPI_NUT时,时间Id(TemporalId)应等于0。

现在将讨论根据本发明构思的一些实施例的恢复点指示RBSP语义。

在本发明构思的一些实施例中,RPI NAL单元应在包含RPI NAL单元的访问单元中的任何VCL NAL单元之前。RPI NAL单元应在包含RPI NAL单元的访问单元中的任何SPS或PPS NAL单元之后。包含RPI NAL单元的访问单元中的所有VCL NAL单元的时间Id应等于0。

在一些实施例中,如果包含RPI NAL单元的RPB访问单元不是CVS中的第一个访问单元并且随机访问操作没有在RPB访问单元处初始化,则RPB访问单元中的RPI NAL单元应被忽略。

在一些实施例中,否则,如果包含RPI NAL单元的RPB访问单元是CVS中的第一个访问单元,或者随机访问操作在RPB访问单元处初始化,则以下适用:

-解码器应根据8.2.2中描述的过程生成不可用参考图片。

-当导出RPB图片的PicOrderCntVal时,RPB图片的poc_msb_cycle_val应被设置为0。

-RPB图片和按照解码顺序在RPB图片之后的所有图片都应被解码。

-RPB图片和按照解码顺序在RPB图片之后直到(但不包括)恢复点图片的所有图片不应但可以被输出。

-由RPB访问单元中的图片或按照解码顺序在该图片之后的任何图片参考的任何SPS或PPS RBSP在其激活之前应可用于解码过程。

在本发明构思的一些实施例中,比特流一致性的要求可以是按照解码顺序在恢复点图片之后的解码图片应该与将通过在IRAP或RPB访问单元的位置开始解码过程产生的图片精确匹配,在比特流中,该IRAP或RPB单元按照解码顺序在属于与恢复点图片相同的恢复点周期的RPB图片(如果有的话)之前。在本发明构思的一些实施例中:

recovery_poc_cnt可以指定恢复点图片的图片顺序计数。按照解码顺序在当前图片之后具有如下PicOrderCntVal的图片被称为恢复点图片:等于当前图片的PicOrderCntVal加上recovery_poc_cnt的值的PicOrderCntVal。按照解码顺序,恢复点图片不应在当前图片之前。recovery_poc_cnt的值应在-MaxPicOrderCntLsb/2到MaxPicOrderCntLsb/2-1的范围内(含端值)。

rpi_pic_parameter_set_id可以指定使用中的PPS的pps_pic_parameter_set_id的值。rpi_pic_parameter_set_id的值应与RPB访问单元中的编码图片的图块组报头的tile_group_pic_parameter_set_id的值相同。

number_of_reference_pictures可以指定如果RPI NAL单元是CVS中的第一个访问单元或者随机访问操作在RPB访问单元处初始化,则应当生成的参考图片的数量。

rpi_long_term_picture_flag[i]等于1可以指定第i个参考图片是长期图片。rpi_long_term_picture_flag等于0可以指定第i个参考图片是短期图片。

rpi_pic_order_cnt_val[i]可以指定第i个所生成的不可用参考图片的PicOrderCntValue。

现在将根据本发明构思的一些实施例讨论用于生成不可用参考图片的解码过程。

在一些实施例中,如果对应的RPB访问单元是CVS中的第一个访问单元或者随机访问操作在RPB访问单元处初始化,则针对比特流中的任何RPB NAL单元调用该过程。

以下可以适用:

–将使用中的SPS设置为具有等于PPS的pps_seq_parameter_set_id的值的sps_seq_parameter_set_id的值的SPS,pps_pic_parameter_set_id的值等于rpi_pic_parameter_set_id的值。

–对于0到number_of_reference_pictures-1(含端值)范围内的每个i,生成不可用图片,并且以下适用:

–将所生成的图片的PicOrderCntVal的值设置为等于rpi_pic_order_cnt_val[i]。

–针对所生成的图片,(所生成的图片的变量tile_group_pic_order_cnt_lsb的)POC lsb值被导出为PicOrderCntVal%MaxPicOrderCntLsb,其中%是模运算。这可以相当于将POC lsb值指派为等于PicOrderCntVal的n个最低有效比特,其中n等于log2_max_pic_order_cnt_lsb_minus4+4。

–如果rpi_long_term_picture_flag[i]等于1,则所生成的图片被标记为“用于长期参考”。

–如果rpi_long_term_picture_flag[i]等于0,则所生成的图片被标记为“用于短期参考”。

–如第7.4.3.1节中指定的针对使用中的SPS导出变量BitDepthY、BitDepthC和ChromaArrayType。

–将变量PicWidthInLumaSamples设置为等于使用中的SPS的pic_width_in_luma_samples。

–将变量PicHeightInLumaSamples设置为等于使用中的SPS的pic_height_in_luma_samples。

–将针对所生成的图片的样本阵列SL中的每个元素的值设置为等于1<<(BitDepthY-1)。

–当ChromaArrayType不等于0时,将针对所生成的图片的样本阵列SCb和SCr中的每个元素的值设置为等于1<<(BitDepthC-1)。

–对于x=0..PicWidthInLumaSamples-1,y=0..PicHeightInLumaSamples-1,将预测模式CuPredMode[x][y]设置为等于MODE_INTRA。

假设在VVC规范中存在sps_max_dec_pic_buffering语法元素,解码器可以选择生成sps_max_dec_pic_buffering数量而不是number_of_reference_pictures数量的图片。

现在讨论根据一些发明构思的另一示例性实施例,实施例4,其涉及例如用于生成和初始化不可用参考图片的方法。本发明构思的一些实施例可以包括指派和/或分配存储器来存储用于不可用参考图片的值,其中所存储的值包括针对图片的每个分量的样本值。

在一些实施例中,示例实施例2中描述的元素的内容可用于确定需要针对不可用参考图片指派/分配的存储器大小,针对不可用参考图片的集合中的每个参考图片生成图片,并初始化不可用参考图片的集合中的每个参考图片。

在一些实施例的优选版本中,所有不可用参考图片是在按照解码顺序在恢复点指示之后的第一个编码图片(例如RPB图片)的解码之前生成和初始化的。

在本发明构思的一些实施例中,解码器可以执行以下操作以用于在对比特流执行随机访问操作时生成和初始化不可用参考图片:

1.识别和解码比特流中的恢复点指示,恢复点指示包括恢复点指示语法元素的集合S。

2.从集合S中导出用于生成和/或初始化不可用参考图片的集合的信息。

3.确定不可用参考图片所需的存储器大小,其中,确定存储器大小包括以下中的至少一项:

不可用参考图片的数量

每个参考图片的分量的数量

每个分量的宽度和高度

每个分量中的样本的比特深度

4.基于所确定的所需存储器大小来针对不可用参考图片指派和/或分配存储器

5.针对不可用参考图片的集合中的每个参考图片生成图片,其中该生成包括以下中的至少一项:

设置图片的分量的数量

针对图片的每个分量,设置宽度和高度

针对图片的每个分量,设置样本比特深度

针对图片中的每个样本,设置样本值

将PPS标识符指派给参考图片

将SPS标识符指派给参考图片

将标识符指派给参考图片,例如图片顺序计数值

将参考图片标记为短期图片、长期图片或未用于预测

将图片类型指派给参考图片

将时间ID指派给参考图片

将层ID指派给参考图片

针对每个分量指派块大小

将所生成的参考图片中的每一个标记为已初始化

现在讨论根据一些发明构思的另一示例性实施例,实施例5,其涉及例如图片报头中的恢复点指示。VVC的最终版本可以包括图片报头以有效地对在图块组之间相同的报头数据进行编码。

在本发明构思的一些实施例中,在这样的图片报头中以信号通知恢复点指示的恢复点指示语法元素的集合S的内容。图13示出了根据本发明构思的一些实施例的用于此的示例语法和语义。参考图13,recovery_point_start_flag等于1可以指定当前图片是恢复点的第一个图片。恢复点的最后一个图片由recovery_poc_cnt指定。recovery_point_start_flag等于0可以指定当前图片不是恢复点的第一个图片。

在根据一些发明构思的该示例中,recovery_poc_cnt、rpi_pic_parameter_set_id、number_of_reference_pictures、rpi_long_term_picture_flag[i]和rpi_pic_order_cnt_val[i]的语义与示例性实施例3中描述的相同。

在图片报头中指定恢复点指示的潜在缺点可以是它可能无法很好地暴露给系统层。一种使其更易于系统层访问的方法可以是针对恢复点语法和恢复点语法之前的语法元素使用固定长度编码和/或将恢复点语法元素放在图片报头的开头。

在本发明构思的一些实施例中,当前图片是恢复点的第一个图片的指示(上述示例中的recovery_point_start_flag)是通过一些其他方式(例如,如示例性实施例6中那样作为VCL NAL单元中的nal_unit_type)以信号通知的。

现在讨论根据本发明构思的另一示例性实施例,实施例6,其涉及例如作为VCLNAL单元中的NAL单元类型的恢复点指示。在本发明构思的一些实施例中,恢复点指示的指示作为VCL NAL单元中的NAL单元类型以信号通知。在一些实施例中,可以定义两个新的NAL单元类型;图片类型NON_IRAP_RPI_BEGIN,其指示恢复点周期开始,和NAL单元类型NON_IRAP_RPI_END,其指示恢复点周期结束。

根据本发明构思的一些实施例,在当前VVC草案之上的示例规范文本在图14中示出。

在一些实施例中,不需要显式地以信号通知恢复点图片的POC。

为了完全支持时间层,NON_IRAP_RPI_BEGIN_NUT和NON_IRAP_RPI_END_NUT应被限制为不针对不同时间层的图片进行设置。

在一些实施例中,可以为在系统层轻松访问恢复点信息提供益处。该方法的潜在问题是恢复点指示变得依赖于图片类型。为了允许具有不同图片类型的图片中的恢复点,可能需要用于所有组合或组合的子集的NAL单元类型。这可以包括是否希望支持从与先前恢复点周期结束处的图片相同的图片开始的恢复点。为了能够支持重叠恢复点,可能需要用于将恢复点周期的结束映射到新恢复点的正确开始的机制。

在本发明构思的一些实施例中,关于恢复点周期结束的信息(例如,恢复点图片的POC)、恢复点指示语法元素的集合S的内容以及与恢复点相关的其他信息中的至少一个通过其他方式(例如在实施例5中描述的图片报头中、在如关于示例性实施例7描述的SPS或PPS中或在图块组报头中)以信号通知。因此,如果通过其他方式以信号通知恢复点周期的结束,则仅恢复点的开始(NON_IRAP_RPI_BEGIN_NUT)被作为NAL单元类型以信号通知。

现在讨论本发明构思的另一示例性实施例,实施例7,其涉及例如SEI、PPS或SPS中关于生成参考图片的信令信息。在一些实施例中,在SEI消息中以信号通知恢复点指示的恢复点指示语法元素的集合S的内容。图15A示出了根据本发明构思的一些实施例的用于此的示例语法。

在图15A的示例中,recovery_poc_cnt、rpi_pic_parameter_set_id、number_of_reference_pictures、rpi_long_term_picture_flag[i]和rpi_pic_order_cnt_val[i]的语义与关于示例性实施例3所描述的相同。

在另一个实施例中,在SPS或PPS中以信号通知恢复点指示的恢复点指示语法元素的集合S的内容。图15B示出了根据本发明构思的一些实施例的用于在PPS中以信号通知恢复点指示语法元素的集合S的示例语法。在该示例性实施例中,recovery_poc_cnt、rpi_pic_parameter_set_id、number_of_reference_pictures、rpi_long_term_picture_flag[i]和rpi_pic_order_cnt_val[i]的语义与关于示例性实施例3所描述的相同。

恢复点周期开始的位置的指示应优选地通过除参数集之外的其他方式以信号通知,因为参数集可以对多个图片有效。恢复点周期开始的位置的指示可以例如作为图片的NAL单元报头中的NAL单元类型以信号通知,该图片具有包含附加恢复点信息的活动SPS或PPS。

现在讨论本发明构思的另一示例性实施例,实施例8,其涉及例如以参考点开始CVS并且在解码RPB图片之前生成不可用参考图片。在本发明构思的一些实施例中,CVS以恢复点开始,其中不可用参考图片是在开始对恢复点周期的RPB图片进行解码之前生成和/或初始化的,如先前或以下实施例中的任一实施例所述。

以规范的方式定义恢复点指示,例如在非VCL NAL单元中或作为VCL NAL单元中的nal_unit_type,使CVS能够以恢复点开始。这在对使用恢复点编码的低延迟编码比特流进行分割以支持随机访问之后可能很有用。

在当前的VVC草案中,CVS被定义如下,其中本发明构思用下划线和删除线示出:

访问单元:NAL单元的集合,这些NAL单元根据指定的分类规则彼此相关联,在解码顺序上是连续的,并且恰好包含一个编码图片。

编码视频序列(CVS):访问单元序列,由IRAP访问单元按照解码顺序组成,随后是零个或多个不是IRAP访问单元的访问单元,包括直到作为IRAP访问单元的任意后续访问单元的所有后续访问单元,但是不包括作为IRAP访问单元的任意后续访问单元。

以下是用于针对本发明构思的一些实施例定义允许规范指定的恢复点开始CVS的CVS的示例文本,其中恢复点指示访问单元是与恢复点的GDR图片相关联的访问单元:

编码视频序列(CVS):访问单元序列,由IRAP访问单元或恢复点指示访问单元按照解码顺序组成,随后是零个或多个不是IRAP访问单元的访问单元,包括直到作为IRAP访问单元的任意后续访问单元的所有后续访问单元,但是不包括作为IRAP访问单元的任意后续访问单元。

在本发明构思的一些实施例中,恢复点指示访问单元还可以定义CVS的结束。CVS的定义的示例文本如下所示:

编码视频序列(CVS):访问单元序列,由IRAP访问单元或恢复点指示访问单元按照解码顺序组成,随后是零个或多个不是IRAP访问单元且不是恢复点指示访问单元的访问单元,包括直到作为IRAP访问单元或恢复点访问单元的任意后续访问单元的所有后续访问单元,但是不包括作为IRAP访问单元或恢复点访问单元的任意后续访问单元。

恢复点指示访问单元也可以称为其他名称,例如GDR访问单元或恢复点开始(RPB)访问单元。

在本发明构思的一些实施例中,可以定义随机访问点(RAP)访问单元,其可以包括IRAP图片或恢复点的GDR图片:

编码视频序列(CVS):访问单元序列,由 RAP访问单元按照解码顺序组成,随后是零个或多个不是 RAP访问单元的访问单元,包括直到作为 RAP访问单元的任意后续访问单元的所有后续访问单元,但是不包括作为 RAP访问单元的任意后续访问单元。

随机访问点(RAP)访问单元:访问单元,其中编码图片是IRAP图片或其中访问单元 包含恢复点指示。

现在讨论根据本发明构思的另一示例性实施例,实施例9,其涉及例如针对图片的空间子集的恢复点。在发明构思的一些实施例中,与以上讨论的一些实施例相比,恢复点指示的范围不是整个图片,而是图片的时间对齐的片段的集合,其中片段可以是图块、图块组、片等。因此,该实施例中的恢复点指示可以指定图片的一个或多个片段何时完全刷新。

在一些实施例中,恰好在每个片段之前以信号通知恢复点指示,例如在NAL单元或片段报头中。

在另一个实施例中,恢复点指示在针对整个图片的相同容器(例如NAL单元、PPS、SPS或图片报头)中以信号通知,但是对于每个片段的恢复周期可以具有不同的开始和/或结束图片。

在另一个实施例中,以信号通知的恢复点指示可以包括整个图片的恢复点周期的开始图片和结束图片以及针对每个片段的恢复点周期的单独的开始图片和/或结束图片。

在另一个实施例中,恢复点指示包括用于确定空间范围是整个图片还是只是比特流中的片段的标志。

在另一个实施例中,当随机访问操作在针对片段的恢复点处启动时,仅生成不可用参考图片中与该片段共位的空间区域。

在另一个实施例中,当随机访问操作在针对片段的恢复点处启动时,生成完整的不可用参考图片。

以下时根据本发明构思的示例性实施例1至9的进一步讨论。

在对任何图片数据进行解码之前,生成和初始化不可用参考图片的集合的示例性实施例1的一些实施例可以包括:

1.一种用于对视频比特流进行解码的方法,该视频比特流包括图片的编码视频序列(CVS),图片包含恢复点(例如至少一个恢复点),其中:

恢复点是比特流中的位置,其中解码可以从包含至少一个不是帧内编码块的块的图片A开始,

识别按照解码顺序在图片A之后的图片B,

如果从图片A开始解码,并且按照解码顺序在图片A之后且在图片B之前的图片以及图片B被解码,则视频在图片B被完全刷新,并且该方法包括:

获得(例如接收)视频比特流;

从视频比特流中解码恢复点的指示;

通过从比特流中解码语法元素的集合S,导出用于生成和初始化(不可用)参考图片的集合的信息;

根据用于生成和初始化参考图片的集合的信息来生成和初始化参考图片的集合;以及

在生成和初始化参考图片的集合之后,开始对图片A进行解码

示例性实施例2的一些实施例可以包括实施例1,其中通过从比特流中解码语法元素的集合S来导出用于生成和初始化参考图片的集合的信息包括:(从S中)导出并使用以下信息中的一个或多个:

1.导出至少一个参数集标识符,其标识对图片A活动的参数集

2.导出要生成和初始化的参考图片的数量

3.导出每个参考图片的图片顺序计数值,并将所导出的图片顺序计数值指派给相关联的参考图片

4.导出图片A的图片顺序计数值,导出每个参考图片的相对于图片A的图片顺序计数的增量图片顺序计数,并使用这些导出的值来计算每个参考图片的图片顺序计数值,并将计算出的图片顺序计数值指派给相关联的参考图片

5.导出每个参考图片的图片标记状态,其中图片标记状态是长期图片和短期图片之一(以及可选的未用于预测标记状态),并利用所导出的标记状态标记每个参考图片

6.导出亮度宽度值和亮度高度值,并生成具有该宽度和高度的参考图片

7.导出每个参考图片的亮度宽度值和亮度高度值,并生成每个参考图片,以具有相关联的所导出的亮度宽度值和高度值的宽度和高度

8.导出图片A的分量的数量、并且参考可以包括分量的相对尺寸(HEVC中的ChromaArrayType)以及每个分量或所有分量的比特深度。根据所导出的值来生成具有该数量的分量、相对尺寸和比特深度的参考图片。

9.导出每个参考图片的图片类型值,并将所导出的图片类型值指派给相关联的参考图片

10.导出每个参考图片的时间ID值,并将所导出的时间ID值指派给相关联的参考图片

11.导出每个参考图片的层ID值,并将所导出的层ID值指派给相关联的参考图片

12.导出每个参考图片的至少一个图片参数集标识符,并将所导出的至少一个图片参数集标识符值指派给相关联的参考图片

13.导出块大小(例如编码树单元的大小),生成参考图片以具有该块大小,并将块大小指派给参考图片

示例性实施例3的一些实施例可以包括实施例1和2,其中语法元素的集合S是从具有非VCL NAL单元类型的非VCL NAL单元解码的,非VCL NAL单元类型指示非VCL NAL单元是恢复点指示非VCL NAL单元。

示例性实施例4的一些实施例可以包括实施例1至3,其中生成和初始化参考图片的集合中的参考图片包括分配或指派存储器以存储针对图片的值,其中所存储的值包括针对图片的每个分量的样本值。

示例性实施例4的一些实施例还可以包括其中生成和初始化参考图片的集合中的参考图片包括以下中的至少一项的情况:

a.设置图片的分量的数量

b.针对图片的每个分量,设置宽度和高度

c.针对图片的每个分量,设置样本比特深度

d.针对图片中的每个样本,设置样本值

e.将PPS标识符指派给参考图片

f.将SPS标识符指派给参考图片

g.将标识符指派给参考图片,例如图片顺序计数值

h.将参考图片标记为短期图片、长期图片或未用于预测

i.将图片类型指派给参考图片

j.将时间ID指派给参考图片

k.将层ID指派给参考图片

l.针对每个分量指派块大小

m.将所生成的参考图片中的每一个标记为已初始化

示例性实施例5的一些实施例可以包括实施例1至4,其中语法元素的集合S是从图片报头解码的。

示例性实施例6的一些实施例可以包括实施例1至5,其中恢复点开始的指示和恢复点周期结束的指示中的至少一个是从VCL NAL单元中的NAL单元类型语法元素解码的。

示例性实施例7的一些实施例可以包括实施例1至6,其中语法元素的集合S是从SEI消息解码的。

示例性实施例7的一些实施例还可以包括其中语法元素的集合S是从诸如PPS或SPS之类的图片参数集解码的。

示例性实施例8的一些实施例可以包括实施例1至7,其中CVS以恢复点开始。

示例性实施例8的一些实施例还可以包括其中CVS是比特流中符合标准规范的符合部分,使得要求符合标准规范的解码器能够对CVS进行解码。

示例性实施例9的一些实施例可以包括实施例1至8,其中:

恢复点指示仅对图片的空间子集有效。

根据本发明构思的一些实施例,现在将参考图16的流程图来讨论(使用图21的框图的结构来实现的)解码器2100的操作。例如,模块可以存储在图21的存储器2106中,并且这些模块可以提供指令,使得当模块的指令由相应的无线设备处理电路2104执行时,处理电路2104执行流程图的相应操作。

图16示出了解码器从比特流中解码图片的集合的操作。可以根据图21所示的结构提供解码器。

在图16的框1600处,解码器的处理器2104根据恢复点指示识别比特流中的恢复点。恢复点可以指定比特流中用于对图片的集合进行解码的起始位置。图片的集合可以包括第一图片,该第一图片是图片的集合中按照解码顺序在恢复点指示之后的第一个图片,并且图片的集合包括编码图片数据。编码图片数据包括携带编码样本的数据,包括伴随编码样本的报头。通常,编码图片数据是指被打包到数据单元(例如从HEVC和VVC草案规范已知的NAL单元)中的编码数据。编码图片数据可以包括携带编码样本的数据单元或NAL单元中的所有数据,包括诸如片报头和/或图块组报头之类的报头。例如,编码图片数据可以包括比特流中的所有VCL NAL单元,而没有非VCL NAL单元可被视为编码图片数据。编码图片数据的解码导致确定图片的样本值的集合。作为非编码图片数据的数据的解码可以不导致确定任何样本值,因为该数据不包含任何编码样本。图片报头可以不被视为编码图片数据,特别是如果它被打包到的单元不包括任何编码样本数据。

仍然参考图16的框1600,第一图片可以包括不是帧内编码块的块。不可用参考图片的集合可以包括至少一个不可用参考图片。图片的集合还可以包括至少一个图片。恢复点指示之前可以是不可用参考图片的集合,之后可以是图片的集合。图片的集合还可以包括对不可用参考图片的集合的参考。图片的集合可以包括从第一图片开始并在恢复点图片结束的恢复点周期。恢复点指示还可以包括指定比特流中的恢复点周期结束的图片。比特流可以从比特流中由恢复点指定的起始位置开始。比特流可以包括比特流中符合标准规范的符合部分,并且解码对比特流的符合部分进行解码。比特流的符合部分可以是CVS。

仍然参考图16的框16,恢复点指示可以对图片的集合中的每个图片的空间子集有效。图片的集合中的第一图片之后可以是图片的集合中的第二图片,其中第一图片和第二图片是不同的图片,并且其中第二图片按照解码顺序在第一图片之后。恢复点指示可以包括恢复点的规范指示,并且恢复点的规范指示可以包括图片的集合中的第一图片和第二图片中的至少一个的时间位置。如果以下中的至少一项成立,则可以忽略恢复点的规范指示:恢复点没有开始所述比特流,以及没有在所述恢复点处执行随机访问操作。规范恢复点指示可以不被包含在从语法元素的集合中解码的补充增强信息(SEI)消息中。恢复点指示和图片的集合中的第一图片可以属于相同的访问单元。不可用参考图片的集合可以包括比特流中的按照解码顺序在图片的集合中的第一图片之前的所有不可用参考图片,并且对图片的集合进行解码可以使用不可用参考图片的集合按照解码顺序对图片的集合中的所有图片进行解码,解码在比特流中从图片的集合中的第一图片开始,并在比特流中以图片的集合中的第二图片结束。

在图16的框1602处,解码器的处理器2104对恢复点指示进行解码,以获得经解码的语法元素的集合。恢复点指示可以包括语法元素的集合。语法元素的集合可以包括恢复点指示语法元素的集合。语法元素的集合可以包括至少一个语法元素。经解码的语法元素的集合是从非视频编码层(非VCL)网络抽象层(NAL)中的恢复点指示中解码的,非视频编码层(非VCL)网络抽象层(NAL)具有指示非VCL NAL单元是恢复点指示非VCL NAL单元的非VCLNAL单元类型。语法元素的集合可以从图片报头解码。恢复点指示可以从包括网络抽象层(NAL)单元类型语法元素的视频编码层(VCL)NAL单元解码。经解码的语法元素可以包括以下至少之一:恢复点的起始位置和恢复点周期的结束位置。经解码的语法元素的集合可以从补充增强信息(SEI)消息解码。经解码的语法元素的集合可以从包括以下至少一个的图片参数集解码:图像参数集(PPS)和序列参数集(SPS)。

在图16的框1604处,解码器的处理器2104在解码器解析任何编码图片数据之前,从经解码的语法元素的集合中导出用于生成不可用参考图片的集合的信息。从经解码的语法元素的集合中导出用于生成不可用参考图片的集合的信息包括以下至少一项:

·导出至少一个参数集标识符,其标识对图片的集合中的第一图片活动的参数集;

·导出要生成的不可用参考图片的集合中的不可用参考图片的数量;

·导出不可用参考图片的集合中的每个图片的图片顺序计数值,并将所导出的图片顺序计数值指派给不可用参考图片的集合中的每个相关联的图片;

·导出图片的集合中的第一图片的图片顺序计数值,导出不可用参考图片的集合中的每个图片相对于图片的集合中的第一图片的图片顺序计数值的增量图片顺序计数的增量值,并且使用所导出的增量值来计算不可用参考图片的集合中的每个图片的图片顺序计数值,并将计算出的图片顺序计数值指派给相关联的不可用参考图片中的每个图片;

·导出不可用参考图片的集合中的每个图片的图片标记状态,其中图片标记状态是以下至少之一:长期图片、短期图片,并且用所导出的标记状态来标记所述不可用参考图片的集合中的每个图片;

·导出亮度宽度值和亮度高度值,并且生成不可用参考图片的集合中的每个图片,每个图片具有该亮度宽度值和该亮度高度值;

·导出不可用图片的集合中的每个图片的亮度宽度值和亮度高度值,并生成不可用参考图片的集合中的每个图片,以具有相关联的所导出的亮度宽度值和高度值的宽度和高度;

·导出不可用参考图片的分量的数量,包括每个分量的相对尺寸值和每个分量的比特深度值;以及根据所导出的值生成具有该数量的分量、该相对尺寸和该比特深度的不可用参考图片的集合中的每个图片;

·导出不可用参考图片的集合中的每个图片的图片类型值,并将所导出的图片类型值指派给不可用参考图片的集合中的每个相关联的不可用参考图片;

·导出不可用参考图片的集合中的每个图片的时间标识值,并将所导出的时间标识值指派给不可用参考图片的集合中的每个相关联的不可用参考图片;

·导出不可用参考图片的集合中的每个图片的层标识值,并将所导出的层标识值指派给不可用参考图片的集合中的每个相关联的不可用参考图片;

·导出不可用参考图片的集合中的每个图片的至少一个图片参数集标识符,并将所导出的至少一个图片参数集标识符值指派给不可用参考图片的集合中的每个相关联的不可用参考图片;以及

·导出块大小,块大小包括编码树单元的大小,生成不可用参考图片的集合中的每个图片以具有该块大小,并将块大小指派给不可用参考图片的集合中的每个不可用参考图片。

在图16的框1606处,解码器的处理器2104基于所导出的信息来生成不可用参考图片的集合。例如,该生成可以在解码器解析任何编码图片数据之前完成。生成不可用参考图片的集合可以包括生成不可用参考图片的集合中的每个图片。根据所导出的信息生成不可用参考图片的集合可以包括:在开始对图片的集合中的任何图片进行解码之前,生成不可用参考图片的集合。生成不可用参考图片的集合可以包括:分配或指派存储器以存储针对不可用参考图片的集合中的每个图片的值。所存储的值可以包括针对不可用参考图片的集合中的每个图片的每个分量的样本值。生成不可用参考图片的集合中的每个图片可以包括以下中的至少一项:

·设置不可用参考图片的集合中的图片的分量的数量;

·针对不可用参考图片的集合中的图片的每个分量,设置宽度和高度;

·针对不可用参考图片的集合中的图片的每个分量,设置样本比特深度;

·针对不可用参考图片的集合中的图片中的每个样本,设置样本值;

·将PPS标识符指派给不可用参考图片的集合中的图片;

·将SPS标识符指派给不可用参考图片的集合中的图片;

·将标识符指派给不可用参考图片的集合中的图片,其中该标识符包括图片顺序计数值;

·将不可用参考图片的集合中的图片标记为以下至少一个:短期图片、长期图片和未用于预测;

·将图片类型指派给不可用参考图片的集合中的图片;

·将时间ID指派给不可用参考图片的集合中的图片;

·将层ID指派给不可用参考图片的集合中的图片;

·针对不可用参考图片的集合中的图片的每个分量,指派块大小;以及

·将不可用参考图片的集合中的图片标记为已初始化。

在图16的框1608处,解码器的处理器2104在生成不可用参考图片的集合之后,对图片的集合进行解码。在生成不可用参考图片的集合之后,对图片的集合进行解码可以包括:如果解码从第一图片开始,并且恢复点周期中按照解码顺序在第一图片之后且在恢复点图片之前并且包括恢复点图片的所有其他图片被解码,则视频在恢复点图片处被完全刷新。

图17示出了解码器可以执行以从比特流中解码图片的集合的附加操作。可以根据图21所示的结构提供解码器。

在图17的框1700处,解码器的处理器2104当对图片的集合进行解码在恢复点处初始化时,确定第一图片在图片的集合中的位置。

在图17的框1702处,解码器的处理器2104确定第二图片在图片的集合中的位置。

在图17的框1704处,解码器的处理器2104对第一图片和图片的集合中在恢复周期中按照解码顺序在第二图片之前的所有其他图片进行解码,而不输出经解码的图片。

在图17的框1706,解码器的处理器2104对第二图片进行解码和输出。

关于解码器和相关方法的一些实施例,来自图17的流程图的各种操作可以是可选的,例如操作1706。

图18示出了解码器可以执行以从比特流中解码图片的集合的附加操作。可以根据图21所示的结构提供解码器。在图18的框1800处,解码器的处理器2104在恢复点处执行随机访问操作。

图19示出了解码器在从比特流中解码图片的集合之后可以执行的附加操作。可以根据图21所示的结构提供解码器。在图19的框1900处,解码器的处理器2104基于在生成不可用参考图片的集合之后,从比特流中解码图片来渲染图片的集合中的每个图片,以用于在屏幕上显示。

图20示出了解码器在从比特流中解码图片的集合之后可以执行的附加操作。可以根据图21所示的结构提供解码器。在图20的框2000处,解码器的处理器2104通过无线电和/或网络接口从远程设备接收比特流。

关于解码器和相关方法的一些实施例,来自图18至图20的流程图的各种操作可以是可选的,例如操作1800、1900和2000。

根据本发明构思的一些实施例,现在将参考图23的流程图来讨论(使用图22的框图的结构来实现的)编码器2200的操作。例如,模块可以存储在图22的存储器2206中,并且这些模块可以提供指令,使得当模块的指令由相应的无线设备处理电路2204执行时,处理电路2204执行流程图的相应操作。

图23示出了编码器在将具有关于如何生成不可用参考图片的信息的恢复点指示编码到比特流中的操作。可以根据图22所示的结构提供编码器。

在图23的框2300处,编码器的处理器2204将图片的第一集合编码到比特流。图片的第一集合可以包括至少一个图片。

在图23的框2302处,编码器的处理器2204确定如果在图片的第一集合之后开始比特流中的解码,则将不可用于解码器的参考图片的集合。参考图片的集合可以包括至少一个参考图片。

在图23的框2304处,编码器的处理器2204将恢复点指示编码到比特流。恢复点指示可以包括针对参考图片的集合的语法元素的集合。语法元素的集合可以包括针对参考图片的集合中的至少一个图片的至少一个语法元素。

在图23的框2306处,编码器的处理器2204将图片的第二集合编码到比特流。图片的第二集合中的至少一个图片可以参考来自图片的第一集合的图片。

下文讨论示例实施例。通过示例/说明的方式在括号中提供了附图标记/字母,而不将示例实施例限制为由附图标记/字母指示的特定元件。

实施例1、一种从比特流中解码图片的集合的方法。该方法包括根据恢复点指示识别(1600)比特流中的恢复点。恢复点指定比特流中用于对图片的集合进行解码的起始位置。图片的集合包括第一图片,第一图片是图片的集合中按照解码顺序在恢复点指示之后的第一个图片,并且其中,图片的集合包括编码图片数据。该方法还包括对恢复点指示进行解码(1602),以获得经解码的语法元素的集合。恢复点指示包括语法元素的集合。该方法还包括在解码器解析任何编码图片数据之前,从经解码的语法元素的集合中导出(1604)用于生成不可用参考图片的集合的信息。该方法还包括基于所导出的信息来生成(1606)不可用参考图片的集合。该方法还包括在生成不可用参考图片的集合之后,对图片的集合进行解码(1608)。

实施例2、根据实施例1所述的方法,其中,在解码器解析任何编码图片数据之前完成该生成。

实施例3、根据实施例1至2中任一实施例所述的方法,其中,第一图片包括不是帧内编码块的块。

实施例4、根据实施例1至3中任一实施例所述的方法,其中,不可用参考图片的集合包括至少一个不可用参考图片,并且其中,生成不可用参考图片的集合包括生成不可用参考图片的集合中的每个图片。

实施例5、根据实施例1至4中任一实施例所述的方法,其中,图片的集合包括至少一个图片。

实施例6、根据实施例1至5中任一实施例所述的方法,其中,不可用参考图片的集合在恢复点指示之前,图片的集合在恢复点指示之后。

实施例7、根据实施例1至6中任一实施例所述的方法,其中,图片的集合包括对不可用参考图片的集合的参考。

实施例8、根据实施例1至7中任一实施例所述的方法,其中,根据所导出的信息生成不可用参考图片的集合包括:在开始对图片的集合中的任何图片进行解码之前,生成不可用参考图片的集合。

实施例9、根据实施例1至8中任一实施例所述的方法,其中,语法元素的集合包括恢复点指示语法元素的集合。

实施例10、根据实施例1至9中任一实施例所述的方法,其中,语法元素的集合包括至少一个语法元素。

实施例11、根据实施例1至10中任一实施例所述的方法,其中,图片的集合包括从第一图片开始并在恢复点图片结束的恢复点周期。

实施例12、根据实施例1至11中任一实施例所述的方法,其中,在生成不可用参考图片的集合之后,对图片的集合进行解码包括:如果解码从所述第一图片开始,并且恢复点周期中按照解码顺序在第一图片之后且在恢复点图片之前并且包括恢复点图片的所有其他图片被解码,则视频在恢复点图片处被完全刷新。

实施例13、根据实施例1至12中任一实施例所述的方法,其中,恢复点指示还包括在比特流中指定恢复点周期的结束图片。

实施例14、根据实施例1至13中任一实施例所述的方法,其中,从经解码的语法元素的集合中导出用于生成不可用参考图片的集合的信息包括以下至少一项:

·导出至少一个参数集标识符,所述至少一个参数集标识符标识对所述图片的集合中的所述第一图片活动的参数集;

·导出要生成的不可用参考图片的集合中的不可用参考图片的数量;

·针对不可用参考图片的集合中的每个图片,导出图片顺序计数值,并且将所导出的图片顺序计数值指派给所述不可用参考图片的集合中的每个相关联的图片;

·导出所述图片的集合中的所述第一图片的图片顺序计数值,针对所述不可用参考图片的集合中的每个图片,导出相对于所述图片的集合中的所述第一图片的所述图片顺序计数值的增量图片顺序计数的增量值,并且使用所导出的增量值来计算所述不可用参考图片的集合中的每个图片的图片顺序计数值,并且将计算出的图片顺序计数值指派给相关联的不可用参考图片中的每个不可用参考图片;

·针对不可用参考图片的集合中的每个图片,导出图片标记状态,其中,所述图片标记状态是长期图片、短期图片中的至少一个,并且用所导出的标记状态来标记所述不可用参考图片的集合中的每个图片;

·导出亮度宽度值和亮度高度值,并且生成所述不可用参考图片的集合中的每个图片,每个图片具有所述亮度宽度值和所述亮度高度值;

·针对不可用图片的集合中的每个图片,导出亮度宽度值和亮度高度值,并且生成所述不可用参考图片的集合中的每个图片,以具有相关联的所导出的亮度宽度值和高度值的宽度和高度;

·导出不可用参考图片的分量的数量,包括每个分量的相对尺寸值和每个分量的比特深度值;并且根据所导出的值来生成所述不可用参考图片的集合中的每个图片,每个图片具有所述数量的分量、所述相对尺寸和所述比特深度;

·针对不可用参考图片的集合中的每个图片,导出图片类型值,并且将所导出的图片类型值指派给所述不可用参考图片的集合中的每个相关联的不可用参考图片;

·针对不可用参考图片的集合中的每个图片,导出时间标识值,并且将所导出的时间标识值指派给所述不可用参考图片的集合中的每个相关联的不可用参考图片;

·针对不可用参考图片的集合中的每个图片,导出层标识值,并且将所导出的层标识值指派给所述不可用参考图片的集合中的每个相关联的不可用参考图片;

·针对不可用参考图片的集合中的每个图片,导出至少一个图片参数集标识符,并且将所导出的至少一个图片参数集标识符值指派给所述不可用参考图片的集合中的每个相关联的不可用参考图片;以及

·导出块大小,所述块大小包括编码树单元的大小,生成所述不可用参考图片的集合中的每个图片以具有所述块大小,并且将所述块大小指派给所述不可用参考图片的集合中的每个不可用参考图片。

实施例15、根据实施例1至14中任一实施例所述的方法,其中,从非视频编码层(非VCL)网络抽象层(NAL)中的恢复点指示中解码经解码的语法元素的集合,非VCL NAL具有指示非VCL NAL单元是恢复点指示非VCL NAL单元的非VCL NAL单元类型。

实施例16、根据实施例1至15中任一实施例所述的方法,其中,生成不可用参考图片的集合包括:分配或指派存储器以存储针对不可用参考图片的集合中的每个图片的值,其中,所存储的值包括针对不可用参考图片的集合中的每个图片的每个分量的样本值。

实施例17、根据实施例4至16中任一实施例所述的方法,其中,生成不可用参考图片的集合中的每个图片包括以下至少一项:

·针对不可用参考图片的集合中的图片,设置分量的数量;

·针对不可用参考图片的集合中的图片的每个分量,设置宽度和高度;

·针对不可用参考图片的集合中的图片的每个分量,设置样本比特深度;

·针对不可用参考图片的集合中的图片中的每个样本,设置样本值;

·将PPS标识符指派给不可用参考图片的集合中的图片;

·将SPS标识符指派给不可用参考图片的集合中的图片;

·将标识符指派给不可用参考图片的集合中的图片,其中,该标识符包括图片顺序计数值;

·将不可用参考图片的集合中的图片标记为以下至少一个:短期图片、长期图片和未用于预测;

·将图片类型指派给不可用参考图片的集合中的图片;

·将时间ID指派给不可用参考图片的集合中的图片;

·将层ID指派给不可用参考图片的集合中的图片;

·针对不可用参考图片的集合中的图片的每个分量,指派块大小;以及

·将不可用参考图片的集合中的图片标记为已初始化。

实施例18、根据实施例1至17中任一实施例所述的方法,其中,从图片报头中解码语法元素的集合。

实施例19、根据实施例1至18中任一实施例所述的方法,其中,从包括网络抽象层(NAL)单元类型语法元素的视频编码层(VCL)NAL单元中解码恢复点指示,并且其中,经解码的语法元素包括以下至少一个:恢复点的起始位置和恢复点周期的结束位置。

实施例20、根据实施例1至19中任一实施例所述的方法,其中,从补充增强信息(SEI)消息中解码经解码的语法元素的集合。

实施例21、根据实施例1至20中任一实施例所述的方法,其中,从包括以下至少一个的图片参数集中解码经解码的语法元素的集合:图像参数集(PPS)和序列参数集(SPS)。

实施例22、根据实施例1至21中任一实施例所述的方法,其中,比特流从比特流中由恢复点指定的起始位置开始。

实施例23、根据实施例22所述的方法,其中,比特流包括比特流中符合标准规范的符合部分,并且其中,解码对比特流的该符合部分进行解码。

实施例24、根据实施例23所述的方法,其中,比特流的符合部分是CVS。

实施例25、根据实施例1至24中任一实施例所述的方法,其中,恢复点指示对图片的集合中的每个图片的空间子集有效。

实施例26、根据实施例1至25中任一实施例所述的方法,其中,图片的集合中的第二图片在图片的集合中的第一图片之后,其中,第一图片和第二图片是不同的图片,并且其中,第二图片按照解码顺序在第一图片之后。

实施例27、根据实施例1至26中任一实施例所述的方法,其中,恢复点指示包括恢复点的规范指示,并且其中,恢复点的规范指示包括图片的集合中的第一图片和第二图片中的至少一个的时间位置。

实施例28、根据实施例1至27中任一实施例所述的方法,其中,对图片的集合进行解码在恢复点处初始化。该方法还包括确定(1700)第一图片在图片的集合中的位置。该方法还包括确定(1702)第二图片在图片的集合中的位置。该方法还包括对第一图片和图片的集合中在恢复周期中按照解码顺序在第二图片之前的所有其他图片进行解码(1704),而不输出经解码的图片。该方法还包括对第二图片进行解码和输出(1706)。

实施例29、根据实施例1至28中任一实施例所述的方法,还包括在恢复点处执行(1800)随机访问操作。

实施例30、根据实施例1至29中任一实施例所述的方法,其中,恢复点指示和图片的集合中的第一图片属于相同的访问单元。

实施例31、根据实施例1至30中任一实施例所述的方法,其中,如果以下中的至少一项程成立,则忽略恢复点的规范指示:恢复点没有开始比特流,以及没有在恢复点处执行随机访问操作。

实施例32、根据实施例1至31中任一实施例所述的方法,其中,不将规范恢复点指示包含在从语法元素的集合中解码的补充增强信息(SEI)消息中。

实施例33、根据实施例1至32中任一实施例所述的方法,其中,不可用参考图片的集合包括比特流中按照解码顺序在图片的集合中的第一图片之前的所有不可用参考图片,并且其中,对图片的集合进行解码使用不可用参考图片的集合来按照解码顺序对图片的集合中的所有图片进行解码,解码在比特流中从图片的集合中的第一图片开始,并在比特流中以图片的集合中的第二图片结束。

实施例34、根据实施例1至33中任一实施例的方法,还包括:基于在生成不可用参考图片的集合之后从比特流中解码图片来渲染(1900)图片的集合中的每个图片,以用于在屏幕上显示。

实施例35、根据实施例1至34中任一实施例的方法,还包括:通过无线电和/或网络接口从远程设备接收(2000)比特流。

实施例36、一种解码器(2100),被配置为操作以从比特流中解码图片的集合,该解码器包括:处理器(2104);以及存储器(2106),与处理器(2104)耦接。存储器(2106)包括指令,该指令在由处理器(2104)执行时,使解码器(2100)执行根据实施例1至35中任一实施例所述的操作。

实施例37、一种计算机程序,包括要由解码器(2100)的处理器(2104)执行的程序代码(2108),该解码器(2100)被配置为操作以从比特流中解码图片的集合,由此程序代码(2108)的执行使解码器(2100)执行根据实施例1至35中任一实施例所述的操作。

实施例38、一种将恢复点指示编码到比特流中的方法,恢复点指示具有关于如何生成不可用参考图片的信息。该方法包括将图片的第一集合编码(2300)到比特流。该方法还包括确定(2302)如果在图片的第一集合之后开始比特流中的解码,则将不可用于解码器的参考图片的集合。该方法还包括将恢复点指示编码(2304)到比特流。恢复点指示包括针对参考图片的集合的语法元素的集合。该方法还包括将图片的第二集合编码(2306)到比特流。图片的第二集合中的至少一个图片参考来自图片的第一集合的图片。

实施例39、根据实施例38所述的方法,其中,图片的第一集合包括至少一个图片。

实施例40、根据实施例38至39中任一实施例所述的方法,其中,参考图片的集合包括至少一个参考图片。

实施例41、根据实施例38至40中任一实施例所述的方法,其中,语法元素的集合包括针对参考图片的集合中的至少一个图片的至少一个语法元素。

实施例42、一种编码器(2200),被配置为操作以将恢复点指示编码到比特流中,恢复点指示具有关于如何生成不可用参考图片的信息,该编码器包括:处理器(2204);以及存储器(2206),与处理器(2204)耦接。存储器(2206)包括指令,该指令在由处理器(2204)执行时,使编码器(2200)执行根据实施例38至41中任一实施例所述的操作。

实施例43、一种计算机程序,包括要由编码器(2200)的处理器(2204)执行的程序代码(2208),该编码器被配置为操作以在比特流中对具有有关如何生成不可用参考图片的信息的恢复点指示进行编码,由此程序代码(2208)的执行使编码器(2200)执行根据实施例38至41中任一实施例所述的操作。

下面讨论进一步的定义和实施例:

在对发明构思的各种实施例的以上描述中,要理解的是,本文使用的术语仅用于描述具体的实施例的目的,而不意图限制发明构思。除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有发明构思所属领域的普通技术人员通常所理解的相同意义。还应理解,诸如在通用词典中定义的那些术语之类的术语应被解释为具有与它们在本说明书的上下文和相关技术中的意义相一致的意义,而不被解释为理想或过于表面的意义,除非本文如此明确地定义。

当元件被称作“连接到”、“耦接到”、“响应于”另一元件或其变型时,它可以直接连接到、耦接到或者响应于另一元件,或者可以存在中间元件。相反,当元件被称作“直接连接到”、“直接耦接到”、“直接响应于”另一元件或其变型时,不存在中间元件。贯穿全文,类似附图标记表示类似的元件。此外,本文使用的“耦接”、“连接”、“响应”或其变型可以包括无线耦接、连接或响应。如本文使用的,单数形式“一”,“一个”和“所述”意在还包括复数形式,除非上下文明确地给出相反的指示。为了简洁和/或清楚,可能没对公知的功能或结构进行详细描述。术语“和/或”包括关联列出的一个或多个项目的任意和所有组合。

将理解,虽然本文中可以使用术语第一、第二、第三等来描述各元件/操作,但是这些元件/操作不应被这些术语限制。这些术语仅用于将一个元件/操作与另一个元件/操作相区分。因此,在一些实施例中的第一元件/操作可以在其他实施例中称作第二元件/操作,而不会脱离本发明构思的教导。贯穿说明书,相同的附图标记或相同的参考符号表示相同或类似的元件。

如本文使用的术语“包括(comprise、comprising、comprises、include、including、includes)”、“具有(have、has、having)”或其变形是开放式的,并且包括一个或多个所陈述的特征、整数、元件、步骤、组件、或功能,但是不排除存在或添加一个或多个其它特征、整数、元件、步骤、组件、功能或其组合。此外,如本文的使用,常用缩写“e.g.(例如)”从于拉丁短语“exempli gratia”,其可以用于介绍或指定之前提到的项目的一般示例,而不意图作为该项目的限制。常用缩写“即(i.e.)”源于拉丁短语“id est”,可以用于指定更广义的引述的具体项目。

本文参考计算机实现的方法、装置(系统和/或设备)和/或计算机程序产品的框图和/或流程图图示描述了示例实施例。应理解,可以通过由一个或多个计算机电路执行的计算机程序指令来实现框图和/或流程图图示的框以及框图和/或流程图图示中的框的组合。可以将这些计算机程序指令提供给通用计算机电路、专用计算机电路和/或其它可编程数据处理电路的处理器电路来产生机器,使得经由计算机和/或其它可编程数据处理装置的处理器执行的指令转换和控制晶体管、存储器位置中存储的值、以及这种电路内的其它硬件组件,以实现框图和/或流程图框中指定的功能/动作,并由此创建用于实现框图和/或流程图框中指定的功能/动作的装置(功能体)和/或结构。

这些计算机程序指令也可以存储在有形计算机可读介质中,所述有形计算机可读介质能够指导计算机或其它可编程数据处理装置按照具体的方式作用,使得在计算机可读介质中存储的指令产生制品,所述制品包括实现在所述框图和/或流程图的框中指定的功能/动作的指令。因此,发明构思的实施例可以在硬件和/或在诸如数字信号处理器之类的处理器上运行的软件(包括固件、贮存软件、微代码等)上实现,所述处理器可以统称为"电路"、"模块"或其变体。

还应注意,在一些备选实现中,在框中标记的功能/动作可以不以流程图中标记的顺序发生。例如,依赖于所涉及的功能/动作,连续示出的两个框实际上可以实质上同时执行,或者框有时候可以按照相反的顺序执行。此外,可以将流程图和/或框图的给定框的功能分成多个框和/或流程图和/或框图的两个或更多个框的功能可以至少部分地被集成。最后,在不脱离发明构思的范围的情况下,可以在所示出的框之间添加/插入其他框,和/或可以省略框/操作。此外,尽管一些图包括通信路径上的箭头以示出通信的主要方向,但是应理解,通信可以在与所描绘的箭头相反的方向上发生。

在基本上不脱离本发明构思原理的前提下,可以对实施例做出许多改变和修改。所有这些改变和修改旨在在本文中被包括在发明构思的范围内。因此,上述主题应理解为示例性的而非限制性的,并且实施例的示例旨在覆盖落入本发明构思的精神和范围之内的所有这些修改、改进和其他实施例。因此,在法律允许的最大范围内,本发明构思的范围应由包括实施例的示例及其等同物的本公开的最宽允许解释来确定,并且不应受限于或限制于之前的具体实施方式。

51页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像显示顺序的确定方法、装置和视频编解码设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类