图像编码和解码的方法和装置以及存储比特流的记录介质与流程

文档序号:21831882发布日期:2020-08-11 22:06阅读:127来源:国知局
图像编码和解码的方法和装置以及存储比特流的记录介质与流程

本发明涉及一种用于对图像进行编码/解码的方法和设备以及存储比特流的记录介质。更具体地,本发明涉及一种通过使用运动约束并行块集对图像进行编码/解码的方法和设备。



背景技术:

近来,在各种应用领域中,对诸如高清晰度(hd)图像和超高清晰度(uhd)图像的高分辨率和高质量图像的需求已经增加。然而,与传统的图像数据相比,更高分辨率和更高质量的图像数据具有增加的数据量。因此,当通过使用诸如传统的有线和无线宽带网络的介质发送图像数据时,或者当通过使用传统的存储介质存储图像数据时,发送和存储的成本增加。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,对于具有高分辨率和高图像质量的图像,需要高效的图像编码/解码技术。

图像压缩技术包括各种技术,诸如:帧间预测技术,从当前画面的先前画面或后续画面来预测包括在当前画面中的像素值;帧内预测技术,通过使用当前画面中的像素信息来预测包括在当前画面中的像素值;变换和量化技术,用于压缩残差信号的能量;熵编码技术,将短码分配给具有高出现频率的值并且将长码分配给具有低出现频率的值;等等。这些图像压缩技术用于有效地压缩图像数据以用于传输或存储。

特别地,近年来,对用于模拟真实世界并提供逼真体验的虚拟现实(vr)技术的研究已经被广泛地进行。

诸如头戴式显示器(hmd)的vr系统令人感兴趣之处在于其能够向用户的双眼提供三维立体图像并且能够跟踪所有方向上的视点,从而能够提供360度可观看的逼真虚拟现实(360vr)图像内容。

然而,360vr内容由同时地所有方向上的多视图图像信息组成,其中,时间和双目图像以空间方式复合地同步,使得在图像的产生和传输中,在所有视点处针对双目空间同步的两个大的图像被编码以用于压缩和传输。这加重了复杂性和带宽的负担。特别地,在解码设备中,甚至对用户视点之外并且实际上没有被观看的区域也执行解码,从而执行了不必要的处理。

因此,考虑到防止图像质量劣化、减少传输图像的数据量和复杂度、解码设备的电池消耗等,需要有效的编码/解码方法。



技术实现要素:

技术问题

为了提高图像编码/解码效率,本发明提供了一种通过使用运动约束并行块集对图像进行编码/解码的方法。

技术方案

根据本发明的对图像进行解码的方法,所述方法可包括:获得运动约束并行块集信息;基于所述运动约束并行块集信息来确定参考画面内的与运动约束并行块集对应的同位并行块集的第一边界区域;填充与第一边界区域对应的第二边界区域;以及通过使用包括填充的第二边界区域的同位并行块集来对运动约束并行块集执行帧间预测。

在根据本发明的对图像进行解码的方法中,其中,确定第一边界区域的步骤包括:基于所述运动约束并行块集信息来识别运动约束并行块集;以及将从所述参考画面内的与识别的运动约束并行块集对应的同位并行块集的最外边界向内由预定数量的像素形成的区域确定为第一边界区域。

在根据本发明的对图像进行解码的方法中,其中,第一边界区域是从同位并行块集的最外边界向内由基于整数精度确定的数量的像素形成的区域,其中,所述整数精度取决于在帧间预测中使用的滤波器抽头的大小。

在根据本发明的对图像进行解码的方法中,其中,在对第二边界区域进行填充时,在第二边界区域中插入预设样点值进行填充。

在根据本发明的对图像进行解码的方法中,其中,在对第二边界区域进行填充时,执行将从第二边界区域的附近区域推导出的值插入到第二边界区域中的填充。

在根据本发明的对图像进行解码的方法中,其中,对第二边界区域进行填充的步骤包括:对填充后的第二边界区域进行插值。

在根据本发明的对图像进行解码的方法中,其中,第二边界区域是从同位并行块集的最外边界向外由基于整数精度确定的数量的像素形成的区域,其中,所述整数精度取决于在帧间预测中使用的滤波器抽头的大小。

在根据本发明的对图像进行解码的方法中,其中,对运动约束并行块集执行帧间预测的步骤包括:基于包括第二边界区域的同位并行块集来构建运动矢量候选列表;以及通过使用运动矢量候选列表对运动约束并行块集执行帧间预测。

在根据本发明的对图像进行解码的方法中,其中,在构建运动矢量候选列表时,所述运动矢量候选列表被构建为排除指示位于包括第二边界区域的同位并行块集外部的参考样点的运动矢量。

根据本发明的对图像进行编码的方法,所述方法可包括:基于视口信息确定运动约束并行块集;确定参考画面内的与确定的运动约束并行块集对应的同位并行块集的第一边界区域;填充与第一边界区域对应的第二边界区域;以及通过使用包括第二边界区域的同位并行块集来对运动约束并行块集执行帧间预测。

在根据本发明的对图像进行编码的方法中,其中,第一边界区域是从所述参考画面内的与确定的运动约束并行块集对应的同位并行块集的最外边界向内由预定义数量的像素形成的区域。

在根据本发明的对图像进行编码的方法中,其中,第一边界区域是从同位并行块集的最外边界向内由基于整数精度确定的数量的像素形成的区域,其中,所述整数精度取决于在帧间预测中使用的滤波器抽头的大小。

在根据本发明的对图像进行编码的方法中,其中,在对第二边界区域进行填充时,执行将预设样点值插入到第二边界区域中的填充。

在根据本发明的对图像进行编码的方法中,其中,在对第二边界区域进行填充时,执行将从第二边界区域的附近区域推导出的值插入到第二边界区域中的填充。

在根据本发明的对图像进行编码的方法中,其中,对第二边界区域进行填充的步骤包括:对填充后的第二边界区域进行插值。

在根据本发明的对图像进行编码的方法中,其中,第二边界区域是从同位并行块集的最外边界向外由基于整数精度确定的数量的像素形成的区域,其中,所述整数精度取决于在帧间预测中使用的滤波器抽头的大小。

在根据本发明的对图像进行编码的方法中,其中,对运动约束并行块集执行帧间预测包括:基于包括第二边界区域的同位并行块集来构建运动矢量候选列表;以及通过使用运动矢量候选列表对运动约束并行块集执行帧间预测。

在根据本发明的对图像进行编码的方法中,其中,在构建运动矢量候选列表时,所述运动矢量候选列表被构建为排除指示位于包括第二边界区域的同位并行块集外部的参考样点的运动矢量。

根据本发明的计算机可读非暂时性记录介质,所述记录介质存储通过对图像进行编码的方法形成的比特流,所述方法包括:基于视口信息确定运动约束并行块集;确定参考画面内的与确定的运动约束并行块集对应的同位并行块集的第一边界区域;填充与第一边界区域对应的第二边界区域;以及通过使用包括第二边界区域的同位并行块集来对运动约束并行块集执行帧间预测。

有益效果

为了提高图像编码/解码效率,本发明提供了一种通过使用运动约束并行块集对图像进行编码/解码的方法。

根据本发明,同位并行块集的边界区域被参考,该同位并行块集的边界区域在运动约束并行块集中不被参考,从而改善图像质量劣化并增强压缩率。

根据本发明,提高了图像的编码和解码效率。

根据本发明,降低了图像编码器和解码器的计算复杂度。

附图说明

图1是示出根据应用本发明的编码设备的实施例的配置的框图。

图2是示出根据应用本发明的解码设备的实施例的配置的框图。

图3是示意性地示出对图像进行编码和解码时的图像的划分结构的示图。

图4是示出帧间预测处理的示例的示图。

图5是示出包括应用本发明的编码设备和解码设备的图像系统的示例的示图。

图6是示出根据本发明的实施例的空间布局信息的格式和用信号发送空间布局信息的格式的方法的示图。

图7和图8是示出根据本发明的实施例的运动约束并行块集的示图。

图9是示出运动约束并行块集的参考区域被限制的示图。

图10是示出根据本发明的实施例的运动约束并行块集的帧间预测方法的流程图。

图11和图12是示出根据本发明的实施例的对与运动约束并行块集对应的同位并行块集的填充处理的示图。

图13是示出根据本发明的实施例的基于运动约束构建运动矢量候选列表的方法的流程图。

图14是示出根据本发明的实施例的对图像进行解码的方法的流程图。

图15是示出根据本发明的实施例的对图像进行编码的方法的流程图。

图16是示出根据本发明的实施例的灵活尺寸的并行块的示图。

图17是示出包括在图16中的并行块1内的不完整的ctu的示图。

图18是示出根据本发明实施例的对不完整的ctu的填充处理的示图。

图19是示出根据本发明的实施例的通过使用在空间上与不完整的ctu相邻的并行块的样点来生成完整的ctu的处理的示图。

具体实施方式

发明方式

可以对本发明进行各种修改,并且存在本发明的各种实施例,其中,现在将参照附图来提供本发明的各种实施例的示例并对其进行详细描述。然而,本发明不限于此,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围内的所有修改、等同物或替代物。在各个方面,相似的附图标号指代相同或相似的功能。在附图中,为了清楚起见,可夸大元件的形状和尺寸。在本发明的以下详细描述中,参照了附图,其中,附图以图示的方式示出了可实践本发明的特定实施例。足够详细地描述了这些实施例以使本领域技术人员能够实现本公开。应当理解的是,本公开的各种实施例尽管不同,但不一定是互斥的。例如,在不脱离本公开的精神和范围的情况下,结合一个实施例在此描述的特定特征、结构和特性可在其他实施例中实现。此外,应当理解,在不脱离本公开的精神和范围的情况下,可修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求保护的等同物的全部范围)来限定。

说明书中使用的术语“第一”、“第二”等可用于描述各种组件,但是组件不应解释为限于这些术语。这些术语仅用于区分一个组件与其他组件。例如,在不脱离本发明的范围的情况下,“第一”组件可被命名为“第二”组件,并且“第二”组件也可被类似地命名为“第一”组件。术语“和/或”包括多个项的组合或多个项中的任意一项。

将理解的是,在本说明书中,当元件被简单称为“连接到”或“耦接到”另一元件而不是“直接连接到”或“直接耦接到”另一元件时,元件可“直接连接到”另一元件或“直接耦接到”另一元件,或者在元件与另一元件之间介入有其他元件的情况下连接到或耦接到另一元件。相反,应当理解,当元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。

此外,本发明的实施例中所示的构成部分被独立地示出,以表示彼此不同的特征功能。因此,这并不意味着每个构成部分都以单独的硬件或软件的构成单元构成。换言之,为了方便,每个构成部分包括列举的构成部分中的每个。因此,每个构成部分的至少两个构成部分可被组合以形成一个构成部分,或者一个构成部分可被划分为多个构成部分以执行每种功能。如果没有脱离本发明的实质,则将每个构成部分被组合的实施例和一个构成部分被划分的实施例也包括在本发明的范围内。

本说明书中使用的术语仅用于描述特定实施例,而不旨在限制本发明。除非在上下文中具有明显不同的含义,否则以单数形式使用的表述包括复数形式的表述。在本说明书中,应当理解,诸如“包括”、“具有”等的术语旨在指示存在说明书中公开的特征、数字、步骤、动作、元件、部件或其组合,而并不旨在排除可存在或可添加一个或更多个其他特征、数字、步骤、动作、元件、部件或其组合的可能性。换言之,当特定元素被称为“被包括”时,并不排除除了对应元素之外的元素,而是可在本发明的实施例或本发明的范围中包括另外的元素。

此外,某些构成部分可能不是执行本发明的基本功能的必不可少的构成部分,而是仅提高其性能的选择性构成部分。可通过仅包括用于实现本发明的本质的必不可少的构成部分而不包括用于提高性能的构成部分来实现本发明。仅包括必不可少的构成部分而不包括仅用于提高性能的选择性构成部分的结构也包括在本发明的范围内。

在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,将不详细描述公知的功能或构建,因为它们可能不必要地模糊对本发明的理解。附图中相同的构成元件由相同的附图标号表示,并且对相同元件的重复描述将被省略。

在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者”

在下文中,术语“运动画面”和“视频”可用作相同的含义并且可彼此替换。

在下文中,目标图像可以是作为编码目标的编码目标图像和/或作为解码目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像、以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。

在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且可彼此替换。

在下文中,目标块可以是作为编码目标的编码目标块和/或作为解码目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且可彼此替换。

在下文中,术语“块”和“单元”可被用作相同的含义并且可彼此替换。或者“块”可表示特定单元。

在下文中,术语“区域”和“片段”可彼此替换。

在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。

在实施例中,特定信息、数据、标志、索引、元素和属性等中的每个可具有值。等于“0”的信息、数据、标志、索引、元素和属性的值可表示逻辑假或第一预定义值。换言之,值“0”、假、逻辑假和第一预定义值可彼此替换。等于“1”的信息、数据、标志、索引、元素和属性的值可表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可彼此替换。

当变量i或j用于表示列、行或索引时,i的值可以是等于或大于0的整数、或者是等于或大于1的整数。也就是说,列、行、索引等可从0开始计数,或者可从1开始计数。

术语描述

编码器:表示执行编码的设备。也就是说,表示编码设备。

解码器:表示执行解码的设备。也就是说,表示解码设备。

块:是m×n的样点阵列。这里,m和n可表示正整数,并且块可表示二维形式的样点阵列。块可指单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。

样点:是构成块的基本单元。根据比特深度(bd),样点可被表示为从0到2bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。

单元:可指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而生成的区域。此外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。也就是说,图像可被分区为多个单元。当对图像进行编码和解码时,可以执行针对每个单元的预定处理。单个单元可被分区为尺寸小于该单元的尺寸的子单元。依据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块、以及每个颜色分量块的语法元素。单元可具有各种尺寸和形状,具体地,单元的形状可以是二维几何图形,诸如正方形、矩形、梯形、三角形、五边形等。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。

编码树单元:被配置有亮度分量y的单个编码树块以及与色度分量cb和cr相关的两个编码树块。此外,编码树单元可表示包括块和每个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法、三叉树分区方法等中的至少一个对每个编码树单元进行分区,以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可被用作用于指定在对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四元树。

当编码块的尺寸落入第一预定范围内时,仅允许对该编码块进行四叉树分区。这里,第一预定范围可由仅能够通过四叉树分区被分区的编码块的最大尺寸和最小尺寸中的至少一个来定义。指示允许四叉树分区的编码块的最大/最小尺寸的信息可作为包括在比特流中的数据被用信号发送,并且该信息可以以序列、画面参数、并行块组和条带(段)中的至少一个为单位被用信号发送。可选地,编码块的最大/最小尺寸可以是在编解码器中预设的固定尺寸。例如,当编码块的尺寸在从64×64到256×256的范围内时,可仅通过四叉树分区来对编码块进行分区。可选地,当编码块的尺寸大于变换块(tb)的最大尺寸时,可仅通过四叉树分区来对编码块进行分区。在这种情况下,将被分区成象限的块可以是编码块或变换块。在这种情况下,指示编码块的四叉树分区的信息(例如,split_flag)可以是指示编码单元是否通过四叉树分区被分区的标志。当编码块的尺寸落入第二预定范围内时,可仅通过二叉树分区或三叉树分区来对编码块进行分区。在这种情况下,四叉树分区的上述描述也可被应用于二叉树分区或三叉树分区。

编码树块:可用作用于指定y编码树块、cb编码树块和cr编码树块中的任意一个的术语。

邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块、或者位于距当前块预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块、或者与垂直相邻于当前块的邻近块水平相邻的块。

重建的邻近块:可表示与当前块相邻并且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是在当前画面内并且已经通过编码或解码或者编码和解码两者而被重建的块。重建的时间邻近块是在参考图像内的与当前画面的当前块对应的位置处的块或所述块的邻近块。

单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元对应。此外,最高节点可具有最小深度值。在这种情况下,最高节点的深度可以为等级0。深度为等级1的节点可表示通过对第一单元进行一次分区而生成的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而生成的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而生成的单元。叶节点可以是最低节点并且是不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表示为树结构时,单元存在于的等级可表示单元深度。

比特流:可表示包括编码图像信息的比特流。

参数集:与比特流内的配置之中的头信息对应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带(slice)头和并行块(tile)头信息。

解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。

符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。

预测模式:可以是指示利用帧内预测而被编码/解码的模式或利用帧间预测而被编码/解码的模式的信息。

预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过划分预测单元而生成的分区也可以是预测单元。

预测单元分区:可表示通过对预测单元进行分区而获得的形状。

参考画面列表:可以指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在若干类型的可用参考画面列表,包括lc(列表组合)、l0(列表0)、l1(列表1)、l2(列表2)、l3(列表3)。

帧间预测指示符:可指当前块的帧间预测(单向预测、双向预测等)的方向。可选地,帧间预测指示符可指用于生成当前块的预测块的参考画面的数目。可选地,帧间预测指示符也可指在对当前块进行帧间预测或运动补偿时使用的预测块的数量。

预测列表利用标志:指示是否使用特定参考画面列表中的至少一个参考画面生成预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志具有第一值零(0)时,它表示不使用参考画面列表中的参考画面生成预测块。另一方面,当预测列表利用标志具有第二值一(1)时,它表示使用参考画面列表生成预测块。

参考画面索引:可指指示参考画面列表中的特定参考画面的索引。

参考画面:可表示为了特定块的帧间预测或运动补偿的目的而由特定块参考的参考画面。可选地,参考画面可以是包括当前块为了帧间预测或运动补偿而参考的参考块的画面。在下文中,术语“参考画面”和“参考图像”具有相同的含义并且可互换。

运动矢量:可以是用于帧间预测或运动补偿的二维矢量。运动矢量可表示编码/解码目标块与参考块之间的偏移。例如,(mvx,mvy)可表示运动矢量。这里,mvx可表示水平分量,并且mvy可表示垂直分量。

搜索范围:可以是在帧间预测期间被搜索以检索运动矢量的二维区域。例如,搜索范围的尺寸可以是m×n。这里,m和n都是整数。

运动矢量候选:可指在预测运动矢量时的预测候选块或预测候选块的运动矢量。另外,运动矢量候选可被包括在运动矢量候选列表中。

运动矢量候选列表:可表示由一个或更多个运动矢量候选组成的列表。

运动矢量候选索引:可表示指示运动矢量候选列表中的运动矢量候选的指示符。可选地,其可以是运动矢量预测因子的索引。

运动信息:可表示包括以下项中的至少一项的信息,包括运动矢量、参考画面索引、帧间预测指示符、预测列表利用标志、参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引。

合并候选列表:可表示由一个或更多个合并候选组成的列表。

合并候选:可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选或零合并候选。合并候选可包括诸如帧间预测指示符、每个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符的运动信息。

合并索引:可表示指示合并候选列表中的合并候选的指示符。可选地,合并索引可指示在空间上/时间上与当前块相邻的重建块中的块,其中,已从该块推导出合并候选。可选地,合并索引可指示合并候选的至少一条运动信息。

变换单元:可表示在对残差信号执行编码/解码(诸如变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个更低等级的变换单元。这里,变换/逆变换可包括第一次变换/第一次逆变换和第二次变换/第二次逆变换中的至少一个。

缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来生成变换系数。缩放也可被称为反量化。

量化参数:可表示当在量化期间使用变换系数来生成量化的等级时使用的值。量化参数还可表示当在反量化期间通过对量化的等级进行缩放来生成变换系数时使用的值。量化参数可以是被映射在量化步长上的值。

增量量化参数:可表示预测的量化参数与编码/解码目标单元的量化参数之间的差值。

扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改变为一维矩阵可被称为扫描,将系数的一维矩阵改变为二维矩阵可被称为扫描或逆扫描。

变换系数:可表示在编码器中执行变换之后生成的系数值。变换系数可表示在解码器中执行熵解码和反量化中的至少一个之后生成的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。

量化的等级:可表示在编码器中通过对变换系数或残差信号进行量化而生成的值。可选地,量化的等级可表示作为在解码器中将经历反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。

非零变换系数:可表示具有除零之外的值的变换系数、或者具有除零之外的值的变换系数等级或量化的等级。

量化矩阵:可表示在为了提高主观图像质量或客观图像质量而执行的量化处理或反量化处理中使用的矩阵。量化矩阵也可被称为缩放列表。

量化矩阵系数:可表示量化矩阵内的每个元素。量化矩阵系数也可被称为矩阵系数。

默认矩阵:可表示在编码器或解码器中预先定义的预定量化矩阵。

非默认矩阵:可表示在编码器或解码器中未被预先定义而是由用户用信号发送的量化矩阵。

统计值:针对具有可计算的特定值的变量、编码参数、常量值等之中的至少一个的统计值可以是对应特定值的平均值、加权平均值、加权和值、最小值、最大值、最频繁出现的值、中值、插值之中的一个或更多个。

图1是示出根据应用了本发明的实施例的编码设备的配置的框图。

编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可顺序地对至少一个图像进行编码。

参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。

编码设备100可通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来对输入图像执行编码。此外,编码设备100可通过对输入图像进行编码来生成包括编码信息的比特流,并输出生成的比特流。生成的比特流可被存储在计算机可读记录介质中,或者可通过有线/无线传输介质被流传输。当帧内模式被用作预测模式时,切换器115可切换到帧内。可选地,当帧间模式被用作预测模式时,切换器115可切换到帧间模式。这里,帧内模式可表示帧内预测模式,帧间模式可表示帧间预测模式。编码设备100可生成针对输入图像的输入块的预测块。此外,编码设备100可在生成预测块之后使用输入块和预测块的残差对残差块进行编码。输入图像可被称为作为当前编码目标的当前图像。输入块可被称为作为当前编码目标的当前块,或者被称为编码目标块。

当预测模式是帧内模式时,帧内预测单元120可使用已被编码/解码并与当前块相邻的块的样点作为参考样点。帧内预测单元120可通过使用参考样点来对当前块执行空间预测,或者通过执行空间预测来生成输入块的预测样点。这里,帧内预测可表示帧内部的预测。

当预测模式是帧间模式时,运动预测单元111可在执行运动预测时从参考图像检索与输入块最匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可被用作所述区域。参考图像可被存储在参考画面缓冲器190中。这里,当执行对参考图像的编码/解码时,参考图像可被存储在参考画面缓冲器190中。

运动补偿单元112可通过使用运动矢量对当前块执行运动补偿来生成预测块。这里,帧间预测可表示帧之间的预测或运动补偿。

当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考画面的部分区域来生成预测块。为了对编码单元执行画面间预测或运动补偿,可确定跳过模式、合并模式、高级运动矢量预测(amvp)模式和当前画面参考模式之中的哪个模式被用于对包括在对应编码单元中的预测单元的运动预测和运动补偿。然后,依据所确定的模式,可不同地执行画面间预测或运动补偿。

减法器125可通过使用输入块和预测块的残差来生成残差块。残差块可被称为残差信号。残差信号可表示原始信号和预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化或者变换和量化而生成的信号。残差块可以是块单元的残差信号。

变换单元130可通过对残差块执行变换来生成变换系数,并输出生成的变换系数。这里,变换系数可以是通过对残差块执行变换而生成的系数值。当变换跳过模式被应用时,变换单元130可跳过对残差块的变换。

可通过对变换系数或残差信号应用量化来生成量化的等级。在下文中,量化的等级在实施例中也可被称为变换系数。

量化单元140可通过根据参数对变换系数或残差信号进行量化来生成量化的等级,并输出生成的量化的等级。这里,量化单元140可通过使用量化矩阵对变换系数进行量化。

熵编码单元150可通过根据概率分布对由量化单元140计算出的值或者对在执行编码时计算出的编码参数值执行熵编码来生成比特流,并输出生成的比特流。熵编码单元150可对图像的样点信息和用于对图像进行解码的信息执行熵编码。例如,用于对图像进行解码的信息可包括语法元素。

当熵编码被应用时,符号被表示使得较少数量的比特被分配给具有高生成可能性的符号,并且较多数量的比特被分配给具有低生成可能性的符号,因此,可减小用于将被编码的符号的比特流的尺寸。熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)等的用于熵编码的编码方法。例如,熵编码单元150可通过使用变长编码/变长码(vlc)表来执行熵编码。此外,熵编码单元150可推导目标符号的二值化方法和目标符号/二进制位的概率模型,并且通过使用推导的二值化方法和上下文模型来执行算术编码。

为了对变换系数等级(量化的等级)进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式的系数改变为一维矢量形式。

编码参数可包括在编码器中被编码并且被用信号发送到解码器的诸如语法元素的信息(标志、索引等)以及在执行编码或解码时推导出的信息。编码参数可表示在对图像进行编码或解码时所需要的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块尺寸、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、当前编码单元是否通过三叉树分区被分区、三叉树分区的方向(水平方向或垂直方向)、三叉树分区的类型(对称类型或非对称类型)、当前编码单元是否通过多类型树分区被分区、多类型树分区的方向(水平方向或垂直方向)、多类型树分区的类型(对称类型或非对称类型)、多类型树分区的树(二叉树或三叉树)结构、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量尺寸、运动矢量的表示精度、变换类型、变换尺寸、首次(第一次)变换是否被使用的信息、二次变换是否被使用的信息、首次变换索引、二次变换索引、残差信号是否存在的信息、编码块样式、编码块标志(cbf)、量化参数、量化参数残差、量化矩阵、是否应用帧内环路滤波器、帧内环路滤波器系数、帧内环路滤波器抽头、帧内环路滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环路滤波器、自适应环路滤波器系数、自适应环路滤波器抽头、自适应环路滤波器形状/形式、二值化/逆二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后有效系数标志、针对系数组的单元的编码标志、最后有效系数的位置、关于系数的值是否大于1的标志、关于系数的值是否大于2的标志、关于系数的值是否大于3的标志、关于其余系数值的信息、符号信息、重建的亮度样点、重建的色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的尺寸、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索的次数、关于ctu尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。

这里,用信号发送标志或索引可表示由编码器对对应标志或索引进行熵编码并将其包括在比特流中,并且可表示由解码器从比特流熵解码得到对应标志或索引。

当编码设备100通过帧间预测执行编码时,编码的当前图像可被用作用于随后被处理的另一图像的参考图像。因此,编码设备100可对编码的当前图像进行重建或解码,或者将重建或解码的图像作为参考图像存储在参考画面缓冲器190中。

量化的等级可在反量化单元160中被反量化,或者可在逆变换单元170中被逆变换。可由加法器175将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加。通过将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加,可生成重建块。这里,经过反量化或逆变换的系数或经过反量化和逆变换两者的系数可表示执行了反量化和逆变换中的至少一个的系数,并且可表示重建的残差块。

重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、样点自适应偏移(sao)和自适应环路滤波器(alf)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可被称为环内滤波器。

去块滤波器可去除在块之间的边界中生成的块失真。为了确定是否应用去块滤波器,可基于块中所包括的若干行或列中包括的样点来确定是否将去块滤波器应用于当前块。当将去块滤波器应用于块时,可根据所需的去块滤波强度来应用另一滤波器。

为了补偿编码误差,可通过使用样点自适应偏移将合适的偏移值与样点值相加。样点自适应偏移可以以样点为单位对经过去块的图像与原始图像的偏移进行校正。可使用考虑关于每个样点的边缘信息来应用偏移的方法,或者可使用以下方法:将图像的样点分区为预定数量的区域,确定偏移被应用的区域,并对确定的区域应用偏移。

自适应环路滤波器可基于经过滤波的重建图像和原始图像的比较结果来执行滤波。可将包括在图像中的样点分区为预定组,可确定将被应用于每个组的滤波器,并且可对每个组执行差异化滤波。是否应用alf的信息可通过编码单元(cu)被用信号发送,并且将被应用于每个块的alf的形式和系数可变化。

已经通过滤波器单元180的重建块或重建图像可被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考图像的一部分。也就是说,参考图像是由滤波器单元180处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿中被使用。

图2是示出根据实施例并且应用了本发明的解码设备的配置的框图。

解码设备200可以是解码器、视频解码设备或图像解码设备。

参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器255、滤波器单元260和参考画面缓冲器270。

解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流,或者可接收通过有线/无线传输介质被流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。此外,解码设备200可生成通过解码而生成的重建图像或解码图像,并输出重建图像或解码图像。

当在解码时使用的预测模式是帧内模式时,切换器可被切换到帧内。可选地,当在解码时使用的预测模式是帧间模式时,切换器可被切换到帧间模式。

解码设备200可通过对输入比特流进行解码来获得重建残差块,并生成预测块。当重建残差块和预测块被获得时,解码设备200可通过将重建残差块与预测块相加来生成成为解码目标的重建块。解码目标块可被称为当前块。

熵解码单元210可通过根据概率分布对比特流进行熵解码来生成符号。生成的符号可包括量化的等级形式的符号。这里,熵解码方法可以是上述熵编码方法的逆过程。

为了对变换系数等级(量化的等级)进行解码,熵解码单元210可通过使用变换系数扫描方法将单向矢量形式的系数改变为二维块形式。

可在反量化单元220中对量化的等级进行反量化,或者可在逆变换单元230中对量化的等级进行逆变换。量化的等级可以是进行反量化或逆变换或者进行反量化和逆变换两者的结果,并且可被生成为重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的等级。

当使用帧内模式时,帧内预测单元240可通过对当前块执行空间预测来生成预测块,其中,空间预测使用与解码目标块相邻并且已经被解码的块的样点值。

当使用帧间模式时,运动补偿单元250可通过对当前块执行运动补偿来生成预测块,其中,运动补偿使用运动矢量以及存储在参考画面缓冲器270中的参考图像。

加法器255可通过将重建的残差块与预测块相加来生成重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环路滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考图像的一部分。也就是说,参考图像是由滤波器单元260处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿中被使用。

图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。图3示意性地示出将单个单元分区为多个更低等级的单元的示例。

为了有效地对图像进行分区,当进行编码和解码时,可使用编码单元(cu)。编码单元可被用作当对图像进行编码/解码时的基本单元。此外,编码单元可被用作用于在对图像进行编码/解码时区分帧内预测模式与帧间预测模式的单元。编码单元可以是用于预测、变换、量化、逆变换、反量化、或对变换系数的编码/解码处理的基本单元。

参照图3,图像300按照最大编码单元(lcu)被顺序地分区,并且lcu单元被确定为分区结构。这里,lcu可以以与编码树单元(ctu)相同的含义被使用。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区的次数或程度或者单元被分区的次数和程度两者。可基于树结构将单个单元分区为与深度信息分层地相关联的多个更低等级的单元。换言之,单元和通过对该单元进行分区而生成的更低等级的单元可分别与节点和该节点的子节点对应。分区出的更低等级的单元中的每一个可具有深度信息。深度信息可以是表示cu的尺寸的信息,并且可被存储在每个cu中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。

分区结构可表示lcu310内的编码单元(cu)的分布。可根据是否将单个cu分区为多个(等于或大于2的正整数,包括2、4、8、16等)cu来确定这样的分布。通过分区生成的cu的水平尺寸和垂直尺寸可分别是分区之前的cu的水平尺寸和垂直尺寸的一半,或者可分别具有小于根据分区的次数而进行分区之前的水平尺寸和垂直尺寸的尺寸。cu可以被递归地分区为多个cu。通过递归分区,与分区之前的cu的高度和宽度之中的至少一个相比,分区之后的cu的高度和宽度之中的至少一个可减小。可递归地执行cu的分区,直到预定义的深度或预定义的尺寸为止。例如,lcu的深度可以是0,最小编码单元(scu)的深度可以是预定义的最大深度。这里,如上所述,lcu可以是具有最大编码单元尺寸的编码单元,并且scu可以是具有最小编码单元尺寸的编码单元。分区从lcu310开始,当cu的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小时,cu深度增加1。例如,对于每个深度,未被分区的cu的尺寸可以为2n×2n。此外,在被分区的cu的情况下,可将尺寸为2n×2n的cu分区为尺寸为n×n的四个cu。随着深度增加1,n的尺寸可减半。

此外,可通过使用cu的分区信息来表示cu是否被分区的信息。分区信息可以是1比特信息。除scu之外的所有cu可包括分区信息。例如,当分区信息的值为1时,可不对cu进行分区,当分区信息的值为2时,可对cu进行分区。

参照图3,具有深度0的lcu可以是64×64的块。0可以是最小深度。具有深度3的scu可以是8×8的块。3可以是最大深度。32×32的块和16×16的块的cu可分别被表示为深度1和深度2。

例如,当单个编码单元被分区为四个编码单元时,分区出的四个编码单元的水平尺寸和垂直尺寸可以是cu在被分区之前的水平尺寸和垂直尺寸的一半尺寸。在一个实施例中,当尺寸为32×32的编码单元被分区为四个编码单元时,分区出的四个编码单元中的每一个可具有16×16的尺寸。当单个编码单元被分区为四个编码单元时,可称编码单元可被分区为四叉树形式。

例如,当一个编码单元被分区为两个子编码单元时,两个子编码单元中的每个子编码单元的水平尺寸或垂直尺寸(宽度或高度)可以是原始编码单元的水平或垂直尺寸的一半。例如,当具有32×32的尺寸的编码单元被垂直分区为两个子编码单元时,两个子编码单元中的每个可具有16×32的尺寸。例如,当具有8×32的尺寸的编码单元被水平分区为两个子编码单元时,两个子编码单元中的每个可具有8×16的尺寸。当一个编码单元被分区为两个子编码单元时,可以说编码单元被二分区或者通过二叉树分区结构被分区。

例如,当一个编码单元被分区为三个子编码单元时,可以以1:2:1的比例对编码单元的水平尺寸或垂直尺寸进行分区,从而产生水平尺寸或垂直尺寸的比例为1:2:1的三个子编码单元。例如,当尺寸为16×32的编码单元被水平分区为三个子编码单元时,该三个子编码单元以从最上方子编码单元到最下方子编码单元的顺序可分别具有16×8、16×16和16×8的尺寸。例如,当尺寸为32×32的编码单元被垂直划分为三个子编码单元时,该三个子编码单元以从左侧子编码单元到右侧子编码单元的顺序可分别具有8×32、16×32和8×32的尺寸。当一个编码单元被分区为三个子编码单元时,可称编码单元被三分区或者通过三叉树分区结构被分区。

在图3中,编码树单元(ctu)320是四叉树分区结构、二叉树分区结构和三叉树分区结构全都被应用的ctu的示例。

如上所述,为了对ctu进行分区,可应用四叉树分区结构、二叉树分区结构和三叉树分区结构中的至少一个。可根据预定的优先级顺序将各种树分区结构顺序地应用于ctu。例如,可将四叉树分区结构优先应用于ctu。不能再使用四叉树分区结构进行分区的编码单元可与四叉树的叶节点对应。与四叉树的叶节点对应的编码单元可用作二叉树和/或三叉树分区结构的根节点。也就是说,与四叉树的叶节点对应的编码单元可根据二叉树分区结构或三叉树分区结构被进一步分区,或者可不被进一步分区。因此,通过防止从与四叉树的叶节点对应的编码单元的二叉树分区或三叉树分区得到的编码块经历进一步的四叉树分区,块分区操作和/或用信号发送分区信息的操作可被有效执行。

可使用四分区信息用信号发送与四叉树的节点对应的编码单元被分区的事实。具有第一值(例如,“1”)的四分区信息可指示当前编码单元按照四叉树分区结构被分区。具有第二值(例如,“0”)的四分区信息可指示当前编码单元未按照四叉树分区结构被分区。四分区信息可以是具有预定长度(例如,一个比特)的标志。

在二叉树分区与三叉树分区之间可能没有优先级。也就是说,与四叉树的叶节点对应的编码单元可进一步经历二叉树分区和三叉树分区中的任意分区。此外,通过二叉树分区或三叉树分区生成的编码单元可经历进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。

在二叉树分区和三叉树分区之间不存在优先级的树结构被称为多类型树结构。与四叉树的叶节点对应的编码单元可用作多类型树的根节点。可使用多类型树分区指示信息、分区方向信息和分区树信息中的至少一个来用信号发送是否对与多类型树的节点对应的编码单元进行分区。为了对与多类型树的节点对应的编码单元进行分区,可顺序地用信号发送多类型树分区指示信息、分区方向信息和分区树信息。

具有第一值(例如,“1”)的多类型树分区指示信息可指示当前编码单元将经历多类型树分区。具有第二值(例如,“0”)的多类型树分区指示信息可指示当前编码单元将不经历多类型树分区。

当与多类型树的节点对应的编码单元按照多类型树分区结构被进一步分区时,所述编码单元可包括分区方向信息。分区方向信息可指示当前编码单元将在哪个方向上针对多类型树分区被分区。具有第一值(例如,“1”)的分区方向信息可指示当前编码单元将被垂直分区。具有第二值(例如,“0”)的分区方向信息可指示当前编码单元将被水平分区。

当与多类型树的节点对应的编码单元按照多类型树分区结构被进一步分区时,当前编码单元可包括分区树信息。分区树信息可指示将被用于对多类型树的节点进行分区的树分区结构。具有第一值(例如,“1”)的分区树信息可指示当前编码单元将按照二叉树分区结构被分区。具有第二值(例如,“0”)的分区树信息可指示当前编码单元将按照三叉树分区结构被分区。

分区指示信息、分区树信息和分区方向信息均可以是具有预定长度(例如,一个比特)的标志。

四叉树分区指示信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个可被熵编码/熵解码。为了对那些类型的信息进行熵编码/熵解码,可使用关于与当前编码单元相邻的邻近编码单元的信息。例如,当前编码单元的左侧邻近编码单元和/或上方邻近编码单元的分区类型(被分区或不被分区、分区树和/或分区方向)与当前编码单元的分区类型相似的可能性很高。因此,可从关于邻近编码单元的信息推导用于对关于当前编码单元的信息进行熵编码/熵解码的上下文信息。关于邻近编码单元的信息可包括四分区信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个。

作为另一示例,在二叉树分区和三叉树分区中,可优先执行二叉树分区。也就是说,当前编码单元可首先经历二叉树分区,并且随后可将与二叉树的叶节点对应的编码单元设置为用于三叉树分区的根节点。在这种情况下,对于与三叉树的节点对应的编码单元,可既不执行四叉树分区也不执行二叉树分区。

不能按照四叉树分区结构、二叉树分区结构和/或三叉树分区结构被分区的编码单元成为用于编码、预测和/或变换的基本单元。也就是说,所述编码单元不能被进一步分区以用于预测和/或变换。因此,在比特流中可能不存在用于将编码单元分区为预测单元和/或变换单元的分区结构信息和分区信息。

然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,可递归地对编码单元进行分区,直到将编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。例如,当编码单元的尺寸为64×64时并且当最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的四个32×32的块。例如,当编码单元的尺寸为32×64并且最大变换块的尺寸为32×32时,可将编码单元分区为用于变换的两个32×32的块。在这种情况下,不单独用信号发送编码单元的用于变换的分区,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定编码单元的用于变换的分区。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,可将编码单元垂直地二等分。例如,当编码单元的垂直尺寸(长度)大于最大变换块的垂直尺寸(长度)时,可将编码单元水平地二等分。

可在编码单元的更高等级用信号发送或确定编码单元的最大和/或最小尺寸的信息以及变换块的最大和/或最小尺寸的信息。所述更高等级可以是例如序列级、画面级、条带级等。例如,编码单元的最小尺寸可被确定为4×4。例如,变换块的最大尺寸可被确定为64×64。例如,变换块的最小尺寸可被确定为4×4。

可在编码单元的更高等级用信号发送或确定与四叉树的叶节点对应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或多类型树的从根节点到叶节点的最大深度(多类型树的最大树深度)的信息。例如,所述更高等级可以是序列级、画面级、条带级等。可针对画面内条带和画面间条带中的每一个用信号发送或确定四叉树的最小尺寸的信息和/或多类型树的最大深度的信息。

可在编码单元的更高等级用信号发送或确定ctu的尺寸与变换块的最大尺寸之间的差信息。例如,所述更高等级可以是序列级、画面级、条带级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点对应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可依据条带的类型而变化。例如,针对画面内条带,三叉树的最大尺寸可以是32×32。例如,针对画面间条带,三叉树的最大尺寸可以是128×128。例如,可将与二叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点对应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)设置为编码块的最小尺寸。

作为另一示例,可在条带级用信号发送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。可选地,可在条带级用信号发送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。

依据上述各种块的尺寸信息和深度信息,四分区信息、多类型树分区指示信息、分区树信息和/或分区方向信息可被包括在比特流中或可不被包括在比特流中。

例如,当编码单元的尺寸不大于四叉树的最小尺寸时,编码单元不包含四分区信息。因此,可从第二值推导四分区信息。

例如,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,该编码单元可不被二分区或三分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。

可选地,当与多类型树的节点对应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同,和/或是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,该编码单元可不被进一步二分区或三分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。这是因为,当按照二叉树分区结构和/或三叉树分区结构对编码单元进行分区时,生成了小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元。

可选地,当与多类型树的节点对应的编码单元的深度等于多类型树的最大深度时,可不对该编码单元进一步二分区和/或三分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。

可选地,只有当垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个对于与多类型树的节点对应的编码单元是可行的时,才可用信号发送多类型树分区指示信息。否则,可能无法对编码单元进行二分区和/或三分区。因此,可不用信号发送多类型树分区指示信息,而是可从第二值推导多类型树分区指示信息。

可选地,只有当垂直方向二叉树分区和水平方向二叉树分区两者或者垂直方向三叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码单元是可行的时,才可用信号发送分区方向信息。否则,可不用信号发送分区方向信息,而是可从指示可能的分区方向的值推导分区方向信息。

可选地,只有当垂直方向二叉树分区和垂直方向三叉树分区两者或者水平方向二叉树分区和水平方向三叉树分区两者对于与多类型树的节点对应的编码树是可行的时,才可用信号发送分区树信息。否则,可不用信号发送分区树信息,而是可从指示可能的分区树结构的值推导分区树信息。

图4是示出画面间预测处理的实施例的示图。

在图4中,矩形可表示画面。在图4中,箭头表示预测方向。根据画面的编码类型,可将画面分类为帧内画面(i画面)、预测画面(p画面)和双预测画面(b画面)。

可在不需要画面间预测的情况下通过帧内预测对i画面进行编码。可通过使用在相对于当前块的一个方向(即,前向方向或后向方向)上存在的参考画面,通过画面间预测来对p画面进行编码。可通过使用在相对于当前块的两个方向(即,前向方向和后向方向)上存在的参考画面,通过画面间预测来对b画面进行编码。当使用画面间预测时,编码器可执行画面间预测或运动补偿,并且解码器可执行对应运动补偿。

在下文中,将详细描述画面间预测的实施例。

可使用参考画面和运动信息来执行画面间预测或运动补偿。

可通过编码设备100和解码设备200中的每一个在画面间预测期间推导当前块的运动信息。可通过使用重建的邻近块的运动信息、同位置块(也称为col块或同位块)的运动信息和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位置画面(也称为col画面或同位画面)内的在空间上与当前块位于相同位置的块。同位画面可以是包括在参考画面列表中的一个或更多个参考画面中的一个画面。

推导当前块的运动信息的方法可依据当前块的预测模式变化。例如,作为用于画面间预测的预测模式,可存在amvp模式、合并模式、跳过模式、当前画面参考模式等。合并模式可被称为运动合并模式。

例如,当amvp被用作预测模式时,可将重建的邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选生成运动矢量候选列表。可通过使用生成的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导的运动矢量候选来确定当前块的运动信息。同位块的运动矢量或与同位块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建的邻近块的运动矢量可被称为空间运动矢量候选。

编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(mvd),并且可对运动矢量差(mvd)执行熵编码。此外,编码设备100可对运动矢量候选索引执行熵编码并生成比特流。运动矢量候选索引可指示包括在运动矢量候选列表中的运动矢量候选之中的最佳运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并且可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。此外,解码设备200可将经过熵解码的mvd与通过熵解码而提取的运动矢量候选相加,从而推导解码目标块的运动矢量。

比特流可包括指示参考画面的参考画面索引。参考画面索引可通过编码设备100被熵编码,并且随后作为比特流被用信号发送到解码设备200。解码设备200可基于推导的运动矢量和参考画面索引信息来生成解码目标块的预测块。

推导当前块的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建的邻近块的运动信息和/或同位块的运动信息来生成合并候选列表。运动信息可包括运动矢量、参考画面索引和画面间预测指示符中的至少一个。预测指示符可指示单向预测(l0预测或l1预测)或双向预测(l0预测和l1预测)。

合并候选列表可以是存储的运动信息的列表。包括在合并候选列表中的运动信息可以是零合并候选和新运动信息中的至少一个,其中,所述新运动信息是与当前块相邻的一个邻近块的运动信息(空间合并候选)、当前块的包括在参考画面内的同位块的运动信息(时间合并候选)和存在于合并候选列表中的运动信息的组合。

编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来生成比特流,并且可将比特流用信号发送到解码设备200。合并标志可以是指示是否针对每个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括位于当前块的左侧的左侧邻近块、被布置在当前块上方的上方邻近块和在时间上与当前块相邻的时间邻近块。

跳过模式可以是将邻近块的运动信息照原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码,以生成比特流,并且可将比特流用信号发送到解码设备200。编码设备100可不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号发送到解码设备200。

当前画面参考模式可表示当前块所属的当前画面内的先前重建的区域被用于预测的预测模式。这里,矢量可被用于指定先前重建的区域。可通过使用当前块的参考画面索引来对指示是否将在当前画面参考模式下对当前块进行编码的信息进行编码。可用信号发送指示当前块是否为在当前画面参考模式下编码的块的标志或索引,并且可基于当前块的参考画面索引来推导所述标志或索引。在当前块在当前画面参考模式下被编码的情况下,可将当前画面添加到针对当前块的参考画面列表,以便使当前画面位于参考画面列表中的固定位置或任意位置。所述固定位置可以是例如由参考画面索引0指示的位置,或者是列表中的最后一个位置。当将当前画面添加到参考画面列表,以便使当前画面位于任意位置时,可用信号发送指示所述任意位置的参考画面索引。

图5是示出包括应用了本发明的编码设备100和解码设备200的图像系统的示例的示图。

参照图5,根据本发明实施例的图像系统可包括预处理设备10、编码设备100、解码设备200和后处理设备20。

根据本发明实施例的图像系统可根据本发明的实施例对虚拟现实图像信息进行处理。

虚拟现实图像是使用户具有如同用户实际位于那里的体验的图像,是通过与用户的视图同步来进行各个方向的表示的图像,也被称为360视频或虚拟现实视频。

图像系统可被配置为包括:预处理设备10,通过对多个视点的图像执行预处理(诸如合并或拼接操作)来获得同步视频帧;编码设备100,通过对同步视频帧进行编码来输出比特流;解码设备200,在接收到比特流之后对同步视频帧进行解码;以及后处理设备20通过对视频帧的后处理将用于每个视点的同步图像输出到每个显示器。

这里,输入图像可包括用于每个视点的单独图像,并且例如可包括当一个或更多个相机在时间上和空间上同步时获得的不同视点处的子图像信息。因此,预处理设备10根据时间对获得的不同视点的子图像信息进行空间合并或拼接处理,从而获得同步的虚拟现实图像信息。

此外,编码设备100通过对同步的虚拟现实图像信息进行扫描和预测编码来生成比特流,并且生成的比特流可被发送到解码设备200。特别地,根据本发明实施例的编码设备100可从同步图像信息中提取空间布局信息,并且可将其用信号发送到解码设备200。

这里,预处理设备10将一个或更多个子图像合并为一个视频帧,使得空间布局信息可包括关于一个视频帧中的每个子图像的属性和排列的基本信息。

此外,空间布局信息还可包括关于子图像和关于子图像之间的关系的附加信息,这将在后面描述。

因此,根据本发明实施例的空间布局信息可被提供给解码设备200。此外,解码设备200可通过参考空间布局信息和用户视点信息来确定虚拟现实图像比特流的解码目标和解码顺序,这导致高效的解码。

此外,解码的视频帧被后处理设备20划分为用于相应显示器的子图像,并且结果被提供给多个同步的显示系统,诸如头戴式装置(hmds)。因此,用户接收具有人工现实的虚拟现实图像。

为此,在获得虚拟现实图像之后,根据本发明实施例的编码设备100可生成空间布局信息,可用信号发送空间布局信息,并且可对图像进行编码和发送。

例如,编码设备100以时间为单位将虚拟现实图像划分为视频帧,并且提取关于视频帧的空间布局信息。空间布局信息可根据每个子图像的属性和布置状态被确定,或者可根据从预处理设备10获得的信息被确定。

此外,编码设备100执行向解码设备200用信号发送空间布局信息的信息处理。例如,编码设备100可执行包括在编码图像数据中、单独数据形成的构建或包括在编码图像的元数据中的至少一个处理。

此外,编码设备100可根据时间流对虚拟现实图像进行编码。此外,编码设备100可使用生成的空间布局信息作为参考信息来确定图像扫描顺序、参考图像等。

因此,依据空间布局信息和附加信令信息,可针对虚拟现实图像或超高分辨率图像来以更有效的方式改进编码设备100。这将在后面描述。

此外,编码设备100可执行一个或更多个变换和传输处理,以组合编码的图像数据和空间布局信息以传输到解码设备200。

图6是示出根据本发明的各种实施例的空间布局信息的格式和用信号发送空间布局信息的方法的示图。

如上所述,输入图像的子图像可以以各种方法布置。因此,空间布局信息可单独地包括用于用信号发送布置信息的表索引。例如,如图6中所示,根据变换方法,虚拟现实图像具有诸如等矩形(erp)、立方体图(cmp)、等面积(eap)、八面体(ohp)、使用直线投影的视口生成、二十面体(isp)、用于cpp-psnr计算的卡斯特抛物线投影、截顶四棱锥(tsp)、分段球体投影(ssp)、调整的立方体图投影(acp)、旋转球体投影(rsp)等的布局。

这里,空间布局信息可包括图6中所示的与布局中的每个对应的表索引。

更具体地,根据空间布局信息,可将与360度角对应的坐标系的三维图像投影成二维图像。

erp是360度图像到一个面上的投影变换,并且其示例可包括与二维图像的采样位置对应的u和v坐标系位置的变换处理,以及与u和v坐标系位置对应的球体上的经度和纬度坐标的变换处理。因此,空间布局信息可包括erp索引和单面信息(例如,面索引被设置为0)。

cmp是360度图像在正六边形形状的六个面上的投影,其中布置投影在与px、py、pz、nx、ny和nz(p表示正,n表示负)对应的各个面索引(f)上的子图像。例如,cmp图像可包括通过将erp图像变换为3×2立体图图像而获得的图像。因此,空间布局信息可包括与子图像对应的cmp索引和面索引信息。后处理设备20根据面索引对关于子图像的二维位置信息进行处理以计算与三维坐标系对应的位置信息,并且以逆变换的方式输出得到的三维360度图像。

与cmp类似,acp是将360度图像投影到正六边形形状的六个面上,并且应用与二维中的投影变换和三维中的逆变换对应的调整到三维弯曲变形的函数。处理功能是不同的,但是使用的空间布局信息可包括用于每个子图像的acp索引和面索引信息。因此,根据面索引,后处理设备20根据调整后的函数对子图像上的二维位置信息进行逆变换处理,计算与三维坐标系对应的位置信息,并输出得到的三维360度图像。

eap是与erp相同的变换,其中投影发生在一个面上,并且可包括直接与二维图像的采样位置对应的球体上的经度和纬度坐标的变换处理。空间布局信息可包括eap索引和单面信息。

ohp是使用六个顶点将360度图像投影到正八边形形状的八个面上。使用面{f0,f1,f2,f3,f4,f5,f6和f7}和顶点(v0,v1,v2,v3,v3,v4和v5)投影的子图像可被布置在变换图像上。因此,空间布局信息可包括ohp索引、与每个子图像对应的面索引信息、以及与面索引信息匹配的一条或更多条顶点索引信息。此外,变换图像的子图像布置可被划分为紧凑情况和非紧凑情况。因此,空间布局信息还可包括紧凑度标识信息。例如,可在非紧凑情况和紧凑情况之间不同地确定面索引、顶点索引匹配信息和逆变换处理。例如,关于面索引4,在非紧凑的情况下,处理与顶点索引v0、v5和v1的匹配,并且在紧凑的情况下,处理与顶点索引v1、v0和v5的另一匹配。

后处理设备20根据面索引和顶点索引对关于子图像的二维位置信息执行逆变换以计算与三维坐标系对应的矢量信息,并且以逆变换的方式输出得到的三维360度图像。

isp是使用20个面和12个顶点的360度图像的投影。根据每个变换的子图像可被布置在变换图像中。类似于ohp,空间布局信息可包括isp索引、面索引、顶点索引和紧凑度标识信息中的至少一个。

ssp是将360度图像的球体划分为三个片段(北极、赤道和南极)的处理。北极和南极分别映射到由索引标识的两个圆。两个极点片段之间的边缘被处理为灰色的无效样点。关于赤道,可使用与erp相同的投影方法。因此,空间布局信息可包括ssp索引,以及与赤道、北极和南极片段对应的面索引。

rsp可包括将360度图像的球体划分为相同尺寸的两个部分并且将通过划分产生的图像布置成二维变换图像中的两行的方法。此外,类似于cmp,rsp可使用具有3×2的纵横比的六个面来实现布置。因此,变换图像可包括上方片段的第一部分图像和下方片段的第二部分图像。空间布局信息可包括rsp索引、截面图像索引和面索引中的至少一个。

tsp可包括以变形方式对帧进行投影的方法,其中,360度图像被投影到与截头正方棱锥的面对应的六个立方体面上。因此,与各个面对应的子图像的尺寸和形状可变化。空间布局信息可包括tsp标识信息和面索引中的至少一个。

使用直线投影的视口生成旨在将360度图像变换成以z轴作为视角投影的二维图像。空间布局信息可包括关于使用直线投影的视口生成的索引信息,并且还可包括指示视点的信息。

另外,空间布局信息还可包括在图像变换中将被应用的插值滤波器信息。例如,插值滤波器信息可根据每个投影变换方法而变化,并且可包括最邻近滤波器、双线性滤波器、双三次滤波器和lanczos滤波器中的至少一个。

另外,可定义用于预处理变换和后处理逆变换处理的性能评估的变换方法及其索引。例如,性能评估可被用于确定预处理设备10的预处理方法,并且该方法的示例包括卡斯特抛物线投影(cpp)方法,其中,两个不同的变换图像被转换到cpp域并且测量峰值信噪比(psnr)。

然而,图6中所示的表是根据输入图像的任意布置,并且可根据编码效率、市场内容分布等改变。

因此,解码设备200解析单独用信号发送的表索引以在解码处理中使用。

特别地,在本发明的实施例中,可在图像的部分解码中有效地使用每条布局信息。也就是说,诸如cubiclayout的子图像布置信息可用于区分独立子图像和从属子图像,并且因此,其可用于确定有效的编码和解码扫描顺序或者针对特定时间点执行部分解码。

下面将描述根据本发明实施例的基于运动约束的编码方法和解码方法。

为了处理超高分辨率的大尺寸图像(诸如虚拟现实图像),可将画面划分为多个并行块,并执行编码。因此,可在通过划分产生的并行块之间执行单独的解码处理。

当在编码/解码中使用时间时,可针对一个或更多个并行块的阵列来指定并行块集。此外,一系列画面可均具有相同配置的并行块集。因此,当前画面的并行块集配置可与当前画面的参考画面的并行块集配置相同。

例如,如图7所示,一系列画面(t0、t1和t2)可均具有相同配置的并行块集。

另外,为了虚拟现实图像的有效编码/解码和传输,可使用基于运动约束的编码方法和解码方法。

具体地,在基于运动约束的编码方法和解码方法中,可使用运动约束并行块集(mcts)。

运动约束并行块集可指帧间预测依赖性限于每个画面的并行块集内的区域的并行块集。也就是说,在帧间预测中,可在运动约束并行块集内的区域中定义运动信息。

例如,如图8中所描述的,根据由预处理设备10生成的视口信息,可确定指定运动约束并行块集的区域。这里,预处理设备10(诸如头戴式装置(hmd))可通过检测用户的眼睛来生成视口(viewport)信息或头跟踪信息。

因此,编码设备100和解码设备200可对根据视口信息确定的运动约束并行块集执行单独的帧间预测。此外,编码设备100和解码设备200用高图像质量对与特定视口信息对应的运动约束并行块集进行编码/解码,但是用低图像质量对其他并行块进行编码/解码,从而增强编码/解码效率。

图9是示出运动约束并行块集的参考区域被限制的示图。

参照图9,运动约束并行块集(mcts)可被约束为不参考存在于参考画面内的同位并行块集(或相同位置并行块集)之外的任何区域。因此,在运动约束并行块集的运动估计中,运动矢量(mv)可由运动约束并行块集的同位并行块集的边界限制。

如上所述,通过限制运动约束并行块集的参考区域,运动约束并行块集可独立于外部的其他并行块集或区域执行运动补偿。

另外,在运动约束并行块集的帧间预测期间,在仅在参考图像的同位并行块集的边界内执行参考的处理中,存在由于参考块尺寸和精度而在参考图像的同位并行块集的边界区域中未被参考的区域的问题。

也就是说,在运动约束并行块集的同位并行块集中,由于对参考区域的约束而没有使用准确的样点值,从而导致图像质量劣化和压缩比的降低。这可导致在运动约束并行块集被更多地使用的环境(诸如虚拟现实图像)中的更大的图像质量劣化和压缩比的劣化。

因此,为了解决上述问题,下面将描述运动约束并行块集的帧间预测方法。

图10是示出根据本发明的实施例的运动约束并行块集的帧间预测方法的流程图。

参照图10,在步骤s1001,可确定是否应用运动约束并行块集。

这里,编码设备100可根据从预处理设备10或外部接收的头跟踪信息或视口信息来确定运动约束并行块集。

此外,编码设备100可生成与确定的运动约束并行块集对应的运动约束并行块集信息以用信号发送到解码设备200。这里,运动约束并行块集信息可以以诸如sei消息的语法格式生成,并且可被包括在并行块等级的更高等级单元(序列、画面或条带)的头中以进行信号发送。

因此,解码设备200可基于从编码设备100用信号发送的运动约束并行块集信息来确定是否应用运动约束并行块集。

在步骤s1001,当确定运动约束并行块集被应用时(s1001-是),在步骤s1002,对参考画面内的与运动约束并行块集对应的同位并行块集进行填充。

将参照图11详细描述对同位并行块集的填充处理。

此外,在步骤s1003,可通过使用填充的同位并行块集基于运动约束对并行块集执行帧间预测。

如上所述,通过使用填充的同位并行块集,参考在现有运动约束并行块集中未被参考的同位并行块集的边界区域,图像质量劣化得到改善并且压缩比得到增加。

另外,在步骤s1001,当确定未应用运动约束并行块集时(s1001-是),在步骤s1004,执行使用一般参考画面的帧间预测。

图11和图12是示出根据本发明的实施例的对与运动约束并行块集对应的同位并行块集的填充处理的示图。

参照图11,在步骤s1101,可识别同位并行块集的第一边界区域。这里,第一边界区域可以是从同位并行块集的最外边界向内由预定数量的像素形成的区域,或者可以是如图9中所描述的由于运动约束而未被参考的区域。

具体地,参照图12,第一边界区域1202可被定义为根据整数精度从最外边界1201向内由预定数量的像素形成的区域,其中,该整数精度取决于在帧间预测中使用的滤波器抽头的大小。

接着,在步骤s1102,可对与识别出的第一边界区域对应的第二边界区域进行填充。这里,第二边界区域1203可被定义为根据整数精度从最外边界1201向外由预定数量的像素形成的区域,其中,该整数精度取决于在帧间预测中使用的滤波器抽头的大小。可选地,第二边界区域可被定义为由编码单元的最小尺寸的水平方向或垂直方向上的一定数量的像素形成的区域,或者由编码器和解码器中允许的整数像素运动矢量的最大x值或最大y值形成的区域。

具体地,可通过将预设样点值(例如,零)插入到第二边界区域中或者插入根据第二边界区域的附近区域计算的统计值来执行对与识别出的第一边界区域对应的第二边界区域的填充处理。这里,根据附近区域计算的统计值可以是与第二边界区域相邻的区域的样点值的平均值、加权平均值、加权和值、最小值、最大值、众数值和中值中的至少一个。

可选地,可使用与第二边界区域相邻的第一边界区域的样点值来执行填充。

可选地,可使用在空间上最靠近经过填充的位置的第一边界区域内的像素值来执行第二边界区域的填充处理。

可选地,可使用与针对画面的边界的外部的填充处理而定义的方法相同的方法来进行填充。

进一步地,在步骤s1103,可对填充后的第二边界区域进行插值。这里,可根据运动约束并行块集的尺寸或形状来确定在插值中使用的插值滤波器的抽头数或系数。

如上所述,在运动约束并行块集的帧间预测中使用经过填充和插值的第二边界区域,使得运动约束并行块集中包括的所有块的运动矢量能够参考第一边界区域1201以及第二边界区域1203。

因此,参考了在运动约束并行块集中未被参考的同位并行块集的边界区域,图像质量劣化得到改善并且压缩比得到增强。

图13是示出根据本发明的实施例的基于运动约束构建运动矢量候选列表的方法的流程图。

当使用运动约束并行块集时,指示位于与运动约束并行块集对应的同位并行块集外部的参考样点的运动矢量不能够在帧间预测中被使用。

因此,当使用运动约束并行块集时,指示位于同位并行块集外部的参考样点的运动矢量不能够用作运动矢量候选或合并候选。也就是说,当使用运动约束并行块集时,指示位于同位并行块集外部的参考样点的运动矢量不能够被包括在运动矢量候选列表或合并候选列表中。

然而,当由运动矢量指示的参考样点是位于同位并行块集外部的参考样点并且是位于上述第二边界区域中的参考样点时,运动矢量能够被用作运动矢量候选或合并候选。

参照图13,基于运动约束构建运动预测候选列表的方法可包括:在步骤s1301,识别运动约束并行块集的同位并行块集的第一边界区域;在步骤s1302,填充与识别出的第一边界区域对应的第二边界区域;在步骤s1303,基于第一边界区域和第二边界区域构建运动矢量候选列表;以及在步骤s1304,通过使用构建的运动矢量候选列表来执行帧间预测。

可以以与图11中的步骤s1101和步骤s1102相同的方式执行步骤s1301的第一边界区域的识别和步骤s1302的第二边界区域的填充,并且将省略其详细描述。

在步骤s1303的运动矢量候选列表的构建中,可从运动矢量候选列表中排除参考位于第二边界区域外部的区域的运动矢量。

这可以以在构建运动矢量候选列表时排除参考位于第二边界区域外部的区域的运动矢量的方式来实现,或者可以以在从运动矢量候选列表中选择最佳运动信息时排除参考位于第二边界区域外部的区域的运动矢量候选的方式来实现。

另外,在步骤s1303,构建运动矢量候选列表时,可从运动矢量候选列表中排除参考位于第一边界区域外部的区域的运动矢量。可选地,在假设第1边界区域的外部与画面边界的外部相同的情况下,可从运动矢量候选列表中排除参考位于第一边界区域外部的区域的运动矢量。

这可以以在构建运动矢量候选列表时排除参考位于第一边界区域外部的区域的运动矢量的方式来实现,或者可以以在从运动矢量候选列表中选择最佳运动信息时排除参考位于第一边界区域外部的区域的运动矢量候选的方式来实现。

此外,在步骤s1303,构建运动矢量候选列表时,仅在整数精度(像素间)的情况下,参考第一边界区域和第二边界区域中的至少一个的运动矢量可被包括在运动矢量候选列表中。

如上所述,通过基于运动约束构建运动矢量候选列表,可防止在推导运动矢量候选或生成运动矢量候选列表时在不必要的区域中使用运动矢量。

另外,可根据帧间预测模式将图13中的运动矢量候选和运动矢量候选列表替换为合并候选和合并候选列表以进行描述。

图14是示出根据本发明的实施例的对图像进行解码的方法的流程图。

参照图14,在步骤s1401,解码设备可从比特流获得运动约束并行块集信息。

这里,运动约束并行块集信息可以是诸如sei消息的语法格式,并且可被包括在并行块等级的更高等级单元(序列、画面或条带)的头中以进行信号发送。

接着,在步骤s1402,解码设备可基于运动约束并行块集信息来确定参考画面内的与运动约束并行块集对应的同位并行块集的第一边界区域。

具体地,确定第一边界区域可包括:基于运动约束并行块集信息来识别运动约束并行块集;以及将由从参考画面内的与识别的运动约束并行块集对应的同位并行块集的最外边界向内的预定数量的像素形成的区域确定为第一边界区域。

这里,第一边界区域可以是由基于整数精度确定的数量的像素从同位并行块集的最外边界向内形成的区域,其中,该整数精度取决于在帧间预测中使用的滤波器抽头的大小。

另外,同位并行块集的位置可与运动约束并行块集在参考画面内的位置相同。

接着,在步骤s1403,解码设备可对与第一边界区域对应的第二边界区域执行填充。

具体地,可通过将预设样点值插入到第二边界区域中来执行对第二边界区域的填充,也可通过将从第二边界区域的附近区域推导出的值插入到第二边界区域中来执行对第二边界区域的填充。可选地,解码设备可通过使用与第二边界区域相邻的第一边界区域的样点值来执行填充。

另外,第二边界区域的填充还可包括对填充的第二边界区域进行插值。

这里,第二边界区域可以是由基于整数精度确定的数量的像素从同位并行块集的最外边界向外形成的区域,该整数精度取决于在帧间预测中使用的滤波器抽头的大小。

接着,在步骤s1404,解码设备可通过使用包括填充的第二边界区域的同位并行块集来对运动约束并行块集执行帧间预测。

具体地,对运动约束并行块集执行帧间预测可包括:基于包括第二边界区域的同位并行块集来构建运动矢量候选列表;以及通过使用运动矢量候选列表对运动约束并行块集执行帧间预测。

这里,在构建运动矢量候选列表时,运动矢量候选列表可被构建为排除指示位于包括第二边界区域的同位并行块集外部的参考样点的运动矢量,或者排除指示位于包括第一边界区域的同位并行块集外部的参考样点的运动矢量。

图15是示出根据本发明的实施例的对图像进行编码的方法的流程图。

参照图15,在步骤s1501,编码设备可基于视口信息来确定运动约束并行块集。

这里,视口信息可以是通过预处理设备(诸如头戴式装置(hmd))检测用户的眼睛而生成的信息。

接着,在步骤s1502,编码设备可确定参考画面内的与确定的运动约束并行块集对应的同位并行块集的第一边界区域。

具体地,第一边界区域可以是从参考画面内的与在步骤s1501确定的运动约束并行块集对应的同位并行块集的最外边界向内由预定义数量的像素形成的区域。

此外,第一边界区域可以是由基于整数精度确定的数量的像素从同位并行块集的最外边界向内形成的区域,其中,该整数精度取决于在帧间预测中使用的滤波器抽头的大小。

另外,同位并行块集的位置可与运动约束并行块集在参考画面内的位置相同。

接着,在步骤s1503,编码设备可对与第一边界区域对应的第二边界区域执行填充。

具体地,可通过将预设样点值插入到第二边界区域中来执行对第二边界区域的填充,也可通过将从第二边界区域的附近区域推导出的值插入到第二边界区域中来执行对第二边界区域的填充。可选地,解码设备可通过使用与第二边界区域相邻的第一边界区域的样点值来执行填充。

另外,对第二边界区域的填充还可包括对填充的第二边界区域进行插值。

这里,第二边界区域可以是由基于整数精度确定的一定数量的像素从同位并行块集的最外边界向外形成的区域,其中,该整数精度取决于在帧间预测中使用的滤波器抽头的大小。

接着,在步骤s1504,编码设备可通过使用包括填充的第二边界区域的同位并行块集来对运动约束并行块集执行帧间预测。

具体地,对运动约束并行块集执行帧间预测可包括:基于包括第二边界区域的同位并行块集来构建运动矢量候选列表;以及通过使用运动矢量候选列表对运动约束并行块集执行帧间预测。

这里,在构建运动矢量候选列表时,运动矢量候选列表可被构建为排除指示位于包括第二边界区域的同位并行块集外部的参考样点的运动矢量,或者排除指示位于包括第一边界区域的同位并行块集外部的参考样点的运动矢量。

在360视频或虚拟现实视频的情况下,由于图5中的预处理设备10对多个视点的图像执行合并或拼接处理,所以每个视点的图像可能不能在画面或并行块的右边界或底边界以ctu尺寸被精确地划分。这些ctu可包括两个或更多个视点的图像,使得存在每个视点的图像未被编码和解码为独立并行块的问题。因此,可使用灵活尺寸的并行块,其可具有例如cu的最小尺寸的倍数,而非ctu尺寸的倍数。在这种情况下,灵活尺寸的并行块可包括在并行块的右侧或底部上的至少一个不完整的ctu。

这里,不完整的ctu可表示除在序列或画面中确定的ctu尺寸之外的尺寸的ctu。也就是说,不完整的ctu可以是这样的ctu:其包括的像素的数量小于或大于被包括在序列或画面中确定的ctu中的像素的数量。

图16是示出根据本发明的实施例的灵活尺寸的并行块的示图。

参照图16,一个画面被划分为四个并行块。并行块1由九个ctu构成、并行块2由六个ctu构成、并行块3由三个ctu构成、并行块4由两个ctu构成。这里,并行块1和并行块2包括不完整的ctu。

图17是示出被包括在图16中的并行块1内的不完整的ctu的示图。

对于包括至少不完整的ctu的并行块,可执行与一个独立画面相同的编码及解码处理。也就是说,当并行块的右边界或底边界上的ctu是不完整的ctu时,不对位于画面的边界上的不完整的ctu的至少一个划分标志语法元素进行熵编码和熵解码。此外,编码器和解码器可以以包括不完整的ctu中的所有有效样点的块的形式隐式地执行划分。

可选地,可仅对包括ctu内的有效像素的cu进行编码和解码。

可选地,为了防止在并行块内生成不完整的ctu,可使用图11和图12所示的填充处理。具体地,可通过将填充处理应用于不完整的ctu来产生具有完整的ctu尺寸的像素的块。因此,假设不完整的ctu的填充区域是有效像素区域,则可执行编码和解码处理。这里,完整的ctu可以是在序列或画面中确定的ctu尺寸中的ctu。

图18是示出根据本发明实施例的对不完整的ctu的填充处理的示图。

不完整的ctu的填充处理可与图11和图12所示的填充处理相同。因此,并行块的水平尺寸或垂直尺寸可由ctu尺寸的倍数表示。

另外,填充区域的尺寸可经由并行块、并行块集、条带和画面中的一个的头被用信号发送。

可选地,指示填充区域中的水平方向或垂直方向上的像素的数量的信息可经由并行块、并行块集、条带和画面中的一个的头被用信号发送。

可选地,并行块的水平尺寸或垂直尺寸可由二的倍数或cu的最小尺寸(表示存储于dpb中或被显示的尺寸)的倍数而非ctu的倍数表示,并且可经由并行块、并行块集、条带和画面中的一个的头被用信号发送。如上所述,当并行块的水平尺寸或垂直尺寸由二的倍数或cu的最小尺寸(表示存储于dpb中或被显示的尺寸)的倍数而非ctu的倍数表示时,填充区域的水平尺寸或垂直尺寸可在不进行传输的情况下由解码器隐式地找到。

可选地,为了防止可存在于并行块的右边界或底边界上的至少一个不完整的ctu的产生,并行块可使用空间上与其它并行块相邻的像素。具体地,空间上与不完整的ctu相邻的其它并行块的像素可用于产生具有完整的ctu尺寸的像素的块。因此,假设不完整的ctu的扩展区域是有效像素区域,则可执行编码和解码处理。

图19是示出根据本发明的实施例的通过使用在空间上与不完整的ctu相邻的并行块的样点来生成完整的ctu的处理的示图。图19中的扩展区域可以是使用空间相邻并行块的样点完整地扩展的区域。

在360视频的情况下,当在每个子图像上利用独立并行块执行编码和解码时,选择图18中的填充方法或图19中的使用空间相邻并行块的像素的方法,并且将不完整的ctu改变为完整的ctu。这里,可基于360视频的投影变换方法和可由空间布局信息推导的子图像的空间连续性中的至少一个来确定图18中的填充方法或图19中的使用空间相邻并行块的像素的方法的选择。

可选地,编码器选择性地使用上述两种方法中最有效的方法,并且经由并行块、并行块集、条带和画面中的一个的头用信号发送指示使用哪种方法的语法元素信息,以这样的方式使得解码器能够使用相同方法执行解码。

另外,在对并行块边界执行去块滤波时,当使用用于防止产生可能存在于并行块的右边界或底边界上的不完整的ctu的上述方法时,无论是否对并行块边界执行去块滤波,位于图18中的填充区域或图19中的扩展区域中的重建的像素不被用于附近像素的去块滤波处理中或者不经过去块滤波。

假设与图18的填充区域或图19的扩展区域被裁剪的并行块的有效区域相邻的其他并行块的重建的像素存在于连续空间中,则可对并行块边界执行去块滤波。

也就是说,如图18所示,即使对并行块1执行填充处理并且以完整的ctu的形式执行编码和解码,通过使用如图16所示的附近的并行块2的像素仅对有效区域执行去块滤波。因此,可有效地去除可能存在于相邻并行块之间的边界上的块伪影效应。

另外,在将重建的并行块存储在dpb中或显示该重建的并行块的处理中,当使用用于防止产生可能存在于并行块的右边界或底边界上的不完整的ctu的上述方法时,仅有效区域的重建的像素被存储在dpb中或被显示,其中,在有效区域中图18中的填充区域或图19中的扩展区域被裁剪。

这里,当针对关于当前并行块或当前画面内的所有并行块的并行块边界执行去块滤波时,可对与有效区域相邻的其他并行块的重建的像素执行去块滤波方法,并且去块滤波像素可被存储在dpb中或被显示,其中,在有效区域中填充区域或扩展区域如上所述被裁剪。

另外,在预测时间运动信息或产生合并候选列表的处理中,当使用用于防止产生可能存在于并行块的右边界或底边界上的不完整的ctu的上述方法时,包括在图18的填充区域或图19的扩展区域中的cu的运动矢量(mv)信息不在预测将来将被编码或解码的画面的cu的时间运动信息中或在产生合并候选列表中被使用,或者不被存储在时间运动信息缓冲器中。

实时编码器和解码器对于以预定单位时间将被编码和解码的图像的尺寸有限制。因此,为了对具有4k或更大的屏幕分辨率的一个画面(诸如360视频图像)进行编码和解码,多个编码器和解码器将一个画面划分为一个或更多个并行块、并行块集或并行块组,并且并行地执行编码和解码,从而促进实时编码和解码。然而,当时间的水平长度相当长时,编码器和解码器的行缓冲器的尺寸与水平长度也成比例地增加,导致编码器和解码器的实现成本的大幅增加。

因此,当块的最大水平长度被限制为由编码器和解码器定义的预定尺寸或更小尺寸时,编码器和解码器的实现成本的增加受到限制。

例如,即使由编码器或解码器支持的屏幕分辨率最大为8k×4k,当将被编码和解码的屏幕分辨率的水平长度超过4k时,发生在垂直方向上划分为至少两个并行块以将每个并行块的水平长度限制为4k或更小。

约束的定义可根据等级被提供。例如,支持相对低等级(诸如2k×1k的最大屏幕分辨率)的编码器和解码器将一个编码器或解码器所支持的最大水平尺寸和并行块的最大水平尺寸限制为1k,并且在垂直方向上划分为至少两个并行块的情况下执行编码和解码。

另一方面,支持相对高等级(诸如8k×4k的最大屏幕分辨率)的编码器和解码器将一个编码器或解码器所支持的最大水平尺寸和并行块的最大水平尺寸限制为4k,并且在垂直方向上划分为至少两个并行块的情况下执行编码和解码。

可选地,在360视频的情况下,通过使用投影变换方法和根据空间布局信息推导的针对每个视点的子图像的尺寸信息,每个子图像可根据每个尺寸被编码和解码为独立的并行块。

因此,具有4k或更高屏幕分辨率的360视频能够使用至少两个并行块,从而限制实现成本的增加。

上面已经描述了根据本发明实施例的对图像进行编码的方法。使用上述对图像进行编码的方法产生的比特流可被存储在计算机可读非暂时性记录介质中。

上述实施例可在编码器和解码器中以相同的方法执行。

可通过使用以上实施例中的至少一个或至少一个的组合来对图像进行编码/解码。

应用以上实施例的顺序在编码器与解码器之间可不同,或者应用以上实施例的顺序在编码器和解码器中可相同。

可对每个亮度信号和色度信号执行以上实施例,或者可对亮度信号和色度信号相同地执行以上实施例。

应用本发明的以上实施例的块形式可具有正方形形式或非正方形形式。

可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的以上实施例。这里,尺寸可被定义为使得以上实施例被应用的最小尺寸或最大尺寸或者最小尺寸和最大尺寸两者,或者可被定义为以上实施例被应用于的固定尺寸。此外,在以上实施例中,可将第一实施例应用于第一尺寸,并且可将第二实施例应用于第二尺寸。换句话说,可根据尺寸组合地应用以上实施例。此外,当尺寸等于或大于最小尺寸且等于或小于最大尺寸时,可应用以上实施例。换句话说,当块尺寸被包括在特定范围内时,可应用以上实施例。

例如,当当前块的尺寸是8×8或更大时,可以应用以上实施例。例如,当当前块的尺寸是4×4或更大时,可应用以上实施例。例如,当当前块的尺寸是16×16或更大时,可应用以上实施例。例如,当当前块的尺寸等于或大于16×16并且等于或小于64×64时,可应用以上实施例。

可根据时间层来应用本发明的以上实施例。为了识别以上实施例可被应用于的时间层,可用信号发送,并且可将以上实施例应用于由相应标识符标识的指定时间层。这里,标识符可被定义为以上实施例可被应用于的最低层或最高层或者最低层和最高层两者,或者可被定义为指示该实施例被应用于的特定层。此外,可定义实施例被应用于的固定时间层。

例如,当当前图像的时间层是最低层时,可应用以上实施例。例如,当当前图像的时间层标识符是1时,可应用以上实施例。例如,当当前图像的时间层是最高层时,可应用以上实施例。

可定义本发明的以上实施例被应用于的条带类型或并行块组类型,并且可根据对应的条带类型或对应的并行块组类型来应用以上实施例。

在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于这些步骤的顺序,而是一些步骤可与其他步骤同时执行或以不同的顺序执行。此外,本领域的普通技术人员应该理解,流程图中的步骤并不互相排斥,并且在不影响本发明的范围的情况下,可将其他步骤添加到流程图或者可将步骤中的一些步骤从流程图删除。

实施例包括示例的各个方面。可不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括权利要求范围内的所有替换、修改和改变。

本发明的实施例可以以程序指令的形式实现,其中,该程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可单独地包括程序指令、数据文件、数据结构等,或者可包括程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是为本发明专门设计和构建的,或者对于计算机软件技术领域的普通技术人员是公知的。计算机可读记录介质的示例包括磁记录介质(诸如,硬盘、软盘和磁带)、光学数据存储介质(诸如,cd-rom或dvd-rom)、磁光介质(诸如软光盘)以及被专门构造为存储和实现程序指令的硬件装置(诸如,只读存储器(rom)、随机存取存储器(ram)、闪存等)。程序指令的示例不仅包括由编译器格式化的机械语言代码,而且包括可由计算机使用解释器实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作以进行根据本发明的处理,反之亦可。

尽管已经在特定项目(诸如,详细元件)以及有限的实施例和附图方面描述了本发明,但是它们仅被提供以帮助更全面地理解本发明,并且本发明不限于以上实施例。本发明所属领域的技术人员将理解,可根据以上描述进行各种修改和改变。

因此,本发明的精神将不应限于上述实施例,并且权利要求及其等同物的整个范围将落入本发明的范围和精神内。

工业适用性

本发明可被用于对图像进行编码/解码。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1