掌桥专利:专业的专利平台
掌桥专利
首页

采用环内滤波的图像编码/解码方法和装置

文献发布时间:2023-06-19 19:28:50


采用环内滤波的图像编码/解码方法和装置

本申请是向中国知识产权局提交的申请日为2018年11月29日的标题为“采用环内滤波的图像编码/解码方法和装置”的第201880086848.7号申请的分案申请。

技术领域

本发明涉及一种视频编码/解码方法、视频编码/解码设备和存储比特流的记录介质。具体地,本发明涉及一种使用环内滤波的视频编码/解码方法和设备。

背景技术

目前,在各种应用中,对诸如高清晰度(HD)视频和超高清晰度(UHD)视频的高分辨率、高质量视频的需求正在增加。随着视频具有更高的分辨率和质量,与现有视频数据相比,视频数据量增加。因此,当通过诸如有线/无线宽带线路的介质传输视频数据或者将视频数据存储在现有存储介质中时,传输或存储成本增加。为了解决这种具有高分辨率、高质量视频数据的问题,需要高效率的视频编码/解码技术。

存在各种视频压缩技术,诸如,用于从先前画面或后续画面内的像素值预测当前画面内的像素值的帧间预测技术、用于从当前画面的另一区域预测当前画面的区域内的像素值的帧内预测技术、用于压缩残差信号的能量的变换和量化技术以及用于将较短代码分配给频繁出现的像素值并将较长代码分配给较少出现的像素值的熵编码技术。利用这些视频压缩技术,可有效地压缩、传输和存储视频数据。

去块滤波意在通过对块边界执行垂直滤波和水平滤波来减少块边界周围的块效应。然而,去块滤波的问题在于,当对块边界执行滤波时,去块滤波不能使原始画面与重建画面之间的失真最小化。

样点自适应偏移(SAO)是这样一种为了减少振铃效应的方法:在基于每个样点将样点的像素值与相邻样点的像素值进行比较之后将偏移相加到特定样点,或者将偏移相加到像素值在特定像素值范围内的样点。SAO具有通过使用率失真优化在一定程度上减小原始画面与重建画面之间的失真的效果。然而,当原始画面与重建画面之间的差异较大时,在使失真最小化方面存在限制。

发明内容

技术问题

本发明的目的是提供一种使用环内滤波的视频编码/解码方法和设备。

本发明的另一个目的是意在提供一种使用基于子采样的块分类进行环内滤波以降低视频编码器/解码器的计算复杂度和存储器访问带宽的方法和设备。

本发明的另一个目的是提供一种使用多个滤波器形状进行环内滤波以减少视频编码器/解码器的计算复杂度、存储器容量需求和存储器访问带宽的方法和设备。

本发明的另一个目的是提供一种存储由视频编码/解码方法或设备产生的比特流的记录介质。

技术方案

根据本发明的一种视频解码方法,所述方法可包括:对关于编码单元的滤波器信息进行解码;基于每个块分类单元将所述编码单元中的样点分类为类;以及通过使用所述滤波器信息,基于每个块分类单元对具有被分类为所述类的所述样点的所述编码单元进行滤波。

在根据本发明的视频解码方法中,所述方法还可包括基于每个块分类单元将块分类索引分配给具有被分类为类的所述样点的所述编码单元,其中,所述块分类索引是根据方向性信息和活动性信息而被确定的。

在根据本发明的视频解码方法中,其中,所述方向性信息和所述活动性信息中的至少一个是基于针对垂直方向、水平方向、第一对角线方向和第二对角线方向中的至少一个的梯度值而被确定的。

在根据本发明的视频解码方法中,其中,所述梯度值是使用针对所述块分类单元中的每一个块分类单元的一维拉普拉斯运算而被获得的。

在根据本发明的视频解码方法中,其中,所述一维拉普拉斯运算是运算位置为子采样的位置的一维拉普拉斯运算。

在根据本发明的视频解码方法中,其中,所述梯度值是基于时间层标识符而被确定的。

在根据本发明的视频解码方法中,其中,滤波器信息包括:从关于是否执行滤波的信息、滤波器系数值、滤波器的数量、滤波器抽头的数量(滤波器长度)、滤波器形状信息、滤波器类型信息、关于是否将固定滤波器用于块分类索引的信息以及滤波器对称类型信息中选择的至少一条信息。

在根据本发明的视频解码方法中,其中,其中,所述滤波器形状信息包括菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中的至少一个。

在根据本发明的视频解码方法中,其中,所述滤波器系数值包括针对所述编码单元的几何变换的滤波器系数值,其中,所述编码单元具有基于每个块分类单元被分类为所述类的所述样点。

在根据本发明的视频解码方法中,其中,所述滤波器对称类型信息包括点对称、水平对称、纵向对称和对角对称中的至少一种。

此外,根据本发明的一种视频编码方法,所述方法可包括:基于每个块分类单元将编码单元的样点分类为类;通过使用关于所述编码单元的滤波器信息,基于每个块分类单元对具有被分类为所述类的所述样点的所述编码单元进行滤波;以及对所述滤波器信息进行编码。

在根据本发明的视频编码方法中,所述方法还可包括:基于每个块分类单元将块分类索引分配给具有被分类为所述类的所述样点的所述编码单元,其中,所述块分类索引是基于方向性信息和活动性信息而被确定的。

在根据本发明的视频编码方法中,其中,所述方向性信息和所述活动性信息中的至少一个是基于针对垂直方向、水平方向、第一对角线方向和第二对角线方向中的至少一个的梯度值而被确定的。

在根据本发明的视频编码方法中,其中,所述梯度值是使用针对所述块分类单元中的每一个块分类单元的一维拉普拉斯运算而被获得的。

在本发明所述的视频编码方法中,其中,所述一维拉普拉斯运算是运算位置为子采样的位置的一维拉普拉斯运算。

在根据本发明的视频编码方法中,其中,所述梯度值是基于时间层标识符而被确定的。

在根据本发明的视频编码方法中,其中,所述滤波器信息包括从关于是否执行滤波的信息、滤波器系数值、滤波器的数量、滤波器抽头的数量(滤波器长度)、滤波器形状信息、滤波器类型信息、关于是否将固定滤波器用于块分类索引的信息以及滤波器对称类型信息中选择的至少一条信息。

在根据本发明的视频编码方法中,其中,所述滤波器形状信息包括菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中的至少一个。

在根据本发明的视频编码方法中,其中,所述滤波器系数值包括针对所述编码单元的所述块分类单元中的每一个块分类单元的几何变换的滤波器系数。

此外,根据本发明的一种计算机可读记录介质可存储通过根据本发明的视频编码方法产生的比特流。

有益效果

根据本发明,可提供一种使用环内滤波的视频编码/解码方法和设备。

另外,根据本发明,可提供一种使用基于子采样的块分类进行环内滤波以降低视频编码器/解码器的计算复杂度和存储器访问带宽的方法和设备。

另外,根据本发明,可提供一种使用多个滤波器形状进行环内滤波以降低视频编码器/解码器的计算复杂度、存储器容量需求和存储器访问带宽的方法和设备。

另外,根据本发明,可提供一种存储通过视频编码/解码方法或设备产生的比特流的记录介质。

另外,根据本发明,可提高视频编码和/或解码效率。

附图说明

图1是示出应用了本发明的一个实施例的编码设备的配置的框图;

图2是示出应用了本发明的一个实施例的解码设备的配置的框图;

图3是示出用于对视频进行编码/解码的画面分区结构的示意性示图;

图4是示出帧内预测处理的一个实施例的示图;

图5是示出帧间预测处理的一个实施例的示图;

图6是用于描述变换和量化处理的示图。

图7是示出根据本发明的实施例的视频解码方法的流程图;

图8是示出根据本发明的实施例的视频编码方法的流程图;

图9是示出确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的示例性方法的示图;

图10至图12是示出确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的基于子采样的示例性方法的示图;

图13至图18是示出确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的基于子采样的示例性方法的示图;

图19至图30是示出根据本发明的实施例的在特定样点位置处确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的示例性方法的示图;

图31是示出当时间层标识符指示顶层时确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的示例性方法的示图;

图32是示出根据本发明的实施例的可用于代替一维拉普拉斯运算的各种计算技术的示图;

图33是示出根据本发明的实施例的菱形滤波器的示图;

图34是示出根据本发明的实施例的5×5抽头滤波器的示图;

图35a和图35b是示出根据本发明的实施例的各种滤波器形状的示图;

图36是示出根据本发明的实施例的水平和垂直对称滤波器的示图;

图37是示出根据本发明的实施例的通过对正方形滤波器、八边形滤波器、雪花形滤波器和菱形滤波器进行几何变换产生的滤波器的示图;

图38是示出将包括9×9个系数的菱形滤波器变换为包括5×5个系数的正方形滤波器的处理的示图;以及

图39至图55d是示出确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的基于子采样的示例性方法的示图。

具体实施方式

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

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

将理解的是,在本说明书中,当元件仅被称为“连接到”或“结合到”另一元件而不是“直接连接到”或“直接结合到”另一元件时,所述元件可“直接连接到”或“直接结合到”所述另一元件,或者在所述元件与所述另一元件之间具有其他元件的情况下连接到或结合到所述另一元件。相反,应该理解,当元件被称为“直接结合”或“直接连接”到另一元件时,不存在中间元件。

此外,在本发明的实施例中示出的组成部件被独立地示出,以便呈现彼此不同的特性功能。因此,这并不意味着每个组成部件以单独的硬件或软件的组成单元被组成。换句话说,为了方便,每个组成部件包括枚举的组成部件中的每一个。因此,每个组成部件中的至少两个组成部件可被组合形成一个组成部件,或者一个组成部件可被划分为用于执行每个功能的多个组成部件。在没有脱离本发明的本质的情况下,每个组成部件被组合的实施例以及一个组成部件被划分的实施例也被包括在本发明的范围中。

在本说明书中使用的术语仅用于描述具体实施例,而不意在限制本发明。以单数使用的表达包括复数表达,除非它在上下文中具有明显不同的含义。在本说明书中,将理解,诸如“包括……的”、“具有……的”等的术语意在指明存在说明书中所公开的特征、数量、步骤、动作、元件、部件、或其组合,而并不意在排除可存在或者可添加一个或更多个其它特征、数量、步骤、动作、元件、部件、或其组合的可能性。换句话说,当特定元件被称为“被包括”时,除相应元件以外的元件并不被排除,而是,附加的元件可被包括在本发明的实施例中或者是本发明的范围中。

此外,一些组成元件可能不是执行本发明的必要功能的不可缺的组成元件,而是仅提升其性能的可选组成元件。可通过仅包括用于实施本发明的实质的不可缺的组成部件而排除在提升性能时使用的组成元件来实施本发明。仅包括所述不可缺的组成元件而排除在仅提升性能时使用的可选组成元件的结构也被包括在本发明的范围中。

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

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

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

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

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

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

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

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

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

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

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

术语描述

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

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

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

样点:是构成块的基本单元。根据比特深度(Bd),样点可被表示为从0到2

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

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

编码树块:可用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。

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

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

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

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

参数集:与比特流内的配置之中的头信息相应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带头、并行块组头和并行块头信息。术语“并行块组”表示一组并行块并且具有与条带相同的含义。

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

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

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

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

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

参考画面列表可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在几种类型的可用参考画面列表,所述可用参考画面列表包括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、加法器225、滤波器单元260和参考画面缓冲器270。

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

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

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

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

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

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

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

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

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

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

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

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

分区结构可表示LCU 310内的编码单元(CU)的分布。可根据是否将单个CU分区为多个(等于或大于2的正整数,包括2、4、8、16等)CU来确定这样的分布。通过分区产生的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可分别具有根据分区的次数而小于分区之前的水平尺寸和垂直尺寸的尺寸。CU可以被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度之中的至少一个相比,分区之后的CU的高度和宽度之中的至少一个可减小。可递归地执行CU的分区,直到预定义的深度或预定义的尺寸为止。例如,LCU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从LCU 310开始,当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中的从中心到外部的箭头可表示帧内预测模式的预测方向。

可通过使用当前块的邻近块的参考样点来执行帧内编码和/或解码。邻近块可以是重建的邻近块。例如,可通过使用包括在重建的邻近块中的参考样点的编码参数或值来执行帧内编码和/或解码。

预测块可表示通过执行帧内预测产生的块。预测块可与CU、PU和TU中的至少一个相应。预测块的单元可具有CU、PU和TU中的一个的尺寸。预测块可以是尺寸为2×2、4×4、16×16、32×32或64×64等的正方形块,或者可以是尺寸为2×8、4×8、2×16、4×16和8×16等的矩形块。

可根据针对当前块的帧内预测模式来执行帧内预测。当前块可具有的帧内预测模式的数量可以是固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸和预测块的形状等。

不管块尺寸为多少,可将帧内预测模式的数量固定为N。或者,帧内预测模式的数量可以是3、5、9、17、34、35、36、65或67等。可选地,帧内预测模式的数量可根据块尺寸或颜色分量类型或者块尺寸和颜色分量类型两者而变化。例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而变化。例如,随着块尺寸变大,帧内预测模式的数量可增加。可选地,亮度分量块的帧内预测模式的数量可大于色度分量块的帧内预测模式的数量。

帧内预测模式可以是非角度模式或角度模式。非角度模式可以是DC模式或平面模式,并且角度模式可以是具有特定方向或角度的预测模式。帧内预测模式可由模式编号、模式值、模式数字、模式角度和模式方向中的至少一个来表示。帧内预测模式的数量可以是大于或等于1的M,包括非角度模式和角度模式。

为了对当前块进行帧内预测,可执行确定是否可将包括在重建的邻近块中的样点用作当前块的参考样点的步骤。当存在不能用作当前块的参考样点的样点时,通过对包括在重建的邻近块中的样点中的至少一个样点值进行复制或执行插值或者执行复制和插值两者而获得的值可被用于替换样点的不可用样点值,因此经过替换的样点值被用作当前块的参考样点。

当进行帧内预测时,可基于帧内预测模式和当前块的尺寸将滤波器应用于参考样点和预测样点中的至少一个。

在平面模式的情况下,当产生当前块的预测块时,根据预测目标样点在预测块内的位置,可通过使用当前样点的上侧参考样点与左侧参考样点以及当前块的右上侧参考样点与左下侧参考样点的加权和来产生预测目标样点的样点值。此外,在DC模式的情况下,当产生当前块的预测块时,可使用当前块的上侧参考样点与左侧参考样点的平均值。此外,在角度模式的情况下,可通过使用当前块的上侧参考样点、左侧参考样点、右上侧参考样点和/或左下侧参考样点来产生预测块。为了产生预测样点值,可对实数单元执行插值。

可通过预测与当前块相邻存在的块的帧内预测模式来对当前块的帧内预测模式进行熵编码/熵解码。在当前块与邻近块的帧内预测模式相同时,可通过使用预定标志信息来用信号发送当前块与邻近块的帧内预测模式相同的信息。此外,可用信号发送多个邻近块的帧内预测模式之中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。在当前块与邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。

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

在图5中,矩形可表示画面。在图5中,箭头表示预测方向。根据画面的编码类型,可将画面分类为帧内画面(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指示的位置,或者是列表中的最后一个位置。当将当前画面添加到参考画面列表,以便使当前画面位于任意位置时,可用信号发送指示所述任意位置的参考画面索引。

图6是示出变换和量化处理的示图。

如图6中所示出的,对残差信号执行变换处理和/或量化处理,以产生量化的等级信号。残差信号是原始块与预测块(即,帧内预测块或帧间预测块)之间的差。预测块是通过帧内预测或帧间预测产生的块。所述变换可以是首次变换、二次变换或者首次变换和二次变换两者。对残差信号的首次变换产生变换系数,并且对变换系数的二次变换产生二次变换系数。

从预先定义的各种变换方案中选择的至少一种方案被用于执行首次变换。例如,所述预定义的变换方案的示例包括离散余弦变换(DCT)、离散正弦变换(DST)和Karhunen-Loève变换(KLT)。通过首次变换产生的变换系数可经过二次变换。可根据当前块和/或当前块的邻近块的编码参数来确定用于首次变换和/或二次变换的变换方案。可选地,可通过变换信息的信令来确定变换方案。

由于残差信号通过首次变换和二次变换被量化,因此产生了量化的等级信号(量化系数)。依据块的帧内预测模式或块尺寸/形状,可根据对角线右上扫描、垂直扫描和水平扫描中的至少一个来扫描量化的等级信号。例如,当按照对角线右上扫描来扫描系数时,块形式的系数变为一维矢量形式。除了对角线右上扫描之外,可依据变换块的帧内预测模式和/或尺寸来使用水平地扫描二维块形式的系数的水平扫描或垂直地扫描二维块形式的系数的垂直扫描。扫描的量化等级系数可被熵编码以被插入到比特流中。

解码器对比特流进行熵解码以获得量化等级系数。可通过逆扫描以二维块形式排列量化等级系数。对于逆扫描,可使用对角线右上扫描、垂直扫描和水平扫描中的至少一个。

然后,可对量化等级系数进行反量化,然后根据需要进行二次逆变换,并且最后根据需要进行首次逆变换,以产生重建的残差信号。

在下文中,将参照图7至图55描述根据本发明的实施例的使用基于子采样的块分类的环内滤波方法。

在本发明中,环内滤波方法包括去块滤波、采样自适应偏移(SAO)、双边滤波和自适应环内滤波等。

通过将去块滤波和SAO中的至少一个应用于通过将重建的帧内/帧间预测块与重建的残差块求和而产生的重建画面(即,视频帧),可有效地减少重建画面内的块效应和振铃效应。去块滤波意在通过对块边界执行垂直滤波和水平滤波来减少块边界周围的块效应。然而,去块滤波具有这样的问题:当块边界被滤波时,去块滤波不能使原始画面与重建画面之间的失真最小化。样点自适应偏移(SAO)是这样的为了减少振铃效应的滤波技术:在基于每个样点将样点的像素值与相邻样点的像素值进行比较之后将偏移相加到特定样点,或者将偏移相加到像素值在特定像素值范围内的样点。SAO具有通过使用率失真优化在一定程度上减小原始画面与重建画面之间的失真的效果。然而,当原始画面与重建画面之间的差异较大时,在使失真最小化方面存在限制。

双向滤波是指这样的滤波技术:基于从滤波目标区域中的中心样点到滤波目标区域中的其它样点中的每一个的距离以及基于中心样点的像素值与其它样点中的每一个的像素值之间的差来确定滤波器系数。

自适应环内滤波是指通过使用可使原始画面与重建画面之间的失真最小化的滤波器来使原始画面与重建画面之间的失真最小化的滤波技术。

除非在本发明的描述中另有特别声明,否则环内滤波是指自适应环内滤波。

在本发明中,滤波表示将滤波器应用于从样点、块、编码单元(CU)、预测单元(PU)、变换单元(TU)、编码树单元(CTU)、条带、并行块、并行块的组(并行块组)、画面和序列中选择的至少一个基本单元的处理。滤波包括块分类处理、滤波执行处理和滤波器信息编码/解码处理中的至少一个。

在本发明中,编码单元(CU)、预测单元(PU)、变换单元(TU)和编码树单元(CTU)分别具有与编码块(CB)、预测块(PB)、变换块(TB)和编码树块(CTB)相同的含义。

在本发明中,块是指在编码/解码处理时用作基本单元的CU、PU、TU、CB、PB和TB中的至少一个。

执行环内滤波使得双向滤波、去块滤波、样点自适应偏移和自适应环内滤波被顺序地应用于重建画面以产生解码画面。然而,将被分类为环内滤波的滤波方案应用于重建画面的顺序是变化的。

例如,可执行环内滤波使得去块滤波、样点自适应偏移和自适应环内滤波以此顺序被顺序地应用于重建画面。

可选地,可执行环内滤波使得双向滤波、自适应环内滤波、去块滤波和样点自适应偏移以此顺序被顺序地应用于重建画面。

进一步可选地,可执行环内滤波使得自适应环内滤波、去块滤波和样点自适应偏移以此顺序被顺序地应用于重建画面。

进一步可选地,可执行环内滤波使得自适应环内滤波、样点自适应偏移和去块滤波以此顺序被顺序地应用于重建画面。

在本发明中,解码画面是指来自对由重建块组成的重建画面执行的环内滤波或后处理滤波的输出,其中,每个重建块是通过对重建残差块与相应的帧内预测块求和或者对重建块与相应的帧间预测块求和来产生的。在本发明中,解码样点、解码块、解码CTU或解码画面的含义分别与重建样点、重建块、重建CTU或重建画面的含义相同。

对重建画面执行自适应环内滤波以产生解码画面。可对已经经过了去块滤波、样点自适应偏移和双向滤波中的至少一个的解码画面执行自适应环内滤波。另外,可对已经经过了自适应环内滤波的重建画面执行自适应环内滤波。在这种情况下,可对重建画面或解码画面重复执行N次自适应环内滤波。在这种情况下,N为正整数。

可对已经经过了环内滤波方法中的至少一个环内滤波方法的解码画面执行环内滤波。例如,当对已经经过了其它环内滤波方法中的至少一个环内滤波方法的解码画面执行至少环内滤波方法中的至少一个时,可改变用于后一个滤波方法的参数,然后可利用改变的参数对解码画面执行前一个滤波。在这种情况下,参数包括编码参数、滤波器系数、滤波器抽头的数量(滤波器长度)、滤波器形状、滤波器类型、滤波执行的数量、滤波器强度、阈值和/或这些参数的组合。

滤波器系数表示构成滤波器的系数。可选地,滤波器系数表示与掩码形式的特定掩码位置相应的系数值,并且重建样点与该系数值相乘。

滤波器抽头的数量是指滤波器的长度。当滤波器相对于一个特定方向对称时,可将将被编码/解码的滤波器系数减小一半。另外,滤波器抽头是指滤波器的宽度(水平尺寸)或高度(垂直尺寸)。可选地,滤波器抽头是指二维滤波器的宽度(横向上的尺寸)和高度(纵向上的尺寸)两者。另外,滤波器可相对于两个或更多个特定方向对称。

当滤波器具有掩模形式时,滤波器可以是具有以下形状的二维几何图形:方块形/菱形形状、非正方形矩形形状、正方形形状、梯形形状、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形形状、五边形形状、六边形形状、八边形形状、十边形形状、十二边形形状或这些形状的任何组合。可选地,滤波器形状可以是通过将三维图形投影到二维平面而获得的形状。

滤波器类型表示从维纳滤波器、低通滤波器、高通滤波器、线性滤波器、非线性滤波器和双向滤波器中选择的滤波器。

在本发明中,在各种滤波器中,将集中描述维纳滤波器。然而,本发明不限于此,并且在本发明的实施例中可以使用上述滤波器的组合。

作为用于自适应环内滤波的滤波器类型,可使用维纳滤波器。维纳滤波器是用于有效地去除画面内的噪声、模糊和失真从而提高编码效率的最佳线性滤波器。维纳滤波器被设计为使原始画面与重建/解码画面之间的失真最小化。

可在编码处理或解码处理时执行滤波方法中的至少一个。编码处理或解码处理是指以条带、并行块、并行块组、画面、序列、CTU、块、CU、PU和TU中的至少一个为单位执行的编码或解码。在以条带、并行块、并行块组、画面等为单位执行的编码或解码期间执行滤波方法中的至少一个。例如,维纳滤波器用于进行编码或解码期间的自适应环内滤波。也就是说,在短语“自适应环内滤波”中,术语“环内”表示在编码或解码处理期间执行滤波。当执行自适应环内滤波时,可在对后续画面进行编码或解码时将已经经过了自适应环内滤波的解码画面用作参考画面。在这种情况下,由于通过参照已经经过了自适应环内滤波的重建画面来对将被编码/解码的后续画面执行帧内预测或运动补偿,所以可提高后续画面的编码效率以及已经经过了环内滤波的当前画面的编码效率。

另外,在基于CTU或基于块的编码或解码处理时执行上述滤波方法中的至少一个。例如,维纳滤波器用于基于CTU或基于块的编码或解码处理时的自适应环内滤波。也就是说,在短语“自适应环内滤波”中,术语“环内”表示在基于CTU或基于块的编码或解码处理期间执行滤波。当基于每个CTU或每个块执行自适应环内滤波时,已经经过了自适应环内滤波的解码CTU或块被用作将被编码/解码的后续CTU或块的参考CTU或块。在这种情况下,由于通过参考应用了自适应环内滤波的当前CTU或块来对后续CTU或块执行帧内预测或运动补偿,因此提高应用了环内滤波的当前CTU或块的编码效率,并且提高将被编码/解码的后续CTU或块的编码效率。

另外,可在执行解码处理之后将滤波方法中的至少一个执行为后处理滤波。例如,可在执行解码处理之后将维纳滤波器用作后处理滤波器。当在解码处理之后使用维纳滤波器时,在输出(即,显示)重建/解码画面之前将维纳滤波器应用于重建/解码画面。当执行后处理滤波时,可以不将已经经过了后处理滤波的解码画面用作将被编码/解码的后续画面的参考画面。

无法基于每个块执行自适应环内滤波。也就是说,无法执行基于块的滤波器自适应。这里,基于块的滤波器自适应表示针对不同的块分别选择不同的滤波器。基于块的滤波器自适应也表示块分类。

图7是示出根据本发明的实施例的视频解码方法的流程图。

参照图7,解码器对针对每个编码单元的滤波器信息进行解码(S701)。

滤波器信息不限于基于每个编码单元的滤波器信息。滤波器信息还表示基于每个条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU的滤波器信息。

滤波器信息包括关于是否执行滤波的信息、滤波器系数值、滤波器的数量、滤波器抽头的数量(滤波器长度)、滤波器形状信息、滤波器类型信息、关于是否将固定滤波器用于块分类索引的信息和/或滤波器对称类型信息。

滤波器形状信息包括从菱形(方块形)、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中选择的至少一个形状。

滤波器系数值包括针对每个块的几何变换的滤波器系数值,其中,基于每个块分类单元将样点分类为类。

另一方面,滤波器对称类型的示例包括点对称、水平对称、纵向对称和对角对称中的至少一个。

另外,解码器基于每个块分类单元对编码单元的样点执行块分类(步骤S702)。此外,解码器将块分类索引分配给编码单元中的块分类单元。

块分类不限于基于每个编码单元的分类。也就是说,可以以条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU为单位执行块分类。

基于方向性信息和活动性信息来确定块分类索引。

根据相对于垂直、水平、第一对角线和第二对角线方向中的至少一个的梯度值来确定方向性信息和活动性信息中的至少一个。

另一方面,基于每个块分类单元使用一维拉普拉斯运算来获得梯度值。

一维拉普拉斯运算优选为运算位置为子采样的位置的一维拉普拉斯运算。

可选地,可根据时间层标识符来确定梯度值。

另外,解码器通过使用滤波器信息对已经基于每个块分类单元执行了块分类的编码单元进行滤波(S703)。

滤波目标单元不限于编码单元。也就是说,可以以条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU为单位执行滤波。

图8是示出根据本发明的实施例的视频编码方法的流程图;

参照图8,编码器基于每个块分类单元将编码单元中的样点分类为类(步骤S801)。此外,编码器将块分类索引分配给每个编码单元中的块分类单元。

用于块分类的基本单位不限于编码单元。也就是说,可以以条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU为单位执行块分类。

基于方向性信息和活动性信息来确定块分类索引。

基于相对于垂直、水平、第一对角线和第二对角线方向中的至少一个的梯度值来确定方向性信息和活动性信息中的至少一个。

基于每个块分类单元使用一维拉普拉斯运算来获得梯度值。

一维拉普拉斯运算优选为运算位置为子采样的位置的一维拉普拉斯运算。

可选地,根据时间层标识符来确定梯度值。

另外,编码器通过使用编码单元的滤波器信息对基于每个块分类单元进行分类的编码单元样点进行滤波(S802)。

用于滤波的基本单位不限于编码单元。也就是说,可以以条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU为单位执行滤波。

滤波器信息包括关于是否执行滤波的信息、滤波器系数值、滤波器的数量、滤波器抽头的数量(滤波器长度)、滤波器形状信息、滤波器类型信息、关于是否将固定滤波器用于块分类索引的信息和/或滤波器对称类型信息。

滤波器形状的示例包括菱形(方块形)、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中的至少一种。

滤波器系数值包括基于每个块分类单元进行几何变换的滤波器系数值。

接下来,编码器对滤波器信息进行编码(S803)。

滤波器信息不限于基于每个编码单元的滤波器信息。滤波器信息可以是基于每个条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU的滤波器信息。

在编码器端,自适应环内滤波处理可被划分成若干子步骤,诸如,块分类、滤波和滤波器信息编码。

更具体地讲,在编码器端,自适应环内滤波可被划分为若干子步骤,诸如,块分类、滤波器系数推导、滤波执行确定、滤波器形状确定、滤波执行和滤波器信息编码。滤波器系数推导、滤波执行确定、滤波器形状确定不落入本发明的范围。因此,没有深入描述这些子步骤,而是仅仅简要地描述这些子步骤。因此,在编码器端,环内滤波处理被划分为块分类、滤波、滤波器信息编码等。

在滤波器系数推导步骤,推导可使原始画面与滤波画面之间的失真最小化的维纳滤波器系数。在这种情况下,基于每个块分类推导维纳滤波器系数。另外,根据滤波器抽头的数量和滤波器形状中的至少一个推导维纳滤波器系数。当推导维纳滤波器系数时,可推导针对重建样点的自相关函数、针对原始样点与重建样点的互相关函数、自相关矩阵和互相关矩阵。通过基于自相关矩阵和互相关矩阵推导维纳-霍普夫方程来计算滤波器系数。在这种情况下,通过基于高斯消去或Cholesky分解来计算维纳-霍普夫方程,获得滤波器系数。

在滤波执行确定步骤,根据率失真优化来确定是否基于每个条带、画面、并行块或并行块组执行自适应环内滤波、是否基于每个块执行自适应环内滤波或者是否不执行自适应环内滤波。这里,率包括将被编码的滤波器信息。失真是原始画面与重建画面之间的差或者原始画面与滤波的重建画面之间的差。由均方误差(MSE)、均方误差和(SSE)、绝对差和等表示失真。在滤波执行确定步骤,确定是否对色度分量执行滤波以及是否对亮度分量执行滤波。

在滤波器形状确定步骤,在应用环内自适应滤波时,可根据率失真优化确定使用何种滤波器形状、使用什么抽头数滤波器等。

另外,在解码器端,自适应环内滤波处理被划分为滤波器信息解码、块分类和滤波步骤。

以下,为了避免多余的说明,将滤波器信息编码步骤和滤波器信息解码步骤统称为滤波器信息编码/解码步骤。

在下文中,将首先描述块分类步骤。

在重建画面内基于M×N尺寸的块(或基于每个块分类单元)分配块分类索引,使得重建画面内的块可被分类为L个类。这里,块分类索引不仅可被分配给重建/解码画面,还可被分配给恢复/解码条带、恢复/解码并行块组、恢复/解码并行块、恢复/解码CTU和恢复/解码块中的至少一个。

这里,N、M和L均为正整数。例如,N和M均为从2、4、8、16和32中选择的正整数,并且L是从4、8、16、20、25和32中选择的正整数。当N和M是相同的整数1时,基于样点而不是基于块来执行块分类。另一方面,当N和M为不同的正整数时,N×M尺寸的块为非正方形形状。可选地,N和M可为相同的正整数。

例如,可基于每个2×2尺寸的块将总共25个块分类索引分配到重建画面。例如,可基于每个4×4尺寸的块将总共25个块分类索引分配到重建的画面。

块分类索引为从0到L-1的范围内的值,或者可为从1到L的范围内的值。

块分类索引C基于方向性值D和活动性值A的量化活动性值A

[等式1]

C=5D+A

在等式1中,5为示例性常数值。常数值可由J来表示。在这种情况下,J为值小于L的正整数。

例如,在基于每个2×2尺寸的块执行块分类的一个实施例中,针对垂直方向的一维拉普拉斯梯度值的和由g

[等式2]

[等式3]

[等式4]

/>

D1

[等式5]

D2

在等式2至等式5中,i和j分别表示左上位置在水平方向和垂直方向上的坐标,并且R(i,j)表示在位置(i,j)处的重建样点值。

在等式2至等式5中,k和l分别表示生成针对各个方向的基于样点的一维拉普拉斯运算的结果V

例如,k和l可以是相同的范围。也就是说,计算一维拉普拉斯和的运算范围的水平长度和垂直长度可相同。

可选地,k和l可以是不同的范围。也就是说,计算一维拉普拉斯和的运算范围的水平长度和垂直长度可不同。

作为示例,k为从i-2至i+3的范围,并且l为从j-2至j+3的范围。在这种情况下,计算一维拉普拉斯和的范围是6×6尺寸。在这种情况下,计算一维拉普拉斯和的运算范围大于块分类单元的尺寸。

作为另一示例,k为从i-1至i+2的范围,并且l为从j-1至j+2的范围。在这种情况下,计算一维拉普拉斯和的运算范围是4×4尺寸。在这种情况下,计算一维拉普拉斯和的运算范围大于块分类单元的尺寸。

作为另一示例,k为从i至i+1的范围,并且l为从j至j+1的范围。在这种情况下,计算一维拉普拉斯和的运算范围是2×2尺寸。在这种情况下,计算一维拉普拉斯和的运算范围等于块分类单元的尺寸。

例如,计算一维拉普拉斯运算的结果的和的运算范围具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

例如,块分类单元具有从菱形/方块形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

例如,计算一维拉普拉斯运算的和的范围为S×T尺寸。在这种情况下,S和T均为零或正整数。

另外,表示第一对角线的D1和表示第二对角线的D2可分别指表示第一对角线的D0和表示第二对角线的D1。

例如,在对每个4×4尺寸的块执行块分类的一个实施例中,基于一维拉普拉斯运算通过等式6、等式7、等式8、等式9计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

[等式6]

[等式7]

[等式8]

D1

[等式9]

D2

在等式6至等式9中,i和j分别表示左上位置在水平方向和垂直方向上的坐标,并且R(i,j)表示位置(i,j)处的重建样点值。

在等式6至9中,k和l分别表示用于计算针对各个方向的基于样点的一维拉普拉斯运算的结果V

例如,k和l可以是相同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度和垂直长度可相同。

可选地,k和l可以是不同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度和垂直长度可不同。

作为示例,k为从i-2至i+5的范围,并且l为从j-2至j+5的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围是8×8尺寸。在这种情况下,计算一维拉普拉斯运算的和的运算范围大于块分类单元的尺寸。

作为另一示例,k为从i至i+3的范围,并且l为从j至j+3的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围是4×4尺寸。在这种情况下,计算一维拉普拉斯运算的和的运算范围等于块分类单元的尺寸。

例如,计算一维拉普拉斯运算的结果的和的运算范围具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

例如,计算一维拉普拉斯运算的和的运算范围为S×T尺寸。在这种情况下,S和T均为零或正整数。

例如,块分类单元具有从菱形/方块形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中选择的二维几何形状。

图9是示出分别确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的示例性方法的示图。

如图9中所示出的出的,当基于每个4×4尺寸的块执行块分类时,可计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

例如,在基于每个4×4尺寸的块执行块分类的一个实施例中,分别通过等式10至等式13计算梯度值相对于垂直方向、水平方向、第一对角线方向和第二对角线方向的一维拉普拉斯和g

[等式10]

k=i-2,i,i+2,i+4,l=j-2,…,j+5

[等式11]

k=i-2,…,i+5,l=j-2,j,j+2,j+4

[等式12]

D1

k=i-2,…,i+5,l=j-2,…,j+5

[等式13]

D2

k=i-2,…,i+5,l=j-2,…,j+5

在等式10至等式13中,i和j分别表示左上位置在水平方向和垂直方向上的坐标,并且R(i,j)表示在位置(i,j)处的重建样点值。

在等式10至13中,k和l分别表示计算基于样点的一维拉普拉斯运算的结果V

例如,k和l可以是相同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度和垂直长度相同。

可选地,k和l可以是不同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度和垂直长度可不同。

作为示例,k为从i-2至i+5的范围,并且l为从j-2至j+5的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围是8×8尺寸。在这种情况下,计算一维拉普拉斯和的运算范围大于块分类单元的尺寸。

作为另一示例,k为从i至i+3的范围,并且l为从j至j+3的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围是4×4尺寸。在这种情况下,计算一维拉普拉斯运算的和的运算范围等于块分类单元的尺寸。

例如,计算一维拉普拉斯运算的结果的和的运算范围具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

例如,计算一维拉普拉斯运算的和的运算范围具有S×T尺寸。在这种情况下,S和T为零或正整数。

例如,块分类单元具有从菱形/方块形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中选择的二维几何形状。

根据本发明的实施例,基于样点的梯度值计算方法可通过沿相应方向对运算范围内的样点执行一维拉普拉斯运算来计算梯度值。这里,可通过计算对计算一维拉普拉斯运算的和的运算范围内的样点中的至少一个样点执行的一维拉普拉斯运算的结果的统计值,来计算梯度值的统计值。在这种情况下,统计值是和、加权和和平均值中的任一个。

例如,为了计算针对水平方向的梯度值,在计算一维拉普拉斯运算的和的运算范围内的每个样点位置处执行一维拉普拉斯运算。在这种情况下,可在计算一维拉普拉斯运算的和的运算范围内以P个行的间隔计算针对水平方向的梯度值。这里,P为正整数。

可选地,为了计算针对垂直方向的梯度值,在计算一维拉普拉斯运算的和的运算范围内的列上的每个样点位置处执行一维拉普拉斯运算。在这种情况下,可在计算一维拉普拉斯运算的和的运算范围内以P个列的间隔计算针对垂直方向的梯度值。这里,P为正整数。

进一步可选地,为了计算针对第一对角线方向的梯度值,在计算一维拉普拉斯运算的和的运算范围内,沿水平方向和垂直方向中的至少一个方向以P个列或Q个行的间隔对样点位置执行一维拉普拉斯运算,从而获得针对第一对角线方向的梯度值。这里,P和Q为零或正整数。

进一步可选地,为了计算针对第二对角线方向的梯度值,在计算一维拉普拉斯运算的和的运算范围内,沿水平方向和垂直方向中的至少一个方向以P个列或Q个行的间隔对样点位置执行一维拉普拉斯运算,从而获得针对第二对角线方向的梯度值。这里,P和Q为零或正整数。

根据本发明的实施例,基于样点的梯度值计算方法可通过对计算一维拉普拉斯运算的和的运算范围内的至少一个样点执行一维拉普拉斯运算来计算梯度值。这里,可通过计算对计算一维拉普拉斯运算的和的运算范围内的样点中的至少一个样点执行的一维拉普拉斯运算的结果的统计值,来计算梯度值的统计值。在这种情况下,统计值是和、加权和和平均值中的任一个。

例如,为了计算梯度值,在计算一维拉普拉斯运算的和的运算范围内的每个样点位置处执行一维拉普拉斯运算。在这种情况下,可在计算一维拉普拉斯运算的和的运算范围内以P个行的间隔计算梯度值。这里,P为正整数。

可选地,为了计算梯度值,在计算一维拉普拉斯运算的和的运算范围内的列上的每个样点位置处执行一维拉普拉斯运算。在这种情况下,可在计算一维拉普拉斯运算的和的运算范围内以P个行的间隔计算梯度值。这里,P为正整数。

进一步可选地,为了计算梯度值,在计算一维拉普拉斯运算的和的运算范围内,沿水平方向和垂直方向中的至少一个方向以P个列或Q个行的间隔对样点位置执行一维拉普拉斯运算,从而获得梯度值。这里,P和Q为零或正整数。

进一步可选地,为了计算梯度值,在计算一维拉普拉斯运算的和的运算范围内,沿水平方向和垂直方向以P个列和Q个行的间隔对样点位置进行一维拉普拉斯运算,从而获得梯度值。这里,P和Q为零或正整数。

另一方面,梯度是指相对于水平方向的梯度、相对于垂直方向的梯度、相对于第一对角线方向的梯度和相对于第二对角线方向的梯度中的至少一个。

图10至图12是示出确定针对水平、垂直、第一对角线和第二对角线方向的梯度值的基于子采样的方法的示图。

如图10中所示出的,当基于每个2×2存储的块执行块分类时,可基于子采样来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

在本发明的附图中,未由V、H、D1或D2指示的位置是不沿方向执行一维拉普拉斯运算的样点位置。也就是说,仅在由V、H、D1或D2指示的样点位置处沿每个方向执行一维拉普拉斯运算。当不执行一维拉普拉斯运算时,将在相应样点位置上的一维拉普拉斯运算的结果确定为特定值,例如,H。这里,H可为负整数、0和正整数中的至少一种。

如图11中所示出的,当基于4×4尺寸的块执行块分类时,可基于子采样来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

如图12中所示出的,当基于4×4尺寸的块执行块分类时,可基于子采样来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

根据本发明的实施例,可通过基于子采样对设置在N×M尺寸的块中的特定位置处的样点执行一维拉普拉斯运算来计算梯度值。在这种情况下,特定位置可以是块内的绝对位置和相对位置中的至少一个。这里,可通过计算对计算一维拉普拉斯和的运算范围内的样点中的至少一个样点执行的一维拉普拉斯运算的结果的统计值,来计算梯度值的统计值。在这种情况下,统计值是和、加权和和平均值中的任一个。

例如,绝对位置表示N×M块内的左上位置。

可选地,绝对位置表示N×M块内的右下位置。

进一步可选地,相对位置表示N×M块内的中心位置。

根据本发明的实施例,可通过基于子采样对N×M尺寸的块内的R个样点执行一维拉普拉斯运算来计算梯度值。在这种情况下,P和Q为零或正整数。此外,R等于或小于N与M的乘积。这里,可通过计算对计算一维拉普拉斯和的运算范围内的样点中的至少一个样点执行的一维拉普拉斯运算的结果的统计值,来计算梯度值的统计值。在这种情况下,统计值是和、加权和和平均值中的任一个。

例如,当R为1时,仅对N×M块内的一个样点执行一维拉普拉斯运算。

可选地,当R为2时,仅对N×M块内的两个样点执行一维拉普拉斯运算。

进一步可选地,当R为4时,仅对每个N×M尺寸的块内的4个样点执行一维拉普拉斯运算。

根据本发明的实施例,可通过基于子采样对每个N×M尺寸的块内的R个样点执行一维拉普拉斯运算来计算梯度值。在这种情况下,R为正整数。此外,R等于或小于N与M的乘积。这里,梯度值的统计值是通过计算对计算一维拉普拉斯和的运算范围内的样点中的至少一个样点执行的一维拉普拉斯运算的结果的统计值来获得的。在这种情况下,统计值是和、加权和和平均值中的任一个。

例如,当R为1时,仅对计算一维拉普拉斯和的每个N×M尺寸的块内的一个样点执行一维拉普拉斯运算。

可选地,当R为2时,仅对计算一维拉普拉斯和的每个N×M尺寸的块内的两个样点执行一维拉普拉斯运算。

进一步可选地,当R为4时,仅对计算一维拉普拉斯和的每个N×M尺寸的块内的4个样点执行一维拉普拉斯运算。

图13至图18是示出确定沿着水平、垂直、第一对角线和第二对角线方向的梯度值的基于子采样的示例性方法的示图。

如图13中所示出的,当基于每个4×4尺寸的块执行块分类时,通过基于子采样使用每个N×M尺寸的块内的特定位置处的样点来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

如图14中所示出的,当基于每个4×4尺寸的块执行块分类时,可通过基于子采样使用每个N×M尺寸的块内的特定位置处的样点来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

如图15中所示出,当基于每个4×4尺寸的块执行块分类时,可通过基于子采样使用每个N×M尺寸的块内的特定位置处的样点来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

如图16中所示出的,当基于每个4×4尺寸的块执行块分类时,通过基于子采样使用每个N×M尺寸的块内的特定位置处的样点来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

如图17中所示出的,当基于4×4尺寸的块执行块分类时,可通过基于子采样使用每个N×M尺寸的块内的特定位置处的样点来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

如图18中所示出,当基于2×2尺寸的块执行块分类时,可通过基于子采样使用每个N×M尺寸的块内的特定位置处的样点来计算针对垂直、水平、第一对角线和第二对角线方向的梯度值的和g

图19至图30是示出确定在特定样点位置处相对于水平、垂直、第一对角线和第二对角线方向的梯度值的方法的示图。特定样点位置可以是块分类单元内的子采样的样点位置,或者可以是计算一维拉普拉斯运算的和的运算范围内的子采样的样点位置。另外,特定样点位置是每个块内的样点位置。可选地,特定样点位置可从块到块变化。此外,无论将被计算的一维拉普拉斯运算的方向如何,特定样点位置可相同。此外,无论一维拉普拉斯运算的方向如何,特定样点位置针对每个块可相同。

如图19中所示出的,当基于4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图19中所示出的,无论一维拉普拉斯运算的方向如何,执行一维拉普拉斯运算的特定样点位置相同。另外,如图19中所示出的,执行一维拉普拉斯计算的样点位置的样式可被称为棋盘样式或梅花形样式。另外,执行一维拉普拉斯运算的所有样点位置是块分类单元或块单元内的计算一维拉普拉斯和的运算范围内的水平方向(X轴方向)和垂直方向(Y轴方向)两个方向上的偶数或奇数样点位置。

如图20中所示出的,当基于4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图20中所示出的,无论一维拉普拉斯运算方向如何,执行一维拉普拉斯运算的特定样点位置相同。另外,如图20中所示出的,执行一维拉普拉斯计算的样点位置的样式可被称为棋盘样式或梅花形样式。另外,执行一维拉普拉斯运算的样点位置是块分类单元或块单元内的一维拉普拉斯运算范围中的水平方向(X轴方向)和垂直方向(Y轴方向)两个方向上的偶数或奇数样点位置。

如图21中所示出的,当基于4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图22中所示出的,当基于4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图23中所示出的,当基于每个4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图23中所示出的,无论一维拉普拉斯运算方向如何,执行一维拉普拉斯运算的具体样点位置相同。另外,如图23中所示出的,执行一维拉普拉斯计算的样点位置的样式可被称为棋盘样式或梅花形样式。另外,在块分类单元或块单元中的一维拉普拉斯运算范围内的水平方向(X轴方向)和垂直方向(Y轴方向)中的两个方向或任意一个方向上,执行一维拉普拉斯运算的所有样点位置是偶数或奇数样点位置。

如图24中所示出的,当基于每个4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图24中所示出的,无论一维拉普拉斯运算方向如何,执行一维拉普拉斯运算的具体样点位置相同。另外,如图24中所示出的,执行一维拉普拉斯运算的样点位置的样式可被称为棋盘样式或梅花形样式。另外,执行一维拉普拉斯运算的样点位置是块分类单元或块单元的一维拉普拉斯运算范围中的水平方向(X轴方向)和垂直方向(Y轴方向)的两个方向或任意一个方向上的偶数或奇数的样点位置。

如图25中所示出的,当基于每个4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图26中所示出的,当基于每个4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图27中所示出的,当基于每个4×4尺寸的块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图28中所示出的,当基于每个4×4尺寸块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图29中所示出的,当基于每个4×4尺寸块执行块分类时,在一个或更多个特定样点位置处计算梯度值的和g

如图30中所示出的,当基于每4×4尺寸块执行块分类时,在一或多个特定样点位置处计算梯度值的和g

根据本发明的实施例,可基于时间层标识符来执行计算梯度值的方法中的至少一个。

例如,当基于每个2×2尺寸的块执行块分类时,等式2至等式5可由如等式14中所示出的一个等式共同表达。

[等式14]

在等式14中,dir表示水平方向、垂直方向、第一对角线方向和第二对角线方向,并且g

在这种情况下,在当前画面(或重建画面)的时间层标识符指示顶层时,在当前画面(或重建画面)内基于每个2×2尺寸的块执行块分类的情况下,等式14可被表达为等式15。

[等式15]

g

在等式15中,G

图31是示出针对时间层标识符指示顶层的情况确定沿着水平、垂直、第一对角线和第二对角线方向的梯度值的示例性方法的示图。

参照图31,计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

根据本发明的实施例,通过在将权重施加于一维拉普拉斯运算的结果的同时计算加权和来计算梯度值的统计值,其中,一维拉普拉斯运算的结果是对计算一维拉普拉斯运算样点的范围内的一个或更多个样点执行的。在这种情况下,可使用加权平均值、中值、最小值、最大值和众数值中的至少一个来代替加权和。

施加权重或计算加权和可基于与当前块和邻近块相关联的各种条件或编码参数来确定。

例如,可以以样点、样点组、线和块中的至少一个为单位来计算加权和。在这种情况下,可通过以样点、样点组、线和块中的至少一个为单位改变权重来计算加权和。

例如,权重可根据当前块的尺寸、当前块的形状和样点的位置中的至少一个而变化。

例如,可根据在编码器和解码器中预设的条件来计算加权和。

例如,基于诸如当前块和邻近块中的至少一个的块尺寸、块形状和帧内预测模式的编码参数中的至少一个自适应地确定权重。

例如,基于诸如当前块和邻近块中的至少一个的块尺寸、块形状和帧内预测模式的编码参数中的至少一个自适应地确定是否计算加权和。

例如,当计算一维拉普拉斯运算的和的运算范围大于块分类单元的尺寸时,施加于块分类单元内的样点的权重中的至少一个权重可大于施加于块分类单元外的样点的权重中的至少一个权重。

可选地,例如,当计算一维拉普拉斯运算的和的运算范围等于块分类单元的尺寸时,施加于块分类单元内的样点的权重全部相同。

权重和/或是否执行加权和计算的信息可在编码器中被熵编码,然后被用信号传送给解码器。

根据本发明的实施例,在计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

这里,不可用样点是指设置在CTU、CTB、条带、并行块、并行块组或画面的边界之外的样点。可选地,不可用样点可指属于CTU、CTB、条带、并行块、并行块组和画面中的至少一个的样点,其中,所述CTU、CTB、条带、并行块、并行块组和画面中的至少一个不同于当前样点所属的CTU、CTB、条带、并行块、并行块组和画面中的至少一个。

根据本发明的实施例,在分别计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

例如,在计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

可选地,例如,在计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

进一步可选地,例如,在计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

根据本发明的实施例,在计算一维拉普拉斯运算值中的至少一个时,当在当前样点周围存在一个或更多个不可用样点时,执行填充,使得与不可用样点相邻的可用样点的样点值被复制到不可用样点,并且使用填充的样点执行一维拉普拉斯运算。

根据本发明的实施例,在一维拉普拉斯计算时,可以不使用预定样点。

例如,在一维拉普拉斯计算时,可以不使用填充样点。

可选地,例如,在计算一维拉普拉斯运算值中的至少一个时,当在当前样点周围存在一个或更多个不可用样点时,可以不将所述一个或更多个不可用样点用于一维拉普拉斯运算。

进一步可选地,例如,在计算一维拉普拉斯运算值中的至少一个时,当在当前样点周围的样点位于CTU或CTB之外时,可以不将邻近样点用于一维拉普拉斯运算。

根据本发明的实施例,在计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

根据本发明的实施例,在计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

可选地,在计算沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

根据本发明的实施例,当存在被布置在用于一维拉普拉斯和的运算范围内并且被布置在CTU或CTB之外的不可用样点时,可将不可用样点用于一维拉普拉斯运算的计算而不应用去块滤波、自适应样点偏移和自适应环内滤波中的至少一个。

根据本发明的实施例,当在块分类单元内或CTU或CTB外存在不可用样点时,可执行一维拉普拉斯运算而不将去块滤波、自适应样点偏移和自适应环内滤波中的至少一个应用于不可用样点。

另一方面,在基于子采样计算梯度值时,不是对计算一维拉普拉斯运算的运算范围内的所有样点而是对运算范围内的子样点执行一维拉普拉斯运算。因此,可减少块分类所需的运算(诸如,乘法、移位运算、加法和绝对值运算)的数量。此外,还可减少使用重建样点所需的存储器访问带宽。因此,也降低编码器和解码器的复杂度。具体地,因为可减少块分类所需的时间,所以在编码器和解码器的硬件复杂度方面对子采样的样点执行一维拉普拉斯运算是有益的。

另外,当计算一维拉普拉斯运算的和的运算范围等于或小于块分类单元的尺寸时,可减少块分类所需的相加次数。此外,还可减少使用重建样点所需的存储器访问带宽。因此,也可以降低编码器和解码器的复杂度。

另一方面,在基于子采样的梯度值计算方法中,通过根据相对于垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值改变执行一维拉普拉斯运算的样点的样点位置、样点数量和样点位置的方向中的至少一个,来计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

另外,在基于子采样的梯度值计算方法中,无论针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值如何,通过使用执行一维拉普拉斯运算的样点位置、样点数量和样点位置的方向中的至少一个相同因子来计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

另外,通过使用上述一个或更多个梯度值计算的任意组合,可针对垂直方向、水平方向、第一对角线方向和第二对角线方向执行一维拉普拉斯运算,并且可计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

根据本发明的实施例,将沿着垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

例如,在计算梯度值的和之后,将针对垂直方向的梯度值的和g

[等式16]

在这种情况下,为了将针对垂直方向的梯度值的和g

[等式17]

可选地,例如,将针对第一对角线方向的梯度值的和g

[等式18]

在这种情况下,为了将针对第一对角线方向的梯度值的和g

[等式19]

根据本发明的一个实施例,为了计算方向性值D,如下所述,利用两个阈值t

方向性值D为正整数或零。例如,方向性值D可为从0到4的范围内的值。例如,方向性值D可为从0到2的范围内的值。

另外,方向性值D可根据区域的特性来确定。例如,方向性值Ds 0至Ds 4表示如下:0表示纹理区域;1表示强水平/垂直方向性;2表示弱水平/垂直方向性;3表示强第一/第二对角线方向性;并且4表示弱第一/第二对角线方向性。方向性值D通过下面描述的步骤来确定。

步骤1:当满足

步骤2:当满足

步骤3:当满足

步骤4:当满足

其中,阈值t

当基于2×2尺寸的块执行块分类时,活动性值A可被表示为表达式20。

[等式20]

例如,k和l为相同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度相等。

可选地,例如,k和l为彼此不同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度不同。

进一步可选地,例如,k为从i-2至i+3的范围,并且l为从j-2至j+3的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为6×6尺寸。

进一步可选地,例如,k为从i-1至i+2的范围,并且l为从j-1至j+2的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为4×4尺寸。

进一步可选地,例如,k为从i至i+1的范围,并且l为从j至j+1的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为2×2尺寸。在这种情况下,计算一维拉普拉斯运算的和的运算范围可等于块分类单元的尺寸。

例如,计算一维拉普拉斯运算的结果的和的运算范围可具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

另外,当基于4×4尺寸的块执行块分类时,活动性值A可被表示为表达式21。

[等式21]

例如,k和l为相同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度相等。

可选地,例如,k和l为彼此不同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度不同。

进一步可选地,例如,k为从i-2至i+5的范围,并且l为从j-2至j+5的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为8×8尺寸。

进一步可选地,例如,k为从i至i+3的范围,并且l为从j至j+3的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为4×4尺寸。在这种情况下,计算一维拉普拉斯运算的和的运算范围可等于块分类单元的尺寸。

例如,计算一维拉普拉斯运算的结果的和的运算范围可具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

另外,当基于2×2尺寸的块执行块分类时,活动性值A可被表示为表达式22。这里,用于第一对角线方向和第二对角线方向的一维拉普拉斯运算值中的至少一个可以附加地用于活动性值A的计算。

[等式22]

例如,k和l为相同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度相等。

可选地,例如,k和l为彼此不同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度不同。

进一步可选地,例如,k为从i-2至i+3的范围,并且l为从j-2至j+3的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为6×6尺寸。

进一步可选地,例如,k为从i-1至i+2的范围,并且l为从j-1至j+2的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为4×4尺寸。

进一步可选地,例如,k为从i至i+1的范围,并且l为从j至j+1的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为2×2尺寸。在这种情况下,计算一维拉普拉斯运算的和的运算范围可等于块分类单元的尺寸。

例如,计算一维拉普拉斯运算的结果的和的运算范围可具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

另外,当基于4×4尺寸的块执行块分类时,活动性值A可被表示为表达式23。这里,可将针对第一对角线方向和第二对角线方向的一维拉普拉斯运算值中的至少一个另外用于计算活动性值A。

[等式23]

例如,k和l为相同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度相等。

可选地,例如,k和l为彼此不同的范围。也就是说,计算一维拉普拉斯运算的和的运算范围的水平长度与垂直长度不同。

进一步可选地,例如,k为从i-2至i+5的范围,并且l为从j-2至j+5的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为8×8尺寸。

进一步可选地,例如,k为从i至i+3的范围,并且l为从j至j+3的范围。在这种情况下,计算一维拉普拉斯运算的和的运算范围为4×4尺寸。在这种情况下,计算一维拉普拉斯运算的和的运算范围可等于块分类单元的尺寸。

例如,计算一维拉普拉斯运算的结果的和的运算范围可具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、十边形和十二边形中选择的二维几何形状。

另一方面,可对活动性值A进行量化以生成在从I到J的范围内的量化活动性值A

可使用预定方法来确定量化活动性值A

例如,可通过等式24确定量化活动性值A

[等式24]

在等式24中,通过将活动性值A乘以特定常数W并对A和W的乘积执行右移运算R来计算量化活动性值A

进一步可选地,例如,使用查找表(LUT)计算量化活动性值A

另一方面,在色度分量的情况下,利用K个滤波器针对每个色度分量执行滤波,而不执行块分类处理。这里,K为正整数或零。例如,K为1。另外,在色度分量的情况下,可以不对色度分量执行块分类,并且可使用从色度分量的相应位置处的亮度分量导出的块分类索引来执行滤波。另外,在色度分量的情况下,可以不用信号传送针对色度分量的滤波器信息,并且可使用固定类型的滤波器。

图32是示出根据本发明的实施例的可用于代替一维拉普拉斯运算的各种计算方法的示图。

根据本发明的实施例,可使用图32中所示出的计算方法中的至少一种来代替一维拉普拉斯运算。参照图32,计算方法包括二维拉普拉斯、二维索贝尔(Sobel)、二维边缘提取和二维高斯拉普拉斯(LoG,Laplacian of Gaussian)运算。这里,LoG运算表示将高斯滤波器和拉普拉斯滤波器的组合应用于重建样点。除了这些运算方法之外,可使用一维边缘提取滤波器和二维边缘提取滤波器中的至少一个来代替一维拉普拉斯运算。可选地,可使用高斯差分(DoG,Difference of Gaussian)运算。这里,DoG运算表示将具有不同内部参数的高斯滤波器的组合应用于重建样点。

另外,为了计算方向性值D或活动性值A,可使用N×M尺寸的LoG运算。这里,M和L均为正整数。例如,使用图32的(i)中所示出的5×5的二维LoG和图32的(j)中所示出的9×9的二维LoG运算中的至少一个。可选地,例如,可使用一维LoG运算来代替二维LoG运算。

根据本发明的实施例,可基于方向性和二维拉普拉斯活动性对亮度块的每个2×2尺寸的块进行分类。例如,可通过使用索贝尔滤波器来获得水平/垂直梯度特性。可使用等式25至等式26来获得方向性值D。

可计算代表矢量使得针对预定窗口尺寸(例如,6×6尺寸的块)内的梯度矢量满足等式25的条件。根据θ可识别方向和变形。

[等式25]

可使用如等式26中所示出的内积来计算代表矢量与窗口内的每个梯度矢量之间的相似度。

[等式26]

方向性值D可使用由等式26计算的S值来确定。

步骤1:当满足S>th

步骤2:当满足θ∈(D0 or D1)和S>th

步骤3:当满足θ∈(V or H)和S<th

这里,块分类索引的数量总共可以是25。

根据本发明的实施例,重建样点s′(i,j)的块分类可由等式27来表示。

[等式27]

对于k=0,…,K-1

在等式27中,I表示所有重建样点s′(i,j)的样点位置集合。D是将分类索引k∈{0,…,K-1}分配给样点位置(i,j)的分类器。另外,

当classification_idx=0时,使用基于方向性和活动性的块分类器D

当classification_idx=1时,基于样点的特征分类器D

[等式28]

其中,B是样点比特深度,分类号K被设置为27(K=27),运算符

当classification_idx=2时,可将基于排序的基于样点的特征分类器

[等式29]

分类器r

[等式30]

在等式30中,T

当classification_idx=3时,使用基于排序和区域变化的分类器

[等式31]

在等式31中,T

[等式32]

v(i,j)=4*s′(i,j)-(s′(i-1,j)+s′(i+1,j)+s′(i,j+1)+s′(i,j-1))

除了每个样点首先基于局部变量|v(i,j)|被分类为三个类中的一个之外,

根据本发明的实施例,以条带级,将包括使用三种像素分类方法(诸如,强度分类器、直方图分类器、方向活动性分类器)的最多为16个的滤波器的滤波器组用于当前条带。以CTU级,基于用信号传送的条带头中的控制标志,基于每个CTU使用包括新的滤波器模式、空间滤波器模式和条带滤波器模式的三种模式。

这里,强度分类器类似于SAO的带偏移。将样点强度范围划分为32个组,并且基于将被处理的样点的强度来确定针对每个样点的组索引。

另外,在相似性分类器的情况下,将5×5的菱形滤波器中的相邻样点与作为将被滤波的样点的滤波目标样点进行比较。可将将被滤波的样点的组索引初始化为0。当邻近样点与滤波目标样点之间的差值比预定义的阈值大时,组索引增加1。此外,当邻近样点与滤波目标样点之间的差值比预定义阈值大两倍时,将组索引另外加一。在这种情况下,相似性分类器具有25个组。

另外,在Rot BA分类器的情况下,计算针对一个2×2块的一维拉普拉斯运算的和的运算范围从6×6尺寸减小到4×4尺寸。此分类器最多有25个组。在多个分类器中最多可有25个组或32个组。然而,条带滤波器组中的滤波器的数量被限制为最多有16个组。也就是说,编码器将连续的组合并,使得合并的组的数量保持为16个或更少个。

根据本发明的实施例,当确定块分类索引时,基于当前块和邻近块的编码参数中的至少一个编码参数来确定块分类索引。块分类索引根据编码参数中的至少一个而变化。在这种情况下,编码参数包括预测模式(即,预测是帧内预测还是帧间预测)、帧间预测模式、帧内预测模式、帧内预测指示符、运动矢量、参考画面索引、量化参数、当前块的块尺寸、当前块的块形状、块分类单元的尺寸和编码块标志/样式中的至少一个。

在一个示例中,根据量化参数确定块分类。例如,当量化参数小于阈值T时,使用J个块分类索引。当量化参数大于阈值R时,使用H个块分类索引。针对其他情况,使用G个块分类索引。这里,T、R、J、H和G为正整数或零。此外,J大于或等于H。这里,量化参数值越大,使用的块分类索引的数量越少。

在另一示例中,根据当前块的尺寸确定块分类的数量。例如,在当前块的尺寸小于阈值T时,使用J个块分类索引。在当前块的尺寸大于阈值R时,使用H个块分类索引。针对其他情况,使用G个块分类索引。这里,T、R、J、H和G为正整数或零。此外,J大于或等于H。这里,块尺寸越大,使用的块分类索引的数量越少。

在另一示例中,根据块分类单元的尺寸确定块分类的数量。例如,当块分类单元的尺寸小于阈值T时,使用J个块分类索引。当块分类单元的尺寸大于阈值R时,使用H个块分类索引。针对其他情况,使用G个块分类索引。这里,T、R、J、H和G为正整数或零。另外,J大于或等于H。这里,块分类单元的尺寸越大,使用的块分类索引的数量越少。

根据本发明的实施例,将先前画面内的同位置的梯度值的和、当前块周围的邻近块的梯度值的和以及当前块分类单元周围的邻近块分类单元的梯度值的和中的至少一个确定为当前块的梯度值的和与当前块分类单元的梯度值的和中的至少一个。这里,先前画面内的同位样点是先前画面内的当前画面中的重建样点的空间位置或邻近位置。

例如,在针对当前块单元的垂直方向和水平方向的梯度值的和g

在另一示例中,在针对当前块单元的垂直方向和水平方向的梯度值的和g

在另一示例中,在当前块单元内的重建样点的至少一个统计值与当前块分类单元周围的邻近块分类单元内的重建样点的至少一个统计值之间的差等于或小于阈值E时,将当前块单元周围的邻近块分类单元的梯度值的和中的至少一个确定为当前块单元的梯度值的和中的至少一个。这里,阈值E为正整数或零。从当前块的空间邻近块和/或时间邻近块推导阈值E。此外,阈值E是在编码器和解码器中预先定义的值。

根据本发明的实施例,将先前画面内的同位样点的块分类索引、当前块的邻近块的块分类索引和当前块分类单元的邻近块分类单元的块分类索引中的至少一个确定为当前块的块分类索引和当前块分类单元的块分类索引中的至少一个。

例如,在针对当前块单元的垂直方向和水平方向的梯度值的和g

可选地,例如,在针对当前块单元的垂直方向和水平方向的梯度值的和g

进一步可选地,例如,在当前块单元内的重建样点的至少一个统计值与当前块分类单元周围的邻近块分类单元内的重建样点的至少一个统计值之间的差等于或小于阈值E时,将当前块单元周围的邻近块分类单元的块分类索引确定为当前块单元的块分类索引。这里,阈值E为正整数或零。

进一步可选地,例如,可使用上述块分类索引确定方法的组合中的至少一个来确定块分类索引。

在下文中,将描述滤波执行子步骤。

根据本发明的示例性实施例,将与确定的块分类索引相应的滤波器用于对重建/解码画面中的样点或块执行滤波。当执行滤波时,选择L个滤波器中的一个滤波器。L为正整数或零。

例如,基于每个块分类单元选择L个滤波器中的一个滤波器,并且基于每个重建/解码样点对重建/解码画面执行滤波。

可选地,例如,基于每个块分类单元选择L个滤波器中的一个滤波器,并且基于每个块分类单元对重建/解码画面执行滤波。

进一步可选地,例如,基于每个块分类单元选择L个滤波器中的一个滤波器,并且基于每个CU对重建/解码画面执行滤波。

进一步可选地,例如,基于每个块分类单元选择L个滤波器中的一个滤波器,并且基于每个块对重建/解码画面执行滤波。

进一步可选地,例如,基于每个块分类单元选择L个滤波器中的U个滤波器,并且基于每个重建/解码样点对重建/解码画面执行滤波。这里,U为正整数。

进一步可选地,例如,基于每个块分类单元选择L个滤波器中的U个滤波器,并且基于每个块分类单元对重建/解码画面执行滤波。这里,U为正整数。

进一步可选地,例如,基于每个块分类单元选择L个滤波器中的U个滤波器,并且基于每个CU对重建/解码画面执行滤波。这里,U为正整数。

进一步可选地,例如,基于每个块分类单元选择L个滤波器中的U个滤波器,并且基于每个块对重建/解码画面执行滤波。这里,U为正整数。

这里,L个滤波器被称为滤波器组。

根据本发明的实施例,L个滤波器在滤波器系数、滤波器抽头的数量(即,滤波器长度)、滤波器形状和滤波器类型中的至少一个方面彼此不同。

例如,以块、CU、PU、TU、CTU、条带、并行块、并行块组、画面和序列为单位,L个滤波器在滤波器系数、滤波器抽头的数量(滤波器长度)、滤波器系数、滤波器形状和滤波器类型中的至少一个方面是共同的。

可选地,例如,以CU、PU、TU、CTU、条带、并行块、并行块组、画面和序列为单位,L个滤波器在滤波器系数、滤波器抽头的数量(滤波器长度)、滤波器形状和滤波器类型中的至少一个方面是共同的。

可使用相同滤波器或不同滤波器以CU、PU、TU、CTU、条带、并行块、并行块群组、画面和序列为单位执行滤波。

基于是否以样点、块、CU、PU、TU、CTU、条带、并行块、并行块组、画面和序列为单位执行滤波的滤波执行信息,可执行或可以不执行滤波。是否执行滤波的滤波执行信息是以样点、块、CU、PU、TU、CTU、条带、并行块、并行块组、画面和序列为单位从编码器向解码器用信号传送的信息。

根据本发明的实施例,使用滤波器抽头的数量不同并且具有相同滤波器形状(即,方块形或菱形滤波器形状)的N个滤波器。这里,N为正整数。例如,在图33中示出5×5个、7×7个或9×9个滤波器抽头的菱形滤波器。

图33是示出根据本发明实施例的菱形滤波器的示图。

参照图33,为了将滤波器抽头的数量为5×5、7×7或9×9的三个菱形滤波器中的滤波器的信息从编码器用信号传送到解码器,基于每个画面/并行块/并行块组/条带/序列对滤波器索引进行熵编码/解码。也就是说,在比特流中以序列参数集、画面参数集、条带头、条带数据、并行块头、并行块组头、头等对滤波器索引进行熵编码/解码。

根据本发明的实施例,当在编码器/解码器中将滤波器抽头的数量固定为1时,编码器/解码器使用滤波器索引执行滤波,而无需对滤波器索引进行熵编码/解码。这里,将7×7个滤波器抽头的菱形滤波器用于亮度分量,并且将5×5个滤波器抽头的菱形滤波器用于色度分量。

根据本发明的实施例,将三个菱形滤波器中的至少一个用于对亮度分量和色度分量中的至少一个的至少一个重建/解码样点进行滤波。

例如,将在图33中所示出的三个菱形类型滤波器中的至少一个用于对重建/解码的亮度样点进行滤波。

可选地,例如,将在图33中所示出的5×5的菱形形状的滤波器用于对重建/解码色度样点进行滤波。

进一步可选地,例如,将用于对亮度样点进行滤波的滤波器用于对与亮度样点相应的重建/解码色度样点进行滤波。

另外,在图33中所示出的每个滤波器形状中的数字表示滤波器系数索引,并且滤波器系数索引相对于滤波器中心对称。也就是说,在图33中所示出的滤波器是点对称滤波器。

另一方面,在图33的(a)中所示出的9×9菱形滤波器的情况下对总共21个滤波器系数进行熵编码/解码,在图33的(b)中图示的7×7的菱形滤波器的情况下对总共13个滤波器系数进行熵编码/解码,并且在图33的(c)中图示的5×5的菱形滤波器的情况下对总共7个滤波器系数进行熵编码/解码。也就是说,最多需要对21个滤波器系数进行熵编码/解码。

此外,针对图33的(a)中所示出的9×9的菱形滤波器,每个样点总共需要21次乘法,针对图33的(b)中所示出的7×7的菱形滤波器,每个样点总共需要13次乘法,针对图33的(c)中所示出的5×5的菱形滤波器,每个样点总共需要7次乘法。也就是说,对每个样点使用最多21次乘法来执行滤波。

另外,如图33的(a)中所示出的,由于9×9菱形滤波器的尺寸为9×9,因此硬件实现需要为垂直滤波器长度的一半的四个线缓冲器。也就是说,最多需要四个线缓冲器。

根据本发明的实施例,滤波器具有表示5×5个滤波器抽头的相同的滤波器长度,但可具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中选择的不同的滤波器形状。例如,在图34中示出具有5×5个滤波器抽头的正方形、八边形、雪花形、菱形滤波器。

滤波器抽头的数量不限于5×5个。可使用具有从3×3、4×4、5×5、6×6、7×7、8×8、9×9、5×3、7×3、9×3、7×5、9×5、9×7和11×7中选择的H×V个滤波器抽头的滤波器。这里,H和V为正整数并且为相同值或不同值。另外,H和V中的至少一个是在编码器/解码器中预先定义的值和从编码器用信号传送到解码器的值。另外,使用H和V中的一个定义H和V中的另一个。此外,可使用H和V的值定义H或V的最终值。

另一方面,为了将在图34中所示出的滤波器中的哪个滤波器将被使用的的信息从编码器用信号传送到解码器,可基于每个画面/并行块/并行块组/条带/序列对滤波器索引熵编码/解码。也就是说,将滤波器索引熵编码/解码为比特流内的序列参数集、画面参数集、条带头、条带数据、并行块头和并行块组头。

另一方面,将在图34中所示出的正方形、八边形、雪花形、菱形滤波器中的至少一个滤波器用于对亮度分量和色度分量中的至少一个的至少一个重建/解码样点进行滤波。

另一方面,在图34中所示出的每个滤波器形状中的数字表示滤波器系数索引,并且滤波器系数索引相对于滤波器中心对称。也就是说,在图34中所示出的滤波器是点对称滤波器。

根据本发明的实施例,当基于每个样点对重建画面进行滤波时,可在编码器中的率失真优化方面确定针对每个画面、条带、并行块或并行块组使用哪个滤波器形状。另外,使用所确定的滤波器形状来执行滤波。如图34中所示出的,因为编码效率的提高程度和滤波器信息量(滤波器系数的数量)根据滤波器形状而变化,所以必需针对每个画面、条带、并行块或并行块组来确定最佳滤波器形状。也就是说,根据视频分辨率、视频特性、比特率等不同地确定在图34中所示出的滤波器形状中的最佳滤波器形状。

根据本发明的实施例,与使用如图33中所示出的滤波器相比,使用如图34中所示出的滤波器具有降低编码器/解码器的计算复杂度的优点。

例如,在图34的(a)中所示出的5×5正方形滤波器的情况下对总共13个滤波器系数进行熵编码/解码,在图34的(b)中所示出的5×5八边形滤波器的情况下对总共11个滤波器系数进行熵编码/解码,在图34的(c)中所示出的5×5雪花形滤波器的情况下对总共9个滤波器系数进行熵编码/解码,并且在图34的(c)中所示出的5×5菱形滤波器的情况下对总共7个滤波器系数进行熵编码/解码。也就是说,将被熵编码/解码的滤波器系数的数量根据滤波器形状而变化。这里,在图34的示例中的滤波器的滤波器系数的最大数量(即,13)小于在图33的示例中的滤波器的滤波器系数的最大数量(即,21)。因此,当使用图34的示例中的滤波器时,将被熵编码/解码的滤波器系数的数量减少。因此,在这种情况下,可降低编码器/解码器的计算复杂度。

可选地,例如,针对图34(a)中所示出的5×5正方形滤波器,每个样点总共需要13次乘法,对于图34的(b)中所示出的5×5八边形滤波器,每个样点总共需要11次乘法,对于图34的(c)中所示出的5×5雪花形滤波器,每个样点总共需要9次乘法,并且对于图34的(d)中所示出的5×5菱形滤波器,每个样点总共需要7次乘法。在图34的示例中的滤波器的滤波器系数的最大数量(即,13)小于在图33的示例中的滤波器的滤波器系数的最大数量(即,21)。因此,当使用图34的示例中的滤波器时,每个样点的乘法次数减少。因此,在这种情况下,可降低编码器/解码器的计算复杂度。

另外可选地,例如,由于在图34的示例中的所有滤波器的尺寸为5×5,所以硬件实现需要为垂直滤波器长度的一半的两个线缓冲器。这里,使用如图34的示例中的滤波器所需的线缓冲器的数量(即,两个线缓冲器)小于使用如图33的示例中的滤波器所需的线缓冲器的数量(即,四个线缓冲器)。因此,当使用图34的示例中的滤波器时,可减小线缓冲器的尺寸、编码器/解码器的硬件复杂度、存储器容量需求和存储器访问带宽。

根据本发明的实施例,作为在上述滤波处理中使用的滤波器,使用具有从菱形、矩形、正方形、梯形、对角线形、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形、十边形和十二边形中选择的至少一种形状的滤波器。例如,如图35a和/或图35b中所示出的,滤波器可具有从正方形、八边形、雪花形、菱形、六边形、矩形、十字形、数字符号形、四叶草形和对角线形中选择的形状。

例如,使用图35a和/或图35b中所示出的滤波器中的垂直长度为5的滤波器中的至少一个来构造滤波器组,然后使用该滤波器组执行滤波。

可选地,例如,使用图35a和图35b中所示出的滤波器中的垂直滤波器长度为3的滤波器中的至少一个滤波器来构造滤波器组,然后使用该滤波器组执行滤波。

进一步可选地,例如,使用图35a和/或图35b中所示出的垂直滤波器长度为3或5的滤波器中的至少一个来构造滤波器组,并且使用该滤波器组执行滤波。

在图35a和图35b中所示出的滤波器被设计为具有3或5的垂直滤波器长度。然而,在本发明的实施例中使用的滤波器形状不限于此。滤波器可被设计成具有任意的垂直滤波器长度M。这里,M为正整数。

另一方面,使用在图35a和/或图35b中所示出的滤波器来准备H个滤波器组,将使用哪个滤波器的信息从编码器用信号传送到解码器。在这种情况下,基于每个画面、并行块、并行块组、条带或序列对滤波器索引进行熵编码/解码。这里,H为正整数。也就是说,将滤波器索引熵编码/解码为比特流内的序列参数集、画面参数集、条带头、条带数据、并行块头和并行块组头。

将菱形、矩形、正方形、梯形、对角线、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形和十边形滤波器中的至少一个用于对亮度分量和色度分量中的至少一个的重建/解码样点进行滤波。

另一方面,在图35a和/或图35b中所示出的每个滤波器形状中的数字表示滤波器系数索引,并且滤波器系数索引相对于滤波器中心对称。也就是说,图35a和/或图35b中所示出的滤波器形状是点对称滤波器。

根据本发明的实施例,与使用如图33的示例中的滤波器相比,使用如图35a和/或图35b的示例中的滤波器具有降低编码器/解码器的计算复杂度的优点。

例如,当使用在图35a和/或图35b中所示出的滤波器中的至少一个时,与使用在图33中所示出的9×9菱形滤波器中的一个的情况相比,将被熵编码/解码的滤波器系数的数量减少。因此,可降低编码器/解码器的计算复杂度。

可选地,例如,当使用在图35a和/或图35b中所示出的滤波器中的至少一个时,与使用在图33中所示出的9×9菱形滤波器中的一个的情况相比,对滤波器系数进行滤波所需的乘法次数减少。因此,可降低编码器/解码器的计算复杂度。

进一步可选地,例如,当使用在图35a和/或图35b中所示出的滤波器中的至少一个时,与使用在图33中所示出的9×9菱形滤波器中的一个的情况相比,对滤波器系数进行滤波所需的线缓冲器的线数减少。此外,还可降低硬件复杂度、存储器需求和存储器访问带宽。

根据本发明的实施例,可将从图36中所示出的水平/垂直对称滤波器中选择的至少一个滤波器用于代替点对称滤波器进行滤波。可选地,除了点对称滤波器和水平/垂直对称滤波器之外,还可使用对角线对称滤波器。在图36中,每个滤波器形状中的数字表示滤波器系数索引。

例如,使用在图36中所示出的滤波器中的垂直滤波器长度为5的滤波器中的至少一个来构造滤波器组,然后使用该滤波器组来执行滤波。

可选地,例如,使用在图36中所示出的滤波器中的垂直滤波器长度为3的滤波器中的至少一个滤波器构成滤波器组,然后使用该滤波器组进行滤波。

进一步可选地,例如,使用在图36中所示出的垂直滤波器长度为3或5的滤波器中的至少一个来构造滤波器组,并且使用该滤波器组来执行滤波。

在图36中所示出的滤波器形状被设计为具有3或5的垂直滤波器长度。然而,在本发明的实施例中使用的滤波器形状不限于此。滤波器可被设计成具有任意的垂直滤波器长度M。这里,M为正整数。

为了准备包括在图36中所示出的滤波器中的H个滤波器的滤波器组,并且将滤波器组的滤波器中的哪个滤波器将被使用的信息从编码器用信号传送到解码器,基于每个画面、并行块、并行块组、条带或序列对滤波器索引进行熵编码/解码。这里,H为正整数。也就是说,将滤波器索引熵编码/解码为比特流内的序列参数集、画面参数集、条带头、条带数据、并行块头和并行块组头。

菱形、矩形、正方形、梯形、对角线、雪花形、数字符号形、四叶草形、十字形、三角形、五边形、六边形、八边形和十边形滤波器中的至少一个用于对亮度分量和色度分量中的至少一个的重建/解码样点进行滤波。

根据本发明的实施例,与使用如图33中所示出的滤波器相比,使用如图36中所示出的滤波器具有降低编码器/解码器的计算复杂度的优点。

例如,当使用在图36中所示出的滤波器中的至少一个时,与使用在图33中所示出的9×9菱形滤波器中的一个的情况相比,将被熵编码/解码的滤波器系数的数量减少。因此,可降低编码器/解码器的计算复杂度。

可选地,例如,当使用在图36中所示出的滤波器中的至少一个时,与使用在图33中所示出的9×9菱形滤波器中的一个的情况相比,对滤波器系数进行滤波所需的乘法次数减少。因此,可降低编码器/解码器的计算复杂度。

进一步可选地,例如,当使用在图36中所示出的滤波器中的至少一个时,与使用在图33中所示出的9×9菱形滤波器中的一个的情况相比,对滤波器系数进行滤波所需的线缓冲器的线数减少。此外,还可降低硬件复杂度、存储器需求和存储器访问带宽。

根据本发明的实施例,在基于每个块分类单元执行滤波之前,根据基于每个块分类单元计算的梯度值的和(即,垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

另一方面,在对滤波器系数执行几何变换之后,使用几何变换的滤波器系数对重建/解码样点进行滤波。在这种情况下,对作为滤波目标的重建/解码样点中的至少一个样点执行几何变换,然后使用滤波器系数对重建/解码样点进行滤波。

根据本发明的实施例,根据等式33至35执行几何变换。

[等式33]

f

[等式34]

f

[等式35]

f

这里,等式33是示出用于第二对角翻转的方程式的示例,等式34是示出垂直翻转的示例,并且等式35是示出90°旋转的示例。在等式34至等式35中,K为水平方向和垂直方向上的滤波器抽头的数量(滤波器长度),并且“0≤K且1≤K-1”表示滤波器系数的坐标。例如,(0,0)表示左上角,(K-1,K-1)表示右下角。

表1示出根据梯度值的和被应用于滤波器系数f(k,l)的几何变换的示例。

[表1]

/>

图37是示出根据本发明的实施例的通过对正方形滤波器、八边形滤波器,雪花形滤波器和菱形滤波器执行几何变换获得的滤波器的示图。

参照图37,对正方形滤波器、八边形滤波器、雪花形滤波器和菱形滤波器的滤波器系数执行第二对角翻转、垂直翻转和90°旋转之中的至少一个几何变换。然后,通过几何变换而获得的滤波器系数可被用于滤波。另一方面,在对滤波器系数执行几何变换之后,使用几何变换的滤波器系数对重建/解码样点进行滤波。在这种情况下,对作为滤波目标的重建/解码样点中的至少一个执行几何变换,然后使用滤波器系数对重建/解码样点进行滤波。

根据本发明的一个实施例,对重建/解码样点R(i,j)执行滤波以生成滤波的解码样点R′(i,j)。经滤波的解码样点可由等式36来表示。

[等式36]

在等式36中,L为水平或垂直方向上的滤波器抽头的数量(滤波器长度),并且f(k,l)为滤波器系数。

另一方面,当执行滤波时,可将偏移值Y添相加到经滤波的解码样点R′(i,j)。可对偏移值Y进行熵编码/解码。此外,使用当前重建/解码样点值和邻近重建/解码样点值中的至少一个统计值来计算偏移值Y。另外,基于当前重建/解码样点和邻近重建/解码样点中的至少一个编码参数来确定偏移值Y。这里,阈值E为正整数或零。

另外,可对经滤波的解码样点进行裁剪以以N个比特表示。这里,H为正整数。例如,当通过对重建/解码样点执行滤波而产生的经滤波的解码样点以10比特被裁剪时,最终解码样点值可为在从0到1023的范围内的值。

根据本发明的实施例,基于亮度分量的滤波器信息来执行对色度分量的滤波。

例如,仅当在先前阶段中执行对亮度分量的重建画面的滤波时,才可执行对色度分量的重建画面的滤波。这里,可对U(Cr)、V(Cb)或这两个分量执行色度分量的重建画面滤波。

可选地,例如,在色度分量的情况下,使用相应的亮度分量的滤波器系数、滤波器抽头的数量、滤波器形状以及是否进行滤波的信息中的至少一个来执行滤波。

根据本发明的示例性实施例,当执行滤波时,当在当前样点附近存在不可用样点时,执行填充,然后使用填充样点执行滤波。填充是指将相邻可用样点的样点值复制到不可用样点的方法。可选地,使用基于与不可用样点相邻的可用样点值而获得的样点值或统计值。可针对P个列和R个行重复地执行填充。这里,M和L均为正整数。

这里,不可用样点是指被布置在CTU、CTB、条带、并行块、并行块组或画面的边界之外的样点。可选地,不可用样点是指属于与当前样点所属的CTU、CTB、条带、并行块、并行块组和画面中的至少一个不同的CTU、CTB、条带、并行块、并行块组和画面中的至少一个的样点。

另外,在执行滤波时,可以不使用预定样点。

例如,当执行滤波时,可以不使用填充样点。

可选地,例如,在执行滤波时,当在当前样点附近存在不可用样点时,在滤波时可以不使用不可用样点。

进一步可选地,例如,当执行滤波时,当在当前样点附近的样点位于CTU或CTB之外时,在滤波时可以不使用当前样点附近的邻近样点。

另外,当执行滤波时,可使用应用了去块滤波、自适应样点偏移和自适应环内滤波中的至少一个的样点。

另外,当执行滤波时,当存在于当前样点附近的样点中的至少一个位于CTU或CTB边界之外时,可以不应用去块滤波、自适应样点偏移和自适应环内滤波中的至少一个。

另外,滤波目标样点包括位于CTU或CTB边界之外的不可用样点,不对不可用样点执行去块滤波、自适应样点偏移及自适应环内滤波中的至少一个并且将不可用样点按照原样用于滤波。

根据本发明的实施例,当执行滤波时,对位于CU、PU、TU、块、块分类单元、CTU和CTB中的至少一个的边界附近的样点中的至少一个样点执行滤波。在这种情况下,边界包括垂直边界、水平边界和对角线边界中的至少一个。另外,位于边界附近的样点可以是位于与边界相邻的U个行、U个列和U个样点中的至少一个。这里,U为正整数。

根据本发明的实施例,当执行滤波时,对位于块内的样点中的至少一个样点执行滤波,并且不对位于CU、PU、TU、块、块分类单元、CTU和CTB中的至少一个的边界之外的样点执行滤波。在这种情况下,边界包括垂直边界、水平边界和对角线边界中的至少一个。另外,位于边界附近的样点可以是位于与边界相邻的U个行、U个列和U个样点中的至少一个。这里,U为正整数。

根据本发明的实施例,当执行滤波时,基于当前块和邻近块的编码参数中的至少一个编码参数来确定是否执行滤波。在这种情况下,编码参数包括预测模式(即,预测是帧内预测还是帧间预测)、帧间预测模式、帧内预测模式、帧内预测指示符、运动矢量、参考画面索引、量化参数、当前块的块尺寸、当前块的块形状、块分类单元的尺寸和编码块标志/样式中的至少一个。

另外,当执行滤波时,基于当前块和邻近块的编码参数中的至少一个编码参数来确定滤波器系数、滤波器抽头的数量(滤波器长度)、滤波器形状和滤波器类型中的至少一个。滤波器系数、滤波器抽头的数量(滤波器长度)、滤波器形状和滤波器类型中的至少一个根据编码参数中的至少一个而变化。

例如,根据量化参数来确定用于进行滤波的滤波器的数量。例如,当量化参数小于阈值T时,使用J个滤波器。当量化参数大于阈值R时,使用H个滤波器。在其他情况下,使用G个滤波器。这里,T、R、J、H和G为正整数或零。此外,J大于或等于H。这里,量化参数值越大,使用的滤波器的数量越少。

可选地,例如,根据当前块的尺寸来确定用于进行滤波的滤波器的数量。例如,在当前块的尺寸小于阈值T时,使用J个滤波器。在当前块的尺寸大于阈值R时,使用H个滤波器。在其他情况下,使用G个滤波器。这里,T、R、J、H和G为正整数或零。此外,J大于或等于H。这里,块尺寸越大,使用的块滤波器的数量越少。

可选地,例如,根据块分类单元的尺寸来确定用于进行滤波的滤波器的数量。例如,当块分类单元的尺寸小于阈值T时,使用J个滤波器。当块分类单元的尺寸大于阈值R时,使用H个滤波器。在其他情况下,使用G个滤波器。这里,T、R、J、H和G为正整数或零。另外,J大于或等于H。这里,块分类单元的尺寸越大,使用的块滤波器的数量越少。

进一步可选地,例如,通过使用上述滤波方法的任何组合来执行滤波。

在下文中,将描述滤波器信息编码/解码步骤。

根据本发明的实施例,滤波器信息被熵编码/解码以被布置在比特流内的条带头与条带数据的第一CTU语法元素之间。

另外,滤波器信息被熵编码/解码以被布置在比特流内的序列参数集、画面参数集、条带头、条带数据、并行块头、并行块组头、CTU或CTB中。

另一方面,滤波器信息包括从以下信息中选择的至少一条信息:关于是否执行亮度分量滤波的信息、关于是否执行色度分量滤波的信息、滤波器系数值、滤波器的数量、滤波器抽头的数量(滤波器长度)、滤波器形状信息、滤波器类型信息、是否基于每个条带、并行块、并行块组、画面、CTU、CTB、块或CU执行滤波的信息、执行基于CU的滤波的次数的信息、CU最大深度滤波信息、关于是否执行基于CU的滤波的信息、关于是否使用先前参考画面的滤波器的信息、先前参考画面的滤波器索引的信息、关于是否将固定滤波器的信息用于块分类索引信息、用于固定滤波器的索引信息、滤波器合并信息、关于是否分别将不同滤波器分别用于亮度分量和色度分量的信息以及滤波器对称形状信息。

这里,滤波器抽头的数量是指滤波器的水平长度、滤波器的垂直长度、滤波器的第一对角线长度、滤波器的第二对角线长度、滤波器的水平长度和垂直长度以及滤波器内的滤波器系数的数量中的至少一个。

另一方面,滤波器信息包括最多L个亮度滤波器。这里,L为正整数,并且具体为25。另外,滤波器信息包括最多L个色差滤波器。这里,L为正整数,并且具体为1。

另一方面,一个滤波器包括最多K个亮度滤波器系数。这里,K为正整数,并且具体为13。另外,滤波器信息包括最多K个色度滤波器系数。这里,K为正整数,并且具体为7。

例如,关于滤波器对称形状的信息是关于诸如点对称形状、水平对称形状、垂直对称形状或点对称形状、水平对称形状和垂直对称形状的组合的滤波器形状的信息。

另一方面,仅用信号传送滤波器系数中的一些滤波器系数。例如,当滤波器为对称形式时,用信号传送关于滤波器对称形状和对称滤波器系数组中的仅一个滤波器系数组的信息。可选地,例如,因为可隐式地推导出滤波器中心处的滤波器系数,所以不用信号传送滤波器中心处的滤波器系数。

根据本发明的实施例,在编码器中对滤波器信息中的滤波器系数值进行量化,并且对作为结果的量化的滤波器系数值进行熵编码。同样,对在解码器中量化的滤波器系数值进行熵解码,并且量化的滤波器系数值被反量化以被恢复为原始滤波器系数值。滤波器系数值被量化为可由固定的M个比特表示的值的范围,并且然后被反量化。另外,至少一个滤波器系数被量化为不同的比特并且被反量化。相反地,滤波器系数中的至少一个可被量化为相同的比特并且被反量化。根据量化参数来确定M个比特。此外,M个比特中的M是在编码器和解码器中预先定义的常数。这里,M可为正整数,具体可为8或10。M个比特可小于或等于在编码器/解码器中表示样点所需的比特的数量。例如,当表示样点所需的比特的数量为10时,那么M可为8。滤波器内的滤波器系数中的第一滤波器系数可为从-2

可由编码器和解码器中的至少一个对滤波器信息中的滤波器系数值进行裁剪,并且可对与裁剪相关的最小值和最大值中的至少一个进行熵编码/解码。滤波器系数值可被裁剪以落入最小值至最大值的范围内。针对每个滤波器系数,最小值和最大值中的至少一个可为不同值。另一方面,针对每个滤波器系数,最小值和最大值中的至少一个可为相同值。可根据量化参数来确定最小值和最大值中的至少一个。最小值和最大值中的至少一个可为在编码器和解码器中预先定义的常数值。

根据本发明的实施例,基于当前块和邻近块的编码参数中的至少一个编码参数对至少一条滤波器信息进行熵编码/解码。在这种情况下,编码参数包括预测模式(即,预测是帧内预测还是帧间预测)、帧间预测模式、帧内预测模式、帧内预测指示符、运动矢量、参考画面索引、量化参数、当前块的块尺寸、当前块的块形状、块分类单元的尺寸和编码块标志/样式中的至少一个。

例如,根据画面、条带、并行块组、并行块、CTU、CTB或块的量化参数来确定多条滤波器信息中的滤波器的数量。具体地,当量化参数小于阈值T时,对J个滤波器进行熵编码/解码。当量化参数大于阈值R时,对H个滤波器进行熵编码/解码。在其他情况下,对G个滤波器进行熵编码/解码。这里,T、R、J、H和G为正整数或零。此外,J大于或等于H。这里,量化参数值越大,熵编码的滤波器的数量越少。

根据本发明的示例性实施例,通过使用滤波执行信息(标志)来指示是否对亮度分量和色度分量中的至少一个执行滤波。

例如,通过基于每个CTU、CTB、CU或块使用滤波执行信息(标志)来指示是否对亮度分量和色度分量中的至少一个执行滤波。例如,当滤波执行信息为第一值时,基于每个CTB执行滤波,并且当滤波执行信息为第二值时,不对相应的CTB执行滤波。在这种情况下,可对关于是否对每个CTB执行滤波的信息进行熵编码/解码。可选地,例如,可另外地对关于CU的最大深度或最小尺寸的信息(CU的最大深度滤波器信息)进行熵编码/解码,并且可对关于具有最大深度的CU或关于具有最小尺寸的CU的基于CU的滤波执行信息进行熵编码/解码。

例如,当可根据块结构将块分区为较小正方形子块和非正方形子块时,可将基于CU的标志熵编码/解码直到块具有可分区为较小正方形子块的块结构的分区深度。另外,可将基于CU的标志熵编码/解码直到块具有可分区为较小非正方形子块的块结构的分区深度。

可选地,例如,关于是否对亮度分量和色度分量中的至少一个执行滤波的信息可以是基于块的标志(即,基于每个块的标志)。例如,当相应块的基于块的标志为第一值时对块执行滤波,并且当相应块的基于块的标志为第二值时不执行滤波。块的尺寸为N×M,其中,N和M为正整数。

进一步可选地,例如,关于是否对亮度分量和色度分量中的至少一个执行滤波的信息可以是基于CTU的标志(即,基于每个CTU的标志)。例如,当相应CTU的基于CTU的标志为第一值时对CTU执行滤波,并且当相应CTU的基于CTU的标志为第二值时不执行滤波。CTU的尺寸为N×M,其中,N和M为正整数。

进一步可选地,例如,根据画面、条带、并行块组或并行块类型来确定是否对亮度和色度分量中的至少一个执行滤波。关于是否对亮度分量和色度分量中的至少一个执行滤波的信息可以是基于每个画面、条带、并行块组或并行块的标志。

根据本发明的实施例,可将属于不同块分类的滤波器系数合并以减少将被熵编码/解码的滤波器系数的量。在这种情况下,对关于是否将滤波器系数合并的滤波器合并信息进行熵编码/解码。

另外,为了减少将被熵编码/解码的滤波器系数的量,可将参考画面的滤波器系数用作当前画面的滤波器系数。在这种情况下,使用参考画面的滤波器系数的方法被称为时间滤波器系数预测。例如,时间滤波器系数预测被用于帧间预测画面(B/P画面、条带、并行块组或并行块)。另一方面,参考画面的滤波器系数被存储在存储器中。另外,当参考画面的滤波器系数被用于当前画面时,省略对当前画面的滤波器系数的熵编码/解码。在这种情况下,对指示使用哪个参考画面的滤波器系数的先前参考画面滤波器索引进行熵编码/解码。

例如,当使用时间滤波器系数预测时,构造滤波器组候选列表。在对新序列进行解码之前,滤波器组候选列表是空的。然而,每当对一个画面进行解码时,将画面的滤波器系数添加到滤波器组候选列表。当滤波器组候选列表中的滤波器的数量达到滤波器的最大数量G时,新的滤波器可按照解码顺序替换最旧的滤波器。也就是说,以先进先出(FIFO)的方式更新滤波器组候选列表。这里,G为正整数,并且具体为6。为了防止滤波器组候选列表中的滤波器的重复,可将不使用时间滤波器系数预测的画面的滤波器系数添加到滤波器组候选列表。

可选地,例如,当使用时间滤波器系数预测时,构建用于多个时间层索引的滤波器组候选列表以支持时间可扩展性。也就是说,针对各个时间层构造滤波器组候选列表。例如,针对相应时间层的滤波器组候选列表包含用于解码画面的滤波器组,其中,解码画面的时间层索引等于或小于先前解码画面的时间分层索引。另外,在对每个画面进行解码之后,将针对当前画面的滤波器系数添加到具有等于或大于当前画面的时间层索引的时间层索引的滤波器组候选列表。

根据本发明的实施例,使用固定滤波器组来执行滤波。

尽管时间滤波器系数预测不能被用于帧内预测画面(I画面、条带、并行块组或并行块)中,但滤波器组内的最多16种固定滤波器中的至少一个滤波器可被用于根据块分类索引的滤波。为了从编码器用信号传送关于是否使用固定滤波器组的信息到解码器,对关于是否对每个块分类索引使用固定滤波器的信息进行熵编码/解码。当使用固定滤波器时,也对关于固定滤波器的索引信息进行熵编码/解码。即使当固定滤波器用于特定块分类索引时,也对滤波器系数进行熵编码/解码,并且使用熵编码/解码的滤波器系数和固定滤波器系数对重建画面进行滤波。

此外,固定滤波器组还被用于帧间预测画面(B/P画面、条带、并行块组或并行块)中。

另外,可利用固定滤波器执行自适应环内滤波,而无需对滤波器系数进行熵编码/解码。这里,固定滤波器可表示在编码器和解码器中预先定义的滤波器组。在这种情况下,在不对滤波器系数进行熵编码/解码的情况下,编码器和解码器对固定滤波器索引信息进行熵编码/解码,其中,固定滤波器索引信息指示使用滤波器组中的哪个滤波器或在编码器和解码器中预先定义的滤波器组中的哪个滤波器组。在这种情况下,基于块分类、块、CU、条带、并行块、并行块组和画面中的至少一个,利用在滤波器系数值、滤波器抽头(即,滤波器抽头的数量或滤波器长度)和滤波器形状中的至少一个方面不同的固定滤波器来执行滤波。

另一方面,可在滤波器抽头和/或滤波器形状方面对固定滤波器组内的至少一个滤波器进行变换。例如,如图38中所示出的,将9×9菱形滤波器中的系数变换为5×5正方形滤波器中的系数。具体地,可以将9×9菱形滤波器中的系数变换为5×5正方形滤波器中的系数。

例如,将与9×9菱形形状中的滤波器系数索引0、2和6相应的滤波器系数的和分配给5×5正方形形状中的滤波器系数索引2。

可选地,例如,将与9×9菱形形状中的滤波器系数索引1和5相应的滤波器系数的和分配给5×5正方形形状中的滤波器系数索引1。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引3和7相应的滤波器系数的和分配给5×5正方形形状中的滤波器系数索引3。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引4相应的滤波器系数分配给5×5正方形形状中的滤波器系数索引0。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引8相应的滤波器系数分配给5×5正方形形状中的滤波器系数索引4。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引9和10相应的滤波器系数的和分配给5×5正方形形状中的滤波器系数索引5。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引11相应的滤波器系数分配给5×5正方形形状中的滤波器系数索引6。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引12相应的滤波器系数分配给5×5正方形形状中的滤波器系数索引7。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引13相应的滤波器系数分配给5×5正方形形状中的滤波器系数索引8。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引14和15相应的滤波器系数的和分配给5×5正方形形状中的滤波器系数索引9。

进一步可选地,例如,与9×9菱形形状中的滤波器系数索引16、17和18相应的滤波器系数的和被分配给5×5正方形形状中的滤波器系数索引10。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引19相应的滤波器系数分配给5×5正方形形状中的滤波器系数索引11。

进一步可选地,例如,将与9×9菱形形状中的滤波器系数索引20相应的滤波器系数分配给5×5正方形形状中的滤波器系数索引12。

表2示出通过将9×9菱形滤波器系数变换为5×5正方形滤波器系数来产生滤波器系数的示例性方法。

[表2]

/>

在表2中,9×9菱形滤波器的滤波器系数中的至少一个的和等于相应的5×5正方形滤波器的滤波器系数中的至少一个的和。

另一方面,当针对9×9菱形滤波器系数使用最多16个固定滤波器组时,需要在存储器中存储最多21个滤波器系数×25个滤波器×16个滤波器类型的数据。当最多16个固定滤波器组用于5×5正方形滤波器的滤波器系数时,需要在存储器中存储最多13个滤波器系数×25个滤波器×16个滤波器类型的数据。这里,由于在5×5正方形滤波器中存储固定滤波器系数所需的存储器的大小小于在9×9菱形滤波器中存储固定滤波器系数所需的存储器的大小,所以减少了存储器容量需求和存储器访问带宽。

另一方面,可使用通过在滤波器抽头和/或滤波器形状方面对用于同位的亮度分量的滤波器进行变换而获得的滤波器来对重建/解码的色度分量执行滤波。

根据本发明的实施例,禁止从预定义的固定滤波器的滤波器系数预测滤波器系数。

根据本发明的实施例,乘法运算由移位运算代替。首先,将用于对亮度和/或色度块执行滤波的滤波器系数划分为两组。例如,将滤波器系数划分为包括系数{L0、L1、L2、L3、L4、L5、L7、L8、L9、L10、L14、L15、L16和L17}的第一组和包括其余系数的第二组。第一组被限制为仅包括系数值{-64、-32、-16、-8、-4、0、4、8、16、32和64}。在这种情况下,可通过单次比特移位操作来执行包括在第一组中的滤波器系数和重建/解码样点的相乘。因此,将包括在第一组中的滤波器系数映射到预先二进制化的比特移位值以减少用信号传送的开销。

根据本发明的实施例,作为是否对色度分量执行块分类和/或滤波的确定结果,按照原样使用是否对相应的亮度分量执行块分类和/或滤波的确定结果。另外,作为用于色度分量的滤波器系数,使用已经用于相应的亮度分量的滤波器系数。例如,使用预定的5×5菱形滤波器。

作为示例,可将用于亮度分量的9×9滤波器中的滤波器系数变换为用于色度分量的5×5滤波器中的滤波器系数。在这种情况下,最外滤波器系数被设置为零。

作为另一示例,当5×5滤波器形式的滤波器系数用于亮度分量时,用于亮度分量的滤波器系数与用于色度分量的滤波器系数相同。也就是说,用于亮度分量的滤波器系数可按照原样用作色度分量的滤波器系数。

作为另一个示例,为了保持用于对色度分量进行滤波的5×5滤波器形状,5×5菱形滤波器之外的滤波器系数被布置在5×5菱形滤波器的边界处的系数代替。

另一方面,可单独执行用于亮度块的环内滤波和用于色度块的环内滤波。以画面、条带、并行块组、并行块、CTU或CTB级用信号传送控制标志以通知是否单独支持用于色度分量的自适应环内滤波。可用信号传送指示对亮度块和色度块共同执行自适应环内滤波的模式或单独执行用于亮度块的自适应环内滤波和用于色度块的自适应环内滤波的模式的标志。

根据本发明的实施例,当对至少一条滤波器信息进行熵编码/解码时,可使用以下二值化方法中的至少一个:

截断莱斯二值化方法;

K阶指数哥伦布二值化方法;

有限K阶指数哥伦布二值化方法;

固定长度二值化方法;

一元二值化方法;以及

截断一元二值化方法。

作为示例,使用针对亮度滤波器和色度滤波器的不同的二值化方法对亮度滤波器的滤波器系数值和色度滤波器的滤波器系数值进行熵编码/解码。

作为另一示例,使用不同的二值化方法对亮度滤波器的滤波器系数值进行熵编码/解码。作为另一示例,使用相同的二值化方法对一个亮度滤波器的滤波器系数值进行熵编码/解码。

作为另一示例,使用不同的二值化方法对一个色度滤波器的滤波器系数值进行熵编码/解码。作为另一示例,使用相同的二值化方法对一个色度滤波器的滤波器系数值进行熵编码/解码。

当对至少一条滤波器信息进行熵编码/解码时,作为示例,邻近块中的至少一个邻近块的至少一条滤波器信息、或至少一条先前编码/解码的滤波器信息、或先前画面内的编码/解码的滤波器信息被用于确定上下文模型。

作为另一示例,当对至少一条滤波器信息进行熵编码/解码时,使用不同分量的至少一条滤波器信息来确定上下文模型。

作为另一示例,当对滤波器系数进行熵编码/解码时,使用滤波器中的滤波器系数中的至少一个来确定上下文模型。

作为另一示例,当对至少一条滤波器信息进行熵编码/解码时,邻近块中的至少一个邻近块的至少一条滤波器信息、或至少一条先前编码/解码的滤波器信息、或先前画面内的编码/解码的滤波器信息被用于确定上下文模型。

作为另一示例,当对至少一条滤波器信息进行熵编码/解码时,将不同分量的至少一条滤波器信息用作滤波器信息的预测值来执行熵编码/解码。

作为另一示例,当对滤波器系数进行熵编码/解码时,将滤波器内的滤波器系数中的至少一个用作预测值来执行熵编码/熵解码。

作为另一示例,使用滤波器信息熵编码/解码方法的任何一个组合来对滤波器信息进行熵编码/解码。

根据本发明的实施例,以块、CU、PU、TU、CB、PB、TB、CTU、CTB、条带、并行块、并行块组和画面中的至少一个为单位执行自适应环内滤波。当对上述单元中的每一个单元执行自适应环内滤波时,意味着以块、CU、PU、TU、CB、PB、TB、CTU、CTB、条带、并行块、并行块组和画面中的至少一个为单位执行块分类步骤、滤波执行步骤和滤波器信息编码/步骤。

根据本发明的实施例,基于是否执行去块滤波、样点自适应偏移和双向滤波中的至少一个的确定来确定是否执行自适应环内滤波。

作为示例,对当前画面内的重建/解码样点中的已经经过了去块滤波、样点自适应偏移和双向滤波中的至少一个的样点执行自适应环内滤波。

作为另一示例,不对当前画面内的重建/解码样点中的已经经过了去块滤波、样点自适应偏移和双向滤波中的至少一个的样点执行自适应环内滤波。

作为另一示例,针对当前画面内的重建/解码样点当中已经经过了去块滤波、样点自适应偏移和双向滤波中的至少一个的样点,使用L个滤波器对当前画面内的重建的/经解码样点执行自适应环内滤波,而无需执行块分类。这里,L为正整数。

根据本发明的实施例,根据当前画面的条带或并行块组类型来确定是否执行自适应环内滤波。

作为示例,仅在当前画面的条带或并行块组类型为I条带或I并行块组时才执行自适应环内滤波。

作为另一示例,在当前画面的条带或并行块组类型为I条带、B条带、P条带、I并行块组、B并行块组和P并行块组中的至少一个时,执行自适应环内滤波。

作为示例,在当前画面的条带或并行块组类型为I条带、B条带、P条带、I并行块组、B并行块组和P并行块组中的至少一个时,在对当前画面执行自适应环内滤波时,使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而无需执行块分类。这里,L为正整数。

作为另一示例,在当前画面的条带或并行块组类型为I条带、B条带、P条带、I并行块组、B并行块组和P并行块组中的至少一个时,使用一个滤波器形状来执行自适应环内滤波。

作为另一示例,在当前画面的条带或并行块组类型为I条带、B条带、P条带、I并行块组、B并行块组和P并行块组中的至少一个时,使用一个滤波器抽头来执行自适应环内滤波。

作为另一示例,在当前画面的条带或并行块组类型为I条带、B条带、P条带、I并行块组、B并行块组和P并行块组中的至少一个时,基于每个M×N尺寸的块执行块分类和自适应环内滤波中的至少一个。在这种情况下,M和N均为正整数。M和N具体均为4。

根据本发明的实施例,根据当前画面是否被用作参考画面的确定来确定是否执行自适应环内滤波。

例如,当在对后续画面进行编码/解码的处理时使用当前画面作为参考画面时,对当前画面执行自适应环内滤波。

作为另一示例,当在对后续画面进行编码/解码的处理时当前画面不被用作参考画面时,不对当前画面执行自适应环内滤波。

作为另一示例,当在对后续画面进行的处理时不使用当前画面时,在对当前画面执行自适应环内滤波时,使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而无需执行块分类。这里,L为正整数。

作为另一示例,当在对后续画面进行编码/解码的处理时不使用当前画面时,使用一个滤波器形状执行自适应环内滤波。

作为另一示例,当在对后续画面进行编码/解码的处理时不使用当前图像时,使用一个滤波器抽头来执行自适应环内滤波。

作为另一示例,当在对后续画面进行编码/解码的处理时不使用当前画面时,基于每个N×M尺寸的块执行块分类和滤波中的至少一个。在这种情况下,M和N均为正整数。M和N具体均为4。

根据本发明的实施例,根据时间层标识符来确定是否执行自适应环内滤波。

作为示例,在当前画面的时间层标识符为表示底层的零时,对当前画面执行自适应环内滤波。

作为另一示例,在当前画面的时间层标识符为表示顶层的4时,执行自适应环内滤波。

作为另一示例,当前画面的时间层标识符为表示顶层的4,在对当前画面执行自适应环内滤波时,使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而无需执行块分类。这里,L为正整数。

作为另一示例,在当前画面的时间层标识符为表示顶层的4时,使用一个滤波器形状执行自适应环内滤波。

作为另一示例,在当前画面的时间层标识符为表示顶层的4时,使用一个滤波器抽头来执行自适应环内滤波。

作为另一示例,在当前画面的时间层标识符为表示顶层的4时,基于每个N×M尺寸的块执行块分类和自适应环内滤波中的至少一个。在这种情况下,M和N均为正整数。M和N具体均为4。

根据本发明的实施例,根据时间层标识符来执行块分类方法中的至少一个。

例如,在当前画面的时间层标识符为表示底层的零时,对当前画面执行上文所述的块分类方法中的至少一个。

可选地,在当前画面的时间层标识符为表示顶层的4时,对当前画面执行上述块分类方法中的至少一个。

根据本发明的实施例,根据时间层标识符的值执行上述块分类方法中的至少一个。

作为另一示例,在当前画面的时间层标识符是表示顶层的4时,在对当前画面执行自适应环内滤波时,使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而无需执行块分类。这里,L为正整数。

作为另一示例,在当前画面的时间层标识符为表示顶层的4时,使用一个滤波器形状执行自适应环内滤波。

作为另一示例,在当前画面的时间层标识符为表示顶层的4时,使用一个滤波器抽头来执行自适应环内滤波。

作为另一示例,在当前画面的时间层标识符为表示顶层的4时,基于每个N×M尺寸的块执行块分类和自适应环内滤波中的至少一个。在这种情况下,M和N均为正整数。M和N具体均为4。

作为另一示例,在对当前画面执行自适应环内滤波时,使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而无需执行块分类。这里,L为正整数。可选地,在此情况下,使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而无需执行块分类,也不取决于时间层标识符。

另一方面,在对当前画面执行自适应环内滤波时,使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而不取决于是否执行块分类。这里,L为正整数。在此情况下,可使用L个滤波器对当前画面内的重建/解码样点执行自适应环内滤波,而无需执行块分类,也不取决于时间层标识符以及是否执行块分类。

另一方面,可使用一个滤波器形状来执行自适应环内滤波。在这种情况下,可使用一个滤波器形状对当前图像内的重建/解码样点执行自适应环内滤波,而无需执行块分类。可选地,可使用一个滤波器形状对当前图像内的重建/解码样点执行自适应环内滤波,而不取决于是否执行块分类。

另一方面,可使用一个滤波器抽头来执行自适应环内滤波。在这种情况下,可使用一个滤波器抽头对当前图像内的重建/解码样点执行自适应环内滤波,而无需执行块分类。可选地,可使用一个滤波器抽头对当前图像内的重建/解码样点执行自适应环内滤波,而不取决于是否执行块分类。

另一方面,可基于特定单元执行自适应环内滤波。例如,特定单元可以是画面、条带、并行块、并行块组、CTU、CTB、CU、PU、TU、CB、PB、TB和M×N尺寸的块中的至少一个。这里,M和N均为正整数。M和N为相同整数或不同整数。此外,M、N或M和N两者是在编码器/解码器中预先定义的值。可选地,M、N或M和N两者可为从编码器用信号传送到解码器的值。

图39至图55是示出基于子采样确定针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和的示例性方法的示图。

参照图39至图55,基于每个4×4尺寸的亮度块执行滤波。在这种情况下,可针对每个4×4尺寸的亮度块使用不同的滤波器系数来执行滤波。可执行子采样的拉普拉斯运算以对4×4尺寸的亮度块进行分类。此外,用于滤波的滤波器系数针对每个4×4尺寸的亮度块而变化。另外,将4×4尺寸的亮度块分类为最多25个分类。此外,可基于块的方向性值和/或量化活动性值推导与4×4尺寸的亮度块的滤波器索引相应的分类索引。这里,为了计算针对每个4×4尺寸的亮度块的方向性值和/或量化活动性值,通过将在8×8尺寸的块内的子采样的位置处计算的一维拉普拉斯运算的结果相加,来分别计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和。

具体地,参照图39,在基于每个4×4尺寸的块进行块分类的情况下,基于子采样来计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

这里,图40a至40d示出使用第一方法的示例性的基于块分类的编码/解码处理。图41a至图41d一维地示出了使用第一方法的另一示例性的基于块分类的编码/解码处理。图42a至图42d二维地示出使用第一方法的另一示例性的基于块分类的编码/解码处理。

参照图43,在基于每个4×4尺寸的块进行块分类的情况下,基于子采样来计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

具体地,第二种方法表示当坐标x值和坐标y值均为偶数时,或者当坐标x值和坐标y值均为奇数时,在位置(x,y)处执行一维拉普拉斯运算。当坐标x值和坐标y值均不是偶数时,或者坐标x值和坐标y值均不是奇数时,将位置(x,y)处的一维拉普拉斯运算结果分配零。也就是说,意味着根据坐标x值和坐标y值利用棋盘样式执行一维拉普拉斯运算。

参照图43,针对水平方向、垂直方向、第一对角线方向和第二对角线方向执行一维拉普拉斯运算的位置相同。也就是说,无论垂直、水平、第一对角线和第二对角线方向的方向如何,使用统一的子采样的一维拉普拉斯运算位置来执行针对各个方向的一维拉普拉斯运算。

这里,图44a至44d示出使用第二方法的一个示例性的基于块分类的编码/解码处理。图45a至45d示出使用第二方法的另一示例性的基于块分类的编码/解码处理。图46a至46d示出使用第一方法的另一示例性的基于块分类的编码/解码处理。图47a至47d示出使用第一方法的另一示例性的基于块分类的编码/解码处理。

参照图48,在基于每个4×4尺寸的块进行块分类的情况下,基于子采样来计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

具体地,第三方法是指当坐标x值和坐标y值中的任一个是偶数并且另一个是奇数时,在位置(x,y)处执行一维拉普拉斯运算。当坐标x值和坐标y值两者均为偶数或奇数时,将位置(x,y)处的一维拉普拉斯运算结果分配零。也就是说,意味着根据坐标x值和坐标y值利用棋盘样式执行一维拉普拉斯运算。

参照图48,针对水平方向、垂直方向、第一对角线方向和第二对角线方向执行一维拉普拉斯运算的位置相同。也就是说,无论方向如何,使用统一的子采样的一维拉普拉斯运算位置来执行针对各个方向的一维拉普拉斯运算。

这里,图49a至49d示出使用第三方法的示例性的基于块分类的编码/解码处理。图50a至50d示出使用第三方法的另一示例性的基于块分类的编码/解码处理。图51a至51d一维地示出使用第三方法的另一示例性的基于块分类的编码/解码处理。

参照图52,在基于每个4×4尺寸的块进行块分类的情况下,基于子采样来计算针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值的和g

具体地,第四方法表示在子采样的位置(x,y)处沿着垂直方向执行一维拉普拉斯运算,而不沿水平方向执行子采样。也就是说,意味着在每次执行一维拉普拉斯运算时跳过一行而执行一维拉普拉斯运算。

参照图52,针对水平方向、垂直方向、第一对角线方向和第二对角线方向执行一维拉普拉斯运算的位置相同。也就是说,无论方向如何,使用统一的子采样的一维拉普拉斯运算位置来执行针对各个方向的一维拉普拉斯运算。

这里,图53a至53d示出使用第四方法的示例性的基于块分类的编码/解码处理。图54a至54d示出使用第四方法的另一示例性的基于块分类的编码/解码处理。图55a至55d示出使用第四方法的另一示例性的基于块分类的编码/解码处理。

另一方面,通过使用由图39至图55中所示出的方法计算的梯度值来推导出方向性值和活动性值A的量化活动性值A

另一方面,在基于子采样的梯度值计算方法中,不是针对计算一维拉普拉斯和的运算范围(例如,8×8尺寸的块)内的所有样点来计算一维拉普拉斯运算,而是针对运算范围内的子采样的位置来计算一维拉普拉斯运算。因此,减少了块分类所需的计算(例如,乘法、移位运算、加法和绝对值计算)的数量。因此,降低了编码器和解码器中的计算复杂度。

根据第一方法至第四方法,在基于基于子采样的一维拉普拉斯运算的4×4尺寸的块分类的情况下,将在8×8块内的和样点位置处计算的一维拉普拉斯运算的运算结果V、H、D1和D2相加到4×4尺寸的亮度块,以便分别推导针对垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值。因此,为了计算8×8范围内的所有梯度值,需要720+240次加法、288次比较和144次移位。

另一方面,根据传统的环内滤波方法,在4×4尺寸的块分类的情况下,作为在8×8范围内的所有位置处计算的一维拉普拉斯运算结果的V、H、D1和D2针对4×4亮度块,以便导出垂直方向、水平方向、第一对角线方向和第二对角线方向的梯度值。因此,为了计算8×8范围内的所有梯度值,需要1586+240次加法,576次比较和144次移位。

然后,使用梯度值推导方向性值D和活动性值A的量化活动性值A

因此,在8×8范围内使用第一方法至第四方法的块分类方法总共需要968次加法、316次比较、8次乘法和164次移位。因此,每个样点需要15.125次加法、4.9375次比较、0.125次乘法和2.5625次移位。

另一方面,在8×8范围内使用传统环内滤波技术的块分类方法总共需要1832次加法、604次比较、8次乘法和164次移位。因此,每个样点需要28.625次加法、9.4375次比较、0.125次乘法和2.5625次移位。

因此,与传统的基于环内滤波的块分类相比,使用第一方法至第四方法的块分类可降低给定块尺寸(例如,8×8范围)的计算复杂度。也就是说,计算次数减少了44.17%。此外,与传统的基于环内滤波的块分类相比,使用根据本发明的第一方法至第四方法的块分类方法可减少17.02%的硬件操作次数。

根据本发明的计算机可读记录介质存储通过视频编码方法产生的比特流,其中,视频编码方法包括基于每个块分类单元将编码单元分类为类,对基于每个块分类单元进行分类的编码单元进行滤波以及对滤波器信息进行编码。块分类单元不限于编码单元。也就是说,可以以条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU为单位执行块分类。另外,将被滤波的目标不是编码单元。也就是说,可对条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU执行滤波。另外,滤波器信息不限于每个编码单位的滤波器信息。滤波器信息可以是每个条带、并行块、并行块组、画面、序列、CTU、块、CU、PU或TU的滤波器信息。

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

可将以上实施例中的至少一个或其组合用于对视频进行编码/解码。

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

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

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

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

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

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

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

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

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

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

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

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

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

工业实用性

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

技术分类

06120115919857