用于所有层的可伸缩嵌套式SEI消息制造技术

技术编号:38890601 阅读:11 留言:0更新日期:2023-09-22 14:15
本发明专利技术公开了一种视频译码机制。所述机制包括在解码器处接收码流。所述码流包括一个或多个层和当前可伸缩嵌套式补充增强信息(supplemental enhancement information,SEI)网络抽象层(network abstraction layer,NAL)单元中的可伸缩嵌套式SEI信息。所述可伸缩嵌套式SEI消息包括伸缩嵌套的SEI消息和可伸缩嵌套的所有层标志(all_layers_flag),所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息是否应用于层标识符(identifier,Id)大于或等于所述当前SEI NAL单元的层Id的所有层。对来自所述一个或多个层的编码图像进行解码,以产生解码图像。所述解码图像被转发以作为解码视频序列的一部分显示。示。示。

【技术实现步骤摘要】
用于所有层的可伸缩嵌套式SEI消息
[0001]相关申请交叉引用
[0002]本申请要求王业奎于2019年9月24日提交的标题为“用于层的SEI消息的可伸缩嵌套(Scalablee Nesting of SEI Messages for Layers)”的美国临时专利申请第62/905,144号的权益,该美国临时专利申请通过引用的方式并入本文中。


[0003]本专利技术大体上涉及一种视频译码,并且具体涉及用于支持对多层码流中的层进行编码的可伸缩嵌套式补充增强信息(supplemental enhancement information,SEI)消息。

技术介绍

[0004]即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备中存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,由对视频数据进行解码的视频解压缩设备在目的地侧接收压缩数据。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。

技术实现思路

[0005]在一个实施例中,本专利技术包括一种在解码器中实现的方法,所述方法包括:所述解码器的接收器接收包括一个或多个层和当前补充增强信息(supplemental enhancement information,SEI)网络抽象层(network abstraction layer,NAL)单元中的可伸缩嵌套式SEI消息的码流,其中,所述可伸缩嵌套式SEI消息包括伸缩嵌套的SEI消息和可伸缩嵌套的所有层标志(all_layers_flag),所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息是否应用于层标识符(identifier,Id)大于或等于所述当前SEI NAL单元的层Id的所有层;所述解码器的处理器对来自所述一个或多个层的编码图像进行解码,以产生解码图像;所述处理器转发所述解码图像,以作为解码视频序列的一部分显示。
[0006]一些视频译码系统使用SEI消息。SEI消息包括解码过程不需要的信息,以确定解码图像中样本的值。例如,SEI消息可以包括用于检查码流是否符合标准的参数。在一些情况下,视频被编码到使用多个层的码流中。可伸缩嵌套式SEI消息可用于包括用于多个层的SEI消息。例如,可伸缩嵌套式SEI消息包括伸缩嵌套的SEI消息。当标志用于表示可伸缩嵌套式SEI消息中的伸缩嵌套的SEI消息应用于接入单元(access unit,AU)中的所有层时,会出现问题。AU是编码图像的集合,这些图像包括在不同的层中,并与相同的输出时间相关联。当所有AU都包括所有层的图像时,此方法有效。但是,在一些情况下,图像可能在一些层中出现一段输出时间,而在其它层中则被省略。例如,高帧率层可以包括每个AU处的图像,
而低帧率层省略了被高帧率层占用的许多AU中的图像。结果是,该标志导致SEI消息仅应用于包括当前AU中的图像的层。这将导致符合性测试错误,因为假设参考解码器(hypothetical reference decoder,HRD)可能无法将伸缩嵌套的SEI消息与省略当前AU中的图像的层相关联。例如,这些层可以包括当前AU之后的后续AU中的图像。在这种情况下,当测试后续AU的符合性时,HRD不会将伸缩嵌套的SEI消息识别为应用于这些层。因此,当所有层的标志用于不完整的AU时,HRD可能无法正确测试后续AU处的这些层的符合性。
[0007]本示例包括scalable nesting all_layers_flag,以纠正上述错误。scalable nesting all_layers_flag可被设置为表示可伸缩嵌套式SEI消息中的伸缩嵌套的SEI消息应用于视频参数集(video parameter set,VPS)中指定的所有层。VPS列出所有层。因此,这种方法使编码器能够清楚地表示伸缩嵌套的SEI消息何时全局地应用于所有层。然后,HRD符合性测试过程可以检查码流的符合性,而不会在与可伸缩嵌套式SEI消息相关联的不完整的AU之后的AU上返回不可预测的错误。因此,scalable nesting all_layers_flag通过在存在不完整的AU时正确检查码流的符合性来增加编码器和/或解码器的功能。此外,scalable nesting all_layers_flag通过在伸缩嵌套的SEI消息应用于所有层时省略伸缩嵌套的SEI消息的显式层指示来减小经编码码流的大小。结果,提高了译码效率,从而减少了编码器和解码器处的处理器、内存和/或网络指示资源的使用。
[0008]可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息应用于NAL单元头层Id(nuh_layer_id)大于或等于所述当前SEI NAL单元的nuh_layer_id的所有层时,所述scalable nesting all_layers_flag等于1。
[0009]可选地,根据上述任一方面,在所述方面的另一种实现方式中,当所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息可以或可以不应用于nuh_layer_id大于或等于所述当前SEI NAL单元的nuh_layer_id的所有层时,所述scalable nesting all_layers_flag等于0。
[0010]可选地,根据上述任一方面,在所述方面的另一种实现方式中,还包括由所述处理器推导嵌套层数量(nestingNumLayers)变量,所述nestingNumLayers变量表示所述伸缩嵌套的SEI消息应用于的层的数量。
[0011]可选地,根据上述任一方面,在所述方面的另一种实现方式中,还包括由所述处理器推导嵌套层Id列表(NestingLayerId[i]),所述NestingLayerId[i]表示所述伸缩嵌套的SEI消息应用于的所述层的nuh_layer_id值的列表,其中,i在0到nestingNumLayers

1的范围内,包括端值。
[0012]可选地,根据上述任一方面,在所述方面的另一种实现方式中,所述nestingNumLayers和所述NestingLayerId[i]推导如下:
[0013][0014]其中,vps_max_layers_minus1+1表示视频参数集(video parameter set,VPS)指定的层的数量,GeneralLayerIdx是表示nuh_layer_id等于vps_layer_id[i]的层的层索引的变本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在解码器中实现的方法,其特征在于,所述方法包括:所述解码器的接收器接收包括一个或多个层和当前补充增强信息SEI网络抽象层NAL单元中的可伸缩嵌套式SEI消息的码流,其中,所述可伸缩嵌套式SEI消息包括伸缩嵌套的SEI消息和可伸缩嵌套的所有层标志scalable nesting all_layers_flag,所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息是否应用于层标识符Id大于或等于所述当前SEI NAL单元的层Id的所有层;所述解码器的处理器对来自所述一个或多个层的编码图像进行解码,以产生解码图像;所述解码器还包括由所述处理器推导嵌套层数量nestingNumLayers变量,所述nestingNumLayers变量表示所述伸缩嵌套的SEI消息应用于的层的数量;所述解码器还包括由所述处理器推导嵌套层Id列表NestingLayerId[i],所述NestingLayerId[i]表示所述伸缩嵌套的SEI消息应用于的所述层的nuh_layer_id值的列表,其中,i在0到nestingNumLayers

1的范围内,包括端值;所述nestingNumLayers和所述NestingLayerId[i]推导如下:如果所述scalable nesting all_layers_flag判断为真,执行nestingNumLayers=vps_max_layers_minus1+1

GeneralLayerIdx[nuh_layer_id],所述i从0到小于nestingNumLayers,执行NestingLayerId[i]=vps_layer_id[GeneralLayerIdx[nuh_layer_id]+i];如果所述scalable nesting all_layers_flag判断为假,执行nestingNumLayers=scalable nesting num_layers_minus1+1,所述i从0到小于nestingNumLayers,执行num_layers_minus1+1,所述i从0到小于nestingNumLayers,执行其中,vps_max_layers_minus1+1表示视频参数集(video parameter set,VPS)指定的层的数量,GeneralLayerIdx是表示nuh_layer_id等于vps_layer_id[i]的层索引的变量,vps_layer_id[i]表示第i层的nuh_layer_id值,scalable nesting num_layers_minus1+1表示所述伸缩嵌套的SEI消息应用于的层的数量,scalable nesting layer_id[i]表示所述伸缩嵌套的SEI消息应用于的第i层的nuh_layer_id值;所述scalable nesting num_layers_minus1被约束为在0到vps_max_layers_minus1

GeneralLayerIdx[nuh_layer_id]的范围内,包括端值。2.根据权利要求1所述的方法,其特征在于,当所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息应用于NAL单元头层Id nuh_layer_id大于或等于所述当前SEI NAL单元的nuh_layer_id的所有层时,所述scalable nesting all_layers_flag等于1。3.根据权利要求1或2所述的方法,其特征在于,当所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息可以或可以不应用于nuh_layer_id大于或等于所述当前SEI NAL单元的nuh_layer_id的所有层时,所述scalable nesting all_layers_flag等于0。4.根据权利要求1至2中任一项所述的方法,其特征在于,还包括由所述处理器推导嵌套层数量nestingNumLayers变量,所述nestingNumLayers变量表示所述伸缩嵌套的SEI消
息应用于的层的数量。5.根据权利要求1至2中任一项所述的方法,其特征在于,还包括由所述处理器推导嵌套层Id列表(NestingLayerId[i]),所述NestingLayerId[i]表示所述伸缩嵌套的SEI消息应用于的所述层的nuh_layer_id值的列表,其中,i在0到nestingNumLayers

1的范围内,包括端值。6.根据权利要求1至2中任一项所述的方法,其特征在于,所述可伸缩嵌套式SEI消息提供将SEI消息与特定层相关联的机制。7.根据权利要求1至2中任一项所述的方法,其特征在于,所述编码图像是基于所述伸缩嵌套的SEI消息进行解码的。8.一种在编码器中实现的方法,其特征在于,所述方法包括:所述编码器的处理器对包括一个或多个层的码流进行编码;所述处理器将当前补充增强信息SEI网络抽象层NAL单元中的可伸缩嵌套式SEI消息编码到所述码流中,其中,所述可伸缩嵌套式SEI消息包括伸缩嵌套的SEI消息和可伸缩嵌套的所有层标志scalable nesting all_layers_flag,所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息是否应用于层标识符Id大于或等于所述当前SEI NAL单元的层Id的所有层;所述编码器还包括推导嵌套层数量nestingNumLayers变量,所述nestingNumLayers变量表示所述伸缩嵌套的SEI消息应用于的层的数量;所述编码器执行所述一组码流符合性测试还包括推导嵌套层Id列表NestingLayerId[i],所述NestingLayerId[i]表示所述伸缩嵌套的SEI消息应用于的所述层的nuh_layer_id值的列表,其中,i在0到nestingNumLayers

1的范围内,包括端值;所述nestingNumLayers和所述NestingLayerId[i]推导如下:如果所述scalable nesting all_layers_flag判断为真,执行nestingNumLayers=vps_max_layers_minus1+1

GeneralLayerIdx[nuh_layer_id],所述i从0到小于nestingNumLayers,执行NestingLayerId[i]=vps_layer_id[GeneralLayerIdx[nuh_layer_id]+i];如果所述scalable nesting all_layers_flag判断为假,执行nestingNumLayers=scalable nesting num_layers_minus1+1,所述i从0到小于nestingNumLayers,执行num_layers_minus1+1,所述i从0到小于nestingNumLayers,执行其中,vps_max_layers_minus1+1表示视频参数集VPS指定的层的数量,GeneralLayerIdx是表示nuh_layer_id等于vps_layer_id[i]的层索引的变量,vps_layer_id[i]表示第i层的nuh_layer_id值,scalable nesting num_layers_minus1+1表示所述伸缩嵌套的SEI消息应用于的层的数量,scalable nesting layer_id[i]表示所述伸缩嵌套的SEI消息应用于的第i层的nuh_layer_id值;所述scalable nesting num_layers_minus1被约束为在0到vps_max_layers_minus1

GeneralLayerIdx[nuh_layer_id]的范围内,包括端值。9.根据权利要求8所述的方法,其特征在于,还包括当所述scalable nesting all_layers_flag表示所述伸缩嵌套的SEI消息应用于NAL单元头层Id(nuh_layer_id)大于或等
于所述当前SEI NAL单元的nuh_layer_id的所有层时,将所述scalable nesting all_layers_flag设置为1。10.根据权利要求8或9所...

【专利技术属性】
技术研发人员:王业奎
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1