通过使用大变换单元对图像进行编码和解码的方法和设备与流程

文档序号:16481237发布日期:2019-01-04 22:42阅读:121来源:国知局
通过使用大变换单元对图像进行编码和解码的方法和设备与流程

技术领域

示例性实施例涉及一种用于对图像进行编码和解码的方法和设备,更具体地讲,涉及一种用于通过将像素域图像变换为频域的系数对图像进行编码和解码的方法和设备。



背景技术:

在用于对图像进行编码和解码的大多数方法和设备中,像素域的图像被变换到频域,并且变换后的图像被编码以压缩图像。离散余弦变换(DCT)是用于对音频/视频(AV)数据压缩的公知技术。近年,已进行了找寻更有效编码方法的许多尝试。在音频编码中,参数编码比DCT执行得更好,并且在二维数据中,Karhunen Loeve变换(KLT)具有最小的比特大小但具有大开销(overhead)大小。



技术实现要素:

技术方案

示例性实施例提供一种用于通过使用有效变换对图像进行编码和解码的方法和设备,以及其上记录有用于执行编码和解码的计算机程序的计算机可读记录介质。

有益效果

根据示例性实施例,由于变换单元可被设置为具有比预测单元更大的尺寸,并且可对所述变换单元执行变换,因此可对图像进行更有效地压缩和编码。

附图说明

通过参照附图描述特定示例性实施例,以上和/或其他方面将变得更加清楚,其中:

图1是根据示例性实施例的用于对图像进行编码的设备的框图;

图2是根据示例性实施例的用于对图像进行解码的设备的框图;

图3示出根据示例性实施例的分层编码单元;

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

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

图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元;

图7示出根据示例性实施例的编码单元和变换单元;

图8a、图8b、图8c和图8d示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状;

图9是根据另一示例性实施例的用于对图像进行编码的设备的框图;

图10是根据示例性实施例的用于描述预测方法的示图;

图11是根据示例性实施例的变换器的框图;

图12a到图12c是根据示例性实施例的变换单元的类型的示图;

图13a到图13d是根据其他示例性实施例的变换单元的类型的示图;

图14是根据示例性实施例的不同变换单元的示图;

图15是根据另一示例性实施例的用于对图像进行解码的设备的框图;

图16是示出根据示例性实施例的对图像进行编码的方法的流程图;

图17是示出根据示例性实施例的对图像进行解码的方法的流程图。

最佳实施方式

根据示例性实施例的一方面,提供一种对图像进行编码的方法,所述方法包括:对图像的多个编码单元执行预测,并基于预测的多个编码单元产生多个预测单元;将所述多个预测单元组合为变换单元;基于变换单元将包括在组合的多个预测单元中的残差值变换到频域,并变换为频域的频率分量系数;对频率分量系数进行量化;以及对量化的频率分量系数进行熵编码。

所述组合步骤可包括:基于指示将最大编码单元分层减小到所述多个编码单元的程度的所述多个预测单元的深度,组合所述多个预测单元。

所述组合步骤可包括:选择所述多个预测单元中的根据预测模式的类型被执行预测的相邻预测单元。

所述执行预测步骤可包括:通过基于所述多个预测单元中的至少一个相邻预测单元的预测值,对所述多个预测单元中被预测的预测单元进行帧内预测来产生所述多个编码单元的残差值。

所述执行预测步骤可包括:通过对包括在所述多个编码单元中的所有预测单元进行帧间预测来产生所述多个编码单元的残差值。

根据示例性实施例的另一方面,提供一种用于对图像进行编码的设备,所述设备包括:预测器,对图像的多个编码单元执行预测,并基于预测的多个编码单元产生多个预测单元;变换器,将所述多个预测单元组合为变换单元,基于变换单元将包括在组合的多个预测单元中的残差值变换到频域,并变换为频域的频率分量系数;量化器,对频率分量系数进行量化;以及熵编码器,对量化的频率分量系数进行熵编码。

根据示例性实施例的另一方面,提供一种对图像进行解码的方法,所述方法包括:对从变换单元的多个预测单元的变换的残差值产生的频域的频率分量系数进行熵解码,其中,所述多个预测单元包括在图像的多个编码单元中;对经过熵解码的频率分量系数进行反量化;将反量化的频率分量系数逆变换到像素域,作为包括在变换单元中的所述多个编码单元的恢复的残差值;以及基于恢复的残差值,恢复所述多个编码单元。

根据示例性实施例的另一方面,提供一种用于对图像进行解码的设备,所述设备包括:熵解码器,对从变换单元的多个预测单元的变换的残差值产生的频域的频率分量系数进行熵解码,其中,所述多个预测单元包括在图像的多个编码单元中;反量化器,对经过熵解码的频率分量系数进行反量化;逆变换器,将反量化的频率分量系数逆变换到像素域,作为包括在变换单元中的所述多个编码单元的恢复的残差值;以及恢复器,基于恢复的残差值,恢复所述多个编码单元。

根据示例性实施例的另一方面,提供一种其上记录有用于执行解码方法和编码方法的程序的计算机可读记录介质。

具体实施方式

以下,参照附图更详细地描述特定示例性实施例。诸如“…中的至少一个”的表达在元素列表之后时,修饰整个元素列表,而不修饰列表中的单个元素。在本说明书中,“图像”可表示视频的静止图像或运动图像(即,视频自身)。

在以下描述中,即使在不同附图中,相同的附图标号也用于表示相同的元件。提供描述中定义的内容(诸如详细的构造和元件)以帮助全面理解示例性实施例。然而,可在没有那些具体定义的内容的情况下实施示例性实施例。

图1是根据示例性实施例的用于对图像进行编码的图像编码设备100的框图。作为示例,图像编码设备100可实现为硬件设备(诸如计算机的处理器或者计算机系统)。图像编码设备100还可实现为驻存在计算机系统上的软件模块。

参照图1,图像编码设备100包括最大编码单元划分器110、编码深度确定器120、图像数据编码器130和编码信息编码器140,其中,以上项可实现为例如集成在图像编码设备100内或与图像编码设备100分离的硬件或者软件模块。

最大编码单元划分器110可基于作为具有最大尺寸的编码单元的最大编码单元划分当前帧或像条(slice)。也就是说,最大编码单元划分器110可将当前帧或像条划分为至少一个最大编码单元。

根据示例性实施例,编码单元可使用最大编码单元和深度来表示。如上所述,最大编码单元指示当前帧的编码单元之中具有最大尺寸的编码单元,深度指示分层减小编码单元的程度。随着深度增加,编码单元可从最大编码单元减小到最小编码单元,其中,最大编码单元的深度被定义为最小深度,最小编码单元的深度被定义为最大深度。由于随着深度增加编码单元的尺寸从最大编码单元减小,因此第k深度的子编码单元可包括第k+n(k和n是大于等于1的整数)深度的多个子编码单元。

根据将被编码的帧的尺寸的增大,以更大的编码单元对图像编码可导致更高的图像压缩率。然而,如果更大的编码单元被固定,则通过反映连续改变图像特征无法对图像进行有效地编码。

例如,当诸如海洋或天空的平滑区域被编码时,编码单元越大,压缩率可增加得越多。但是,当诸如人或建筑物的复杂区域被编码时,编码单元越小,压缩率可增加得越多。

因此,在示例性实施例中,为每个帧或像条设置不同的最大图像编码单元和不同的最大深度。由于最大深度指示编码单元可减小的最大次数,因此,包括在最大图像编码单元中的每个最小编码单元的尺寸可根据最大深度不同地设置。可为每个帧或像条或者为每个最大编码单元不同地确定最大深度。

编码深度确定器120确定最大编码单元的划分形状。可基于率失真(RD)代价的计算来确定划分形状。最大编码单元的确定的划分形状被提供给编码信息编码器140,根据最大编码单元的图像数据被提供给图像数据编码器130。

最大编码单元可被划分为根据不同深度具有不同尺寸的子编码单元,并且包括在最大编码单元中的具有不同尺寸的子编码单元可基于具有不同尺寸的处理单元被预测或进行频率变换。换言之,图像编码设备100可基于具有各种尺寸和各种形状的处理单元执行用于图像编码的多个处理操作。为了对图像数据进行编码,执行诸如预测、变换和熵编码的处理操作,其中,具有相同尺寸或不同尺寸的处理单元可被用于每个操作。

例如,图像编码设备100可选择与编码单元不同的处理单元以用于预测所述编码单元。

当编码单元的尺寸是2N×2N(其中,N是正整数)时,用于预测的处理单元可以是2N×2N、2N×N、N×2N和N×N。换言之,可基于具有编码单元的高和宽中的至少一个被二等分的形状的处理单元执行运动预测。以下,将作为预测的基础的处理单元定义为预测单元。

预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个,并且可仅针对具有特定尺寸或特定形状的预测单元执行特定预测模式。例如,可仅针对尺寸为2N×2N或N×N且形状为正方形的预测单元执行帧内模式。此外,可仅针对尺寸为2N×2N的预测单元执行跳过模式。如果在编码单元中存在多个预测单元,则可在针对每个预测单元执行预测之后选择具有最小编码误差的预测模式。

可选择地,图像编码设备100可基于尺寸与编码单元的尺寸不同的处理单元对图像数据执行频率变换。对于编码单元中的频率变换,可基于尺寸小于等于编码单元的尺寸的处理单元执行频率变换。以下,将作为频率变换的基础的处理单元定义为变换单元。所述频率变换可以是离散余弦变换(DCT)或者Karhunen Loeve变换(KLT)。

编码深度确定器120可基于拉格朗日乘数使用RD优化来确定包括在最大编码单元中的子编码单元。换言之,编码深度确定器120可确定从最大编码单元划分的多个子编码单元的形状,其中,子编码单元根据子编码单元的深度具有不同的尺寸。图像数据编码器130通过基于由编码深度确定器120确定的划分形状对最大编码单元进行编码来输出比特流。

编码信息编码器140对关于由编码深度确定器120确定的最大编码单元的编码模式的信息进行编码。换言之,编码信息编码器140通过对关于最大编码单元的划分形状的信息、关于最大深度的信息以及关于每个深度的子编码单元的编码模式的信息进行编码来输出比特流。关于子编码单元的编码模式的信息可包括关于子编码单元的预测单元的信息、关于每个预测单元的预测模式的信息以及关于子编码单元的变换单元的信息。

关于最大编码单元的划分形状的信息可以是指示每个编码单元是否被划分的标记信息。例如,当最大编码单元被划分和编码时,指示最大编码单元是否被划分的信息被编码。此外,当从最大编码单元划分的子编码单元被划分和编码时,指示子编码单元是否被划分的信息被编码。

由于针对每个最大编码单元存在具有不同尺寸的子编码单元并且针对每个子编码单元确定关于编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。

图像编码设备100可通过根据深度的增加将最大编码单元的高和宽二等分来产生子编码单元。也就是说,当第k深度的编码单元的尺寸是2N×2N时,第k+1深度的编码单元的尺寸是N×N。

因此,图像编码设备100可考虑图像特征基于最大编码单元的尺寸和最大深度来确定针对每个最大编码单元的最佳划分形状。通过考虑图像特征可变地调整最大编码单元的尺寸并且通过将最大编码单元划分为不同深度的子编码单元对图像进行编码,可对具有各种分辨率的图像进行更有效地编码。

图2是根据示例性实施例的用于对图像进行解码的图像解码设备200的框图。作为示例,图像解码设备200可实现为硬件设备(诸如计算机的处理器或者计算机系统)。图像解码设备200还可实现为驻存在计算机系统上的软件模块。

参照图2,图像解码设备200包括图像数据获取单元210、编码信息提取器220和图像数据解码器230,其中,以上项可实现为例如集成在图像解码设备200内或与图像解码设备200分离的硬件或者软件模块。

图像数据获取单元210通过解析由图像解码设备200接收的比特流来获取根据最大编码单元的图像数据,并将图像数据输出到图像数据解码器230。图像数据获取单元210可从当前像条或当前帧的头部提取关于当前帧或像条的最大编码单元的信息。换言之,图像数据获取单元210在最大编码单元中划分比特流,使得图像数据解码器230可根据最大编码单元对图像数据进行解码。

编码信息提取器220通过解析由图像解码设备200接收的比特流从当前帧的头部提取关于最大编码单元、最大深度、最大编码单元的划分形状、子编码单元的编码模式的信息。关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。

关于最大编码单元的划分形状的信息可包括关于具有根据深度的不同尺寸并包括在最大编码单元中的子编码单元的信息,并且可以是指示每个编码单元是否被划分的标记信息。

关于编码模式的信息可包括关于根据子编码单元的预测单元的信息、关于预测模式的信息以及关于变换单元的信息。

图像数据解码器230通过基于由编码信息提取器220提取的信息对每个最大编码单元的图像数据进行解码来恢复当前帧。

图像数据解码器230可基于关于最大编码单元的划分形状的信息对包括在最大编码单元中的子编码单元进行解码。解码处理可包括预测处理(包括帧内预测和运动补偿)和逆变换处理。

图像数据解码器230可基于关于预测单元的信息和关于预测模式的信息来执行帧内预测或帧间预测,以预测所述预测单元。图像数据解码器230还可基于关于子编码单元的变换单元的信息来针对每个子编码单元执行逆变换。

图3示出根据示例性实施例的分层编码单元。

参照图3,分层编码单元可包括宽和高为64×64、32×32、16×16、8×8和4×4的编码单元。除了具有完全正方形形状的这些编码单元之外,还可存在宽和高为64×32、32×64、32×16、16×32、16×8、8×16、8×4和4×8的编码单元。

参照图3,对于分辨率为1920×1080的图像数据集310,最大编码单元的尺寸被设置为64×64,最大深度被设置为2。

对于分辨率为1920×1080的图像数据集320,最大编码单元的尺寸被设置为64×64,最大深度被设置为3。对于分辨率为352×288的图像数据集330,最大编码单元的尺寸被设置为16×16,最大深度被设置为1。

当分辨率较高或数据量较大时,编码单元的最大尺寸可被设置为相对较大以增加压缩率并更加精确地反映图像特征。因此,对于具有比图像数据集330更高分辨率的图像数据集310和320,,64×64可被选为最大编码单元的尺寸。

最大深度指示分层编码单元中的层的总数。由于图像数据集310的最大深度是2,因此,图像数据集310的编码单元315可包括长轴尺寸为64的最大编码单元以及根据深度的增加长轴尺寸为32和16的子编码单元。

另一方面,由于图像数据集330的最大深度是1,因此,图像数据集330的编码单元335可包括长轴尺寸为16的最大编码单元以及根据深度的增加长轴尺寸为8的编码单元。

然而,由于图像数据集320的最大深度是3,因此,图像数据集320的编码单元325可包括长轴尺寸为64的最大编码单元以及根据深度的增加长轴尺寸为32、16、8和4的子编码单元。由于基于随着深度增加的更小的子编码单元对图像进行编码,因此示例性实施例适合用于对包括更小场景的图像进行编码。

图4是根据示例性实施例的基于编码单元的图像编码器400的框图。作为示例,图像编码器400可实现为硬件装置(诸如计算机的处理器)或者实现为驻存在计算机系统上的软件模块。

帧内预测器410对当前帧405中的帧内模式的预测单元执行帧内预测,运动估计器420和运动补偿器425使用当前帧405和参考帧495对帧间模式的预测单元执行帧间预测和运动补偿。作为示例,帧内预测器410、运动估计器420、运动补偿器425和参考帧495可实现为集成在图像编码器400内或与图像编码器400分离的硬件或软件模块。

基于从帧内预测器410、运动估计器420和运动补偿器425输出的预测单元产生残差值。产生的残差值经过变换器430和量化器440输出为量化的变换系数。

量化的变换系数经过反量化器460和逆变换器470恢复为残差值,恢复的残差值经过去块单元480和环路滤波单元490被后处理并输出为参考帧495。所述量化的变换系数可经过熵编码器450输出为比特流455。

为了基于根据示例性实施例的编码方法执行编码,图像编码器400的帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像编码处理。

图5是根据示例性实施例的基于编码单元的图像解码器500的框图。作为示例,图像解码器500可实现为硬件装置(诸如计算机的处理器)或者驻存在计算机系统上的软件模块。

比特流505经过解析器510,使得将被解码的编码的图像数据和解码所必需的编码信息被解析。所述编码的图像数据经过熵解码器520和反量化器530输出为反量化的数据,并经过逆变换器540恢复为残差值。根据被添加到帧内预测器550的帧内预测结果或运动补偿器560的运动补偿结果的编码单元来恢复残差值。恢复的编码单元585、595经过去块单元570和环路滤波单元580用于预测下一编码单元或下一帧。作为示例,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、补偿器560、去块单元570和环路滤波单元580可实现为集成在图像解码器500内或与图像解码器500分离的硬件或软件模块。

为了基于根据示例性实施例的解码方法执行解码,图像解码器500的解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像解码处理。

尤其是,帧内预测器550和运动补偿器560通过考虑最大编码单元和深度来确定子编码单元中的预测单元和预测模式,逆变换器540通过考虑变换单元的尺寸来执行逆变换。

图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元。

图1示出的图像编码设备100和图2示出的图像解码设备200考虑图像特征而使用分层编码单元来执行编码和解码。可根据图像特征自适应地设置最大编码单元和最大深度,或者可根据用户的需要可变地设置最大编码单元和最大深度。

在图6中,分层编码单元结构600具有作为高和宽为64且最大深度为4的最大编码单元的最大编码单元610。深度沿着分层编码单元结构600的纵轴增加,而随着深度增加,子编码单元620至650的高和宽减小。沿着分层编码单元结构600的横轴示出最大编码单元610和子编码单元620至650的预测单元。

最大编码单元610具有深度0以及编码单元的尺寸(或者高和宽)64×64。深度沿着纵轴增加,并存在尺寸为32×32且深度为1的第一子编码单元620、尺寸为16×16且深度为2的第二子编码单元630、尺寸为8×8且深度为3的第三子编码单元640以及尺寸为4×4且深度为4的最小编码单元650。尺寸为4×4且深度为4的最小编码单元650是最小编码单元,并且最小编码单元可被划分为预测单元,其中,每个预测单元的尺寸小于最小编码单元。

参照图6,根据每个深度沿着横轴示出预测单元的示例。也就是说,深度为0的最大编码单元610的预测单元可以是尺寸等于最大编码单元的尺寸64×64的预测单元或者尺寸小于尺寸为64×64的最大编码单元的尺寸的尺寸为64×32的预测单元612、尺寸为32×64的预测单元614或尺寸为32×32的预测单元616。

深度为1且尺寸为32×32的第一子编码单元620的预测单元可以是尺寸等于第一子编码单元的尺寸32×32的预测单元或者尺寸小于尺寸为32×32的第一子编码单元620的尺寸的尺寸为32×16的预测单元622、尺寸为16×32的预测单元624或尺寸为16×16的预测单元626。

深度为2且尺寸为16×16的第二子编码单元630的预测单元可以是尺寸等于第二子编码单元630的尺寸16×16的预测单元或者尺寸小于尺寸为16×16的第二子编码单元630的尺寸的尺寸为16×8的预测单元632、尺寸为8×16的预测单元634或尺寸为8×8的预测单元636。

深度为3且尺寸为8×8的第三子编码单元640的预测单元可以是尺寸等于第三子编码单元640的尺寸8×8的预测单元或者尺寸小于尺寸为8×8的第三子编码单元640的尺寸的尺寸为8×4的预测单元642、尺寸为4×8的预测单元644或尺寸为4×4的预测单元646。

深度为4且尺寸为4×4的最小编码单元650是最小编码单元和最大深度的编码单元。最小编码单元650的预测单元可以是尺寸为4×4的预测单元650、尺寸为4×2的预测单元652、尺寸为2×4的预测单元654或尺寸为2×2的预测单元656。

图7示出根据示例性实施例的编码单元和变换单元。

图1示出的图像编码设备100和图2示出的图像解码设备200使用最大编码单元或使用从最大编码单元划分的尺寸小于等于最大编码单元的子编码单元来执行编码和解码。在编码和解码处理中,用于频率变换的变换单元的尺寸被选择为不大于相应编码单元的尺寸。例如,如果当前编码单元710具有尺寸64×64,则可使用尺寸为32×32的变换单元720执行频率变换。

图8a、图8b、图8c和图8d示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状。

图8a和图8b分别示出根据示例性实施例的编码单元和预测单元。

图8a示出由图1示出的图像编码设备100选择的用于对最大编码单元810进行编码的划分形状。图像编码设备100将最大编码单元810划分为各种形状,执行编码,并通过基于RD代价将各种划分形状的编码结果互相比较来选择最佳划分形状。当将被编码的最大编码单元810最佳时,如图8a到图8d所示,可在不划分最大编码单元810的情况下,对最大编码单元810进行编码。

参照图8a,通过将深度为0的最大编码单元810划分为深度大于等于1的子编码单元812、854,最大编码单元810被编码。也就是说,最大编码单元810被划分为深度为1的4个子编码单元,并且深度为1的全部子编码单元或一些子编码单元被划分为深度为2的子编码单元814、816、818、828、850和852。

深度为1的子编码单元中位于右上方的子编码单元和位于左下方的子编码单元被划分为深度大于等于2的子编码单元。深度大于等于2的一些子编码单元可被进一步划分为深度大于等于3的子编码单元820、822、824、826、830、832、840、842、844、846和848。

图8b示出最大编码单元810的预测单元的划分形状。

参照图8b,最大编码单元810的预测单元860可不同于最大编码单元810而被划分。换言之,每个子编码单元的预测单元可小于相应子编码单元。

例如,深度为1的子编码单元812、854中位于右下方的子编码单元854的预测单元可小于子编码单元854。另外,深度为2的子编码单元814、816、818、828、850和852中的子编码单元814、816、850和852的预测单元可分别小于子编码单元814、816、850和852。

另外,深度为3的子编码单元822、832和848的预测单元可分别小于子编码单元822、832和848。预测单元可具有各个子编码单元沿高或宽方向被二等分的形状或者具有各个子编码单元沿高和宽方向被四等分的形状。

图8c和图8d示出根据示例性实施例的预测单元和变换单元。

图8c示出在图8b中示出的最大编码单元810的预测单元的划分形状,图8d示出最大编码单元810的变换单元的划分形状。

参照图8d,变换单元870的划分形状可不同于预测单元860被设置。

例如,即使深度为1的子编码单元854的预测单元被选为具有子编码单元854的高被二等分的形状,变换单元也可被选为具有子编码单元854的原始尺寸。同样,即使深度为2的子编码单元814和850的预测单元被选为具有子编码单元814和850中的每一个的高被二等分的形状,变换单元也可被选为具有与子编码单元814和850中的每一个的原始尺寸相同的尺寸。

变换单元可被选为具有比预测单元更小的尺寸。例如,当深度为2的子编码单元852的预测单元被选为具有子编码单元852的宽被二等分的形状时,变换单元可被选为具有子编码单元852沿高和宽方向被四等分的形状,其中,所述形状具有比预测单元的形状更小的尺寸。

可选择地,如将参照图13a到图13d所述,不管编码单元为何,变换单元可被设置为具有比编码单元更大的尺寸。

图9是根据另一示例性实施例的用于对图像进行编码的设备900的框图。

参照图9,根据当前示例性实施例的图像编码设备900包括预测器910、变换器920、量化器930和熵编码器940。

预测器910通过对一个或多个编码单元执行帧内预测或帧间预测来产生残差值。将如稍后所述,包括在多个预测单元中的残差值可被组合为一个变换单元,并随后被变换到频域,由此,通过基于所述多个预测单元预测一个或多个编码单元来产生残差值。到频域的变换可以是DCT或KLT。

如以上参照图8a所述,在根据示例性实施例的图像编码方法中,一个编码单元可包括多个预测单元。因此,预测器910可预测每个预测单元,并产生包括在所述一个编码单元中的预测单元的残差值。

可选择地,预测单元910可一次预测所述多个编码单元。将如稍后所述,根据示例性实施例,包括在多个编码单元中的多个预测单元可被组合为一个变换单元,并由此通过预测包括在编码单元中的每个预测单元来产生残差值。例如,包括在一个最大编码单元中的所有子编码单元可被预测以产生编码单元的残差值。

根据传统技术,由于以小于等于预测单元的尺寸执行变换(例如,DCT或KLT),因此,预定的预测单元被独立地编码、恢复,并随后用于预测下一预测单元。然而,根据稍后将描述的根据示例性实施例的对图像进行编码的方法,由于通过将包括在一个或多个编码单元中的预测单元组合为一个变换单元来执行变换,因此预定的预测单元不能被独立地编码和恢复。这将参照图10进行详细描述。

图10是根据示例性实施例的用于描述预测方法的示图。

参照图10,一个编码单元1000可包括多个预测单元1010到1040。如果按照传统技术以小于等于预测单元的尺寸执行变换,则预测单元1010到1030可在对右下方的预测单元1040进行编码之前被编码和恢复。

因此,如果根据传统技术预测单元1040将经由帧内预测被预测,则通过使用通过对预测单元1010到1030进行编码并随后恢复预测单元1010到1030产生的像素中与预测单元1040相邻的像素来对预测单元1040进行帧内预测。

另一方面,根据示例性实施例,多个预测单元被组合为一个变换单元,并随后执行变换。这里,如果图10的预测单元1010到1040被组合为一个变换单元,则使用其他预测单元1010到1030对右下方的预测单元1040进行编码,并由此在对预测单元1040进行编码之前,不对预测单元1010到1030进行编码。因此,不能通过使用通过对预测单元1010到1030进行编码并随后恢复预测单元1010到1030产生的像素来对预测单元1040进行帧内预测。

因此,图9的预测单元910可通过使用预测单元1010到1030的预测值来预测所述预测单元1040。通过使用预测单元1010到1030的预测值,而不使用通过对预测单元1010到1030进行编码并随后恢复预测单元1010到1030产生的像素,来预测右下方的预测单元1040。

换言之,如果在组合为一个变换单元的预测单元中存在经由帧内预测而预测的第一预测单元,则可通过使用至少一个相邻预测单元的预测值来对第一预测单元进行帧内预测。

可选择地,组合为一个变换单元的预测单元可全部经由帧间预测被预测。如参照图10所述,由于在将多个预测单元组合为一个变换单元时经由帧内预测所预测的预测单元待解决(at issue),因此,可仅使用帧间预测来预测组合为变换单元的所有预测单元。

参照回图9,变换器920接收像素域中的图像处理单元,并将所述图像处理单元变换到频域,变换器920将由预测单元910产生的残差值变换到频域。

如上所述,变换器920将预测单元组合为一个变换单元,并根据变换单元执行DCT或KLT。残差值可以是包括在一个或多个编码单元中的多个预测单元的残差值。作为将像素域变换到频域的结果,频率分量的系数被产生。

根据示例性实施例,可经由DCT或KLT执行到频域的变换,作为DCT或KLT的结果,离散余弦系数被产生。然而,可使用用于将像素域中的图像变换到频域的任何变换。

图11是根据示例性实施例的变换器920的框图。

参照图11,变换器920包括选择器1110和变换执行器1120。

选择器1110通过选择多个相邻预测单元来设置一个变换单元。根据以上描述的传统图像编码设备,根据预定的预测单元执行帧内预测或帧间预测,并以小于等于预定预测单元的尺寸执行DCT或KLT。换言之,传统图像编码设备基于具有小于等于预测单元的尺寸的变换单元来执行DCT或KLT。

然而,由于附加的开销随着由于为每个变换单元添加的头部信息所导致的变换单元的尺寸减小而增加,所以图像编码的压缩率退化。因此,根据当前示例性实施例的图像编码设备900将相邻预测单元组合为一个变换单元,并随后根据变换单元执行DCT或KLT。具体地说,由于相邻预测单元极有可能具有相似的残差值,所以当根据通过组合相邻预测单元产生的变换单元来执行DCT或KLT时,编码的压缩率可显著增加。

因此,选择器1110选择将被组合为一个变换单元并将被执行DCT或KLT的预测单元。所述预测单元可彼此相邻。这将参照图12a到图12c以及图13a到图13d进行详细描述。

图12a到图12c是根据示例性实施例的变换单元1230到1250的类型的示图。

参照图12a到图12c,预测单元1220可具有编码单元1210沿宽方向被二等分的形状。编码单元1210可以是如上所述的最大编码单元或者具有比最大编码单元更小尺寸的子编码单元。

即使编码单元1210和预测单元1220相同,变换单元1230到1250也可不同。如图12a所示,变换单元1230的尺寸可小于预测单元1220的尺寸,或者如图12b所示,变换单元1240的尺寸可等于预测单元1220的尺寸。可选择地,如图12c所示,变换单元1250的尺寸可大于预测单元1220的尺寸。

被组合为一个变换单元的预测单元可以是如图12a到图12c所示的包括在一个编码单元中的多个预测单元,或者可以是包括在不同编码单元中的多个预测单元。换言之,包括在至少一个编码单元中的多个预测单元可被组合为一个变换单元并随后被变换到频域。

图13a到图13d是根据示例性实施例的变换单元的类型的示图。

一个最大编码单元1300可被划分为如图13a所示的具有不同尺寸并随后被编码的子编码单元1302到1308,并且如图13b所示,子编码单元1302到1308中的每一个可包括至少一个预测单元1310到1340。

选择器1110可将图13b中示出的预测单元1310到1340组合为图13c中示出的一个变换单元1350,并随后将变换单元1350变换到频域。

可选择地,如图13d所示,选择器1110可将左侧的子编码单元1302和1306的预测单元1310以及预测单元1330到1339组合为一个变换单元1360,并将右侧的子编码单元1304和1308的预测单元1320到1326以及预测单元1340组合为一个变换单元1362。

参照回图11,用于选择器1110选择多个相邻预测单元的准则是不受限的。然而,根据示例性实施例,选择器1110可基于深度选择变换单元。如上所述,深度指示将编码单元从当前像条或帧的最大编码单元分层减小到子编码单元的程度。如以上参照图3和图6所示,随着深度增加,子编码单元的尺寸减小,由此,包括在子编码单元中的预测单元的尺寸减小。这里,当根据具有小于等于预测单元的尺寸的变换单元执行DCT或KLT时,因为如上所述为每个变换单元添加了头部信息,所以图像编码的压缩率降低。

因此,包括在深度大于等于预定值的子编码单元中的预测单元可被组合为一个变换单元,并随后可基于变换单元执行DCT或KLT。因此,选择器1110可基于子编码单元的深度来设置变换单元。例如,当图12c的编码单元1210的深度高于k时,选择器1110将预测单元1220组合为一个变换单元1250。

可选择地,当最大编码单元包括深度大于等于预定值的多个子编码单元时,选择器1110可将子编码单元的预测单元组合为一个变换单元。图13c示出将深度大于最大编码单元(即,深度大于1)的子编码单元的预测单元组合为一个变换单元的示例。

根据另一示例性实施例,选择器1110可将多个相邻预测单元设置为一个变换单元,其中,根据相同的预测模式的类型对所述多个相邻预测单元执行预测。通过使用帧内预测或帧间预测所预测的相邻预测单元可被组合为一个变换单元。由于根据相同的预测模式的类型预测的相邻预测单元极有可能具有相似的残差值,因此,可通过将所述相邻预测单元组合为一个变换单元来执行DCT或KLT。

当选择器1110设置变换单元时,变换执行器1120根据设置的变换单元将所述相邻预测单元变换到频域。通过将选择的预测单元变换为一个变换单元来产生频域的系数(例如,离散余弦系数)。

参照回图9,量化器930对由变换器920产生的频率分量系数进行量化。量化器930可对根据预定的量化处理输入的系数进行量化。

熵编码器940对由量化器930量化的系数进行熵编码。这里,可通过使用基于上下文的自适应二进制算术编码(CABAC)或基于上下文的自适应可变长度编码(CAVLC)对离散余弦系数进行熵编码。

图像编码单元900可对指示通过组合预测单元产生的变换单元是否包括系数的标记信息进行编码。如果不存在将被熵编码的系数(即,当量化的系数全部为“0”时),则对指示变换单元不包括系数的标记信息进行编码,并且不对量化的系数单独地进行熵编码。

根据当前示例性实施例的图像编码设备900可通过对不同的变换单元重复地执行变换、量化和熵编码来确定最佳变换单元。可通过机械地重复通过使用各种方法选择多个预测单元(而不是基于预定准则(诸如深度或相同的预测模式的类型)选择预测单元)的处理来确定最佳变换单元。可基于RD代价的计算来确定最佳变换单元,这将参照图14进行详细描述。

图14是根据示例性实施例的不同的变换单元1430到1460的示图。

参照图14,图像编码设备900对不同的变换单元1430到1460重复地进行编码。

如图14所示,编码单元1410可基于具有小于编码单元1410的尺寸的预测单元1420被预测并编码。对作为预测结果产生的残差值执行DCT或KLT,并且这里,可基于如图14所示的不同的变换单元1430到1460执行DCT或KLT。

变换单元1430具有与编码单元1410相同的尺寸,并且通过组合包括在编码单元1410中的所有预测单元来产生变换单元1430。

变换单元1440具有编码单元1410沿宽方向被二等分的尺寸,并且通过组合纵向相邻的预测单元来产生变换单元1440。

变换单元1450具有编码单元1410沿高方向被二等分的尺寸,并且通过组合横向相邻的预测单元来产生变换单元1450。

变换单元1460具有与预测单元1420相同的尺寸。

图像编码设备900可通过对变换单元1430到1460重复地执行变换、量化和熵编码来确定最佳变换单元。

可选择地,图像编码设备900可对指示通过组合包括在一个还是多个编码单元中的多个预测单元产生了变换单元的标记信息进行编码。例如,当如图12a到图12c所示通过组合包括在一个编码单元中的多个预测单元来设置变换单元时,标记信息被设置为“0”,而当如图13a到图13d所示通过组合包括在多个编码单元中的多个预测单元来设置变换单元时,标记信息被设置为“1”。

图14示出当通过组合包括在一个编码单元中的预测单元来设置一个变换单元时确定最佳变换单元的示例。然而,即使当通过组合包括在多个编码单元中的预测单元来设置一个变换单元时,也可通过如图14所示对不同的变换单元重复地执行DCT、量化和熵编码来确定最佳变换单元。

图15是根据另一示例性实施例的用于对图像进行解码的设备1500的框图。

参照图15,图像解码设备1500包括熵解码器1510、反量化器1520、逆变换器1530和恢复器1540。

熵解码器1510对预定变换单元的频率分量系数进行熵解码。如以上参照图12a到图12c以及图13a到图13d所述,可通过组合多个预测单元来产生变换单元。如上所述,预测单元可彼此相邻,并可包括在一个编码单元或多个不同的编码单元中。

如以上参照图像编码设备900所述,可通过基于深度组合多个相邻预测单元来产生变换单元,或者可通过组合根据相同的预测模式的类型(即,根据帧内预测模式或帧间预测模式)被执行预测的多个相邻预测单元来产生变换单元。可选择地,如参照图14所述,可通过机械地重复组合多个预测单元的处理对不同的变换单元重复地执行变换、量化和熵解码来选择最佳变换单元。

如果变换单元不包括系数(例如,离散余弦系数),则熵解码器1510可不对量化的系数单独地进行熵解码。如果变换单元不包括量化的系数,则不通过参考预定的标记信息对量化的系数单独地进行熵编码。

反量化器1520对由熵解码器1510进行熵解码后的频率分量系数进行反量化。根据在对变换单元进行编码时使用的量化步长对被熵解码的频率分量系数进行反量化。

逆变换器1530将反量化的频率分量系数逆变换到像素域。对反量化的离散余弦系数执行逆DCT或逆KLT,以恢复像素域中的变换单元。作为逆变换的结果,变换单元的残差值被恢复。

恢复的变换单元包括多个预测单元,并且如上所述,预测单元可包括在一个编码单元或多个不同的编码单元中。

恢复器1540通过预测包括在恢复的变换单元中的多个预测单元来产生预测值。如果被组合为一个变换单元的预测单元包括在一个编码单元中,则产生一个编码单元的预测值,而如果被组合为一个变换单元的预测单元包括在多个编码单元中,则产生多个编码单元的预测值。通过将产生的预测值与由逆变换器1530恢复的残差值相加来恢复一个编码单元或多个编码单元。

可基于指示图像编码设备900通过组合包括在一个编码单元还是多个编码单元中的多个预测单元产生了变换单元的标记信息,来确定针对一个编码单元还是多个编码单元产生了预测值。

根据一示例性实施例,如果被组合为一个变换单元的预测单元包括被帧内预测的预测单元,则可如参照图10所述,基于至少一个相邻预测单元的预测值来执行帧内预测。可选择地,被组合为一个变换单元的多个预测单元可全部通过使用帧间预测被预测。

图16是示出根据示例性实施例的对图像进行编码的方法的流程图。

参照图16,在操作1610,用于对图像进行编码的设备通过对一个或多个编码单元执行预测来产生残差值。

被组合为一个变换单元的多个预测单元可包括在一个编码单元或多个编码单元中。因此,当预测单元包括在一个编码单元中时,通过对所述一个编码单元执行预测来产生残差值,而当预测单元包括在多个编码单元中时,通过对所述多个编码单元执行预测来产生残差值。

以上已参照图10描述了通过一次预测多个预测单元来产生残差值的方法。

在操作1620,所述设备通过选择多个预测单元来设置一个变换单元。预测单元可包括在一个编码单元或多个编码单元中。可基于深度选择相邻预测单元,或者可选择按照相同的预测模式的类型被执行预测的相邻预测单元。

在操作1630,所述设备根据在操作1620设置的变换单元将预测单元变换到频域。通过对通过组合预测单元设置的变换单元执行变换来产生频域的系数。

在操作1640,所述设备根据预定的量化处理对频率分量系数(例如,在操作1630产生的离散余弦系数)进行量化。

在操作1650,所述设备对在操作1640量化的频率分量系数进行熵编码。经由CABAC或CAVLC执行熵编码。

如参照图14所述,所述方法还可包括:通过对不同的变换单元重复操作1610到1640来设置最佳变换单元。可如图14所示通过对不同的变换单元重复地执行变换、量化和熵编码来设置最佳变换单元。

图17是根据示例性实施例的对图像进行解码的方法的流程图。

参照图17,在操作1710,所述设备对预定变换单元的频率分量系数进行熵解码。所述频率分量系数可以是离散余弦系数。可通过组合多个预测单元来设置变换单元。如上所述,预测单元可彼此相邻,并可包括在一个编码单元或多个不同的编码单元中。

在操作1720,所述设备对在操作1710被熵解码后的频率分量系数进行反量化。通过使用编码期间使用的量化步长对离散余弦系数进行反量化。

在操作1730,所述设备将在操作1720被反量化后的频率分量系数逆变换到像素域,以恢复变换单元。恢复的变换单元通过组合多个预测单元被设置。包括在变换单元中的残差值被恢复。如果预测单元包括在一个编码单元中,则恢复所述一个编码单元的残差值,而如果预测单元包括在多个编码单元中,则恢复所述多个编码单元的残差值。

如上所述,可通过基于深度组合相邻预测单元来设置变换单元,或者可通过组合根据相同的预测模式的类型被执行预测的相邻预测单元来设置变换单元。

在操作1740,所述设备基于包括在操作1730中所恢复的变换单元中的残差值来恢复一个或多个编码单元。通过预测所述一个或多个编码单元来产生预测值,并且通过将产生的预测值与在操作1730恢复的残差值相加来恢复所述一个或多个编码单元。以上已参照图10描述了预测包括在一个或多个编码单元中的预测值的方法。

如果通过组合包括在一个编码单元中的预测单元来设置变换单元,则恢复所述一个编码单元,而如果通过组合包括在多个编码单元中的预测单元来设置变换单元,则恢复所述多个编码单元。

根据示例性实施例,由于变换单元可被设置为具有大于预测单元的尺寸,并且可对变换单元执行变换,因此图像被更加有效地压缩和编码。

尽管已参照本发明的示例性实施例具体示出和描述了本发明,但是本领域普通技术人员将理解,在不脱离由权利要求及其等同物限定的本发明的精神和范围的情况下,这里可进行形式和细节上的各种改变。此外,示例性实施例还可实现为计算机可读记录介质上的计算机可读代码。

在图1、2、4、5、9、11或15中示出的图像编码设备或图像解码设备或图像编码器或图像解码器可包括连接到所述设备或编码器或解码器的每个单元的总线、连接到总线并用于执行命令的至少一个处理器以及连接到总线以存储命令、接收的消息和产生的消息的存储器。

计算机可读记录介质是可存储其后可被计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘以及光学数据存储装置。计算机可读记录介质还可分布于联网的计算机系统中,以使计算机可读代码以分布方式被存储和执行。可选择地,示例性实施例可实现为以载波或用于通过网络(诸如互联网)传输的信号的计算机可读传输介质。

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