通过使用去块滤波对视频进行解码的方法和设备转让专利

申请号 : CN201510236639.4

文献号 : CN105049848B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李泰美闵正惠金壹求

申请人 : 三星电子株式会社

摘要 :

一种通过使用去块滤波对视频进行解码的方法和设备,所述方法包括:通过基于至少一个预测单元对最大编码单元的编码单元进行预测编码并基于至少一个变换单元对编码单元进行变换,确定最大编码单元的编码深度的编码单元和编码单元的编码模式,考虑确定的编码单元的编码模式,按照编码单元对被反变换到空间域的视频数据执行去块滤波。

权利要求 :

1.一种通过使用去块滤波对视频进行解码的设备,所述设备包括:

接收器,接收比特流,其中,所述比特流包括画面的数据、关于最大编码单元的尺寸的信息和划分信息;

处理器,使用关于最大编码单元的尺寸的信息来将画面划分为多个最大编码单元,基于划分信息将最大编码单元分层划分为一个或更多个编码单元,使用分区类型信息在所述一个或更多个编码单元中确定编码单元中的一个或更多个预测单元,使用变换单元的尺寸信息来确定编码单元中的一个或更多个变换单元,其中,分区类型信息指示对称类型和不对称类型之一,其中,所述一个或更多个变换单元之中的变换单元是具有由所述尺寸信息指示的水平尺寸和垂直尺寸的矩形;

解码器,对编码单元中的所述一个或更多个预测单元之中的预测单元执行预测,并对编码单元中的变换单元执行反变换,以产生重建的编码单元;以及去块单元,被配置为:

考虑编码单元的编码模式来确定边界的边界强度,其中,所述编码模式包括预测模式、运动矢量和参考画面的索引中的至少一个,基于与所述边界邻近的邻近像素之间的差以及所述边界强度,确定去块滤波方法,其中,所述去块滤波方法包括滤波器抽头的数量和将被去块滤波的像素的数量,以及通过考虑所述边界是否与编码单元、预测单元和变换单元中的至少一个的边界相应,根据所述去块滤波方法对所述将被去块滤波的像素执行去块滤波,以产生包括经过去块滤波的像素的滤波编码单元,其中,所述预测模式包括帧间预测模式和帧内预测模式。

说明书 :

通过使用去块滤波对视频进行解码的方法和设备

[0001] 本申请是向中国知识产权局提交的申请日为2011年1月13日、申请号为201180013472.5、发明名称为“通过使用去块滤波对视频进行编码的方法和设备以及通过使用去块滤波对视频进行解码的方法和设备”的申请的分案申请。

技术领域

[0002] 示例性实施例涉及对视频进行编码和解码。

背景技术

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

发明内容

[0004] 技术问题
[0005] 一个或多个示例性实施例提供在考虑将在编码和解码处理中使用的各种数据单元之间的边界的情况下执行的去块滤波,以及使用所述去块滤波的视频编码和解码。
[0006] 技术方案
[0007] 根据示例性实施例的一方面,提供了一种通过使用去块滤波来对视频进行编码的方法,所述方法包括:将画面划分为最大编码单元;通过基于至少一个预测单元来对最大编码单元的多个编码单元进行预测编码并基于至少一个变换单元对所述多个编码单元进行变换,来确定多个编码深度的所述多个编码单元以及最大编码单元的所述多个编码单元的编码模式,其中,随着深度加深,最大编码单元被分层划分为所述多个编码单元,编码深度是按照所述多个编码单元对最大编码单元进行编码的深度;考虑所述多个编码单元的确定的编码模式,按照所述多个编码单元对正被反变换到空间域的视频数据执行去块滤波。
[0008] 有益效果
[0009] 通过基于考虑当前画面的特征确定的最大编码单元的尺寸和最大深度针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式中的任意一个以及变换来对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
[0010] 类似于根据现有标准的视频编解码器,可考虑预测模式、是否存在编码的残差分量、运动矢量、参考画面的数量和参考画面的索引中的至少一个来执行去块滤波。在视频编码和解码方法中,编码单元、预测单元和变换单元均单独设置,因此,可根据编码单元、预测单元和变换单元的边界特性,针对编码单元、预测单元和变换单元中的每个来独立地确定去块方法。因此,可基于数据单元的特性来设置去块滤波方法。

附图说明

[0011] 图1是根据示例性实施例的用于对视频进行编码的设备的框图;
[0012] 图2是根据示例性实施例的用于对视频进行解码的设备的框图;
[0013] 图3是用于描述根据示例性实施例的编码单元的概念的示图;
[0014] 图4是根据示例性实施例的基于编码单元的图像编码器的框图;
[0015] 图5是根据示例性实施例的基于编码单元的图像解码器的框图;
[0016] 图6是示出根据示例性实施例的根据深度的较深层编码单元以及分区的示图;
[0017] 图7是用于描述根据示例性实施例的编码单元和变换单元之间的关系的示图;
[0018] 图8是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图;
[0019] 图9是根据示例性实施例的根据深度的较深层编码单元的示图;
[0020] 图10至图12是用于描述根据示例性实施例的编码单元、预测单元和变换单元之间的关系的示图;
[0021] 图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区以及变换单元之间的关系的示图;
[0022] 图14是示出根据示例性实施例的对视频进行编码的方法的流程图;
[0023] 图15是示出根据示例性实施例的对视频进行解码的方法的流程图;
[0024] 图16是根据示例性实施例的采用去块滤波的视频编码设备的框图;
[0025] 图17是根据示例性实施例的采用去块滤波的视频解码设备的框图;
[0026] 图18是用于描述根据另一示例性实施例的编码单元、预测单元和变换单元之间的关系的框图;
[0027] 图19是用于描述根据另一示例性实施例的编码单元、预测单元和变换单元之间的关系的框图;
[0028] 图20是用于描述根据另一示例性实施例的编码单元、预测单元和变换单元之间的关系的框图;
[0029] 图21示出根据示例性实施例的确定去块滤波方法的方法;
[0030] 图22示出根据示例性实施例的将被去块滤波的样本;
[0031] 图23是示出根据示例性实施例的通过使用去块滤波对视频进行编码的方法的流程图;
[0032] 图24是示出根据示例性实施例的通过使用去块滤波对视频进行解码的方法的流程图。
[0033] 最佳实施方式
[0034] 根据示例性实施例的一方面,提供了一种通过使用去块滤波对视频进行编码的方法,所述方法包括:将画面划分为最大编码单元;通过基于至少一个预测单元对最大编码单元的编码单元进行预测编码并基于至少一个变换单元对编码单元进行变换,确定最大编码单元的编码深度的编码单元和编码单元的编码模式,其中,随着深度加深,最大编码单元被分层划分为多个编码单元,编码深度是最大编码单元按照编码单元被编码的深度;考虑确定的编码单元的编码模式,按照编码单元对被反变换到空间域的视频数据执行去块滤波。
[0035] 编码单元可由最大尺寸(size)和深度表征。
[0036] 深度表示编码单元被分层划分的次数,随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分以获得最小编码单元。深度从上层深度加深到下层深度。随着深度加深,最大编码单元被划分的次数增加,最大编码单元被划分的可能的总次数相应于最大深度。编码单元的最大尺寸和最大深度可被预先确定。
[0037] 根据另一示例性实施例的一方面,提供了一种通过使用去块滤波对视频执行解码的方法,所述方法包括:解析接收到的比特流以提取编码单元的编码模式和按照编码单元被编码的视频数据;通过对编码视频数据进行熵解码和反量化来产生编码单元的变换系数;通过根据编码单元的编码模式,基于变换单元对变换系数执行反变换并基于预测单元对变换系数执行预测解码,重建空间域中的视频数据;考虑编码单元的编码模式,对空间域中的视频数据执行去块滤波。
[0038] 执行去块滤波的步骤可包括:考虑编码单元的编码模式,对与空间域中的视频数据的编码单元相应的预测单元或变换单元的边界执行去块滤波。
[0039] 执行去块滤波的步骤可包括:考虑在编码单元的编码模式中定义的当前边界是否是编码单元、预测单元和变换单元中的至少一个的边界,来执行去块滤波。
[0040] 执行去块滤波的步骤可包括:根据编码单元的编码模式,考虑编码单元的尺寸、预测单元的尺寸和变换单元的尺寸中的至少一个,执行去块滤波。执行去块滤波的步骤可包括:根据编码单元的编码模式,考虑编码单元的分区类型,执行去块滤波。分区类型可包括对称分区类型和不对称分区类型。
[0041] 执行去块滤波的步骤可包括:考虑在编码单元的编码模式中定义的预测单元的预测模式、是否存在编码残差分量、运动矢量、参考画面的数量以及参考画面的索引,执行去块滤波。
[0042] 执行去块滤波的步骤可包括:考虑编码单元的编码模式确定边界强度,确定是否将执行去块滤波,或确定包括关于滤波器表尺寸的信息的去块滤波方法。
[0043] 根据另一示例性实施例的一方面,提供了一种通过使用去块滤波对视频进行编码的设备,所述设备包括:最大编码单元划分器,将画面划分为最大编码单元;编码单元和编码模式确定器,通过基于至少一个预测单元对最大编码单元的编码单元进行预测编码并基于至少一个变换单元对编码单元进行变换,确定最大编码单元的编码深度的编码单元和编码单元的编码模式,其中,随着深度加深,最大编码单元被分层划分为多个编码单元,编码深度是最大编码单元按照编码单元被编码的深度;去块滤波执行单元,考虑确定的编码单元的编码模式,按照编码单元对被反变换到空间域的视频数据执行去块滤波。
[0044] 根据另一示例性实施例的一方面,提供了一种通过使用去块滤波对视频执行解码的设备,所述设备包括:数据提取器,解析接收到的比特流以提取编码单元的编码模式和按照编码单元被编码的视频数据;熵解码和反量化单元,通过对编码视频数据进行熵解码和反量化来产生编码单元的变换系数;反变换和预测解码单元,通过根据编码单元的编码模式,基于变换单元对变换系数执行反变换并基于预测单元对变换系数执行预测解码,重建空间域中的视频数据;去块滤波执行单元,考虑编码单元的编码模式,对空间域中的视频数据执行去块滤波。
[0045] 根据另一示例性实施例的一方面,提供了一种计算机可读记录介质,所述计算机可读记录介质记录有用于执行通过使用去块滤波对视频进行编码的方法的程序。
[0046] 根据另一示例性实施例的一方面,提供了一种计算机可读记录介质,所述计算机可读记录介质记录有用于执行通过使用去块滤波对视频进行解码的方法的程序。

具体实施方式

[0047] 以下,将参照图1至图24更详细地描述根据示例性实施例的视频编码设备、视频解码设备、对视频进行编码的方法和对视频进行解码的方法。具体地,将参照图1至图15描述根据示例性实施例的基于空间分层数据单元来对视频进行编码和解码。此外,将参照图16至图24描述根据示例性实施例的通过考虑编码单元、预测单元和变换单元执行去块滤波来对视频进行编码和解码。
[0048] 在本公开中,“编码单元”的意思在编码器侧对图像数据进行编码的编码数据单元以及在解码器侧对编码的图像数据进行解码的编码数据单元。此外,“编码深度”表示编码单元被编码的深度。此外,“图像”可表示视频的静止图像或者运动图像(即,视频本身)。
[0049] 图1是根据示例性实施例的视频编码设备100的框图。视频编码设备100包括最大编码单元划分器110、编码单元确定器120和输出单元130。
[0050] 最大编码单元划分器110可基于图像的当前画面的最大编码单元对当前画面进行划分。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个最大编码单元。根据示例性实施例的最大编码单元可以是具有32×32、64×64、128×128、256×256等尺寸的数据单元,其中,数据单元的形状是宽和高为2的若干次方的正方形。图像数据可根据所述至少一个最大编码单元被输出到编码单元确定器120。
[0051] 根据示例性实施例的编码单元可由最大尺寸以及深度来表征。深度表示编码单元从最大编码单元被空间划分的次数,并且随着深度加深或增加,根据深度的较深层编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最上层深度,最小编码单元的深度是最下层深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此,与上层深度相应的编码单元可包括多个与下层深度相应的编码单元。
[0052] 如上所述,当前画面的图像数据根据编码单元的最大尺寸而被划分为最大编码单元,所述最大编码单元中的每一个可包括根据深度被划分的较深层编码单元。由于根据示例性实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层划分。
[0053] 可预先确定编码单元的最大深度和最大尺寸,所述最大深度和最大尺寸限定最大编码单元的高和宽被分层划分的总次数。
[0054] 编码单元确定器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分的区域进行编码,并根据所述至少一个划分的区域确定用于输出最终编码的图像数据的深度。换句话说,编码单元确定器120通过根据当前画面的最大编码单元按照根据深度的较深层编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。因此,与确定的编码深度相应的编码单元的编码图像数据被最终输出。此外,与编码深度相应的编码单元可被视为被编码的编码单元。
[0055] 确定的编码深度和根据确定的编码深度的编码图像数据被输出到输出单元130。
[0056] 基于与等于或低于最大深度的至少一个深度相应的较深层编码单元对最大编码单元中的图像数据进行编码,基于较深层编码单元中的每一个来比较对图像数据进行编码的结果。在比较较深层编码单元的编码误差之后,可选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
[0057] 随着编码单元根据深度而被分层划分,并且随着编码单元的数量增加,最大编码单元的尺寸被划分。此外,即使在一个最大编码单元中编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每一个划分到下层深度。因此,即使当图像数据被包括在一个最大编码单元中时,图像数据也根据多个深度被划分为多个区域,并且在所述一个最大编码单元中,编码误差可根据区域而不同,因此,编码深度可根据图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码深度,可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
[0058] 因此,编码单元确定器120可确定包括在最大编码单元中的具有树结构的编码单元。根据示例性实施例的“具有树结构的编码单元”包括在最大编码单元中包括的所有较深层编码单元中与被确定为编码深度的深度相应的编码单元。在最大编码单元的相同区域中,编码深度的编码单元可根据深度被分层确定,在不同的区域中,编码深度的编码单元可被独立地确定。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。
[0059] 根据示例性实施例的最大深度是关于从最大编码单元到最小编码单元的划分次数的索引。根据示例性实施例的第一最大深度可表示从最大编码单元到最小编码单元的总划分次数。根据示例性实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、1、2、3和4这5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。
[0060] 可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预测编码和变换。可根据正交变换或整数变换的方法来执行变换。
[0061] 由于每当最大编码单元根据深度被划分时较深层编码单元的数量增加,因此可针对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。
[0062] 视频编码设备100可变化地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
[0063] 例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择与编码单元不同的数据单元,以便对编码单元中的图像数据执行预测编码。
[0064] 为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与下层深度相应的编码单元的编码单元)执行预测编码。以下,现将不再被划分并且变成用于预测编码的基本单元的编码单元称为“预测单元”。通过对预测单元进行划分所获得的分区(partition)可包括通过对预测单元的高和宽中的至少一个进行划分所获得的预测单元或数据单元。
[0065] 例如,当2N×2N(其中,N是正整数)的编码单元不再被划分,并且变成2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高或宽进行对称划分所获得的对称分区、通过对预测单元的高或宽进行不对称划分(诸如1:n或n:1)所获得的分区、通过对预测单元进行几何划分所获得的分区以及具有任意形状的分区。
[0066] 预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可针对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。此外,可仅针对2N×2N的分区执行跳过模式。针对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
[0067] 视频编码设备100还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,对编码单元中的图像数据执行变换。
[0068] 为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的数据单元来执行变换。例如,用于变换的数据单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。
[0069] 现将用作变换的基础的数据单元称为“变换单元”。还可在变换单元中设置指示通过对编码单元的高和宽进行划分来达到变换单元的划分次数的变换深度。例如,在2N×2N的当前编码单元中,当变换单元的尺寸也为2N×2N时,变换深度可以是0,当所述当前编码单元的高和宽中的每一个被划分为两等份,总共被划分为41个变换单元,从而变换单元的尺寸是N×N时,变换深度可以是1,当所述当前编码单元的高和宽的每一个被划分为四等份,总共被划分为42个变换单元,从而变换单元的尺寸是N/2×N/2时,变换深度可以是2。例如,可根据分层树结构来设置变换单元,其中,根据变换深度的分层特性,上层变换深度的变换单元被划分为下层变换深度的四个变换单元。
[0070] 与编码单元类似,编码单元中的变换单元可被递归地划分为尺寸更小的区域,从而可以以区域为单位独立地确定变换单元。因此,可根据具有根据变换深度的树结构的变换,来划分编码单元中的残差数据。
[0071] 根据与编码深度相应的编码单元的编码信息不仅需要关于编码深度的信息,还需要关于与预测编码和变换有关的信息的信息。因此,编码单元确定器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的尺寸。
[0072] 稍后将参照图3至图12详细描述根据示例性实施例的根据最大编码单元中的树结构的编码单元以及确定分区的方法。
[0073] 编码单元确定器120可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的较深层编码单元的编码误差。
[0074] 输出单元130在比特流中输出最大编码单元的图像数据以及关于根据编码深度的编码模式的信息,其中,所述图像数据基于由编码单元确定器120确定的至少一个编码深度被编码。
[0075] 可通过对图像的残差数据进行编码来获得编码图像数据。
[0076] 关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式以及变换单元的尺寸。
[0077] 可通过使用根据深度的划分信息来定义关于编码深度的信息,关于编码深度的信息指示是否针对下层深度而不是当前深度的编码单元来执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并被输出,因此划分信息可被定义为不将当前编码单元划分到下层深度。可选地,如果当前编码单元的当前深度不是编码深度,则针对下层深度的编码单元来执行编码,因此,划分信息可被定义为划分当前编码单元以获得下层深度的编码单元。
[0078] 如果当前深度不是编码深度,则针对被划分为下层深度的编码单元的编码单元来执行编码。由于在当前深度的一个编码单元中存在下层深度的至少一个编码单元,因此针对下层深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。
[0079] 由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。此外,由于图像数据根据深度被分层划分,因此,最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模式的信息。
[0080] 因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。
[0081] 根据示例性实施例的最小单元是通过将构成最低深度的最小编码单元划分4次所获得的矩形数据单元。可选地,最小单元可以是最大矩形数据单元,所述最大矩形数据单元可包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中。
[0082] 例如,通过输出单元130输出的编码信息可被分为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息。此外,关于根据画面、像条或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入比特流的SPS(序列参数集)或头中。
[0083] 在视频编码设备100中,较深层编码单元可以是通过将作为上一层的上层深度的编码单元的高或宽划分两次所获得的编码单元。换句话说,当当前深度的编码单元的尺寸为2N×2N时,下层深度的编码单元的尺寸可以是N×N。此外,尺寸为2N×2N的当前深度的编码单元可最多包括下层深度的4个编码单元。
[0084] 因此,视频编码设备100可通过基于考虑当前画面的特性所确定的最大编码单元的尺寸和最大深度,针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式和变换中的任何一个来针对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
[0085] 因此,如果以传统的宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块数量过度增加。因此,针对每个宏块产生的压缩信息的条数增加,因此难以发送压缩信息,数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像尺寸的同时增加编码单元的最大尺寸,同时在考虑图像特性的同时调整编码单元,因此可提高图像压缩效率。
[0086] 图2是根据示例性实施例的视频解码设备200的框图。视频解码设备200包括接收器210、图像数据和编码信息提取器220和图像数据解码器230。用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与以上参照图1和视频编码设备100描述的那些术语相同。
[0087] 接收器210接收并解析编码视频的比特流。图像数据和编码信息提取器220从解析的比特流提取每个编码单元的编码图像数据,并将提取的图像数据输出到图像数据解码器230,其中,编码单元具有根据每个最大编码单元的树结构。图像数据和编码信息提取器220可从关于当前画面的头或SPS提取关于当前画面的编码单元的最大尺寸的信息。
[0088] 此外,图像数据和编码信息提取器220从解析的比特流提取关于编码单元的编码深度和编码模式的信息,其中,编码单元具有根据每个最大编码单元的树结构。提取的关于编码深度和编码模式的信息被输出到图像数据解码器230。换句话说,比特流中的图像数据被划分为最大编码单元,从而图像数据解码器230对每个最大编码单元的图像数据进行解码。
[0089] 可针对关于与编码深度相应的至少一个编码单元的信息,来设置关于根据最大编码单元的编码深度和编码模式的信息,关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和变换单元的尺寸。此外,根据深度的划分信息可被提取作为关于编码深度的信息。
[0090] 由图像数据和编码信息提取器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于编码深度和编码模式的信息,其中,所述编码深度和编码模式被确定为用于当编码器(诸如视频编码设备100)根据每个最大编码单元对每个根据深度的较深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来恢复图像。
[0091] 由于关于编码深度和编码模式的编码信息可被分配给相应编码单元、预测单元和最小单元中的预定数据单元,因此图像数据和编码信息提取器220可提取关于根据预定数据单元的编码深度和编码模式的信息。被分配关于编码深度和编码模式的相同信息的预定数据单元可被推断为包括在相同最大编码单元中的数据单元。
[0092] 图像数据解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码,来恢复当前画面。换句话说,图像数据解码器230可基于提取的关于包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的分区类型、预测模式和变换单元的信息,来对编码图像数据进行解码。解码处理可包括预测(包括帧内预测和运动补偿)和反变换。可根据反正交变换或反整数变换的方法来执行反变换。
[0093] 图像数据解码器230可基于关于根据编码深度的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式执行帧内预测或运动补偿。
[0094] 此外,图像数据解码器230可基于关于根据编码深度的编码单元的变换单元的尺寸的信息,根据编码单元中的每个变换单元执行反变换,从而根据最大编码单元执行反变换。
[0095] 图像数据解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息指示图像数据在当前深度下不再被划分,则当前深度是编码深度。因此,图像数据解码器230可通过使用与编码深度相应的每个编码单元的关于预测单元的分区类型、预测模式和变换单元尺寸的信息,对当前最大编码单元中与每个编码深度相应的至少一个编码单元的编码数据进行解码,并输出当前最大编码单元的图像数据。
[0096] 换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集来收集包括编码信息(包括相同划分信息)的数据单元,收集的数据单元可被视为将由图像数据解码器230以相同的编码模式进行解码的一个数据单元。
[0097] 视频解码设备200可获得关于当针对每个最大编码单元递归执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,考虑分辨率和图像数据量来确定编码单元的最大尺寸。
[0098] 因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式来有效地对图像数据进行解码和恢复,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特性来适应性地确定所述编码单元的尺寸和所述编码模式。
[0099] 现在将参照图3至图13描述根据示例性实施例的确定具有树结构的编码单元、预测单元和变换单元的方法。
[0100] 图3是用于描述根据示例性实施例的编码单元的概念的示图。
[0101] 编码单元的尺寸可被表示为宽×高,可以是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的分区。
[0102] 在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64×64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64×64,最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16×16,最大深度为1。图3中示出的最大深度指示从最大编码单元到最小解码单元的总划分次数。
[0103] 如果分辨率高或数据量大,则编码单元的最大尺寸可较大,从而不仅提高了编码效率还精确地反映出图像的特性。因此,分辨率高于视频数据330的视频数据310和视频数据320的编码单元的最大尺寸可以是64。
[0104] 由于视频数据310的最大深度是2,因此,由于通过将最大编码单元划分两次,深度被加深两层,因此视频数据310的编码单元315可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32和16的编码单元。同时,由于视频数据330的最大深度是1,因此,由于通过将最大编码单元划分一次,深度被加深一层,因此视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元以及长轴尺寸为8的编码单元。
[0105] 由于视频数据320的最大深度为3,因此,由于通过将最大编码单元划分三次,深度被加深3层,因此视频数据320的编码单元325可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32、16和8的编码单元。随着深度加深,可精确地表达详细信息。
[0106] 图4是根据示例性实施例的基于编码单元的图像编码器400的框图。图像编码器400执行视频编码设备100的编码单元确定器120的操作以对图像数据进行编码。换句话说,帧内预测器410在帧内模式下对当前帧405中的编码单元执行帧内预测,运动估计器420和运动补偿器425在帧间模式下通过使用当前帧405和参考帧495,对当前帧405中的编码单元执行帧间估计和运动补偿。
[0107] 从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出作为量化的变换系数。量化的变换系数通过反量化器460和反变换器470被恢复为空间域中的数据,恢复的空间域中的数据在通过去块单元480和环路滤波单元490进行后处理之后被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。
[0108] 为了将图像编码器400应用在视频编码设备100中,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块单元480和环路滤波单元490)在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元来执行操作。
[0109] 具体地,帧内预测器410、运动估计器420和运动补偿器425在考虑当前最大编码单元的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,变换器430确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
[0110] 图5是根据示例性实施例的基于编码单元的图像解码器500的框图。解析器510从比特流505解析将被解码的编码图像数据以及解码所需的关于编码的信息。编码图像数据通过熵解码器520和反量化器530被输出为反量化的数据,反量化的数据通过反变换器540被恢复为空间域中的图像数据。
[0111] 帧内预测器550针对空间域中的图像数据,在帧内模式下对编码单元执行帧内预测,运动补偿器560通过使用参考帧585在帧间模式下对编码单元执行运动补偿。
[0112] 通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块单元570和环路滤波单元580进行后处理之后被输出为恢复帧595。此外,通过去块单元570和环路滤波单元580进行后处理的图像数据可被输出为参考帧585。
[0113] 为了在视频解码设备200的图像数据解码器230中对图像数据进行解码,图像解码器500可执行在解析器510之后执行的操作。
[0114] 为了将图像解码器500应用在视频解码设备200中,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、反变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)针对每个最大编码单元基于具有树结构的编码单元执行操作。
[0115] 具体地,帧内预测器550和运动补偿器560基于每个具有树结构的编码单元的分区和预测模式执行操作,反变换器540基于每个编码单元的变换单元的尺寸执行操作。
[0116] 图6是示出根据示例性实施例的根据深度的较深层编码单元以及分区的示图。视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特性。可根据图像的特性适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。
[0117] 在根据示例性实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度均为64,最大深度为4。由于深度沿分层结构600的纵轴加深,因此较深层编码单元的高度和宽度均被划分。此外,沿分层结构600的横轴示出作为每个较深层编码单元的预测编码的基础的预测单元和分区。
[0118] 换句话说,编码单元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是最小编码单元。
[0119] 编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64×64且深度为0的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。
[0120] 类似地,尺寸为32×32且深度为1的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。
[0121] 类似地,尺寸为16×16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即,包括在编码单元630中的尺寸为16×16的分区630、尺寸为16×8的分区632、尺寸为8×16的分区634和尺寸为8×8的分区636。
[0122] 类似地,尺寸为8×8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即,包括在编码单元640中的尺寸为8×8的分区640、尺寸为8×4的分区642、尺寸为4×8的分区644或尺寸为4×4的分区646。
[0123] 尺寸为4×4且深度为4的编码单元650是最小编码单元和最下层深度的编码单元。编码单元650的预测单元仅被分配给尺寸为4×4的分区。
[0124] 为了确定组成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码单元确定器120针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
[0125] 随着深度加深,以相同范围和相同尺寸包括数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元,以覆盖包括在一个与深度1相应的编码单元中的数据。因此,为了比较相同数据根据深度的编码结果,与深度1相应的编码单元和四个与深度2相应的编码单元各自被编码。
[0126] 为了针对深度中的当前深度执行编码,可通过沿分层结构600的横轴,针对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选地,可通过随着深度沿分层结构600的纵轴加深针对每个深度执行编码来比较根据深度的最小编码误差,从而搜索最小编码误差。编码单元610中具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
[0127] 图7是用于描述根据示例性实施例的编码单元710和变换单元720之间的关系的示图。视频编码设备100或视频解码设备200针对每个最大编码单元,根据具有小于或等于最大编码单元的尺寸的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择编码期间用于变换的变换单元的尺寸。
[0128] 例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
[0129] 此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的变换单元中的每一个执行变换,来对尺寸为64×64的编码单元710的数据进行编码,随后可选择具有最小编码误差的变换单元。
[0130] 图8是用于描述根据示例性实施例的与编码深度相应的编码单元的编码信息的示图。视频编码设备100的输出单元130可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820进行编码和发送,以作为关于编码模式的信息。
[0131] 信息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之一。
[0132] 信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
[0133] 信息820指示当针对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧内变换单元828。
[0134] 视频解码设备200的图像数据和编码信息提取器220可根据每个较深层编码单元提取和使用用于解码的信息800、810和820。
[0135] 图9是根据示例性实施例的根据深度的较深层编码单元的示图。划分信息可被用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为下层深度的编码单元。
[0136] 用于对深度为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的分区可包括不对称分区、具有预定形状的分区和具有几何形状的分区。
[0137] 根据每个分区类型,对一个尺寸为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的分区执行跳过模式下的预测编码。
[0138] 比较包括分区类型912至918中的预测编码的编码的误差,在分区类型中确定最小编码误差。如果在分区类型912至916之一中编码误差最小,则预测单元910可不被划分到下层深度。
[0139] 如果在分区类型918中编码误差最小,则深度从0改变到1以在操作920对分区类型918进行划分,对深度为2且尺寸为N_0×N_0的编码单元930重复执行编码,以搜索最小编码误差。
[0140] 用于对深度为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。
[0141] 如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950对分区类型948进行划分,对深度为2且尺寸为N_2×N_2的编码单元960重复执行编码,以搜索最小编码误差。
[0142] 当最大深度为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。
[0143] 可在分区类型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)的分区重复执行预测编码,以搜索具有最小编码误差的分区类型。
[0144] 即使当分区类型998具有最小编码误差时,但由于最大深度为d,因此深度为d-1的编码单元CU_(d-1)不再被划分到下层深度,用于组成当前最大编码单元900的编码单元的编码深度被确定为d-1,当前最大编码单元900的分区类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d并且具有最下层深度d-1的最小编码单元980不再被划分到下层深度,因此不设置最小编码单元980的划分信息。
[0145] 数据单元999可以为当前最大编码单元的“最小单元”。根据示例性实施例的最小单元可以是通过将最小编码单元980划分4次而获得的矩形数据单元。通过重复执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,将相应的分区类型和预测模式设置为编码深度的编码模式。
[0146] 这样,在1至d的所有深度中比较根据深度的最小编码误差,具有最小编码误差的深度可被确定为编码深度。编码深度、预测单元的分区类型和预测模式可被编码和发送,作为关于编码模式的信息。此外,由于编码单元从深度0被划分到编码深度,因此仅编码深度的划分信息被设置为0,除了编码深度之外的深度的划分信息被设置为1。
[0147] 视频解码设备200的图像数据和编码信息提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息以对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息将划分信息为0的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。
[0148] 图10至图12是用于描述根据示例性实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。编码单元1010是最大编码单元中与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是编码单元1010中的每一个的预测单元的分区,变换单元1070是编码单元1010中的每一个的变换单元。
[0149] 当编码单元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。
[0150] 在预测单元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的预测单元和分区小于或等于每个编码单元。
[0151] 对小于编码单元1052的数据单元中的变换单元1070中的编码单元1052的图像数据执行变换或反变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状方面与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052不同。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元分别执行帧内预测、运动估计、运动补偿、变换和反变换。
[0152] 因此,对最大编码单元的每个区域中具有分层结构的编码单元中的每一个递归地执行编码,以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息中。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。
[0153] 表1
[0154]
[0155] 视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,视频解码设备200的图像数据和编码信息提取器220可从接收的比特流提取关于具有树结构的编码单元的编码信息。
[0156] 划分信息指示当前编码单元是否被划分为下层深度的编码单元。如果当前深度d的划分信息为0,则当前编码单元不再被划分到下层深度的深度是编码深度,因此可针对编码深度定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对下层深度的四个划分的编码单元独立地执行编码。
[0157] 预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分区类型下定义帧内模式和帧间模式,仅在尺寸为2N×2N的分区类型中定义跳过模式。
[0158] 关于分区类型的信息可指示通过对预测单元的高或宽进行对称划分而获得的尺寸为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的不对称分区类型。
[0159] 变换单元的尺寸可被设置为帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是2N×2N,这是当前编码单元的尺寸。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获得变换单元。此外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,如果当前编码单元的分区类型是不对称分区类型,则变换单元的尺寸可以是N/2×N/2。
[0160] 关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括:包括相同编码信息的预测单元和最小单元中的至少一个。
[0161] 因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。
[0162] 因此,如果基于邻近数据单元的编码信息来预测当前编码单元,则可直接参考和使用与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。
[0163] 可选地,如果基于邻近数据单元的编码信息来预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并且可参考搜索到的邻近编码单元来预测当前编码单元。
[0164] 图13是用于描述根据表1的编码模式信息的编码单元、预测单元或分区、变换单元之间的关系的示图。最大编码单元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。
[0165] 当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果变换单元的划分信息(TU尺寸标记)为0,则设置尺寸为2N×2N的变换单元1342,如果TU尺寸标记为1,则设置尺寸为N×N的变换单元1344。
[0166] 当分区类型被设置为不对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1352,如果TU尺寸标记为1,则设置尺寸为N/2×N/2的变换单元1354。
[0167] 参照图13,TU尺寸标记是具有值0或1的标记,但是TU尺寸标记不限于1比特,在TU尺寸标记从0增加的同时,变换单元可被分层划分以具有树结构。
[0168] 图14是示出根据示例性实施例的对视频进行编码的方法的流程图。在操作1210,当前画面被划分为至少一个最大编码单元。可预先确定指示可能划分的次数的总数的最大深度。
[0169] 在操作1220,通过对至少一个划分的区域进行编码来确定根据所述至少一个划分的区域的用于输出最终编码结果的编码深度,并且根据树结构的编码单元被确定,其中,通过根据深度对每个最大编码单元的区域进行划分来获得所述至少一个划分的区域。
[0170] 每当深度加深时,最大编码单元被空间划分,从而最大编码单元被划分为下层深度的编码单元。每个编码单元可通过独立于邻近编码单元被空间划分而被划分为另一下层深度的编码单元。对根据深度的每个编码单元重复执行编码。
[0171] 此外,针对每个较深层编码单元确定具有最小编码误差的根据分区类型的变换单元。为了确定每个最大编码单元中的具有最小编码误差的编码深度,可在所有根据深度的较深层编码单元中测量和比较编码误差。
[0172] 在操作1230,针对每个最大编码单元输出组成根据编码深度的最终编码结果的编码图像数据以及关于编码深度和编码模式的编码信息。关于编码模式的信息可包括关于编码深度或划分信息的信息、关于预测单元的分区类型、预测模式和变换单元的尺寸的信息。关于编码模式的编码信息可与编码图像数据一起被发送到解码器。
[0173] 图15是示出根据示例性实施例的对视频进行解码的方法的流程图。在操作1310,编码视频的比特流被接收和解析。
[0174] 在操作1320,从解析的比特流提取被分配给最大编码单元的当前画面的编码图像数据以及关于根据最大编码单元的编码深度和编码模式的编码信息。每个最大编码单元的编码深度是每个最大编码单元中具有最小编码误差的深度。在对每个最大编码单元进行编码中,基于通过根据深度对每个最大编码单元进行分层划分而获得的至少一个数据单元来对图像数据进行编码。
[0175] 根据关于编码深度和编码模式的信息,最大编码单元可被划分为具有树结构的编码单元。具有树结构的多个编码单元中的每一个被确定为与编码深度相应的编码单元,并被最佳编码以输出最小编码误差。因此,可通过在确定根据编码单元的至少一个编码深度之后对编码单元中的每条编码图像数据进行解码来提高图像的编码和解码效率。
[0176] 在操作1330,基于关于根据最大编码单元的编码深度和编码模式的编码信息来对每个最大编码单元的图像数据进行解码。解码的图像数据可通过再现设备被再现,可被存储在存储介质中,或可通过网络被发送。
[0177] 以下,将参照图16至图24描述根据示例性实施例的通过考虑编码单元、预测单元和变换单元执行去块滤波对视频进行编码和解码。
[0178] 图16是根据示例性实施例的采用去块滤波的视频编码设备1400的框图。参照图16,视频编码设备1400包括最大编码单元划分器1410、编码单元和编码模式确定器1420以及去块滤波执行单元1430。
[0179] 视频编码设备1400是视频编码设备100的另一示例性实施例。具体地,最大编码单元划分器1410可相应于包括在视频编码设备100中的最大编码单元划分器110,编码单元和编码模式确定器1420以及去块滤波执行单元1430可相应于包括在视频编码设备100中的编码单元确定器120。
[0180] 最大编码单元划分器1410可将输入视频数据的画面划分为最大编码单元,并将划分的结果输出到编码单元和编码模式确定器1420。
[0181] 编码单元和编码模式确定器1420可通过按照根据深度的编码单元对最大编码单元重复执行预测编码和变换,来针对每个最大编码单元的每个区域分别确定与具有最小编码误差的深度和编码模式相应的编码单元。这里,可按照各种分区类型预测单元执行预测编码,并按照各种尺寸的变换单元执行变换。
[0182] 用于每个编码单元的编码模式可包含关于编码单元的分区类型的信息,所述信息表示当执行引起最小编码误差的编码时使用的预测单元的尺寸和形状、预测模式(例如,帧间模式、帧间模式或跳过模式)以及变换单元的尺寸。
[0183] 根据示例性实施例,编码单元的分区类型不仅可包括尺寸为N×N、N×2N、2N×N、2N×2N的对称分区类型,还可包括按照1:3或3:1对编码单元的高度或宽度进行划分而获得的不对称分区类型。根据示例性实施例,变换单元的尺寸可以是2×2、4×4、8×8、16×16、
32×32、64×64或128×128。
[0184] 去块滤波执行单元1430可接收被反变换到空间域的视频数据,并可考虑视频数据的编码单元的编码模式来对空间域中的视频数据执行去块滤波。具体地,由编码单元和编码模式确定器1420基于预测单元对编码单元进行预测编码,基于变换单元对编码的结果进行变换,并根据基于编码深度的编码单元量化最终结果而获得的量化变换系数可被反量化并反变换回到空间域中的视频数据,并可被发送到去块滤波单元1430。
[0185] 去块滤波执行单元1430可考虑编码单元的编码模式,按照空间域中的视频数据的编码单元对预测单元或变换单元的边界执行去块滤波。
[0186] 可对每个最大编码单元的编码单元递归和重复地执行去块滤波。例如,如果编码单元的划分信息是“1”,则当前深度不是编码深度。因此,不执行去块滤波,当前深度的编码单元还可被划分为下层深度的编码单元。如果编码单元的划分信息为“0”,则当前深度是编码深度。因此,对与当前深度相应的编码单元的左、上和内边界执行去块滤波。
[0187] 去块滤波执行单元1430可通过考虑当前边界是否相应于编码单元、预测单元和变换单元中的至少一个的边界,来执行去块滤波。例如,可基于当前边界是否相应于编码单元、预测单元和变换单元中的至少一个的边界来设置边界强度。
[0188] 去块滤波执行单元1430可通过考虑在编码单元的编码模式中定义的编码单元尺寸、预测单元尺寸和变换单元尺寸中的至少一个,来执行去块滤波。另外,去块滤波执行单元1430可通过考虑编码单元的分区类型来执行去块滤波。
[0189] 另外,去块滤波执行单元1430可通过考虑在编码单元的编码模式中定义的每个预测单元的预测模式、编码残差分量是否存在、运动矢量、参考画面的数量和参考画面的索引中的至少一个,来执行去块滤波。
[0190] 去块滤波执行单元1430可考虑编码单元的编码模式来确定边界强度。去块滤波执行单元1430可考虑编码单元的编码模式来确定去块滤波是否将被执行或确定去块滤波方法。另外,去块滤波执行单元1430可基于考虑编码单元的编码模式确定的边界强度、去块滤波是否将被执行以及去块滤波方法来执行去块滤波。
[0191] 去块滤波方法可包括设置去块滤波器的长度、滤波器表(filter tab)尺寸和将被去块滤波的样本的位置。在这种情况下,所述样本可包括像素的原始值(即,去块滤波系数)以及像素,像素的值通过执行去块滤波而被改变。
[0192] 例如,通过使用去块滤波,预定线性公式(其变量是滤波系数)的输出值可被确定为去块滤波输出值,其中,所述去块滤波使用垂直于边界的像素的原始像素作为系数。
[0193] 由去块滤波执行单元1430按照编码单元进行去块滤波的视频数据可被循环滤波以用作用于后续画面的运动估计和补偿的参考画面。
[0194] 采用去块滤波的视频编码设备1400可对编码单元中的变换系数进行量化和熵编码,并可输出比特流,其中,比特流包含按照最大编码单元编码的视频数据以及关于每个编码单元的编码深度和编码模式的信息。
[0195] 图17是根据示例性实施例的采用去块滤波的视频解码设备1500的框图。参照图17,视频解码设备1500包括数据提取器1510、熵解码和反量化单元1520、反变换和预测解码单元1530和去块滤波执行单元1540。
[0196] 采用去块滤波的视频解码设备1500相应于图2的视频解码设备200。具体地,数据提取器1510可相应于包括在视频解码设备200中的图像数据和编码信息提取器220,熵解码和反量化单元1520、反变换和预测解码单元1530以及去块滤波执行单元1540可相应于包括在视频解码设备200中的图像数据解码器230。
[0197] 数据提取器1510可解析接收的比特流以提取每个编码单元的编码模式以及按照编码单元编码的视频数据。还可从比特流的解析结果提取关于最大编码单元的尺寸的信息。
[0198] 每个编码单元的编码模式可包含与用于对编码视频数据进行解码的编码深度、预测单元、预测模式和变换单元有关的信息。因此,可从根据每个编码单元的编码模式的解析结果按照编码单元提取编码视频数据。
[0199] 熵解码和反量化单元1520可通过对从数据提取器1510接收的编码视频数据进行熵解码和反量化来输出变换系数。具体地,可通过对编码视频数据进行熵解码来输出量化的变换系数,可通过对量化的变换系数进行反量化来输出与编码单元相应的变换系数。
[0200] 反变换和预测解码单元1530可通过对从熵解码和反量化单元1520接收的与编码单元相应的变换系数进行反变换和预测解码,来输出空间域中的视频数据。
[0201] 具体地,在反变换中,与编码单元相应的变换系统可基于从由数据提取器1510提取的编码单元的编码模式获得的关于变换单元的信息被反变换,从而产生每个编码单元的残差数据。
[0202] 在预测解码中,每个编码单元的残差数据可基于从提取的编码单元的编码模式获得的关于预测单元的信息被帧内预测和运动补偿,从而按照编码单元重建空间域中的视频数据。
[0203] 去块滤波执行单元1540可考虑编码单元的编码模式来对从反变换和预测解码单元1530接收的空间域中的视频数据执行去块滤波。
[0204] 另外,去块滤波执行单元1540可基于提取的编码单元的编码模式,按照最大编码单元对空间域中的视频数据执行去块滤波。可对编码单元中的预测单元或变换单元的边界执行去块滤波。
[0205] 去块滤波执行单元1540可对包括在每个最大编码单元中的编码单元递归和重复地执行去块滤波。例如,如果编码单元的划分信息为“1”,则当前深度不是编码深度。因此,不对当前深度的编码单元执行去块滤波,当前深度的编码单元可被进一步划分为下层深度的编码单元。如果编码单元的划分信息为“0”,则当前深度是编码深度。因此,对与当前深度相应的编码单元的左边界、上边界和内边界执行去块滤波。
[0206] 与上述类似,去块滤波执行单元1540可基于当前边界是否相应于根据编码单元的编码模式的编码单元、预测单元和变换单元的边界,来执行去块滤波。
[0207] 去块滤波所考虑的编码模式的各种示例可包括在编码单元的编码模式中定义的编码单元尺寸、预测单元尺寸、变换单元尺寸和编码单元的分区类型。此外,与根据现有标准的视频编解码器类似,可考虑预测模式、是否存在编码残差分量、运动矢量、参考画面的数量和参考画面的索引中的至少一个,来执行去块滤波。
[0208] 此外,可根据去块滤波方法,考虑编码单元、预测单元和变换单元的编码模式来执行去块滤波,其中,所述去块滤波方法包括关于以下项的信息:根据基于上述编码模式的各种示例确定的边界强度的去块滤波器、是否将执行去块滤波的信息和滤波器表尺寸。
[0209] 对视频数据进行去块滤波的结果可被输出为空间域中的再现视频。另外,对视频数据进行去块滤波的结果可被循环滤波以被用作用于对后续画面的运动进行补偿的参考画面。
[0210] 在根据示例性实施例的采用去块滤波的视频编码设备1400和视频解码设备1500中,图像的画面被划分为最大编码单元,每个最大编码单元按照分别确定的根据深度的编码单元被编码。因此,即使是邻近编码单元在尺寸或类型方面也会不同。
[0211] 在根据示例性实施例的视频编码设备1400和视频解码设备1500中,编码单元不限于16×16的宏块,编码单元可以是各种尺寸或形状的块(例如,2×2、4×4、8×8、16×16、32×32、64×64、128×128和256×256的块)之一。
[0212] 在根据示例性实施例的视频编码设备1400和视频解码设备1500中,每个变换单元不限于4×4或8×8的块,每个变换单元可以是各种尺寸或形状的块(例如,2×2、4×4、8×8、16×16、32×32、64×64、128×128和256×256的块)之一。也就是说,变换单元的最大尺寸和最小尺寸不被限制。
[0213] 在根据示例性实施例的视频编码设备1400和视频解码设备1500中,从编码单元中单独设置用于执行预测编码的预测单元和用于执行变换/反变换的变换单元。因此,变换单元可大于预测单元。以上已参照图10至图12描述了根据示例性实施例的编码单元、变换单元和预测单元之间的关系。
[0214] 在本公开中,边界可以是编码单元、预测单元或变换单元的边界。例如,边界可以是编码单元和预测单元的共同边界,可以是变换单元和预测单元的共同边界,或可以是变换单元和预测单元的共同边界。此外,数据单元的边界可以是编码单元、预测单元和变换单元的所有的共同边界。此外,预定数据单元的边界可以是最大编码单元的边界。
[0215] 根据示例性实施例,分析边界特性以确定是否将对边界执行去块滤波。例如,在像条头中定义的“disable_deblocking_filter_idc”可被用于分析边界特性。“disable_deblocking_filter_idc”表示用于确定是否对像条的边界执行去块滤波的参数。如果“disable_deblocking_filter_idc”为“1”,则可不对该像条的边办执行去块滤波。
[0216] 例如,如果“disable_deblocking_filter_idc”为“1”并且边界是画面的边界,则不对编码单元的边界执行去块滤波。因此,如果“disable_deblocking_filter_idc”不为“1”并且边界不是画面的边界,则去块滤波执行单元1430和1540可对编码单元的边界执行去块滤波。如果“disable_deblocking_filter_idc”不等于或大于“1”,则可对预测单元或变换单元的边界执行去块滤波。
[0217] 在根据示例性实施例的视频编码和解码方法中,编码单元、预测单元和变换单元均被单独设置,因此,可根据编码单元、预测单元和变换单元中的每一个的边界特性来针对编码单元、预测单元和变换单元中的每一个单独确定去块方法。因此,在根据示例性实施例的视频编码设备1400和视频解码设备1500中,可基于数据单元的边界特性设置去块滤波方法。
[0218] 例如,可设置针对最大编码单元的边界的去块滤波方法。如果当前边界是最大编码单元的边界,则可根据针对最大编码单元的边界的去块滤波方法来对当前边界执行去块滤波。可设置针对编码单元的边界的去块滤波方法。如果当前边界是编码单元的边界(而非最大编码单元的边界),则可根据针对编码单元的边界的去块滤波方法对当前边界执行去块滤波。
[0219] 可设置针对变换单元的边界的去块滤波方法。如果当前边界不是最大编码单元或编码单元的边界,而是变换单元的边界,则可根据针对变换单元的边界的去块滤波方法对当前边界执行去块滤波。
[0220] 可设置针对预测单元的边界的去块滤波方法。如果当前边界不是最大编码单元、编码单元或变换单元的边界,而是预测单元的边界,则可根据针对预测单元的边界的去块滤波方法来对当前边界执行去块滤波。
[0221] 去块滤波方法可包括设置是否将执行去块滤波、去块滤波器的长度和将被去块滤波的样本的数量和位置。
[0222] 根据示例性实施例,边界的长度可根据编码单元、预测单元或变换单元的尺寸或类型而改变。
[0223] 现在将参照图18至图20来描述根据其它示例性实施例的编码单元、预测单元和变换单元之间的关系。在图18至图20中,标号1600、1700和1800表示编码单元而非最大编码单元。
[0224] 图18是用于描述根据另一示例性实施例的编码单元、预测单元和变换单元之间的关系的框图。编码单元1600是2N×2N的块,并基于N×N分区类型的预测单元被预测编码,并基于N×N变换单元被变换。因此,边界1612、1614、1616、1620、1626、1630、1632和1634是编码单元1600、预测单元和变换单元的共同边界,边界1618、1622、1624和1628是预测单元和变换单元的边界。
[0225] 图16和图17的去块滤波执行单元1430和1540可对编码单元1600(而非最大编码单元)的边界1612、1614、1616、1620、1626、1630、1632和1634执行针对编码单元的边界的去块滤波方法。
[0226] 另外,去块滤波执行单元1430和1540可对变换单元(而非编码单元1600或最大编码单元)的边界1618、1622、1624和1628执行针对变换单元的边界的去块滤波方法。
[0227] 图19是用于描述根据另一示例性实施例的编码单元、预测单元和变换单元之间的关系的框图。编码单元1700是2N×2N的块,基于N×N的分区类型的预测单元被预测编码,并基于2N×2N的变换单元被变换。因此,边界1712、1714、1716、1720、1726、1730、1732和1734是编码单元1700、预测单元和变换单元的共同边界,边界1718、1722、1724和1728仅是变换单元的边界。
[0228] 图16和图17的去块滤波执行单元1430和1540可对编码单元1700(而非最大编码单元)的边界1712、1714、1716、1720、1726、1730、1732和1734执行针对编码单元的边界的去块滤波方法。
[0229] 去块滤波执行单元1430和1540可对预测单元(而非最大编码单元、编码单元1700或变换单元)的边界1718、1722、1724和1728执行针对预测单元的边界的去块滤波方法。
[0230] 图20是用于描述根据另一示例性实施例的编码单元、预测单元和变换单元之间的关系的框图。编码单元1800是4N×4N的块,其基于通过根据3:1的比例划分编码单元1800的宽度而获得的不对称分区类型的预测单元被预测编码,并基于2N×2N的变换单元被变换。因此,边界1812、1814、1816、1820、1822和1824是编码单元1800、预测单元和变换单元的共同边界,边界1818仅是变换单元的边界,边界1826、1828、1830和1832仅是变换单元的边界。
[0231] 图16和图17的去块滤波变换单元1430和1540可对变换单元1800(而非最大编码单元)的边界1812、1814、1816、1820、1822和1824执行针对编码单元的边界的去块滤波方法。
[0232] 此外,图16和图17的去块滤波变换单元1430和1540可对变换单元(而非最大编码单元或编码单元1800)的边界1826、1828、1830和1832执行针对变换单元的边界的去块滤波方法。
[0233] 此外,去块滤波变换单元1430和1540可对变换单元(而非最大编码单元、编码单元1800或变换单元)的边界1818执行针对预测单元的边界的去块滤波方法。
[0234] 图21示出根据示例性实施例的确定去块滤波方法的方法。可分别针对满足各种条件的组合的边界来设置去块滤波方法。例如,所述各种条件可包括形成边界的数据单元的类型、预测模式、块中是否存在不为“0”的变换系数、运动矢量、参考画面、每个数据单元的尺寸和应用到数据单元的各种编码/解码技术。去块滤波方法可包括设置是否将执行去块滤波、去块滤波器的长度以及将被去块滤波的样本的数量和位置。
[0235] 例如,去块滤波变换单元1430和1540可基于在编码模式中定义的形成将被去块滤波的边界的两个邻近数据单元的块类型1910和块尺寸1920,确定表示边界将被执行去块滤波的数据单元的数量的应用单元1930。
[0236] 可基于两个邻近数据单元之间的边界是最大编码单元(LCU)、编码单元(CU)、预测单元(PU)还是变换单元(TU)(块类型1910)的边界,以及两个邻近数据单元的尺寸是相同,是大于预定门限还是不大于预定门限(块尺寸1920),来将将被执行去块滤波的数据单元的数量(即,应用单元1930)确定为“2”、“1”或“0”。
[0237] 此外,去块滤波方法可被设置为满足以上条件中的至少一个。例如,可针对与满足块类型1910和块尺寸1920的多个条件的组合的块边界有关的多个应用单元1930中的每一个设置不同的去块滤波方法。参照图21,可根据块类型1910、块尺寸1920以及应用单元1930多个条件的组合来确定将被滤波的目标的36个条件。去块滤波执行单元1430和1540可通过基于将被去块滤波的边界的多个条件,通过单独确定去块滤波方法1至36来执行去块滤波。去块滤波方法1至36被确定意味着分别针对36个边界条件设置不同的去块滤波方法。因此,可针对不同的边界条件设置相同的去块滤波方法。此外,可针对一组边界条件设置相同的去块滤波方法。例如,可针对相同块类型的块边界设置相同的去块滤波方法,或可针对具有相同尺寸的块边界设置相同的去块滤波方法。
[0238] 虽然图21仅示出一些去块滤波条件(例如,形成边界的数据单元的块类型和块尺寸以及将被去块滤波的数据单元的数量),去块滤波条件还可包括预测模式(诸如帧内模式或帧间模式)、块中是否存在编码的残差分量、运动矢量、参考画面的数量和索引以及编码技术中的至少一个。
[0239] 图22示出根据示例性实施例的将被去块滤波的样本2000。在样本2000中,样本p3、p2、p1和p0是存在于块边界的左侧的像素,其它样本q0、q1、q2和q3是存在于块边界的右侧的像素。虽然图22示出相对于垂直块边界在执行去块滤波的水平方向上布置的样本2000,但是可对相对于水平块边界在垂直方向上布置的样本执行去块滤波。
[0240] 根据示例性实施例,可基于样本2000的原始值,确定边界强度、是否将执行去块滤波和去块滤波器的长度。
[0241] 例如,可通过样本2000的原始值来确定边界强度。可根据边界强度的多个条件以及样本2000的多个原始值之间的差的组合来确定是否将对块边界执行去块滤波。此外,可根据边界强度的多个条件以及样本2000的多个原始值之间的差的多个条件的组合来确定样本2000的去块滤波器的长度以及当执行去块滤波时值改变的样本的数量和位置。
[0242] 根据示例性实施例,如果亮度分量的去块滤波的边界强度是“4”,则可在除了样点p3和q3之外的用作去块滤波系数的样本2000中忽略对样本p2和q2进行去块滤波的结果。
[0243] 根据示例性实施例,图16和图17的去块滤波执行单元1430和1540基于当前块边界是编码单元、预测单元还是变换单元的边界,来确定边界强度、是否将执行去块滤波、去块滤波器的长度和将被滤波的样本的数量和位置。
[0244] 图23是示出根据示例性实施例的通过使用去块滤波对视频进行编码的方法的流程图。参照图23,在操作2110,画面被划分为最大编码单元。
[0245] 在操作2120,针对每个最大编码单元确定与编码单元、预测单元和变换单元有关的编码深度的编码单元和每个编码单元的编码模式。
[0246] 在操作2130,考虑编码单元的编码模式,按照编码单元对已被反变换到空间域的视频数据执行去块滤波。可根据在编码单元的编码模式中定义的形成边界的数据单元(包括编码单元、预测单元和变换单元)的类型、数据单元的尺寸以及分区模式,确定指示是否将对边界执行去块滤波、去块滤波的边界强度和滤波器表尺寸的去块滤波方法。
[0247] 图24是示出根据示例性实施例的通过使用去块滤波的对视频进行解码的方法的流程图。参照图24,在操作2210,接收到的比特流被解析以提取每个编码单元的编码模式以及按照编码单元被编码的视频数据。
[0248] 在操作2220,通过按照编码单元对编码视频数据进行熵解码和反量化,获得变换系数。
[0249] 在操作2230,通过按照在编码单元的编码模式中定义的变换单元对变换系数进行反变换并按照在编码单元的编码模式中定义的预测单元对变换系数进行预测解码,来重建空间域中的视频数据。
[0250] 在操作2240,考虑编码单元的编码模式,对空间域中的视频数据执行去块滤波。可根据在编码单元的编码模式中定义的形成边界的数据单元(包括编码单元、预测单元和变换单元)的类型、数据单元的尺寸和分区模式,来确定指示是否将对边界执行去块滤波、去块滤波的边界强度和滤波器表尺寸的去块滤波方法。
[0251] 示例性实施例可被写为计算机程序,并可在使用计算机可读记录介质执行程序的通用数字计算机中被实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)。
[0252] 虽然以上具体示出和描述了示例性实施例,但是本领域的普通技术人员将理解,在不脱离由权利要求定义的发明构思的精神和范围的情况下,可对其进行形式和细节上的各种改变。示例性实施例应该被认为仅是描述的意义,而并非为了限制的目的。因此,本发明构思的范围不由示例性实施例的具体描述来定义,而是由权利要求来定义,在所述范围内的所有不同方式将被理解为包括在本发明构思中。