视频解码设备的制作方法

文档序号:16168748发布日期:2018-12-07 21:47阅读:135来源:国知局
视频解码设备的制作方法

技术领域

与示例性实施例一致的设备和方法涉及对视频进行编码和解码。



背景技术:

随着用于再现和存储高分辨率或高质量视频内容的硬件的发展和提供,对有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求正在增加。在现有技术的视频编解码器中,根据基于具有预定尺寸的宏块的受限的编码方法对视频进行编码。

由于对视频的编码和解码,因此图像的质量可能失真,针对恢复图像,后处理模块可被添加到解码器以提高所述恢复图像的质量。



技术实现要素:

技术问题

一个或多个示例性实施例提供了一种用于补偿预定像素组的像素值来对视频进行编码的方法和设备以及对视频进行解码的方法和设备。

技术方案

根据示例性实施例的一方面,提供了一种用于补偿像素值来对视频进行编码的方法,所述方法包括:对图像数据进行编码;对编码的图像数据进行解码,并通过对解码的图像数据执行环路滤波来产生恢复图像;确定与恢复图像中的预定组的恢复像素和相应原始像素之间的误差相应的补偿值,以及包括通过使用补偿值将被补偿的恢复像素的像素组;对补偿值进行编码,并发送编码的补偿值和编码的图像数据的比特流。

有益效果

在根据示例性实施例的视频编码和解码中,可确定恢复图像和原始图像之间的预定像素组的局部最小值和局部最大值的误差的平均值,并补偿预定像素组中的恢复像素的像素值。

附图说明

图1是根据示例性实施例的用于补偿像素值来对视频进行编码的设备的框图;

图2是根据示例性实施例的用于补偿像素值来对视频进行解码的设备的框图;

图3示出根据示例性实施例的将与恢复像素进行比较以确定该恢复像素的极值级别的邻近恢复像素;

图4是用于描述根据示例性实施例的自适应环路滤波的流程图;

图5是用于描述根据另一示例性实施例的自适应环路滤波的流程图;

图6是示出根据示例性实施例的用于补偿像素值来对视频进行编码的方法的流程图;

图7是示出根据示例性实施例的通过补偿像素值来对视频进行解码的方法的流程图;

图8是根据示例性实施例的通过基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行编码的设备的框图;

图9是根据示例性实施例的通过基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行解码的设备的框图;

图10是用于描述根据示例性实施例的编码单元的概念的示图;

图11是根据示例性实施例的基于编码单元的图像编码器的框图;

图12是根据示例性实施例的基于编码单元的图像解码器的框图;

图13是示出根据示例性实施例的根据深度的较深层编码单元以及分区的示图;

图14是用于描述根据示例性实施例的编码单元和变换单元之间的关系的示图;

图15是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图;

图16是根据示例性实施例的根据深度的较深层编码单元的示图;

图17至图19是用于描述根据示例性实施例的编码单元、预测单元和变换单元之间的关系的示图;

图20是用于描述根据表2的编码模式信息的编码单元、预测单元或分区以及变换单元之间的关系的示图;

图21是示出根据示例性实施例的通过基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行编码的方法的流程图;

图22是示出根据示例性实施例的通过基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行解码的方法的流程图。

最佳实施方式

根据示例性实施例的一方面,提供了一种用于补偿像素值来对视频进行编码的方法,所述方法包括:对图像数据进行编码;对编码的图像数据进行解码,并通过对解码的图像数据执行环路滤波来产生恢复图像;确定与恢复图像中的预定组的恢复像素和相应原始像素之间的误差相应的补偿值,以及包括通过使用补偿值将被补偿的恢复像素的像素组;对补偿值进行编码,并发送编码的补偿值以及编码的图像数据的比特流。

确定补偿值和像素组的步骤可包括:通过比较恢复图像中的邻近恢复像素的像素值,确定根据恢复像素的指示与最大值或最小值的接近程度的极值级别;基于确定的根据恢复像素的极值级别,在邻近恢复像素中确定包括将被补偿的恢复像素的像素组。

基于所述极值级别确定像素组的步骤可包括:基于确定的根据恢复像素的极值级别,将邻近恢复像素划分为包括具有相同极值级别的恢复像素的像素组,并将至少一个极值级别的像素组确定为包括将被补偿的恢复像素的像素组,确定补偿值和像素组的步骤还可包括:针对确定的所述至少一个极值级别的像素组确定补偿值。

确定补偿值和像素组的步骤可包括:根据通过对像素值的总区域进行划分而获得的带(band),将恢复图像的恢复像素划分为包括相同带中的恢复像素的像素组;基于根据带的像素组,确定补偿值。

划分根据带的恢复像素的步骤可包括:基于通过将像素值的总区域划分为2的正整数次幂的数量而获得的带,将恢复像素划分为根据带的像素组。

可基于恢复像素的比特深度中的最高有效位的数量来确定2的正整数次幂的数量的索引。

像素值的总区域可在扩展的比特深度的范围内。

确定补偿值和像素组的步骤可包括:根据线(line),将恢复图像的恢复像素划分为包括位于同一条线上的恢复像素的像素组;基于根据线的像素组,确定补偿值。

将恢复像素划分为根据线的像素组的步骤可包括:从恢复图像的恢复像素中检测在预定对象的水平方向、垂直方向、对角线方向、曲线方法和边界方向中的至少一个上形成线的恢复像素。

确定补偿值和像素组的步骤可包括:通过使用所述像素组的恢复像素与相应原始像素之间的误差的平均值来确定补偿值。

确定补偿值和像素组的步骤可包括:确定将被补偿的所有恢复像素的补偿值,或根据将被补偿的恢复像素的预定组单独确定补偿值。可通过使用自适应环路滤波来执行产生恢复图像的步骤,其中,所述自适应环路滤波使用多个连续的一维滤波器。

确定补偿值和像素组的步骤可包括:根据输入视频的图像序列、像条、帧和编码单元中的至少一个数据单元,确定补偿值和将被补偿的恢复像素。

发送比特流的步骤可包括:将编码的补偿值插入像条头,并发送编码的补偿值。

对输入图像序列进行编码的步骤可包括:将画面划分为最大编码单元;根据通过随深度加深而对最大编码单元进行分层划分以确定编码深度的编码单元的编码模式而划分的区域,对根据深度的至少一个较深层编码单元执行编码,所述编码模式包括产生最小编码误差的至少一个编码深度的信息;输出根据确定的编码深度和编码模式的编码的图像数据。

根据另一示例性实施例的一方面,提供了一种用于补偿像素值来对视频进行解码的方法,所述方法包括:通过解析编码图像的比特流,从比特流提取编码的图像数据和补偿值;对提取的图像数据进行解码,并通过对解码的图像数据执行环路滤波来产生恢复图像;通过使用提取的补偿值,从恢复图像的恢复像素中确定包括将被补偿的恢复像素的像素组;通过使用提取的补偿值,补偿确定的像素组的恢复像素与相应原始像素之间的误差。

确定像素组的步骤可包括:通过比较恢复图像中的邻近恢复像素的像素值,确定根据恢复像素的指示与最大值或最小值的接近程度的极值级别;基于确定的极值级别,在邻近恢复像素中确定包括将被补偿的恢复像素的像素组。

确定极值级别的步骤可包括:基于确定的极值级别,将邻近恢复像素划分为包括具有相同极值级别的恢复像素的像素组,并将至少一个极值级别的像素组确定为包括将被补偿的恢复像素的像素组。

确定像素组的步骤可包括:将恢复图像的恢复像素划分为根据带的像素组。

补偿误差的步骤可包括:通过使用根据极值级别的补偿值,补偿根据极值级别的像素组的恢复像素的像素值的误差,其中,所述补偿值用于补偿根据极值级别的像素组的像素值。

确定像素组的步骤可包括:根据线,将恢复图像的恢复像素划分为包括位于同一条线上的恢复像素的像素组;将根据线的像素组中的像素组确定为包括将被补偿的恢复像素的像素组。

补偿误差的步骤可包括:通过使用根据线的像素组的补偿值,补偿根据线的像素组中的恢复像素的像素值,其中,所述补偿值用于补偿根据线的像素组的像素值。

将恢复像素划分为根据线的像素组的步骤可包括:从恢复图像的恢复像素中检测在预定对象的水平方向、垂直方向、对角线方向、曲线方法和边界方向中的至少一个上形成线的恢复像素。

在对编码图像数据进行编码期间,可通过使用所述像素组的恢复像素与相应原始像素之间的误差的平均值来确定补偿值。

补偿误差的步骤可包括:通过使用补偿值来补偿将被补偿的所有恢复像素。

补偿误差的步骤可包括:通过使用根据将被补偿的恢复像素的预定组而单独确定的补偿值,补偿恢复像素的像素值。

可通过使用自适应环路滤波来执行产生恢复图像的步骤,其中,所述自适应环路滤波使用多个连续的一维滤波器。

可通过以下步骤对编码图像数据进行编码:将画面划分为最大编码单元;根据通过随深度加深而对最大编码单元进行分层划分以确定编码深度的编码单元的编码模式而划分的区域,从比特流对根据深度的至少一个较深层编码单元执行编码,所述编码模式包括关于产生最小编码误差的至少一个编码深度的信息,产生恢复图像的步骤可包括:基于关于编码模式的信息,对基于编码深度和编码模式编码的图像数据进行解码,并执行环路滤波。

根据另一示例性实施例的一方面,提供了一种用于补偿像素值来对视频进行编码的设备,所述设备包括:编码器,对图像数据进行编码;恢复图像产生器,对编码的图像数据进行解码,并通过对解码的图像数据执行环路滤波来产生恢复图像;补偿值和像素组确定器,确定与预定组的恢复像素和相应原始像素之间的误差相应的补偿值,以及包括通过使用补偿值将被补偿的恢复像素的像素组;发送器,对补偿值进行编码,并发送编码的补偿值以及编码的图像数据的比特流。

根据另一示例性实施例的一方面,提供了一种用于补偿像素值来对视频进行解码的设备,所述设备包括:提取器,通过解析编码图像的比特流,从比特流提取编码图像数据和补偿值;恢复图像产生器,对提取的图像数据进行解码,并通过对解码的图像数据执行环路滤波来产生恢复图像;像素组确定器,通过使用提取的补偿值,从恢复图像的恢复像素中确定包括将被补偿的恢复像素的像素组;恢复像素补偿器,通过使用提取的补偿值,补偿确定的像素组的恢复像素与相应原始像素之间的误差。

根据另一示例性实施例的一方面,提供了一种记录有用于执行上述方法中的任何一个的程序的计算机可读记录介质。

具体实施方式

以下,将参照附图更充分地描述示例性实施例。当诸如“…中的至少一个”的表述在一列元素之后时,其是修饰整列元素而不是修饰列表中的个别元素。

现在将参照图1至图22来描述根据示例性实施例的通过补偿预定像素组的像素值的误差来对视频进行编码的方法和设备以及通过补偿预定像素组的像素值的误差来对视频进行解码的方法和设备。具体地,将参照图1至图7来描述根据示例性实施例的通过在执行环路滤波之后补偿像素值来对视频进行编码和解码,将参照图8至图22来描述根据示例性实施例的基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行编码和解码。

以下,将参照图1至图7描述根据示例性实施例的通过在执行环路滤波之后补偿像素值来对视频进行编码和解码。

图1是根据示例性实施例的用于补偿像素值的视频编码设备10的框图。

视频编码设备包括编码器12、恢复图像产生器14、补偿值和像素组确定器16和发送器18。可由视频编码处理器、中央处理器、图形处理器等来有机地控制视频编码设备10的编码器12、恢复图像产生器14以及补偿值和像素组确定器16的操作。

编码器12在输入图像的序列中以画面为单位对图像进行编码。编码器可通过对输入图像执行运动估计、帧间预测、帧内预测、变换和量化来产生编码的图像数据。

编码器12可使用任意视频编码方法,诸如MPEG 1、2、4和H.26x。例如,编码器12可使用根据示例性实施例的基于具有树结构的编码单元进行视频编码的方法,将在稍后参照图8至图22来描述所述方法。

恢复图像产生器14可接收由编码器12编码的图像数据,并且通过对编码的图像数据进行解码并对解码的图像数据执行环路滤波来产生恢复图像。

恢复图像产生器14可通过对编码的图像数据执行反量化、逆变换、帧间预测、运动补偿和帧内预测来产生解码的图像数据。

由恢复图像产生器14对编码的图像数据执行的解码可如由编码器12执行的视频编码方法的相反处理而被执行。例如,稍后将参照图8至图22描述当编码器12和恢复图像产生器14执行根据示例性实施例的对视频进行编码的方法时的视频编码设备10。

恢复图像产生器14可对解码的图像数据执行内环路滤波。内环路滤波可选择性地包括去块滤波和自适应环路滤波。自适应环路滤波可通过使用多个连续的一维滤波器而被执行。稍后将参照图4和图5详细描述根据示例性实施例的自适应环路滤波。

补偿值和像素组确定器16接收输入图像和由恢复图像产生器14输出的恢复图像,确定关于恢复图像中的预定组的每个恢复像素和输入图像中的相应原始像素之间的误差的补偿值,并确定包括通过使用补偿值将被补偿的恢复像素的像素组。

补偿值和像素组确定器16对恢复图像中的恢复像素中的邻近恢复像素的像素值进行比较,并确定指示与最大值和最小值的接近度的极值级别和/或边缘值级别。这里,为了方便解释,“极值级别和/或边缘值级别”可表示边缘值级别和边缘值级别中的至少一个。补偿值和像素组确定器16可基于邻近恢复像素的每个极值级别和/或边缘值级别,将所述邻近恢复像素确定在包括具有相同极值级别和/或边缘值级别的恢复像素的像素组中。

补偿值和像素组确定器16可将划分的像素组中的极值级别和/或边缘值级别的至少一个像素组确定为具有将被补偿的像素值的像素组。补偿值和像素组16可确定补偿最小和最大极值级别和/或边缘值级别的像素组的像素值还是补偿在预定范围中的极值级别和/或边缘值级别的像素组的像素值。稍后将参照图3描述基于邻近恢复像素的极值级别和/或边缘值级别确定将被补偿的目标的方法。

补偿值和像素组确定器16可确定补偿根据带的像素组的像素值。补偿值和像素组确定器16可将恢复像素的像素值的总范围划分为多个划分带,以分配恢复像素的像素组。补偿值和像素组确定器16可基于恢复像素的像素值将相同带中的恢复像素划分为根据带的像素组。这里,根据带的像素组中的恢复像素的所有像素值可被确定为将被补偿,并且补偿值和像素组确定器16可单独确定根据带的每个像素组的补偿值。

对于高速处理,像素值的总范围可被划分为与2的正整数次幂相等数量的带。对于高速处理,当恢复像素的比特串的比特深度中的最高有效位的数量为p时,像素值的总范围可被划分为与2p相等数量的带。可选地,像素值的总范围可与恢复像素的扩展比特深度的范围相等。

补偿值和像素组确定器16可分析恢复图像,检测预定方向上的线,并将恢复像素划分为包括相同线上的恢复像素的根据线的像素组。当检测到各种方向(诸如预定对象的水平方向、垂直方向、对角线方向、曲线方向和边界方向)上的线时,形成每条线的像素可被划分为一个像素组。补偿值和像素组确定器16可单独确定根据线的每个像素组的补偿值。

补偿值和像素组确定器16可将将被补偿的恢复像素与相应原始像素之间的误差的平均值确定为补偿值。恢复像素与原始像素之间的误差可包括恢复像素和原始像素之间的差、所述差的绝对值或所述差的平方。补偿值和像素组确定器16可确定将被同等应用到将被补偿的全部恢复像素的一个补偿值,或可根据按照特征划分的像素组单独确定补偿值。

补偿值和像素组确定器16可根据输入视频的图像序列、像条、帧和编码单元中的至少一个数据单元来确定将被补偿的恢复像素并确定相应补偿值。

发送器18接收由补偿值和像素组确定器16确定的补偿值,并对所述补偿值进行编码。发送器18接收由编码器12编码的图像数据,并产生和输出包括编码的补偿值和编码的图像数据的比特流。编码的图像数据可经由熵编码被转换为比特流格式,并可被插入比特流中以用于传输。

发送器18可从补偿值和像素组确定器接收关于确定像素组的方法的附加信息,并对该附加信息进行编码,将该附加信息插入比特流。由于所述方法可基于如上所述的极值级别和/或边缘值级别、带或线,因此指示如何采用补偿值的信息以及使用补偿值的像素组可被发送。

当恢复图像产生器14执行自适应环路滤波时,发送器18可接收关于用于自适应环路滤波的环路滤波器系数的信息,并对该信息进行编码,将该信息插入比特流中。视频编码设备10可将图像划分为正方形形状的部分、矩形形状的部分或甚至是不规则形状的部分,并仅对有形区域中的特定组的像素执行选择性校正。基于图像的划分部分,像素值可被自适应地补偿到图像的内容。此外,视频编码设备10可通过显式发送信号和隐式发送信号来发送关于将被校正的像素组的信息。

视频编码设备10可将在编码期间获得的关于补偿值的信息提供给解码器,从而解码器能够支持可执行以减小恢复图像和原始图像之间的误差的后处理。此外,由于补偿值根据像素组被确定,因此可通过仅对关于补偿值的信息进行编码并发送该信息,来减小发送比特的量,而不必对关于各个像素的位置的信息进行编码并发送该信息。

图2是根据示例性实施例的用于补偿像素值的视频解码设备20的框图。

视频解码设备20包括提取器22、恢复图像产生器24、像素组确定器26和恢复像素补偿器28。视频解码设备20的提取器22、恢复图像产生器24、像素组确定器26和恢复像素补偿器28的操作可由视频解码处理器、中央处理器、图形处理器等有机地控制。

提取器22接收并解析关于编码的图像的比特流,并从比特流提取编码的图像数据和与补偿值有关的信息。与补偿值有关的信息可包括关于补偿值的信息。当与补偿值有关的信息还包括关于确定通过使用补偿值将被补偿的像素组的方法的信息时,提取器22可从比特流提取补偿值和关于所述方法的信息。提取器22可从输入视频的图像序列、像条、帧和编码单元中,根据至少一个数据单元来提取补偿值和与补偿值有关的信息中的至少一个。

提取器22可提取用于对编码的图像数据进行解码的编码信息,诸如编码方法和编码模式。当关于用于自适应环路滤波的环路滤波器系数的信息被插入比特流时,提取器22可从比特流提取关于环路滤波器系数的信息。

恢复图像产生器24接收由提取器22提取的编码的图像数据、编码信息和关于环路滤波器系数的信息,并通过对编码的图像数据进行解码并对解码的图像数据执行环路滤波来产生恢复图像。

对编码的图像数据的解码可如对编码的图像数据执行视频编码的方法的相反处理而被执行。例如,根据示例性实施例,当编码的图像数据根据基于具有树结构的编码单元的视频编码的方法被编码并被发送时,恢复图像产生器24可根据基于具有树结构的编码单元的视频解码的方法对编码的图像数据进行解码。

恢复图像产生器24可对解码的图像数据选择性地执行内环路滤波,诸如去块滤波和自适应环路滤波。可通过使用多个连续的一维滤波器来执行自适应环路滤波。

像素组确定器26可接收由恢复图像产生器24产生的恢复图像和由提取器22提取的与补偿值有关的信息,并从恢复图像中的预定组的恢复像素中确定包括通过使用补偿值将被补偿的恢复像素的像素组。恢复像素补偿器28接收由提取器22提取的补偿值和关于由像素组确定器26确定的像素组的信息,并通过使用补偿值来补偿恢复像素的像素值,输出具有恢复像素值的恢复图像。

当由提取器22提取关于确定像素组的方法的信息时,像素组确定器26可确定具有通过使用该方法将被补偿的像素值的像素组。例如,像素组确定器26可基于该方法确定是根据极值级别和/或边缘值级别、像素值的带还是线来对恢复像素进行划分,并确定像素组。

像素组确定器26可通过将恢复图像中的邻近恢复像素的像素值进行比较,来根据恢复像素确定极值级别和/或边缘值级别。像素组确定器26可基于极值级别和/或边缘值级别对邻近恢复像素进行划分,并将包括至少一个预定极值级别和/或边缘值级别的恢复像素的像素组确定为包括具有通过使用补偿值将被补偿的像素值的恢复像素的像素组。恢复像素补偿器28可通过使用补偿值补偿确定的像素组中的恢复像素的像素值。

可选地,像素组确定器26可基于通过对像素值的总区域进行划分而获得的带,将恢复图像中的恢复像素划分为根据带的像素组。恢复像素补偿器28可通过使用根据用于根据带的像素组中的恢复像素的多个带的补偿值,来补偿根据带的像素组中的恢复像素的像素值。

像素值的总区域可被划分为与2的正整数次幂相等数量的带。这里,可基于恢复像素的比特深度中的最高有效位的数量来确定2的正整数次幂的数量的索引。此外,像素值的总区域可以是恢复像素的扩展比特深度的范围。

像素组确定器26可将恢复图像的恢复像素划分为根据线的像素组。恢复像素补偿器28可通过使用用于根据线的像素组的补偿值,来补偿根据线的像素组中的恢复像素的像素值。像素组确定器26可从恢复图像的恢复像素中检测在预定对象的至少一个水平方向、垂直方向、对角线方向、曲线方向或边界方向上形成线的恢复像素。

可在编码期间通过使用恢复像素和相应原始像素之间的误差的平均值来确定和发送补偿值。恢复像素补偿器28可通过使用一个补偿值来补偿将被补偿的所有恢复像素的像素值。可选地,当根据像素组设置由提取器22提取的补偿值时,恢复像素补偿器28可通过使用根据像素组单独确定的补偿值来补偿像素值。

当编码的图像被解码和恢复时,视频编码设备10和视频解码设备20可补偿恢复图像和原始图像之间产生的系统误差。视频编码设备10可通过显式发送信号和隐式发送信号来发送关于将被校正的像素的组的信息。视频编码设备10和视频解码设备20可将图像划分为正方形形状的部分、矩形形状的部分或甚至是不规则形状的部分,并仅对有形区域中的特定组的像素执行选择性校正。基于图像的划分部分,像素值可被自适应地补偿到图像的内容。

作为恢复图像和原始图像之间的系统误差的示例,预定组中的恢复像素与相应原始像素之间的像素值的误差的平均值可不为0。因此,视频编码设备10和视频解码设备20补偿恢复像素和原始像素之间的误差。

补偿值和像素组确定器16可根据以下的等式1确定补偿值。

[等式1]

这里,m表示从1到M的整数,原始像素的像素值Org(xm,ym)和恢复像素的像素值Rec(xm,ym)之间的误差的平均值corr可被用作包括在位置(xm,ym)的像素的像素组{(xm,ym)}的补偿值。

恢复像素确定器28可根据以下的等式2补偿像素组中的恢复像素的像素值。

[等式2]

Reccorrected(xm,ym)=Rec(xm,ym)+corr

恢复像素补偿器28可通过使用补偿值corr来补偿恢复像素的像素值Rec(xm,ym),并根据作为补偿像素组{(xm,ym)}中的像素值Rec(xm,ym)的结果的像素,输出像素值Reccorrected(xm,ym)。

视频编码设备10和视频解码设备20可根据预定标准对恢复像素进行划分,从而确定具有将被补偿的像素值的像素组。

根据示例性实施例,像素组可根据极值级别和/或边缘值级别被划分。局部极值和/或边缘值包括局部最小值和局部最大值。针对二次函数f(x,y),在以下的等式3和等式4中分别定义在预定范围ε中的邻近坐标(x,y)处的局部最小值f(xmin,ymin)和局部最大值f(xmax,ymax)。

[等式3]

f(x,y)>f(xmin,ymin),if|xmin-x|+|ymin-y|<εandε>0。

[等式4]

f(x,y)<f(xmax,ymax),if|xmax-x|+|ymax-y|<ε(wherein,ε>0)。

此外,可针对离散信号像素(x,y),在以下的等式5和等式6中分别定义局部最小值f(xmin,ymin)和局部最大值f(xmax,ymax)。

[等式5]

f(xmin,ymin)<(xmin+1,ymin)

f(xmin,ymin)<(xmin-1,ymin)

f(xmin,ymin)<(xmin,ymin+1)

f(xmin,ymin)<(xmin,ymin-1)。

[等式6]

f(xmax,ymax)<(xmax+1,ymax)

f(xmax,ymax)<(xmax-1,ymax)

f(xmax,ymax)<(xmax,ymax+1)

f(xmax,ymax)<(xmax,ymax-1)。

视频编码设备10和视频解码设备20可根据等式5和等式6从在水平线和垂直线上的预定邻近恢复像素中确定与极值和/或边缘值相应的像素。此外,包括例如在对角线上的像素(xmax+1,ymax+1)、(xmax-1,ymax+1)、(xmax+1,ymax-1)和(xmax-1,ymax-1)的大多数邻近像素可被包括到像素划分处理。预定像素可被排除在像素组之外。例如,如果仅在相同线上的像素可被划分到像素组,则相应线之外的其它像素可被排除在像素组之外。

普通的视频编码和解码系统可产生平坦化现象。因此,恢复图像中的局部最小值大于原始图像的像素值,恢复图像和原始图像的局部最小值之间的误差为正值。此外,恢复图像中的局部最大值小于原始图像的像素值,恢复图像和原始图像的局部最大值之间的误差为负值。

因此,视频编码设备10和视频解码设备20可确定恢复图像和原始图像之间的预定像素组的局部最小值和局部最大值的误差的平均值,并补偿预定像素组中的恢复像素的像素值。以下,将参照图3描述由视频编码设备10的补偿值和像素组确定器16以及视频解码设备20的像素组确定器26执行的确定预定像素组的恢复像素的极值级别和/或边缘值级别的方法。

图3示出根据示例性实施例的邻近恢复像素32、34、35和37,邻近恢复像素32、34、35和37与当前恢复像素30进行比较以确定当前恢复像素30的极值级别和/或边缘值级别。为了方便解释,图3仅示出邻近恢复像素32、34、35和37。然而,根据示例性实施例的与当前恢复像素30进行比较的像素不限于水平线和垂直线上的邻近恢复像素32、34、35和37。

补偿值和像素组确定器16以及像素组确定器26可通过将分别位于当前恢复像素30的上方、左侧、右侧和下方的邻近恢复像素32、34、35和37与当前恢复像素30进行比较,确定当前恢复像素30的极值级别和/或边缘值级别。当参数“Pixel_Type”表示当前恢复像素30的极值级别和/或边缘值级别时,Rec[x][y]表示当前恢复像素30的像素值,Rec[x][y-1]、Rec[x-1][y]、Rec[x+1][y]和Rec[x][y+1]分别表示邻近恢复像素的像素值,可如以下的分类公式来确定极值级别和/或边缘值级别:

Pixel_Type=0;

if(Rec[x][y]>Rec[x-1][y])Pixel_Type++;

if(Rec[x][y]<Rec[x-1][y])Pixel_Type--;

if(Rec[x][y]>Rec[x+1][y])Pixel_Type++;

if(Rec[x][y]<Rec[x+1][y])Pixel_Type--;

if(Rec[x][y]>Rec[x][y-1])Pixel_Type++;

if(Rec[x][y]<Rec[x][y-1])Pixel_Type--;

if(Rec[x][y]>Rec[x][y+1])Pixel_Type++;

if(Rec[x][y]<Rec[x][y+1])Pixel_Type--。

“Pixel_Type”的最大值和最小值可被假设为+4和-4。

如果像素划分模式具有与图3示出的示例性像素划分模式不同的形状,则分类公式应被相应地修改。例如,在角度45的对角线方向上的边缘检测期间,像素31和38与当前像素30进行比较。可如以下的修改的分类公式来确定极值级别和/或边缘值级别:

Pixel_Type=0;

if(Rec[x][y]>Rec[x-1][y-1])Pixel_Type++;

if(Rec[x][y]<Rec[x-1][y-1])Pixel_Type--;

if(Rec[x][y]>Rec[x+1][y+1])Pixel_Type++;

if(Rec[x][y]<Rec[x+1][y+1])Pixel_Type--。

相应地,“Pixel_Type”的最大值和最小值可被假设为+2和-2。

换句话说,通过将在当前恢复像素30的预定范围内的邻近恢复像素32、34、35和37的像素值与当前恢复像素30的像素值进行比较来确定极值级别和/或边缘值级别。当当前恢复像素30的极值级别和/或边缘值级别是最大极值级别和/或边缘值级别(即M)时,当前恢复像素30可被确定为局部最大像素,当当前恢复像素30的极值级别和/或边缘值级别是最小极值级别和/或边缘值级别(即-M)时,当前恢复像素30可被确定为局部最小像素。可基于分析的邻近恢复像素的预定数量来确定M的值。补偿值和像素组确定器16以及像素组确定器26可将被确定为局部最大像素和局部最小像素的恢复像素确定为将被补偿的像素。

这样,补偿值和像素组确定器16以及像素组确定器26确定当前数据单元中的恢复像素的极值级别和/或边缘值级别,并确定包括极值级别和/或边缘值级别为M的恢复像素的像素组以及极值级别和/或边缘值级别为-M的恢复像素的像素组。补偿值和像素组确定器16可确定根据多个像素组的恢复像素和相应原始像素之间的像素值的误差的平均值,并基于该平均值确定补偿值。像素组确定器26和恢复像素补偿器28可通过使用从接收的关于补偿值的信息中提取的补偿值,来补偿根据多个像素组的恢复像素的像素值。

补偿值和像素组确定器16以及像素组确定器26可将包括与局部最大像素和局部最小像素邻近的恢复像素的像素组确定为将被补偿的目标。因此,补偿值和像素组确定器16以及像素组确定器26可确定用于在包括最大极值级别和/或边缘值级别以及最小极值级别和/或边缘值级别的预定范围内的极值级别和/或边缘值级别的补偿值。例如,由于如上所述最大极值级别和/或边缘值级别为M,因此极值级别和/或边缘值级别为M-1的恢复像素与局部最大像素邻近。

因此,补偿值和像素组确定器16以及像素组确定器26可将包括极值级别和/或边缘值级别高于预定正值的恢复像素的像素组确定为与最大极值级别和/或边缘值级别邻近的像素组,并将包括极值级别和/或边缘值级别低于预定负值的恢复像素的像素组确定为与最小极值级别和/或边缘值级别邻近的像素组。例如,当极值级别和/或边缘值级别高于m或低于-m时,即,当极值级别和/或边缘值级别为-M、-(M-1)、-(M-2)、…、-(m+1)、(m+1)、…、(M-1)或M时,可确定根据极值级别和/或边缘值级别的补偿值。

可选地,补偿值和像素组确定器16可计算根据与最大极值级别和/或边缘值级别邻近的像素组的恢复像素和相应原始像素之间的误差的平均值,并确定根据所述像素组的补偿值。此外,像素组确定器26和恢复像素补偿器28可通过使用从关于根据多个像素组的补偿值的信息提取的所述补偿值,补偿根据多个像素组的恢复像素的像素值。

这里,分别位于当前恢复像素30的上方、左侧、右侧和下方的4个邻近恢复像素32、34、35和37被用于确定极值级别和/或边缘值级别,但为了具体对极值级别和/或边缘值级别进行分类,当前恢复像素30周围的8个恢复像素31至38可被用作邻近恢复像素,以确定当前恢复像素30的极值级别和/或边缘值级别。

可选地,视频编码设备10和视频解码设备20可将像素值划分为等于或高于预定数量的带。

例如,当恢复像素的比特深度为N时,恢复像素的像素值Rec[x][y]的总范围为0≤Rec[x][y]≤(2N)-1。换句话说,像素值Rec[x][y]的最大值Max为(2N)-1,恢复像素的区域为[0,Max]。补偿值和像素组确定器16以及像素组确定器26可将恢复像素的区域划分为L个带。换句话说,恢复像素的带可被划分为[0,(Max+1)/L-1]、[Max/L,2×(Max+1)/L-1]以及[2×Max/L,3×(Max+1)/L-1]至[(L-1)×Max/L,L×(Max+1)/L-1]。

实际原始数据可在区域[Min,Max]内。最小值Min和最大值Max不分别强制等于0和(2N)-1。不同值的数量可相应于实际原始数据的范围,即“Range=Max-Min+1”。如果恢复像素的带被均等划分,则均等的带被划分为[Min,Range/L-1]、[Max/L,2×Range/L-1]以及[2×Max/L,3×Range/L-1]至[(L-1)×Range/L,Max]。在另一示例性实施例中,恢复像素的带可被不均等地划分。

恢复像素的区域[0,Max]的划分带的数量L可以是2的倍数,可以是16或更大以进行快速计算。此外,为了快速计算,可以以这样的方式来确定数量L:恢复像素的最高有效位的数量p在2的指数内。例如,当恢复像素的最高有效位是4比特(p=4),并且恢复像素的扩展比特深度是12比特时,数量L可以是2p=16。因此,可如以下的表1所示划分扩展比特深度的恢复像素的带。

表1

由于当基于恢复像素的最高有效位的数量划分像素值的带时比特计算被容易地执行,因此像素组确定器26可有效地执行用于确定带的计算。

补偿值和像素组确定器16以及像素组确定器26可将相同带中的恢复像素划分为根据带的像素组。可基于原始信号或重建信号的实际最小值和最大值来划分带。

包括在根据带的像素组中的恢复像素与原始像素之间的误差的平均值不为0。因此,补偿值和像素组确定器16可通过使用根据带的平均值来确定补偿值。此外,像素组确定器26和恢复像素补偿器28可通过使用根据带的补偿值来补偿根据带的像素组中的恢复像素的像素值。

可选地,视频编码设备10和视频解码设备20可将恢复像素划分为包括形成预定线的恢复像素的像素组。

补偿值和像素组确定器16以及像素组确定器26可分析恢复图像的图像特征,并检测预定对象的垂直方向、水平方向、对角线方向、曲线方向和边界方向上的线。补偿值和像素组确定器16以及像素组确定器26可将形成同一条线的恢复像素确定为根据线的像素组。

包括在根据线的像素组中的恢复像素与原始像素之间的像素值的误差的平均值也不为0。补偿值和像素组确定器16可通过使用根据线的平均值来确定补偿值。像素组确定器26和恢复像素补偿器28可通过使用根据线的补偿值来补偿根据线的像素组中的恢复像素的像素值。

补偿值和补偿组确定器16以及像素组确定器26可根据数据单元(诸如视频的图像序列、帧或块)来确定根据极值级别和/或边缘值级别的补偿值。发送器18可对与补偿值有关的信息进行编码,并将与补偿值有关的信息作为开销信息发送。补偿值的精确性随着用于确定根据极值级别和/或边缘值级别的补偿值的数据单元的减小而增加,但由于用于对与补偿值有关的信息进行编码和发送的附加信息可能增加而使得开销可能增加。

此外,提取器22可从开销信息或像条头信息提取与补偿值有关的信息,并通过使用补偿值来补偿恢复像素的像素值。

恢复图像产生器14和24可对在空间域中解码的图像数据选择性地执行自适应环路滤波。恢复图像产生器14和24可根据自适应环路滤波,通过在水平方向上和垂直方向上连续执行一维滤波来恢复当前画面。

视频编码设备10的发送器18可对在自适应环路滤波中使用的滤波器系数进行编码,并输出该滤波器系数。此外,由于可针对自适应环路滤波设置每个一维滤波器的类型、数量、大小、量化比特、系数、滤波方向以及是否执行滤波和连续滤波,因此关于一组环路滤波的一维滤波器的信息可被编码和发送。

恢复图像产生器24可通过使用从提取器22提取的滤波器系数的残差信息来导出每个一维滤波器的滤波器系数。

例如,可通过将当前滤波器系数与先前滤波器系数之间的差加到先前滤波器系数来导出每个一维滤波器的当前滤波器系数。可通过使用导出的每个一维滤波器的滤波器系数来对去块数据执行连续一维滤波。执行去块以降低解码数据的块效应,并且环路滤波将恢复图像与原始图像之间的误差最小化。

为了加深理解,将参照以下等式描述使用水平方向上和垂直方向上的连续一维滤波的环路滤波。

可根据以下的等式7来导出当前滤波器系数。

[等式7]

c[i][j]=adaptive_loop_filter_prev[i][j]+adaptive_loop_filter[i][j]

这里,i表示一维滤波器的索引,j表示一维滤波器的滤波器系数的索引。c[i][j]表示当前滤波器系数,adaptive_loop_filter_prev[i][j]表示先前滤波器系数,adaptive_loop_filter[i][j]表示作为滤波器系数信息被发送的滤波器系数的残差分量。

换句话说,从先前滤波器系数和所述残差分量的和来导出当前滤波器系数。为了在导出当前滤波器系数之后导出下一滤波器系数,当前滤波器系数c[i][j]被更新为adaptive_loop_filter_prev[i][j]。

可根据以下的等式8和等式9来执行使用连续一维滤波的环路滤波。在等式8和等式9中,i表示当前画面的宽度方向上的索引,j表示当前画面的高度方向上的索引。

[等式8]

qi,j=(pi,j-4×c[0][4]+pi,j-3×c[0][3]+pi,j-2×c[0][2]+pi,j-1×c[0][1]+pi,j×c[0][0]+pi,j+1×c[0][1]+pi,j+2×c[0][2]+pi,j+3×c[0][3]+pi,j+4×c[0][4])

这里,pi,j表示当前画面的去块数据,qi,j表示针对去块数据的水平方向上的一维滤波的数据。通过使用对称滤波器的滤波器系数c,5个滤波器系数被用于对9条去块数据进行对称滤波。

[等式9]

fi,j=(qi,j-4×c[1][4]+qi,j-3×c[1][3]+qi,j-2×c[1][2]+qi,j-1×c[1][1]+qi,j×c[1][0]+qi,j+1×c[1][1]+qi,j+2×c[1][2]+qi,j+3×c[1][3]+qi,j+4×c[1][4])

这里,fi,j表示针对一维滤波的数据qi,j的垂直方向上的一维滤波的数据。由于滤波器系数c使用连续滤波方法,因此对水平方向上的一维滤波的数据在垂直方向上连续执行一维滤波。

在对称滤波器中,与二维滤波器相比,一维滤波器能够仅通过使用小量系数来设置所有滤波器的系数。因此,与二维滤波器相比,被插入传输比特流中的与多个一维滤波器的滤波器特征有关的比特可相对较低。

此外,在一维滤波器中用于在滤波期间存储临时数据的存储容量比在二维滤波器中小。与一维滤波的滤波吞吐量相比,二维滤波器的滤波吞吐量相当大。在连续滤波中,不可通过使用二维滤波器执行根据多个滤波的平行处理,但可通过使用一维滤波器执行平行处理。

然而,环路滤波不限于水平方向和垂直方向上的连续一维滤波。环路滤波可随预定数量的一维滤波器执行连续的一维滤波而被执行,其中,每个一维滤波在预定方向上被执行。

视频解码设备20可从关于滤波器系数的信息接收关于一组一维滤波器的信息,以检查每个一维滤波器的类型、数量、大小、量化比特、系数、滤波方向以及是否执行滤波和连续滤波。因此,恢复图像产生器24可通过组合各种一维滤波器来执行环路滤波。

现在将参照图4和图5来描述由恢复图像产生器14和24执行的自适应环路滤波。

图4是用于描述根据示例性实施例的自适应环路滤波的流程图。

环路滤波可随多个一维滤波器连续执行滤波而被执行。在操作41,接收解码的图像数据。可选地,可接收在解码之后执行了去块滤波的图像数据。在操作42,确定是否将使用全部第一至第N滤波器。如果确定将不使用第一至第N滤波器,则执行操作46。如果在操作42中确定将使用第一至第N滤波器,则可根据滤波顺序执行一维滤波,例如,在操作43第一滤波器执行第一滤波方向上的一维滤波,在操作44第二滤波器执行第二滤波方向上的一维滤波,直到在操作45第N滤波器执行第N滤波方向上的一维滤波。

在操作46,解码的图像数据、去块的图像数据或连续一维滤波的数据被存储在缓冲器中或被再现器再现。

可通过分析局部图像的特征,根据该特征来自适应地确定一维滤波器的滤波方向。例如,滤波方向可被自适应地确定为局部图像的边缘方向以保存局部图像的边缘。

图5是用于描述根据另一示例性实施例的自适应环路滤波的流程图。

当在操作51接收到解码的图像数据或去块的图像数据时,在步骤52,针对解码的图像数据或去块的图像数据的每个像素检测边缘。在操作53,根据检测的边缘执行一维滤波,并在操作54,滤波的数据被存储或被再现器再现。

当对视频进行编码时,关于一组一维滤波器的信息(包括根据边缘确定的滤波方向)被编码并被提供给解码器。在对视频进行解码时,从接收的数据读取关于环路滤波器的信息,并可由预定的一维滤波器来执行根据滤波方向(诸如边缘方向)的一维滤波。

构成环路滤波的后处理可减小由于复杂的有损压缩而产生的原始图像和恢复图像之间的失真。此外,环路滤波的图像可被用作参考图像,以提高通过执行预测或运动补偿而获得的图像的质量。

因此,恢复图像产生器14和24可考虑图像的特征、系统环境或用户要求,通过组合具有各种特征的一维滤波器来选择性地执行自适应环路滤波。由于连续一维滤波器代替二维滤波器被使用以执行自适应循环滤波,因此与二维滤波器相比,自适应环路滤波可在存储、吞吐量、发送比特的量等方面具有优势。当恢复图像产生器14和24执行自适应环路滤波时,发送器18和提取器22发送和接收通过对编码的滤波器系数的残差分量进行编码而获得的信息,因此用于自适应环路滤波的信息的量可减少。

图6是示出根据示例性实施例的用于补偿像素值来对视频进行编码的方法的流程图。

在操作62,输入图像序列被编码。在操作64,编码的图像数据被解码,通过对解码的图像数据执行环路滤波来产生恢复图像。可通过执行自适应环路滤波来产生恢复图像,其中,对解码的图像数据或去块的图像数据连续执行至少一次一维滤波操作。

在操作66,确定关于恢复图像与相应原始图像中的预定组的每个恢复像素之间的误差的补偿值以及包括将被补偿的恢复像素的像素组。可根据像素值的极值级别和/或边缘值级别、像素值的带或线来确定包括将被补偿的恢复像素的像素组。可基于误差的平均值来确定根据像素组的补偿值。

在操作68,补偿值被编码,编码的补偿值和编码的输入图像序列的比特流被发送。当根据更详细的像素组确定补偿值时,可精确地补偿像素值,而开销会增加。

图7是示出根据示例性实施例的用于补偿像素值来对视频进行解码的方法的流程图。

在操作72,接收和解析关于编码图像的比特流,并从比特流提取编码的图像数据和补偿值。

在操作74,对编码的图像数据进行解码,通过对解码的图像数据执行环路滤波来产生恢复图像。可通过执行自适应环路滤波来产生恢复图像,其中,对解码的图像数据或去块的图像数据连续执行至少一次一维滤波操作。

在操作76,从恢复图像中的恢复像素中确定包括通过使用补偿值将被补偿的恢复像素的像素组。可根据基于关于补偿值的信息确定像素组的方法,根据恢复像素的像素值的极值级别和/或边缘值级别、像素值的带或线来确定包括通过使用补偿值将被补偿的恢复像素的像素组。在操作78,可通过使用补偿值补偿确定的像素组的恢复像素与原始像素之间的误差来输出具有补偿的误差的恢复图像。

根据对视频进行编码的方法和对视频进行解码的方法,可通过补偿恢复图像的系统误差来提高恢复图像的质量,并且由于仅对关于根据像素组的补偿值的信息进行编码和发送,不发送关于将被补偿的恢复像素的位置的信息,因此用于提高恢复图像的质量的附加信息的发送比特的量可减小。

以下,将参照图8至图22描述根据示例性实施例的用于基于具有树结构的编码单元在执行环路滤波之后补偿像素值的对视频的编码和解码。

图8是根据示例性实施例的用于基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行编码的视频编码设备80的框图。

根据当前示例性实施例的视频编码设备80包括编码器81、恢复图像产生器84、补偿值和像素组确定器87以及发送器88。编码器81包括最大编码单元划分器82以及编码深度和编码模式确定器83。恢复图像产生器84包括解码器85和环路滤波执行器86。

编码器81对输入图像序列进行编码。编码器81可基于具有树结构的编码单元来对输入图像序列进行编码。最大编码单元划分器82可基于图像的当前画面的最大编码单元来划分当前画面。根据示例性实施例的最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是宽度和高度为2的多次方的方形。

如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。图像数据可根据所述至少一个最大编码单元被输出到编码深度和编码模式确定器83。

根据示例性实施例的编码单元可由最大尺寸以及深度来表征。深度表示编码单元从最大编码单元在空间上被划分的次数,并且随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最上层深度,最小编码单元的深度是最下层深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此,与上层深度相应的编码单元可包括多个与下层深度相应的编码单元。

如上所述,当前画面的图像数据根据编码单元的最大尺寸而被划分为最大编码单元,所述最大编码单元中的每一个可包括根据深度被划分的较深层编码单元。由于根据示例性实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层划分。

可预先确定编码单元的最大深度和最大尺寸,所述最大深度和最大尺寸限定最大编码单元的高度和宽度被分层划分的总次数。

编码深度和编码模式确定器83对通过根据深度划分最大编码单元的区域而获得的至少一个划分的区域进行编码,并根据所述至少一个划分的区域确定用于输出最终编码的图像数据的深度。换句话说,编码深度和编码模式确定器83通过根据当前画面的最大编码单元对根据深度的较深层编码单元中的图像数据进行编码并选择具有最小编码误差的深度,来确定编码深度。因此,与确定的编码深度相应的编码单元的编码的图像数据被输出。此外,与编码深度相应的编码单元可被视为被编码的编码单元。确定的编码深度和根据确定的编码深度的编码的图像数据被输出到发送器88。

基于与等于或低于最大深度的至少一个深度相应的较深层编码单元对最大编码单元中的图像数据进行编码,并基于较深层编码单元中的每一个来比较对图像数据进行编码的结果。在将较深层编码单元的编码误差进行比较之后,可选择具有最小编码误差的深度。针对每个最大编码单元,可选择至少一个编码深度。

随着编码单元根据深度而被分层划分,并且随着编码单元的数量增加,最大编码单元的尺寸被划分。此外,即使在一个最大编码单元中编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每一个划分到下层深度。因此,即使当图像数据被包括在一个最大编码单元中时,图像数据也根据多个深度被划分为多个区域,并且在所述一个最大编码单元中,编码误差可根据区域而不同,因此,在图像数据中编码深度可根据区域而不同。因此,可在一个最大编码单元中确定一个或多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。

因此,编码深度和编码模式确定器83可确定包括在最大编码单元中的具有树结构的编码单元。根据示例性实施例的“具有树结构的编码单元”包括有在最大编码单元中包括的所有较深层编码单元中的与被确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,编码深度的编码单元可根据深度被分层确定,而在不同的区域中,编码深度的编码单元可被独立地确定。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。

根据示例性实施例的最大深度是关于从最大编码单元到最小编码单元的划分次数的索引。根据示例性实施例的最大深度可表示从最大编码单元到最小编码单元的总划分次数。例如,当最大编码单元的深度为0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、1、2、3和4这5个深度级,因此,最大深度可被设置为4。

可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。

由于每当最大编码单元根据深度被划分时较深层编码单元的数量增加,因此针对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。

视频编码设备80可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。

例如,视频编码设备80不仅可选择用于对图像数据进行编码的编码单元,还可选择与编码单元不同的数据单元,以便对编码单元中的图像数据执行预测编码。

为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与下层深度相应的编码单元的编码单元)执行预测编码。以下,现将不再被划分并且变成用于预测编码的基本单元的编码单元称为“预测单元”。通过对预测单元进行划分所获得的分区(partition)可包括预测单元或通过对预测单元的高度和宽度中的至少一个进行划分所获得的数据单元。

例如,当2N×2N(其中,N是正整数)的编码单元不再被划分并且变成2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高度或宽度进行对称划分所获得的对称分区、通过对预测单元的高度或宽度进行不对称划分(诸如1:n或n:1)所获得的分区、通过对预测单元进行几何划分所获得的分区以及具有任意形状的分区。

预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可针对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。此外,可仅针对2N×2N的分区执行跳过模式。针对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。

视频编码设备80还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,对编码单元中的图像数据执行变换。

为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。

现将用作变换的基础的数据单元称为“变换单元”。还可在变换单元中设置指示通过对编码单元的高度和宽度进行划分来达到变换单元的划分次数的变换深度。例如,在2N×2N的当前编码单元中,当变换单元的尺寸也为2N×2N时,变换深度可以是0,当所述当前编码单元的高度和宽度中的每一个被划分为两等份,总共被划分为4^1个变换单元,从而变换单元的尺寸是N×N时,变换深度可以是1,当所述当前编码单元的高度和宽度的每一个被划分为四等份,总共被划分为4^2个变换单元,从而变换单元的尺寸是N/2×N/2时,变换深度可以是2。例如,可根据分层树结构来设置变换单元,其中,根据变换深度的分层特性,上层变换深度的变换单元被划分为下层变换深度的四个变换单元。

与编码单元类似,编码单元中的变换单元可被递归地划分为尺寸更小的区域,从而可以以区域为单位独立地确定变换单元。因此,可根据具有按照变换深度的树结构的变换,来划分编码单元中的残差数据。

根据与编码深度相应的编码单元的编码信息不仅使用关于编码深度的信息,还使用关于与预测编码和变换有关的信息的信息。因此,编码深度和编码模式确定器83不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的尺寸。

编码深度和编码模式确定器83可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的较深层编码单元的编码误差。

恢复图像产生器84对编码的图像数据进行解码,并通过对解码的图像数据执行环路滤波来产生恢复图像。包括在恢复图像产生器84中的解码器85基于具有树结构的编码单元对由编码器81编码的图像数据进行解码。解码器85可基于由编码深度和编码模式确定器83确定的编码深度和编码模式,对编码的图像数据进行解码,并根据最大编码单元输出空间域的图像数据。

包括在恢复图像产生器84中的环路滤波执行器86可对解码的图像数据执行内环路滤波。可由环路滤波执行器86执行由恢复图像产生器14选择性地执行的相同自适应环路滤波。因此,环路滤波执行器86可连续执行水平方向上的一维滤波和垂直方向上的一维滤波以恢复当前画面。环路滤波执行器86可将恢复图像输出到补偿值和像素组确定器87。

补偿值和像素组确定器87确定关于恢复图像中的预定组的每个恢复像素与相应原始像素之间的误差的补偿值,以及包括具有将被补偿的像素值的恢复像素的组像素。补偿值和像素组确定器87是与补偿值和像素组确定器16相应的技术元件。

因此,补偿值和像素组确定器87可根据恢复像素确定恢复图像的邻近恢复像素的极值级别和/或边缘值级别,并将邻近恢复像素划分为根据极值级别和/或边缘值级别的像素组。可选地,补偿值和像素组确定器87可基于像素值将恢复像素划分为根据带的像素组。可选地,补偿值和像素组确定器87可通过分析恢复图像来检测预定方向上的线,并将恢复像素划分为根据线的像素组,所述像素组包括相同线上的恢复像素。

补偿值和像素组确定器87可通过使用恢复像素与相应原始像素之间的误差的平均值来单独地确定每个像素组的补偿值。补偿值和像素组确定器87可根据输入视频的图像序列、像条、帧和编码单元中的至少一个数据单元来确定将被补偿的恢复像素,并确定与确定的将被补偿的恢复像素相应的补偿值。关于由补偿值和像素组确定器87确定的补偿值和像素组的信息可被输出到发送器88。

发送器88在比特流中输出基于由编码深度和编码模式确定器83确定的至少一个编码深度进行编码的最大编码单元的图像数据以及关于根据编码深度的编码模式的信息。由编码器81编码的图像数据可经由熵编码被转换为比特流格式,并随后被插入比特流用于发送。

可选地,发送器88可对由补偿值和像素组确定器86确定的补偿值进行编码,并将编码的补偿值输入比特流用于发送。可选地,发送器88可从补偿值和像素组确定器87接收关于确定像素组的方法的附加信息,对所述附加信息进行编码,并将编码的附加信息插入比特流。

可通过对图像的残差数据进行编码来获得编码的图像数据。

关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式以及变换单元的尺寸。

可通过使用根据深度的划分信息来定义关于编码深度的信息,所述划分信息指示是否针对下层深度而不是当前深度的编码单元来执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并被输出,因此划分信息可被定义为不将当前编码单元划分到下层深度。可选地,如果当前编码单元的当前深度不是编码深度,则针对下层深度的编码单元来执行编码,因此,划分信息可被定义为划分当前编码单元以获得下层深度的编码单元。

如果当前深度不是编码深度,则针对被划分为下层深度的编码单元的编码单元来执行编码。由于在当前深度的一个编码单元中存在下层深度的至少一个编码单元,因此针对下层深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。

由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。此外,由于图像数据根据深度被分层划分,因此,最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模式的信息。

因此,发送器88可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。

根据示例性实施例的最小单元是通过将构成最低深度的最小编码单元划分4次所获得的矩形数据单元。可选地,最小单元可以是最大矩形数据单元,所述最大矩形数据单元可被包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中。

例如,通过发送器88输出的编码信息可被分为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息。此外,关于根据画面、像条或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入比特流的序列参数集(SPS)或头中。

发送器88可对在自适应环路滤波中使用的滤波器系数进行编码,并输出所述滤波器系数。此外,由于可针对自适应环路滤波设置每个一维滤波器的类型、数量、大小、量化比特、系数、滤波方向以及是否执行滤波和连续滤波,因此关于一组环路滤波的一维滤波器的信息可被编码和发送。

在视频编码设备80中,较深层编码单元可以是通过将作为上一层的上层深度的编码单元的高度或宽度划分两次所获得的编码单元。换句话说,当当前深度的编码单元的尺寸为2N×2N时,下层深度的编码单元的尺寸是N×N。此外,尺寸为2N×2N的当前深度的编码单元可最多包括下层深度的4个编码单元。

因此,视频编码设备80可通过基于考虑当前画面的特征所确定的最大编码单元的尺寸和最大深度,针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式和变换中的任何一个来针对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特征来确定最佳编码模式。

因此,如果以现有技术的宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,由此难以发送压缩信息,且数据压缩效率降低。然而,通过使用根据示例性实施例的视频编码设备80,由于在考虑图像尺寸的同时增加编码单元的最大尺寸,同时在考虑图像特征的同时调整编码单元,因此可提高图像压缩效率。

此外,由于对关于用于补偿恢复图像和原始图像之间的像素值的补偿值的信息(所述信息被解码器所需要以提高恢复图像的质量)进行编码和发送而不对关于像素位置的信息进行编码和发送,因此可减小附加信息的发送比特的量。

图9是根据示例性实施例的用于基于具有树结构的编码单元在执行环路滤波之后补偿像素值的视频解码设备90的框图。

视频解码设备90包括提取器90、恢复图像产生器94、像素组确定器97和恢复像素补偿器98。提取器91包括接收器92以及图像数据、编码模式信息、环路滤波器系数信息和补偿值信息提取器(以下称为信息提取器)93。恢复图像产生器94包括解码器95和环路滤波执行器96。

用于描述视频解码设备90的各种操作的术语(诸如编码单元、深度、预测单元、变换单元和各种编码模式)的定义与参照图8的视频编码设备80描述的那些术语相同。

提取器91接收和解析编码图像的比特流,并从比特流提取编码的图像数据和补偿值。提取器91的接收器92接收和解析编码图像的比特流。信息提取器从解析的比特流根据最大编码单元提取图像数据,将提取的数据输出到解码器95。信息提取器93可从关于当前画面的头中提取关于当前画面的编码单元的最大尺寸的信息。

此外,信息提取器93从解析的比特流提取关于编码单元的编码深度和编码模式的信息,其中,编码单元具有根据每个最大编码单元的树结构。提取的关于编码深度和编码模式的信息被输出到解码器95。换句话说,比特串中的图像数据被划分为最大编码单元,从而解码器95对每个最大编码单元的图像数据进行解码。

可针对关于与编码深度相应的至少一个编码单元的信息,来设置关于根据最大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和变换单元的尺寸。

由信息提取器93提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于编码深度和编码模式的信息,其中,所述编码深度和编码模式被确定为用于当编码器(诸如视频编码设备80)根据每个最大编码单元对每个根据深度的较深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备90可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。

由于关于编码深度和编码模式的编码信息可被分配给相应编码单元、预测单元和最小单元中的预定数据单元,因此信息提取器93可提取关于根据预定数据单元的编码深度和编码模式的信息。被分配了关于编码深度和编码模式的相同信息的预定数据单元可被推断为包括在相同最大编码单元中的数据单元。

解码器95通过基于关于根据最大编码单元的编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码,来恢复当前画面。换句话说,解码器95可基于提取的关于包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的分区类型、预测模式和变换单元的信息,来对编码的图像数据进行解码。解码处理可包括预测(所述预测包括帧内预测和运动补偿)和逆变换。可根据反正交变换或反整数变换的方法来执行逆变换。

此外,解码器95可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,通过读取具有树结构的变换单元,根据编码单元中的每个变换单元执行逆变换,从而根据最大编码单元执行逆变换。

解码器95可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度下不再被划分,则当前深度是编码深度。因此,解码器95可通过使用与编码深度相应的每个编码单元的关于预测单元的分区类型、预测模式和变换单元尺寸的信息,对当前最大编码单元中与每个编码深度相应的至少一个编码单元的编码数据进行解码,并输出当前最大编码单元的图像数据。

换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集来收集包括编码信息(所述编码信息包括相同的划分信息)的数据单元,收集的数据单元可被视为将由解码器95以相同的编码模式进行解码的一个数据单元。

当关于用于自适应环路滤波的滤波器系数的信息被插入比特流时,信息提取器93可从比特流提取关于滤波器系数的信息。环路滤波执行器96可接收由信息提取器93提取的关于滤波器系数的信息,并通过对由解码器95解码的图像数据执行环路滤波来产生恢复图像。

恢复图像产生器24的相同技术元件可被应用到环路滤波执行器96。因此,环路滤波执行器96可对解码的图像数据选择性地执行去块滤波和自适应环路滤波。可通过使用连续的多个一维滤波器来执行自适应环路滤波。

恢复图像产生器94可通过使用从信息提取器93提取的滤波器系数的残差信息来导出每个一维滤波器的滤波器系数。例如,可通过将当前滤波器系数和先前滤波器系数之间的差加到先前滤波器系数来导出每个一维滤波器的当前滤波器系数。可通过使用导出的每个一维滤波器的滤波器系数来对去块数据执行连续一维滤波。执行去块以降低解码数据的块效应,环路滤波将恢复图像与原始图像之间的误差最小化。

信息提取器93从比特流提取编码的图像数据和与补偿值有关的信息。与补偿值有关的信息可包括关于补偿值的信息。可选地,如果与补偿值有关的信息包括关于确定通过使用补偿值将被补偿的像素组的方法的信息,则信息提取器93可从比特流提取补偿值以及关于确定将被补偿的像素组的方法的信息。信息提取器93可根据输入视频的图像序列、像条、帧和编码单元中的至少一个数据单元来提取补偿值或与补偿值有关的信息。

像素组确定器97可通过接收由恢复图像产生器94产生的恢复图像以及由信息提取器93提取的补偿值,针对恢复图像中的预定组的恢复图像,来确定包括通过使用补偿值将被补偿的恢复像素的像素组。恢复像素补偿器98通过接收由信息提取器93提取的补偿值以及关于由像素组确定器97确定的像素组的信息,通过使用补偿值来补偿恢复图像的像素值,并输出具有恢复像素值的恢复图像。

当由信息提取器93提取关于确定将被补偿的像素组的方法的信息时,像素组确定器97可基于所述方法选择性地确定具有将被补偿的像素值的像素组。例如,像素组确定器97可基于所述方法,确定是根据极值级别和/或边缘值级别、像素值的带还是线来划分恢复像素,并确定具有将被补偿的像素值的像素组。这里,恢复像素补偿器98可通过使用根据极值级别和/或边缘值级别、像素值的带或线的像素组的补偿值来补偿像素组中的恢复像素的像素值。

视频解码设备90可获得关于当针对每个最大编码单元递归地执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,考虑分辨率和图像数据量来确定编码单元的最大尺寸。

因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式来有效地对图像数据进行解码和恢复,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特征来适应性地确定所述编码单元的尺寸和所述编码模式。

视频编码设备80和视频解码设备90可在编码图像被解码和恢复时补偿在恢复图像和原始图像之间产生的系统误差。

根据示例性实施例,基于具有树结构的编码单元对视频进行编码和解码。

图10是用于描述根据示例性实施例的编码单元的概念的示图。

编码单元的尺寸可被表示为宽度×高度,可以是64×64、32×32、16×16和8×8。64×64的编码单元可被划分为64×64、64×32、32×64或32×32的分区,32×32的编码单元可被划分为32×32、32×16、16×32或16×16的分区,16×16的编码单元可被划分为16×16、16×8、8×16或8×8的分区,8×8的编码单元可被划分为8×8、8×4、4×8或4×4的分区。

在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16,最大深度为1。图10中示出的最大深度指示从最大编码单元到最小解码单元的总划分次数。

如果分辨率高或数据量大,则编码单元的最大尺寸可较大,从而不仅提高了编码效率还精确地反映出图像的特征。因此,分辨率高于视频数据330的视频数据310和视频数据320的编码单元的最大尺寸可以是64。

由于视频数据310的最大深度是2,因此,由于通过将最大编码单元划分两次,深度被加深两层,因此视频数据310的编码单元315可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32和16的编码单元。同时,由于视频数据330的最大深度是1,因此,由于通过将最大编码单元划分一次,深度被加深一层,因此视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元以及长轴尺寸为8的编码单元。

由于视频数据320的最大深度为3,因此,由于通过将最大编码单元划分三次,深度被加深3层,因此视频数据320的编码单元325可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32、16和8的编码单元。随着深度加深,可精确地表达详细信息。

图11是根据示例性实施例的基于编码单元的图像编码器400的框图。

图像编码器400执行视频编码设备80的编码器81的操作以对图像数据进行编码。换句话说,帧内预测器410对当前帧405中的处于帧内模式下的编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405中的处于帧间模式下的编码单元执行帧间估计和运动补偿。

从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反量化器460和逆变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块单元480和环路滤波单元490进行后处理之后被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。

为了将图像编码器400应用在视频编码设备80中,图像编码器400的元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元来执行操作。

具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。

图12是根据示例性实施例的基于编码单元的图像解码器500的框图。

解析器510从比特流505解析将被解码的编码的图像数据以及解码所需的关于编码的信息。编码的图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过逆变换器540被恢复为空间域中的图像数据。

帧内预测器550针对空间域中的图像数据,对帧内模式下的编码单元执行帧内预测,运动补偿器560通过使用参考帧585对帧间模式下的编码单元执行运动补偿。

通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580进行后处理之后被输出为恢复帧595。此外,通过去块单元570和环路滤波单元580进行后处理的图像数据可被输出为参考帧585。

为了在视频解码设备90的解码器95中对图像数据进行解码,图像解码器500可执行在解析器510之后执行的操作。

为了将图像解码器500应用在视频解码设备90中,图像解码器500的元件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)基于针对每个最大编码单元的具有树结构的编码单元执行操作。

具体地,帧内预测器550和运动补偿器560基于每个具有树结构的编码单元的分区和预测模式执行操作,逆变换器540基于每个编码单元的变换单元的尺寸执行操作。

图13是示出根据示例性实施例的根据深度的较深层编码单元以及分区的示图。

视频编码设备80和视频解码设备90使用分层编码单元以考虑图像的特征。可根据图像的特征自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。

在根据示例性实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度均为64,最大深度为4。由于深度沿分层结构600的纵轴加深,因此较深层编码单元的高度和宽度均被划分。此外,沿分层结构600的横轴示出作为每个较深层编码单元的预测编码的基础的预测单元和分区。

换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度为0,尺寸(即,高度乘宽度)为64×64。深度沿纵轴加深,从而存在尺寸为32×32且深度为1的编码单元620、尺寸为16×16且深度为2的编码单元630、尺寸为8×8且深度为3的编码单元640以及尺寸为4×4且深度为4的编码单元650。尺寸为4×4且深度为4的编码单元650是最小编码单元。

编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64×64且深度为0的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。

类似地,尺寸为32×32且深度为1的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。

类似地,尺寸为16×16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即,包括在编码单元630中的尺寸为16×16的分区、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。

类似地,尺寸为8×8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区、尺寸为8×4的分区642、尺寸为4×8的分区644和尺寸为4×4的分区646。

尺寸为4×4且深度为4的编码单元650是最小编码单元和最下层深度的编码单元。编码单元650的预测单元仅被分配给尺寸为4×4的分区。可选地,可使用尺寸为4×2的分区652、尺寸为2×4的分区654或尺寸为2×2的分区656。

为了确定组成最大编码单元610的编码单元的至少一个编码深度,视频编码设备80的编码深度和编码模式确定器83针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。

随着深度加深,以相同范围和相同尺寸包括数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元,以覆盖包括在一个与深度1相应的编码单元中的数据。因此,为了比较相同数据根据深度的编码结果,与深度1相应的编码单元和四个与深度2相应的编码单元均被编码。

为了针对多个深度中的当前深度执行编码,可通过沿分层结构600的横轴针对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选地,可通过随着深度沿分层结构600的纵轴加深针对每个深度执行编码来比较根据深度的最小编码误差,从而搜索最小编码误差。编码单元610中具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。

图14是用于描述根据示例性实施例的编码单元710和变换单元720之间的关系的示图。

视频编码设备80或视频解码设备90针对每个最大编码单元,根据具有小于或等于最大编码单元的尺寸的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择编码期间用于变换的变换单元的尺寸。

例如,在视频编码设备80或视频解码设备90中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。

此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的变换单元中的每一个执行变换,来对尺寸为64×64的编码单元710的数据进行编码,随后可选择具有最小编码误差的变换单元。

图15是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图。

视频编码设备80的发送器88可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820进行编码和发送,以作为关于编码模式的信息。

信息800指示关于通过对当前编码单元的预测单元进行划分而获得的分区的形状的信息,其中,所述分区是用于对当前编码单元进行预测编码的数据单元。例如,尺寸为2N×2N的当前编码单元CU_0可被划分为尺寸为2N×2N的分区802、尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的分区808中的任意一个。这里,关于分区类型的信息800被设置为指示尺寸为2N×N的分区804、尺寸为N×2N的分区806和尺寸为N×N的尺寸的分区808之一。

信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。

信息820指示当针对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧内变换单元828。

视频解码设备90的信息提取器93可根据每个较深层编码单元提取和使用用于解码的信息800、810和820。

图16是根据示例性实施例的根据深度的较深层编码单元的示图。

划分信息可被用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为下层深度的编码单元。

用于对深度为0且尺寸为2N_0×2N_0的编码单元900进行预测编码的预测单元910可包括以下分区类型的分区:尺寸为2N_0×2N_0的分区类型912、尺寸为2N_0×N_0的分区类型914、尺寸为N_0×2N_0的分区类型916、尺寸为N_0×N_0的分区类型918。图9仅示出通过对预测单元910进行对称划分而获得的分区类型912至918,但分区类型不限于此,预测单元910的分区可包括不对称分区、具有预定形状的分区和具有几何形状的分区。

根据每个分区类型,对一个尺寸为2N_0×2N_0的分区、两个尺寸为2N_0×N_0的分区、两个尺寸为N_0×2N_0的分区和四个尺寸为N_0×N_0的分区重复执行预测编码。可对尺寸为2N_0×2N_0、N_0×2N_0、2N_0×N_0和N_0×N_0的分区执行帧内模式和帧间模式下的预测编码。仅对尺寸为2N_0×2N_0的分区执行跳过模式下的预测编码。

比较包括分区类型912至918中的预测编码的编码的误差,并在分区类型中确定最小编码误差。如果在分区类型912至916之一中编码误差最小,则预测单元910可不被划分到下层深度。

如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920对分区类型918进行划分,并对深度为2且尺寸为N_0×N_0的编码单元930重复执行编码,以搜索最小编码误差。

用于对深度为1且尺寸为2N_1×2N_1(=N_0×N_0)的编码单元930进行预测编码的预测单元940可包括以下分区类型的分区:尺寸为2N_1×2N_1的分区类型942、尺寸为2N_1×N_1的分区类型944、尺寸为N_1×2N_1的分区类型946、尺寸为N_1×N_1的分区类型948。

如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950对分区类型948进行划分,并对深度为2且尺寸为N_2×N_2的编码单元960重复执行编码,以搜索最小编码误差。

当最大深度为d时,可执行根据每个深度的划分操作,直到深度变为d-1,并且划分信息可被编码直到深度为0到d-2中的一个。换句话说,当编码被执行直到在操作970与深度d-2相应的编码单元被划分之后深度为d-1时,用于对深度为d-1且尺寸为2N_(d-1)×2N_(d-1)的编码单元980进行预测编码的预测单元990可包括以下分区类型的分区:尺寸为2N_(d-1)×2N_(d-1)的分区类型992、尺寸为2N_(d-1)×N_(d-1)的分区类型994、尺寸为N_(d-1)×2N_(d-1)的分区类型996和尺寸为N_(d-1)×N_(d-1)的分区类型998。

可在分区类型992至998中对一个尺寸为2N_(d-1)×2N_(d-1)的分区、两个尺寸为2N_(d-1)×N_(d-1)的分区、两个尺寸为N_(d-1)×2N_(d-1)的分区、四个尺寸为N_(d-1)×N_(d-1)的分区重复执行预测编码,以搜索具有最小编码误差的分区类型。

即使当分区类型998具有最小编码误差时,但由于最大深度为d,因此深度为d-1的编码单元CU_(d-1)不再被划分到下层深度,用于组成当前最大编码单元900的编码单元的编码深度被确定为d-1,当前最大编码单元900的分区类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d并且具有最下层深度d-1的最小编码单元980不再被划分到下层深度,因此不设置最小编码单元980的划分信息。

数据单元999可以为当前最大编码单元的“最小单元”。根据示例性实施例的最小单元可以是通过将最小编码单元980划分4次而获得的矩形数据单元。通过重复执行编码,视频编码设备80可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,将相应的分区类型和预测模式设置为编码深度的编码模式。

这样,在1至d的所有深度中比较根据深度的最小编码误差,具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可被编码和发送,作为关于编码模式的信息。此外,由于编码单元从深度0被划分到编码深度,因此仅编码深度的划分信息被设置为0,除了编码深度之外的深度的划分信息被设置为1。

视频解码设备90的信息提取器93可提取并使用关于编码单元900的编码深度和预测单元的信息以对分区912进行解码。视频解码设备90可通过使用根据深度的划分信息将划分信息为0的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。

图17至图19是用于描述根据示例性实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。

编码单元1010是最大编码单元中与由视频编码设备80确定的编码深度相应的具有树结构的编码单元。预测单元1060是编码单元1010中的每一个的预测单元的分区,变换单元1070是编码单元1010中的每一个的变换单元。

当在编码单元1010中最大编码单元的深度是0时,编码单元1012和1054的深度是1,编码单元1014、1016、1018、1028、1050和1052的深度是2,编码单元1020、1022、1024、1026、1030、1032和1048的深度是3,编码单元1040、1042、1044和1046的深度是4。

在预测单元1060中,通过对编码单元1010中的编码单元进行划分来获得某些编码单元1014、1016、1022、1032、1048、1050、1052和1054。换句话说,编码单元1014、1022、1050和1054中的分区类型具有2N×N的尺寸,编码单元1016、1048和1052中的分区类型具有N×2N的尺寸,编码单元1032的分区类型具有N×N的尺寸。编码单元1010的预测单元和分区小于或等于每个编码单元。

对小于编码单元1052的数据单元中的变换单元1070中的编码单元1052的图像数据执行变换或逆变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状方面与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052不同。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元分别执行帧内预测、运动估计、运动补偿、变换和逆变换。

因此,对最大编码单元的每个区域中具有分层结构的编码单元中的每一个递归地执行编码,以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表2示出可由视频编码设备80和视频解码设备90设置的编码信息。

表2

视频编码设备80的发送器88可输出关于具有树结构的编码单元的编码信息,视频解码设备90的信息提取器93可从接收的比特流提取关于具有树结构的编码单元的编码信息。

划分信息指示当前编码单元是否被划分为下层深度的编码单元。如果当前深度d的划分信息为0,则当前编码单元不再被划分到下层深度的深度是编码深度,因此可针对编码深度定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对下层深度的四个划分的编码单元独立地执行编码。

预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分区类型中定义帧内模式和帧间模式,仅在尺寸为2N×2N的分区类型中定义跳过模式。

关于分区类型的信息可指示通过对预测单元的高度或宽度进行对称划分而获得的尺寸为2N×2N、2N×N、N×2N和N×N的对称分区类型,以及通过对预测单元的高度或宽度进行不对称划分而获得的尺寸为2N×nU、2N×nD、nL×2N和nR×2N的不对称分区类型。可通过按照1:3和3:1对预测单元的高度进行划分来分别获得尺寸为2N×nU和2N×nD的不对称分区类型,可通过按照1:3和3:1对预测单元的宽度进行划分来分别获得尺寸为nL×2N和nR×2N的不对称分区类型。

变换单元的尺寸可被设置为帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是2N×2N,这是当前编码单元的尺寸。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获得变换单元。此外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是不对称分区类型,则变换单元的尺寸可以是N/2×N/2。

关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括:包含相同编码信息的预测单元和最小单元中的至少一个。

因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。

因此,如果基于邻近数据单元的编码信息来预测当前编码单元,则可直接参考和使用与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。

可选地,如果基于邻近数据单元的编码信息来预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并且可参考搜索到的邻近编码单元来预测当前编码单元。

图20是用于描述根据表2的编码模式信息的编码单元、预测单元或分区、变换单元之间的关系的示图。

最大编码单元1300包括多个编码深度的编码单元1302、1304、1306、1312、1314、1316和1318。这里,由于编码单元1318是编码深度的编码单元,因此划分信息可被设置为0。关于尺寸为2N×2N的编码单元1318的分区类型的信息可被设置为以下分区类型之一:尺寸为2N×2N的分区类型1322、尺寸为2N×N的分区类型1324、尺寸为N×2N的分区类型1326、尺寸为N×N的分区类型1328、尺寸为2N×nU的分区类型1332、尺寸为2N×nD的分区类型1334、尺寸为nL×2N的分区类型1336和尺寸为nR×2N的分区类型1338。

变换单元的划分信息(TU尺寸标记)是变换索引的类型,其中与变换索引相应的变换单元的尺寸可根据编码单元的预测单元类型或分区类型而改变。

例如,当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标记为1,则设置尺寸为N×N的变换单元1344。

当分区类型被设置为不对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标记为1,则设置尺寸为N/2×N/2的变换单元1354。

参照图18,TU尺寸标记是具有值0或1的标记,但是TU尺寸标记不限于1比特,在TU尺寸标记从0增加的同时,变换单元可被分层划分以具有树结构。

在这种情况下,根据示例性实施例,可通过使用变换单元的TU尺寸标记以及变换单元的最大尺寸和最小尺寸来表示实际上已使用的变换单元的尺寸。根据示例性实施例,视频编码设备80能够对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码。对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码的结果可被插入SPS。根据示例性实施例,视频解码设备90可通过使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记来对视频进行解码。

例如,如果当前编码单元的尺寸是64×64并且最大变换单元尺寸是32×32,则当TU尺寸标记为0时,变换单元的尺寸可以是32×32,当TU尺寸标记为1时,变换单元的尺寸可以是16×16,当TU尺寸标记为2时,变换单元的尺寸可以是8×8。

作为另一示例,如果当前编码单元的尺寸是32×32并且最小变换单元尺寸是32×32,则当TU尺寸标记为0时,变换单元的尺寸可以是32×32。这里,由于变换单元的尺寸不能够小于32×32,因此TU尺寸标记不能够被设置为除了0以外的值。

作为另一示例,如果当前编码单元的尺寸是64×64并且最大TU尺寸标记为1,则TU尺寸标记可以是0或1。这里,TU尺寸标记不能够被设置为除了0或1以外的值。

因此,如果定义当TU尺寸标记为0时最大TU尺寸标记为“MaxTransformSizeIndex”,最小变换单元尺寸为“MinTransformSize”,变换单元尺寸为“RootTuSize”,则可通过等式(10)来定义可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”。

[等式10]

CurrMinTuSize

=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))

与可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”相比,当TU尺寸标记为0时,变换单元尺寸“RootTuSize”可指示可在系统中选择的最大变换单元尺寸。在等式10中,“RootTuSize/(2∧MaxTransformSizeIndex)”指示当TU尺寸标记为0时的变换单元尺寸“RootTuSize”被划分了与最大TU尺寸标记相应的次数时的变换单元尺寸,“MinTransformSize”指示最小变换尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中较小的值可以是可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”。

根据示例性实施例,最大变换单元尺寸RootTuSize可根据预测模式的类型而变化。

例如,如果当前预测模式是帧间模式,则可通过使用以下的等式(11)来确定“RootTuSize”。在等式11中,“MaxTransformSize”指示最大变换单元尺寸,“PUSize”指示当前预测单元尺寸。

[等式11]

RootTuSize=min(MaxTransformSize,PUSize)。

也就是说,如果当前预测模式是帧间模式,则当TU尺寸标记为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前预测单元尺寸中较小的值。

如果当前分区单元的预测模式是帧内模式,则可通过使用以下的等式12来确定“RootTuSize”。在等式12中,“PartitionSize”指示当前分区单元的尺寸。

[等式12]

RootTuSize=min(MaxTransformSize,PartitionSize)。

也就是说,如果当前预测模式是帧内模式,则当TU尺寸标记为0时的变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前分区单元尺寸之中较小的值。

然而,根据分区单元中的预测模式的类型而变化的当前最大变换单元尺寸“RootTuSize”仅是示例,本发明不限于此。

图21是示出根据示例性实施例的用于基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行编码的方法的流程图。

在操作2110,当前画面被划分为至少一个最大编码单元,通过对根据深度的每个最大编码单元的区域进行划分来获得至少一个划分的区域,通过对所述至少一个划分的区域进行编码来确定用于输出根据所述至少一个划分的区域的最终编码结果的编码深度。此外,基于根据深度的较深层编码单元确定编码模式,其中编码模式包括关于编码深度或划分信息的信息、关于编码深度的分区类型的信息、预测模式和变换单元的尺寸。

可预先确定指示最大编码单元被划分的可能的总次数的最大深度。每当深度加深时,可分层划分最大编码单元,并且可针对每个较深层编码单元重复执行编码。测量并比较所有较深层编码单元的编码误差,以确定产生编码单元的最小编码误差的编码深度。

在操作2120,基于编码深度和编码模式对编码的图像数据进行解码,通过对解码的图像数据执行环路滤波来产生恢复图像。可通过执行自适应环路滤波来产生恢复图像,其中,所述自适应环路滤波对解码的图像数据或去块的图像数据连续执行至少一次一维滤波。

在操作2130,确定关于恢复图像的预定组中的每个恢复像素与原始像素之间的误差的补偿值以及包括将被补偿的恢复像素的像素组。可根据像素值的极值级别和/或边缘值级别、像素值的带或线来确定包括具有将被补偿的像素值的恢复像素的像素组。可基于误差的平均值来确定根据像素组的补偿值。

在操作2140,输出构成根据所述至少一个划分的区域的最终编码结果的图像数据、关于编码深度和编码模式的信息、关于环路滤波系数的信息以及与补偿值有关的信息。关于编码模式的信息可包括关于编码深度或划分信息的信息、关于编码深度的分区类型的信息、预测模式和变换单元的尺寸。

与根据像素组的补偿值有关的信息可与关于编码模式的信息、视频数据和关于环路滤波系数的信息一起被编码,根据基于具有树结构的编码单元的所述方法被编码,并可被发送到解码器。

图22是示出根据示例性实施例的用于基于具有树结构的编码单元在执行环路滤波之后补偿像素值来对视频进行解码的方法的流程图。

在操作2210,接收和解析关于根据基于具有树结构的编码单元的图21的方法而被编码的视频的比特流,从解析的比特流提取当前画面的被分配给最大编码单元的图像数据、关于根据最大编码单元的编码深度和编码模式的信息、关于环路滤波系数的信息以及与补偿值有关的信息。

在对当前画面进行编码时,根据最大编码单元的编码深度被选为具有根据最大编码单元的最小编码误差的深度。通过基于根据深度对最大编码单元进行分层划分而获得的至少一个数据单元对图像数据进行编码,来根据最大编码单元执行编码。因此,在确定根据编码单元的编码深度之后对每条图像数据进行解码,从而提高图像的编码和解码效率。

在操作2220,基于关于编码深度和编码模式的信息按照每个最大编码单元对图像数据进行解码,并通过对解码的图像数据执行环路滤波来产生恢复图像。可通过执行自适应环路滤波来产生恢复图像,其中,对解码的图像数据或去块的图像数据连续执行至少一次一维滤波。

在操作2230,通过使用补偿值从恢复图像的恢复像素中确定包括将被补偿的恢复像素的像素组。可通过使用基于提取的与补偿值有关的信息确定像素组的方法,通过使用根据恢复像素的像素值的极值级别和/或边缘值级别、像素值的带或线的补偿值,来确定包括具有将被补偿的像素值的恢复像素的像素组。

在操作2240,可通过使用补偿值补偿确定的像素组的恢复像素与相应原始像素之间的误差,来输出具有补偿的误差的恢复图像。

根据对视频进行编码的方法和对视频进行解码的方法,可通过补偿恢复图像的系统误差来提高恢复图像的质量,由于仅关于根据像素组的补偿值的信息被编码和发送,关于将被补偿的像素的位置的信息不被发送,因此可减小用于提高恢复图像的质量的附加信息的发送比特率。

本发明的示例性实施例可被写为计算机程序,并可在使用计算机可读记录介质执行程序的通用数字计算机中被实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)。

虽然以上具体示出和描述了示例性实施例,但是本领域的普通技术人员将理解,在不脱离由权利要求定义的本发明构思的精神和范围的情况下,可对其进行形式和细节上的各种改变。示例性实施例应该被认为仅是描述的意义,而并非为了限制的目的。因此,本发明构思的范围不由对示例性实施例的具体描述来定义,而是由权利要求来定义,在所述范围内的所有不同方式将被理解为包括在本发明构思中。

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