通过使用平滑插值滤波器对图像进行插值的方法和装置转让专利

申请号 : CN201510401079.3

文献号 : CN105049844B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 亚历山大·阿尔辛埃琳娜·阿尔辛娜陈建乐韩宇镇尼古拉·斯利亚科夫洪允美

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

摘要 :

提供了一种通过使用平滑插值滤波器对图像进行插值的方法和装置。一种考虑平滑对图像进行插值的方法,所述方法包括:基于子像素单位插值位置和平滑度,从用于产生位于整数像素单位像素之间的至少一个子像素单位像素值的插值滤波器中不同地选择插值滤波器;通过使用选择的插值滤波器对整数像素单位像素的像素值进行插值,来产生所述至少一个子像素单位像素值。

权利要求 :

1.一种用于运动补偿的设备,所述设备包括:

亮度插值滤波单元,被配置为通过使用当前块的亮度运动矢量,在亮度参考画面中确定用于对当前块进行预测的亮度参考块,并被配置为通过将8抽头滤波器应用于亮度参考画面的整数像素位置的亮度样点,产生在亮度参考块中包括的2/4像素位置的亮度样点;

色度插值滤波单元,被配置为通过使用当前块的色度运动矢量,在色度参考画面中确定用于对当前块进行预测的色度参考块,并被配置为通过将4抽头滤波器应用于色度参考画面的整数像素位置的色度样点,产生在色度参考块中包括的1/8像素位置、2/8像素位置和3/8像素位置中的至少一个像素位置的至少一个色度样点,其中,8抽头滤波器包括八个滤波器系数,4抽头滤波器包括四个滤波器系数,其中,用于1/4像素位置的4抽头滤波器包括{-4,54,16,-2}作为滤波器系数。

说明书 :

通过使用平滑插值滤波器对图像进行插值的方法和装置

[0001] 本申请是申请日为2011年09月30日,申请号为“201180057602.5”,标题为“通过使用平滑插值滤波器对图像进行插值的方法和装置”的发明专利申请的分案申请。

技术领域

[0002] 本发明涉及使用运动补偿的预测编码。

背景技术

[0003] 在典型的图像编码和解码方法中,为了对图像进行编码,将一幅画面划分为宏块。随后,通过使用帧间预测或帧内预测来对每个宏块执行预测编码。
[0004] 帧间预测指的是通过去除画面之间的时间冗余来压缩图像的方法,帧间预测的代表性示例是运动估计编码。在运动估计编码中,通过使用至少一个参考画面来预测当前画面的每个块。通过使用预定估计函数在预定搜索范围内找出与当前块最相似的参考块。
[0005] 基于参考块预测当前块,并对通过从当前块减去作为预测结果产生的预测块而获得的残差块进行编码。在这种情况下,为了更精确地执行预测,在搜索参考画面的范围上执行插值,产生小于整数像素单位像素的子像素单位像素,并且对产生的子像素单位像素执行帧间预测。

发明内容

[0006] 技术问题
[0007] 本发明提供一种用于考虑图像特征确定适当插值滤波器系数以通过对整数像素单位像素进行插值来产生子像素单位像素的方法和设备。
[0008] 技术方案
[0009] 根据本发明的一方面,提供了一种考虑平滑来对图像进行插值的方法,所述方法包括:基于子像素单位插值位置和平滑度,从用于产生位于整数像素单位像素之间的至少一个子像素单位像素值的插值滤波器中不同地选择插值滤波器;通过使用选择的插值滤波器对整数像素单位像素的像素值进行插值,来产生所述至少一个子像素单位像素值。
[0010] 有益效果
[0011] 当对视频进行编码和解码时,由于通过对参考帧进行插值来产生高质量图像并基于高质量图像执行运动估计和补偿,因此可提高帧间预测的精确度。此外,由于使用平滑插值滤波器来减少插值结果中的高频分量并因而获得更平滑的插值结果,因此可去除高频分量,并可提高图像编码和图像解码的效率。

附图说明

[0012] 图1是根据本发明的实施例的图像插值设备的框图;
[0013] 图2是用于描述整数像素单位和子像素单位之间的关系的示图;
[0014] 图3是示出根据本发明的实施例的将被参考以确定子像素单位像素值的邻近整数像素单位像素的示图;
[0015] 图4a至图4c是示出根据本发明的实施例的将被参考以确定子像素单位像素值的整数像素单位像素的示例的示图;
[0016] 图5是根据本发明的实施例的平滑插值滤波器的平滑参数的曲线图;
[0017] 图6是根据本发明的实施例的由平滑插值滤波器可使用的样条函数的曲线图;
[0018] 图7是根据本发明的实施例的图像插值方法的流程图;
[0019] 图8a至图8c是示出根据本发明的实施例的基于平滑参数和插值位置确定的12抽头插值滤波器的滤波器系数的表;
[0020] 图9a至图9c是示出根据本发明的实施例的基于平滑参数和插值位置确定的6抽头插值滤波器的滤波器系数的表;
[0021] 图10是示出根据本发明的实施例的基于平滑参数和插值位置针对色度像素确定的6抽头插值滤波器的滤波器系数的表;
[0022] 图11是示出根据本发明的实施例的基于彩色分量和图像插值位置不同地确定的平滑插值滤波器的滤波器系数的表;
[0023] 图12a至图12c是示出根据本发明的实施例的基于图像插值位置和缩放因子的平滑插值滤波器的滤波器系数的表;
[0024] 图13a是根据本发明的实施例的使用平滑插值滤波器的视频编码设备的框图;
[0025] 图13b是根据本发明的实施例的使用平滑插值滤波器的视频解码设备的框图;
[0026] 图14a是根据本发明的实施例的使用平滑插值滤波器的图像编码方法的流程图;
[0027] 图14b是根据本发明的实施例的使用平滑插值滤波器的图像解码方法的流程图;
[0028] 图15是用于描述根据本发明的实施例的编码单元的概念的示图;
[0029] 图16是根据本发明的实施例的基于编码单元的图像编码器的框图;
[0030] 图17是根据本发明的实施例的基于编码单元的图像解码器的框图;
[0031] 图18是示出根据本发明的实施例的根据深度的较深层编码单元以及分区的示图;
[0032] 图19是用于描述根据本发明的实施例的编码单元和变换单元之间的关系的示图;
[0033] 图20是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图;
[0034] 图21是根据本发明的实施例的根据深度的较深层编码单元的示图;
[0035] 图22至图24是用于描述根据本发明的实施例的编码单元、预测单元和变换单元之间的关系的示图;
[0036] 图25是用于描述根据表1的编码模式信息的在编码单元、预测单元或分区以及变换单元之间的关系的示图;
[0037] 图26是根据本发明的实施例的基于具有树结构的编码单元使用平滑插值滤波器的视频编码方法的流程图;
[0038] 图27是根据本发明的实施例的基于具有树结构的编码单元使用平滑插值滤波器的视频解码方法的流程图。
[0039] 最佳实施方式
[0040] 根据本发明的一方面,提供了一种考虑平滑对图像进行插值的方法,所述方法包括:基于子像素单位插值位置和平滑度,从用于产生位于整数像素单位像素之间的至少一个子像素单位像素值的插值滤波器中不同地选择插值滤波器;通过使用选择的插值滤波器对整数像素单位像素的像素值进行插值来产生所述至少一个子像素单位像素值。
[0041] 插值滤波器可包括滤波器系数,所述滤波器系数用于基于多个基函数对整数像素单位像素进行变换,并对作为变换的结果而产生的多个系数进行反变换。
[0042] 插值滤波器可包括具有基于插值位置和整数像素单位像素之间的距离确定的平滑度的滤波器系数。插值滤波器包括具有基于插值位置和与所述插值位置邻近的整数像素单位像素之间的距离确定的平滑度的滤波器系数。
[0043] 为了对空间域中的整数像素单位像素进行插值,插值滤波器可包括通过将用于使用多个基函数执行变换和反变换的滤波器与窗函数结合而获得的滤波器系数,并且窗函数可关于插值位置而对称。
[0044] 为了对空间域中的整数像素单位像素进行插值,插值滤波器可包括通过将用于使用多个基函数执行变换和反变换的滤波器与平滑参数结合而获得的滤波器系数,并且平滑参数可控制平滑速度和平滑范围中的至少一个。
[0045] 插值滤波器可包括基于样条函数的滤波器系数。插值滤波器可包括用于基于多项式函数最大化插值滤波器的低频响应的滤波器系数。
[0046] 选择插值滤波器的步骤可包括:从插值滤波器中选择包括被缩放为整数的滤波器系数的插值滤波器,并且产生所述至少一个子像素单位像素值的步骤可包括:基于缩放因子,对通过使用选择的插值滤波器而产生的所述至少一个子像素单位像素值进行归一化。
[0047] 选择插值滤波器的步骤可包括:基于像素特征从插值滤波器中不同地选择插值滤波器,并且产生所述至少一个子像素单位像素值的步骤可包括:通过使用基于像素特征不同地选择的插值滤波器来产生所述至少一个子像素单位像素值。
[0048] 根据本发明的另一方面,提供了一种用于考虑平滑对图像进行插值的设备,所述设备包括:滤波器选择器,基于子像素单位插值位置和平滑度,从用于产生位于整数像素单位像素之间的至少一个子像素单位像素值的插值滤波器中不同地选择插值滤波器;插值器,通过使用选择的插值滤波器对整数像素单位像素的像素值进行插值来产生所述至少一个子像素单位像素值。
[0049] 根据本发明的另一方面,提供了一种考虑彩色分量对图像进行插值的方法,所述方法包括:基于子像素单位插值位置和当前像素的彩色分量,从用于产生位于整数像素单位像素之间的至少一个子像素单位像素值的插值滤波器中不同地选择插值滤波器;通过使用选择的插值滤波器对整数像素单位像素的像素值进行插值来产生所述至少一个子像素单位像素值。
[0050] 选择插值滤波器的步骤包括:为了对色度像素进行插值,从插值滤波器中选择具有比用于亮度像素的插值滤波器的平滑度更强的平滑度的插值滤波器。
[0051] 具有比用于亮度像素的插值滤波器的平滑度更强的平滑度的插值滤波器可以是以下滤波器中的一个:包括用于对整数像素单位像素进行平滑、通过使用多个基函数对平滑的整数像素单位像素进行变换、并对作为变换的结果而产生的多个系数进行反变换的滤波器系数的滤波器;通过将用于使用多个基函数执行变换和反变换的滤波器系数与用于执行低通滤波的窗函数系数进行结合而获得的滤波器;包括用于基于样条函数的边界条件对边界整数像素单位像素进行最强有力的平滑的滤波器系数的滤波器;包括用于基于样条函数最大化插值滤波器的低频响应的滤波器系数的滤波器。
[0052] 根据本发明的另一方面,提供一种用于考虑彩色分量对图像进行插值的设备,所述设备包括:滤波器选择器,基于子像素单位插值位置和当前像素的彩色分量,从用于产生位于整数像素单位像素之间的至少一个子像素单位像素值的插值滤波器中不同地选择插值滤波器;通过使用选择的插值滤波器对整数像素单位像素的像素值进行插值来产生所述至少一个子像素单位像素值。
[0053] 根据本发明的另一方面,提供一种使用图像插值滤波器的视频编码器,所述视频编码器包括:编码器,针对输入图像的每个块,基于子像素单位插值位置和平滑度从存储在视频编码器中的插值滤波器中不同地选择插值滤波器,通过使用选择的插值滤波器来对整数像素单位像素的像素值进行插值来执行预测编码以产生至少一个子像素单位像素值,并且对预测编码的预测结果执行变换和量化;输出单元,输出通过对量化的变换系数和编码信息执行熵编码而产生的比特流;存储器,存储插值滤波器的滤波器系数。
[0054] 根据本发明的另一方面,提供一种使用图像插值滤波器的视频解码器,所述视频解码器包括:接收器和提取器,接收视频的编码的比特流,并通过对比特流执行熵解码和解析来提取视频的画面的编码信息和编码的数据;解码器,对画面的当前块的编码数据的量化的变换系数执行反量化和反变换,基于子像素单位插值位置和平滑度从存储在视频解码器中的插值滤波器中不同地选择插值滤波器,通过使用选择的插值滤波器对整数像素单位像素的像素值进行插值来执行预测解码以产生至少一个子像素单位像素值,并重建画面;存储器,存储插值滤波器的滤波器系数。
[0055] 根据本发明的另一方面,提供一种计算机可读记录介质,其中,所述计算机可读记录介质记录有用于执行上述方法的计算机程序。

具体实施方式

[0056] 在下面的描述中,“图像”可全面地表示运动图像(诸如视频)以及静止图像。
[0057] 参照图1至图12c公开了根据本发明的实施例的考虑平滑的图像插值。此外,参照图13a至图27公开了根据本发明的实施例的使用平滑插值滤波器的视频编码和解码。具体地,参照图15至图27公开了根据本发明的实施例的基于具有树结构的编码单元的使用平滑插值滤波器的视频编码和解码。
[0058] 现在将参照图1至图12c详细描述根据本发明的实施例的考虑平滑的图像插值和平滑插值滤波器。
[0059] 图1是根据本发明的实施例的图像插值设备10的框图。
[0060] 考虑平滑的图像插值设备10包括滤波器选择器12和插值器14。可通过视频编码处理器、中央处理器(CPU)和图形处理器来协同控制图像插值设备10的滤波器选择器12和插值器14的操作。
[0061] 图像插值设备10可接收输入图像,并可通过对整数像素单位像素进行插值来产生子像素单位像素值。输入图像可以是视频的画面序列、画面、帧或块。
[0062] 滤波器选择器12可基于子像素单位插值位置和平滑度,不同地选择用于产生位于整数像素单元之间的至少一个子像素单位像素值的插值滤波器。
[0063] 插值器14可通过使用由滤波器选择器12选择的插值滤波器对与子像素单位插值位置邻近的整数像素单位像素进行插值,从而产生子像素单位像素值。对整数像素单位像素进行插值滤波以产生子像素单位像素值的步骤可包括:对在由插值滤波器支持的区域中的包括与子像素单位插值位置邻近的整数像素单位像素的整数像素单位参考像素值进行插值滤波。
[0064] 根据实施例的插值滤波器可包括这样的滤波器系数,所述滤波器系数用于基于多个基函数对整数像素单位参考像素进行变换,并用于对作为变换结果而产生的多个系数进行反变换。
[0065] 插值滤波器可以是一维滤波器或二维滤波器。如果选择的插值滤波器是一维滤波器,则插值器14可通过在两个或更多方向上使用一维插值滤波器来顺序地执行滤波,从而产生当前子像素单位像素值。
[0066] 根据实施例的平滑插值滤波器可具有基于插值位置和整数像素单位像素之间的距离确定的平滑度。
[0067] 根据实施例的插值滤波器可包括基于子像素单位插值位置和平滑度的不同滤波器系数。以下,考虑子像素单位插值位置和平滑度而确定的插值滤波器被称为平滑插值滤波器。
[0068] 根据实施例的平滑插值滤波器可具有插值位置和与所述插值位置邻近的整数像素单位像素之间的距离而确定的平滑度。
[0069] 此外,平滑插值滤波器可包括这样的滤波器系数,所述滤波器系数用于更强有力地对远离插值位置的整数像素单位参考像素进行平滑。
[0070] 为了在空间域中对整数像素单位像素进行插值,可通过将滤波器系数和窗函数系数进行结合来获得平滑插值滤波器,其中,滤波器系数用于通过使用多个基函数来执行变换和反变换,窗函数系数用于执行低通滤波。
[0071] 根据实施例的窗函数可以关于插值位置而对称。通过将用于执行变换和反变换的滤波器系数和用于执行低通滤波的窗函数系数进行结合而获得的平滑插值滤波器可包括这样的滤波器系数:该滤波器系数用于将大的权重给予接近插值位置的整数像素单位参考像素,并将小的权重给予远离插值位置的整数像素单位参考像素。
[0072] 平滑插值滤波器可包括这样的滤波器系数,其中,所述滤波器系数用于对整数像素单位参考像素进行平滑、通过使用多个基函数对平滑的整数像素单位参考像素进行变换,并对作为变换结果而产生的多个系数进行反变换。
[0073] 平滑插值滤波器是空间域中的插值滤波器,并可包括通过将用于执行变换和反变换的插值滤波器与平滑参数进行结合而获得的滤波器系数。平滑参数可控制平滑速度和平滑范围中的至少一个。
[0074] 平滑插值滤波器可包括基于样条函数的滤波器系数。也就是说,用于确定插值滤波器系数的变换和反变换的基函数可以是样条函数。为了获得更平滑的插值结果,平滑插值滤波器可包括通过使用样条函数而确定的滤波器系数。
[0075] 根据实施例,基于样条函数的平滑插值滤波器可包括这样的滤波器系数,其中,所述滤波器系数用于基于样条函数的边界条件来对边界整数像素单位参考像素进行最强有力的平滑。
[0076] 根据另一实施例,如果变换和反变换的基函数是多项式函数,则平滑插值滤波器可包括这样的滤波器系数,其中,所述滤波器系数用于基于多项式函数最大化插值滤波器的低频响应。
[0077] 根据实施例的平滑插值滤波器可基于滤波器长度以及子像素单位插值位置和平滑度,包括不同的滤波器系数。
[0078] 此外,平滑插值滤波器可基于插值结果的缩放因子以及子像素单位插值位置、平滑度和滤波器长度,包括不同的滤波器系数。滤波器选择器12可选择包括被缩放到整数的滤波器系数的平滑插值滤波器。插值器14对通过使用由滤波器选择器12选择的平滑插值滤波器而产生的像素值进行归一化。
[0079] 此外,滤波器选择器12可基于像素特征来不同地选择插值滤波器。插值器14可通过使用基于像素特征不同地选择的插值滤波器来产生子像素单位像素值。
[0080] 由滤波器选择器12可选择的插值滤波器可包括平滑插值滤波器和不考虑平滑的普通插值滤波器。因此,基于图像特征,滤波器选择器12可选择完全不考虑平滑的普通插值滤波器。
[0081] 例如,根据另一实施例,图像插值设备10可通过根据彩色分量使用不同的插值滤波器来执行图像插值。
[0082] 根据另一实施例,滤波器选择器12可基于子像素单位插值位置和当前像素的彩色分量来不同地选择插值滤波器。根据另一实施例,插值器14可通过使用选择的插值滤波器来对整数像素单位像素进行插值,从而产生至少一个子像素单位像素值。
[0083] 例如,滤波器选择器12可不同地确定用于亮度分量的插值滤波器和用于色度分量的插值滤波器。
[0084] 为了对色度像素进行插值,滤波器选择器12可选择具有比用于亮度像素的插值滤波器的平滑度更强的平滑度的平滑插值滤波器。
[0085] 例如,为了对色度像素进行插值,可选择包括基于样条函数确定的滤波器系数的插值滤波器或者包括基于多项式函数确定的滤波器系数的插值滤波器。基于样条函数确定的滤波器系数可基于所述样条函数的边界条件来对边界整数像素单位像素进行最强有力的平滑。基于多项式函数确定的插值滤波器可包括用于最大化低频响应的滤波器系数。
[0086] 此外,为了对色度像素进行插值,可选择包括基于平滑参数确定的滤波器系数的并具有比用于亮度像素的插值滤波器的平滑度更强的平滑度的插值滤波器,或者包括与用于比亮度像素的插值滤波器去除更多的高频分量的窗函数结合的滤波器系数的插值滤波器。
[0087] 为了获得色度分量的平滑插值结果,可选择通过将滤波器系数和窗函数系数进行结合而获得的平滑插值滤波器,其中,滤波器系数用于基于多个基函数执行变换和反变换,窗函数系数用于执行低通滤波。
[0088] 图像插值用于将低质量图像变换为高质量图像,将隔行扫描图像变换为逐行扫描图像,或将低质量图像上采样为高质量图像。此外,当视频编码设备对图像进行编码时,运动估计器和补偿器可通过使用插值的参考帧来执行帧间预测。通过对参考帧进行插值来产生高质量图像,并基于所述高质量图像执行运动估计和补偿,可提高帧间预测的精确度。类似地,当图像解码设备对图像进行解码时,运动补偿器可通过使用插值的参考帧来执行运动补偿,从而提高帧间预测的精确度。
[0089] 此外,由图像插值设备10使用的平滑插值滤波器可通过在使用插值滤波器的插值结果中减少高频分量来获得平滑插值结果。由于高频分量降低了图像压缩的效率,因此还可通过执行平滑度可调的图像插值来提高图像编码和解码的效率。
[0090] 图2是用于描述整数像素单位和子像素单位之间的关系的示图。
[0091] 参照图2,图像插值设备10通过在空间域中对预定块20的位置“○”的整数像素单位像素值进行插值,来产生位置“×”的像素值。位置“×”的像素值是由αx和αy确定的插值位置的子像素单位像素值。虽然图2示出预定块20是4×4块,但本领域的普通技术人员容易理解,块尺寸不限于4×4,并且可以比4×4更大或更小。
[0092] 在视频处理中,运动矢量用于对当前图像执行运动补偿和预测。基于预测编码,参考先前解码的图像来预测当前图像,并且运动矢量指示参考图像的预定点。因此,运动矢量指示参考图像的整数像素单位像素。
[0093] 然而,将被当前图像参考的像素可位于参考图像的整数像素单位像素之间。这样的位置被称为子像素单位位置。由于在子像素单位位置不存在像素,因此仅通过使用整数像素单位像素值来预测子像素单位像素值。换句话说,通过对整数像素单位像素进行插值来估计子像素单位像素值。
[0094] 现在将参照图3和图4a至图4c来描述对整数像素单位像素进行插值的方法。
[0095] 图3是示出根据本发明的实施例的将被参考以确定子像素单位像素值的邻近整数像素单位像素的示图。
[0096] 参照图3,图像插值设备10通过在空间域中对整数像素单位像素值31和33进行插值,产生插值位置的子像素单位像素值35。
[0097] 图4a至图4c是示出根据本发明的实施例的将被参考以确定子像素单位像素值的整数像素单位像素的示例的示图。
[0098] 参照图4a,为了通过对两个整数像素单位像素值31和33进行插值来产生子像素单位像素值35,使用包括整数像素单位像素值31和33的多个邻近整数像素单位像素值37和39。换句话说,可通过对从第-(M-1)像素值到第M像素值的2M个像素值执行一维插值滤波,来对第0像素和第1像素进行插值。
[0099] 此外,虽然图4a示出在水平方向上的像素值被插值,但是可通过使用在垂直方向或对角线方向上的像素值来执行一维插值滤波。
[0100] 参照图4b,可通过对在垂直方向上彼此邻近的像素P0 41和P1 43进行插值来产生插值位置α的像素值P(α)。当比较图4a和图4b时,它们的插值滤波方法是相似的,并且它们之间的差别仅在于:在图4b中,在垂直方向上排列的像素值47和49被插值,而在图4a中,在水平方向上排列的像素值37和39被插值。
[0101] 参照图4c,类似地,通过对两个邻近像素值40和42进行插值来产生插值位置α的像素值44。与图4a的差别仅在于:使用在对角线方向上排列的像素值46和48,而不是使用在水平方向上排列的像素值37和39。
[0102] 除了在图4a至图4c中示出的方向之外,还可在各种方向上执行一维插值滤波。
[0103] 可执行插值滤波来对整数像素单位像素进行插值,从而产生子像素单位像素值。可通过下面的等式来表示插值滤波。
[0104]
[0105] 通过基于2M个整数像素单位参考像素{pm}={p-M+1,p-M+2,...,p0,p1,...,pM}的矢量P和滤波器系数{fm}={f-M+1,f-M+2,...,f0,f1,...,fM}的矢量f(x)的点积执行插值,来产生像素值p(x)。由于滤波器系数f(α)基于插值位置α而改变,并且基于滤波器系数f(α)来确定通过执行插值而获得的像素值P(α),因此选择的插值滤波器(即,确定的滤波器系数f(x))大大影响了插值滤波的性能。
[0106] 现在将详细描述使用基于基函数的变换和反变换的图像插值以及确定插值滤波器的方法。
[0107] 使用变换和反变换的插值滤波器首先通过使用具有不同频率分量的多个基函数来对像素值进行变换。变换可包括从空间域中的像素值到变换域中的系数的所有类型的变换,并可以是离散余弦变换(DCT)。通过使用多个基函数来对整数像素单位像素值进行变换。像素值可以是亮度像素值或色度像素值。基函数不限于特定基函数,并可包括用于将空间域中的像素值变换为变换域中的像素值的所有基函数。例如,基函数可以是用于执行DCT和反DCT(IDCT)的余弦函数或正弦函数。可选地,可使用各种基函数(诸如样条函数和多项式函数)。此外,DCT可以是改进DCT(MDCT)或开窗的MDCT。
[0108] 使用变换和反变换的插值滤波器移动用于执行变换的基函数的相位,并对通过使用相移的基函数产生的多个系数的值进行反变换。作为反变换的结果,空间域中的像素值被输出,并且输出的值可以是插值位置的像素值。
[0109] <使用基于正交基函数的正交变换和反变换的滤波器系数>
[0110] 现在将详细描述当使用基于正交基函数的变换和反变换的插值器14执行插值滤波时的情况。具体地,DCT被描述为变换的示例。
[0111] 例如,参照图4a,为了通过使用包括整数像素单位像素值31和33的多个邻近整数像素单位像素值37和39对两个整数像素单位像素值31和33进行插值来产生子像素单位像素值35,可通过对从第-(M-1)像素值到第M像素值的2M个像素值执行一维DCT,并基于相移的基函数来执行一维IDCT,以对第0像素和第一像素进行插值。
[0112] 插值器14首先对整数像素单位像素值执行一维DCT。可如等式1所示来执行一维DCT。
[0113] [等式1]
[0114]
[0115] p(l)表示从第-(M-1)像素值到第M像素值的像素值37和39,Ck表示通过对像素值37和39执行一维DCT而产生的频域中的多个系数。在这种情况下,k是满足等式1的以上条件的正整数。
[0116] 在通过使用等式1对像素值37和39执行一维DCT之后,插值器14如等式2所示对系数执行反变换。
[0117] [等式2]
[0118]
[0119] α表示如图13中所示的两个像素值之间的插值位置,并且可具有各种分数值,诸如1/2、1/4、3/4、1/8、3/8、5/8、7/8、1/16等。分数值不限于特定值,并且α可以是实数值而不是分数值。P(α)表示作为一维IDCT结果产生的插值位置α的子像素单位像素值35。
[0120] 当等式2与等式1进行比较时,基于分数α而非整数I来确定作为用于执行IDCT的基函数的余弦函数的相位,并因此该余弦函数的相位与用于执行一维DCT的基函数的相位不同。换句话说,基于2α来移动每个用于执行反变换的基函数(即,余弦函数)的相位。如果插值器14根据等式2基于相移的余弦函数来执行IDCT,则产生插值位置α的子像素单位像素值35,即,P(α)。
[0121] 通过等式3中示出的矩阵等式来表示根据等式1的DCT。
[0122] [等式3]
[0123] C=D×REF
[0124] 这里,C是与等式1有关的上述2M个系数的2M×1矩阵,并且REF是与等式1有关的上述整数像素单位像素值(即,P-(M-1),...,PM像素值)的2M×1矩阵。用于执行插值的整数像素单位像素值的数量(即,2M)表示一维插值滤波器的抽头的数量。D是用于执行一维DCT的方阵,并可如等式4所示被定义。
[0125] [等式4]
[0126]
[0127] k和l是满足以上条件的整数,Dkl表示等式3中的用于执行DCT的方阵D的行k和列l。M与等式3的M相同。
[0128] 通过等式5中示出的矩阵等式来表示使用根据等式2的多个相移的基函数的IDCT。
[0129] [等式5]
[0130] P(α)=W(α)×C
[0131] 这里,P(α)与等式2的P(α)相同,并且W(α)是用于通过使用多个相移的基函数来执行一维IDCT的1×2M矩阵,并可如等式6所示被定义。
[0132] [等式6]
[0133]
[0134] k是满足以上条件的整数,并且Wk(α)表示关于等式5的上述矩阵W(α)的列k。可如等式7所示来定义用于根据等式3和5使用多个相移的基函数执行一维DCT和一维IDCT的滤波器F(α)。
[0135] [等式7]
[0136]
[0137] k是满足以上条件的整数,Fl(α)表示F(α)的列l,并且W(α)和D与等式3的W(α)和D相同。
[0138] 为了产生更强有力的平滑的子像素单位像素值,插值器14可改变用于执行基于基函数的变换和反变换的插值滤波器。
[0139] 现在将详细地顺序描述用于确定各种平滑插值滤波器的使用窗函数的情况、使用多个平滑参数的情况、将样条函数用作基函数的情况、以及将多项式函数用作基函数的情况。
[0140] <使用窗函数的平滑插值滤波器>
[0141] 现在将详细描述通过使用窗函数对插值滤波器系数进行平滑的方法。
[0142] 窗函数可包括汉明窗函数、余弦窗函数、指数窗函数、汉宁窗函数、布莱克曼窗函数和三角窗函数。虽然以下为了便于解释将描述当通过使用特定窗函数来对基于变换和反变换的插值滤波器进行平滑的情况,但是本领域的普通技术人员将容易理解,除了描述的窗函数之外,还可使用其它具有相似频率响应的窗函数。
[0143] 基于汉明窗函数的窗系数满足等式8。
[0144] [等式8]
[0145]
[0146] 在包括汉明窗函数的各种窗函数中,输入n关于N/2对称,并且频率响应与低通滤波器的频率响应相似。从窗函数的输入中,可仅输出由窗函数形成的窗所覆盖的输入。窗大小N可被设置为比原始插值滤波器的长度更大的正整数。例如,为了将窗函数应用到用于产生子像素单位像素(诸如1/2或1/4像素)的插值滤波器,窗函数的中心位置可移动1/2或1/4像素。也就是说,由于窗函数的中心位置移动到插值位置,因此,窗函数可关于插值位置对称。
[0147] 例如,等式9和等式10分别示出用于1/2像素单位插值滤波器和1/4像素单位插值滤波器的汉明窗函数的窗系数。
[0148] [等式9]
[0149]
[0150] [等式10]
[0151]
[0152] 等式11顺序示出基于子像素单位插值位置α概括的作为用于插值滤波器的窗函数的汉明窗函数、余弦窗函数和指数窗函数的窗系数。
[0153] [等式11]
[0154]
[0155] 通过将根据等式11的窗系数与原始插值滤波器fk(α)进行结合,可根据等式12确定平滑插值滤波器系数。
[0156] [等式12]
[0157]
[0158] 由于通过使用窗函数确定平滑插值滤波器,因此可基于整数像素单位参考像素和插值位置之间的距离来调整插值滤波器系数的权重。例如,可按这样的方式来确定平滑插值滤波器:通过窗函数,在插值滤波器的滤波器系数中,用于远离插值位置的整数像素单位参考像素的滤波器系数被大大改变,并且用于接近插值位置的整数像素单位参考像素的滤波器系数没有被大大改变。
[0159] 此外,如果通过使用窗函数确定平滑插值滤波器,则可在整数像素单位参考像素被平滑之后执行插值滤波。输入的整数像素单位参考像素Ref={p-M+1,p-M+2,...,p0,p1,...,pM}可包括噪声,或可由于误差(诸如量化误差)而被损坏。这样,如果在执行插值滤波之前对整数像素单位参考像素进行平滑,则图像插值设备10可提高插值效果。
[0160] <使用两个参数的平滑插值滤波器>
[0161] 平滑插值滤波器可基于两个参数来确定滤波器系数的平滑度。通过将平滑矩阵S和基于变换和反变换的插值滤波器系数进行结合而获得的子像素单位平滑插值滤波器系数满足等式13。
[0162] [等式13]
[0163]
[0164] 等式14示出平滑矩阵S的示例。
[0165] [等式14]
[0166] si,j=0;
[0167] {si,i=1-σi;si,i+1=σi};i=-M+1
[0168] {si,i=1-2σi;si,i±1=σi};-M+1≤i≤M
[0169] {si,i=1-σi;si,i-1=σi};i=M
[0170] 根据等式14的平滑矩阵S是3对角矩阵。换句话说,在平滑矩阵S的分量中,除了在一条中心对角线上的分量和在彼此对应并邻近于中心对角线的两条对角线上的分量之外的分量都为0。
[0171] 在平滑矩阵S中,可确定平滑度σi,而不管与将被插值的整数像素单位像素的距离(i-α)。在这种情况下,基于平滑矩阵S的平滑可被称为均匀平滑。
[0172] 此外,在平滑矩阵S中,平滑度σi可基于整数像素单位像素位置的索引i而改变。在这种情况下,基于平滑矩阵S的平滑可被称为非均匀平滑。例如,平滑度σi可满足等式15。
[0173] [等式15]
[0174] σi=β(i-α)l
[0175] 如果插值位置和整数像素单位参考像素之间的距离大,则正索引i可提高平滑效果。因此,正索引i可基于插值位置和整数像素单位参考像素之间的距离来控制平滑的速度。平滑参数β可控制在插值位置周围的平滑范围。
[0176] 如果平滑参数β小于0,则根据等式13的平滑矩阵S可被改变为锐化滤波器。因此,如果小于0的平滑矩阵S与使用变换和反变换的插值滤波器结合,则可产生用于放大高频分量的滤波器。
[0177] 为了执行子像素单位预测,图像插值设备10可使用先前存储在存储器中的平滑插值滤波器系数数据。
[0178] 图5是根据本发明的实施例的基于平滑插值滤波器的平滑参数β的平滑因子的曲线图50。
[0179] 第一曲线52和第二曲线54示出用于对基于离散变换的插值滤波器进行平滑的平滑因子。如果m较大,即,如果与将被插值的整数像素单位像素的距离增大,则平滑因子接近于0。
[0180] 这里,与在平滑参数β较大时的情况下的第二曲线54相比,在平滑参数β较小时的情况下的第一曲线52具有平滑因子的相对较大的宽度。换句话说,如果平滑插值滤波器的平滑参数β较大,则低频分量会被主要过滤,因此可产生相对强有力的平滑的子像素单位像素值。如果平滑插值滤波器的平滑参数β相对较小,则相对高频分量可保留并被插值,因此可产生子像素单位像素值。
[0181] 为了确定平滑插值滤波器的滤波器系数,图像插值设备10可使用样条函数或多项式函数作为基函数以及正交基函数。
[0182] <基于样条函数的平滑插值滤波器>
[0183] 图像插值设备10可基于样条函数确定平滑插值滤波器的滤波器系数。
[0184] 此外,为了对插值结果进行平滑,图像插值设备10可使用具有边界条件的样条函数。更详细地,例如,如果具有变量ρ的多项式样条插值被用于形成使用M个整数像素单位像素pm(M是等于或大于2的整数)的插值滤波器,则为了允许变量ρ在3≤ρ≤M+1的范围中具有最大平滑度,并允许样条值(即,插值结果值)在第(-M+2)像素和第(M-1)像素被无限平滑,可设置(ρ-1)附加条件。这些附加条件被称为非扭结(not-a-knot)边界条件或de Boor边界条件。
[0185] 使用基于样条函数的插值滤波器系数的插值结果可被表示为通过使用等式16计算的加权和。
[0186] [等式16]
[0187]
[0188] 输入像素pm是整数像素单位参考像素,并且输入像素的集{pm}被输入,其中,m的范围是[-M+1,M](即,-M+1≤m≤M)。样条函数S(x)相应于作为插值结果产生的像素值。fm(x)可以是具有相同边界条件并仅在整数像素单位参考像素位置上具有值的基数样条函数值(即,-M+1≤m≤M,m是整数)。
[0189] 可通过使用等式17确定滤波器系数fm(x)。
[0190] [等式17]
[0191]
[0192] 当k是在0≤k≤2M-2的范围中的整数时,可在[-M+1+k,-M+k+2]的范围(即,从(-M+1+k)到(-M+k+2))中的每个整数m上确定样条滤波器系数fm(x)。在等式17中,可基于等式18确定系数
[0193] [等式18]
[0194]
[0195] 为了子像素单位插值,可预先计算和存储包括根据插值位置α的样条滤波器系数fm(α)的有限脉冲响应(FIR)滤波器,并且可通过使用包括样条滤波器系数fm(α)的FIR滤波器来对整数像素单位参考像素pm执行插值滤波,产生在第0像素和第1像素之间的插值位置α上的子像素单位像素值。
[0196] 图6是根据本发明的实施例的由平滑插值滤波器可用的样条函数60的曲线图。
[0197] 参照图6,基于变量ρ为3的样条函数,示出2M=6(即,6抽头插值滤波器)的三条样条插值曲线f-2(x)61、f-1(x)62和f0(x)63。例如,用于产生满足α=1/4的子像素单位像素值的插值滤波器系数可被确定为在样条插值曲线f-2(x)61、f-1(x)62和f0(x)63上的f-2(1/4)64、f-1(1/4)65和f0(1/4)66。
[0198] <基于多项式函数的平滑插值滤波器>
[0199] 图像插值设备10可基于多项式函数确定平滑插值滤波器的滤波器系数。
[0200] 可通过等式19基于多项式函数将包括基于多项式函数的插值滤波器系数{fk}的多项式插值函数表示为基函数。在-M+1≤k≤M的范围内定义整数k。
[0201] [等式19]
[0202]
[0203] 此外,为了对插值结果进行平滑,图像插值设备10可基于多项式函数从插值滤波器系数{fk}中确定被优化到低频带的滤波器系数。例如,如果频率ω为0,则当多项式插值函数的函数值与所述多项式插值函数的导数的函数值相同时确定的滤波器系数{fk}可被确定为被优化到低频带的插值滤波器系数。这样,如等式20所示,由整数k的函数,可获得用于2M滤波器系数{fk}(2M是未知的)的2M线性函数。
[0204] [等式20]
[0205]
[0206] 可通过使用牛顿多项式函数来计算等式20的线性函数的解。等式21表示被计算为等式20的线性函数的解的2M滤波器系数{fk}。[等式21]
[0207]
[0208] 包括基于等式20和21的牛顿多项式函数确定的滤波器系数{fk}的插值滤波器在低频带具有最大响应,可通过使用利用该插值滤波器的像素值来获得更强有力的平滑的插值结果。因此,包括基于作为基函数的多项式函数确定的滤波器系数的插值滤波器可被选为平滑插值滤波器。
[0209] 这样,图像插值设备10可通过选择包括基于多项式函数的插值滤波器系数的平滑插值滤波器来产生更强有力的平滑的插值像素。具体地,由于色度像素具有强的高频分量,因此,为了产生色度整数像素单位像素的子像素单位像素值,可使用包括基于多项式函数的插值滤波器系数的平滑插值滤波器。
[0210] <用于缩放插值的插值滤波器系数>
[0211] 根据本发明的实施例的各种平滑插值滤波器产生方法基于用于产生浮点数而非整数的算术表达式,并且滤波器系数的绝对值通常不大于1。具体地,可通过子像素单位插值位置α产生实数(非整数)的计算结果。
[0212] 基于整数的计算的效率高于基于浮点数的计算的效率。这样,图像插值设备10可通过使用缩放因子将滤波器系数缩放为整数,来提高插值滤波的计算效率。此外,由于像素值的比特深度增加,因此插值滤波的精确度也可被提高。
[0213] 图像插值设备10可将滤波器系数fm(α)与预定值相乘,并可通过使用较大的滤波器系数Fm(α)执行图像插值。例如,可如等式22所示从滤波器系数fm(α)对滤波器系数Fm(α)进行缩放。
[0214] [等式22]
[0215] Fm(α)=int(fm(α)·2n)
[0216] 为了计算的效率,缩放因子可以是2n的形式。N可以是0或正整数。与通过使用原始滤波器系数而获得的结果相比,使用被缩放了2n的滤波器系数的插值滤波结果可具有被缩放了n比特的比特深度。
[0217] 使用被缩放的滤波器系数Fm(α)的整数计算插值滤波可满足等式23。换句话说,在通过使用被缩放的滤波器系数Fm(α)执行插值滤波之后,被缩放的比特深度必须被重建到原始比特深度。
[0218] [等式23]
[0219]
[0220] 在这种情况下,偏移量(offset)可以是2n-1。
[0221] 换句话说,由于使用被缩放的平滑插值滤波器的被缩放的滤波结果必须被减小缩放因子(即,2n)以被重建为原始比特,因此,被缩放的滤波结果的比特深度可被减小n比特。
[0222] 如果通过在水平方向上执行一维插值滤波并在垂直方向上执行一维插值滤波来执行两个步骤的插值滤波,则可总共减小2n比特。因此,如果第一一维插值滤波器被缩放了n1比特,并且第二一维插值滤波器被缩放了n2比特,则在通过使用第一一维插值滤波器和第二一维插值滤波器来执行两个步骤的插值滤波之后,可减小n1和n2的和(即,2n)的比特。第一一维插值滤波器可以是没被缩放的插值滤波器。
[0223] 由于平滑滤波器系数fm(α)的和为1,
[0224] [等式24]
[0225]
[0226] 因此,用于对被缩放的插值滤波器的被缩放的平滑滤波器系数Fm(α)进行归一化的条件需要满足等式25。
[0227] [等式25]
[0228]
[0229] 然而,根据等式25的归一化条件可能引起舍入误差。图像插值设备10可基于根据等式19的归一化条件来对被缩放的滤波器系数Fm(α)进行四舍五入。为了归一化,可在原始值的预定范围内调整被缩放的滤波器系数Fm(α)中的一些滤波器系数。例如,可在±1的范围内调整被缩放的滤波器系数Fm(α)中的一些滤波器系数以校正舍入误差。
[0230] 上面描述了各种平滑插值滤波器和滤波器系数。具体地说,可使用窗函数、样条函数、多项式函数等来作为用于确定平滑插值滤波器的滤波器系数。对于平滑插值滤波器,函数的频率响应可基于频率而改变,而所述函数的频率响应的滤波器增益可接近于1。因此,即使当频率改变时,图像插值设备10也可通过使用频率响应的滤波器增益挺近于1的函数来确定滤波器系数,并可选择包括所述滤波器系数的平滑插值滤波器。
[0231] 图7是根据本发明的实施例的图像插值方法的流程图。
[0232] 在操作71,从用于产生位于画面的整数像素单位像素之间的至少一个子像素单位像素值的插值滤波器中,基于子像素单位插值位置和平滑度不同地选择插值滤波器。可基于插值位置和整数像素单元之间的距离来确定插值滤波器的平滑度。
[0233] 根据实施例的插值滤波器可以是包括用于执行基于多个基函数的变换和反变换的滤波器系数的滤波器。根据实施例的平滑插值滤波器可包括与窗函数结合的插值滤波器、基于多个平滑参数的插值滤波器、基于平滑参数的插值滤波器、样条插值滤波器和多项式函数插值滤波器中的至少一个。
[0234] 为了通过使用平滑插值滤波器执行滤波,滤波器系数可被确定为对远离插值位置的整数像素单位参考像素进行更强有力的平滑。
[0235] 在操作73,通过使用在操作71选择的插值滤波器来对整数像素单位像素的像素值进行插值,来产生至少一个子像素单位像素值。
[0236] 在插值滤波器中,如果选择了包括被缩放到整数的滤波器系数的插值滤波器,则可基于缩放因子对通过使用所述插值滤波器产生的像素值进行归一化。
[0237] 根据实施例,可基于将被插值的像素的特征来不同地选择插值滤波器,可通过使用选择的插值滤波器来产生子像素单位像素值。
[0238] 现在将参照图8a至图12c来描述考虑子像素单位插值位置和平滑度而确定的插值滤波器的滤波器系数的各种示例。
[0239] 图8a至图8c是示出根据本发明的实施例的基于平滑参数和插值位置确定的12抽头插值滤波器的滤波器系数的表。
[0240] 参照图8a至图8c,在上述的基于正交变换的插值滤波器中,为了在如以上关于图5描述的对整数像素单位参考像素进行平滑之后执行正交变换和反变换,示出通过将平滑矩阵与基于正交变换的插值滤波器进行结合而获得的平滑插值滤波器的滤波器系数。
[0241] 图8a至图8c示出随着平滑参数β改变为0、0.002、0.004、0.006、0.008、0.010、0.012、0.014、0.016、0.018和0.020并且插值位置α改变为1/8、1/4、3/8、1/2、5/8、3/4和7/8而包括不同的滤波器系数的各种插值滤波器。
[0242] 例如,在图8a的表中,如果平滑参数β为0.002并且插值位置α为1/8,则可将包括被确定为{-1,4,-7,12,-24,246,37,-16,9,-5,3,-1}的滤波器系数{fm}(例如,{f-11,f-10,f-9,f-8,f-7,f-6,f-5,f-4,f-3,f-2,f-1,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12})的滤波器选为插值滤波器。
[0243] 图9a至图9c是示出根据本发明的实施例的基于平滑参数和插值位置确定的6抽头插值滤波器的滤波器系数的表。
[0244] 图8a至图8c的滤波器系数是通过将平滑矩阵和正交变换插值滤波器进行结合而获得的平滑插值滤波器中的12抽头插值滤波器的12个滤波器系数,而图9a至图9c示出6抽头插值滤波器的6个滤波器系数。在图8a至图8c以及图9a至图9c中,可示出基于平滑参数β和插值位置α而包括不同的滤波器系数的各种平滑插值滤波器。
[0245] 在图8a至图8c以及图9a至图9c中示出的滤波器系数是基于缩放的插值滤波以缩8
放因子256(=2)被缩放并随后被四舍五入的系数。
[0246] 在图8a至图8c以及图9a至图9c中,当插值位置α不变并且平滑参数β增加时,滤波器系数fm可相对较小。
[0247] 此外,当平滑参数β不变并且插值位置α远离1/2时,如果滤波器系数fm的m远离m=0而朝向m=-M+1或m=M,则与f0相比,滤波器系数fm可相对较小。接近m=0的滤波器系数fm可相对较大。
[0248] 因此,当平滑参数β增加时,如果插值位置α远离1/2(即,接近于整数像素单位像素),则可选择较锐利的插值滤波器,即,较少平滑的插值滤波器。
[0249] 由于根据实施例的插值滤波器是镜面反射对称滤波器,因此可通过使用插值位置α的滤波器系数fm(α)来确定插值位置(1-α)的滤波器系数fm(α)。例如,在图9a中,在具有平滑参数β=0.002的滤波器系数{fm}中,如下所示来将插值位置α=3/8的滤波器系数{fm(3/8)}与插值位置α=1-3/8=5/8的滤波器系数{fm(5/8)}进行比较。
[0250] {fm(3/8)}={11,-42,196,117,-35,10}
[0251] {fm(5/8)}={10,-35,117,196,-42,11}
[0252] 也就是说,示出当m=-2、-1、0时的滤波器系数{fm(3/8)}与当m=3、2、1时的滤波器系数{fm(5/8)}相同,并且当m=3、2、1时的滤波器系数{fm(3/8)}与当m=-2、-1、0时的滤波器系数{fm(5/8)}相同。因此,在图10至图12c的表中,虽然仅示出在插值位置小于或等于1/2的情况下的插值滤波器系数fm(α),但是本领域的普通技术人员将容易理解,还可确定在插值位置大于1/2的情况下的插值滤波器系数fm(α)。
[0253] 图10是示出根据本发明的实施例的基于平滑参数和插值位置针对色度像素而确定的6抽头插值滤波器的滤波器系数的表。
[0254] 图像插值设备10可基于图像特征不同地选择插值滤波器。例如,如果通过将平滑矩阵和正交变换插值滤波器进行结合而获得的平滑插值滤波器被确定,则平滑参数可基于图像特征而改变。
[0255] 例如,由于基于4:2:0的彩色格式对色度像素进行下采样,因此与亮度像素相比,色度像素具有更少的低频分量。在这种情况下,参照图10,不管用于亮度像素的插值滤波器,可仅另外地选择用于色度像素的插值滤波器。现在将参照图11描述基于彩色分量而不同地选择的插值滤波器的各种滤波器系数。
[0256] 图11是示出根据本发明的实施例的基于彩色分量和图像插值位置而不同地确定的平滑插值滤波器的滤波器系数的表。
[0257] 参照图11,示出随着滤波器抽头2M的数量、插值位置α和彩色分量L(luma)/C(chroma)改变而包括不同的滤波器系数的各种平滑插值滤波器。图11的滤波器系数是以缩放因子256(=28)被缩放并被四舍五入的系数。如上所述,基于插值滤波器系数的镜面反射特征,仅示出插值位置α小于或等式1/2的情况。
[0258] 与图8a至图10相似,将用于色度分量的滤波器系数与用于亮度分量的滤波器系数进行比较的结果相似于将在平滑参数β较大的情况下的滤波器系数与在平滑参数β较小的情况下的滤波器系数进行比较的结果。
[0259] 图12a至图12c是示出根据本发明的实施例的基于图像插值位置和缩放因子的平滑插值滤波器的滤波器系数的表。
[0260] 图12a至图12c示出随着缩放因子2n改变为512、256、128和64并且插值滤波器的滤波器抽头的数量以及插值位置α改变的平滑插值滤波器的滤波器系数的各种变形示例,其中,所述滤波器系数被缩放、四舍五入并归一化。
[0261] 具体地说,在图12c中,用于对1/8像素单元进行插值的插值滤波器系数可益于对色度像素执行运动补偿。然而,由于与亮度像素相比,被人们在视觉上识别的色度像素的图像质量不太重要,因此由于相对短的滤波器抽头(例如,4抽头)和低比特深度,也可使用缩放因子为25的平滑插值滤波器。
[0262] 在图8a至图12c中示出的滤波器系数仅是各种示例的一部分,并且本领域的普通技术人员将容易理解,可基于包括插值位置、平滑参数、窗函数、样条函数、多项式函数、缩放因子和舍入的各种因素来修改根据本发明的实施例的考虑平滑的插值滤波器的滤波器系数。
[0263] 以下参照图13a至图27描述根据本发明的实施例的使用平滑插值滤波器的视频编码和解码。以下参照图15至图25描述根据本发明的实施例的基于具有树结构的编码单元的视频编码和解码。以下参照图26和图27描述根据本发明的实施例的使用平滑插值滤波器的视频编码和解码方法。
[0264] 当对图像数据执行各种操作时,图像数据可被划分为数据组,并对同一数据组的数据执行相同的操作。在以下的描述中,根据预定标准而形成的数据组被称为“数据单元”,针对每个“数据单元”,通过使用包括在该数据单元中的数据来执行操作。
[0265] <使用平滑插值滤波器的视频编码和解码>
[0266] 图13a是根据本发明的实施例的使用平滑插值滤波器的视频编码设备100的框图。
[0267] 可通过视频编码处理器、CPU和图形处理器来协同控制视频编码设备100的编码器120和输出单元130的操作。
[0268] 为了对输入视频的当前画面进行编码,视频编码设备100将当前画面划分为具有预定尺寸的数据单元,并对每个数据单元进行编码。
[0269] 例如,当前画面包括空间域中的像素。为了同时对当前画面的空间邻近像素进行编码,可按这样的方式将当前画面划分为具有预定尺寸的像素组:在预定范围内的邻近像素形成一个组。通过对划分的像素组的像素执行一系列的编码操作,当前画面可被编码。
[0270] 由于将被编码的画面的初始数据是空间域中的像素值,因此每个像素组可被用作将被编码的数据单元。此外,当通过对空间域中的像素组的像素值执行用于视频编码的变换来产生变换域中的变换系数时,变换系数被包括在具有与空间域中的像素组相同尺寸的系数组中。因此,变换域中的变换系数的系数组还可被用作用于对画面进行编码的数据单元。
[0271] 因此,在空间域和变换域中,具有预定尺寸的数据组可被用作将被编码的数据单元。在这种情况下,数据单元的尺寸可被定义为包括在数据单元中的数据的条数。例如,空间域中的像素的数量或变换域中的变换系数的数量可表示数据单元的尺寸。
[0272] 可针对当前将被编码的视频的数据单元、条带、图像和图像序列中的任意数据级别的每个数据组,来确定当前数据单元的编码方法或编码特征。
[0273] 视频编码设备100可通过对每个数据单元执行包括帧间预测和帧内预测的预测编码、变换、量化和熵编码来对当前画面进行编码。
[0274] 基于帧间预测,为了参考时间上在前或在后的画面的像素值来估计当前像素,可确定参考画面的参考区域的像素值与当前画面的像素值之间的残差数据以及指示被参考的像素值的参考数据。
[0275] 为了更精确地执行帧间预测,视频编码设备100可通过使用子像素单位像素值来确定残差数据和参考数据。为了执行子像素单位帧间预测,视频编码设备100可通过对邻近整数像素单位像素进行插值来确定位于邻近整数像素单位像素之间的子像素单位像素值。
[0276] 此外,可通过对包括邻近整数像素单位像素的两个或更多个整数像素单位参考像素执行插值滤波,产生子像素单位像素值。用于执行插值滤波的参考像素可以是参考画面的像素。
[0277] 为了有效地执行图像插值,视频编码设备100可选择性地确定插值滤波器的系数。编码器120可包括如图1所示的图像插值设备10。换句话说,为了执行子像素单位帧间预测,编码器120可通过使用包括由图像插值设备10基于变换和反变换确定的滤波器系数的插值滤波器,来产生子像素单位像素值。
[0278] 为了有效地执行插值滤波,视频编码设备100可预先将插值滤波器系数存储在存储器中。根据插值位置,平滑度、滤波器抽头的数量、比特深度、缩放因子和基于变换的插值滤波的基函数可被存储在视频编码设备100的存储器中。
[0279] 例如,(ⅰ)缩放因子为26的8抽头1/4像素单位滤波器系数{-1,4,-10,57,19,-7,3,-1}、(ⅱ)缩放因子为26的8抽头1/2像素单位滤波器系数{-1,4,-11,40,40,-11,4,-1}、
6 6
(ⅲ)缩放因子为2的4抽头1/8像素单位滤波器系数{-3,60,8,-1}、(ⅳ)缩放因子为2的4抽头1/4像素单位滤波器系数{-4,54,16,-2}、(ⅴ)缩放因子为26的4抽头3/8像素单位滤波器系数{-5,46,27,-4}和(ⅵ)缩放因子为26的4抽头1/2像素单位滤波器系数{-4,36,36,-4}中的至少一个可被存储在存储器中,并可被用于执行平滑插值滤波。
[0280] 除了上述滤波器系数之外,如图8a至图12c所示的可基于各种基函数和窗函数修改的平滑插值滤波器系数可被用于执行插值滤波。
[0281] 如果通过使用存储在存储器中的滤波器系数来执行插值滤波,则提高帧间预测的计算速度。
[0282] 在多个插值滤波器中,编码器120可基于子像素单位插值位置α和平滑度来选择并使用期望的平滑插值滤波器以执行帧间预测。此外,可基于滤波器抽头的数量、比特深度、缩放因子等来确定适用于当前像素的平滑插值滤波器。
[0283] 编码器120可基于图像特征确定插值滤波器。例如,编码器120可基于像素的彩色分量来确定不同的插值滤波器。例如,可单独选择用于亮度像素的插值滤波器和用于色度像素的插值滤波器,并因此可过执行插值滤波来分别产生子像素单位像素值。
[0284] 可通过执行基于子像素单位插值的帧间预测、帧内预测、变换和量化来对视频进行编码。
[0285] 输出单元130可对编码信息进行编码并输出编码信息,并可输出编码的画面数据。作于编码信息,关于选择的插值滤波器的信息可被另外编码。换句话说,可对关于用于执行子像素单位预测编码的插值滤波器的信息进行编码。例如,解码器必须知道用于对图像进行编码的插值滤波器以通过使用在编码处理中使用的相同插值滤波器来对图像进行解码。
为此,指示使用的插值滤波器的信息可与图像一起被编码。然而,如果基于先前编码结果(即,上下文)选择滤波器,则关于选择的滤波器的信息可不被另外地编码。
[0286] 输出单元130可对编码信息和编码的图像数据执行熵编码,并可输出比特流。
[0287] 图13b是根据本发明的实施例的使用平滑插值滤波器的视频解码设备200的框图。
[0288] 视频解码设备200包括接收器和提取器220和解码器230。可通过视频解码处理器、图形处理器和CPU协同控制视频解码设备200的接收器和提取器220和解码器230的操作。
[0289] 为了从比特流重建图像,视频解码设备200可通过执行包括熵解码、反量化、反变换、帧间预测/补偿和帧内预测/补偿的操作,对比特流的编码图像数据进行解码。
[0290] 接收器和提取器220接收并解析编码的视频的比特流。接收器和提取器220可从解析的比特流提取当前画面的每个数据单元的编码的数据,以及包括关于将用于对编码的数据进行解码的编码方法的信息的编码信息。
[0291] 如果编码信息包括插值滤波器信息,则解码器230可从所述插值滤波器信息读取关于用于执行子像素单位帧内预测的插值滤波器的信息,并可通过使用在编码处理中使用的插值滤波器来执行运动补偿。
[0292] 解码器230可通过根据基于关于编码模式的信息而确定的各种解码方法来对编码的图像执行各种解码操作(诸如熵解码、反量化、反变换、帧间预测/补偿和帧内预测/补偿),来对编码的图像数据进行解码。
[0293] 为了执行运动补偿,可通过使用参考数据确定时间上在当前画面之前或之后的参考画面的参考区域,并且所述参考区域的像素值与残差数据可被结合以重建当前像素值。
[0294] 如果基于在编码处理中在子像素单元中插值的像素来确定残差数据和参考数据,则解码器230也可基于在子像素单元中插值的像素来执行运动补偿。为了执行子像素单位运动补偿,解码器230可通过对参考画面的邻近整数像素单位像素进行插值来产生子像素单位像素值。可通过对包括邻近整数像素单位像素的两个或更多个整数像素单位参考像素执行插值滤波来产生子像素单位像素值。
[0295] 为了有效地执行图像插值,视频解码设备200可选择性地确定插值滤波器系数。解码器230可包括图1中所示的图像插值设备10。换句话说,为了执行子像素单位运动补偿,解码器230可通过使用基于变换的插值滤波器来产生子像素单位像素值。
[0296] 为了有效地执行插值滤波,视频解码设备200可根据插值位置、平滑度、滤波器抽头的数量、比特深度、缩放因子和基于变换的插值滤波的基函数,将各种可选的插值滤波器系数预先存储在存储器中。
[0297] 如上所述,例如,(ⅰ)缩放因子为26的8抽头1/4像素单位滤波器系数{-1,4,-10,57,19,-7,3,-1}、(ⅱ)缩放因子为26的8抽头1/2像素单位滤波器系数{-1,4,-11,40,40,-
11,4,-1}、(ⅲ)缩放因子为26的4抽头1/8像素单位滤波器系数{-3,60,8,-1}、(ⅳ)缩放因子为26的4抽头1/4像素单位滤波器系数{-4,54,16,-2}、(ⅴ)缩放因子为26的4抽头3/8像素单位滤波器系数{-5,46,27,-4}和(ⅵ)缩放因子为26的4抽头1/2像素单位滤波器系数{-4,
36,36,-4}中的至少一个可被存储在存储器中,并可被用于执行平滑插值滤波。除了上述滤波器系数之外,如图8a至图12c中所示的可根据各种基函数和窗函数修改的平滑插值滤波器系数可被用于执行平滑插值滤波。
[0298] 在多个插值滤波器中,解码器230可根据子像素单位插值位置α、滤波器抽头的数量、比特深度、缩放因子等来选择并使用适用于当前像素的插值滤波器以执行子像素单位运动补偿。
[0299] 此外,解码器230可基于图像特征确定平滑插值滤波器。例如,可根据像素的彩色分量来确定不同的插值滤波器,可单独执行用于亮度像素的插值滤波和用于色度像素的插值滤波,并因此可分别产生插值的子像素单位像素值。
[0300] 因此,解码器230可通过执行反量化/反变换来重建空间域中的数据,并可通过执行基于子像素单位插值和整数像素单位插值的帧内预测和运动补偿来重建像素值和当前画面。如果画面被重建,则视频可被解码。
[0301] 图14a是根据本发明的实施例的使用平滑插值滤波器的图像编码方法的流程图。
[0302] 在操作1410,为了对输入视频的当前画面进行编码,执行使用子像素单位插值的预测编码。基于子像素单位插值位置和平滑度,从用于产生子像素单位像素值的插值滤波器中不同地选择插值滤波器。可基于插值位置和整数像素单元之间的距离来确定插值滤波器的平滑度。
[0303] 可通过对参考画面的两个或更多个整数像素单位参考像素执行插值滤波来产生子像素单位像素值。可通过使用产生的子像素单位像素值来确定残差数据和参考数据,从而执行预测编码。
[0304] 为了有效地执行图像插值,可选择性地确定插值滤波器系数。可基于子像素单位插值位置、平滑度、滤波器抽头的数量、比特深度、缩放因子、基于变换的插值滤波的基函数以及彩色分量,从预先存储在存储器中的插值滤波器系数中选择期望的插值滤波器,并且可执行插值以产生子像素单位像素值。
[0305] 在操作1420,对基于子像素单位插值的帧间预测结果和帧内预测执行变换和量化。
[0306] 在操作1430,可通过对以量化的变换系数的形式的编码信息和编码的图像数据执行熵编码,来输出比特流。所述编码信息可包括关于用于执行子像素单位预测编码的插值滤波器的信息。
[0307] 图14b是根据本发明的实施例的使用平滑插值滤波器的图像解码方法的流程图。
[0308] 在操作1450,对编码视频的比特流进行接收、熵解码、解析以从比特流中提取当前画面的量化的变换系数和编码信息。
[0309] 如果编码信息包括关于插值滤波器的信息,则可从所述信息中读取需要的插值滤波器的类型。
[0310] 在操作1460,根据基于从编码信息中读取的编码模式确定的各种解码方法,对量化的变换系数执行反量化和反变换,并与残差数据相加,从而重建空间域中的数据。
[0311] 在操作1470,可通过基于编码模式执行各种解码操作(诸如运动补偿和帧内预测)来对编码的图像数据进行解码。
[0312] 具体地说,如果基于在子像素单元中插值的像素提取编码的残差数据和参考数据,则可基于在子像素单元中插值的像素执行运动补偿。基于子像素单位插值位置和平滑度,从用于产生子像素单位像素值的插值滤波器中不同地选择插值滤波器。
[0313] 为了有效地执行图像插值,可选择性地确定插值滤波器系数。可根据子像素单位插值位置、平滑度、滤波器抽头的数量、比特深度、缩放因子、基于变换的插值滤波的基函数和彩色分量,从预先存储在存储器中的插值滤波器系数中选择期望的插值滤波器,并且可执行插值以产生子像素单位像素值。由于对通过使用预先存储在存储器中的插值滤波器系数而插值的像素执行运动补偿,因此可提高计算速度。
[0314] 通过使用参考数据确定参考画面和参考区域,并且可通过对参考画面的两个或更多个整数像素单位参考像素执行插值滤波来产生子像素单位像素值。可通过将产生的子像素单位像素值和残差数据进行结合来执行运动补偿,并因此可执行预测解码。
[0315] 在操作1480,通过使用通过执行预测解码而获得的像素值,来重建当前画面,并因此视频被解码。
[0316] <基于具有树结构的编码单元的使用平滑插值的视频编码和解码>
[0317] 现在将参照图13至图27详细描述根据本发明的实施例的基于具有树结构的编码单元的使用平滑插值滤波器的视频编码和解码设备以及与视频编码和解码设备相应的视频编码和解码方法。
[0318] 视频编码设备100可基于具有树结构的编码单元和变换单元对视频进行编码。
[0319] 可基于当前画面的最大编码单元对视频的当前画面进行划分。如果当前画面大于最大编码单元,则当前画面的图像数据可被划分为至少一个所述最大编码单元。最大编码单元可以是尺寸为32×32、64×64、128×128、256×256等的数据单元,其中,数据单元的形状是宽度和高度为2的若干次方的正方形。编码器120可对至少一个最大编码单元中的每个最大编码单元的画面数据进行编码。
[0320] 根据本发明的实施例的编码单元可由最大尺寸以及深度来表征。深度表示编码单元从最大编码单元被空间划分的次数,并且随着深度加深,根据深度的较深层编码单元可从最大编码单元被划分为最小编码单元。最大编码单元的深度是最上层深度,最小编码单元的深度是最下层深度。由于与每个深度相应的编码单元的尺寸随着最大编码单元的深度加深而减小,因此,与上层深度相应的编码单元可包括多个与下层深度相应的编码单元。
[0321] 如上所述,当前画面的图像数据根据编码单元的最大尺寸而被划分为最大编码单元,所述最大编码单元中的每一个可包括根据深度被划分的较深层编码单元。由于根据本发明的实施例的最大编码单元根据深度被划分,因此包括在最大编码单元中的空间域的图像数据可根据深度被分层划分。
[0322] 可预先确定编码单元的最大深度和最大尺寸,所述最大深度和最大尺寸限定最大编码单元的高度和宽度被分层划分的总次数。
[0323] 编码器120对通过根据深度划分最大编码单元的区域而获得的至少一个划分的区域进行编码,并根据所述至少一个划分的区域确定用于输出最终编码的图像数据的深度。换句话说,编码器120通过根据当前画面的最大编码单元按照根据深度的较深层编码单元对图像数据进行编码,并选择具有最小编码误差的深度,来确定编码深度。
[0324] 编码器120可输出与确定的编码深度相应的编码单元的编码图像数据。此外,编码器120可将关于确定的编码深度的信息发送到输出单元130,从而关于编码深度的信息可被编码为编码信息。
[0325] 基于与等于或低于最大深度的至少一个深度相应的较深层编码单元对最大编码单元中的图像数据进行编码,并基于所述较深层编码单元中的每一个来比较对图像数据进行编码的结果。在比较较深层编码单元的编码误差之后,可选择具有最小编码误差的深度。可针对每个最大编码单元选择至少一个编码深度。
[0326] 随着编码单元根据深度而被分层划分,并且随着编码单元的数量增加,最大编码单元的尺寸被划分。此外,即使在一个最大编码单元中编码单元相应于相同深度,也通过分别测量每个编码单元的图像数据的编码误差来确定是否将与相同深度相应的编码单元中的每一个划分到下层深度。因此,即使图像数据被包括在一个最大编码单元中,在所述一个最大编码单元中,所述图像数据也根据深度被划分为多个区域,并且编码误差也可根据区域而不同,因此,编码深度可根据图像数据中的区域而不同。因此,在一个最大编码单元中可确定一个或多个编码深度,并可根据至少一个编码深度的编码单元来划分最大编码单元的图像数据。
[0327] 因此,编码器120可确定包括在最大编码单元中的具有树结构的编码单元。在包括在最大编码单元中的所有较深层编码单元中,根据本发明的实施例的“具有树结构的编码单元”包括与被确定为编码深度的深度相应的编码单元。可在最大编码单元的相同区域中根据深度分层确定编码深度的编码单元,并可在不同的区域中独立地确定编码深度的编码单元。类似地,当前区域中的编码深度可独立于另一区域中的编码深度被确定。
[0328] 根据本发明的实施例的最大深度是与从最大编码单元到最小编码单元执行的划分的次数有关的索引。根据本发明的实施例的第一最大深度可表示从最大编码单元到最小编码单元执行的划分的总次数。根据本发明的实施例的第二最大深度可表示从最大编码单元到最小编码单元的深度级的总数。例如,当最大编码单元的深度为0时,最大编码单元被划分一次的编码单元的深度可被设置为1,最大编码单元被划分两次的编码单元的深度可被设置为2。这里,如果最小编码单元是最大编码单元被划分四次的编码单元,则存在深度0、1、2、3和4这5个深度级,因此,第一最大深度可被设置为4,第二最大深度可被设置为5。
[0329] 可根据最大编码单元执行预测编码和变换。还可根据最大编码单元,基于根据等于最大深度的深度或小于最大深度的深度的较深层编码单元来执行预测编码和变换。
[0330] 由于每当最大编码单元根据深度被划分时较深层编码单元的数量增加,因此可针对随着深度加深而产生的所有较深层编码单元执行包括预测编码和变换的编码。为了便于描述,现在将基于最大编码单元中的当前深度的编码单元来描述预测编码和变换。
[0331] 视频编码设备100可不同地选择用于对图像数据进行编码的数据单元的尺寸或形状。为了对图像数据进行编码,执行诸如预测编码、变换和熵编码的操作,此时,可针对所有操作使用相同的数据单元,或者可针对每个操作使用不同的数据单元。
[0332] 例如,视频编码设备100不仅可选择用于对图像数据进行编码的编码单元,还可选择与所述编码单元不同的数据单元,以便对编码单元中的图像数据执行预测编码。
[0333] 为了在最大编码单元中执行预测编码,可基于与编码深度相应的编码单元(即,基于不再被划分为与下层深度相应的编码单元的编码单元)执行预测编码。以下,现将不再被划分并变成用于预测编码的基本单元的编码单元称为“预测单元”。通过对预测单元进行划分所获得的分区(partition)可包括预测单元或通过对预测单元的高度和宽度中的至少一个进行划分所获得的数据单元。
[0334] 例如,当2N×2N(其中,N是正整数)的编码单元不再被划分,并变成2N×2N的预测单元时,分区的尺寸可以是2N×2N、2N×N、N×2N或N×N。分区类型的示例包括通过对预测单元的高度或宽度进行对称划分所获得的对称分区、通过对预测单元的高度或宽度进行不对称划分(诸如1:n或n:1)所获得的分区、通过对预测单元进行几何划分所获得的分区以及具有任意形状的分区。
[0335] 预测单元的预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个。例如,可对2N×2N、2N×N、N×2N或N×N的分区执行帧内模式或帧间模式。此外,可仅针对2N×2N的分区执行跳过模式。针对编码单元中的一个预测单元独立地执行编码,从而选择具有最小编码误差的预测模式。
[0336] 视频编码设备100还可不仅基于用于对图像数据进行编码的编码单元,还基于不同于编码单元的数据单元,对编码单元中的图像数据执行变换。
[0337] 为了在编码单元中执行变换,可基于具有小于或等于编码单元的尺寸的变换单元来执行变换。例如,用于变换的变换单元可包括用于帧内模式的数据单元和用于帧间模式的数据单元。
[0338] 与编码单元类似,编码单元中的变换单元可被递归地划分为更小尺寸的区域,使得可以以区域为单位独立地确定变换单元。因此,可基于根据变换深度的具有树结构的变换单元对编码单元中的残差数据进行划分。
[0339] 还可在变换单元中设置变换深度,所述变换深度指示通过对编码单元的高度和宽度进行划分来实现变换单元所执行的划分的次数。例如,在2N×2N的当前编码单元中,当变换单元的尺寸也为2N×2N时,变换深度可以是0,当变换单元的尺寸是N×N时,变换深度可以是1,当变换单元的尺寸是N/2×N/2时,变换深度可以是2。换句话说,可根据变换深度设置具有树结构的变换单元。
[0340] 根据编码深度的编码信息不仅需要关于编码深度的信息,还需要关于预测编码和变换的信息。因此,编码器120不仅确定具有最小编码误差的编码深度,还确定预测单元中的分区类型、根据预测单元的预测模式和用于变换的变换单元的尺寸。对于帧间预测,根据编码深度的编码信息可包括与用于对子像素单元进行插值的插值滤波有关的信息。
[0341] 此外,编码器120可基于在每个最大编码单元或当前编码单元中预先并限制性地设置的变换单元的最大划分级别,通过使用具有树结构的变换单元来执行变换以对编码单元进行编码。
[0342] 在每个根据深度的较深层编码单元中,具有小于或等于编码单元的尺寸的基本变换单元可被分层划分为较低变换深度的变换单元。具有树结构的变换单元可包括具有当前允许的最大尺寸的基本变换单元以及与编码单元允许的最大划分级别相比的较低级别的变换单元。
[0343] 在在当前编码单元中根据变换深度的每个级别中执行变换之后,编码器120可确定具有树结构的变换单元,其中,所述变换单元独立于邻近区域的变换单元,并根据变换深度在相同区域中的变换单元之间形成分层结构。
[0344] 换句话说,可通过使用各种尺寸的变换单元对每个编码单元执行变换并随后比较变换的结果,来确定具有树结构的变换单元。当编码单元被确定时,可确定用于对所述编码单元进行变换的变换单元。每当根据一个或多个深度的每个深度的编码单元被编码,根据一个或多个变换深度中的每个变换深度的变换单元就可被用于执行变换。
[0345] 必须针对每个编码单元确定具有最小编码误差的变换单元。为了在变换单元中确定具有最小编码误差的变换深度,可在所有根据深度的较深层变换单元中测量和比较编码误差。变换单元可被确定为用于最小化编码单元的变换误差的数据单元。
[0346] 因此,由于在最大编码单元的每个区域中单独确定较深层编码单元和具有最小编码误差的根据深度的较深层变换单元的结合,因此可确定具有树结构的编码单元和具有树结构的变换单元。
[0347] 稍后将参照图15至图25详细描述根据本发明的实施例的确定具有树结构的编码单元、分区和具有树结构的变换单元的方法。
[0348] 编码器120可通过使用基于拉格朗日乘子的率失真优化来测量根据深度的较深层编码单元的编码误差。
[0349] 视频编码设备100可按比特流的形式输出最大编码单元的图像数据以及关于根据编码深度的编码模式的信息,其中,所述图像数据基于由编码器120确定的至少一个编码深度被编码,所述信息由输出单元130编码。
[0350] 关于根据深度的较深层编码单元的编码模式的信息可被包括在比特流的头、序列参数集(SPS)或画面参数集(PPS)中,其中,所述信息被确定为画面基于编码单元、预测单元和具有树结构的变换单元被编码。
[0351] 可通过对图像的残差数据进行编码来获得编码的图像数据。
[0352] 关于根据编码深度的编码模式的信息可包括关于编码深度的信息、关于预测单元中的分区类型的信息、预测模式以及变换单元的尺寸。
[0353] 可通过使用根据深度的划分信息来定义关于编码深度的信息,其中,所述划分信息表示是否针对下层深度而不是当前深度的编码单元执行编码。如果当前编码单元的当前深度是编码深度,则当前编码单元中的图像数据被编码并被输出,因此划分信息可被定义为不将当前编码单元划分到下层深度。可选地,如果当前编码单元的当前深度不是编码深度,则针对下层深度的编码单元执行编码,因此,划分信息可被定义为划分当前编码单元以获得下层深度的编码单元。
[0354] 如果当前深度不是编码深度,则针对被划分为下层深度的编码单元的编码单元执行编码。由于在当前深度的一个编码单元中存在下层深度的至少一个编码单元,因此针对下层深度的每个编码单元重复执行编码,因此,可针对具有相同深度的编码单元递归地执行编码。
[0355] 由于针对一个最大编码单元确定具有树结构的编码单元,并且针对编码深度的编码单元确定关于至少一个编码模式的信息,因此,可针对一个最大编码单元确定关于至少一个编码模式的信息。此外,由于图像数据根据深度被分层划分,因此,最大编码单元的图像数据的编码深度可根据位置而不同,因此,可针对图像数据设置关于编码深度和编码模式的信息。
[0356] 因此,输出单元130可将关于相应的编码深度和编码模式的编码信息分配给包括在最大编码单元中的编码单元、预测单元和最小单元中的至少一个。
[0357] 根据本发明的实施例的最小单元是通过将构成最低深度的最小编码单元划分4次所获得的正方形数据单元。可选地,最小单元可以是最大正方形数据单元,其中,所述最大正方形数据单元可包括在最大编码单元中所包括的所有编码单元、预测单元、分区单元和变换单元中。
[0358] 例如,通过输出单元130输出的编码信息可被分为根据编码单元的编码信息和根据预测单元的编码信息。根据编码单元的编码信息可包括关于预测模式的信息和关于分区尺寸的信息。根据预测单元的编码信息可包括关于帧间模式的估计方向的信息、关于帧间模式的参考图像索引的信息、关于运动矢量的信息、关于帧内模式的色度分量的信息和关于帧内模式的插值方法的信息。
[0359] 关于根据画面、条带或GOP定义的编码单元的最大尺寸的信息以及关于最大深度的信息可被插入比特流的头、SPS或PPS中。
[0360] 在视频编码设备100中,较深层编码单元可以是通过将作为上一层的上层深度的编码单元的高度或宽度划分两次所获得的编码单元。换句话说,当当前深度的编码单元的尺寸为2N×2N时,下层深度的编码单元的尺寸是N×N。此外,尺寸为2N×2N的当前深度的编码单元可最多包括下层深度的4个编码单元。
[0361] 因此,视频编码设备100可通过基于考虑当前画面的特性所确定的最大编码单元的尺寸和最大深度,针对每个最大编码单元确定具有最佳形状和最佳尺寸的编码单元,来形成具有树结构的编码单元。此外,由于可通过使用各种预测模式和变换中的任何一个来对每个最大编码单元执行编码,因此可考虑各种图像尺寸的编码单元的特性来确定最佳编码模式。
[0362] 因此,如果以传统的宏块对具有高分辨率或大数据量的图像进行编码,则每个画面的宏块数量过度增加。因此,针对每个宏块产生的压缩的信息的条数增加,因此难以发送压缩的信息,并且数据压缩效率降低。然而,通过使用视频编码设备100,由于在考虑图像尺寸的同时增加编码单元的最大尺寸,同时在考虑图像特性的同时调整编码单元,因此可提高图像压缩效率。
[0363] 输出单元130可对编码信息进行编码和输出,其中,所述编码信息指示用于基于具有树结构的编码单元和具有树结构的变换单元对视频进行编码的编码方法。所述编码信息可包括关于与编码深度相应的编码单元的各种编码模式的信息和关于编码深度的信息。
[0364] 用于视频解码设备200的各种操作的各种术语(诸如编码单元、深度、预测单元、变换单元和关于各种编码模式的信息)的定义与参照视频编码设备100描述的那些术语相同。
[0365] 接收器210接收编码的视频的比特流。接收器和提取器220解析接收到的比特流。接收器和提取器220从解析的比特流提取每个编码单元的编码的画面数据,并将提取的画面数据输出到解码器230,其中,编码单元具有根据每个最大编码单元的树结构。接收器和提取器220可从关于当前画面的头、SPS或PPS提取关于当前画面的编码单元的最大尺寸的信息。
[0366] 此外,接收器和提取器220从解析的比特流提取关于编码单元的编码信息,其中,编码单元具有根据每个最大编码单元的树结构。从编码信息中提取关于编码深度和编码模式的信息。提取的关于编码深度和编码模式的信息被输出到解码器230。换句话说,比特流中的图像数据被划分为最大编码单元,使得解码器230可对每个最大编码单元的图像数据进行解码。
[0367] 可针对关于与编码深度相应的至少一个编码单元的信息,来设置关于根据最大编码单元的编码深度和编码模式的信息,并且关于编码模式的信息可包括关于与编码深度相应的相应编码单元的分区类型的信息、关于预测模式的信息和变换单元的尺寸。对于帧间预测,可从根据编码深度的编码信息提取与用于对子像素单元进行插值的插值滤波有关的信息。此外,根据深度的划分信息可被提取作为关于编码深度的信息。
[0368] 由接收器和提取器220提取的关于根据每个最大编码单元的编码深度和编码模式的信息是关于如下编码深度和编码模式的信息,其中,所述编码深度和编码模式被确定为用于当编码器(诸如视频编码设备100)根据每个最大编码单元对每个根据深度的较深层编码单元重复执行编码时产生最小编码误差。因此,视频解码设备200可通过根据产生最小编码误差的编码深度和编码模式对图像数据进行解码来重建图像。
[0369] 由于关于编码深度和编码模式的编码信息可被分配给相应编码单元、预测单元和最小单元中的预定数据单元,因此接收器和提取器220可根据预定数据单元提取关于编码深度和编码模式的信息。被分配关于编码深度和编码模式的相同信息的预定数据单元可被推断为包括在相同最大编码单元中的数据单元。
[0370] 解码器230可通过使用根据深度的划分信息来确定当前最大编码单元的至少一个编码深度。如果划分信息表示图像数据在当前深度下不再被划分,则当前深度是编码深度。因此,解码器230可通过使用与编码深度相应的每个编码单元的关于预测单元的分区类型、预测模式和变换单元的尺寸的信息,对当前最大编码单元中与每个编码深度相应的至少一个编码单元的编码的画面数据进行解码,并输出当前最大编码单元的图像数据。
[0371] 换句话说,可通过观察为编码单元、预测单元和最小单元中的预定数据单元分配的编码信息集来收集包括编码信息(包括相同划分信息)的数据单元,并且收集的数据单元可被视为将由解码器230以相同的编码模式进行解码的一个数据单元。
[0372] 解码器230通过基于关于根据最大编码单元的编码深度和编码模式的信息对每个最大编码单元中的图像数据进行解码,来重建当前画面。分区类型、预测模式和变换单元可被读取作为包括在每个最大编码单元中的具有树结构的编码单元中的每个编码单元的编码模式。解码处理可包括预测(包括帧内预测和运动补偿)和反变换。
[0373] 解码器230可基于关于具有树结构的编码单元的预测单元的分区类型和预测模式的信息,根据每个编码单元的分区和预测模式执行帧内预测或运动补偿。
[0374] 此外,解码器230可读取具有树结构的变换单元的结构,并可基于变换单元对每个编码单元执行反变换。
[0375] 视频解码设备200可获得关于当针对每个最大编码单元递归执行编码时产生最小编码误差的至少一个编码单元的信息,并可使用所述信息来对当前画面进行解码。换句话说,可对每个最大编码单元中被确定为最佳编码单元的具有树结构的编码单元进行解码。此外,考虑图像数据的分辨率和量来确定编码单元的最大尺寸。
[0376] 因此,即使图像数据具有高分辨率和大数据量,也可通过使用编码单元的尺寸和编码模式来有效地对图像数据进行解码和重建,其中,通过使用从编码器接收的关于最佳编码模式的信息,根据图像数据的特性来自适应地确定所述编码单元的尺寸和所述编码模式。
[0377] 图15是用于描述根据本发明的实施例的编码单元的概念的示图。
[0378] 编码单元的尺寸可被表示为宽度×高度,并可以是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的分区。
[0379] 在视频数据310中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为2。在视频数据320中,分辨率为1920×1080,编码单元的最大尺寸为64,最大深度为3。在视频数据330中,分辨率为352×288,编码单元的最大尺寸为16,最大深度为1。图15中示出的最大深度指示从最大编码单元到最小解码单元的划分的总数。
[0380] 如果分辨率高或数据量大,则编码单元的最大尺寸可较大,从而不仅提高了编码效率还精确地反映出图像的特性。因此,分辨率高于视频数据330的视频数据310和视频数据320的编码单元的最大尺寸可以是64。
[0381] 由于视频数据310的最大深度是2,因此,由于通过将最大编码单元划分两次,深度被加深两层,因此视频数据310的编码单元315可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32和16的编码单元。同时,由于视频数据330的最大深度是1,因此,由于通过将最大编码单元划分一次,深度被加深一层,因此视频数据330的编码单元335可包括长轴尺寸为16的最大编码单元以及长轴尺寸为8的编码单元。
[0382] 由于视频数据320的最大深度为3,因此,由于通过将最大编码单元划分三次,深度被加深3层,因此视频数据320的编码单元325可包括长轴尺寸为64的最大编码单元以及长轴尺寸为32、16和8的编码单元。随着深度加深,可精确地表达详细信息。
[0383] 图16是根据本发明的实施例的基于编码单元的图像编码器400的框图。
[0384] 图像编码器400执行视频编码设备100的编码器120的操作以对图像数据进行编码。换句话说,帧内预测器410对当前帧405中的帧内模式下的编码单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405和参考帧495,对当前帧405中的帧间模式下的编码单元执行帧间估计和运动补偿。
[0385] 为了使用在子像素单元中的参考像素精确地执行运动估计,运动估计器420和运动补偿器425可通过对在整数像素单元中的像素进行插值来产生在子像素单元中的像素。用于产生在子像素单元中的像素的插值滤波器可以是以上关于图1和图13a描述的平滑插值滤波器。
[0386] 从帧内预测器410、运动估计器420和运动补偿器425输出的数据通过变换器430和量化器440被输出为量化的变换系数。量化的变换系数通过反量化器460和反变换器470被重建为空间域中的数据,重建的空间域中的数据在通过去块单元480和环路滤波器490进行后处理之后被输出为参考帧495。量化的变换系数可通过熵编码器450被输出为比特流455。
[0387] 为了将图像编码器400应用在视频编码设备100中,图像编码器400的所有元件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、反变换器470、去块滤波器480和环路滤波器490)必须在考虑每个最大编码单元的最大深度的同时,基于具有树结构的编码单元中的每个编码单元来执行操作。
[0388] 具体地,帧内预测器410、运动估计器420和运动补偿器425必须在考虑当前最大编码单元的最大尺寸和最大深度的同时确定具有树结构的编码单元中的每个编码单元的分区和预测模式,并且变换器430必须确定具有树结构的编码单元中的每个编码单元中的变换单元的尺寸。
[0389] 图17是根据本发明的实施例的基于编码单元的图像解码器500的框图。
[0390] 解析器510从比特流505解析将被解码的编码的图像数据以及解码所需的关于编码的信息。编码的图像数据通过熵解码器520和反量化器530被输出为反量化的数据,并且反量化的数据通过反变换器540被重建为空间域中的图像数据。
[0391] 帧内预测器550针对空间域中的图像数据,对帧内模式下的编码单元执行帧内预测,并且运动补偿器560通过使用参考帧585对帧间模式下的编码单元执行运动补偿。
[0392] 为了使用在子像素单元中的参考像素精确地执行运动估计,运动补偿器560可通过对在整数像素单元中的像素进行插值来产生在子像素单元中的像素。用于产生在子像素单元中的像素的插值滤波器可以是以上关于图2和图13b描述的平滑插值滤波器。
[0393] 通过帧内预测器550和运动补偿器560的空间域中的图像数据可在通过去块滤波器570和环路滤波器580进行后处理之后被输出为重建的帧595。此外,通过去块滤波器570和环路滤波器580进行后处理的图像数据可被输出为参考帧585。
[0394] 为了在视频解码设备200的解码器230中对图像数据进行解码,图像解码器500可执行在解析器510之后执行的操作。
[0395] 为了将图像解码器500应用在视频解码设备200中,图像解码器500的所有元件(即,解析器510、熵解码器520、反量化器530、反变换器540、帧内预测器550、运动补偿器560、去块滤波器570和环路滤波器580)必须针对每个最大编码单元基于具有树结构的编码单元执行操作。
[0396] 具体地,帧内预测器550和运动补偿器560必须确定具有树结构的编码单元中的每个编码单元的分区和预测模式,并且反变换器540必须确定每个编码单元的变换单元的尺寸。
[0397] 图18是示出根据本发明的实施例的根据深度的较深层编码单元以及分区的示图。
[0398] 视频编码设备100和视频解码设备200使用分层编码单元以考虑图像的特性。可根据图像的特性自适应地确定编码单元的最大高度、最大宽度和最大深度,或可由用户不同地设置编码单元的最大高度、最大宽度和最大深度。可根据编码单元的预定最大尺寸来确定根据深度的较深层编码单元的尺寸。
[0399] 在根据本发明的实施例的编码单元的分层结构600中,编码单元的最大高度和最大宽度均为64,并且最大深度为4。在这种情况下,最大深度表示从最大编码单元到最小编码单元所执行的划分的总次数。由于深度沿分层结构600的纵轴加深,因此较深层编码单元的高度和宽度均被划分。此外,沿分层结构600的横轴示出作为用于每个较深层编码单元的预测编码的基础的预测单元和分区。
[0400] 换句话说,编码单元610是分层结构600中的最大编码单元,其中,深度为0并且尺寸(即,高度乘宽度)为64×64。深度沿纵轴加深,并存在尺寸为32×32且深度为1的编码单元620、尺寸为16×16且深度为2的编码单元630和尺寸为8×8且深度为3的编码单元640。尺寸为8×8且深度为3的编码单元640是最小编码单元。
[0401] 编码单元的预测单元和分区根据每个深度沿横轴排列。换句话说,如果尺寸为64×64且深度为0的编码单元610是预测单元,则预测单元可被划分为包括在编码单元610中的分区,即,尺寸为64×64的分区610、尺寸为64×32的分区612、尺寸为32×64的分区614或尺寸为32×32的分区616。
[0402] 类似地,尺寸为32×32且深度为1的编码单元620的预测单元可被划分为包括在编码单元620中的分区,即,尺寸为32×32的分区620、尺寸为32×16的分区622、尺寸为16×32的分区624和尺寸为16×16的分区626。
[0403] 类似地,尺寸为16×16且深度为2的编码单元630的预测单元可被划分为包括在编码单元630中的分区,即,尺寸为16×16的分区630、尺寸为16×8的分区632、尺寸为8×16的分区634或尺寸为8×8的分区636。
[0404] 类似地,尺寸为8×8且深度为3的编码单元640的预测单元可被划分为包括在编码单元640中的分区,即,尺寸为8×8的分区640、尺寸为8×4的分区642、尺寸为4×8的分区644或尺寸为4×4的分区646。
[0405] 为了确定组成最大编码单元610的编码单元的至少一个编码深度,视频编码设备100的编码器120针对包括在最大编码单元610中的与每个深度相应的编码单元执行编码。
[0406] 随着深度加深,以相同范围和相同尺寸包括数据的根据深度的较深层编码单元的数量增加。例如,需要四个与深度2相应的编码单元,以覆盖包括在一个与深度1相应的编码单元中的数据。因此,为了比较相同数据根据深度的编码结果,各自对与深度1相应的编码单元和四个与深度2相应的编码单元进行编码。
[0407] 为了针对深度中的当前深度执行编码,可通过沿分层结构600的横轴,针对与当前深度相应的编码单元中的每个预测单元执行编码,来针对当前深度选择最小编码误差。可选地,可通过随着深度沿分层结构600的纵轴加深针对每个深度执行编码来比较根据深度的最小编码误差,从而搜索最小编码误差。在编码单元610中具有最小编码误差的深度和分区可被选为编码单元610的编码深度和分区类型。
[0408] 图19是用于描述根据本发明的实施例的编码单元710和变换单元720之间的关系的示图。
[0409] 视频编码设备100或视频解码设备200针对每个最大编码单元,根据具有小于或等于最大编码单元的尺寸的编码单元来对图像进行编码或解码。可基于不大于相应编码单元的数据单元来选择在编码期间用于变换的变换单元的尺寸。
[0410] 例如,在视频编码设备100或视频解码设备200中,如果编码单元710的尺寸是64×64,则可通过使用尺寸为32×32的变换单元720来执行变换。
[0411] 此外,可通过对小于64×64的尺寸为32×32、16×16、8×8和4×4的变换单元中的每一个执行变换,来对尺寸为64×64的编码单元710的数据进行编码,随后可选择具有最小编码误差的变换单元。
[0412] 图20是用于描述根据本发明的实施例的与编码深度相应的编码单元的编码信息的示图。
[0413] 视频编码设备100的输出单元130可对与编码深度相应的每个编码单元的关于分区类型的信息800、关于预测模式的信息810和关于变换单元的尺寸的信息820进行编码和发送,以作为关于编码模式的信息。
[0414] 信息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之一。
[0415] 信息810指示每个分区的预测模式。例如,信息810可指示对由信息800指示的分区执行的预测编码的模式,即,帧内模式812、帧间模式814或跳过模式816。
[0416] 信息820指示当对当前编码单元执行变换时所基于的变换单元。例如,变换单元可以是第一帧内变换单元822、第二帧内变换单元824、第一帧间变换单元826或第二帧间变换单元828。
[0417] 视频解码设备200的接收器和提取器220可根据每个较深层编码单元提取和使用用于解码的信息800、810和820。
[0418] 图21是根据本发明的实施例的根据深度的较深层编码单元的示图。
[0419] 划分信息可被用于指示深度的改变。划分信息指示当前深度的编码单元是否被划分为下层深度的编码单元。
[0420] 用于对深度为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的分区可包括不对称分区、具有预定形状的分区和具有几何形状的分区。
[0421] 根据每种分区类型,对一个尺寸为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的分区执行跳过模式下的预测编码。
[0422] 对在分区类型912至分区类型916下的编码(包括预测编码)的误差进行比较,并从分区类型中确定最小编码误差。如果在分区类型912至分区类型916之一中的编码误差最小,则预测单元910可不被划分到下层深度。
[0423] 如果在分区类型918中的编码误差最小,则深度从0改变到1以在操作920对分区类型918进行划分,并对深度为2且尺寸为N_0×N_0的编码单元930重复执行编码,以搜索最小编码误差。
[0424] 用于对深度为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。
[0425] 如果在分区类型948中编码误差最小,则深度从1改变到2以在操作950对分区类型948进行划分,并对深度为2且尺寸为N_2×N_2的编码单元960重复执行编码,以搜索最小编码误差。
[0426] 当最大深度为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。
[0427] 可在分区类型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)的分区重复执行预测编码,以搜索具有最小编码误差的分区类型。
[0428] 即使当分区类型998具有最小编码误差时,由于最大深度为d,因此深度为d-1的编码单元CU_(d-1)也不再被划分到下层深度,并且用于组成当前最大编码单元900的编码单元的编码深度被确定为d-1,且当前最大编码单元900的分区类型可被确定为N_(d-1)×N_(d-1)。此外,由于最大深度为d且具有最下层深度d-1的最小编码单元980不再被划分到下层深度,因此不设置最小编码单元980的划分信息。
[0429] 数据单元999可以为当前最大编码单元的“最小单元”。根据本发明的实施例的最小单元可以是通过将最小编码单元980划分4次而获得的正方形数据单元。通过重复执行编码,视频编码设备100可通过比较根据编码单元900的深度的编码误差来选择具有最小编码误差的深度以确定编码深度,并将相应的分区类型和预测模式设置为编码深度的编码模式。
[0430] 这样,在1至d的所有深度中比较根据深度的最小编码误差,并且可将具有最小编码误差的深度确定为编码深度。编码深度、预测单元的分区类型和预测模式可作为关于编码模式的信息被编码和发送。此外,由于编码单元从深度0被划分到编码深度,因此仅将编码深度的划分信息设置为0,并将除了编码深度之外的深度的划分信息设置为1。
[0431] 视频解码设备200的接收器和提取器220可提取并使用关于编码单元900的编码深度和预测单元的信息以对分区912进行解码。视频解码设备200可通过使用根据深度的划分信息将划分信息为0的深度确定为编码深度,并使用关于相应深度的编码模式的信息以进行解码。
[0432] 图22至图24是用于描述根据本发明的实施例的编码单元1010、预测单元1060和变换单元1070之间的关系的示图。
[0433] 编码单元1010是最大编码单元中与由视频编码设备100确定的编码深度相应的具有树结构的编码单元。预测单元1060是编码单元1010中的每一个的预测单元的分区,并且变换单元1070是编码单元1010中的每一个的变换单元。
[0434] 当编码单元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。
[0435] 在预测单元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的预测单元和分区小于或等于每个编码单元。
[0436] 对小于编码单元1052的数据单元中的变换单元1070中的编码单元1052的图像数据执行变换或反变换。此外,变换单元1070中的编码单元1014、1016、1022、1032、1048、1050和1052在尺寸和形状方面与预测单元1060中的编码单元1014、1016、1022、1032、1048、1050和1052不同。换句话说,视频编码设备100和视频解码设备200可对相同编码单元中的数据单元分别执行帧内预测、运动估计、运动补偿、变换和反变换。
[0437] 因此,对最大编码单元的每个区域中具有分层结构的编码单元中的每一个递归地执行编码,以确定最佳编码单元,从而可获得具有递归树结构的编码单元。编码信息可包括关于编码单元的划分信息、关于分区类型的信息、关于预测模式的信息和关于变换单元的尺寸的信息。表1示出可由视频编码设备100和视频解码设备200设置的编码信息。
[0438] 表1
[0439]
[0440]
[0441] 视频编码设备100的输出单元130可输出关于具有树结构的编码单元的编码信息,并且视频解码设备200的接收器和提取器220可从接收的比特流提取关于具有树结构的编码单元的编码信息。
[0442] 划分信息指示当前编码单元是否被划分为下层深度的编码单元。如果当前深度d的划分信息为0,则当前编码单元不再被划分到下层深度的深度是编码深度,因此可针对编码深度定义关于分区类型、预测模式和变换单元的尺寸的信息。如果当前编码单元根据划分信息被进一步划分,则对下层深度的四个划分的编码单元独立地执行编码。
[0443] 预测模式可以是帧内模式、帧间模式和跳过模式中的一个。可在所有分区类型中定义帧内模式和帧间模式,并且仅在尺寸为2N×2N的分区类型中定义跳过模式。
[0444] 关于分区类型的信息可指示通过对预测单元的高度或宽度进行对称划分而获得的尺寸为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的不对称分区类型。
[0445] 变换单元的尺寸可被设置为帧内模式下的两种类型和帧间模式下的两种类型。换句话说,如果变换单元的划分信息是0,则变换单元的尺寸可以是2N×2N,这是当前编码单元的尺寸。如果变换单元的划分信息是1,则可通过对当前编码单元进行划分来获得变换单元。此外,如果尺寸为2N×2N的当前编码单元的分区类型是对称分区类型,则变换单元的尺寸可以是N×N,并且如果当前编码单元的分区类型是不对称分区类型,则变换单元的尺寸可以是N/2×N/2。
[0446] 关于具有树结构的编码单元的编码信息可包括与编码深度相应的编码单元、预测单元和最小单元中的至少一个。与编码深度相应的编码单元可包括:包括相同编码信息的预测单元和最小单元中的至少一个。
[0447] 因此,通过比较邻近数据单元的编码信息来确定邻近数据单元是否包括在与编码深度相应的相同编码单元中。此外,通过使用数据单元的编码信息来确定与编码深度相应的相应编码单元,从而可确定最大编码单元中的编码深度的分布。
[0448] 因此,如果基于邻近数据单元的编码信息来预测当前编码单元,则可直接参考和使用与当前编码单元邻近的较深层编码单元中的数据单元的编码信息。
[0449] 可选地,如果基于邻近数据单元的编码信息来预测当前编码单元,则使用数据单元的编码信息来搜索与当前编码单元邻近的数据单元,并可参考搜索到的邻近编码单元来预测当前编码单元。
[0450] 图25是用于描述根据表1的编码模式信息的编码单元、预测单元或分区和变换单元之间的关系的示图。
[0451] 最大编码单元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。
[0452] 变换单元的划分信息(TU尺寸标记)是变换索引的种类,并且与变换索引相应的变换单元的尺寸可根据编码单元的预测单元类型或分区类型而改变。
[0453] 例如,当分区类型被设置为对称(即,分区类型1322、1324、1326或1328)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1342,并且如果TU尺寸标记为1,则设置尺寸为N×N的变换单元1344。
[0454] 当分区类型被设置为不对称(即,分区类型1332、1334、1336或1338)时,如果TU尺寸标记为0,则设置尺寸为2N×2N的变换单元1352,并且如果TU尺寸标记为1,则设置尺寸为N/2×N/2的变换单元1354。
[0455] 参照图21,TU尺寸标记是具有值0或1的标记,但是TU尺寸标记不限于1比特标记,并且在TU尺寸标记从0增加的同时,变换单元可被分层划分以具有树结构。TU尺寸标记可被用作变换索引的示例。
[0456] 在这种情况下,根据本发明的实施例,可通过使用变换单元的TU尺寸标记以及变换单元的最大尺寸和最小尺寸来表示实际上已使用的变换单元的尺寸。根据本发明的实施例,视频编码设备100能够对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码。对最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记进行编码的结果可被插入SPS。根据本发明的实施例,视频解码设备200可通过使用最大变换单元尺寸信息、最小变换单元尺寸信息和最大TU尺寸标记来对视频进行解码。
[0457] 例如,(a)如果当前编码单元的尺寸是64×64并且最大变换单元尺寸是32×32,则(a-1)当TU尺寸标记是0时,变换单元的尺寸可以是32×32,(a-2)当TU尺寸标记是1时,变换单元的尺寸可以是16×16,(a-3)当TU尺寸标记是2时,变换单元的尺寸可以是8×8。
[0458] 作为另一示例,(b)如果当前编码单元的尺寸是32×32并且最小变换单元尺寸是32×32,则(b-1)当TU大小标记是0时,变换单元的尺寸可以是32×32。这里,由于变换单元的尺寸不能够小于32×32,因此TU尺寸标记不能够被设置为除了0以外的值。
[0459] 作为另一示例,(c)如果当前编码单元的尺寸是64×64并且最大TU尺寸标记是1,则TU尺寸标记可以是0或1。这里,TU尺寸标记不能够被设置为除了0或1以外的值。
[0460] 因 此 ,如 果 定 义 当 T U 尺 寸 标 记 是 0 时 最 大 T U 尺 寸 标 记 是“MaxTransformSizeIndex”,最小变换单元尺寸为“MinTransformSize”,并且根变换单元尺寸为“RootTuSize”,则可通过等式(1)来定义可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”:
[0461] CurrMinTuSize=max(MinTransformSize,RootTuSize/(2^MaxTransformSizeIndex))...(1)
[0462] 与可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”相比,根变换单元尺寸“RootTuSize”可指示可在系统中选择的最大变换单元尺寸。在等式(1)中,“RootTuSize/(2∧MaxTransformSizeIndex)”指示变换单元尺寸“RootTuSize”被划分了与最大TU尺寸标记相应的次数时的根变换单元尺寸,并且“MinTransformSize”指示最小变换尺寸。因此,“RootTuSize/(2^MaxTransformSizeIndex)”和“MinTransformSize”中较小的值可以是可在当前编码单元中确定的当前最小变换单元尺寸“CurrMinTuSize”。
[0463] 根据本发明的实施例,根变换单元尺寸“RootTuSize”可根据预测模式的类型而改变。
[0464] 例如,如果当前预测模式是帧间模式,则可通过使用以下的等式(2)来确定“RootTuSize”。在等式(2)中,“MaxTransformSize”指示最大变换单元尺寸,并且“PUSize”指示当前预测单元尺寸:
[0465] RootTuSize=min(MaxTransformSize,PUSize)……(2)
[0466] 也就是说,如果当前预测模式是帧间模式,则当TU尺寸标记是0时的根变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前预测单元尺寸中较小的值。
[0467] 如果当前分区单元的预测模式是帧内模式,则可通过使用以下的等式(3)来确定“RootTuSize”。在等式(3)中,“PartitionSize”指示当前分区单元的尺寸:
[0468] RootTuSize=min(MaxTransformSize,PartitionSize)……(3)
[0469] 也就是说,如果当前预测模式是帧内模式,则根变换单元尺寸“RootTuSize”可以是最大变换单元尺寸和当前分区单元的尺寸之中较小的值。
[0470] 然而,根据分区单元中的预测模式的类型而改变的当前最大变换单元尺寸、根变换单元尺寸“RootTuSize”仅是示例,且本发明不限于此。
[0471] 图26是根据本发明的实施例的基于具有树结构的编码单元的使用平滑插值滤波器的视频编码方法的流程图。
[0472] 在操作2610,为了对输入视频的当前画面进行编码,将当前画面划分为至少一个最大编码单元。可对通过根据深度对每个最大编码单元的区域进行划分而获得的至少一个划分区域中的每个划分区域进行编码。为了对每个根据深度的划分区域进行编码,对基于子像素单位插值的帧间预测结果以及帧内预测执行变换和量化。
[0473] 这里,可通过对根据深度的划分区域进行编码的结果进行比较来确定用于输出根据所述至少一个划分区域的最终编码结果的划分深度,并且包括在当前最大编码单元中并具有树结构的编码单元可被确定。与具有树结构的编码单元相同,具有树结构的变换单元可被确定。换句话说,作为画面的编码结果,与确定的具有树结构的编码单元相同,具有树结构的变换单元的编码结果可被输出为画面的编码的数据。
[0474] 可对编码单元的每个预测单元或分区执行帧间预测。可参考通过执行子像素单位插值而产生的像素来预测当前预测单元或分区的运动。基于子像素单位插值位置和平滑度,从用于产生子像素单位像素值的插值滤波器中不同地选择插值滤波器。为了有效地执行图像插值,可选择性地确定插值滤波器的系数。
[0475] 可根据子像素单位插值位置、平滑度、滤波器抽头的数量、比特深度、缩放因子、基于变换的插值滤波的基函数和彩色分量,从预先存储在存储器中的插值滤波器系数中选择期望的插值滤波器,并可执行插值来产生子像素单位像素值。
[0476] 在操作2620,由根据每个最大编码单元的所述至少一个划分区域的最终编码结果而获得的图像数据以及关于编码深度和编码模式的信息被输出为比特流。
[0477] 关于编码模式的信息可包括关于编码深度或划分信息的信息、关于预测单元的分区类型的信息、关于预测模式的信息和关于变换单元的树结构的信息。编码信息可包括关于用于执行子像素单位预测编码的插值滤波器的信息。编码的关于编码模式的信息可与编码的图像数据一起被发送到解码设备。
[0478] 图27是根据本发明的实施例的基于具有树结构的使用平滑插值滤波器的视频解码方法的流程图。
[0479] 在操作2710,编码的视频的比特流被接收和解析。
[0480] 在操作2720,从解析的比特流提取分配到最大编码单元的当前画面的编码的图像数据以及关于根据最大编码单元的编码深度和编码模式的信息。可从编码信息提取执行子像素单位运动补偿所需的关于插值滤波器的信息。
[0481] 可从编码信息提取关于编码深度和编码模式的信息。根据关于编码深度和编码模式的信息,最大编码单元可被划分为具有树结构的编码信息。此外,根据包括在提取的信息中的关于变换单元的树结构的信息,可确定在编码单元中的根据变换深度的具有树结构的变换单元。
[0482] 在操作2730,通过使用关于根据每个最大编码单元的编码深度和编码模式的信息,可基于具有树结构的编码单元、预测单元和具有树结构的变换单元来对每个最大编码单元的图像数据进行解码。由于基于关于编码深度和编码模式的信息对当前编码单元进行解码,因此可通过使用从具有树结构的变换单元中确定的变换单元来对当前编码单元进行反变换。
[0483] 可通过基于编码模式对编码单元的每个预测单元或分区执行各种解码操作(诸如运动补偿和帧内预测)来对编码的画面数据进行解码。
[0484] 具体地,如果基于以子像素单位插值的像素来提取编码的残差数据和参考数据,则可基于以子像素单位插值的像素对当前预测单元或当前分区执行运动补偿。可基于子像素单位插值位置和平滑度,从用于产生子像素单位像素值的插值滤波器中不同地选择插值滤波器。
[0485] 为了有效地执行图像插值,可选择性地确定插值滤波器系数。可根据子像素单位插值位置、平滑度、滤波器抽头的数量、比特深度、缩放因子、基于变换的插值滤波的基函数和彩色分量,从预先存储在存储器中的插值滤波器系数中选择期望的插值滤波器,并且可执行插值来产生子像素单位像素值。
[0486] 通过使用参考数据来确定参考画面和参考区域,并且可通过对参考画面的两个或更多个整数像素单位参考数据执行插值滤波来产生子像素单位像素值。可通过将产生的子像素单位像素值与残差数据结合来对当前预测单元或当前分区执行运动补偿,从而可执行预测解码。
[0487] 由于每个最大编码单元被解码,空间域中的图像数据可被重建,并且作为画面序列的画面和视频可被重建。重建的视频可通过再现设备被再现,可被存储在存储介质中,或可在网络中被传输。
[0488] 本发明的实施例可被编写为计算机程序,并可在使用计算机可读记录介质的执行所述程序的通用数字计算机中实现。计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)
[0489] 虽然已参照本发明的优选实施例具体示出和描述了本发明,但是本领域的普通技术人员将理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可对其进行形式和细节上的各种改变。优选实施例应该被视为仅是说明的意义,而不是为了限制的目的。因此,本发明的范围不是由本发明的详细描述来限定,而是由权利要求来限定,并且在该范围内的所有差别将被视为包括在本发明中。