一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于假设参考解码器和用于输出层集的视频数据流、视频编码器、装置和方法与流程

2022-07-24 03:46:23 来源:中国专利 TAG:


1.本发明涉及视频编码和视频解码,并且特别涉及视频编码器、涉及视频解码器、涉及用于编码和解码的方法以及涉及用于实现高级视频译码概念的视频数据流。


背景技术:

2.h.265/hevc(hevc=高效视频译码)是视频编解码器,其已经提供了用于提升或甚至使能在编码器和/或解码器处的并行处理的工具。例如,hevc支持将图片细分为相互独立编码的图块阵列。由hevc支持的另一个概念涉及wpp,根据所述wpp,只要在连续ctu行的处理中遵守某个最小ctu偏移(ctu=译码树单元),就可以从左到右并行地(例如以条带的形式)处理图片的ctu排或ctu行。然而,即将具有甚至更有效地支持视频编码器和/或视频解码器的并行处理能力的视频编解码器将是有利的。
3.通常,在视频译码中,图片样本的译码过程需要更小的分区,其中样本被划分成一些矩形区域以进行联合处理,诸如预测或变换译码。因此,图片被分割成特定大小的块,该特定大小的块在视频序列的编码期间是恒定的。在h.264/avc标准中,使用16x16样本的固定大小块,即所谓的宏块(avc=高级视频译码)。
4.在当前技术水平的hevc标准(参见[1])中,存在64
×
64样本的最大大小的译码树块(ctb)或译码树单元(ctu)。在对hevc的进一步描述中,对于这类块,使用了更为常见的用语ctu。
[0005]
ctu按光栅扫描顺序处理,从左上角ctu开始,逐行处理图片中的ctu,下至右下角ctu。
[0006]
译码后的ctu数据被组织成一种叫做切片(slice)的容器。最初,在以前的视频译码标准中,切片是指包括图片的一个或多个连续ctu的片段(segment)。切片被采用于译码后的数据的分段。从另一个角度来看,完整的图片也可以定义为一个大片段,并且因此,历史上,用语切片仍然适用。除了译码后的图片样本之外,切片还包括与切片本身的译码过程有关的附加信息,该附加信息被放置进所谓的切片标头中。
[0007]
根据当前技术水平,vcl(视频译码层)还包括用于分片(fragmentation)和空间分割的技术。例如,出于各种原因,这种分割可以应用于视频译码中,所述各种原因中有并行化中的处理负载平衡、网络传输中的ctu大小匹配、误差缓解(error-mitigation)等。
[0008]
如在视频译码标准中指定的位流具有hrd一致性相关联的信息。该一致性由假设参考解码器(hrd)组成,该假设参考解码器(hrd)包括缓冲区模型,该缓冲区模型假定nal单元在解码器之前进入译码图片缓冲区(cpb)并在特时序间从其中移除,以确保cpb大小没有超出(缓冲区超限(overrun))或nal单元不晚于它们需要被移除时到达(缓冲区欠载(underrun))。此外,该模型由解码图片缓冲区(dpb)组成,当预测不再需要解码的图片时,从该缓冲区中输出解码的图片,并且在许多实现中,解码的图片的大小同样受到限制。hrd的时序信息通过所谓的sei消息在位流中传送,特别是,定义缓冲周期(多个访问单元或au)
的特时序序信息的缓冲周期(bp)sei消息、传送单个相关联au的时序信息的图片时序(pt)sei消息、以及传送au的相关联子集(即解码单元或du)的时序信息的解码单元信息(dui)sei消息。


技术实现要素:

[0009]
本发明的目的是提供用于视频编码和视频解码的改进概念。
[0010]
本发明的目的通过独立权利要求的主题来解决。
[0011]
在从属权利要求中提供优选实施例。
[0012]
根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。对于重放速度修改因子(nx),所述装置用于依赖于解码能力要求限制来确定解码能力要求。重放速度修改因子(nx)是前向重放速度修改因子或者是后向重放速度修改因子。
[0013]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。视频数据流包括关于采样速率限制的信息,和/或视频数据流包括关于码率限制的信息。
[0014]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。视频编码器用于生成视频数据流,使得视频数据流包括关于采样速率限制的信息,和/或视频编码器用于生成视频数据流,使得视频数据流包括关于码率限制的信息。
[0015]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的方法,其中,视频数据流具有编码到其中的视频。对于重放速度修改因子(nx),所述方法包括依赖于解码能力要求限制来确定解码能力要求。重放速度修改因子(nx)是前向重放速度修改因子或者是后向重放速度修改因子。
[0016]
此外,根据实施例,提供了用于将视频编码到视频数据流中的方法,使得视频数据流具有编码到其中的视频。该方法包括生成所述视频数据流,使得所述视频数据流包括关于采样速率限制的信息,和/或该方法包括生成所述视频数据流,使得所述视频数据流包括关于码率限制的信息。
[0017]
此外,提供了在计算机或信号处理器上执行时用于实现如前所描述的方法中的一个方法的计算机程序。
[0018]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流包括多个访问单元,其中,所述视频数据流的访问单元组包括所述多个访问单元。此外,所述视频数据流包括用于访问单元子集的每个访问单元的、指示在所述访问单元之后存在无缝拼接点的指示。所述访问单元子集是所述视频数据流的所述访问单元组的适当子集。
[0019]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括多个访问单元,其中,所述视频数据流的访问单元组包括所述多个访问单元,此外,所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括用于访问单元子集的每个访问单元的、指示在所述访问单元之后存在无缝拼接点的指示。此外,所述视频编码器用于生成所述视频数据流,使得所述访问单元子集是所述视频数据流的所述访问单元组的适当子集。
[0020]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述装置用于处理所述视频数据流。所述视频数据流包括多个访问单元,其中,所述视频数据流的访问单元组包括所述多个访问单元。此外,所述视频数据流包括用于访问单元子集的每个访问单元的、指示在所述访问单元之后存在无缝拼接点的指示。所述访问单元子集是所述视频数据流的所述访问单元组的适当子集。所述装置用于处理所述指示。
[0021]
此外,根据实施例,提供了用于将视频编码到视频数据流中的方法,使得视频数据流具有编码到其中的视频。所述方法包括生成所述视频数据流,使得所述视频数据流包括多个访问单元,其中,所述视频数据流的访问单元组包括所述多个访问单元。此外,所述方法包括生成所述视频数据流,使得所述视频数据流包括用于访问单元子集的每个访问单元的、指示在所述访问单元之后存在无缝拼接点的指示,所述,此外,所述方法包括生成所述视频数据流,使得所述访问单元子集是所述视频数据流的所述访问单元组的适当子集。
[0022]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的方法,其中,视频数据流具有编码到其中的视频。所述方法包括处理所述视频数据流,所述视频数据流包括多个访问单元,其中,所述视频数据流的访问单元组包括所述多个访问单元。此外,所述视频数据流包括用于访问单元子集的每个访问单元的、指示在所述访问单元之后存在无缝拼接点的指示。所述访问单元子集是所述视频数据流的所述访问单元组的适当子集。所述方法包括处理所述指示。
[0023]
此外,提供了在计算机或信号处理器上执行时用于实现如前所描述的方法中的一个方法的计算机程序。
[0024]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述装置用于依赖于输出层集来处理所述输入位流以获得子位。如果所述输出层集不包括存在于所述视频数据流中的多个层中的预定义层,则所述装置用于移除与所述预定义层一起分配的至少一个不可扩展(non-scalable)嵌套补充增强信息消息。如果所述输出层集包括所述预定义层,则所述装置配置成不移除与所述预定义层一起分配的任何不可扩展嵌套补充增强信息消息。
[0025]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流包括视频参数集。所述视频参数集包括多个输出层集。如果所述多个输出层集中没有一个包括存在于所述视频数据流中的多个层中的所有层,则所述视频数据流不包括用于假设参考解码器的任何不可扩展嵌套补充增强信息消息。
[0026]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括视频参数集。此外,所述视频编码器用于生成所述视频数据流,使得所述视频参数集包括多个输出层集。如果所述多个输出层集中没有一个包括存在于所述视频数据流中的多个层中的所有层,则所述视频编码器用于生成所述视频数据流,使得所述视频数据流不包括用于假设参考解码器的任何不可扩展嵌套补充增强信息消息。
[0027]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的方法,其中,视频数据流具有编码到其中的视频。所述方法包括依赖于输出层集来处理所述输入位流以获得子位流。如果所述输出层集不包括存在于所述视频数据流中的多个层中的预定义层(vps_
layer_id[0]),则所述方法包括移除与所述预定义层(vps_layer_id[0])一起分配的至少一个不可扩展嵌套补充增强信息消息。如果所述输出层集包括所述预定义层(vps_layer_id[0]),则所述方法包括不移除与所述预定义层(vps_layer_id[0])一起分配的任何不可扩展嵌套补充增强信息消息。
[0028]
此外,根据实施例,提供了用于将视频编码到视频数据流中的方法,使得视频数据流具有编码到其中的视频。所述方法包括生成所述视频数据流,使得所述视频数据流包括视频参数集。此外,所述方法包括生成所述视频数据流,使得所述视频参数集包括多个输出层集。如果所述多个输出层集中没有一个包括存在于所述视频数据流中的多个层中的所有层,则所述方法包括生成所述视频数据流,使得所述视频数据流不包括用于假设参考解码器的任何不可扩展嵌套补充增强信息消息。
[0029]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述视频数据流包括初始简档层级信息。此外,所述视频数据流包括第一组两层或更多层。所述装置用于依赖于多个输出层集的输出层集来处理所述输入位流,以通过从所述第一组两层或更多层中移除至少一层以获得第二组一层或更多层来生成输出位流,使得所述输出位流包括所述第二组一层或更多层,而不包括已从所述第一组移除的所述至少一层。此外,所述装置用于从所述初始简档层级信息中移除与所述第二组一个或多个层中的至少一个层无关的所述初始简档层级信息的那些部分。
[0030]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述视频数据流包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。所述装置用于依赖于所述多个输出层集中的输出层集来处理所述输入位流以获得输出位流,使得所述输出位流包括用于所述输出层集的所述解码参数集信息,并且使得所述输出位流不包括用于所述多个输出层集的任何其他输出层集的所述解码参数集信息。
[0031]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。
[0032]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。
[0033]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流包括多个操作点的指示。此外,所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个简档层级中的一个或多个简档层级分配给所述操作点。此外,所述视频数据流包括多个第二映射,其中,所述多个映射中的每个将所述多个操作点中的一个分配给多个输出级别集中的一个输出级别集。
[0034]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括多个操作点的指示。此外,所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个
简档层级中的一个或多个简档层级分配给所述操作点。此外,所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括多个第二映射,其中所述多个映射中的每个将所述多个操作点中的一个分配给多个输出层集中的一个输出层集。
[0035]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述视频数据流包括多个操作点的指示。此外,所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个简档层级中的一个或多个简档层级映射到所述操作点。此外,所述视频数据流包括多个第二映射,其中,所述多个映射中的每个将所述多个操作点中的一个映射到多个输出级别集中的一个输出级别。所述装置用于依赖于多个输出层集中的输出层集并依赖于映射所述输出级别集的所述多个操作点中的一个操作点的所述第二映射中的至少一个来处理所述输入位流,以产生输出位流。
[0036]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的方法,其中,视频数据流具有编码到其中的视频。所述视频数据流包括初始简档层级信息。此外,所述视频数据流包括第一组两层或更多层。所述方法包括依赖于多个输出层集的输出层集来处理所述输入位流,以通过从所述第一组两层或更多层中移除至少一层以获得第二组一层或更多层来生成输出位流,使得所述输出位流包括所述第二组一层或更多层,而不包括已从所述第一组移除的所述至少一层。此外,所述方法包括从所述初始简档层级信息中移除与所述第二组一个或多个层中的至少一个层无关的所述初始简档层级信息的那些部分。
[0037]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的方法,其中,视频数据流具有编码到其中的视频。所述视频数据流包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。所述方法包括依赖于所述多个输出层集中的输出层集来处理所述输入位流以获得输出位流,使得所述输出位流包括用于所述输出层集的所述解码参数集信息,并且使得所述输出位流不包括用于所述多个输出层集的任何其他输出层集的所述解码参数集信息。
[0038]
此外,根据实施例,提供了用于将视频编码到视频数据流中的方法,使得视频数据流具有编码到其中的视频。所述方法包括生成所述视频数据流,使得所述视频数据流包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。
[0039]
此外,根据实施例,提供了用于将视频编码到视频数据流中的方法,使得视频数据流具有编码到其中的视频。所述方法包括生成所述视频数据流,使得所述视频数据流包括多个操作点的指示。此外,所述方法包括生成所述视频数据流,使得所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个简档层级中的一个或多个简档层级分配给所述操作点。此外,所述方法包括生成所述视频数据流,使得所述视频数据流包括多个第二映射,其中所述多个映射中的每个将所述多个操作点中的一个分配给多个输出层集中的一个输出层集。
[0040]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的方法,其中,视频数据流具有编码到其中的视频。所述视频数据流包括多个操作点的指示。此外,所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个简档层级中的一个或多个简档层级映射到所述操作点。此外,所述视频数据流包括多个第二映射,其
中,所述多个映射中的每个将所述多个操作点中的一个映射到多个输出级别集中的一个输出级别。所述方法包括依赖于多个输出层集中的输出层集并依赖于映射所述输出级别集的所述多个操作点中的一个操作点的所述第二映射中的至少一个来处理所述输入位流,以产生输出位流。
[0041]
此外,提供了在计算机或信号处理器上执行时用于实现如前所描述的方法中的一个方法的计算机程序。
[0042]
根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流包括序列参数集和解码参数集。所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。所述第一指示值小于或等于所述第二指示值。
[0043]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括序列参数集和解码参数集。所述视频编码器用于生成所述视频数据流,使得所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。此外,所述视频编码器生成所述视频数据流,使得所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。此外,所述视频编码器用于生成所述视频数据流,使得所述第一指示值小于或等于所述第二指示值。
[0044]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括序列参数集和解码参数集。此外,所述视频编码器用于生成所述视频数据流,使得所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。此外,所述视频编码器生成所述视频数据流,使得所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。所述解码参数集的所述第二指示值是优先于所述序列参数集的所述第一指示值的上边界。
[0045]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述视频数据流包括序列参数集和解码参数集。所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。如果所述第一指示值大于所述第二指示值,则所述装置用于处理所述输入位流以生成输出位流,使得所述输出位流包括所述第二指示值作为关于子层的最大数量或关于子层的最大数量减去所述恒定值的指示。
[0046]
此外,根据实施例,提供了用于将视频编码到视频数据流中的方法,使得视频数据流具有编码到其中的视频。所述方法包括生成所述视频数据流,使得所述视频数据流包括
序列参数集和解码参数集。此外,所述方法包括生成所述视频数据流,使得所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。此外,所述方法包括生成所述视频数据流,使得所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。所述方法包括生成视频数据流,使得所述第一指示值小于或等于所述第二指示值。
[0047]
此外,根据实施例,提供了用于将视频编码到视频数据流中的方法,使得视频数据流具有编码到其中的视频。所述方法包括生成所述视频数据流,使得所述视频数据流包括序列参数集和解码参数集。此外,所述方法包括生成所述视频数据流,使得所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。此外,所述方法包括生成所述视频数据流,使得所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。所述解码参数集的所述第二指示值是优先于所述序列参数集的所述第一指示值的上边界。
[0048]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的方法,其中,视频数据流具有编码到其中的视频。所述视频数据流包括序列参数集和解码参数集。所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值,如果所述第一指示值大于所述第二指示值,则所述方法包括处理所述输入位流以生成输出位流,使得所述输出位流包括所述第二指示值作为关于子层的最大数量或关于子层的最大数量减去所述恒定值的指示。
[0049]
此外,提供了在计算机或信号处理器上执行时用于实现如上所描述的方法的计算机程序。
附图说明
[0050]
图1说明了根据实施例的用于将视频编码到视频数据流中的视频编码器。
[0051]
图2说明了根据实施例的用于接收输入视频数据流的装置。
[0052]
图3说明了根据实施例的用于接收其中存储有视频的视频数据流的视频解码器。
[0053]
图4说明了针对连同时间性可扩展性使用参考图片重采样的示例。
[0054]
图5说明了两个拼接点选项,其中选项i(顶部)遍及示例而保持帧速率,并且选项ii(底部)在位流的最后图片组中具有帧速率下降。
[0055]
图6说明了视频编码器。
[0056]
图7说明了视频解码器。
[0057]
图8说明了一方面的重构信号(例如重构图片)与另一方面的如在数据流中发信号通知的预测残差信号和预测信号的组合之间的关系。
具体实施方式
[0058]
以下对附图的描述以对基于块的预测编解码器的编码器和解码器的描述的呈现
开始,所述编解码器用于对视频的图片进行译码,以便形成可将本发明的实施例构建到其中的译码框架的示例。关于图6到图8描述了相应的编码器和解码器。此后,对本发明的概念的实施例的描述连同关于如何能够使这些概念分别构建到图6和图7的编码器和解码器中的描述一起呈现,尽管用图1到图3和下文描述的实施例也可用于形成不根据构成图6和图7的编码器和解码器的基础的译码框架操作的编码器和解码器。
[0059]
图6示出了视频编码器,一种用于示例性地使用基于变换的残差译码将图片12预测性地译码成数据流14的装置。该装置或编码器用参考标号10表示。图7示出了对应的视频解码器20,例如,配置成也使用基于变换的残差解码对来自数据流14的图片12'进行预测性解码的装置20,其中撇号已用于指示由解码器20重构的图片12'在由预测残差信号的量化引入的译码损失方面偏离由装置10最初编码的图片12。图6和图7示例性地使用基于变换的预测残差译码,尽管本技术的实施例不限于这种类型的预测残差译码。关于图6和图7而描述的其他细节也是如此,如将在下文中所概述的。
[0060]
编码器10被配置成对预测残差信号进行空间到频谱(spatial-to-spectral)变换,并将由此获得的预测残差信号编码到数据流14中。同样,解码器20被配置成对来自数据流14的预测残差信号进行解码,并对由此获得的预测残差信号进行频谱到空间变换。
[0061]
在内部,编码器10可以包括预测残差信号形成器22,其产生预测残差24,以便测量预测信号26与原始信号的偏差,例如与图片12的偏差。预测残差信号形成器22例如可以是从原始信号(例如从图片12)中减去预测信号的减法器。然后,编码器10还包括变换器28,变换器28对预测残差信号24进行空间到频谱变换,以获得频谱域预测残差信号24',然后由也由编码器10包括的量化器32对频谱域预测残差信号24'进行量化。因此量化的预测残差信号24''被译码到位流14中。为此,编码器10可以可选地包括熵译码器34,熵译码器34对变换和量化到数据流14中的预测残差信号进行熵译码。预测信号26由编码器10的预测级36基于编码到数据流14中并可从数据流14解码的预测残差信号24而产生。为此,如图6中所示,预测级36可在内部包括解量化器38,解量化器38对预测残差信号24''进行解量化,以获得对应于除量化损失外的信号24'的频谱域预测残差信号24''',接着是逆变换器40,逆变换器40对后一预测残差信号24'''进行逆变换(例如,频谱到空间变换)以获得对应于除量化损失外的原始预测残差信号24的预测残差信号24''''。然后,预测级36的组合器42诸如通过相加而将预测信号26和预测残差信号24''''重新组合,以获得重构信号46,例如,原始信号12的重构。重构信号46可以对应于信号12'。然后,预测级36的预测模块44通过使用例如空间预测(例如,图片内预测)和/或时间预测(例如,图片间预测)而基于信号46生成预测信号26。
[0062]
同样,如图7中所示的,解码器20可以在内部由对应于预测级36的部件组成,并以对应于预测级36的方式互连。特别地,解码器20的熵解码器50可以对来自数据流的量化的频谱域预测残差信号24''进行熵解码,于是以上文关于预测级36的模块而描述的方式相互连接和协作的解量化器52、逆变换器54、组合器56和预测模块58基于预测残差信号24''而恢复重构信号,从而如图7中所示,组合器56的输出导致重构信号,即图片12'。
[0063]
尽管上面没有具体描述,但很容易清楚的是,编码器10可以根据一些优化方案(诸如例如以优化某种速率和失真相关准则(例如,译码成本)的方式)来设置一些译码参数,包括例如预测模式、运动参数等。例如,编码器10和解码器20以及对应的模块44、58可以分别
支持不同的预测模式,诸如帧内译码模式和帧间译码模式。编码器和解码器以其在这些预测模式类型之间切换的粒度可分别对应于将图片12和12'细分为译码分段或译码块。例如,以这些译码分段为单位,图片可以细分为被帧内译码的块和被帧间译码的块。如下面更详细地概述的,基于相应块的空间的、已经译码/解码的邻域来预测帧内译码块。可以存在若干帧内译码模式,并为包括方向或角度的帧内译码模式的相应帧内译码分段而选择该若干帧内译码模式,根据这些模式,通过沿着特定于相应方向的帧内译码模式的特定方向将邻域的样本值外推到相应帧内译码分段中来填充相应分段。帧内译码模式可以例如还包括一个或多个其他模式,诸如dc译码模式(根据该dc译码模式,相应的帧内译码块的预测将dc值分配给相应的帧内译码分段内的所有样本),和/或平面帧内译码模式(根据该平面帧内译码模式,相应块的预测被近似或确定为在相应的帧内译码块的样本位置上由二维线性函数描述的样本值的空间分布,具有基于相邻样本而由所述二维线性函数定义的平面的驱动倾斜和偏移)。与之相比,可以例如在时间上预测帧间译码块。对于帧间译码块,可以在数据流内发信号通知运动向量,运动向量指示图片12所属的视频的先前译码的图片的部分的空间位移,在所述部分,对先前译码/解码的图片进行采样,以便获得相应帧间译码块的预测信号。这意味着,除了由数据流14包括的残差信号译码(诸如表示量化的频谱域预测残差信号24''的熵译码变换系数级别)之外,数据流14还可以将以下编码到其中:用于将译码模式分配给各个块的译码模式参数;用于块中的一些的预测参数(诸如用于帧间编码分段的运动参数)以及可选的其他参数(诸如用于控制和发信号通知分别将图片12和12'细分到分段中的参数)。解码器20使用这些参数以与编码器做过的相同的方式细分图片,以将相同的预测模式分配给分段,并执行相同的预测以导致相同的预测信号。
[0064]
图8说明了一方面的重构信号(例如重构图片12')与另一方面的如在数据流14中发信号通知的预测残差信号24''''和预测信号26的组合之间的关系。如已经在上文表示的,该组合可以是相加。预测信号26在图8中被说明为将图片区域细分为使用阴影而说明性地指示的帧内译码块和非阴影而说明性地指示的帧间译码块。该细分可以是任何细分,诸如将图片区域规则地细分为正方形块或非正方形块的行和列,或者将图片12从树根块多叉树(multi-tree)细分为多个大小不同的叶块,诸如四叉树细分等,其中,在图8中说明了它们的混合,其中图片区域首先细分为树根块的行和列,然后根据递归的多叉树细分进一步细分为一个或多个叶块。
[0065]
同样,针对帧内译码块80,数据流14可以具有译码到其中的帧内译码模式,该帧内译码模式将若干支持的帧内译码模式中的一个分配给相应的帧内译码块80。对于帧间译码块82,数据流14可以具有编码到其中的一个或多个运动参数。一般说来,帧间译码块82不限于在时间上被译码。备选地,帧间译码块82可以是从当前图片12本身之外的先前译码的部分预测的任何块,诸如图片12所属的视频的先前译码的图片,或者在编码器和解码器分别是可扩展编码器和解码器的情况下的另一视图或在分层上更低层的图片。
[0066]
图8中的预测残差信号24''''还被说明为将图片区域细分为块84。这些块可以被称为变换块,以便与译码块80和82相区别。实际上,图8说明了编码器10和解码器20可以使用分别将图片12和图片12'细分为块的两种不同的细分,即一种分别细分为译码块80和82,并且另一种分别细分为变换块84。这两个细分可以是相同的,例如,每个译码块80和82可以同时形成变换块84,但是图8说明了这样的情况:其中,例如,细分为变换块84的细分形成细
分为译码块80、82的细分的扩展,使得块80和82的两个块之间的任何边界覆盖两个块84之间的边界,或者备选地来说,每个块80、82要么与变换块84之一重合,要么与变换块84的集群重合。然而,也可以相互独立地确定或选择细分,以便变换块84能够备选地跨越块80、82之间的块边界。就细分为变换块84的细分而言,由于关于细分为块80、82的细分而提出过的那些陈述,因此类似的陈述是正确的,例如,块84可以是将图片区域规则细分为块(有或没有排列成行和列)的结果、图片区域的递归多叉树细分的结果、或其组合或任何其他类型的块化(blockation)。顺便说一句,注意,块80、82和84不限于二次型(quadratic)、矩形或任何其他形状。
[0067]
图8进一步说明了预测信号26和预测残差信号24''''的组合直接导致重构信号12'。然而,应当注意,根据备选实施例,可以将一个以上的预测信号26与预测残差信号24''''组合以导致图片12'。
[0068]
在图8中,变换块84应具有以下意义。变换器28和逆变换器54以这些变换块84为单位执行它们的变换。例如,许多编解码器将某种dst或dct用于所有变换块84。一些编解码器允许跳过变换,以便针对变换块84中的一些而直接在空间域中译码预测残差信号。然而,根据下面描述的实施例,编码器10和解码器20以其支持若干变换的方式配置。例如,由编码器10和解码器20支持的变换可以包括:odct-ii(或dct-iii),其中dct代表离散余弦变换odst-iv,其中dst代表离散正弦变换odct-ivodst-viio恒等变换(it)自然地,虽然变换器28将支持这些变换的所有前向变换版本,但解码器20或逆变换器54将支持其对应的后向或逆版本:o逆dct-ii(或逆dct-iii)o逆dst-ivo逆dct-ivo逆dst-viio恒等变换(it)随后的描述提供了关于编码器10和解码器20能够支持哪些变换的更多细节。在任何情况下,应当注意的是,所支持的变换的集合可以仅包括一个变换,诸如一个频谱到空间或空间到频谱变换。
[0069]
如上已经概述的,图6至图8已经作为示例呈现,其中可以实现下面进一步描述的发明性概念,以便形成针对根据本技术的编码器和解码器的特定示例。到目前为止,图6和图7的编码器和解码器分别可以表示下文中描述的编码器和解码器的可能实现。然而,图6和图7只是示例。然而,根据本技术的实施例的编码器可以使用下面更详细概述的概念来执行图片12的基于块的编码,并且与图6的编码器的不同之处在于其不是视频编码器而是静止图片编码器、在于其不支持帧间预测、或者在于以不同于图8中举例说明的方式执行对块80的细分。同样,根据本技术的实施例的解码器可以使用下面进一步概述的译码概念对来自数据流14的图片12'执行基于块的解码,但是可能例如与图7的解码器20的不同之处在于
其不是视频解码器而是静止图片解码器、其不支持帧内预测、或者其以不同于关于图8所描述的方式来将图片12'分成块和/或其例如不在变换域中而是在空间域中从数据流14导出预测残差。
[0070]
图1说明了根据实施例的用于将视频编码到视频数据流中的视频编码器100。视频编码器100被配置成生成视频数据流。
[0071]
图2说明了根据实施例的用于接收输入视频数据流的装置200。输入视频数据流具有编码到其中的视频。装置200被配置成从输入视频数据流生成输出视频数据流。
[0072]
图3说明了根据实施例的用于接收其中存储有视频的视频数据流的视频解码器300。视频解码器300被配置成从视频数据流解码视频。
[0073]
此外,提供了根据实施例的系统。该系统包括图2的装置和图3的视频解码器。图3的视频解码器(300)被配置成接收图2的装置(200)的输出视频数据流。图3的视频解码器300被配置成从图2的装置200的输出视频数据流解码视频。
[0074]
在实施例中,该系统可以例如进一步包括图1的视频编码器100。例如,图2的装置200可以被配置成从图1的视频编码器100接收视频数据流作为输入视频数据流。
[0075]
装置200的(可选的)中间设备210可以例如被配置成从视频编码器100接收视频数据流作为输入视频数据流,并从输入视频数据流生成输出视频数据流。例如,中间设备可以例如被配置成修改输入视频数据流的(标头/元数据)信息和/或可以例如被配置成从输入视频数据流中删除图片和/或可以被配置成将输入视频数据流与具有编码到其中的第二视频的附加第二位流混合/拼接。
[0076]
(可选的)视频解码器221可以例如被配置成从输出视频数据流解码视频。
[0077]
(可选的)假设参考解码器222可以例如被配置成根据输出视频数据流确定视频的时序信息,或者可以例如被配置成确定要将视频或视频的一部分存储在其中的缓冲区的缓冲区信息。
[0078]
该系统包括图1的视频编码器101和图2的视频解码器151。
[0079]
视频编码器101被配置成生成编码的视频信号。视频解码器151被配置成解码编码的视频信号以重构视频的图片。
[0080]
在下文中,描述特技(trick)模式和快速重放(playback)。
[0081]
根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。对于重放速度修改因子(nx),装置用于依赖于解码能力要求限制来确定解码能力要求。重放速度修改因子(nx)是前向重放速度修改因子或者是后向重放速度修改因子。
[0082]
在实施例中,解码能力要求可以例如是修改的采样速率。解码能力要求限制可以例如是采样速率限制。
[0083]
根据实施例,视频数据流可以例如包括关于采样速率限制的信息。
[0084]
在实施例中,该装置可以例如配置成依赖于视频的图片的图片大小来确定修改的采样速率。
[0085]
根据实施例,该装置可以例如配置成还依赖于帧速率并依赖于重放速度修改因子(nx)来确定修改的采样速率。视频数据流可以例如包括关于帧速率的信息。
[0086]
在实施例中,帧速率依赖于一个或多个子层的子层。视频数据流可以例如包括用
于一个或多个子层中的每个子层的子层特定帧速率信息。该装置可以例如配置成从用于一个或多个子层中的一个子层的子层特定的帧速率信息获得帧速率。
[0087]
根据实施例,装置可以例如配置成依赖于视频的图片的图片大小来确定修改的采样速率是视频的多个图片中的最高图片大小。
[0088]
在实施例中,视频数据流可以例如包括应用因子。装置可以例如配置成使用最高层图片大小和应用因子来计算修改的采样速率。
[0089]
根据实施例,最高图片大小依赖于一个或多个子层中的子层。视频数据流例如可以包括用于一个或多个子层中的每个子层的子层特定的最大图片大小信息。装置可以例如配置成从用于一个或多个子层中的一个子层的子层特定的最大图片大小信息获得最高图片大小。
[0090]
在实施例中,视频数据流可以例如包括应用因子。装置可以例如配置成使用视频的采样速率并使用应用因子来确定修改的采样速率。
[0091]
根据实施例,解码能力要求可以例如是修改的码率。解码能力要求限制可以例如是码率限制。
[0092]
根据实施例中,视频数据流可以例如包括关于码率限制的信息。
[0093]
根据实施例,装置可以例如配置成依赖于视频数据流的初始码率和依赖于重放速度修改因子(nx)来确定修改的码率。
[0094]
在实施例中,初始码率依赖于一个或多个子层中的子层视频数据流包括可以例如配置成一个或多个子层中的每个子层的子层特定的初始码率信息。装置可以例如配置成从用于一个或多个子层中的一个子层的子层特定的帧速率信息获得初始码率。
[0095]
根据实施例,视频数据流可以例如包括仅irap标志(irap = 帧内随机访问点) ,仅irap标志指示当初始重放速度增加时是否可以进行仅irap图片的解码。依赖于仅irap标志,装置可以例如配置成从视频数据流读取解码能力要求。
[0096]
在实施例中,视频数据流可以例如包括仅参考图片标志,仅irap标志指示当初始重放速度增加时是否可以进行仅参考图片的解码。依赖于仅参考图片标志,装置可以例如配置成从视频数据流读取解码能力要求。
[0097]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。视频数据流可以例如包括关于采样速率限制的信息,和/或视频数据流可以例如包括关于码率限制的信息。
[0098]
根据实施例,视频数据流可以例如包括关于帧速率的信息。
[0099]
在实施例中,视频数据流可以例如包括用于一个或多个子层中的每个子层的子层特定的帧速率信息。
[0100]
根据实施例,视频数据流可以例如包括用于确定修改的采样速率的应用因子。
[0101]
在实施例中,视频数据流可以例如包括用于一个或多个子层中的每个子层的子层特定的最大图片大小信息。
[0102]
根据实施例,视频数据流可以例如包括用于一个或多个子层中的每个子层的子层特定的初始码率信息。
[0103]
在实施例中,视频数据流可以例如包括仅irap标志,仅irap标志指示当初始重放速度增加时是否可以进行仅irap图片的解码。
[0104]
根据实施例,视频数据流可以例如包括仅参考图片标志,仅irap标志指示当初始
重放速度增加时是否可以进行仅参考图片的解码。
[0105]
在实施例中,依赖于仅irap标志,视频数据流可以例如包括级别信息;和/或依赖于仅参考图片标志,视频数据流可以例如包括级别信息。
[0106]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。视频编码器用于生成视频数据流,使得视频数据流包括关于采样速率限制的信息,和/或视频编码器用于生成视频数据流,使得视频数据流包括关于码率限制的信息。
[0107]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括关于帧速率限制的信息。
[0108]
根据实施例,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括用于一个或多个子层中的每个子层的子层特定的帧速率信息。
[0109]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括用于确定修改的采样速率的应用因子。
[0110]
根据实施例,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括用于一个或多个子层中的每个子层的子层特定的最大图片大小信息。
[0111]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括用于一个或多个子层中的每个子层的子层特定的初始码率信息。
[0112]
根据实施例,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括仅irap标志,仅irap标志指示当初始重放速度可以例如被增加时是否可以进行仅irap图片的解码。
[0113]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括仅参考图片标志,仅参考图片标志指示当初始重放速度可以例如被增加时是否可以进行仅参考图片的解码。
[0114]
根据实施例,视频编码器可以例如配置成生成视频数据流,使得依赖于仅irap标志,视频数据流可以例如包括级别信息;和/或视频编码器可以例如配置成生成视频数据流,使得依赖于仅参考图片标志,视频数据流可以例如包括级别信息。
[0115]
在实施例中,装置可以例如配置成解码输入位流以解码视频。
[0116]
此外,根据实施例,提供了用于将视频编码到视频数据流中并用于解码视频的系统。该系统包括如上所描述的视频编码器和如上所描述的装置。视频编码器用于将视频编码到视频数据流中,使得视频数据流具有编码到其中的视频。装置用于接收视频数据流作为输入位流。此外,装置用于解码输入位流以解码视频。
[0117]
快进操作或反向操作(向后快速重放)是在视频应用中执行的典型操作。通常,这些操作包括仅解码位流的子集,并且以比位流指示的速度更高的速度(例如,帧速率)解码了它。此外,即使对于非特技模式操作,在某些场景下,以更高的速度播放视频可能是感兴趣的。尽管在快进快重放中没有很大的区别,但在本描述中考虑的区别可以是第二个目标是连续和平滑的重放(甚至潜在地具有音频重放和同步),而第一个目标不是,例如,快进可能是一个不连续的重放,其内容中有很多“跳跃(jumb)”。在任何情况下,结果都是以nx速度重放内容。
[0118]
显然,以更高的速度重放内容也需要以更高的速度解码位流,这导致更高的解码
能力要求(即,更高的级别),作为如hrd参数中指示的那个更高的采样速率和更高的码率的结果。
[0119]
当不使用参考图片重采样(rpr)时,即,cvs或位流内的所有图片具有相同的大小,采样速率可以很容易地计算为样本中的图片大小除以帧速率并乘以加速因子nx。类似地,码率将乘以加速因子nx。
[0120]
在第一实施例中,根据vvc中的级别限制检查如上所讨论的导出的所描述的两个值,并且将nx加速所属的级别计算为导出值小于级别限制的最小值。
[0121]
注意,帧速率或码率是子层特定的,这意味着无论重放的子层是什么(例如,仅通过解码时间性级别0来执行快进),都使用子层特定的发信号通知的帧速率或码率来计算对应的值。
[0122]
然而,当使用参考图片重采样(rpr)时,采样速率不能很容易地导出,即,只能使用最高图片大小的最坏情况,这将导致导出最坏情况采样速率。图4说明了如何将rpr与时间性可扩展性一起使用的示例。
[0123]
图4说明了将参考图片重采样与时间性可扩展性结合使用的示例。
[0124]
在本例中,最低子层的图片大小可能为1920x1080,最高子层的图片大小可能为960x540。通过仅使用最大图片大小并假设60fps位流,将导出大约每秒124*106个样本的采样速率,而实际值将大约是78*106个,即,最坏的情况将是实际值的1.6倍。
[0125]
在一个实施例中,位流包含关于需要应用于用最坏情况值导出的采样速率的因子的指示。利用发信号通知的因子,可以导出最坏情况采样速率,将它除以发信号通知的因子,再乘以速度解码因子,以通过加速解码操作计算出实际的采样速率。
[0126]
在另一个实施例中,每子层指示最大图片大小值,如果图片大小在子层内不改变,则这将导致更好的近似或甚至正确的值导出。
[0127]
此外,还有一些其中子层没有得到充分的使用的情况。有时,通过仅解码和重放irap图片(例如,idr)或不是非参考图片的图片来执行快进。然而,不清楚当以nx速度解码时,解码这样的子位流所需的级别是什么。在另一实施例中,针对以下两种情况中的任一种指示附加级别信令:
·
仅irap:仅irap被解码。
[0128]
·
仅参考图片:非参考图片被丢弃,并且其余部分被解码。
[0129]
这样的实施例的语法可以如下。
[0130]
对于profile_tier_level:
与irap的情况类似,仅只能将参考图片添加到语法中的情况。
[0131]
码率和cpb大小可以类似地被发信号通知为:
在下文中,描述对delay_for_concatenation_ensured_flag的保护。
[0132]
根据实施例,提供了具有编码到其中的视频的视频数据流。视频数据流包括多个访问单元,其中,视频数据流的访问单元组包括多个访问单元。此外,视频数据流包括用于访问单元子集的每个访问单元的、指示在访问单元之后存在无缝拼接点的指示。访问单元子集是视频数据流的访问单元组的适当子集。
[0133]
在实施例中,视频数据流可以例如包括多个时间性子层。在访问单元之后存在无缝拼接点的指示仅针对多个时间性子层中的第一组时间性子层的访问单元而存在,但是在访问单元之后存在无缝拼接点的指示针对多个时间性子层中的第二组时间性子层的访问单元而不存在。
[0134]
根据实施例,视频数据流可以例如包括缓冲周期补充增强信息。缓冲周期补充增强信息指示在访问单元之后针对其而存在的无缝拼接点的多个访问单元中的访问单元子集。
[0135]
在实施例中,视频数据流可以例如包括除数。可以例如将延迟值分配给视频数据流的多个访问单元中的每个访问单元。指示无缝拼接点存在于访问单元的指示仅针对视频数据流的多个访问单元中具有分配的延迟值的那些访问单元而存在,延迟值在被除数除以时可以例如等于余数值。
[0136]
根据实施例,余数值可以例如为0。
[0137]
在实施例中,视频数据流可以例如包括余数值。
[0138]
根据实施例,用于访问单元子集的每个访问单元的、在访问单元之后存在无缝拼接点的指示可以例如是标志。
[0139]
在实施例中,该标志可以例如是delay_for_concatenation_ensured_flag。
[0140]
根据实施例,如果例如不可以确保用于由解码视频数据流而得到的输出图片的恒定帧速率,则标志表现出第一值。如果例如可以确保用于由解码视频数据流而得到的输出图片的恒定帧速率,则标志可以例如表现出不同于第一值的第二值。
[0141]
在实施例中,如果从解码视频数据流得到的输出图片具有等距的输出时间,则标志表现出第二值。
[0142]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。视频编码器用于生成视频数据流,使得视频数据流包括多个访问单元,其中,视频数据流的访问单元组包括多个访问单元,此外,视频编码器用于生成视频数据流,使得视频数据流包括用于访问单元子集的每个访问单元的、指示在访问单元之后存在无缝拼接点的指示。此外,视频编码器用于生成视频数据流,使得访问单元子集是视频数据流的访问单元组的适当子集。
[0143]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括关于多个时间性子层。视频编码器可以例如配置成生成视频数据流,使得在访问单元之后存在无缝拼接点的指示仅针对多个时间性子层中的第一组时间性子层的访问单元而存在,但是视频编码器可以例如配置成生成视频数据流,使得在访问单元之后存在无缝拼接点的指示针对多个时间性子层中的第二组时间性子层的访问单元而不存在。
[0144]
根据实施例,视频编码器可以例如被配置为生成视频数据流,使得视频数据流可以例如包括缓冲周期补充增强信息。视频编码器可以例如配置成生成视频数据流,使得缓冲周期补充增强信息指示在访问单元之后针对其而存在的无缝拼接点的多个访问单元中的访问单元子集。
[0145]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括除数。视频编码器可以例如配置成生成视频数据流,使得可以例如将延迟值分配给视频数据流的多个访问单元中的每个访问单元。视频编码器可以例如配置成生成视频数据流,使得指示无缝拼接点存在于访问单元的指示仅针对视频数据流的多个访问单元中具有分配的延迟值的那些访问单元而存在,延迟值在被除数除以时可以例如等于余数值。
[0146]
根据实施例,视频编码器可以例如配置成生成视频数据流,使得余数值可以例如为0。
[0147]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得视频数据流可以例如包括余数值。
[0148]
根据实施例,视频编码器可以例如配置成生成视频数据流,使得用于访问单元子
集的每个访问单元的、在访问单元之后存在无缝拼接点的指示可以例如是标志。
[0149]
在实施例中,视频编码器可以例如配置成生成视频数据流,使得用于访问单元子集的每个访问单元的、在访问单元之后存在无缝拼接点的指示可以例如是标志。
[0150]
根据实施例,如果可以例如不能确保用于由解码视频数据流而得到的输出图片的恒定帧速率,则视频编码器用于生成视频数据流,使得标志表现出第一值。如果可以例如确保用于由解码视频数据流而得到的输出图片的恒定帧速率,则视频编码器可以例如配置成生成视频数据流,使得标志表现出不同于第一值的第二值。
[0151]
在实施例中,如果从解码视频数据流得到的输出图片具有等距的输出时间,则视频编码器可以例如配置成生成视频数据流,使得标志表现出第二值。
[0152]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。装置用于处理视频数据流。视频数据流包括多个访问单元,其中,视频数据流的访问单元组包括多个访问单元。此外,视频数据流包括用于访问单元子集的每个访问单元的、指示在访问单元之后存在无缝拼接点的指示。访问单元子集是视频数据流的访问单元组的适当子集。装置用于处理指示。
[0153]
在实施例中,视频数据流可以例如包括多个时间性子层。在访问单元之后存在无缝拼接点的指示仅针对多个时间性子层中的第一组时间性子层的访问单元而存在,但是在访问单元之后存在无缝拼接点的指示针对多个时间性子层中的第二组时间性子层的访问单元而不存在。
[0154]
根据实施例,视频数据流可以例如包括缓冲周期补充增强信息。缓冲周期补充增强信息指示在访问单元之后针对其而存在的无缝拼接点的多个访问单元中的访问单元子集。该装置可以例如配置成处理缓冲周期补充增强信息。
[0155]
在实施例中,视频数据流可以例如包括除数。该装置可以例如配置成接收除数。可以例如将延迟值分配给视频数据流的多个访问单元中的每个访问单元。指示无缝拼接点存在于访问单元的指示仅针对视频数据流的多个访问单元中具有分配的延迟值的那些访问单元而存在,延迟值在被除数除以时可以例如等于余数值。
[0156]
根据实施例,余数值可以例如为0。
[0157]
在实施例中,视频数据流可以例如包括余数值。
[0158]
该装置可以例如配置成接收余数值。
[0159]
根据实施例,用于访问单元子集的每个访问单元的、在访问单元之后存在无缝拼接点的指示可以例如是标志。装置可以例如配置成处理标志。
[0160]
在实施例中,该标志可以例如是delay_for_concatenation_ensured_flag。
[0161]
根据实施例,如果可以例如不能确保用于由解码视频数据流而得到的输出图片的恒定帧速率,则标志表现出第一值。如果可以例如确保用于由解码视频数据流而得到的输出图片的恒定帧速率,则标志表现出不同于第一值的第二值。
[0162]
在实施例中,如果从解码视频数据流得到的输出图片具有等距的输出时间,则标志表现出第二值。
[0163]
根据实施例,装置可以例如配置成解码输入位流以解码视频。
[0164]
此外,根据实施例,提供了用于将视频编码到视频数据流中并用于解码视频的系统。该系统包括如上所描述的视频编码器和如上所描述的装置。视频编码器用于将视频编
码到视频数据流中,使得视频数据流具有编码到其中的视频。装置用于接收视频数据流作为输入位流。此外,所述装置用于解码所述输入位流以解码所述视频。
[0165]
在当前的vvc草案规范中,存在允许拼接设备的指示,即,将位流a和位流b的一部分级联以在位流a中寻找允许位流b的无缝拼接的au的设备。无缝拼接是指位流a的最后au和位流b的第一au之间的cpb移除时间距离与位流a的两个连续au的cpb移除时间相同。相反,非无缝拼接将意味着由于位流b的第一au不能在正确的时间发送到解码器的cpb(即,位流a的最后一个au需要比期望的更长的时间来发送)位流b的第一个au的解码(cpb移除)需要延迟,不能实现如期望的那样尽快解码au。vvc草案规范中的当前图片时序sei消息包含一个名为delay_for_concatenation_ensured_flag的标志,当设置为1时,该标志指示对于特定相关联的au来说,只要以下au(即,位流b的开始)具有delay_for_concatenation_ensured_flag等于1的bp sei消息,并且所选的initcpbremovaldelay小于或等于位流a中指示的max_initial_removal_delay_for_concatination的值,则在该位流位置处的拼接将是无缝的。因此,对于位流a的所有这些au,delay_for_concatenation_ensured_flag 表示用于无缝拼接的变量选项。
[0166]
问题是,并不是给出了上述特性的所有这些访问单元也将表示有意义的拼接点,并且即使对于无意义的拼接点,也会发信号通知delay_for_concatenation_ensured_flag,这可能导致一些实施得不太好的拼接设备在这样一个不太最佳的位置拼接。除此之外,对于所有访问单元,甚至是不是有意义的拼接点的访问单元的delay_for_concatenation_ensured_flag的指示在编码器侧引起码率开销和处理开销,以便正确地设置标志值,即使当标志值对拼接设备没有用处时也是如此。在该上下文中,非有意义的拼接点意味着即使在实际拼接点处的帧速率被保持,也可能这些拼接点中的一些将省略位流a的一部分被遗漏,从而导致在拼接点之前位流a的非连续播放,例如,在层次结构gop中间拼接。图5中示出了一个示例,其中两个位流(a和b)在两个位置(i和ii)处拼接,第一个选项(顶部)在整个示例中导致恒定的帧速率,而第二个选项(底部)由于选择的错误拼接点导致帧速率下降。
[0167]
图5说明了两个拼接点选项,其中选项i(顶部)在整个示例中保持帧速率,而选项ii(底部)在位流a的最后gop中有帧速率下降。
[0168]
因此,本发明通过为访问单元的子集选择性地信令delay_for_concatenation_ensured_flag来减少信令开销并避免对拼接设备的误导。
[0169]
在一个实施例中,delay_for_concatenation_ensured_flag仅针对特时序间性子层的au发信号通知,其中特时序间性子层在相关的bp sei消息中被指示。
[0170]
在另一实施例中,delay_for_concatenation_ensured_flag仅在缓冲周期中所有au的子集处被发信号通知,其中au子集由来自相关联的bp sei消息的信息标识。
[0171]
在一个实施例中,通过发信号通知除数和可选的余数值来指示au子集。只有当相关联的au的值(例如pt sei消息中的cpb_removal_delay或dpb_output_delay)除以除数等于可选余数时,或者在无除数的情况下等于零时,缓冲周期的pt sei消息中的delay_for_concatenation_ensured_flag才被发信号通知。
[0172]
在另一个实施例中,如果输出图片不能确保如图所示的恒定帧速率,则delay_for_concatenation_ensured_的值被设置为0。注意,当前规范目前只关注解码时间,并确
保标志为1的au满足上次到达时间(au已完全到达cpb)和cpb移除延迟之间的差满足条件(即》阈值)。因此,实现了连续aus的解码时间的等距。这里,本发明将补充,如果该标志被设置为1,则位流a中连续aus的输出时间也具有等距的输出时间。
[0173]
在下文中,描述输出层集特定的hrd。
[0174]
根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述装置用于依赖于输出层集来处理所述输入位流以获得子位。如果所述输出层集不包括存在于所述视频数据流中的多个层中的预定义层(vps_layer_id[0]),则所述装置用于移除与所述预定义层(vps_layer_id[0])一起分配的至少一个不可扩展嵌套补充增强信息消息。如果所述输出层集包括所述预定义层(vps_layer_id[0]),则所述装置配置成不移除与所述预定义层(vps_layer_id[0])一起分配的任何不可扩展嵌套补充增强信息消息。
[0175]
其中,如果在所述视频数据流的当前译码视频序列中不存在由所述多个层中的所有层组成的输出层集,则可以例如不存在具有缓冲周期有效载荷和图片时序有效载荷和解码单元信息有效载荷中的至少一个的不可扩展嵌套补充增强信息消息。
[0176]
根据实施例,如果在所述视频数据流的所述当前译码视频序列中不存在由所述多个层中的所有层组成的输出层集,则可以例如不存在具有所述缓冲周期有效载荷和所述图片时序有效载荷和所述解码单元信息有效载荷和子图片级别信息有效载荷中的至少一个的不可扩展嵌套补充增强信息消息。
[0177]
在实施例中,如果不存在由所述视频数据流的所述当前译码视频序列中的所述多个层中的所有层组成的输出层集,则可以例如不存在有效载荷类型等于指示所述缓冲周期有效载荷的第一值、或等于指示所述图片时序有效载荷的第二值、或等于指示所述解码单元信息有效载荷的第三值、或等于指示所述子图片级别信息有效载荷的第四值的不可扩展嵌套补充增强信息消息。
[0178]
根据实施例,对于所述有效载荷类型等于所述第一值、或等于所述第二值、或等于所述第三值、或等于所述第四值的不可扩展嵌套补充增强信息消息,当存在时,所述不可扩展嵌套补充增强信息消息应用于由所述整个位流中的所述当前译码视频序列中的所有层组成的所有所述输出层集。
[0179]
在实施例中,如果不存在由所述视频数据流的所述当前译码视频序列中的所述多个层中的所有层组成的输出层集,则可以例如不存在所述有效载荷类型等于指示所述缓冲周期有效载荷的0、或等于指示所述图片时序有效载荷的1、或等于指示所述解码单元有效载荷的130、或等于指示所述子图片级别信息有效载荷的203的不可扩展嵌套补充增强信息消息。
[0180]
根据实施例,对于所述有效载荷类型等于0或等于1或等于130或等于203的不可扩展嵌套补充增强信息消息,当存在时,所述不可扩展嵌套补充增强信息消息应用于由所述整个位流中的所述当前译码视频序列中的所有层组成的所有所述输出层集。
[0181]
在实施例中,如果所述输出层集不包括所述预定义层(vps_layer_id[0]),则所述装置可以例如配置成移除与所述预定义层(vps_layer_id[0])一起分配的所有嵌套补充增强信息消息。
[0182]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流
包括视频参数集。所述视频参数集包括多个输出层集。如果所述多个输出层集中没有一个包括存在于所述视频数据流中的多个层中的所有层,则所述视频数据流不包括用于假设参考解码器的任何不可扩展嵌套补充增强信息消息。
[0183]
其中,如果在所述视频数据流的当前译码视频序列中不存在由所述多个层中的所有层组成的输出层集,则可以例如不存在具有缓冲周期有效载荷和图片时序有效载荷和解码单元信息有效载荷中的至少一个的不可扩展嵌套补充增强信息消息。
[0184]
根据实施例,如果在所述视频数据流的所述当前译码视频序列中不存在由所述多个层中的所有层组成的输出层集,则可以例如不存在具有所述缓冲周期有效载荷和所述图片时序有效载荷和所述解码单元信息有效载荷和子图片级别信息有效载荷中的至少一个的不可扩展嵌套补充增强信息消息。
[0185]
在实施例中,如果不存在由所述视频数据流的所述当前译码视频序列中的所述多个层中的所有层组成的输出层集,则可以例如不存在有效载荷类型等于指示所述缓冲周期有效载荷的第一值、或等于指示所述图片时序有效载荷的第二值、或等于指示所述解码单元信息有效载荷的第三值、或等于指示所述子图片级别信息有效载荷的第四值的不可扩展嵌套补充增强信息消息。
[0186]
根据实施例,对于所述有效载荷类型等于所述第一值、或等于所述第二值、或等于所述第三值、或等于所述第四值的不可扩展嵌套补充增强信息消息,当存在时,所述不可扩展嵌套补充增强信息消息应用于由所述整个位流中的所述当前译码视频序列中的所有层组成的所有所述输出层集。
[0187]
在实施例中,如果不存在由所述视频数据流的所述当前译码视频序列中的所述多个层中的所有层组成的输出层集,则可以例如不存在所述有效载荷类型等于指示所述缓冲周期有效载荷的0、或等于指示所述图片时序有效载荷的1、或等于指示所述解码单元有效载荷的130、或等于指示所述子图片级别信息有效载荷的203的不可扩展嵌套补充增强信息消息。
[0188]
根据实施例,对于所述有效载荷类型等于0或等于1或等于130或等于203的不可扩展嵌套补充增强信息消息,当存在时,所述不可扩展嵌套补充增强信息消息应用于由所述整个位流中的所述当前译码视频序列中的所有层组成的所有所述输出层集。
[0189]
在实施例中,如果所述视频数据流包括用于所述假设参考解码器的至少一个不可扩展嵌套补充增强信息消息,则所述多个输出层集中的至少一个可以例如包括存在于所述视频数据流中的所述多个层中的所有层。
[0190]
根据实施例,用于所述假设参考解码器的所有补充增强信息消息是可扩展嵌套补充增强信息消息,所述所有补充增强信息消息与所述多个输出层集的输出层集无关,所述多个输出层集的输出层集可以例如包括存在于所述视频数据流中的所述多个层中的所有层。
[0191]
在实施例中,用于所述假设参考解码器的所有不可扩展嵌套补充增强信息消息与所述多个输出层集中的输出层集相关联,所述输出层集可以例如包括存在于所述视频数据流中的所述多个层中的所有层。
[0192]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视
频数据流包括视频参数集。此外,所述视频编码器用于生成所述视频数据流,使得所述视频参数集包括多个输出层集。如果所述多个输出层集中没有一个包括存在于所述视频数据流中的多个层中的所有层,则所述视频编码器用于生成所述视频数据流,使得所述视频数据流不包括用于假设参考解码器的任何不可扩展嵌套补充增强信息消息。
[0193]
其中,如果在所述视频数据流的当前译码视频序列中可以例如不存在由所述多个层中的所有层组成的输出层集,则可以例如不存在具有缓冲周期有效载荷和图片时序有效载荷和解码单元信息有效载荷中的至少一个的不可扩展嵌套补充增强信息消息。
[0194]
根据实施例,如果在所述视频数据流的所述当前译码视频序列中可以例如不存在由所述多个层中的所有层组成的输出层集,则可以例如不存在具有所述缓冲周期有效载荷和所述图片时序有效载荷和所述解码单元信息有效载荷和子图片级别信息有效载荷中的至少一个的不可扩展嵌套补充增强信息消息。
[0195]
在实施例中,如果不存在由所述视频数据流的所述当前译码视频序列中的所述多个层中的所有层组成的输出层集,则可以例如不存在有效载荷类型等于指示所述缓冲周期有效载荷的第一值、或等于指示所述图片时序有效载荷的第二值、或等于指示所述解码单元信息有效载荷的第三值、或等于指示所述子图片级别信息有效载荷的第四值的不可扩展嵌套补充增强信息消息。
[0196]
根据实施例,对于所述有效载荷类型等于所述第一值、或等于所述第二值、或等于所述第三值、或等于所述第四值的不可扩展嵌套补充增强信息消息,当存在时,所述不可扩展嵌套补充增强信息消息应用于由所述整个位流中的所述当前译码视频序列中的所有层组成的所有所述输出层集。
[0197]
在实施例中,如果不存在由所述视频数据流的所述当前译码视频序列中的所述多个层中的所有层组成的输出层集,则不存在所述有效载荷类型等于指示所述缓冲周期有效载荷的0、或等于指示所述图片时序有效载荷的1、或等于指示所述解码单元有效载荷的130、或等于指示所述子图片级别信息有效载荷的203的不可扩展嵌套补充增强信息消息。
[0198]
根据实施例,对于所述有效载荷类型等于0或等于1或等于130或等于203的不可扩展嵌套补充增强信息消息,当存在时,所述不可扩展嵌套补充增强信息消息应用于由所述整个位流中的所述当前译码视频序列中的所有层组成的所有所述输出层集。
[0199]
在实施例中,如果视频数据流可以例如包括用于假设参考解码器的至少一个不可扩展嵌套补充增强信息消息,则所述视频编码器可以例如配置成生成所述视频数据流,使得所述多个输出层集中的至少一个包括存在于所述视频数据流中的所述多个层中的所有层。
[0200]
根据实施例,所述视频编码器可以例如配置成生成所述视频数据流,使得用于所述假设参考解码器的所有补充增强信息消息是可扩展嵌套补充增强信息消息,所述所有补充增强信息消息与所述多个输出层集的输出层集无关,所述多个输出层集的输出层集可以例如包括存在于所述视频数据流中的所述多个层中的所有层。
[0201]
在实施例中,所述视频编码器可以例如配置成生成所述视频数据流,使得用于所述假设参考解码器的所有不可扩展嵌套补充增强信息消息与所述多个输出层集的输出层集相关联,所述多个输出层集的输出层集可以例如包括存在于所述视频数据流中的所述多个层中的所有层。
[0202]
根据实施例,所述装置可以例如配置成解码所述输入位流以解码所述视频。
[0203]
当前的vvc草案规范提供了在仅适用于子位流(即,也就是ols)的位流中以嵌套形式使用指示各自ol的可扩展嵌套sei消息来携带hrd时序信息(bp sei消息、pt sei消息、dui sei消息)的手段。直接携带在位流中的其他hrd sei消息(作为不可扩展嵌套sei消息)需要应用到第0个ols,即通过语法元素vps_layer_id[0]在vps中指示的单层子位流。然而,作为分层编码的典型,从位流中移除该层或任何其他层不需要重写vp,因此甚至可以不存在nuh_layer_id等于vps_layer_id[0]的层。
[0204]
这种需求带来的问题是,当提取第0个ols以外的ols时,不允许任何不可扩展嵌套sei消息,即使提取的ols确实包括nuh_layer_id等于vps_layer_id[0]的层。只有在重写vps(vps_layer_id[0])和各层的nal单元标头中的相应值之后,这样的不可扩展嵌套消息才能保留在位流中。
[0205]
下面介绍解决该问题的本发明的两个方面,如下。
[0206]
1)作为第一个解决方案,上面描述的复杂性没有被触及,但是以如下方式调整提取过程,即当提取的ols不包括nuh_layer_id于vps_layer_id[0]的层时,提取过程仅移除应用于nuh_layer_id等于vps_layer_id[0]的层的不可扩展嵌套sei消息。因此,不必不必要地删除不可扩展嵌套sei消息(或者换句话说,不必不必要地对包括nuh_layer_id等于vps_layer_id[0]的层的每个ols进行复制)。
[0207]
2)作为第二个解决方案,当在vps中没有定义对应于完整位流(即,其中的所有层)的ols时,不允许在位流中存在不可扩展嵌套sei消息(bp、pt、dui)。否则,当存在对应于位流中所有存在层的ols时,允许各个hrd sei消息以不可扩展的嵌套方式在位流中。所有其他hrd sei消息(应用于其他ols)必须在可扩展嵌套sei消息中。反之亦然,所有不可扩展的嵌套sei消息作为一个整体对应于当前位流。
[0208]
对于不可扩展嵌套的补充增强信息消息,当payloadtype等于0(指示缓冲周期,bp/内容)、1(指示图片时序、pt、内容)、130(指示解码单元信息、dui、内容)或203(指示子图片级别信息、sli、内容)时,不可扩展嵌套的补充增强信息消息应用于所有输出层集,当存在时,这些输出层集由整个位流中的当前编码视频序列中的所有层组成。
[0209]
当不存在由整个位流的当前编码视频序列中的所有层组成的输出层集时,将不存在payloadtype等于0(bp)、1(pt)、130(dui)或203(sli)的不可扩展嵌套补充增强消息。
[0210]
在下文中,描述dps中的重写子层ptl。
[0211]
根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述视频数据流包括初始简档层级信息。此外,所述视频数据流包括第一组两层或更多层。所述装置用于依赖于多个输出层集的输出层集来处理所述输入位流,以通过从所述第一组两层或更多层中移除至少一层以获得第二组一层或更多层来生成输出位流,使得所述输出位流包括所述第二组一层或更多层,而不包括已从所述第一组移除的所述至少一层。此外,所述装置用于从所述初始简档层级信息中移除与所述第二组一个或多个层中的至少一个层无关的所述初始简档层级信息的那些部分。
[0212]
根据实施例,视频数据流可以例如包括初始解码参数集简档层级信息作为所述初始简档层级信息。所述装置可以例如配置成从所述初始解码参数集简档层级信息中移除与所述第二组一个或多个层中的所述至少一个层无关的所述初始解码参数集简档层级信息
的那些部分。
[0213]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。
[0214]
所述视频数据流包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。所述装置用于依赖于所述多个输出层集中的输出层集来处理所述输入位流以获得输出位流,使得所述输出位流包括用于所述输出层集的所述解码参数集信息,并且使得所述输出位流不包括用于所述多个输出层集的任何其他输出层集的所述解码参数集信息。
[0215]
在实施例中,视频数据流可以例如包括原始字节序列有效载荷。原始字节序列有效载荷可以例如包括用于所述多个输出层集中的每个输出层集的所述解码参数集信息。
[0216]
根据实施例,视频数据流可以例如包括可扩展嵌套补充增强消息,所述可扩展嵌套补充增强信息可以例如包括用于所述多个输出层集中的每个输出层集的所述解码参数集信息。
[0217]
在实施例中,视频数据流可以例如包括嵌套类型标志(nesting_type),所述嵌套类型标志(nesting_type)包括一位或多位。
[0218]
根据实施例,如果所述嵌套类型标志(nesting_type)表现出第一值,则这指示所述可扩展嵌套补充增强消息可以例如包括一个或多个解码参数集,所述一个或多个解码参数集包括所述解码参数集信息,并且指示在所述可扩展嵌套补充增强消息内没有另外的补充增强消息被嵌套。
[0219]
在实施例中,如果所述嵌套类型标志(nesting_type)表现出第二值,则这指示嵌套在所述可扩展嵌套补充增强消息内的所述一个或多个补充增强消息应用于输出层集。
[0220]
根据实施例,如果所述嵌套类型标志(nesting_type)表现出第三值,则这指示嵌套在所述可扩展嵌套补充增强消息内的所述一个或多个补充增强消息应用于输出层集的子集。
[0221]
在实施例中,如果所述嵌套类型标志(nesting_type)表现出第四值,则这指示所述可扩展套补充增强消息可以例如包括一个或多个解码参数集,所述一个或多个解码参数集包括所述解码参数集信息。
[0222]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流可以例如包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。
[0223]
在实施例中,视频数据流可以例如包括原始字节序列有效载荷。原始字节序列有效载荷可以例如包括用于所述多个输出层集中的每个输出层集的所述解码参数集信息。
[0224]
根据实施例,视频数据流可以例如包括可扩展嵌套补充增强消息,所述可扩展嵌套补充增强消息可以例如包括所述可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息可以例如包括用于所述多个输出层集中的每个输出层集的所述解码参数集信息。
[0225]
在实施例中,视频数据流可以例如包括嵌套类型标志(nesting_type),所述嵌套类型标志(nesting_type)包括一位或多位。
[0226]
根据实施例,如果所述嵌套类型标志(nesting_type)表现出第一值,则这指示所述可扩展嵌套补充增强消息可以例如包括一个或多个解码参数集,所述一个或多个解码参
数集包括所述解码参数集信息,并且指示在所述可扩展嵌套补充增强消息内没有另外的补充增强消息被嵌套。
[0227]
在实施例中,如果所述嵌套类型标志(nesting_type)表现出第二值,则这指示嵌套在所述可扩展嵌套补充增强消息内的所述一个或多个补充增强消息应用于输出层集。
[0228]
根据实施例,如果所述嵌套类型标志(nesting_type)表现出第三值,则这指示嵌套在所述可扩展嵌套补充增强消息被的一个或多个补充增强消息应用于输出层集的子集,例如,其中,一个或多个子图片被分配给所述子集。
[0229]
在实施例中,如果所述嵌套类型标志(nesting_type)表现出第四值,则这指示所述可扩展套补充增强消息可以例如包括一个或多个解码参数集,所述一个或多个解码参数集包括所述解码参数集信息。
[0230]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。
[0231]
在实施例中,所述视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流可以例如包括所述原始字节序列有效载荷。视频编码器可以例如配置成生成所述视频数据流,使得所述原始字节序列有效载荷可以例如包括用于所述多个输出层集中的每个输出层集的所述解码参数集信息。
[0232]
根据实施例,视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流可以例如包括可扩展嵌套补充增强消息,所述可扩展嵌套补充增强消息可以例如包括所述可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息可以例如包括用于所述多个输出层集中的每个输出层集的所述解码参数集信息。
[0233]
在实施例中,视频编码器可以例如被配置成生成视频数据流,使得所述视频数据流包括嵌套类型标志(nesting_type),所述嵌套类型标志(nesting_type)可以例如包括一位或多位。
[0234]
根据实施例,所述视频编码器可以例如配置成生成所述视频数据流,使得如果所述嵌套类型标志(nesting_type)表现出第一值,则这指示所述可扩展嵌套补充增强消息包括一个或多个解码参数集,所述一个或多个解码参数集可以例如包括所述解码参数集信息,并且指示在所述可扩展嵌套补充增强消息内没有另外的补充增强消息被嵌套。
[0235]
在实施例中,所述视频编码器可以例如配置成生成所述视频数据流,使得如果所述嵌套类型标志(nesting_type)表现出第二值,则这指示嵌套在所述可扩展嵌套补充增强消息内的一个或多个补充增强消息应用于输出层集。
[0236]
根据实施例,所述视频编码器可以例如配置成生成所述视频数据流,使得如果所述嵌套类型标志(nesting_type)表现出第三值,则这指示嵌套在所述可扩展嵌套补充增强消息内的一个或多个补充增强消息到输出层集的子集,例如,其中,一个或多个子图片被分配给所述子集。
[0237]
在实施例中,视频编码器可以例如生成所述视频数据流,使得如果所述嵌套类型标志(nesting_type)表现出第四值,则这指示所述可扩展嵌套补充增强消息可以例如包括一个或多个解码参数集,所述一个或多个解码参数集包括所述解码参数集信息。
[0238]
此外,根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流包括多个操作点的指示。此外,所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个简档层级中的一个或多个简档层级分配给所述操作点。此外,所述视频数据流包括多个第二映射,其中,所述多个映射中的每个将所述多个操作点中的一个分配给多个输出级别集中的一个输出级别集。
[0239]
在实施例中,视频数据流可以例如包括解码参数集。解码参数集可以例如包括多个操作点的指示。
[0240]
根据实施例,视频数据流可以例如包括指示所述视频数据流的层的数量层指示的数量;和/或,所述视频数据流可以例如包括指示所述视频数据流的子层的数量的子层指示的数量。
[0241]
在实施例中,视频数据流的层的数量可以例如是恒定的;和/或所述视频数据流的子层的数量可以例如是恒定的。
[0242]
根据实施例,所述视频数据流可以例如包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。
[0243]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括多个操作点的指示。此外,所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个简档层级中的一个或多个简档层级分配给所述操作点。此外,所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括多个第二映射,其中所述多个映射中的每个将所述多个操作点中的一个分配给多个输出层集中的一个输出层集。
[0244]
在实施例中,所述视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流可以例如包括解码参数集。视频编码器可以例如配置成生成所述视频数据流,使得所述解码参数集可以例如包括所述多个操作点的所述指示。
[0245]
根据实施例,视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流可以例如包括指示所述视频数据流的层的数量的层指示的数量;和/或所述视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流可以例如包括指示所述视频数据流的子层的数量的子层指示的数量。
[0246]
在实施例中,视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流的层的数量可以例如是恒定的;和/或所述视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流的子层的数量可以例如是恒定的。
[0247]
根据实施例,视频编码器可以例如配置成生成所述视频数据流,使得所述视频数据流可以例如包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。
[0248]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述视频数据流包括多个操作点的指示。此外,所述视频数据流包括用于所述多个操作点中的每个操作点的第一映射,所述第一映射将多个简档层级中的一个或多个简档层级映射到所述操作点。此外,所述视频数据流包括多个第二映射,其中,所述多个映射中的每个将所述多个操作点中的一个映射到多个输出级别集中的一个输
出级别。所述装置用于依赖于多个输出层集中的输出层集并依赖于映射所述输出级别集的所述多个操作点中的一个操作点的所述第二映射中的至少一个来处理所述输入位流,以产生输出位流。
[0249]
在实施例中,视频数据流可以例如包括解码参数集。解码参数集可以例如包括多个操作点的指示。所述装置用于处理所述解码参数集。
[0250]
根据实施例,视频数据流可以例如包括指示所述视频数据流的层的数量层指示的数量;和/或,所述视频数据流可以例如包括指示所述视频数据流的子层的数量的子层指示的数量。
[0251]
在实施例中,视频数据流的层的数量可以例如是恒定的;和/或所述视频数据流的子层的数量可以例如是恒定的。
[0252]
根据实施例,所述视频数据流可以例如包括可扩展嵌套补充增强信息,所述可扩展嵌套补充增强信息包括用于多个输出层集中的每个输出层集的解码参数集信息。该装置可以例如配置成处理可扩展嵌套补充增强信息。
[0253]
根据实施例,所述装置可以例如配置成解码所述输入位流以解码所述视频。
[0254]
此外,根据实施例,提供了用于将视频编码到视频数据流中并用于解码所述视频的系统。该系统包括如上所描述的视频编码器和如上所描述的根据权利要求371的装置。所述视频编码器用于将所述视频编码到所述视频数据流中,使得所述视频数据流具有编码到其中的所述视频。所述装置用于接收所述视频数据流作为输入位流。此外,所述装置用于解码所述输入位流以解码所述视频。
[0255]
vvc草案规范包括描述位流的约束(ptl)的解码参数集(dps)。它可以用于诸如rtsp/sip中的sdp的能力交换和协商,或者可以用于自适应流场景中的流选择。因此,它的目的是指示给定位流(cvs的级联)所需的最大能力,并且因此它的范围比在仅具有编码视频序列(cvs)的范围的相应的前代编解码器生成(hevc和avc)中定义的所有参数集更大。现在,vvc规范草案描述了cvss级联的约束,即,位流。dps主要携带包括位流中使用的所有ptl的多个简档层级信息(ptl),即,需要支持此列表中的所有ptl,以便成功解码对应的位流。
[0256]
当执行位流提取或剪枝(pruning)时,会出现其中一些层被移除的问题。在这样的
处理之后,所得到的位流可能不再携带层的整个集,例如,从6层位流中提取包含版本(相应ols)的3层。因此,在dps不能准确地描述剪枝后得到的位流的内容的ptl的情况下,dps将不能再服务于其能力协商的目的。
[0257]
因此,作为本发明的一部分,描述了如何缓解该问题并允许使用dps进行能力协商的三个选项。
[0258]
在下文中,描述了提取过程中的dps重写。
[0259]
在提取期间调整dps中的ptl信息,因为只有对应于提取后剩余层的ptl信息保留在dps中,而其他ptl信息被移除。
[0260]
在下文中,描述子位流特定的dps嵌套。
[0261]
定义了携带ols特定dps rbsp和提取的可扩展嵌套sei消息,通过位流提取过程提取相应的dps rbsp并将其写入输出位流中的新dps中。
[0262]
在实施例中,使用携带参数集的新嵌套sei消息。
[0263]
在另一实施例中,单个可扩展嵌套sei消息用于携带参数集或其他sei消息。在本例中,语法元素被添加到可扩展嵌套sei消息中,以指示内部执行的内容。
[0264]
在上面的语法中,假定当包含参数集(nesting_type==1)时,没有其他sei。在另一实施例中,参数集和其他sei可以同时包括在嵌套sei消息中。
[0265]
在另一个实施例中,nesting_type可以用于几个目的。指示:
·
嵌套在嵌套sei内的sei消息应用于ols
·
嵌套在嵌套sei内的sei消息应用于ols的子集,例如,ols内的子图片
·
在嵌套sei中嵌套存在参数集在下文中,介绍dps中的操作点。
[0266]
提取过程中的dps重写和子位流特定的dps嵌套可能在某些情况(例如,约束位流)下工作。例如,提取过程中的dps重写。可能仅当位流的所有vps事先已知并且层/子层的数量不从cvs到cvs改变时才起作用。在子位流特定dps嵌套的情况下,类似的会发生,因为原则上,ols(例如,它们的数量和id)可能从cvs到cvs改变。
[0267]
在另一实施例中,定义了操作点。它们可能在dps中定义,并为每个ptl提供一个列表。除了ols索引之外,还添加操作点索引作为解码处理的输入,以描述和选择适当的操作点。然后,操作点与ols的一些关联在vps中被发信号通知。
[0268]
dps的语法元素将通过移除子层的数量如下地更改,因为这可能会从cvs到cvs改变并包括操作点。
[0269]
在另一实施例中,num_sub_layer和层数在位流中保持恒定。该指示被添加到位流中,并且指示操作点与子层或多层之间的映射。
[0270]
在另一个实施例中,4.2中定义的可扩展嵌套sei消息应用于操作点,并且在位流中也提供到ols的映射。
[0271]
在下文中,描述param集中的maxsublayer。
[0272]
根据实施例,提供了具有编码到其中的视频的视频数据流。所述视频数据流包括序列参数集和解码参数集。所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。所述第一指示值小于或等于所述第二指示值。
[0273]
在实施例中,视频数据流可以例如包括序列参数集和解码参数集。所述序列参数
集可以例如包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。所述解码参数集可以例如包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。所述解码参数集的所述第二指示值是优先于所述序列参数集的所述第一指示值的上边界。
[0274]
根据实施例,恒定值可以例如为1。
[0275]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括序列参数集和解码参数集。所述视频编码器用于生成所述视频数据流,使得所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。此外,所述视频编码器生成所述视频数据流,使得所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。此外,所述视频编码器用于生成所述视频数据流,使得所述第一指示值小于或等于所述第二指示值。
[0276]
此外,根据实施例,提供了用于将视频编码到视频数据流中的视频编码器,使得视频数据流具有编码到其中的视频。所述视频编码器用于生成所述视频数据流,使得所述视频数据流包括序列参数集和解码参数集。此外,所述视频编码器用于生成所述视频数据流,使得所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。此外,所述视频编码器生成所述视频数据流,使得所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。所述解码参数集的所述第二指示值是优先于所述序列参数集的所述第一指示值的上边界。
[0277]
在实施例中,恒定值可以例如为1。视频编码器可以例如配置成生成所述视频数据流,使得所述序列参数集可以例如包括所述第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去1。视频编码器可以例如配置成生成所述视频数据流,使得所述解码参数集可以例如包括所述第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去1。
[0278]
此外,根据实施例,提供了用于接收视频数据流作为输入位流的装置,其中,视频数据流具有编码到其中的视频。所述视频数据流包括序列参数集和解码参数集。所述序列参数集包括第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的最大数量或子层的所述最大数量减去恒定值。所述解码参数集包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去所述恒定值。如果所述第一指示值大于所述第二指示值,则所述装置用于处理所述输入位流以生成输出位流,使得所述输出位流包括所述第二指示值作为关于子层的最大数量或关于子层的最大数量减去所述恒定值的指示。
[0279]
在实施例中,恒定值可以例如为1。所述序列参数集可以例如包括所述第一指示值,所述第一指示值根据存储在所述序列参数集中的信息来指示子层的所述最大数量或子
层的所述最大数量减去1,所述解码参数集可以例如包括第二指示值,所述第二指示值根据存储在所述解码参数集中的信息来指示子层的所述最大数量或子层的所述最大数量减去1。如果所述第一指示值可以例如大于所述第二指示值,则所述装置可以例如配置成处理所述输入位流以生成输出位流,使得所述输出位流可以例如包括所述第二指示值作为关于子层的最大数量减去1。
[0280]
当进行位流剪枝(也称为子层提取)并从位流中扔掉属于特定时序性id的nal单元时,通常不修改参数集,尽管可以重写某些高级参数集,诸如dps。
[0281]
这导致位流内的不一致,使得解码过程不清楚或更加复杂。例如,如果按照上一节中所描述的重写dps,并且子层的实际数量被指示为dps_max_sublayers_minus1(不包括扔掉的时间性id),但是在sps处的值没有被修改(这不是预想的),sps_max_sublayers_minus1将具有比在dps上的值更高的值。解码器不会真正知道应该信任什么值。
[0282]
在一个实施例中,位流约束是sps_max_sublayers_minus1必须《=dps_max_sublayers_minus1。因此,如果遇到这样的“问题”,可以构建某种类型的抗误码(error resilience)能力。通过这样的约束,可以清楚地看到,当解析违反该条件的“位流”时,具有更高值的sps将简单地对应于新的位流(例如,由于丢失位流结束(eob)nal单元而未被发现)。这将意味着当执行位流剪枝时,除非也改变sps_max_sublayers_minus1,否则不能改变dps_max_sublayers_minus1。
[0283]
在另一实施例中,不需要该约束,并且使用dps信令来设置发送到解码器的位流的操作点或输出层集。也就是说,当dps_max_sublayers_minus1小于sps_max_sublayers_minus1时,在dps中发信号通知的值优先于在sps中指示发送到解码器的位流最多具有dps_max_sublayers_minus1的值。
[0284]
由于当存在多于一层时,不同层的子层数可能不同,因此dps_max_sublayers_minus1适用于所有输出层,而所有非输出层都有dps_max_sublayers_minus1或其对应的sps_max_sublayers_minus1(如果后者小于dps_max_sublayers_minus1)。
[0285]
尽管已在装置的情境下描述一些方面,但显然这些方面也表示对应的方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的情境下描述的方面也表示对应的装置的对应的块或项目或特征的描述。方法步骤的一些或全部可以通过(或使用)如例如微处理器、可编程计算机或电子电路那样的硬件装置来执行。在一些实施例中,最重要的方法步骤中的一个或多个可以由这样的装置执行。
[0286]
依赖于某些实现方式要求,本发明的实施例能够以硬件实现或以软件实现或至少部分地以硬件实现或至少部分地以软件实现。实现方式能够使用数字存储介质(例如,软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或闪速存储器)来实行,该数字存储介质具有存储于其上的电子可读的控制信号,该控制信号与可编程计算机系统合作(或能够与其合作),使得实行相应的方法。因此,数字存储介质可以是计算机可读的。
[0287]
根据本发明的一些实施例包括数据载体,该数据载体具有电子可读的控制信号,该控制信号能够与可编程计算机系统合作,使得实行本文中所描述的方法之一。
[0288]
一般而言,本发明的实施例能够实现为具有程序代码的计算机程序产品,程序代码是操作性的,以便当计算机程序产品在计算机上运行时,实行方法之一。程序代码可以例如存储于机器可读载体上。
[0289]
其它实施例包括存储于机器可读载体上的用于实行本文中所描述的方法之一的计算机程序。
[0290]
换而言之,因此,发明性方法的实施例是一种计算机程序,该计算机程序具有用于当计算机程序在计算机上运行时实行本文中所描述的方法之一的程序代码。
[0291]
因此,发明性方法的另外的实施例是一种数据载体(或数字存储介质或计算机可读介质),该数据载体包括记录于其上的用于实行本文中所描述的方法之一的计算机程序。数据载体、数字存储介质或所记录的介质典型地是有形和/或非暂时性的。
[0292]
因此,发明性方法的另外的实施例是一种数据流或信号序列,该数据流或信号序列表示用于实行本文中所描述的方法之一的计算机程序。该数据流或信号序列可以例如配置成经由数据通信连接(例如,经由互联网)转移。
[0293]
另外的实施例包括配置成或适于实行本文中所描述的方法之一的处理部件,例如计算机或可编程逻辑设备。
[0294]
另外的实施例包括一种计算机,该计算机具有安装于其上的用于实行本文中所描述的方法之一的计算机程序。
[0295]
根据本发明的另外的实施例包括配置成将用于实行本文中所描述的方法之一的计算机程序转移(例如,电子地或光学地)到接收器的装置或系统。接收器可以例如是计算机、移动设备、存储器设备等等。该装置或系统可以例如包括用于将计算机程序转移到接收器的文件服务器。
[0296]
在一些实施例中,可编程逻辑设备(例如,现场可编程门阵列)可以用于实行本文中所描述的方法的功能性中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器合作,以便实行本文中所描述的方法之一。一般而言,该方法优选地通过任何硬件设备来实行。
[0297]
本文中所描述的设备可以使用硬件设备或使用计算机或使用硬件设备和计算机的组合来实现。
[0298]
本文中所描述的方法可以使用硬件设备或使用计算机或使用硬件设备和计算机的组合来实行。
[0299]
上述实施例仅说明本发明的原理。理解的是,对于本领域的其他技术人员来说,本文中所描述的布置和细节的修改和变化将是显而易见的。因此,本发明的意图仅由即将提出的专利权利要求的范围所限制,而不由以描述和解释本文中实施例的方式而呈现的具体细节所限制。
[0300]
参考文献[1]iso/iec、itu-t。高效视频译码。itu-t推荐h.265 | iso/iec 23008 10 (hevc),第1版,2013年;第2版,2014年。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献