图像编码系统中的基于图像特性的自适应滤波方法和装置与流程

文档序号:13847143阅读:188来源:国知局
图像编码系统中的基于图像特性的自适应滤波方法和装置与流程
本发明涉及图像编码技术,并且更具体地,涉及图像编码系统中的基于图像特性的自适应滤波的方法和装置。
背景技术
:最近,在各个领域中,对高分辨率和高质量的图像的需求已经日益增加。随着图像的分辨率和质量提高,图像中的数据量也同样增加。由于信息量增加,导致正涌现出具有各种性能的装置和各种环境的网络。随着涌现具有不同能力的装置和不同环境的网络,已经变得能够在不同质量水平下使用相同内容。具体地,由于终端装置能够支持的图像质量的多样性,并且构造的网络环境变得各种各样,导致在某些环境下,使用一般质量的图像,而在其它环境下,可获得较高质量的图像。例如,用移动终端购买了视频内容的消费者可以使用家用大屏幕在较大屏幕上且以较高分辨率观看相同视频内容。近年来,由于提供具有hd(高清)分辨率的广播,因此许多用户已经习惯于高分辨率、高质量图像等。除了hdtv之外,服务供应商和用户正在关注具有hdtv的分辨率四倍的uhd(超高清)或更好的服务。结果,需要用于增强主观/客观图像质量的恢复图片滤波方法。技术实现要素:技术问题本发明提供了提高图像编码效率的方法和装置。本发明还提供了提高恢复图片的客观/主观图像质量的方法和装置。本发明还提供了对恢复图片进行滤波的方法和装置。本发明还提供了基于图像特性进行自适应滤波的方法和装置。本发明还通过考虑图像特性而自适应地应用滤波器。技术方案在一方面,提供了一种由解码设备执行的恢复图片滤波方法。该滤波方法包括:计算恢复图片的目标区域的图像的活动;确定所述目标区域的图像的方向;基于所述活动和所述方向来选择滤波器组内的特定滤波器;以及基于所选择的滤波器对恢复图片执行滤波。确定所述方向的步骤可以包括以下步骤:基于所述目标区域中的样本和与所述样本相邻的四个外围样本来确定所述样本的方向,并且基于所述样本的方向来确定所述目标区域的方向。在这种情况下,可以基于所述样本的垂直改变程度和水平改变程度来确定所述样本的方向。这里,所述目标区域的图像的活动可以包括水平活动和垂直活动。这里,确定所述方向可以包括:基于所述目标区域中的样本和与所述样本相邻的八个外围样本来确定所述样本的方向,并且基于所述样本的方向来确定所述目标区域的方向。在这种情况下,所述目标区域的图像的方向可以指示水平方向、垂直方向、右上对角方向、左上对角方向和无方向中的一个。这里,目标区域的大小可以是可变的。这里,该滤波方法还可以包括以下步骤:接收可变区域大小启用标志;以及当所述可变区域大小启用标志的值指示1时,接收区域大小信息。在这种情况下,所述目标区域的大小可以是基于所述区域大小信息来确定的。在这种情况下,所述区域大小信息被分类为索引0至4的五个值。在这种情况下,所述索引0至4分别被表示为二值化值“0”、“100”、“101”、“110”和“111”。本文中,二值化值可以被称为二进数(bin)值。这里,滤波方法可以进一步包括接收对角活动启用标志。当所述对角活动启用标志的值指示1时,通过考虑对角方向来确定所述目标区域的图像的方向。这里,可以基于图像的分辨率来确定滤波器组。在这种情况下,该滤波方法还包括以下步骤:接收可变滤波器组启用标志;以及当所述可变滤波器组启用标志的值指示1时,接收滤波器系数信息和滤波器抽头(filtertap)信息中的至少一种。在这种情况下,所述滤波器组是基于所述滤波器数量信息和所述滤波器抽头信息中的至少一种来确定的。另外,所述滤波方法还可以包括接收可变滤波器形状启用标志。在这种情况下,就所述滤波器抽头信息所指示的所述滤波器的形状而言,所述可变滤波器形状启用标志的值指示0的情况和所述可变滤波器形状启用标志的值指示1的情况是不同的。在另一方面,提供了一种执行恢复图片滤波的解码设备。该解码设备包括:接收单元,该接收单元接收可变区域大小启用标志、对角活动启用标志、可变滤波器组启用标志和可变滤波器形状启用标志中的至少一种;以及滤波器单元,该滤波器单元计算恢复图片的目标区域的图像的活动,确定所述目标区域的图像的方向,基于所述活动和所述方向来选择滤波器组中的特定滤波器,并且基于所选择的所述滤波器对所述恢复图片执行滤波。有益效果根据本发明,可以基于恢复图片的目标块的图像特性来应用滤波,因此可以提高恢复图片的客观/主观图像质量。另外,滤波后的恢复图片被存储在存储器中,以用作另一个图片的基准图片,并且在这种情况下,可以提高帧间预测效率。附图说明图1是示意性例示了根据本发明的实施方式的视频编码器的框图。图2是示意性例示了根据本发明的实施方式的视频解码器的框图。图3示例性例示了根据本发明的实施方式的获得图像特性(活动和方向)的方法。图4示例性地示出了当目标区域具有4×4的大小时基于样本的特性值的加权和来获得目标区域的代表特性的方法。图5例示了图像具有相同活动特性但是具有不同方向特性的示例。图6例示了根据本发明的实施方式的通过水平活动和垂直活动的组合进行图像特性分类的示例。图7示例性例示了根据本发明的另一个实施方式的获得图像特性(活动和方向)的方法。图8示意性例示了根据本发明的实施方式的基于图像特性来选择滤波器的方法。图9例示了应用了本发明的目标区域的示例。这里,对象区域可以被称为特性分类单元。图10示意性例示了根据本发明的实施方式的基于图像特性来选择滤波器的方法。图11是例示了根据本发明的滤波器形状的实施方式的图。图12和图13是例示根据本发明的滤波器形状的其它实施方式的图。图14例示了根据图像分辨率的大滤波器选择比率的示例,图15例示了根据图像分辨率的小滤波器选择比率的示例。图16例示了根据本发明的滤波器的数量和类型的示例。具体实施方式本发明可以按各种形式进行修改,将在附图中描述和示出其具体实施方式。然而,这些实施方式并不旨在限制本发明。以下描述中使用的术语用于仅仅描述特定的实施方式,而不旨在限制本发明。单数的表述包括复数的表述,只要它被清楚不同地读出即可。诸如“包括”和“具有”的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此应该理解,不排除有可能存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合。另一方面,出于方便说明图像编码/解码装置中的不同特定功能的目的,独立地绘制本发明中描述的图中的元件,这并不意味着这些元件是由独立硬件或独立软件实施的。例如,可以将这些元件中的两个或更多个元件组合,以形成单个元件,或者可以将一个元件划分成多个元件。在不脱离本发明的构思的情况下,将元件进行组合和/或划分的实施方式属于本发明。下文中,将参照附图来详细地描述本发明的示例性实施方式。图1是示意性例示了根据本发明的实施方式的视频编码器的框图。参照图1,视频编码器100包括图片分割模块105、预测模块110、变换模块115、量化模块120、重排模块125、熵编码模块130、解量化模块135、逆变换模块140、滤波模块145和存储器150。图片分割模块105可以被配置成将输入图片分割成至少一个处理单位块。就此而言,作为处理单位的块可以是预测单位pu、变换单位tu或编码单位cu。该图片可以由多个编码树单位ctu构成。每个ctu可以按四叉树结构被分割成cu。cu可以被分割成作为四叉树结构的具有较深深度的cu。pu和tu可以得自cu。例如,可以从cu分割出对称或不对称的正方形结构的pu。另外,可以从cu分割出四叉树结构的tu。如稍后将描述的,预测模块110包括执行帧间预测处理的帧间预测模块和执行帧内预测处理的帧内预测模块。预测模块110对由图片分割模块105所分割的图片的处理单位执行预测处理,以创建包括预测样本或预测样本数组的预测块。在预测模块110中,图片的处理单位可以是cu、tu或pu。预测模块110可以确定在对应处理单位上执行的预测是帧间预测还是帧内预测,并且可以确定具体细节,例如,预测方法的预测模式。经受预测处理的处理单位可以与确定的预测方法和特定细节的处理单位不同。例如,可以以pu为单位来确定预测方法和预测模式,并且可以以tu为单位来执行预测处理。在帧间预测中,可以基于关于当前图片的前一图片和/或后一图片中的至少一个的信息来执行预测处理,以创建预测块。在帧内预测中,可以基于关于当前图片的像素信息来执行预测处理,以创建预测块。帧间预测可以使用跳过模式、合并模式或高级运动向量预测(amvp)。在帧间预测中,可以为pu选择基准图片,并且可以选择与pu对应的基准块。基准块可以是整个像素或抽样单元,或者部分像素或抽样单元。然后,生成预测块,针对预测块,使相对于当前pu的残留信号最小化并且使运动向量大小最小化。预测块可以被生成为整个像素单元或者诸如1/2像素单元或者1/4像素单元的部分像素单元。就此而言,运动向量也可以被表示为部分像素单元。诸如借助帧间预测而选择的基准图片的索引、运动向量差mdv、运动向量预测项(motionvectorpredictor)mvp、残差信号等信息可以被熵编码,然后被传输到解码器。当应用跳过模式时,预测块可以被用作重构块,使得可以不生成、变换、量化或发送残差。当执行帧内预测时,可以以pu为单位来确定预测模式,并且可以以pu为单位来执行预测处理。另选地,可以以pu为单位来确定预测模式,并且可以以tu为单位来执行帧间预测。举例来说,帧内预测中的预测模式可以包括33种方向预测模式和至少两种无方向模式。无方向模式可以包括dc预测模式和平面模式。在帧内预测时,可以在将滤波器应用于基准样本之后,构建预测块。此时,可以根据帧内预测模式和/或当前块的大小来确定是否应该将滤波器应用于基准样本。将构建的预测块与原始块之间的残差值(残差块或残差信号)输入至变换模块115。用于预测的预测模式信息、运动向量信息等与残差值一起通过熵编码模块130被编码并且被发送到解码器。变换模块115以tu为单位对残差块执行变换处理,并且生成变换系数。变换块是样本的矩形块并且是被应用了同样的变换的块。变换块可以是tu并且可以具有四叉树结构。变换模块115可以根据应用于残差块的预测模式和块的大小来执行变换处理。例如,当向残差块应用帧内预测并且残差块具有4×4阵列时,使用离散正弦变换dst来变换残差块。否则,可以使用离散余弦变换dct来变换残差块。变换模块115可以通过变换来构建变换系数的变换块。量化模块120可以量化经变换模块115变换的残差值(也就是说,变换系数),并且可以生成量化系数。量化模块120计算出的值可以被供应到解量化模块135和重排模块125。重排模块125可以将量化模块120供应的变换系数进行重排。通过将量化系数进行重排,能够提高熵编码模块130中的编码效率。重排模块125可以通过使用系数扫描方法,将二维块形式的量化后的变换系数重排成一维向量的形式。熵编码模块130可以被配置成根据基于经重排模块125重排的量化变换值或在编码处理期间计算出的编码参数值等的概率分布来对码元(symbol)进行熵编码,然后输出比特流。熵编码方法是接收具有各种值的码元并且将码元表示为可被解码的二进制串同时去除其统计上的冗余的方法。就此而言,码元意指待编码/解码的语法元素、编码参数、残差信号值等。编码参数是进行编码和解码所需的。编码参数可以包含编码或解码期间可以被推断的信息以及在编码器中被编码并且像语法元素一样被传递到解码器的信息。编码参数是对图像进行编码或解码所需的信息。编码参数可以包括诸如(例如)帧内/帧间预测模式、移动/运动向量、基准图片索引、编码块图案、残差信号的存在或不存在、变换系数、量化变换系数、量化参数、块大小、块分割信息等的统计数字或值。另外,残差信号可以意指原始信号和预测信号之间的差异。另外,可以变换原始信号和预测信号之间的差异,以定义残差信号,或者可以变换和量化原始信号和预测信号之间的差异,以定义残差信号。残差信号可以被称为块单元中的残差块。当应用熵编码时,码元可以被表示为,使得少量比特被分配给具有高出现概率的码元,并且大量比特被分配给具有低出现概率的码元。这可以减小待编码码元的比特串的大小。因此,可以借助熵编码来提高图像编码的压缩性能。诸如指数哥伦布码(exponentialgolomb)、上下文自适应可变长度编码(cavlc)和上下文自适应二进制算术编码(cabac)的编码方案可以用于熵编码。例如,熵编码模块130可以在其中存储诸如可变长度编码/代码(vlc)表格的用于执行熵编码的表。熵编码模块130可以使用所存储的vlc表来执行熵编码。另外,熵编码模块130获得对应码元的二值化方法和对应码元/二进数的概率模型,然后使用获得的二值化方法或概率模型来执行熵编码。如果需要的话,熵编码模块130可以对要传输的参数集或语法给予预定的改变。解量化模块135对量化模块120量化的值变换系数进行解量化。逆变换模块140对由解量化模块135解量化的值进行逆变换。解量化模块135和逆变换模块140所生成的残差值或残差样本或残差样本数组以及由预测模块110预测的预测块可以被组合,以形成包括重构样本或重构样本数组的重构块。在图1中,通过加法器将残差块和预测块相加,以生成重构块。此时,加法器可以被认为是生成重构块的特定模块重构块生成模块。滤波模块145将去块滤波器、alf自适应环路滤波器、sao抽样自适应偏移应用于重构后的图片。去块滤波器去除重构图片中的块之间的边界处产生的块失真。alf基于原始图片与其块被去块滤波器进行滤波的重构图片的比较结果值来执行滤波处理。只有在必需高效时,才应用alf。sao对已经被应用去块滤波器的残差块和原始图片之间的偏移差进行重构,并且以带偏移、边缘偏移等的形式进行应用。另一方面,滤波模块145可以不对在帧间预测中使用的重构块执行滤波操作。存储器150可以存储滤波模块145计算出的重构的块或图片。存储在存储器150中的重构的块或图片可以被供应到执行帧间预测的预测模块110。图2是示意性例示了根据本发明的实施方式的视频解码器的框图。参照图2,视频解码器200可以包括熵解码模块210、重排模块215、解量化模块220、逆变换模块225、预测模块230、滤波模块235和存储器240。当从视频编码器输入视频比特流时,可以基于视频编码器处理视频信息的顺序对输入的比特流进行解码。熵解码模块210可以根据概率分布对输入的比特流进行熵解码,以生成量化系数形式的码元。熵解码方法是接收二进制数的序列并且使用该序列来生成码元中的每个的方法。熵解码方法类似于上述的熵编码方法。例如,当诸如cavlc的可变长度编码vlc(下文中,称为“vlc”)被用于在视频编码器中执行熵编码时,熵解码模块210可以使用与编码器中使用的编码器相同的vlc表来执行解码。另外,当cabac用于在视频编码器中执行熵编码时,熵解码模块210可以使用cabac来执行熵解码。更具体地,cabac熵解码方法可以包括:接收比特流中的与每个语法元素对应的二进数;使用待解码语法元素信息来确定上下文模型;对邻近块和待解码块的信息或者在前一步骤中解码的码元/二进数的信息进行解码;以及根据所确定的上下文模型来预测二进数的出现概率,从而执行二进数的算术解码,以生成与每个语法元素的值对应的码元。就此而言,在确定上下文模型之后,cabac熵解码方法还可以包括使用解码后的码元/二进数的信息来更新上下文模型以确定下一个码元/二进数的上下文模型的步骤。可以将由熵解码模块210解码的信息之中的用于构造预测块的信息供应到预测模块230,并且由熵解码模块210熵解码的残差值(也就是说,量化后的变换系数)可以被输入至重排模块215。重排模块215可以基于视频编码器中的重排方法,将由熵解码模块210熵解码的比特流信息(也就是说,量化后的变换系数)进行重排。重排模块215可以将用一维向量形式表达的系数重构并且重排成二维块形式的系数。重排模块215可以基于应用于当前块变换块的预测模式和变换块的大小来扫描系数,并且可以以二维块的形式来生成系数量化变换系数的数组。解量化模块220可以基于从视频编码器供应的量化参数和重排后的块的系数值来执行解量化。逆变换模块225可以对来自视频编码器的量化结果执行已经由视频编码器的变换模块执行的dct和/或dst的逆dct和/或逆dst。可以基于由视频编码器确定的图片的传送单元或分割单元来执行逆变换。视频编码器的变换模块可以根据诸如预测方法、当前块的大小和预测方向的多条信息来选择性地执行dct和/或dst,并且视频解码器的逆变换模块225可以基于关于由视频编码器的变换模块执行的变换的变换信息来执行逆变换。预测模块230基于由熵解码模块210提供的预测块生成相关信息和存储器240提供的先前解码的块和/或图片信息来生成包括预测样本或预测样本数组的预测块。如果当前pu的预测模式是帧内预测模式,则预测模块230可以执行帧内预测,以基于当前图片中的像素信息来生成预测块。如果当前pu的预测模式是帧间预测模式,则预测模块230可以被配置成基于当前图片的前一图片或后一图片中的至少一个图片中包括的信息,对当前pu执行帧间预测。就此而言,可以借助检查从编码器接收的跳过标志和合并标志,推导诸如运动向量和基准图片索引的关于视频编码器中提供的当前pu的帧间预测所必需的运动信息的信息。预测模块230可以生成预测块,使得在对当前图片执行帧间预测时,使相对于当前块的残差信号最小化并且使运动向量大小最小化。另一方面,可以根据当前块的预测模式来改变运动信息获得方法。应用于帧间预测的预测模式可以包括高级运动向量预测(amvp)模式、合并模式等。例如,当应用合并模式时,编码设备和解码设备可以使用恢复的空间邻近块的运动向量和/或与作为时间邻近块的col块对应的运动向量来生成合并候选列表。在合并模式下,在合并候选列表中选择的候选块的运动向量被用作当前块的运动向量。编码设备可以将合并索引发送到解码器,合并索引指示具有从包括在合并候选列表中的候选块中选择的最佳运动向量的候选块。在这种情况下,解码器可以使用合并索引来获得当前块的运动向量。在另一示例中,当应用amvp(高级运动向量预测)模式时,编码器和解码器使用重构的空间邻近块的运动向量和/或与作为时间邻近块的col块对应的运动向量来生成运动向量预测项候选列表。也就是说,可以使用重构的空间邻近块的运动向量和/或与作为时间邻近块的col块对应的运动向量作为运动向量候选。编码器可以向解码器发送预测运动向量索引,该预测运动向量索引指示从运动向量预测项候选列表中包括的运动向量候选之中选择的最佳运动向量。就此而言,解码器可以使用运动向量索引,从包括在运动向量候选列表中的运动向量候选中选择当前块的预测运动向量。编码器可以获得当前块的运动向量与运动向量预测项(mvp)之间的运动向量差mvd,对mvd进行编码,并且将编码后的mvd发送到解码器。也就是说,mvd可以是通过从当前块的运动向量(mv)中减去运动向量预测项(mvp)而获得的值。就此而言,解码器可以对接收到的运动向量差进行解码,并且借助经解码的运动向量差和运动向量预测项之间的相加来获得当前块的运动向量。另外,编码器可以将指示基准图片的基准图片索引发送到解码器。解码器可以使用邻近块的运动信息来预测当前块的运动向量,并且使用从编码器接收到的残差来获得当前块的运动向量。解码器可以基于获得的运动向量和从编码器接收的基准图片索引信息来生成当前块的预测块。在另一个示例中,当应用合并模式时,编码器和解码器可以使用重构的邻近块的运动信息和/或col块的运动信息来生成合并候选列表。也就是说,当存在重构的邻近块和/或col块的运动信息时,编码器和解码器可以使用重构的邻近块和/或col块的运动信息作为当前块的合并候选。编码器可以从合并候选列表中包括的合并候选之中选择提供最佳编码效率的合并候选作为当前块的运动信息。就此而言,指示所选择的合并候选的合并索引可以被包括在发送到解码器的比特流中。解码器可以使用所发送的合并索引来选择合并候选列表中包括的合并候选之一,并且解码器可以将所选择的合并候选确定为当前块的运动信息。因此,当应用合并模式时,重构的邻近块和/或col块的运动信息可以被原样用作当前块的运动信息。解码器可以通过将预测块和从编码器发送的残差彼此相加来重构当前块。在上述amvp和合并模式中,可以使用重构的邻近块的运动信息和/或col块的运动信息来获得当前块的运动信息。在作为用于图片间预测的其它模式之一的跳过模式下,可以将邻近块信息原样用于当前块。因此,在跳过模式的情况下,除了指示哪个块的运动信息用作当前块的运动信息的信息之外,编码器不向解码器发送诸如残差的语法信息。编码器和解码器可以通过基于获得的运动信息对当前块执行运动补偿来生成当前块的预测块。就此而言,预测块可以指的是通过对当前块执行运动补偿而生成的运动补偿块。另外,多个运动补偿块可以构成单个运动补偿图像。可以使用由预测模块230生成的预测块和由逆变换模块225提供的残差块来生成重构块。图2例示了使用加法器将预测块和残差块组合,以生成重构块。就此而言,加法器可以被视为被配置成生成重构块的单独模块(重构块生成模块)。就此而言,重构块包括如上所述的重构样本或重构样本数组;预测块包括预测样本或预测样本数组;残差块可以包括残差样本或残差样本数组。因此,可以认为重构样本或重构样本数组是通过将对应的预测样本或预测样本数组与对应的残差样本或残差样本数组组合来生成的。当跳过模式被用于块时,可以不发送残差信号并且可以使用预测块作为重构块。重构的块和/或图片可以被供应到滤波模块235。滤波模块235可以对重构的块和/或图片执行去块滤波操作、sao操作和/或alf操作。存储器240可以存储用作基准图片或基准块的重构的图片或块,并且可以将重构的图片供应到输出模块。解码设备200中包括的熵解码模块210、重排模块215、解量化模块220、逆变换模块225、预测模块230、滤波模块235和存储器240中的与对图像进行解码直接相关的元素(例如、熵解码模块210、重排模块215、解量化模块220、逆变换模块225、预测模块230、滤波模块235等)可以被表示为区别于其它元件的解码器或解码单元。另外,解码设备200还可以包括图中未示出的解析单元,解析单元对与包括在比特流中的编码后图像相关的信息进行解析。解析单元可以包括熵解码模块210,并且可以被包括在熵解码模块210中。这种解析单元也可以被实现为解码单元的元件。可以将回路滤波器应用于恢复图片,以补偿由于诸如量化等压缩编码处理中发生的误差而导致的原始图片与恢复图片之间的差异。如上所述,可以在编码器和解码器的滤波器单元中执行回路滤波,并且滤波器单元可以对恢复的图像应用去块滤波、抽样自适应偏移(sao)和/或自适应回路滤波器。这里,alf可以基于通过在执行去块滤波和/或sao处理之后将恢复图片与原始图片进行比较而获得的值来执行滤波。在执行了去块滤波和/或sao处理之后,alf可以自适应地将维纳滤波器(wienerfilter)应用于恢复的图片。也就是说,alf可以使用维纳滤波器来补偿编码误差。可以基于例如滤波器形状和滤波器系数来确定应用于恢复图片的样本的滤波器(例如,alf)。也就是说,编码器和解码器可以基于滤波器形状和滤波器系数来执行滤波。滤波器形状指示所使用的滤波器的形状/大小。也就是说,可以从多个预定的滤波器形状中针对每个目标区域选择一个滤波器形状。例如,在alf的情况下,滤波器形状可以是诸如n×n星形、m×n十字形和m×n菱形的各种滤波器形状和大小。这里,n和m表示正整数,n和m可以相同或不同。这里,可以用诸如滤波器大小、滤波器类型和滤波器模式的各种表述来表示滤波器形状。另外,当根据滤波器形状来使用预定滤波器系数时,还可以基于滤波器形状(滤波器大小、滤波器类型、滤波器模式等)来确定滤波器系数。编码器可以通过预定处理来确定滤波器形状和/或滤波器系数。可以应用滤波来使压缩编码处理中发生的误差最小化,并且编码器可以确定滤波器形状和/或滤波器系数,以使误差最小化。关于所确定的滤波器的信息可以被发送到解码器,并且解码器可以基于所发送的信息来确定滤波器形状和/或滤波器系数。此外,可以基于图像特性来配置滤波器组(或滤波器列表),并且可以基于滤波器组自适应地将最佳滤波器应用于目标区域。在这种情况下,编码器可以将关于滤波器组的索引信息发送到解码器,并且解码器可以基于索引信息来获得关于应用于目标区域的滤波器的滤波器信息。也就是说,包括在滤波器组中的滤波器信息可以包括滤波器形状和/或滤波器系数。另选地,当编码器和解码器通过相同方法获得目标块的图像特征并且根据图像特性来选择和使用预定滤波器组中的特定滤波器信息时,可以不发送索引信息。也就是说,根据本发明,可以根据图像特性来应用不同的滤波器,由此提高编码效率。可以基于目标区域(或目标块)的活动因子和方向因子中的至少一个来指定图像特性。活动指示图片的目标区域中的纹理或误差的特性。例如,在平滑的背景部分中,活动值小。相反,在复杂部分中,活动值大。活动值可以通过归一化被设置成特定范围内的值,或者可以被用作原始值本身。例如,当活动值的最大值为100时,可以将活动值归一化为0至9,诸如将值0至10表述为0,将11至20表述为1,以此类推,或者作为原始值的值0至100可以被原样使用。此外,当执行归一化时,根据重要性,可以将为了进行归一化要映射的范围设置成相等/不相等。例如,当旨在在高活动的情况下应用更细致的滤波时,对于相对宽的范围(例如,20个单元),表示相对低活动的值被归一化成单个值,而对于相对窄的范围(例如,5个单元),表示相对高活动的值可以被归一化成单个值。在本发明中,活动值可以包括原始值和归一化值。方向指示图片的目标区域中的纹理或误差的方向特性。例如,方向可以是水平、垂直、(右上/左上等的)对角。举例来说,可以基于抽样点来获得活动和方向。图3示例性例示了根据本发明的实施方式的获得图像特性(活动和方向)的方法。图3例示了使用五个(抽样)点来计算图像特性的方法。参照图3,e表示当前样本(或像素)并且a、b、c和d表示外围(四个方向的)样本。这里,a表示上部外围样本,b表示下部外围样本,c表示左部外围样本,并且d表示右部外围样本。基于e与a和b的样本值之间的差,可以知道e的垂直改变程度,并且可以通过使用e与c和d的样本值之间的差来知道e的水平改变程度。可以如下地获取垂直改变程度和水平改变程度。[式1]vertical=|e<<1-a-b|horizontal=|e<<1-c-d|在式1中,vertical表示垂直改变程度,而horizontal表示水平改变程度。e、a、b、c和d表示相应抽样点的样本值,并且<<表示算术左移。也就是说,当前样本的垂直改变程度可以被视为通过从e<<1中减去a和b而获得的值的绝对值,并且垂直改变程度可以被视为通过从e<<1中减去c和d而获得的值的绝对值。水平改变程度和垂直改变程度可以表示图像的复杂度,并且可以基于此来获得图像的活动。另外,可以通过将垂直改变程度和水平改变程度进行比较来获得对应区域的方向。此外,在这种情况下,可以为每个样本赋予权重。例如,图3中每个抽样点旁边的数字示例性表示对应抽样点的权重。另外,例如,如果图像的活动被定义为五种类型(1至5)并且图像的方向被划分成三种类型(水平、垂直和无方向),则可以基于总共15种类型的图像特性来指示最多15种滤波器(5(活动)×3(方向)=15)。此外,可以通过以样本(或像素)为单位来获得并且以特定目标区域为单位来获得此图像的特性。例如,针对目标区域中的每个样本(或像素)来获得特性(活动和方向),然后可以基于各个值的总和、加权和、平均值或中值来确定目标区域的代表特性。在这种情况下,可以基于目标区域的外围样本的特性值来进一步确定目标区域的代表特性。图4示例性地示出了当目标区域具有4×4的大小时基于样本的特性值的加权和来获得目标区域的代表特性的方法。参照图4,带阴影样本411、412、413、414等表示目标区域中的样本,而未带阴影样本415、416等表示目标区域的外围样本。这里,每个样本可以包括包含水平特性、垂直特性等的特性值。当分别用b、c、d、e、a和f来表示样本411、412、413、414、415和416的特性值时,可以基于下式来获得目标区域的代表特性值。[式2](c+d)*3+(b+e)*2+(a+f)也就是说,可以基于列和/或行的样本的加权和来获得目标区域的代表特性。此外,为了获得方向,能够通过将水平特性值和垂直特性值进行比较来知道两个特性中的哪一个较大。然而,由于利用比较的方法是相对的,因此图像的绝对方向特性的强度可能是未知的。换句话讲,用水平特性和垂直特性的总和来表示图像的活动特性,并且通过水平特性和垂直特性之间的比较来表示方向特性,但是在这种情况下,并未示出考虑到方向特性的强度。图5例示了图像具有相同的活动特性但是不同的方向特性的另一个示例。参照图5,图5中的(a)和图5中的(b)的整体活动(或复杂度)是相同的,但是考虑到这两个方向的活动是不同的。因此,为了反映更准确的图像特性,作为本发明的实施方式,可以通过将图像的活动特性和方向特性组合来示出该情况。换句话讲,可以通过将图像的活动(或复杂性)表示为水平活动和垂直活动的组合来使用整体活动和方向活动二者。图6例示了根据本发明的实施方式的通过水平活动和垂直活动的组合进行图像特性分类的示例。目标区域的代表性活动可以被表示为水平活动和垂直活动的总和、加权和、平均值或中值。此外,虽然使用图3中的五个抽样点来计算当前样本的图像特性,但是可以使用例如九个抽样点来计算当前样本的图像特性。图7示例性例示了根据本发明的另一个实施方式的获得图像特性(活动和方向)的方法。图7例示了使用九个(抽样)点来计算图像特性的方法。在这种情况下,可以更好地反映对角特性。参照图7,e表示当前样本(或像素)并且a、b、c、d、e、f、g、h和i表示外围(八个方向的)样本。这里,a表示左上外围样本,b表示上部外围样本,c表示右上外围样本,d表示左部外围样本,f是右部外围样本、g表示左下外围样本、h表示下部外围样本并且i表示右下部外围样本。基于e与a和b的样本值之间的差,可以知道e的垂直改变程度,并且可以通过使用e与c和d的样本值之间的差来知道e的水平改变程度。举例来说,可以如下地获取垂直改变程度和水平改变程度。基于e、c和g,可以获得45度(右上对角)方向上的改变程度,并且基于e、a和i,可以获得-45度(左上对角或右下对角)方向上的改变程度。此外,如上所述,可以基于e、b和h来获得垂直改变程度,并且可以基于e、d和f来获得水平改变程度。在这种情况下,相比于使用5个点时,能够表示更多的方向。此外,在这种情况下,如上所述,可以为每个样本赋予权重,并且例如,相比于如图4中例示的对角样本,可以为水平/垂直样本赋予更大的权重。另外,在这种情况下,例如,可以将方向划分为水平、垂直、45度、-45度和无方向这五种类型。当活动被定义为五种类型1至5时,可以基于总共25种类型的图像特性来指示最多25种类型的滤波器(5(活动)×5(方向)=25)。在这种情况下,针对目标区域中的每个样本(或像素)来获得特性(活动和方向),然后可以基于各个值的总和、加权和、平均值或中值来确定目标区域的代表特性。在这种情况下,可以基于目标区域的外围样本的特性值来进一步确定目标区域的代表特性。图8示意性例示了根据本发明的实施方式的基于图像特性来选择滤波器的方法。图8中公开的方法可以由编码设备(也就是说,编码器或解码器)来执行。下文中,基于编码设备来描述该方法,并且编码设备可以包括编码器和解码器。编码设备计算恢复图片中的图像的活动(s800)。这里,可以以目标区域为单位来计算图像的活动。以目标区域为单位来计算活动的方法包括该方法。编码设备确定恢复的图片中的图像的方向(s810)。这里,可以以目标区域为单位来计算图像的方向。以目标区域为单位来计算方向的方法包括该方法。图像的方向和图像的活动被组合,从而被表示为图像特性。编码设备基于目标区域的图像特性(即,图像的活动和图像的方向)来检测要使用的特定滤波器(滤波器形状)的索引(s820)。编码设备可以基于图像特性来检测滤波器组(或滤波器列表)中的特定滤波器的索引。编码设备可以将索引所指示的特定滤波器应用于恢复图片的目标区域。因此,编码设备可以通过向恢复图片应用适于图像特性的滤波器来提高恢复图片的主观/客观图像质量。图9例示了应用了本发明的目标区域的示例。这里,目标区域可以被称为特性分类单元。参照图9,区域a是大小为2×2的区域,区域b是大小为4×4的区域。根据本发明的目标区域可以包括区域a和区域b。也就是说,目标区域可以具有2×2的大小或4×4的大小。然而,这是一个示例,并且目标区域可以具有8×8、16×16、32×32或64×64的大小。在这种情况下,如以上在图3和图7中描述的,针对目标区域中的每个样本(或像素)来获得目标区域的活动和方向,然后可以基于各个值的总和、加权和、平均值或中值来确定目标区域的代表特性。另选地,获得目标区域的外围样本的特性(活动和方向),然后,基于样本的特性值和目标区域的外围样本,可以确定目标区域的代表特性。此外,举例来说,可以从编码器向解码器用信号通知目标区域的大小,并且还可以用信号通知在图像特性检测中是否也考虑了对角方向。图10示意性例示了根据本发明的实施方式的基于图像特性来选择滤波器的方法。图10中公开的方法可以由解码器来执行。参照图10,解码器接收可变区域大小启用标志并且确认对应标志的值指示1(s1000)。这里,可以例如用variable_var_size_enabled_flag语法元素来表示可变区域大小启用标志。可以以序列电平、图片电平、限制电平(slicelevel)等用信号通知可变区域大小启用标志。当可变区域大小启用标志的值是0时,目标区域的大小是固定的,并且当可变区域大小启用标志的值是1时,目标区域的大小可以变化,并且在这种情况下,需要对详细大小进行编码。当在s1000中可变区域大小标志的值为1时,解码器接收区域大小信息并且对其进行解析(s1010)。解码器可以基于区域大小信息而知道目标区域的大小。可以用例如var_size语法元素来表示区域大小信息。目标区域的大小可以被视为图像特性分类单元,图像特性分类单元可以被定义为具有特定大小的像素单位到块单位。[表1]var大小cmax=4,tu二值化0011021103111041111参照表1,var大小表示指示分类单位的索引。即,var大小指示目标区域大小信息的值。例如,目标区域可以表示当var大小值为0时的像素单位(即,1×1单位),当var大小值为1时的像素单位,2×2单位,当var大小值为2时的像素单位,4×4单位,当var大小值为3时的像素单位,8×8单位,当var大小为4时的像素单位,16×16单位。与各var大小值0至4对应的二值化值(即,二进数值)可以分别例如是0、10、110、1110和1111。这里,二值化值是截位一元(tu)二值化值,并且示例性地表示cmax=4的情况。此外,考虑到分配给二值化的比特数量,可以使用下面的二值化值,如下表中所示。[表2]var大小cmax=4,tu二值化001100210131104111另外,除此之外,还可以使用包括固定长度编码(flc)指数哥伦布二值化等的各种其它二值化方法。当在s1000中可变区域大小标志的值为0时,解码器确定目标区域的大小被固定成预定值。解码器接收对角活动启用标志并且确认对角活动可用标志的值指示1(s1020)。这里,可以用例如diagonal_activity_enabled_flag语法元素来表示对角活动启用标志。可以以序列电平、图片电平、限制电平等用信号通知对角活动启用标志。当对角活动启用标志的值为0时,解码器可以考虑相对于目标区域的水平改变程度和垂直改变程度,并且当对角活动启用标志的值为1时,解码器还可以考虑相对于目标区域的对角改变程度。当在s1020中对角活动启用标志的值为1时,解码器通过考虑对角方向来计算图像特性(s1030)。在这种情况下,解码器不仅可以考虑对角方向,还可以考虑水平和垂直方向。当在s1020中对角活动启用标志的值为0时,解码器在没有考虑对角方向的情况下计算图像特性(s1040)。在这种情况下,解码器可以通过仅考虑水平方向和垂直方向来计算(或检测)图像特性。此外,虽然图10例示了在步骤s1020之后执行图像特性计算,但是可以在步骤s1020之前执行图像特性之中的图像活动的计算,并且可以只在步骤s1020之后执行图像方向的计算。在这种情况下,可以在不顾及步骤s1020不考虑对角方向的情况下来执行图像活动的计算或者可以通过考虑对角方向来执行图像活动的计算。解码器基于在s1030或s1040中检测到的目标区域的图像特性来确定与图像特性对应的滤波器(滤波器形状)(s1050)。解码器可以基于图像特性来检测滤波器组(或滤波器列表)之中的要使用的特定滤波器,并且在这种情况下,解码器可以检测滤波器组中特定滤波器的索引。根据本发明,对于每个目标区域,可以使用各种滤波器形状,并且编码器/解码器可以基于图像特性,针对每个目标区域来选择各种滤波器(滤波器形状)。例如,在alf的情况下,滤波器可以采用包括n×n第一形状(例如,星形)、m×n第二形状(例如,十字形)和m×n第三形状(例如,菱形)等各种滤波器形状和大小。这里,n和m表示正整数,n和m可以相同或不同。图11是例示了根据本发明的滤波器形状的实施方式的图。如上所述,在根据本发明执行滤波时,编码器和解码器可以选择并使用多个预定滤波器中的一个滤波器。也就是说,编码器和解码器可以从包括多个滤波器的预定滤波器组中选择一个滤波器,并且基于所选择的滤波器来执行滤波。例如,可以将alf滤波应用于根据本发明的滤波。包括在滤波器组中的滤波器可以具有图11中例示的滤波器形状。此外,根据本发明,可以根据滤波器形状来分派滤波器系数。在下文中,在本说明书中,被分派每个滤波器系数的位置和/或单元被称为滤波器抽头。在这种情况下,可以向每个滤波器抽头分派一个滤波器系数,并且布置有滤波器抽头的图案可以对应于滤波器形状。另外,下文中,位于滤波器形状中心处的滤波器抽头在本说明书中将被称为中心滤波器抽头。滤波器抽头围绕位于滤波器形状中心处的中心滤波抽头是对称的。例如,滤波器抽头可以按照光栅扫描顺序进行编号,并且可以按照升序从开始到中心抽头以及按降序从中心抽头到末尾进行编号。除了分派给中心滤波器抽头的滤波器系数之外的滤波器系数可以基于中心滤波器抽头被同等地分派给彼此对应的两个滤波器抽头。在图11中,c6表示5×5滤波器的情况下的中心抽头,c12表示7×7滤波器的情况下的中心抽头,c19表示9×7滤波器的情况下的中心抽头。此外,滤波器的形状和大小是示例,并且可以使用更多各种形状和大小的滤波器。使用各种形状和尺寸的滤波器,因为合适的滤波器的形状和大小根据图像特性而变化。在编码/解码处理中,可以选择并使用具有最佳rd成本(率失真成本(rate-distortioncost))的滤波器。由于所使用图像的大小是变化的并且特别地使用高分辨率图像,因此为了最佳滤波,滤波器的大小和形状也需要变化。图12和图13是例示根据本发明的滤波器形状的其它实施方式的图。在图12和13中,显示在每个滤波器抽头上的字母表示分派给每个滤波器抽头的滤波器系数。类似地,如图11的实施方式中一样,滤波器系数可以围绕中心滤波器抽头以中心的对称形式分派。也就是说,可以将相同的滤波器系数分派给围绕中心滤波器抽头存在于对称位置处的两个滤波器抽头。因此,在图12和图13的滤波器形状中的每个中,只在位于围绕中心滤波器抽头的对称位置处的两个滤波器抽头之中的左和/或上滤波器抽头上显示滤波器系数。在图12和图13中,分派给围绕中心滤波器抽头的对称位置处的滤波器抽头的滤波器系数可以被分派给没有显示滤波器系数的滤波器抽头。在图12中,例示了11×11滤波器和13×13滤波器。然而,这些滤波器是示例,并且滤波器的水平尺寸和垂直尺寸可以彼此不同。例如,11×9和13×11滤波器也是可能的。另外,图13例示了水平滤波器和垂直滤波器的示例。水平滤波器和垂直滤波器中的每个的垂直尺寸和垂直尺寸可以彼此不同。这里,例示了9×5大小滤波器和5×9大小滤波器。在这种情况下,所使用的滤波器系数的数量与7×7滤波器的相同。也就是说,在这种情况下,可以设置13个滤波器系数,并且可以填充25个滤波器抽头。此外,在所需滤波器系数的数量没有改变的情况下,可以按照图像特性根据水平特性和垂直特性来应用滤波器。在这种情况下,除了9×5大小和5×9大小之外,还可以使用具有11×7大小、7×11大小、13×9大小和9×13大小的滤波器。此外,当可用滤波器的数量大时,能够应用适合于图像的滤波器,但是计算复杂的问题会有所增加。例如,当编码器选择适当的滤波器并用信号向解码器通知指示对应滤波器的信息时,编码器的缺点在于,应用所有现有滤波器,以便确定哪个滤波器更好使用,并且另外,用信号通知指示多个滤波器之中选择的滤波器的信息的比特的数量也增加。因此,当为了提高滤波效率而过分增加滤波器组中的可用滤波器的数量时,很大程度地增加了计算复杂性并且指示所选滤波器的信息的比特数量增加,结果,不会提高性能。为了防止性能没有提高,可以基于图像的分辨率来确定滤波器组中包括的滤波器的数量和形状(或大小)。图14例示了根据图像分辨率的大滤波器选择比率的示例,图15例示了根据图像分辨率的小滤波器选择比率的示例。这里,使用9×7大小的滤波器作为大滤波器的示例,并且使用5×5大小的滤波器作为小滤波器的示例。参照图14和图15,图像的分辨率按照d、c、b、a和4k的顺序越来越大。4k分辨率是表示具有4千像素(kp)的水平分辨率的下一代高清分辨率的术语。在图14中,可以看出,随着图像的分辨率增大,滤波器选择比率增加得越多。在4k分辨率下,以大致90%的比率选择大滤波器。相反地,在图15中,可以看出,随着图像分辨率的增加,小滤波器的选择比率降低,并且在4k分辨率下,几乎不选择较小的滤波器。在本发明中,可以根据基于统计特性的图像的分辨率来确定包括在滤波器组中的滤波器的大小。也就是说,当对具有大分辨率的图像进行滤波时,包括在滤波器组中的大滤波器的数量可以增加并且小滤波器的数量可以减少。也就是说,当对具有小分辨率的图像进行滤波时,包括在滤波器组中的大滤波器的数量可以减少并且小滤波器的数量可以增加。在这种情况下,例如,可以基于图像分辨率将滤波器组配置如下。[表3]如上所述,可以从编码器向解码器用信号通知可变滤波器组启用标志,以指示是否使用了可变滤波器组。这里,可以用例如variable_filter_set_enabled_flag语法元素来表示可变滤波器组启用标志。可以以序列电平、图片电平、限制电平等用信号通知可变滤波器组启用标志。当可变滤波器组启用标志的值为0时,使用固定的滤波器组,并且当可变滤波器组启用标志的值为1时,可以使用灵活的滤波器组。此外,如表3中所示,可以预先定义根据图像分辨率的滤波器组,但是可以对要使用的滤波器的数量和类型进行编码并且将其用信号通知。在这种情况下,可以用num_filter语法元素来表示关于滤波器数量的信息,并且可以通过滤波器抽头信息来表示关于滤波器类型的信息。可以用filter_tap语法元素来表示滤波器抽头信息。[表4]num_filteru(v)for(i=0;i<num_filter;i++filter_tap[i]u(v)这里,num_filter语法元素指示要使用的滤波器的数量,并且filter_tap[i]语法元素指示索引i的滤波器类型。图16例示了根据本发明的滤波器的数量和类型的示例。图16例示了滤波器的数量是4并且滤波器抽头信息分别是7、9、11和13的情况。也就是说,在本实施方式中,filter_tap[0]指示7,filter_tap[1]指示9,filter_tap[2]指示11并且filter_tap[3]指示13。这里,当滤波器的水平尺寸和垂直尺寸彼此相等时,滤波器抽头信息可以指示水平尺寸值和垂直尺寸值。例如,当滤波器抽头信息指示7时,滤波器抽头信息可以主要表示7×7滤波器,并且当滤波器抽头信息指示9时,滤波器抽头信息可以表示11×11滤波器。这甚至类似地应用于其余的情况。此外,这里,7、9、11和13是示例,并且除此之外,可以使用任意的正n值。另外,在这种情况下,根据本发明,可以根据图像特性来主动地改变滤波器的形状。例如,当使用用于hd图像的滤波器组时,根据以上的表3,滤波器索引0表示7×7滤波器。然而,如果图像的特性在水平方向或垂直方向上大,则滤波器索引可以表示9×5滤波器或5×9滤波器。在这种情况下,由于在填充滤波器抽头所需的滤波器系数的数量是13的方面7×7滤波器、9×5滤波器和5×9滤波器彼此相同,因此在滤波器当中,即使滤波器形状改变,也不需要附加滤波器系数的信息。因此,可以用信号通知用于确定是否基于图像特性主动改变了滤波器形状的标志信息。例如,解码器可以从编码器接收可变滤波器形状启用标志。可以用variable_filter_shape_enabled_flag语法元素来表示可变滤波器形状启用标志。可表现为,当可变滤波器形状启用标志的值为0时,使用固定的滤波器形状,并且当可变滤波器形状启用标志的值为1时,使用灵活的滤波器形状。根据本发明,可以基于恢复图片的目标块的图像特性来应用滤波,因此可以提高恢复图片的客观/主观图像质量。另外,滤波后的恢复图片被存储在存储器中,以用作另一个图片的基准图片,并且在这种情况下,可以提高帧间预测效率。以上描述仅仅是对本发明的技术思路的说明。因此,本领域技术人员可以在不偏离本发明的必要特征的情况下对以上描述进行各种修改和变化。因此,本文中公开的实施方式旨在是本发明的例示,并不限制本发明。本发明的范围不受这些实施方式的限制。应该根据以下权利要求书来理解本发明的保护范围。当用软件实现本发明的实施方式时,可以用执行上述功能的模块(处理、功能等)来实现上述方法。这些模块可以被存储在存储器中并且由处理器执行。存储器可以在处理器的内部或外部,并且可以使用各种熟知的手段将存储器联接到处理器。处理器可以包括专用集成电路(asic)、其它芯片集、逻辑电路和/或数据处理装置。存储器可以包括rom(只读存储器)、ram(随机存取存储器)、闪存、存储卡、存储介质和/或其它存储装置。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1