用于独立编码区域的无漂移填充和哈希的编码器和解码器,编码方法和解码方法与流程

文档序号:29068019发布日期:2022-03-01 20:07阅读:97来源:国知局
用于独立编码区域的无漂移填充和哈希的编码器和解码器,编码方法和解码方法与流程

1.本发明涉及视频编码和视频解码,尤其涉及用于独立编码区域的无漂移填充和/或哈希的编码器和解码器、编码方法和解码方法。


背景技术:

2.h.265/hevc(hevc=高效视频编码)是一种视频编解码器,它已经提供了用于在编码器和/或解码器处提升甚至启用并行处理的工具。例如,hevc支持将图像细分为彼此独立编码的图块(tile)阵列。hevc支持的另一个概念与wpp有关,根据该概念可以从左到右并行处理图像的ctu行或ctu行,例如在条带中,前提是在处理连续ctu行时遵守一些最小ctu偏移(ctu=编码树单元)。然而,现有一个视频编解码器会更有效地支持视频编码器和/或视频解码器的并行处理能力将是有利的。
3.在下文中,描述了根据现有技术的vcl分区的介绍(vcl=视频编码层)。
4.通常,在视频编码中,图像样本的编码过程需要较小的分区,其中样本被划分为一些矩形区域进行联合处理,诸如预测或变换编码。因此,图像被划分离为特定尺寸的块,该尺寸在视频序列的编码期间是恒定的。在h.264/avc标准中,使用16x16样本的固定尺寸块,即所谓的宏块(avc=高级视频编码)。
5.在现有技术的hevc标准(参见[1])中,有最大尺寸为64x 64样本的编码树块(ctb)或编码树单元(ctu)。在hevc的进一步描述中,对于这种块,使用了更常见的术语ctu。
[0006]
ctu以光栅扫描顺序进行处理,从左上角的ctu开始,逐行处理图像中的ctu,一直到右下角的ctu。
[0007]
编码的ctu数据被组织成一种称为切片的容器。最初,在以前的视频编码标准中,切片是指包括图像的一个或多个连续ctu的切片段。切片用于编码数据的分段。从另一个角度来看,完整的图像也可以限定为一个大片段,因此,从历史上看,术语切片仍然适用。除了编码的图像样本之外,切片还包括与切片本身的编码过程相关的附加信息,这些信息被放置在所谓的切片标头中。
[0008]
根据现有技术,vcl(视频编码层)还包括用于分段和空间分区的技术。例如,这种划分可以出于各种原因应用于视频编码,其中包括并行化中的处理负载平衡、网络传输中的ctu尺寸匹配、错误缓解等。


技术实现要素:

[0009]
本发明的目的是为视频编码和视频解码提供改进的概念。
[0010]
本发明的目的由独立权利要求的主题解决。
[0011]
提供了一种视频解码器,用于根据实施例对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。视频解码器包括被配置为接收经编码的视频信号的输入接口,以及被配置为通过对经编码的图像数据进行解码来重构视频的多个图像的数
据解码器。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,数据解码器被配置用于跨第一图块和第二图块之间的边界进行滤波以获得第一经滤波图块,其中第一图块和第二图块已经相对于彼此独立编码。数据解码器被配置为根据所述第一图像的所述第一经滤波图块的参考块对多个图像中的第二图像的多个图块中的当前图块进行解码,其中所述参考块包括所述第一经滤波图块的第一组样本,并且其中所述参考块不包括所述第一经滤波图块的第二组样本,其中所述第一组样本中没有一个受到跨第一图块和第二图块之间的所述边界的所述滤波的影响,并且其中所述第二组样本中的一个或多个已经受到跨第一图块和第二图块之间的所述边界的所述滤波的影响。
[0012]
此外,提供一种用于通过根据实施例生成经编码的视频信号来对视频的多个图像进行编码的视频编码器。多个图像中的每一个包括原始图像数据。视频编码器包括数据编码器,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口,被配置为输出多个图像中的每一个的经编码图像数据。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。数据编码器被配置为相对于彼此独立地编码第一图块和第二图块。此外,数据编码器被配置为根据所述第一图像的所述第一图块的参考块对所述多个图像中的第二图像的多个图块中的当前图块进行编码,其中滤波器限定跨第一图块和第二图块之间所述边界的滤波,其中所述参考块包括所述第一图块的第一组样本,并且其中所述参考块不包括所述第一图块的第二组样本,其中没有所述第一组样本将受到使用所述滤波器的所述滤波的影响,并且其中所述第二组样本中的一个或多个将受到使用所述滤波器的所述滤波的影响。
[0013]
此外,提供了一种根据实施例的用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像的方法。解码方法包括:
[0014]-接收经编码的视频信号。以及:
[0015]-通过对经编码的图像数据进行解码来重构视频的多个图像。
[0016]
多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,方法包括跨第一图块和第二图块之间的边界进行滤波以获得第一经滤波图块,其中第一图块和第二图块已经彼此独立编码。方法包括根据所述第一图像的所述第一经滤波图块的参考块对多个图像中的第二图像的多个图块中的当前图块进行解码,其中所述参考块包括所述第一经滤波图块的第一组样本,并且其中所述参考块不包括所述第一经滤波图块的第二组样本,其中所述第一组样本中没有一个受到跨第一图块和第二图块之间的所述边界的所述滤波的影响,并且其中所述第二组样本中的一个或多个已经受到跨第一图块和第二图块之间的所述边界的所述滤波的影响。
[0017]
此外,提供了根据实施例的通过生成经编码的视频信号来对视频的多个图像进行编码的方法。多个图像中的每一个包括原始图像数据。方法包括:
[0018]-生成包括经编码的图像数据的经编码的视频信号,其中生成经编码的视频信号包括将视频的多个图像编码为经编码的图像数据,以及
[0019]-输出多个图像中每一个的经编码的图像数据,
[0020]
多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。方法包括相对于彼此独立地编码第一图块和第二图块。此外,方法包括根据所述第一图像的所述第一图块的参考块对多个图像中的第二图像的多个图块的当前图块进行编码,其中滤波器限定跨第一图块和第二图块之间的所述边界的滤波,其中所述参考块包括所述第一图块的第一组样本,并且其中所述参考块不包括所述第一图块的第二组样本,其中所述第一组样本中没有一个会受到使用所述滤波器进行所述滤波的影响,并且其中所述第二组样本中的一个或多个将受到使用所述滤波器的所述滤波的影响。
[0021]
此外,提供了一种当在计算机或信号处理器上执行时用于实现权利要求的上述方法之一的计算机程序。
[0022]
此外,提供了根据实施例对多个包括多个图块的图像进行编码的经编码的视频信号。所述多个图块中的每一个包括多个样本,其中经编码的视频信号包括对多个图像进行编码的经编码的图像数据。经编码的视频信号包括对多个图像的编码。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。第一图块和第二图块在经编码的视频信号内相对于彼此独立地编码。多个图像中的第二图像的多个图块的当前图块根据所述第一图像的所述第一图块的参考块进行编码,其中滤波器限定跨第一图块和第二图块之间的所述边界的滤波,其中所述参考块包括所述第一图块的第一组样本,并且其中所述参考块不包括所述第一图块的第二组样本,其中所述第一组样本中的任何一个都不会受到使用所述滤波器的所述滤波的影响,并且其中所述第二组样本中的一个或多个将受到使用所述滤波器的所述滤波的影响。
[0023]
在一个实施例中,经编码的视频信号可以例如包括编码模式的指示,该指示指示用于解码所述当前图块的所述参考块的样本不会受到跨第一图块和第二图块之间的所述边界的所述滤波的影响。
[0024]
此外,提供了一种包括上述视频编码器和上述视频解码器的系统。视频编码器被配置为生成经编码的视频信号。视频解码器被配置为对经编码的视频信号进行解码以重构视频的图像。
[0025]
此外,提供了一种视频解码器,用于根据实施例对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。视频解码器包括被配置为接收经编码的视频信号的输入接口,以及被配置为通过对经编码的图像数据进行解码来重构视频的多个图像的数据解码器。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个块,其中多个块中的每一个包括多个样本。对于多个图像的一个图像的多个图块中的两个相邻图块的第一图块和第二图块,第一图块和第二图块之间存在边界。第一图块和第二图块已经相对于彼此独立编码。数据解码器被配置为使用滤波器或滤波器内核对所述第一图块进行滤波,其中数据解码器被配置为根据第一图块的要由所述滤波器或所述滤波器内核滤波的块以及所述第一图块和所述第二图块之间的所述边界之间的距离,来修正所述滤波器或所述滤波器内核的影响范围(reach),所述块是第一图块的多个块中的一个。
[0026]
此外,提供了根据实施例的用于通过生成经编码的视频信号来对视频的多个图像
进行编码的视频编码器。多个图像中的每一个包括原始图像数据。视频编码器包括数据编码器,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口,被配置为输出多个图像中的每一个的经编码图像数据。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个块,其中多个块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。数据编码器被配置为相对于彼此独立地编码第一图块和第二图块。此外,数据编码器被配置为使用滤波器或滤波器内核来对所述第一图块进行滤波,其中数据编码器被配置为根据要由所述滤波器或所述滤波器内核滤波的块以及所述第一图块和所述第二图块之间的所述边界之间的距离,来修正所述滤波器或所述滤波器内核的影响范围,所述块是第一图块的多个块中的一个。
[0027]
此外,提供了根据实施例的一种用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像的方法。解码方法包括:
[0028]-接收经编码的视频信号,以及
[0029]-通过对经编码的图像数据进行解码来重构视频的多个图像。
[0030]
多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个块,其中多个块中的每一个包括多个样本。
[0031]
对于多个图像的一个图像的多个图块中的两个相邻图块的第一图块和第二图块,第一图块和第二图块之间存在边界。第一图块和第二图块已经相对于彼此独立编码。方法包括使用滤波器或滤波器内核对第一图块进行滤波,其中方法包括根据第一图块的要由所述滤波器或所述滤波器内核滤波的块以及所述第一图块和所述第二图块之间的所述边界之间的距离,来修正所述滤波器或所述滤波器内核的影响范围,所述块是第一图块的多个块中的一个。
[0032]
此外,一种通过生成经编码的视频信号对视频的多个图像进行编码的方法,其中所述多个图像中的每一个包括原始图像数据,其中所述方法包括:
[0033]-生成包括经编码的图像数据的经编码的视频信号,其中生成经编码的视频信号包括将视频的多个图像编码为经编码的图像数据。以及:
[0034]-输出多个图像中的每一个的经编码的图像数据。
[0035]
多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个块,其中多个块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。方法包括相对于彼此独立地编码第一图块和第二图块。此外,方法包括使用滤波器或滤波器内核对第一图块进行滤波,其中方法包括根据要由所述滤波器或所述滤波器内核滤波的块以及所述第一图块和所述第二图块之间的所述边界之间的距离,来修正所述滤波器或所述滤波器内核的影响范围,所述块是第一图块的多个块中的一个。
[0036]
此外,提供了一种用于在根据实施例的计算机或信号处理器上执行时实现上述方法之一的计算机程序。
[0037]
此外,提供了一种经编码的视频信号,所述经编码的视频信号对包括根据实施例的多个图块的多个图像进行编码。所述多个图块中的每一个包括多个样本。经编码的视频
信号包括对多个图像进行编码的经编码的图像数据。此外,经编码的视频信号包括多个图像的编码。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个块,其中多个块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。第一图块和第二图块在经编码的视频信号内相对于彼此独立编码。经编码的视频信号取决于使用滤波器或滤波器内核对第一图块的滤波,其中在滤波期间,所述滤波器或所述滤波器内核的影响范围已经根据要由所述滤波器或所述滤波器内核滤波的块以及所述第一图块和所述第二图块之间的所述边界之间的距离来修正,所述块是第一图块的多个块中的一个。
[0038]
此外,提供了根据实施例的一种包括上述视频编码器和上述视频解码器的系统。视频编码器被配置为生成经编码的视频信号。视频解码器被配置为对经编码的视频信号进行解码以重构视频的图像。
[0039]
此外,提供了根据实施例的用于通过生成经编码的视频信号来对视频的多个图像进行编码的视频编码器。多个图像中的每一个包括原始图像数据。视频编码器包括数据编码器,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口,被配置为输出多个图像中的每一个的经编码图像数据。多个图像中的每一个包括多个图块,其中多个图块的每一个包括多个样本。数据编码器被配置为确定经独立编码的图块组,所述经独立编码的图块组包括多个图像的参考图像的多个图块中的三个或更多个图块。此外,数据编码器被配置为根据位于参考图像内的参考块对多个图像进行编码。此外,数据编码器被配置为在参考图像内为所述参考块选择位置,使得参考块不是既部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内、又部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中的另一个图块内。
[0040]
此外,提供了根据实施例的通过生成经编码的视频信号来对视频的多个图像进行编码的方法。多个图像中的每一个包括原始图像数据。方法包括:
[0041]-生成包括经编码的图像数据的经编码的视频信号,其中生成经编码的视频信号包括将视频的多个图像编码为经编码的图像数据。以及:
[0042]-输出多个图像中的每一个的经编码的图像数据。
[0043]
多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。方法包括确定经独立编码的图块组,所述经独立编码的图块组包括多个图像的参考图像的多个图块中的三个或更多个图块。此外,方法包括根据位于参考图像内的参考块对多个图像进行编码。此外,方法包括在参考图像内为所述参考块选择位置,使得参考块不是既部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内、又部分地位于不属于所述经独立编码的图块组的参考图像的多个图块的另一个图块内。
[0044]
此外,提供了一种计算机程序,用于在根据实施例的计算机或信号处理器上执行时实现上述方法之一。
[0045]
此外,提供了根据实施例的一种经编码的视频信号,所述经编码的视频信号对多个包括多个图块的图像进行编码。所述多个图块中的每一个包括多个样本。经编码的视频信号包括对多个图像进行编码的经编码的图像数据。经编码的视频信号包括对多个图像的编码。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。经
编码的视频信号包括经独立编码的图块组,所述经独立编码的图块组包括多个图像的参考图像的多个图块中的三个或更多个图块。根据位于参考图像内的参考块,在视频数据流内对多个图像进行编码。参考块不是既部分地位于所述经独立编码的图块组的三个或更多个图块的三个图块内、又部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中另一个图块内。
[0046]
此外,提供了根据实施例的系统,包括上述视频编码器和视频解码器,用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。视频解码器包括被配置为接收经编码的视频信号的输入接口,以及被配置为通过对经编码的图像数据进行解码来重构视频的多个图像的数据解码器。视频编码器被配置为生成经编码的视频信号。视频解码器被配置为对经编码的视频信号进行解码以重构视频的图像。
[0047]
提供了根据实施例的用于通过生成经编码的视频信号来对视频的多个图像进行编码的视频编码器。多个图像中的每一个包括原始图像数据。视频编码器包括数据编码器,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口,被配置为输出多个图像中的每一个的经编码图像数据。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。数据编码器被配置为确定经独立编码的图块组,其包括多个图像的参考图像的多个图块的三个或更多个图块。此外,数据编码器被配置为根据位于参考图像内的参考块对多个图像进行编码,其中参考块部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内并且部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中的另一个图块内。此外,数据编码器被配置为根据所述经独立编码的图块组的所述三个图块中的第一个的多个样本中的一个或多个,和根据所述经独立编码的图块组的所述三个图块中的第二图块的多个样本中的一个或多个样本,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本。
[0048]
此外,提供了一种视频解码器,用于根据实施例对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。视频解码器包括被配置为接收经编码的视频信号的输入接口,以及被配置为通过对经编码的图像数据进行解码来重构视频的多个图像的数据解码器。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。经编码的视频信号包括经独立编码的图块组,所述经独立编码的图块组包括多个图像的参考图像的多个图块中的三个或更多个图块。数据解码器被配置为根据位于参考图像内的参考块对多个图像进行解码,其中参考块部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内并且部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中另一个图块内。此外,数据解码器被配置为根据所述经独立编码的图块组的所述三个图块中的第一个的多个样本中的一个或多个,和根据所述经独立编码的图块组的所述三个图块中的第二图块的多个样本中的一个或多个样本,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本。
[0049]
此外,提供了一种通过生成经编码的视频信号来对视频的多个图像进行编码的方法。多个图像中的每一个包括原始图像数据。方法包括:
[0050]-生成包括经编码的图像数据的经编码的视频信号,其中生成经编码的视频信号包括将视频的多个图像编码为经编码的图像数据。以及:
[0051]-输出多个图像中的每一个的经编码的图像数据。
[0052]
多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。方法包括确定经独立编码的图块组,所述经独立编码的图块组包括多个图像的参考图像的多个图块中的三个或更多个图块。此外,方法包括根据位于参考图像内的参考块对多个图像进行编码,其中参考块部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内并且部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中的另一个图块内。此外,方法包括根据所述经独立编码的图块组的所述三个图块中的第一个的多个样本中的一个或多个,和根据所述经独立编码的图块组的所述三个图块中的第二图块的多个样本中的一个或多个样本,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本。
[0053]
此外,提供了一种根据实施例的用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像的方法。解码方法包括:
[0054]-接收经编码的视频信号。以及:
[0055]-通过对经编码的图像数据进行解码来重构视频的多个图像。
[0056]
多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。经编码的视频信号包括独立的编码的图块组,其包括多个图像的参考图像的多个图块中的三个或更多个图块,
[0057]
方法包括根据位于参考图像内的参考块对多个图像进行解码,其中参考块部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内,并且部分地位于不属于所述经独立编码的图块组的参考图像的多个图块的另一图块内。此外,方法包括根据所述经独立编码的图块组的所述三个图块中的第一个的多个样本中的一个或多个,和根据所述经独立编码的图块组的所述三个图块中的第二图块的多个样本中的一个或多个样本,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本。
[0058]
此外,提供了一种计算机程序,用于在根据实施例的计算机或信号处理器上执行时实现上述方法之一。
[0059]
此外,根据实施例,提供了编码多个包括多个图块的图像的经编码的视频信号,其中所述多个图块中的每一个包括多个样本。经编码的视频信号包括对多个图像进行编码的经编码的图像数据。此外,经编码的视频信号包括多个图像的编码。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。包括多个图像的参考图像的多个图块中的三个或更多个图块的经独立编码的图块组在经编码的视频信号内独立编码。根据位于参考图像内的参考块,在经编码的视频信号内编码多个图像,其中参考块部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内,并且部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中另一个图块内。位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本可推导出所述经独立编码的图块组的所述三个图块中的第一图块的多个样本中的一个或多个样本和自所述经独立编码的图块组的所述三个图块中的第二图块的多个样本中的一个或多个样本。
[0060]
此外,提供了根据实施例的一种包括上述视频编码器和上述视频解码器的系统。视频编码器被配置为生成经编码的视频信号。视频解码器被配置为对经编码的视频信号进
行解码以重构视频的图像。
[0061]
此外,提供了根据实施例的用于通过生成经编码的视频信号来对视频的多个图像进行编码的视频编码器。多个图像中的每一个包括原始图像数据。视频编码器包括数据编码器,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口,被配置为输出多个图像中的每一个的经编码图像数据。数据编码器被配置为在经编码的视频信号内对哈希信息进行编码。此外,数据编码器被配置为根据多个图像中当前图像的当前部分而不取决于当前图像的后续部分来生成哈希信息,其中当前部分在当前图像中具有第一位置,并且后续部分在图像中具有不同于第一位置的第二位置。
[0062]
此外,提供了根据实施例的一种视频解码器,用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。视频解码器包括被配置为接收经编码的视频信号的输入接口,以及被配置为通过对经编码的图像数据进行解码来重构视频的多个图像的数据解码器。数据解码器被配置为分析经编码的视频信号内编码的哈希信息,其中哈希信息取决于多个图像的当前图像的当前部分,但不取决于当前图像的后续部分,其中当前部分在当前图像内具有第一位置,并且后续部分在图像中具有不同于第一位置的第二位置。
[0063]
此外,一种通过生成经编码的视频信号来对视频的多个图像进行编码的方法,其中所述多个图像中的每一个包括原始图像数据。方法包括:
[0064]-生成包括经编码的图像数据的经编码的视频信号,其中生成经编码的视频信号包括将视频的多个图像编码为经编码的图像数据。以及:
[0065]-输出多个图像中每一个的经编码的图像数据,
[0066]
方法包括根据多个图像中当前图像的当前部分而不取决于当前图像的后续部分生成哈希信息,其中当前部分具有当前图像内的第一位置,并且后续部分在图像中具有不同于第一位置的第二位置。此外,该方法包括在经编码的视频信号内对哈希信息进行编码。
[0067]
此外,提供了根据实施例的一种用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像的方法。解码方法包括:
[0068]-接收经编码的视频信号。以及:
[0069]-通过对经编码的图像数据进行解码来重构视频的多个图像。
[0070]
方法包括分析经编码的视频信号内编码的哈希信息,其中哈希信息取决于多个图像中当前图像的当前部分,但不取决于当前图像的后续部分,其中当前部分具有当前图像内的第一位置,并且后续部分在图像中具有不同于第一位置的第二位置。
[0071]
此外,提供了根据实施例的一种用于在计算机或信号处理器上执行时实现上述方法之一的计算机程序。
[0072]
此外,提供了根据实施例的一种经编码的视频信号,所述经编码的视频信号对多个包括多个图块的图像进行编码。所述多个图块中的每一个包括多个样本,其中经编码的视频信号包括对多个图像进行编码的经编码的图像数据。经编码的视频信号包括对多个图像的编码。经编码的视频信号包括哈希信息的编码,其中哈希信息取决于多个图像中当前图像的当前部分,但不取决于当前图像的后续部分,其中当前部分在当前图像中具有第一位置,并且后续部分在图像中具有不同于第一位置的第二位置。
[0073]
此外,提供了根据实施例的一种包括上述视频编码器和上述视频解码器的系统。视频编码器被配置为生成经编码的视频信号。视频解码器被配置为对经编码的视频信号进行解码以重构视频的图像。
[0074]
优选实施例在从属权利要求中提供。
附图说明
[0075]
下面结合附图对本发明的实施例进行详细说明,其中:
[0076]
图1示出了根据实施例的视频编码器。
[0077]
图2示出了根据实施例的视频解码器。
[0078]
图3示出了根据实施例的系统。
[0079]
图4a示出了来自环路滤波程序的图块内的污染样本。
[0080]
图4b示出了来自受污染样本的独立区域的vvc平铺边界扩展。
[0081]
图5示出了根据实施例的服从环路滤波器内核影响范围的图块边界扩展过程。
[0082]
图6示出了经编码图像的图块和图块组划分。
[0083]
图7示出了具有现有技术边界填充的参考块。
[0084]
图8示出了根据实施例的对角分割的凹图块组边界。
[0085]
图9示出了视频编码器。
[0086]
图10示出了视频解码器。
[0087]
图11示出了一方面重构信号即重构图像与另一方面在数据流中用信号发送的预测残差信号和预测信号的组合之间的关系。
具体实施方式
[0088]
以下附图的描述开始于对用于对视频的图像进行编码的基于块的预测编解码器的编码器和解码器的描述的呈现,以便形成用于编码框架的示例,本发明的实施例可以在其中建立。相对于图9至图11描述了相应的编码器和解码器。下面将提供对本发明概念的实施例的描述以及关于这些概念如何能够分别内置于图9和图10的编码器和解码器中,尽管图1至图3及以下描述的实施例也可用于形成不根据图9和图10的编码器和解码器的编码框架操作的编码器和解码器。
[0089]
图9示出了视频编码器,一种用于示例性地使用基于变换的残差编码将图像12预测编码为数据流14的装置。该装置或编码器使用参考符号10表示。图10示出了对应的视频解码器20,即被配置为也使用基于变换的残差解码从数据流14预测性地解码图像12’的装置20,其中撇号已被用于指示由解码器20重构的图像12’在由预测残差信号的量化引入的编码损失方面偏离了最初由装置10编码的图像12。图9和图10示例性地使用基于变换的预测残差编码,但是本技术的实施例不限于这种预测残差编码。对于关于图9和图10描述的其他细节也是如此,如下文将概述的。
[0090]
编码器10被配置为对预测残差信号进行空间到频谱变换并将如此获得的预测残差信号编码到数据流14中。同样地,解码器20被配置为从数据流14中解码预测残差信号并对由此获得的预测残差信号进行频谱到空间变换。
[0091]
在内部,编码器10可以包括预测残差信号形成器22,其生成预测残差24以便测量
预测信号26与原始信号,即与图像12的偏差。预测残差信号形成器22可以,对于例如,是从原始信号,即从图像12中减去预测信号的减法器。然后编码器10进一步包括变换器28,变换器28使预测残差信号24经受空间到频谱变换以获得频谱-域预测残差信号24’然后由量化器32进行量化,量化器32也包括在编码器10中。如此量化的预测残差信号24”被编码到比特流14中。为此,编码器10可以可选地包括熵编码器34对变换并量化为数据流14的预测残差信号进行熵编码。基于编码成数据流14并且可从数据流14解码的预测残差信号24”,预测信号26由编码器10的预测级36生成。为此,预测级36可以在内部,如图9所示,包括去量化预测残差信号24”的去量化器38,以便获得频谱域预测残差信号24
”’
,其对应于除了量化损失的信号24’,随后是逆变换器40,对上述后者的预测残差信号24
”’
向逆变换,即频谱到空间的变换,以获得预测残差信号24
””
,除了量化损失外,它对应于原始预测残差信号24。然后预测级36的组合器42例如通过加法重新组合预测信号26和预测残差信号24
””
以获得重构信号46,即原始信号12的重构。然后重构信号46可以对应于信号12’。预测级36的预测模块44通过使用例如空间预测,即图像内预测,和/或时间预测,即图像间预测,基于信号46生成预测信号26。
[0092]
同样,解码器20,如图10所示,可以在内部由对应于预测级36并以对应于预测级36的方式互连的组件组成。特别地,解码器20的熵解码器50可以对来自数据流的量化的频谱域预测残差信号24”进行熵解码,因此以上述关于预测级36的模块的方式互连和协作的去量化器52、逆变换器54、组合器56和预测模块58,在以预测残差信号24”为基础恢复重构信号,所以,如图10所示,组合器56的输出产生重构信号,即图像12’。
[0093]
尽管上面没有具体描述,但是很容易清楚的是,编码器10可以根据一些优化方案,诸如以优化一些速率的方式和失真相关的标准,即编码成本,设置一些编码参数,包括例如预测模式、运动参数等。例如,编码器10和解码器20对应的模块44、58分别可以支持不同的预测模式,诸如内编码模式和间编码模式。编码器和解码器在这些预测模式类型之间切换的粒度可以分别对应于将图像12和12’细分为编码段或编码块。例如,以这些编码段为单位,可以将图像细分为被内编码的块和被间编码的块。如以下更详细概述的那样,基于相应块的空间、已经编码/解码的邻域来预测内编码块。多个内编码模式可以存在并且被选择用于包括方向或角度内编码模式的相应内编码模式,根据这些模式通过沿着特定方向外推邻域的样本值来填充相应段,特定方向是相应的定向内编码模式特定的,进入相应的内编码段。例如,内编码模式还可以包括一个或多个其他模式,诸如dc编码模式,根据该模式,相应内编码块的预测将dc值分配给相应内编码段内的所有样本,和/或平面内编码模式,根据该模式,相应块的预测被近似或确定为由在相应内编码块的样本位置上的二维线性函数描述的样本值的空间分布,在相邻样本的基础上驱动由二维线性函数限定的平面的倾斜和偏移。与之相比,可以例如在时间上预测间编码块。对于间编码块,可以在数据流内用信号发送运动向量,运动向量指示图像12所属的视频的先前编码图像部分的空间位移,在该部分对先前编码/解码图像进行采样以获得相应间编码块的预测信号。这意味着,除了数据流14包括的残差信号编码,诸如代表量化的频谱域预测残差信号24”的熵编码变换系数级别,数据流14可能已经在其中编码了用于分配的编码模式到各种块的编码模式参数,一些块的预测参数,诸如间编码段的运动参数,以及可选的进一步参数,诸如用于控制和发信号通知将图像12和12’细分为分别为段。解码器20使用这些参数以与编码器相同的方式细分图像,为
段分配相同的预测模式,并执行相同的预测以产生相同的预测信号。
[0094]
图11说明了重构信号,即重构图像12’,一方面与数据流14中用信号通知的预测残差信号24
””
和,另一方面预测信号26的组合之间的关系。如上所述,该组合可以是加法。预测信号26在图11中被示出为将图像区域细分为使用阴影线说明性地表示的内编码块和不带阴影线说明性地表示的间编码块。细分可以是任意细分,诸如将图像区域规则细分为正方形块或非正方形块的行和列,或者将图像12从一个树根块多树细分为多个叶块可变尺寸,诸如四叉树细分等,其中图11示出了其混合,其中首先将图像区域细分为树根块的行和列,然后根据递归多重细分进一步细分树根块为一个或多个叶块。
[0095]
再次,数据流14可以具有编码到其中的用于内编码块80的内编码模式,其将几种支持的内编码模式之一分配给相应的内编码块80。对于间编码块82,数据流14可以具有编码到其中的一个或多个运动参数。一般而言,间编码块82不限于被时间编码。可替代地,间编码块82可以是从超出当前图像12本身的先前编码部分预测的任何块,诸如图像12所属的视频的先前经编码图像,或另一视图的图像或在编码器和解码器分别是可扩展的编码器和解码器情况下的分层较低层。
[0096]
图11中的预测残差信号24
””
也被示出为将图像区域细分为块84。这些块可以称为变换块以便区分其与编码块80和82。实际上,图11说明编码器10和解码器20可以分别使用图像12和图像12’的两种不同细分为块,即一种细分分别地为编码块80和82,并且另一个细分为变换块84。两个细分可以相同,即每个编码块80和82可以同时形成变换块84,但是图11示出了例如细分为变换块84形成对编码块80、82的细分的扩展的情况,使得块80和82的两个块之间的任何边界覆盖两个块84之间的边界,或者换而言之,每个块80、82或者与变换块84之一重合或与一组变换块84重合。然而,也可以彼此独立地确定或选择细分,使得变换块84可以替代地跨块80、82之间的块边界。就细分为变换块84而言,类似的陈述因此与关于细分为块80、82的那些陈述相同,即块84可以是将图像区域分离为块的规则细分的结果(有或没有排列成行和列),图像区域的递归多树细分的结果,或它们的组合或任何其他类型的块。顺便说一句,要注意的是,块80、82和84不限于方形、矩形或任何其他形状。
[0097]
图11进一步说明了预测信号26和预测残差信号24
””
的组合直接产生了重构信号12’。然而,应当注意,根据替代实施例,可以将多于一个的预测信号26与预测残差信号24
””
组合以形成图像12’。
[0098]
在图11中,变换块84应具有以下意义。变换器28和逆变换器54以这些变换块84为单位执行它们的变换。例如,许多编解码器对所有变换块84使用某种dst或dct。一些编解码器允许跳过变换,以便对于一些变换块84中,预测残差信号直接在空间域中编码。然而,根据以下描述的实施例,编码器10和解码器20以它们支持若干变换的方式配置。例如,编码器10和解码器20支持的变换可以包括:
[0099]
о dct-ii(或dct-iii),其中dct代表离散余弦变换
[0100]
о dst-iv,其中dst代表离散正弦变换
[0101]
о dct-iv
[0102]
о dst-vii
[0103]
о 恒等变换(it)
[0104]
自然地,虽然变换器28将支持这些变换的所有前向变换版本,但解码器20或逆变
换器54将支持其相应的后向或逆向版本:
[0105]
о 逆dct-ii(或逆dct-iii)
[0106]
о 逆dst-iv
[0107]
о 逆dct-iv
[0108]
о 逆dst-vii
[0109]
о 恒等变换(it)
[0110]
随后的描述提供了关于编码器10和解码器20可以支持哪些变换的更多细节。在任何情况下,应该注意的是,所支持的变换集可以仅包括一个变换,诸如一个频谱到空间或空间到频谱变换。
[0111]
如上所述,图9至图11已经作为示例被呈现,其中可以实现下面进一步描述的发明构思以形成根据本技术的编码器和解码器的特定示例。就此而言,图9和图10的编码器和解码器分别可以表示下文描述的编码器和解码器的可能实施方式。然而,图9和图10仅仅是示例。然而,根据本技术的实施例的编码器可以使用以下更详细概述的概念来执行图像12的基于块的编码并且不同于图9的编码器,诸如,例如相同的是没有视频编码器,而是静止图像编码器,因为它不支持间预测,或者以不同于图11中示例的方式执行细分为块80。同样,根据本技术实施例的解码器可以使用下面进一步概述的编码概念对来自数据流14的图像12’执行基于块的解码,但是可以与例如图10的解码器20的不同之处在于它不是视频解码器,而是一个静止图像解码器,同样不支持内预测,或者以不同于关于图11描述的方式将图像12’细分为块和/或同样在变换域中从数据流14不导出预测残差,例如,但在空间域中导出。
[0112]
下面,根据实施例的通用视频编码器在图1中描述,根据实施例的通用视频解码器在图2中描述,以及根据实施例的通用系统在图3中描述。
[0113]
图1示出了根据实施例的通用视频编码器101。
[0114]
视频编码器101被配置为通过生成经编码的视频信号来对视频的多个图像进行编码,其中多个图像中的每一个包括原始图像数据。
[0115]
视频编码器101包括数据编码器110,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器被配置为将视频的多个图像编码为经编码的图像数据。
[0116]
此外,视频编码器101包括输出接口120,被配置为输出多个图像中的每一个的经编码的图像数据。
[0117]
图2示出了根据实施例的通用视频解码器151。
[0118]
视频解码器151被配置为对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。
[0119]
视频解码器151包括输入接口160,被配置为接收经编码的视频信号。
[0120]
此外,视频解码器包括数据解码器170,其被配置为通过对经编码的图像数据进行解码来重构视频的多个图像。
[0121]
图3示出了根据实施例的通用系统。
[0122]
该系统包括图1的视频编码器101和图2的视频解码器151。
[0123]
视频编码器101被配置为生成经编码的视频信号。视频解码器151,被配置为对经编码的视频信号进行解码,重构视频图像。
[0124]
存在视频应用,其中将视频划分为矩形图块/区域并独立编码它们是有益的。例如,在360度视频流中,客户端的当前观看方向用于选择单个区域的分辨率(当前视口中的高分辨率,当前视口外的低分辨率作为用户方向变化的替换)。这些图块/区域在客户端重新组合成单个比特流并联合解码,由此每个图块可能具有在编码期间不可用或不存在的不同相邻图块。
[0125]
其他示例可以是roi(roi=感兴趣区域)编码,其中例如在图像中间有一个区域可供观众选择,例如使用放大操作(仅解码roi)或渐进解码器刷新(gdr),其中内数据(通常放入视频序列的一帧中)在时间上分布在几个连续的帧上,例如,作为内块的列,它在图像平面上滑动并以与内图像对整个图像平面相同的方式在本地重置时间预测链。对于后者,每张图像中存在两个区域,一个是最近重置的,另一个是可能受错误和错误传播影响的区域。
[0126]
对于这些用例和可能的其他用例,限制来自不同时刻的图像的预测依赖性至关重要,以便(某些)区域/图块独立编码。然而,这会导致本发明解决的几个问题。一方面,不能使用传统的边界滤波来减轻将图像平面划分为单独区域的主观质量影响。其次,现有技术没有描述应该如何滤波某些边界几何形状。第三,诸如hevc等标准的图像哈希信令在上述用例中无法有意义地使用,因为值推导包含完整的图像平面。
[0127]
本发明的第一方面在权利要求1至45中要求保护。
[0128]
本发明的第二方面在权利要求46至74中要求保护。
[0129]
本发明的第三方面在权利要求75至101中要求保护。
[0130]
在下文中,现在详细描述本发明的第一方面。
[0131]
特别地,第一方面提供无漂移滤波(drift free filtering)。
[0132]
提供了根据实施例的一种视频解码器151,用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。视频解码器151包括输入接口160,被配置为接收经编码的视频信号,以及数据解码器170,被配置为通过对经编码的图像数据进行解码来重构视频的多个图像。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,数据解码器170被配置为跨第一图块和第二图块之间的边界进行滤波以获得第一滤波后的图块,其中第一图块和第二图块已相对于彼此独立编码。数据解码器170被配置为根据所述第一图像的所述第一经滤波图块的参考块来解码所述多个图像中的第二图像的多个图块中的当前图块,其中所述参考块包括所述第一经滤波图块的第一组样本,并且其中所述参考块不包括所述第一经滤波图块的第二组样本,其中所述第一组样本中没有一个受到跨第一图块和第二图块之间的所述边界的所述滤波的影响,并且其中所述第二组样本中的一个或多个已经受到跨第一图块和第二图块之间的所述边界的所述滤波的影响。
[0133]
例如,在一些实施例中,两个图块可以例如被认为是相邻的,或者可以例如被认为是相邻的图块,如果它们在多个图像的图像中彼此相邻/相邻,或者,如果它们位置是相邻的,如果它们在被映射之后在地图中彼此相邻/相邻,例如,通过一个或多个映射,根据映射规则到地图中(例如,到投影图中,或,例如,进入立方体图,或者,例如,进入等距柱状图)。例如,图块可以例如通过采用按区域打包来映射。例如,图块可以例如通过第一映射被映射到投影图,并且例如通过从投影图到等距柱状图的第二映射。
[0134]
在实施例中,数据解码器170可以例如被配置为不用于确定解码所述第二图像的
所述当前图块的另一参考块,其中所述另一参考块包括所述第一经滤波图块的所述第二组样本中的一个或多个,其已经受到跨第一图块和第二图块之间的所述边界的所述滤波的影响。
[0135]
根据实施例,数据解码器170例如可以被配置为确定所述参考块以使得所述参考块包括所述第一经滤波图块的所述第一组样本,并且使得所述参考块不包括所述第一经滤波图块的所述第二组样本,使得所述第一组样本中没有一个受到跨第一图块和第二图块之间的所述边界的所述滤波的影响,并且使得所述第二组样本中的所述一个或多个样本已经受到通过跨第一图块和第二图块之间的所述边界的所述滤波影响。
[0136]
在实施例中,数据解码器170可以例如被配置为根据滤波器或滤波器内核的影响范围来确定所述参考块,其中数据解码器170可以例如被配置为采用所述滤波器或所述滤波器内核用于跨第一图块和第二图块之间的所述边界的滤波。
[0137]
根据实施例,数据解码器170可以例如被配置为根据关于滤波器或滤波器内核的影响范围的滤波器信息来确定所述参考块。滤波器信息包括水平滤波器内核影响范围,该水平滤波器内核影响范围指示所述第一图块的一个水平行内的所述第一图块的多个样本中的多少个受到所述第二图块的多个样本中的一个或多个样本的影响,所述第二图块通过第一图块和第二图块之间的所述边界进行滤波,其中数据解码器170可以例如被配置为根据所述水平滤波器内核影响范围确定所述参考块。和/或:滤波器信息包括垂直滤波器内核影响范围,其指示所述第一图块的一个垂直列内的所述第一图块的多个样本中有多少受到所述第二图块的多个样本中的一个或多个样本的影响,所述第二图块跨第一图块和第二图块之间的所述边界进行滤波,其中数据解码器170可以例如被配置为根据所述垂直滤波器内核影响范围来确定所述参考块。
[0138]
根据实施例,数据解码器170可以例如被配置为通过外插所述第一组样本中的样本根据所述垂直滤波器内核影响范围来确定所述参考块。和/或数据解码器170例如可以被配置为通过外推所述第一组样本中的样本,根据所述水平滤波器内核影响范围来确定所述参考块。
[0139]
在实施例中,数据解码器170可以例如被配置为通过使用使用所述第一组样本的垂直剪切根据所述垂直滤波器内核影响范围来确定所述参考块,和/或数据解码器170可以例如是被配置为通过使用所述第一组样本采用水平剪切,根据所述水平滤波器内核影响范围确定所述参考块。
[0140]
根据实施例,垂直剪切可以例如根据以下限定:
[0141]
yinti=clip3(toptileboundaryposition+verticalfilterkernelreachinsamples,bottomtileboundaryposition
–1–
verticalfilterkernelreachinsamples,yint
l
+i-3)
[0142]
yint
l
表示在垂直剪切之前位于所述第一图块的垂直列中位置l的所述第一图块的多个样本中的一个,yinti表示位于垂直剪切后的所述第一图块的垂直列中的位置i的所述第一图块的多个样本中的一个,verticalfilterkernelreachinsamples表示表示所述垂直滤波器内核影响范围的样本数量,toptileboundaryposition表示所述第一图块的所述垂直列内的多个样本的最顶部位置,bottomtileboundaryposition表示所述第一图块的所述垂直列内的多个样本的最底部位置,其中水平剪切可以例如根据以下限定:
[0143]
xinti=clip3(lefttileboundaryposition+horizontalfilterkernelreachinsamples,righttileboundaryposition
–1–
horizontalfilterkernelreachinsamples,xint
l
+i-3)
[0144]
xint
l
表示在水平剪切之前位于所述第一图块的水平行中的位置l的所述第一图块的多个样本中的一个,xinti表示水平剪切后的所述第一图块的位于水平行中的位置i的所述第一图块的多个样本中的一个,horizontalfilterkernelreachinsamples表示表示所述水平滤波器内核影响范围的样本数量,lefttileboundaryposition表示所述第一图块的所述水平行内的多个样本的最左侧位置,righttileboundaryposition表示所述第一图块的所述水平行内的多个样本的最右位置,其中clip3限定为:
[0145][0146]
根据实施例,数据解码器170可以例如被配置为通过采用所述水平剪切根据所述水平滤波器内核影响范围并且通过采用所述垂直剪切根据所述垂直滤波器内核影响范围来确定所述参考块,其中
[0147]
verticalfilterkernelreachinsamples=horizontalfilterkernelreachinsamples。
[0148]
在实施例中,数据解码器170可以例如被配置为通过采用所述水平剪切根据所述水平滤波器内核影响范围并且通过采用所述垂直剪切根据所述垂直滤波器内核影响范围来确定所述参考块,其中
[0149]
verticalfilterkernelreachinsamples≠horizontalfilterkernelreachinsamples。
[0150]
根据实施例,数据解码器170可以例如被配置为使用所述滤波器或所述滤波器内核来对所述第一图块进行滤波,其中数据解码器170可以例如被配置为根据第一图块的要由所述滤波器或所述滤波器内核滤波的块与所述第一图块和所述第二图块之间的所述边界之间的距离,修正所述滤波器或所述滤波器内核的影响范围。
[0151]
在实施例中,如果所述距离具有小于或等于阈值距离的第一距离值,则数据解码器170可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为第一尺寸值。如果所述距离具有大于所述第一距离值的第二距离值,并且如果所述块和所述块的相邻块属于相同的参考图像,则数据解码器170可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为大于第一尺寸值的第二尺寸值。数据解码器170可以例如被配置为如果所述距离具有大于所述第一距离值的所述第二距离值并且如果所述块和所述块的所述相邻的块不属于所述相同的参考图像,将所述滤波器或所述滤波器内核的所述影响范围设置为所述第一尺寸值。
[0152]
此外,提供了根据实施例的用于通过生成经编码的视频信号来对视频的多个图像进行编码的视频编码器101。多个图像中的每一个包括原始图像数据。视频编码器101包括数据编码器110,用于生成包含经编码的图像数据的经编码的视频信号,其中数据编码器110用于将视频的多个图像编码为经编码的图像数据,以及输出接口120,用于输出多个图
像中的每一个的经编码的图像数据。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。数据编码器110被配置为相对于彼此独立地编码第一图块和第二图块。此外,数据编码器110被配置为根据所述第一图像的所述第一图块的参考块对多个图像中的第二图像的多个图块的当前图块进行编码,其中滤波器限定跨第一图块和第二图块之间的所述边界的滤波,其中所述参考块包括所述第一图块的第一组样本,并且其中所述参考块不包括所述第一图块的第二组样本,其中所述第一组样本中没有一个会受到使用所述滤波器的所述滤波的影响,并且其中所述第二组样本中的一个或多个将受到使用所述滤波器的所述滤波的影响。
[0153]
例如,在一些实施例中,两个图块可以例如被认为是相邻的,或者可以例如被认为是相邻的图块,如果它们在多个图像的图像中彼此相邻/相邻,或者,如果它们是相邻的,如果它们应该被映射到解码器侧,使得它们在被映射到解码器侧之后在映射中彼此相邻/相邻,例如,通过一个或多个映射,根据映射规则映射到地图(例如,投影图,或者,例如,立方体图,或者,例如,等距柱状图)。例如,图块可以例如通过采用按区域打包来映射。例如,图块可以例如通过第一映射被映射到投影图,并且例如通过从投影图到等距柱状图的第二映射。
[0154]
在实施例中,数据编码器110可以例如被配置为根据另一参考块不编码所述当前图块,该另一参考块包括已经受到跨第一图块和第二图块之间的所述边界的所述滤波的影响的所述第一经滤波图块的所述第二组样本中的一个或多个。
[0155]
根据实施例,数据编码器110可以例如被配置为确定所述参考块,使得所述参考块包括所述第一图块的所述第一组样本,并且使得所述参考块不包括所述第一图块的所述第二组样本,使得所述第一组样本中的任何一个都不会受到使用所述滤波器的所述滤波的影响,并且使得所述第二组样本中的所述一个或多个样本将受到使用所述滤波器的所述滤波的影响。
[0156]
在实施例中,数据编码器110可以例如被配置为根据滤波器或滤波器内核的影响范围来确定所述参考块,其中数据编码器110可以例如被配置为采用所述滤波器或所述滤波器内核用于跨第一图块和第二图块之间的所述边界的滤波。
[0157]
根据实施例,数据编码器110可以例如被配置为根据关于滤波器或滤波器内核的影响范围的滤波器信息来确定所述参考块。滤波器信息包括水平滤波器内核影响范围,该水平滤波器内核影响范围指示所述第一图块的一个水平行内的所述第一图块的多个样本中的多少个受到所述第二图块的多个样本中的一个或多个样本的影响,通过跨第一图块和第二图块之间的所述边界进行滤波,其中数据编码器110可以例如被配置为根据所述水平滤波器内核影响范围来确定所述参考块。和/或滤波器信息包括垂直滤波器内核影响范围,其指示所述第一图块的一个垂直列内的所述第一图块的多个样本中有多少受到所述第二图块的多个样本中的一个或多个样本的影响,通过跨第一图块和第二图块之间的所述边界进行滤波,其中数据编码器110可以例如被配置为根据所述垂直滤波器内核影响范围来确定所述参考块。
[0158]
根据实施例,数据编码器110可以例如被配置为通过外推所述第一组样本中的样本根据所述垂直滤波器内核影响范围来确定所述参考块。和/或,数据编码器110例如可以
被配置为通过外推所述第一组样本中的样本,根据所述水平滤波器内核影响范围来确定所述参考块。
[0159]
在实施例中,数据编码器110可以例如被配置为通过使用使用所述第一组样本的垂直剪切来根据所述垂直滤波器内核影响范围来确定所述参考块。和/或数据编码器110可以例如被配置为通过使用所述第一组样本采用水平剪切来根据所述水平滤波器内核影响范围确定所述参考块。
[0160]
根据实施例,垂直剪切可以例如根据以下限定:
[0161]
yinti=clip3(toptileboundaryposition+verticalfilterkernelreachinsamples,bottomtileboundaryposition
–1–
verticalfilterkernelreachinsamples,yint
l
+i-3)
[0162]
yint
l
表示垂直剪切前的所述第一图块的垂直列中的位置l的所述第一图块的多个样本之一,yinti指示垂直剪切后位于所述第一图块的垂直列中的位置i的所述第一图块的多个样本中的一个,verticalfilterkernelreachinsamples指示对所述垂直滤波器内核影响范围作出指示的样本数量,toptileboundaryposition指示所述第一图块的所述垂直列内的多个样本的最顶部位置,bottomtileboundaryposition指示所述第一图块的所述垂直列内的多个样本的最底部位置,其中水平剪切可以例如根据以下限定:
[0163]
xinti=clip3(lefttileboundaryposition+horizontalfilterkernelreachinsamples,righttileboundaryposition
–1–
horizontalfilterkernelreachinsamples,xint
l
+i-3)
[0164]
xint
l
表示在水平剪切之前位于所述第一图块的水平行中的位置l的所述第一图块的多个样本中的一个,xinti表示水平剪切后的位于所述第一图块的水平方向上的位置i的所述第一图块的多个样本中的一个,horizontalfilterkernelreachinsamples表示表示所述水平滤波器内核影响范围的样本数量,lefttileboundaryposition表示所述第一图块的所述水平行内的多个样本的最左侧位置,righttileboundaryposition表示所述第一图块的所述水平行内的多个样本的最右位置,其中clip3限定为:
[0165][0166]
在实施例中,数据编码器110可以例如被配置为通过采用所述水平剪切根据所述水平滤波器内核影响范围并且通过采用所述垂直剪切根据所述垂直滤波器内核影响范围来确定所述参考块,其中
[0167]
verticalfilterkernelreachinsamples=horizontalfilterkernelreachinsamples。
[0168]
根据实施例,数据编码器110可以例如被配置为通过采用所述水平剪切根据所述水平滤波器内核影响范围并且通过采用所述垂直剪切根据所述垂直滤波器内核影响范围来确定所述参考块,其中
[0169]
verticalfilterkernelreachinsamples≠horizontalfilterkernelreachinsamples。
[0170]
在实施例中,数据编码器110可以例如被配置为使用所述滤波器或所述滤波器内核对所述第一图块进行滤波。数据编码器110可以例如被配置为根据第一图块的要由所述滤波器或所述滤波器内核滤波的块与所述第一图块和所述第二图块之间的所述边界之间的距离来修正所述滤波器或所述滤波器内核的所述影响范围。
[0171]
根据实施例,如果所述距离具有小于或等于阈值距离的第一距离值,则数据编码器110可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为第一尺寸值。如果所述距离具有大于所述第一距离值的第二距离值并且如果所述块和所述块的相邻块属于相同的参考图像,则数据编码器110可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为大于第一尺寸值的第二尺寸值。此外,如果所述距离具有大于所述第一距离值的所述第二距离值并且如果所述块和所述块的所述相邻块不属于所述相同参考图像,数据编码器110可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为所述第一尺寸值。
[0172]
此外,提供了包括上述视频编码器101和上述视频解码器151的系统。视频编码器101被配置为生成经编码的视频信号。视频解码器151,被配置为对经编码的视频信号进行解码,重构视频图像。
[0173]
此外,提供了根据实施例的用于解码包括经编码的图像数据的经编码的视频信号以重构视频的多个图像的视频解码器151。视频解码器151包括输入接口160,被配置为接收经编码的视频信号,以及数据解码器170,被配置为通过对经编码的图像数据进行解码来重构视频的多个图像。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个块,其中多个块中的每一个包括多个样本。对于多个图像的一个图像的多个图块中的两个相邻图块的第一图块和第二图块,第一图块和第二图块之间存在边界。第一图块和第二图块已经相对于彼此独立编码。数据解码器170被配置为使用滤波器或滤波器内核对所述第一图块进行滤波,其中数据解码器170被配置为根据第一图块的要由所述滤波器或所述滤波器内核滤波的块与所述第一图块和所述第二图块之间所述边界之间的距离来修正所述滤波器或所述滤波器内核的影响范围,所述块是第一图块的多个块中的一个。
[0174]
根据实施例,如果所述距离具有小于或等于阈值距离的第一距离值,则数据解码器170可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为第一尺寸值。此外,如果所述距离具有大于所述第一尺寸值的第二距离值以及所述块和如果所述块的相邻块属于相同参考图像,则数据解码器170可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为大于第一尺寸值的第二尺寸值。此外,如果所述距离具有大于所述第一距离值的所述第二距离值并且如果所述块和所述块的所述相邻块不属于所述相同参考图像,数据解码器170可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为所述第一尺寸值。
[0175]
根据实施例,数据解码器170可以例如包括去块滤波器。对于第一图块的待滤波的所述块,数据解码器170可以例如被配置为使用去块滤波器对所述第一图块进行滤波,如果相对于第一图块的待滤波的所述块,相对于第一图块独立编码的第二图块内的第二块在去块滤波器的滤波器影响范围内,和/或其中,对于第一图块的将被滤波的块,数据解码器(170)可以例如被配置为根据从第一图块的所述待滤波的所述块中,如果从第一图块独立地编码的第二图块内的所述第二块在去块滤波器的滤波器影响范围内,设置去块滤波器的
去块滤波器强度。
[0176]
在实施例中,数据解码器170可以例如包括样本自适应偏移滤波器,其中样本自适应偏移滤波器可以例如包括边缘偏移模式和带偏移模式。对于第一图块的待滤波的所述块,数据解码器170可以例如被配置为如果从第一图块待滤波的所述块,即相对于第一图块独立编码的第二图块内的第三块,在边缘偏移模式下样本自适应偏移滤波器的滤波器影响范围内,激活带偏移模式并且使用自适应偏移滤波器来对所述第一图块进行滤波。
[0177]
根据实施例,数据解码器170可以例如包括自适应环路滤波器。对于第一图块的所述待滤波的所述块,数据解码器170可以例如被配置为如果从第一图块的所述待滤波的所述块中,相对于第一图块独立编码的第二图块内的第四块,在自适应环路滤波器的滤波器影响范围内,去激活自适应环路滤波器。
[0178]
此外,提供了根据实施例的用于通过生成经编码的视频信号来对视频的多个图像进行编码的视频编码器101。多个图像中的每一个包括原始图像数据。视频编码器101包括数据编码器110,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器110被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口120,用于输出多个图像中的每一个的经编码的图像数据。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个块,其中多个块中的每一个包括多个样本。对于多个图像中的第一图像的多个图块中的两个相邻图块的第一图块和第二图块,在第一图块和第二图块之间存在边界。数据编码器110被配置为相对于彼此独立地编码第一图块和第二图块。此外,数据编码器110被配置为使用滤波器或滤波器内核来对所述第一图块进行滤波,其中数据编码器110被配置为根据要通过所述滤波器或所述滤波器内核滤波的块以及所述第一图块和所述第二图块之间的边界之间的距离,修正所述滤波器或所述滤波器内核的影响范围,所述块是第一图块的多个块中的一个。
[0179]
在实施例中,如果所述距离具有小于或等于阈值距离的第一距离值,则数据编码器110可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为第一尺寸值。数据编码器110可以例如被配置为如果所述距离具有大于所述第一距离值的第二距离值并且如果所述块和所述块的相邻块属于相同参考图像,将所述滤波器或所述滤波器内核的所述影响范围设置为大于第一尺寸值的第二尺寸值。此外,如果所述距离具有大于所述第一距离值的所述第二距离值并且如果所述块和所述块的所述相邻块不属于所述相同参考图像,数据编码器110可以例如被配置为将所述滤波器或所述滤波器内核的所述影响范围设置为所述第一尺寸值。
[0180]
根据实施例,数据编码器110可以例如包括去块滤波器。对于第一图块的待滤波的所述块,数据编码器110可以例如被配置为使用去块滤波器对所述第一图块进行滤波,如果相对于第一图块的待滤波的所述块,相对于第一图块独立编码的第二图块内的第二块在去块滤波器的滤波器影响范围内,和/或其中,对于第一图块的将被滤波的块,数据解码器(170)可以例如被配置为根据从第一图块的所述待滤波的所述块中,如果从第一图块独立地编码的第二图块内的所述第二块在去块滤波器的滤波器影响范围内,设置去块滤波器的去块滤波器强度。
[0181]
在实施例中,数据编码器110可以例如包括样本自适应偏移滤波器,其中样本自适应偏移滤波器可以例如包括边缘偏移模式和带偏移模式。对于第一图块的待滤波的所述
块,数据编码器110可以例如被配置为如果相对于第一图块的待滤波的所述块,即相对于第一图块独立编码的第二图块内的第三块,在边缘偏移模式下样本自适应偏移滤波器的滤波器影响范围内,激活带偏移模式并且使用自适应偏移滤波器来对所述第一图块进行滤波。
[0182]
根据实施例,数据编码器110可以例如包括自适应环路滤波器。对于第一图块的待滤波的所述块,数据编码器110可例如被配置为如果相对于第一图块的待滤波的所述块,相对于第一图块独立编码的第二图块内的第四块,在自适应环路滤波器的滤波器影响范围内,去激活自适应环路滤波器。
[0183]
此外,提供了根据实施例的包括上述视频编码器101和上述视频解码器151的系统。视频编码器101用于生成经编码的视频信号。视频解码器151,用于对经编码的视频信号进行解码以重构视频图像。
[0184]
当图像的区域被独立编码时,例如与hevc中的图块一样,主观伪影是可见的。通过允许跨图块边界进行环路滤波,可以减轻这种不需要的伪影。当编码器和解码器可以执行相同的过程时,这不是问题,但是,当图块需要独立可解码和可互换时,诸如在上述用例中,这种方法只有在内容使用mcts进行编码和约束mv不指向任何受滤波过程影响的样本时才有可能。否则,如果改用区域/图块边界方法,则禁止使用此类特征,因为简单地允许跨图块边界的环路滤波器将导致由于图块外部的“错误”参考样本(由环路滤波器内核影响范围给定)而重构错误的样本值。反过来,使用这种受污染的样本,运动补偿预测将导致在时间上跟随的经编码图像中进一步的误差传播。特别是,当受污染的样本用于vvc独立图块中设想的边界填充程序时,受影响的区域会迅速扩大(vvc=versatile video coding,多功能视频编码)。
[0185]
在360度视频流中,例如使用mpeg omaf标准(mpeg=moving picture experts group,运动图像专家组;omaf=omnidirectional media forma,全向媒体格式),缓解上述问题的特定方法是使用一些备用图像样本过度配置经编码图像中的每个单独区域,其可以省略或与空间相邻区域的备用图像样本混合。然而,这种方法对给定级别解码器可用的样本预算产生负面影响,因此是不可取的,因为经解码的样本要么被丢弃,要么在解码后混合在一起。
[0186]
实施例旨在使环路滤波器能够跨独立区域的边界,但防止运动补偿预测使用受潜在影响的样本影响的样本值。一种解决方案,类似于hevc中使用的编码器侧约束,是限制运动补偿以遵守独立的图块边界加上内指向的滤波器内核,使得没有参考包含受污染的样本,即下面图4a中的虚线。
[0187]
图4a示出了来自环路滤波器过程的图块内的受污染样本。
[0188]
然而,在vvc中,采用了另一种方法来在独立编码的图块内启用运动补偿预测,其特征是图块边界扩展。此处,图块边界处的样本值垂直于图块边界外推,并且允许运动估计到达此边界扩展。现在,当这些图块边界样本值被环路滤波器程序污染时,误差会传播到边界扩展中,并因此传播到以下图像中,如图4b所示。
[0189]
图4b示出了来自受污染样本的独立区域的vvc平铺边界扩展。
[0190]
因此,实施例旨在,而不是使用作为图块内最后一个样本的图块边界样本来推导边界填充,而是使用图块内不受环路滤波器程序影响的最接近样本用于垂直图块边界扩展,也覆盖图块内受污染样本的样本值,如以下图5所示。
[0191]
图5示出了根据实施例的服从环路滤波器内核影响范围的图块边界扩展过程。
[0192]
根据实施例,用于在参考块中生成边界填充样本的现有技术剪切被适配。给出的示例是遵循当前vvc草案5规范v3中的水平和垂直图像边界的参考块样本位置的水平和垂直组件的方程(同时省略运动向量环绕)如下:
[0193]
yinti=clip3(0,pich-1,yint
l
+i-3)
[0194]
xinti=clip3(0,picw-1,xint
l
+i-3)
[0195]
其将根据实施例被改变以包括滤波器内核影响范围的进一步常数代表如下:
[0196]
yinti=clip3(toptileboundaryposition+verticalfilterkernelreachinsamples,bottomtileboundaryposition
–1–
verticalfilterkernelreachinsamples,yint
l
+i-3)
[0197]
xinti=clip3(lefttileboundaryposition+horizontalfilterkernelreachinsamples,righttileboundaryposition
–1–
horizontalfilterkernelreachinsamples,xint
l
+i-3)
[0198]
clip3在[1]中限定为:
[0199][0200]
在实施例中,verticalfilterkernelreachinsamples可以例如等于horizo ntalfilterkernelreachinsamples。
[0201]
在另一个实施例中,verticalfilterkernelreachinsamples可以例如不同于horizo ntalfilterkernelreachinsamples。
[0202]
重要的是要注意图块边界扩展不是输出图像的一部分,它仍然包含受污染的样本。
[0203]
作为上述概念的替代或补充,采用另一实施例。根据这样的实施例,滤波过程的filterkernelreachinsamples(例如,horizontalfilterkernelreachinsamples或verticalfilterkernelreachinsamples)被修正。目前在vvc中关于hevc,所有的在环路滤波器要么跨图块启用,要么被禁用。仍然为了使所描述的区域边界扩展更有效,需要限制受滤波过程影响的样本数量。例如,去块滤波器具有2个强度,通常取决于检查,诸如相同的参考图像是否用于2个相邻块。根据实施例,区域边界处的块可以例如总是被导出为块,对此滤波器强度使得在该过程中影响较少数量的样本或者该滤波器导出过程独立/较少依赖于解码背景。类似地,可以在区域边界处修正每个其他滤波器(sao和alf)的影响范围(sao=sample adaptive offset,样本自适应偏移;alf=adaptive loop filtering,自适应环路滤波)。或者滤波器可以单独禁用,而不是像目前那样一次性禁用,例如只有alf被禁用。
[0204]
根据实施例,去块滤波器强度可以例如如下导出:如果块边界处的两个块中的至少一个属于另一个块所属的图块的要独立编码的图块,则强度可以例如设置为1。
[0205]
在实施例中,对于sao,如果位于彼此独立编码的不同图块中的两个块位于独立图块边界上,则可以例如始终使用带偏移模式而不是边缘偏移模式。
[0206]
根据实施例,alf、sao、去块的组合可以例如在独立的图块边界处被禁用。
[0207]
在下文中,现在详细描述实施例的第二方面。
[0208]
特别地,第二方面在凹图块组边界(凹图块组的内指向边界)上提供运动补偿预测。
[0209]
提供了根据实施例的用于通过生成经编码的视频信号对视频的多个图像进行编码的视频编码器101。多个图像中的每一个包括原始图像数据。视频编码器101包括数据编码器110,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器110被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口120,用于输出多个图像中的每一个的经编码的图像数据。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。数据编码器110被配置为确定经独立编码的图块组,该组包括多个图像的参考图像的多个图块中的三个或更多个图块。此外,数据编码器110被配置为根据位于参考图像内的参考块对多个图像进行编码。此外,数据编码器110被配置为在参考图像内为所述参考块选择位置,使得参考块不是既部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内、又部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中的另一个图块内。
[0210]
在实施例中,所述三个或更多个图块可以例如被布置在参考图像中,使得它们相对于不属于经独立编码的图块组的参考图像的多个图块具有凹图块组的内指向边界。
[0211]
根据实施例,数据编码器110可以例如被配置为在参考图像内为所述参考块选择位置,使得参考块不是既部分地位于所述经独立编码的图块组的三个或更多个图块的第一图块内和部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中第二图块内。
[0212]
此外,提供了根据实施例的系统,包括上述视频编码器101和视频解码器151,用于对包括经编码的图像数据的经编码的视频信号进行解码以重构视频的多个图像。视频解码器151包括输入接口160,被配置为接收经编码的视频信号,以及数据解码器170,被配置为通过对经编码的图像数据进行解码来重构视频的多个图像。视频编码器101用于生成经编码的视频信号。视频解码器151,用于对经编码的视频信号进行解码,重构视频图像。
[0213]
此外,提供了根据实施例的用于通过生成经编码的视频信号来对视频的多个图像进行编码的视频编码器101。多个图像中的每一个包括原始图像数据。视频编码器101包括数据编码器110,被配置为生成包括经编码的图像数据的经编码的视频信号,其中数据编码器110被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口120,用于输出多个图像中的每一个的经编码的图像数据。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。数据编码器110被配置为确定经独立编码的图块组,该组包括多个图像的参考图像的多个图块中的三个或更多个图块。此外,数据编码器110被配置为根据位于参考图像内的参考块对多个图像进行编码,其中参考块部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内并且是部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中另一个图块内。此外,数据编码器110被配置为根据所述经独立编码的图块组的所述三个图块中的第一个的多个样本中的一个或多个和根据不属于所述经独立编码的图块组的所述三个图块中的第二图块的多个样本中的一个或多个样本,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本。
[0214]
在实施例中,所述三个或更多个图块可以例如被布置在参考图像中使得它们相对于不属于经独立编码的图块组的参考图像的多个图块具有凹图块组的内指向边界。
[0215]
根据实施例,数据编码器110可以例如被配置为根据分离为第一子部分和第二子部分的所述参考块的所述部分的分离,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本,使得使用所述三个图块中的所述第一图块的所述一个或多个样本但不使用所述三个图块中的所述第二图块的所述一个或多个样本来确定位于第一子部分中的多个参考样本中的那些参考样本,并且使得使用所述三个图块的所述第二图块的所述一个或多个样本但不使用所述三个图块中的所述第一图块的所述一个或多个样本,确定位于第二子部分中的多个参考样本中的那些参考样本。
[0216]
在实施例中,将位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的所述部分划分为第一子部分和第二子部分的所述参考块的所述部分的分离,例如可以是所述参考块的对角线分离。
[0217]
根据实施例,数据编码器110可以例如被配置为通过应用使用所述经独立编码的图块组的所述三个图块中的所述第一图块的一个或多个样本的平面内预测(planar intra prediction)并且使用所述三个图块或树图块中的所述第二图块的所述一个或多个样本,来确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的所述多个参考样本。
[0218]
此外,提供了根据实施例的用于解码包括经编码的图像数据的经编码的视频信号以重构视频的多个图像的视频解码器151。视频解码器151包括输入接口160,被配置为接收经编码的视频信号,以及数据解码器170,被配置为通过对经编码的图像数据进行解码来重构视频的多个图像。多个图像中的每一个包括多个图块,其中所述多个图块中的每一个包括多个样本。经编码的视频信号包括经独立编码的图块组,该经独立编码的图块组包括多个图像的参考图像的多个图块中的三个或更多个图块。数据解码器170被配置为根据位于参考图像内的参考块对多个图像进行解码,其中参考块部分地位于所述经独立编码的图块组的三个或更多个图块中的三个图块内,并且部分地位于不属于所述经独立编码的图块组的参考图像的多个图块中的另一个图块内。此外,数据解码器170被配置为根据所述经独立编码的图块组的所述三个图块中的第一图块的多个样本中的一个或多个和根据所述经独立编码的图块组的所述三个图块中的第二图块的多个样本中的一个或多个样本,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本。
[0219]
在实施例中,所述三个或更多个图块被布置在参考图像中,使得它们具有相对于不属于经独立编码的图块组的参考图像的多个图块的凹图块组的内指向边界。
[0220]
根据实施例,数据解码器170可以例如被配置为根据分离为第一子部分和第二子部分的所述参考块的所述部分的分离,确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的多个参考样本,使得使用所述三个图块中的所述第一图块的所述一个或多个样本但不使用所述三个图块中的所述第二图块的所述一个或多个样本来确定位于第一子部分中的多个参考样本中的那些参考样本,并且使得使用所述三个图块的所述第二图块的所述一个或多个样本但不使用所述三个图块中的所述第一图块的所述一个或多个样本,确定位于第二子部分中的多个参考样本中的那些参考样本。
[0221]
在实施例中,将位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的所述部分分离为第一子部分和第二子部分的所述参考块的所述部分的分离是所述参考块的对角线分离。
[0222]
根据实施例,数据解码器170可以例如被配置为通过应用使用所述经独立编码的图块组的所述三个图块中的所述第一图块的一个或多个样本的平面内预测并且使用所述三个图块或树图块中的所述第二图块的所述一个或多个样本,来确定位于不属于所述经独立编码的图块组的所述另一图块内的所述参考块的一部分的所述多个参考样本。
[0223]
一种系统,包括上述视频编码器101和上述视频解码器151。视频编码器101被配置为生成经编码的视频信号。视频解码器151,用于对经编码的视频信号进行解码,重构视频图像。
[0224]
当图块组以光栅扫描顺序形成时,例如根据vvc草案5规范v3中的规定,边界扩展程序可以在经独立编码的图块组上执行,并且需要适应以下图6中的图块配置。
[0225]
图6示出了经编码图像的图块和图块组划分。
[0226]
从图像中可以看出,通过剪切样本位置,例如如vvc草案5规范v3中限定的那样,在处理图块组0时,不足以覆盖图块边界,诸如标有红叉。
[0227]
在下文中,首先提供当给定参考块的运动补偿预测涉及图块组0的图块0的顶部和左边界时对会发生什么,即在图块组0中的图块0的凸形左上边界处的仔细观察。根据现有技术,可以区分图块0之外的三个区域,如下面的图7所示。
[0228]
图7示出了具有现有技术边界填充的参考块。
[0229]
位于标记为to be top(成为顶部)的区域内的参考块部分填充了图块0的对应顶部样本行的垂直外推,而位于标记为to be left(成为左)的区域内的参考块部分是填充了图块0的对应左样本列的水平外推。至于位于标记为to be top-left(成为左上)的区域内的参考块部分,它填充了单个样本值,即在图块0的位置0,0处采样,即图块0的左上角样本。
[0230]
另一个示例如图8所示,其中边界扩展将应用于l形区域。在这种情况下,对于图块0的右下角,即图8所示的图块组0的凹边界,也需要外推用于运动补偿预测。然而,对于凸图块组边界,与图像边界的现有技术相似,样本值外推不能简单地完成,因为凹图块组边界中图块边界的垂直外推在边界扩展中每个样本位置产生两个可能的值。
[0231]
因此,实施例涉及在编码器侧限制比特流中的运动补偿预测并且不允许同时包含来自图块1和图块2两者的样本的参考块,诸如如图8所示的第一参考块。
[0232]
图8示出了根据实施例的对角分割的凹图块组边界。
[0233]
仅当图块1的样本或图块2的样本排他地位于参考块内时才允许进入图8中所示的图块组0边界扩展区域,如图8中的第二参考块所示。在这种情况下,规则的垂直边界填充是关于所涉及的相邻图块的边界应用的,即示例中的图块1。
[0234]
作为上述比特流约束的替代方案,解决方案是将边界填充区域对角线划分,如图8中的虚线所示,并通过各自相邻图块边界采样值的垂直外推到对角线边界,分别填充边界填充区域的两个部分。在此替代方案中,还允许包含来自图块1和图块2的样本的参考块,即示例性的第一参考块。在边界填充区域的对角线划分的进一步替代方案中,根据平面内预测模式从图块1和图块2的样本值填充整个区域。
[0235]
在进一步替代实施例中,如果存在这样的独立区域,则需要将来自区域的运动补
偿预测限制为不指向该区域外,除非它仅跨一个边界,即不允许第一参考块且不允许第二参考块。
[0236]
在下文中,现在详细描述本发明的第三方面。
[0237]
特别地,第三方面提供了用于gdr的经解码图像哈希。
[0238]
提供了根据实施例的用于通过生成经编码的视频信号对视频的多个图像进行编码的视频编码器101。多个图像中的每一个包括原始图像数据。视频编码器101包括数据编码器110,被配置为生成包含经编码的图像数据的经编码的视频信号,其中数据编码器110被配置为将视频的多个图像编码为经编码的图像数据,以及输出接口120,用于输出多个图像中的每一个的经编码的图像数据。数据编码器110被配置为在经编码的视频信号内对哈希信息进行编码。此外,数据编码器110被配置为根据多个图像的当前图像的当前部分生成哈希信息图像,但不取决于当前图像的后续部分,其中当前部分在当前图像中具有第一位置,并且后续部分在图像内具有不同于第一位置的第二位置。
[0239]
根据实施例,当前图像包括多个部分,当前部分是多个部分中的一个,后续部分是多个部分中的另一个,其中所述多个部分中的每一个在图像内具有不同的位置。数据编码器110可以例如被配置为按照编码顺序对经编码的视频信号内的所述多个部分进行编码,其中后继部分在编码顺序中紧接在当前部分之后,或者其中后继部分与当前部分交织并在编码顺序中部分接续当前部分。
[0240]
在实施例中,数据编码器110可以例如被配置为对取决于所述当前部分的所述哈希信息进行编码。
[0241]
根据实施例,数据编码器110可以例如被配置为生成所述哈希信息,使得所述哈希信息取决于所述当前部分,而不取决于当前图像的所述多个部分的任何其他部分。
[0242]
在实施例中,数据编码器110可以例如被配置为生成所述哈希信息,使得所述哈希信息取决于所述当前部分并且使得所述哈希信息取决于编码顺序内在所述当前部分之前的所述多个部分中的一个或多个其他部分,但是使得所述哈希信息不依赖于在编码顺序内在所述当前部分之后的当前图像的所述多个部分中的任何其他部分。
[0243]
根据实施例,数据编码器110可以例如被配置为生成所述哈希信息,使得所述哈希信息取决于所述当前部分并且使得所述哈希信息取决于所述当前图像的所述当前部分,并且其中所述哈希信息取决于所述当前图像的所述多个部分的每个其他部分,所述其他部分在编码顺序内在所述当前部分之前,或者所述其他部分与所述当前图像的所述当前部分交织并且在编码顺序内部分地在所述当前图像的所述当前部分之前。
[0244]
在实施例中,数据编码器110可以例如被配置为对多个图像中的当前图像进行编码,使得经编码的视频信号可以例如通过采用渐进解码刷新来解码。
[0245]
例如,在实施例中,哈希信息可以例如取决于采用渐进解码刷新进行刷新的所述当前图像的刷新区域,而不取决于渐进解码刷新未刷新的所述当前图像的另一区域。
[0246]
根据实施例,数据编码器110可以例如被配置为生成哈希信息,使得哈希信息根据所述当前图像的所述当前部分而不是根据所述当前图像的所述后续部分指示一个或多个哈希值。
[0247]
在实施例中,数据编码器110可以例如被配置为根据所述当前部分的多个亮度样本和/或取决于所述当前部分的多个色度样本来生成所述一个或多个哈希值中的每一个。
[0248]
根据实施例,数据编码器110可以例如被配置为生成所述一个或多个哈希值中的每一个作为消息摘要算法5值,或者作为循环冗余校验值,或者作为校验和,其取决于所述当前部分的所述多个亮度样本和/或取决于所述当前部分的所述多个色度样本。
[0249]
一种视频解码器151,提供了根据实施例的用于对包括经编码的图像数据的经编码的视频信号进行解码以重构多个视频的图像。视频解码器151包括输入接口160,被配置为接收经编码的视频信号,以及数据解码器170,被配置为通过对经编码的图像数据进行解码来重构视频的多个图像。数据解码器170被配置为分析经编码的视频信号内编码的哈希信息,其中哈希信息取决于多个图像中当前图像的当前部分,但不取决于当前图像的后续部分,其中当前部分在当前图像内具有第一位置,并且后续部分在图像内具有与第一位置不同的第二位置。
[0250]
根据实施例,当前图像包括多个部分,当前部分是多个部分中的一个,后续部分是多个部分中的另一个,其中所述多个部分中的每一个在图像内具有不同的位置。其中所述多个部分以编码顺序在经编码的视频信号内被编码,其中后续部分在编码顺序中紧接在当前部分之后,或者其中后续部分与当前部分交织并且部分地在编码顺序中当前部分之后。
[0251]
在实施例中,取决于所述当前部分的所述哈希信息可以例如被编码。
[0252]
根据实施例,所述哈希信息取决于所述当前部分,但不取决于当前图像的所述多个部分中的任何其他部分。
[0253]
在实施例中,所述哈希信息取决于所述当前部分并且使得所述哈希信息取决于所述多个部分中在编码顺序内在所述当前部分之前的一个或多个其他部分,但是使得所述哈希信息不取决于当前图像的所述多个部分的任何其他部分,其在编码顺序内在所述当前部分之后。
[0254]
根据实施例,所述哈希信息取决于所述当前部分,并且其中所述哈希信息取决于所述当前图像的所述当前部分,并且其中所述哈希信息取决于所述当前图像的所述多个部分的每个其他部分,所述其他部分在编码顺序中位于所述当前部分之前,或者所述其他部分与所述当前图像的所述当前部分交织并且在编码顺序内部分地在所述当前图像的所述当前部分之前。
[0255]
在实施例中,数据解码器170可以例如被配置为使用渐进解码刷新来解码经编码的视频信号以重构当前图像。
[0256]
例如,在实施例中,哈希信息可以例如取决于使用渐进解码刷新被刷新的所述当前图像的刷新区域,而不取决于所述当前图像的未被渐进解码刷新刷新的另一个区域。
[0257]
根据实施例,哈希信息指示一个或多个具有取决于所述当前图像的所述当前部分但不取决于所述当前图像的所述后续部分的值。
[0258]
在实施例中,所述一个或多个哈希值中的每一个取决于所述当前部分的多个亮度样本和/或取决于所述当前部分的多个色度样本。
[0259]
根据实施例,所述一个或多个哈希值中的每一个是消息摘要算法5值,或者是循环冗余校验值,或者是校验和,其取决于所述当前部分的多个亮度样本和/或取决于所述当前部分的多个色度样本。
[0260]
此外,提供了包括根据实施例的上述视频编码器101和上述视频解码器151的系统。视频编码器101被配置为生成经编码的视频信号。视频解码器151,被配置为对经编码的
视频信号进行解码,重构视频图像。
[0261]
实现者的一个重要工具是经编码视频比特流中携带的控制点,以验证解码器的正确操作和比特流的完整性。例如,存在在sei消息中携带诸如md5、crc或图像的经解码样本值的简单校验和的哈希的手段(sei=supplemental enhancement information,补充增强信息;md5=message-digest algorithm 5,消息摘要算法5;crc=cyclic redundancy check,循环冗余校验),sei消息与每个图像相关联。因此,可以在解码器侧验证解码输出是否与编码器预想输出匹配,而无需访问原始材料或编码器。失配既可以识别解码器实现中的问题(开发期间),也可以识别比特流的损坏(在服务中),以防解码器实现已经被验证。例如,这可以用于系统中的错误检测,例如在使用基于rtp的通信信道的会话场景中,客户端必须主动请求预测链重置idr图像,以解决由比特流损坏引起的解码错误。
[0262]
然而,在gdr场景中,现有技术的sei消息机制不足以允许有意义地检测解码器或比特流的完整性。这是因为在gdr场景中,当只有一部分被正确重构时,也可以认为图像被正确解码,即最近通过扫描内列或行刷新了其时间预测链的区域。以使用基于gdr的编码方案的流的随机访问为例。从流被解码的那一点开始,将解码许多(部分)错误的图像,直到第一完全正确的图像被解码并可以显示。现在,虽然客户端能够从匹配的现有技术解码图像哈希sei消息中识别出第一完全正确的解码图像,但客户端将无法检查解码图像中的解码器或比特流完整性,直到第一完整正确解码的图像。因此,可能是比特流损坏或解码器实现错误导致客户端永远无法获得完全正确的解码图像的问题。因此,客户端可以采取厌恶措施(例如,请求发送侧提供不同类型的随机访问以确保比特流完整性)的时间点将显著晚于本发明,本发明允许对这些情况进行每图像检测。这种不利的现有技术检测机制的一个示例是等待预限定的时间阈值,例如在将比特流识别为损坏等之前的多个gdr周期(可从比特流信令中推导出来)。因此,在gdr场景中,根据区域区分编码器/解码器不匹配至关重要。
[0263]
实施例提供gdr刷新区域的解码图像哈希的比特流信令,以便客户端如上所述从中受益。在一个实施例中,通过经编码图像中的亮度样本位置在sei消息中限定区域,并且为每个区域提供相应的哈希。
[0264]
在另一个实施例中,例如通过sei消息在比特流中提供用于gdr刷新区域的单个哈希。与特定访问单元(即图像)中的哈希相关联的区域随时间变化,并对应于已从gdr周期中的扫描内列或行重置其预测链的所有块。即对于gdr时期的第一图像,例如在图像左侧有一列内块,该区域仅包含该特定列的内块,而对于每个连续图像,该区域从中包含内块列和左侧的所有块,假设从左到右扫描内刷新列,直到gdr周期的最终图像不再包含未刷新的块,并且使用经编码图像的所有块导出哈希。下面给出这种消息的示例性语法和语义。
[0265]
经解码的gdr刷新区域哈希sei消息语法
[0266][0267]
此消息为当前解码图像的每个颜色分量的刷新区域提供哈希值。
[0268]
注1—经解码的gdr刷新区域哈希sei消息是后缀sei消息,不能包含在可伸缩嵌套sei消息中。
[0269]
在计算哈希之前,通过将每个解码图像分量的相应的样本值依次复制到字节picturedata的字节串,将经解码的图像数据的gdr刷新区域排列成一个或三个长度为datalen[cidx]的称为picturedata[cidx]字节串。
[0270]
语法元素hash_type,picture_md5[cidx][i],picture_crc[cidx],picture_checksum[cidx]本质上等同于hevc中为解码图像哈希sei消息限定的内容,即从picturedata阵列中的数据导出哈希。
[0271]
当上述概念与本发明的第一方面,即遵守环路滤波器内核影响范围的边界扩展机制相结合时,用于哈希计算的区域也省略了可能被环路滤波器内核影响范围污染的样本。
[0272]
在实施例中,可以在图像的开头或结尾发送哈希信息。
[0273]
尽管某些方面已经在装置的背景中进行了描述,很清楚,这些方面也代表了相应方法的描述,其中块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤的背景中描述的方面也表示相应装置的相应块或项目或特征的描述。一些或所有方法步骤可以由(或使用)硬件装置来执行,例如微处理器、可编程计算机或电子电路。在一些实施例中,一个或多个最重要的方法步骤可以由这样的装置执行。
[0274]
根据某些实施要求,本发明的实施例可以以硬件或以软件或至少部分以硬件或至少部分以软件来实施。该实现可以使用数字存储介质来执行,例如软盘、dvd、蓝光、cd、rom、prom、eprom、eeprom或flash存储器,在其上具有存储的电子可读控制信号,它们与可编程计算机系统合作(或能够合作)从而执行相应的方法。因此,数字存储介质可以是计算机可读的。
[0275]
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,所述控制信号能够与可编程计算机系统协作,从而执行本文所述的方法之一。
[0276]
通常,本发明的实施例可以被实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,该程序代码可操作用于执行方法之一。程序代码可以例如存储在机器可读载体上。
[0277]
其他实施例包括存储在机器可读载体上的用于执行本文描述的方法之一的计算机程序。
[0278]
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,当该计算机程序在计算机上运行时,该程序代码用于执行本文描述的方法之一。
[0279]
因此,本发明方法的进一步实施例是数据载体(或数字存储介质,或计算机可读介质),其上记录有用于执行本文所描述方法之一的计算机程序。数据载体、数字存储介质或记录介质通常是有形的和/或非暂时性的。
[0280]
因此,本发明方法的进一步实施例是数据流或信号序列,其表示用于执行本文描述的方法之一的计算机程序。数据流或信号序列可以例如被配置为经由数据通信连接、例如经由因特网来传送。
[0281]
进一步实施例包括处理装置,例如计算机或可编程逻辑器件,其被配置为或适合于执行本文描述的方法之一。
[0282]
进一步实施例包括其上安装有用于执行本文所述方法之一的计算机程序的计算机。
[0283]
根据本发明的进一步实施例包括被配置为向接收器传送(例如,电子地或光学地)用于执行本文描述的方法之一的计算机程序的装置或系统。例如,接收器可以是计算机、移动设备、存储设备等。例如,该装置或系统可以包括用于将计算机程序传送到接收器的文件服务器。
[0284]
在一些实施例中,可编程逻辑器件(例如现场可编程门阵列)可用于执行本文所描述方法的一些或全部功能。在一些实施例中,现场可编程门阵列可与微处理器协作以执行本文所描述的方法之一。通常,这些方法优选地由任何硬件装置执行。
[0285]
本文描述的装置可以通过使用硬件装置实现,也可以通过使用计算机实现,也可以通过使用硬件装置和计算机的组合实现。
[0286]
本文描述的方法可以使用硬件装置、或者使用计算机、或者使用硬件装置和计算机的组合来执行。
[0287]
上述实施例仅用于说明本发明的原理。应当理解,对本领域技术人员而言,本文描述的布置和细节的修正和变化将是显而易见的。因此,其意图是仅由即将到来的专利权利要求的范围来限制,而不是由通过本文的实施例的描述和解释所呈现的具体细节来限制。
[0288]
参考文献
[0289]
[1]iso/iec,itu-t.high efficiency video coding.itu-t recommendation h.265|iso/iec23008 10(hevc),edition 1,2013;edition 2,2014.
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1