图像编码/解码方法及其装置与流程

文档序号:17933820发布日期:2019-06-15 01:09阅读:289来源:国知局
图像编码/解码方法及其装置与流程

本发明涉及一种处理静止图像或视频的方法,更具体地,涉及一种用于执行去块滤波的方法及一种支持该方法的装置。



背景技术:

压缩编码指的是通过通信线路发送数字化信息的一系列信号处理技术,或者以适用于存储介质的形式存储信息的技术。包括图片、图像、音频等的介质可以是用于压缩编码的对象,并且具体地,对图片执行压缩编码的技术称为视频图像压缩。

下一代视频内容被假定为具有场景表示的高维度、高空间分辨率和高帧率的特征。为了处理这样的内容,将导致在存储器存储、存储器存取速率和处理功率方面的急剧增长。

因此,需要设计一种用于高效地处理下一代视频内容的编码工具。



技术实现要素:

技术问题

本发明提出了一种用于在四叉树和二叉树结构中高效地执行后处理滤波器(或环内滤波器)的方法及支持该方法的装置。

此外,本发明提出了一种用于不仅基于明暗度(亮度)分量而且基于色度分量根据条件适应性地应用去块滤波器的方法及支持该方法的装置。

通过本发明要实现的技术目的不限于上述技术目的,并且本发明所属领域的普通技术人员从以下描述中可以明显地理解上面未描述的其他技术目的。

技术方案

根据本发明的一个方面的一种由解码装置对图像进行滤波的方法可以包括以下步骤:推导出被划分为四叉树加二叉树结构的块的边界;确定块的边界当中要应用以去块滤波的边缘;确定要应用于边缘的去块滤波的类型;以及根据去块滤波的类型对重构的图片样本执行去块滤波,其中,边缘或去块滤波的类型可以是通过考虑块的宽度或高度来确定的。

根据本发明的另一个方面的一种用于滤波图像的解码装置可以包括:块边界推导单元,其用于推导出被划分为四叉树加二叉树结构的块的边界;边缘确定单元,其用于确定块的边界当中的要应用以去块滤波的边缘;滤波类型确定单元,其用于确定要应用于边缘的去块滤波的类型;以及滤波单元,其用于根据去块滤波的类型对重构的图片样本进行去块滤波,其中,边缘或去块滤波的类型可以是通过考虑块的宽度或高度来确定的。

优选地,当边缘的类型是垂直边缘,并且块的宽度小于或等于4时,可以基于已经应用了去块滤波的像素来确定边缘。

优选地,当边缘的类型是水平边缘,并且块的高度小于或等于4时,可以基于已经应用了去块滤波的像素来确定边缘。

优选地,当边缘的类型是垂直边缘,并且块的宽度小于或等于4时,可以基于已经应用了去块滤波的像素来确定去块滤波的类型。

优选地,当边缘的类型是水平边缘,并且块的高度小于或等于4时,可以基于已经应用了去块滤波的像素来确定去块滤波的类型。

优选地,当边缘的类型是垂直边缘时,可以仅在宽度大于或等于8的块的边界当中确定边缘。

优选地,当边缘的类型是水平边缘时,可以仅在高度大于或等于8的块的边界当中确定边缘。

优选地,当边缘的类型是垂直边缘,并且块的宽度小于或等于4时,可以将去块滤波的类型确定为弱滤波。

优选地,当边缘的类型是水平边缘,并且块的高度小于或等于4时,可以将去块滤波的类型确定为弱滤波。

优选地,当边缘的类型是垂直边缘,并且块的宽度小于或等于4时,可以将去块滤波的类型确定为强滤波,并且强滤波可以仅应用于分别在边缘的左侧和右侧的两个相邻像素列。

优选地,当边缘的类型是水平边缘,并且块的高度小于或等于4时,可以将去块滤波的类型确定为强滤波,并且强滤波可以仅应用于分别在块的上侧和下侧的两个相邻像素列。

优选地,可以基于应用去块滤波之前的像素确定边缘。

优选地,可以基于应用去块滤波之前的像素来确定去块滤波的类型。

优选地,当块所属的条带是内条带(i-条带)时,可以与块是否是色度块无关地确定边缘和去块滤波的类型。

技术效果

根据本发明的实施方式,可以在qtbt结构中高效地应用去块滤波器,从而改善静止图像或视频的主观图像质量和客观图像质量。

此外,根据本发明的实施方式,可以通过并行实现来加速去块滤波。

通过本发明可以获得的效果不限于上述效果,并且本发明所属领域的普通技术人员从以下描述可以明显地理解以上未描述的其他技术效果。

附图说明

附图被包括在本文中以作为用于帮助理解本发明的说明书的一部分,其提供了本发明的实施方式,并且与以下的描述一起来说明本发明的技术特征。

图1示出了根据本发明的实施方式的执行视频信号的编码的编码器的框图。

图2示出了根据本发明的实施方式的执行视频信号的解码的解码器的框图。

图3示出了根据本发明的实施方式的编码单元的分区结构。

图4示出了根据本发明的实施方式的编码单元的分区结构当中的四叉树加二叉树结构。

图5示出了根据本发明的实施方式的环内滤波单元的内部框图。

图6例示了由hevc的去块滤波器执行的滤波方法。

图7例示了由hevc的去块滤波器对其执行滤波的块边界。

图8例示了用于确定是否执行hevc滤波的方法。

图9例示了应用hevc的去块滤波的像素区域。

图10例示了根据本发明的实施方式的qtbt分区结构。

图11至图21例示了当qtbt分区结构被应用于hevc去块滤波方法时可能引起的问题。

图22例示了根据本发明的一个实施方式的用于确定去块滤波器的类型的方法。

图23例示了根据本发明的一个实施方式的去块滤波方法。

图24例示了根据本发明的一个实施方式的去块滤波方法。

图25例示了根据本发明的一个实施方式的去块滤波方法。

图26例示了根据本发明的一个实施方式的去块滤波方法。

图27例示了根据本发明的一个实施方式的强滤波方法。

图28例示了根据本发明的一个实施方式的强滤波方法。

图29示出了当垂直边缘滤波应用于水平长度为4或更小的块时的滤波结果。

图30例示了根据本发明的一个实施方式的用于确定是否执行滤波并选择滤波器的方法。

图31例示了根据本发明的一个实施方式的去块滤波方法。

图32例示了当以相同方式将hevc去块滤波应用于qtbt块分区结构时引起的问题。

图33例示了根据本发明的一个实施方式的去块滤波方法。

图34例示了根据本发明的一个实施方式的去块滤波单元。

图35例示了根据本发明的一个实施方式的去块滤波单元。

具体实施方式

在下文中,将通过参照附图来描述本发明的优选实施方式。在下面将与附图一起描述的说明书要描述本发明的示例性实施方式,并非旨在描述可以实现本发明的仅有实施方式。以下的描述包括特定细节以便提供对本发明的完整理解。然而,应该明白,对于本领域技术人员来说,可以在没有这些特定细节的情况下实施本发明。

在一些情形中,为了防止本发明的技术构思不清楚,可以省略公知的结构或者设备,或者公知的结构或者设备可以被绘制为集中于结构或者设备的核心功能的框图。

此外,尽管尽可能多地选择当前广泛地使用的常规术语作为本发明中的术语,但是在特定情形中使用由申请人任意选择的术语。由于在这样的情况下,将在说明书的相应部分中清楚地描述术语的含义,因此,应该理解,本发明并非由仅在本发明的说明书中使用的术语来简单地解释,而是应该领会术语的含义。

可以提供以下的描述中使用的特定术语以帮助理解本发明。此外,在本发明的技术构思的范围内,特定术语可以变型为其它形式。例如,信号、数据、样本、图片、帧和块等可以在每个编码过程中适当地替换和解释。

在本说明书中,“块”或“单元”是指执行诸如预测、变换和/或量化之类的编码/解码处理的单位,并且可以由样本(或像素)的多维布置构成。

“块”或“单元”可以是指关于亮度分量的样本的多维布置或者关于色度分量的样本的多维布置。另外,“块”或“单元”可以共同指代关于亮度分量的样本的多维布置和关于色度分量的样本的多维布置。

例如,“块”或“单元”可以被解释为包括编码块(cb)、编码树块(ctb)、预测块(pb)(或预测单元(pu))、以及变换块(tb)(或变换单元(tu))的含义,编码块(cb)是指要被编码/解码的样本的布置,编码树块(ctb)由多个编码块组成,预测块(pb)是指相同预测所应用于的样本的布置,变换块(tb)是指相同变换所应于的样本的布置。

此外,除非另有说明,否则“块”或“单元”可被解释为包括在关于亮度分量和/或色度分量的样本的布置的编码/解码过程中使用的语法结构的含义。这里,语法结构是指以特定顺序存在于比特流中的0个或更多个语法元素,并且语法元素是指呈现在比特流中的数据元素。

例如,“块”或“单元”可以被解释为包括以下的含义:包括编码块和用于对编码块进行编码的语法结构的编码单元(cu);由多个编码单元组成的编码树单元;包括预测块和用于预测块的预测的语法结构的预测单元(pu);以及包括变换块和用于变换块的变换的语法结构的变换单元(tu)。

另外,在本说明书中,“块”或“单元”不限于正方形或矩形形式的样本(或像素)的布置,并且可以指具有三个或更多个顶点的多边形形式的样本(或像素)的布置。在这种情况下,它可以称为多边形块或多边形单元。

图1示出了根据本发明的实施方式的执行视频信号的编码的编码器的框图。

参照图1,编码器100包括图像分区单元110、变换部120、量化单元130、解量化单元140、逆变换部150、滤波单元160、经解码图片缓冲器(dpb)170、帧间预测单元180、帧内预测单元185、以及熵编码单元190。

图片分区单元110可以将馈入编码器的输入图像(或图片或帧)分区为一个或更多个处理单元。例如,处理单元可以是编码树单元(ctu)、编码单元(cu)、预测单元(pu)或变换单元(tu)。

编码器100可以通过从输入图像信号中减去从帧间预测单元180或帧内预测单元185输出的预测信号来生成残差信号,之后将所生成的残差信号馈送到变换部120。

变换部120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(dct)、离散正弦变换(dst)、卡南-洛伊夫变换(karhunen-loevetransform,klt)、基于图形的变换(gbt)或有条件非线性变换(cnt)中的至少一个。这里,gbt意指从表示关于像素间的关系的信息的图形获得的变换。cnt意指基于通过使用所有先前重构的像素生成的预测信号而获得的变换。此外,变换处理可以应用于相同尺寸的正方形像素块或可变尺寸的非正方形块。

量化单元130可以量化变换系数并将经量化的变换系数输出到熵编码单元190,其中经量化信号被熵编码并作为比特流被输出。

从量化单元130输出的经量化信号可以用于生成预测信号。例如,可以通过在环路内部通过解量化单元140和逆变换部150对经量化信号应用解量化和逆变换,来重构残差信号。可以通过将重构的残差信号添加到从帧间预测单元180或帧内预测单元185输出的预测信号来生成重构的信号。

滤波单元160对重构的信号应用滤波,并将经滤波和重构的信号输出或发送到回放设备或经解码图片缓冲器170。输出到经解码图片缓冲器170的经滤波的信号可以在帧间预测单元180中用作参考图片。以这种方式,通过在帧内预测模式中使用经滤波的图片作为参考图片,不仅可以提高图像质量而且可以提高编码效率。

经解码图片缓冲器170可以存储经滤波的图片以在帧间预测单元180中将其用作参考图片。

帧间预测单元180参照重构的图片来执行时间和/或空间预测,以去除时间和/或空间冗余。

帧内预测单元185可以通过参考在要编码的当前块的周围的样本来预测当前块。帧内预测单元185可以执行以下处理以执行帧内预测。首先,帧内预测单元185可准备参考样本以生成预测信号。此外,可以通过使用所准备的参考样本来生成预测信号。此后,对预测模式进行编码。此时,可以通过参考样本填充和/或参考样本滤波来准备参考样本。因为参考样本经历了预测和重构过程,所以可能存在量化误差。因此,为了降低误差,可以在用于帧内预测的每个预测模式中执行参考样本滤波过程。

通过帧间预测单元180或帧内预测单元185生成的预测信号可以用于生成重构信号或残差信号。

图2示出了根据本发明的实施方式的执行视频信号的解码的解码器的框图。

参照图2,解码器200可以包括熵解码单元210、解量化单元220、逆变换部230、滤波单元240、经解码图片缓冲器(dpb)单元250、帧间预测单元260和帧内预测单元265。

此外,通过解码器200输出的重构的图像信号可以由回放设备播放。

解码器200可以接收从图1的编码器100输出的信号,其中可以通过熵解码单元210对接收的信号进行熵解码。

解量化单元220通过使用量化步长信息从经熵解码的信号中获得变换系数。

逆变换部230通过对变换系数进行逆变换来获得残差信号。

将所获得的残差信号与从帧间预测单元260或帧内预测单元265输出的预测信号相加,由此生成重构的信号。

滤波单元240对重构的信号应用滤波,并将经滤波和重构的信号输出至回放设备,或者将经滤波和重构的信号发送给经解码图片缓冲器(dpb)单元250。馈送到dpb单元250的经滤波的信号可以被帧间预测单元260用作参考图片。

在本说明书中,参照编码器100的滤波单元260、帧间预测单元180和帧内预测单元185描述的实施方式可以分别以相同的方式应用于解码器的滤波单元240、帧间预测单元260、和帧内预测单元265。

图像分区

图3示出了根据本发明的实施方式的编码单元的分区结构。

编码器可以将一个图像(或图片)分区为矩形形状的编码树单元(ctu)。此外,编码器根据光栅扫描顺序逐个地对ctu进行编码。

一个ctu可以分解为四叉树(下文中,它表示为“qt”)结构。例如,一个ctu可以细分为四个正方形形状的单元,其中每个单元的边长是ctu相应边的一半。qt结构的这种分区可以递归地执行。

参照图3,qt的根节点可以与ctu相关联。可以分解qt直至它到达叶节点,此时,叶节点可以称为编码单元(cu)。

参照图3,ctu对应于根节点并且具有最小深度值(即,级别0)。依据图像的特性,ctu可以不被细分,对于这种情况,ctu对应于cu。

ctu可以以qt结构进行细分,结果,可以生成深度为级别1的子节点。从级别1的深度处的子节点不再细分的节点(即,叶节点)对应于cu。例如,在图3的(b)中,对应于节点a、b和j的cu(a)、cu(b)和cu(j)已经从ctu细分一次并且深度为级别1。

对于每个cu,指示相应cu是否被细分的信息可以被发送至解码器。例如,信息可以由分割标志定义,分割标志可以由语法元素“split_cu_flag”表示。分割标志可以包括在除scu之外的所有cu中。例如,如果分割标志为“1”,则相应cu进一步细分为四个cu,而如果分割标志为“0”,则相应cu不再细分,并且可以对相应cu执行编码处理。

尽管图3的实施方式描述了用于细分cu的过程,但是以上详细描述的相同qt结构也可以应用于细分变换单元(tu)的过程,该变换单元是用于执行变换的基本单位。

可以以qt结构从要编码的cu分层级地细分tu。例如,cu可以对应于与tu相关联的树的根节点。

因为以qt结构来细分tu,因此从cu细分出的tu可以进一步细分为更小的tu。例如,tu的尺寸可以由32×32、16×16、8×8和4×4中的一个确定;然而,本发明不限于特定示例,并且在高分辨率图像的情况下,tu的尺寸可以增加或具有各种值。

对于每个tu,指示相应tu是否被细分的信息可以被发送至解码器。例如,信息可以由分割变换标志来定义,分割变换标志可以通过语法元素“split_transform_flag”表示。

如上所述,cu是用于编码的基本单位,通过其来执行帧内预测或帧间预测。为了更高效地执行输入图像的编码,cu可以被细分为预测单元(pu)。

pu是用于生成预测块的基本单位,即使在一个cu内,也可以就pu而言不同地生成不同预测块。依据是帧内预测模式还是帧间预测模式用于cu的编码模式,可以从cu中不同地细分pu。

图4示出了根据本发明的实施方式的编码单元的分区结构当中的四叉树加二叉树结构。

编码器可以将一个图像(或图片)分区为矩形形状的编码树单元(ctu)。此外,编码器根据光栅扫描顺序逐个地对ctu进行编码。

一个ctu可以分解为四叉树(下文中,其表示为“qt”)和二叉树(下文中,其表示为“bt”)结构。例如,一个ctu可以细分为四个正方形形状的单元(其中每个单元的边长为ctu相应边的一半),或者可以细分为两个矩形单元(其中每个单元的宽度或高度为相应ctu的一半)。这种以qtbt结构进行的分区可以递归地执行。

参照图4,qt的根节点可以与ctu相关联。可以分解qt直至它到达qt叶节点,其中qt叶节点可以被细分为bt,bt可以被进一步细分直至到达bt叶节点。

参照图4,ctu对应于根节点并且具有最小深度值(即,级别0)。依据图像的特性,ctu可以不被细分,对于这种情况,ctu对应于cu。

可以qt结构对ctu进行细分,并且可以以bt结构对qt叶节点进行细分。结果,可以生成深度为级别n的子节点。此外,从级别n的深度处的子节点不再细分的节点(即,叶节点)对应于cu。

对于每个cu,可以将指示相应cu是否被细分的信息发送至解码器。例如,该信息可以由分割标志定义,分割标志可以由语法元素“split_cu_flag”表示。此外,指示qt叶节点是否被细分为bt的信息可以被发送至解码器。例如,该信息可以由bt分割标志定义,bt分割标志可以由语法元素“bt_split_flag”表示。另外,当根据split_bt_flag将qt叶节点细分为bt时,bt细分形状可以被发送至解码器,使得对应于qt叶节点的区域被细分为宽度为区域宽度一半的矩形、或者高度为区域高度一半的矩形。例如,该信息可以由bt分割模式定义,bt分割模式可以由“bt_split_mode”表示。

图5示出了根据本发明的实施方式的环内滤波单元的内部框图。

环内滤波单元可以包括去块滤波单元510、自适应偏移滤波单元520和自适应环路滤波单元530中至少之一。

环内滤波单元对重构的图片应用滤波,并将经滤波的图片输出到回放设备,或者将经滤波的图片存储在缓冲器中,以在帧间预测模式中将其用作参考图片。

去块滤波单元510执行减轻在重构的图片的边界处发生的失真问题的功能。例如,可以改善在预测单元或变换单元的边界处发生的分块劣化(blockingdegradation)。

首先,去块滤波单元510可以检查重构的像素值在块边界处的不连续性,并且当观察到分块劣化时,可以在对应的边缘边界处执行去块滤波。例如,去块滤波单元510可以确定块边界是否是8×8块边界以及预测单元或变换单元的边界;并且基于确定结果,可以计算边界强度(bs)值。基于bs值,可以确定是否执行滤波,其中可以一起使用滤波参数。

稍后将给出关于用于去块滤波单元510执行滤波的方法的更详细描述。

自适应偏移滤波单元520可以执行向重构的像素添加偏移并且使重构的图像与原始图像之间的误差最小化的功能。这里,重构的图像可以是经去块滤波的图像。在编码器的情况下,它计算用于补偿重构的图像和原始图像之间的误差的偏移参数,并将计算出的偏移参数发送给解码器;在解码器的情况下,它对接收到的偏移参数执行熵解码,并基于经熵解码的偏移参数以像素为单位执行滤波。

自适应环路滤波单元530可以通过计算使原始图像和重构的图像之间的误差最小化的优化系数来执行滤波。在编码器的情况下,它可以推导出最小化原始图像和重构的图像之间的误差的滤波器系数,并且可以针对每个块适应性地向解码器发送关于是否进行自适应环路滤波的信息以及滤波器系数。在解码器的情况下,它可以基于所接收的关于是否应用的信息和滤波系数来执行滤波。

图6例示了由hevc的去块滤波器执行的滤波方法。

参照图6,去块滤波器确定要应用去块滤波的边界(s601)。

此时,应当注意,边界的确定表示确定需要在其处进行去块滤波的位置(即,边界),并且在s604步骤中的滤波器开/关步骤确定实际是否执行滤波。

用于去块滤波器的边界可以分为三种类型:编码单元(cu)边界、预测单元(pu)边界和变换单元(tu)边界。由于一个cu边界可以对应于pu边界或tu边界,因此它可以对应于需要滤波的边界对象。

去块滤波器计算bs(s602)。换句话说,去块滤波器根据与边界相邻的块的特性来确定边界强度(bs)以执行具有不同强度的去块滤波器。

去块滤波器确定用作用于确定是否执行滤波和滤波选择的阈值的参数β,tc(s603)。

去块滤波器执行滤波器开/关判定(s604)。换句话说,去块滤波器针对每个滤波单元确定是否执行滤波。

去块滤波器确定在意图要应用滤波的边界处是执行强滤波器或还弱滤波器(s605)。

去块滤波器通过使用确定的滤波器对像素执行滤波(s606,s607)。

用于四叉树二叉树(qtbt)结构的去块滤波方法

在描述本发明的实施方式之前,将描述hevc的去块滤波器的特性和qtbt结构的去块滤波器操作,并且将指出qtbt结构的去块滤波器的问题。

首先,hevc的去块滤波器在预测块(pb)的边界处和变换块(tb)的边界处执行滤波。然而,由于在qtbt中没有为变换块和预测块定义边界,因此可以在编码块(cb)的边界处执行滤波。

应当注意,qtbt和hevc的去块滤波器不是必须沿所有边界执行无条件滤波,而是仅在满足特定条件(其在图6的s604步骤中确定)时选择性地执行强滤波和弱滤波。另一方面,当不满足条件时,不对相应边界执行滤波。

图7例示了由hevc的去块滤波器对其执行滤波的块边界。

图7的(a)例示了随着hevc的去块滤波器执行滤波在滤波边界处出现的垂直边缘,而图7的(b)示出了随着hevc的去块滤波器执行滤波在滤波边界处出现的水平边缘。

如图7所示,hevc的去块滤波器在预测块和变换块的边界处执行。然而,它不必须表示对所有的预测块边界或变换块边界执行滤波;相反地,仅对块尺寸为8×8或更大的块的边界执行滤波。该滤波方案可以被视为被设计为支持去块滤波器的并行处理。

如上所述,确定是否在边界处应用滤波,并且当满足滤波条件时,选择性地执行强滤波器或弱滤波器。

此时,为了确定是否应用滤波,检查与块边界相邻的像素的值,这将在下面参照图8更详细地描述。

图8例示了用于确定是否执行hevc滤波的方法。

在图8中,实线代表块边界,而每个圆圈代表一个像素(例如,亮度分量样本或色度分量样本)。

参照图8,块边界任一侧的三个像素的x和y轴坐标(图8中的阴影像素)相对于图8所示的块边界被表示为p(x,y)(或q(x,y))。然后根据以下描述了应用滤波的条件的式1,可以计算变量(参数)dp0、dp3、dq0、dq3、dpq0、dpq3和d。

[式1]

dp0=|p(2,0)-2×p(1,0)+p(0,0)|

dp3=|p(2,3)-2×p(1,3)+p(0,3)|

dq0=|q(2,0)-2×q(1,0)+q(0,0)|

dq3=|q(2,3)-2×q(1,3)+q(0,3)|

dpq0=dp0+dq0

dpq3=dp3+dq3

d=dpq0+dpq3

根据式1计算出的变量(参数)d与基于量化参数(q)所确定的变量(参数)β进行比较,并且仅在d小于β时执行去块滤波。

这里,关于用于确定量化参数q和变量(参数)β的方法,itu-th.265文档通过引用合并于本说明书中。

如上所述,如果相应块边界上的像素满足应用滤波的条件,则可以根据下面的式2应用强滤波器或弱滤波器。

如果满足式2的所有条件,则应用强滤波器;否则,应用弱滤波器。

[式2]

①(β>>2)>2×(dp0+dq0)

②(β>>2)>2×(dp3+dq3)

③(β>>3)>{(p(3,0)-p(0,0))+(q(3,0)-q(0,0))}

④(β>>3)>{(p(3,3)-p(0,3))+(q(3,3)-q(0,3))}

⑤((5×tc+1)>>1)>|p(0,0)-q(0,0)|

⑥((5×tc+1)>>1)>|p(0,3)-q(0,3)|

在式2中,基于量化参数(q)确定变量(参数)tc(即,tc)。

这里,关于用于确定变量(参数)tc(即,t。)的方法,itu-th.265文档通过引用合并于本说明书中。

如下所述,应用滤波的像素区域根据由式2的条件确定的滤波器类型(即,强滤波器或弱滤波器)而变化。

图9例示了应用hevc的去块滤波的像素区域。

如图9所示,用于强滤波器或弱滤波器的像素区域相对于块边界是不同的。

如上所述,通过使用块边界的左侧和右侧上的或在上侧和下侧上的三个像素来确定是否应用去块滤波。此外,通过沿着应用去块滤波的边界使用在块边界的左侧和右侧的或在上侧和下侧上的四个像素再次确定去块滤波器类型。

关于以上描述的hevc去块滤波方法,itu-th.265文档通过引用合并于本说明书中。

由于这些原因,即使可以生成4×4预测块或变换块、8×4和4×8预测块,hevc也允许以并行实现为代价仅对8×8或更大的块的边界应用去块滤波。

另一方面,在qtbt的情况下,内条带(intra-slice,i-条带)(即,通过仅使用帧内预测解码的条带)中的亮度块和色度块具有彼此不同的结构,并且由于四叉树和二叉树结构,可以生成各种形状和尺寸的编码块。

图10例示了根据本发明的实施方式的qtbt分区结构。

如图10所示,由于沿着所有边界执行滤波,并且以相同方式应用hevc的去块方法,因此不仅并行实现而且对色度分量的滤波都无法有效地执行。

根据图10,通过应用qtbt结构,图像可以细分为各种尺寸和形状的子区域。

因此,本发明提出了一种用于在各种块分区结构(即,具有各种块尺寸和形状的分区结构)上以并行方式执行去块滤波器的方法。

如图10所示,qtbt的去块滤波器以相同方式应用hevc的去块滤波器,但前者不仅可以应用于尺寸为8×8或更大的块的边界,而且还可以应用于尺寸为4×4、4×8、8×4、4×16等的块的边界。

然而,在这种情况下,因为对相邻块的边界的滤波导致的像素值的改变,可能会出现对相应块边界的滤波可能不满足并行实现的条件的问题。

图11至图21例示了当qtbt分区结构应用于hevc去块滤波方法时可能引起的问题。

将以图12所示的4×16块的垂直边缘为示例,描述当图像被如图11所示地细分成qtbt结构时的上述问题。

此时,假设如图12所示,对第一个4×16块的垂直边缘(即,块边界1)执行强滤波。

在这种情况下,滤波改变了与块边界相邻的三个像素(图12中的阴影像素)的值。此外,假设滤波去除了块边界1处的噪声。

为了在下一个相邻块边界(即,块边界2)处执行滤波,首先确定是否对图13中虚线所示的像素执行滤波。

然而,在这种情况下,出现的问题在于现在必须通过参考图12的示例中的经滤波的像素(图12中的阴影像素)和未滤波的像素(图12中的非阴影像素)来确定滤波。

首先,着眼于并行实现问题,如图13所示,块边界1和2的滤波可能未同时执行,从而消弱了并行流水线。

即使不考虑图13的并行实现,出现如图14所示会交叠地应用滤波的问题。

如图14所示,如果块边界2处的像素满足滤波条件并且同时满足强滤波的条件,则去块滤波器的低通滤波器被应用于图14的黑色像素两次。

此外,出现的问题在于即使如图15所示地对块边界2应用弱滤波而不是强滤波,对图15中的黑色像素也应用低通滤波器两次。

现在另外假设弱滤波已经应用于块边界1,如图16所示。

在这种情况下,如图17所示,为了确定是否对块边界2应用滤波,参照由虚线指示的像素。

此外,即使已经确定对块边界2应用滤波,为了进一步确定在强滤波器和弱滤波器之间应用哪个滤波器,通过参考图18中虚线所示的像素来采用式2。

如果因为在块边界2处不满足强滤波的条件所以对块边界2执行弱滤波,则如图19所示,可以避免滤波的交叠;然而,如果满足强滤波的条件并且相应地对块边界2应用强滤波,则出现的问题在于图20的暗阴影像素被重复滤波。

在下文中,针对本发明的描述,主要使用垂直边缘,但应该理解,这仅旨在为了便于描述,并且本发明不限于具体描述。换句话说,在水平边缘的情况下,与基于垂直边缘的描述的仅有差别在于像素位于块边界的上侧和下侧,而其余处理可以以相同方式执行。

实施方式1

本发明的一个实施方式提出了一种用于以高效方式执行qtbt结构的去块滤波器的方法。

如上所述,如果在hevc中定义的去块方法被直接应用于qtbt块结构,则可能出现的问题在于:因为通过参考在块边界的经滤波的像素来计算是否应用滤波,所以阻止在qtbt结构中执行并行处理。

为了防止该问题,本发明提出了一种用于在垂直边缘的情况下在水平尺寸/长度为4或更小的块(即,在水平方向上其样本的数量为4或更小的块)的边界处执行去块滤波而在水平边缘的情况下在垂直尺寸为4或更小的块的边界处执行去块滤波的方法。

1)实施方式1-1

根据本发明的一个实施方式,提出了一种用于qtbt结构中的去块滤波器的滤波方法,其对于垂直边缘对水平长度为4或更小的块而对于水平边缘对垂直长度为4或更小的块执行去块滤波。

如上所述,当在qtbt结构中执行去块滤波时可能发生的问题可以进一步分为两种情况:与并行实现有关的问题以及与在确定是否应用滤波以及选择自适应滤波器时参考像素的滤波有关的问题。

如在上述hevc的去块滤波中,通过对满足特定条件的块边界(例如,水平长度为4或更小的块的边界或垂直长度为4或更小的块的边界)不执行滤波,可以实现并行实现;然而,同时由于对相应块边界不执行滤波,因此可能出现的问题在于导致客观和主观的图像质量劣化。

在这方面,本发明的一个实施方式提出了当满足特定条件时应用于块边界的滤波方法。

这里,特定条件意味着当垂直边缘被滤波时块的水平长度为4或更小的情况和/或当水平边缘被滤波时块的垂直长度为4或更小的情况。

在以上特定条件下,当通过参考图13中所例示的经滤波的像素确定是否执行滤波时,可以使用已经通过滤波去除了噪声的像素。

图21例示了根据本发明的一个实施方式的用于确定是否执行去块滤波的方法。

参照图21和下面的式3,d可以被视为表示沿着块边界的像素值的变化量之和。

此时,由于p块的像素(即,图22中由虚线指示的那些像素当中的阴影像素)已经经受滤波并由此具有平滑的值,因此显示出比未滤波的像素的值的差异小的值的概率高。

因此,由式3计算出的d的最终值可能变小,结果,当检查是否执行滤波时,执行滤波的比率可以以高概率增加。

[式3]

dp0=|p(2,0)-2×p(1,0)+p(0,0)|

dp3=|p(2,3)-2×p(1,3)+p(0,3)|

dq0=|q(2,0)-2×q(1,0)+q(0,0)|

dq3=|q(2,3)-2×q(1,3)+q(0,3)|

dpq0=dp0+dq0

dpq3=dp3+dq3

d=dpq0+dpq3

此外,在特定条件下,可以通过参考经滤波的像素来确定滤波器类型。

图22例示了根据本发明的一个实施方式的用于确定去块滤波器的类型的方法。

参照图22和式4,被参考以适应性地选择强滤波器或弱滤波器的算式也考虑块边界处的像素值的变化量。

此时,由于p块的像素(即,图22中由虚线指示的那些像素当中的阴影像素)已经经受滤波,所以像素被平滑化并且由此像素值的变化量可以降低。由于这种效应,图4所例示的应用强滤波的条件被满足并且结果,强滤波器可以比弱滤波器更频繁地被执行。

因此,使强滤波器应用于已经滤波的像素,导致块边界处的边缘模糊。

[式4]

①(β>>2)>2×(dp0+dq0)

②(β>>2)>2×(dp3+dq3)

③(β>>3)>{(p(3,0)-p(0,0))+(q(3,0)-q(0,0))}

④(β>>3)>{(p(3,3)-p(0,3))+(q(3,3)-q(0,3))}

⑤((5×tc+1)>>1)>|p(0,0)-q(0,0)|

⑥((5×tc+1)>>1)>|p(0,3)-q(0,3)|

2)实施方式1-2

对于qtbt结构的去块滤波器,本发明的一个实施方式提出了一种对于垂直边缘的滤波对水平长度为4或更小的块不执行滤波或者对于水平边缘的滤波对垂直长度为4或更小的块不执行的方法。

如上所述,当前qtbt结构中的去块滤波器具有许多与特定尺寸块的边界的滤波过程有关的问题。为了避免上述问题并且使得去块滤波能够并行实现,本发明的一个实施方式提出了一种如图23所示的方法。

图23例示了根据本发明的一个实施方式的去块滤波方法。

参照图23,解码器确定它是否对应于编码单元(或编码块)的边界(s2301)。

如果在s2301步骤处它没有对应于编码单元(或编码块)的边界,则解码器终止去块滤波。

另一方面,如果在s2301步骤处它对应于编码单元(或编码块)的边界,则解码器确定相应边界是否是垂直边缘(s2302)。

如果在s2302步骤处相应边界对应于垂直边缘,则解码器确定相应编码单元(或编码块)的宽度是否为8或更大(s2303)。

另一方面,如果在s2302步骤处相应边界不对应于垂直边缘(即,如果它对应于水平边缘),则解码器确定相应编码单元(或编码块)的高度是否为8或更大(s2304)。

如果在s2303步骤处相应编码单元(或编码块)的宽度为8或更大或者如果在s2304步骤处相应编码单元(或编码块)的高度为8或更大,则解码器执行传统去块滤波(s2305)。

例如,解码器可以执行如图6所示的传统去块滤波。

这里,关于传统去块滤波方法,itu-th.265文档通过引用合并于本说明书中。

此外,如果在s2303步骤处相应编码单元(或编码块)的宽度小于8,或者如果在s2304步骤处相应编码单元(或编码块)的高度小于8,则解码器终止去块滤波。

如图23所示,在垂直边缘的情况下可以仅对水平长度为8或更大的编码单元(或编码块)执行滤波,而在水平边缘的情况下可以仅对垂直长度为8或更大的编码单元(或编码块)执行滤波,而对于宽度或高度小于8的编码单元(或编码块)可以不执行滤波。

如上所述,在本实施方式中,由于仅考虑块尺寸来确定是否应用滤波,所以提出的方法提供了实现去块滤波的并行实现的最简单方法。

3)实施方式1-3

对于qtbt结构的去块滤波器,本发明的一个实施方式提出了一种方法,该方法用于对于滤波垂直边缘对水平长度为4或更小的块执行弱滤波,而对于滤波水平边缘对垂直长度为4或更小的块执行弱滤波。

图24例示了根据本发明的一个实施方式的去块滤波方法。

参照图24,解码器确定它是否对应于编码单元(或编码块)的边界(s2401)。

如果在s2401步骤处它不对应于编码单元(或编码块)的边界,则解码器终止去块滤波。

另一方面,如果在s2401步骤处它对应于编码单元(或编码块)的边界,则解码器确定相应边界是否是垂直边缘(s2402)。

如果在s2402步骤处相应边界对应于垂直边缘,则解码器确定相应编码单元(或编码块)的宽度是否为8或更大(s2403)。

另一方面,如果在s2402步骤处相应边界不对应于垂直边缘(即,如果它对应于水平边缘),则解码器确定相应编码单元(或编码块)的高度是否为8或更大(s2404)。

如果在s2403步骤处相应编码单元(或编码块)的宽度为8或更大,或者如果在s2404步骤处相应编码单元(或编码块)的高度为8或更大,则解码器执行传统去块滤波(s2405)。

例如,解码器可以执行如图6所示的传统去块滤波。

这里,关于传统去块滤波方法,itu-th.265文档通过引用合并于本说明书中。

此外,如果在s2403步骤处相应编码单元(或编码块)的宽度小于8,则解码器可以将弱滤波器应用于相应垂直边缘(s2406)。

此外,如果在s2404步骤处相应编码单元(或编码块)的高度小于8,则解码器可以将弱滤波器应用于相应水平边缘(s2407)。

这里,关于应用弱滤波器的方法,itu-th.265文档通过引用合并于本说明书中。

如图24所示,在垂直边缘的情况下可以仅对水平长度为8或更大的编码单元(或编码块)执行传统去块滤波,并且在水平边缘的情况下可以仅对垂直长度为8或更大的编码单元(或编码块)执行传统去块滤波,而对于宽度或高度小于8的编码单元(或编码块),可以执行弱滤波。

如上所述,根据本实施方式的提出的方法可以使在实施方式1-2中对小尺寸块不执行滤波而引起的主观图像质量劣化最小化。

4)实施方式1-4

对于qtbt结构的去块滤波器,本发明的一个实施方式提出了一种方法,该方法用于对于垂直边缘的滤波仅对分别在水平长度为4或更小的块的边界的左侧和右侧的两个像素执行强滤波器,而对于水平边缘的滤波仅对分别在垂直长度为4或以下的块的边界的上侧和下侧的两个像素执行强滤波器。

此时,如图25所示,本发明的一个实施方式提出了一种方法,该方法用于在不选择滤波器组的情况下,对水平长度为4或更小的块以及垂直长度为4或更小的块应用强滤波。

图25例示了根据本发明的一个实施方式的去块滤波方法。

参照图25,解码器确定像素是否对应于编码单元(或编码块)的边界(s2501)。

如果在s2501步骤处像素不对应于编码单元(或编码块)的边界,则解码器终止去块滤波。

另一方面,如果在s2501步骤处像素对应于编码单元(或编码块)的边界,则解码器检查用于应用去块滤波器的条件(s2502),并且基于应用去块滤波器的条件确定是否在相应边界处应用去块滤波器(s2503)。

这时,上面的式1可以用作应用去块滤波器的条件。

如果在s2503步骤处解码器确定不在编码单元(或编码块)的边界处应用去块滤波器(即,不满足应用去块滤波器的条件),则解码器终止去块滤波。

另一方面,如果在s2503步骤处解码器确定在编码单元(或编码块)的边界处应用去块滤波器(即,满足应用去块滤波器的条件),则解码器确定相应边界是否对应于垂直边缘(s2504)。

如果在s2504步骤处相应边界对应于垂直边缘,则解码器确定相应编码单元(或编码块)的宽度是否为8或更大(s2505)。

另一方面,如果在s2504步骤处相应边界不对应于垂直边缘(即,相应边界是水平边缘),则解码器确定相应编码单元(或编码块)的高度是否为8或更大(s2506)。

如果在s2505步骤处相应编码单元(或编码块)的宽度小于8,或者如果在s2506步骤处相应编码单元(或编码块)的高度小于8,则解码器通过应用在本实施方式中提出的强滤波器来执行去块滤波(s2507)。

如果应用本实施方式中提出的强滤波器,则仅对分别在块边界的左侧和右侧(在垂直边缘的情况下)上的或在块边界的上侧和下侧(在水平边缘的情况下)上的两个像素执行强滤波,这将在后面详细描述。

此外,如果在s2505步骤处相应编码单元(或编码块)的宽度为8或更大,或者如果在s2506步骤处相应编码单元(或编码块)的高度为8或更大,则解码器检查用于选择滤波器组的条件(s2508),并基于用于选择滤波器组的条件确定是否将强滤波器应用于相应边缘(s2509)。

这时,可以使用式2作为用于选择滤波器组的条件。

如果在s2509步骤处确定应用强滤波器(例如,如果式2所表示的条件都被满足),则解码器可以将传统强滤波器应用于相应边缘(s2510)。

这里,例如,关于应用强滤波器的方法,itu-th.265文档可以通过引用合并于本说明书中。

此外,如果在s2509步骤处确定不应用强滤波器(例如,如果不满足式2的条件中的任何一个),则解码器可以将弱滤波器应用于相应边缘(s2511)。

这里,例如,关于应用弱滤波器的方法,itu-th.265文档可以通过引用合并于本说明书中。

此外,如图26所示,对于在保持传统处理结构的同时需要应用强滤波器的块边界,提出了根据本发明的应用强滤波器的方法。

图26例示了根据本发明的一个实施方式的去块滤波方法。

参照图26,解码器确定它是否对应于编码单元(或编码块)的边界(s2601)。

如果在s2601步骤处,它不对应于编码单元(或编码块)的边界,则解码器终止去块滤波。

另一方面,如果在s2601步骤处像素对应于编码单元(或编码块)的边界,则解码器检查用于应用去块滤波器的条件(s2602),并且基于应用去块滤波器的条件确定在相应边界处是否应用去块滤波器(s2603)。

这时,上面的式1可以用作应用去块滤波器的条件。

如果在s2603步骤处解码器确定在编码单元(或编码块)的边界处不应用去块滤波器(即,不满足应用去块滤波器的条件),则解码器终止去块滤波。

另一方面,如果在s2603步骤处解码器确定在编码单元(或编码块)的边界处应用去块滤波器(即,满足应用去块滤波器的条件),则解码器检查用于选择滤波器组的条件(s2604),并且基于用于选择滤波器组的条件确定是否在相应边界处应用强滤波器(s2605)。

此时,可以使用式2作为用于选择滤波器组的条件。

如果在s2605步骤处确定不应用强滤波器(例如,如果不满足式2的条件中的任何一个),则解码器可以将弱滤波器应用于相应边缘(s2605)。

这里,例如,关于应用弱滤波器的方法,itu-th.265文档可以通过引用合并于本说明书中。

此外,如果在s2605步骤处确定应用强滤波器(例如,如果式2的条件都被满足),则解码器确定相应边界是否对应于垂直边缘(s2607)。

如果s2607步骤处相应边界对应于垂直边缘,则解码器确定相应编码单元(或编码块)的宽度是否为8或更大(s2608)。

此外,如果在s2607步骤处相应边界不对应于垂直边缘(即,它对应于水平边缘),则解码器确定相应编码单元(或编码块)的高度是否为8或更大(s2609)。

如果在s2609步骤处相应编码单元(或编码块)的宽度小于8,或者如果在s2608步骤处相应编码单元(或编码块)的高度小于8,则解码器通过应用在本实施方式中提出的强滤波器执行去块滤波(s2610)。

如果应用本实施方式中提出的强滤波器,则仅对分别在块边界的左侧和右侧(在垂直边缘的情况下)上的或在块边界的上侧和下侧(在水平边缘的情况下)上的两个像素执行强滤波,这将在后面详细描述。

此外,如果在s2609步骤处相应编码单元(或编码块)的宽度为8或更大,或者如果在s2608步骤处相应编码单元(或编码块)的高度为8或更大,则解码器可以将传统强滤波器应用于相应边缘(s2611)。

这里,例如,关于应用强滤波器的方法,itu-th.265文档可以通过引用合并于本说明书中。

在下文中,将描述根据本发明的一个实施方式的强滤波方法。

本发明提出的强滤波方法使用如图27所示的传统hevc滤波器,但是,可以仅对分别在边界(或边缘)的左侧和右侧(在垂直边缘的情况下)的两个像素应用滤波。另一方面,在水平边缘的情况下,强滤波方法可以仅对分别在边界的左侧和右侧的两个像素应用滤波。

图27例示了根据本发明的一个实施方式的强滤波方法。

图27的(a)例示了在应用根据本发明的一个实施方式的滤波之前的像素,而图27的(b)例示了在应用根据本发明的一个实施方式的滤波之后的像素(阴影像素)。

参照图27和式5,可以仅对分别在垂直边缘的左侧和右侧的两个像素(即p(0,0)、p(1,0)、p(0,1)、p(1,1)、p(0,2)、p(1,2)、p(0,3)、p(1,3)、q(0,0)、q(1,0)、q(0,1)、q(1,1)、q(0,2)、q(1,2)、q(0,3)、q(1,3))应用滤波。

[式5]

p′(0,0)=clip3(p0-2tc,p0+2tc,(p2+2p1+2p0+2q0+q1+4)>>3)

q′(0,0)=clip3(q0-2tc,q0+2tc,(q2+2q1+2q0+2p0+p1+4)>>3)

p′(1,0)=clip3(p1-2tc,p1+2tc,(p2+p1+p0+q0+2)>>2)

q′(1,0)=clip3(q1-2tc,q1+2tc,(q2+q1+q0+p0+2)>>2)

为了便于描述,式5示出了仅对p(0,0)、p(1,0)、q(0,0)和q(1,0)应用强滤波的结果,即p′(0,0)、p′(1,0)、q′(0,0)和q′(1,0);然而,也可以对p(0,1)、p(1,1)、p(0,2)、p(1,2)、p(0,3)、p(1,3)、q(0,1)、q(1,1)、q(0,2)、q(1,2)、q(0,3)和q(1,3)应用强滤波,可以得到p′(0,1)、p′(1,1)、p′(0,2)、p′(1,2)、p′(0,3)、p′(1,3)、q′(0,1),q′(1,1)、q′(0,2)、q′(1,2)、q′(0,3)和q′(1,3)。

此外,本发明中提出的强滤波方法提出了一种使用如图28所示的新滤波器组的方法。

图28例示了根据本发明的一个实施方式的强滤波方法。

图28的(a)例示了在应用根据本发明的一个实施方式的滤波之前的像素。图28的(b)例示了在应用根据本发明的一个实施方式的滤波之后的像素(阴影像素)。

参照图28和式6,可以仅对分别在垂直边缘的左侧和右侧的两个像素(即,p(0,0)、p(1,0)、p(0,1)、p(1,1)、p(0,2)、p(1,2)、p(0,3)、p(1,3)、q(0,0)、q(1,0)、q(0,1)、q(1,1)、q(0,2)、q(1,2)、q(0,3)、q(1,3))应用滤波。

[式6]

p′(0,0)=clip3(p0-2tc,p0+2tc,(p2+p1+2p0+q0+2)>>2)

q′(0,0)=clip3(q0-2tc,q0+2tc,(q1+2q0+p0+2)>>2)

p′(1,0)=clip3(p1-2tc,p1+2tc,(p2+2p1+p0+2)>>2)

q′(1,0)=clip3(q1-2tc,q1+2tc,(q2+2q1+q0+2)>>2)

为了便于描述,式5示出了仅对p(0,0)、p(1,0)、q(0,0)和q(1,0)应用强滤波的结果,即p′(0,0)、p′(1,0)、q′(0,0)和q′(1,0);然而,也可以通过对p(0,1)、p(1,1)、p(0,2)、p(1,2)、p(0,3)、p(1,3)、q(0,1)、q(1,1)、q(0,2)、q(1,2)、q(0,3)和q(1,3)应用强滤波,可以得到p'(0,1)、p'(1,1)、p'(0,2)、p'(1,2)、p'(0,3)、p'(1,3)、q'(0,1)、q'(1,1)、q'(0,2)、q'(1,2)、q'(0,3)和q'(1,3)。

在式5和式6中,p0、p1和p2分别对应于p(0,0)、p(1,0)和p(2,0),而q1、q2和q3分别对应于q(0,0)、q(1,0)和q(2,0)。

此外,在式5和式6中,clip3函数可以由式7定义

[式7]

另外,在式5和式6中,x>>y表示x的二进制补码算术右移y二进制数位。此函数是仅针对y的非负整数值定义的。作为右移结果而移位到最高有效位(msb)的比特与应用移位操作之前的x的msb具有相同的值。

另外,在式5和式6中,基于量化参数(q)确定变量(参数)tc(即,tc)。

这里,关于用于确定变量(参数)tc(即,tc)的方法,itu-th.265文档通过引用合并于本说明书中。

如上所述,本实施方式还可以最小化可能是由于在传统方法中去块滤波器未应用于小块而导致的主观图像质量的劣化,并且与实施方式1至实施方式3不同,通过适应性地应用滤波器,图像质量的劣化也可以最小化。

实施方式2

在qtbt块分区结构中,由于通过参考相对于先前的块边界进行了滤波的像素的值来检查用于应用和选择滤波器的条件,因此可能出现问题。

因此,对于qtbt结构的去块滤波器,本发明的一个实施方式提出了一种方法,该方法用于通过对于垂直边缘的滤波参考水平长度为4以小的块的边界处的未滤波的像素,而对于水平边缘的滤波参考在垂直长度为4或更小的块的边界处的未滤波的像素,来确定是否执行滤波以及确定自适应滤波器。

在本发明的一个实施方式中,关于滤波垂直边缘的过程描述了该方法。除了参考在块边界的上侧和下侧上的像素并且考虑垂直长度的不同之处之外,滤波水平边缘的过程与滤波垂直边缘的过程相同。

图29示出了当垂直边缘滤波应用于水平长度为4或更小的块时的滤波结果。

图29的(a)例示了在滤波垂直边缘时在水平长度为4或更小的块中应用滤波之前的像素,而图29的(b)例示了在应用滤波之后的像素(阴影像素)。

本发明的一个实施方式提出了一种使用未滤波的像素来确定是否执行滤波和选择滤波器的方法,如图30所示。

图30例示了根据本发明的一个实施方式的用于确定是否执行滤波和选择滤波器的方法。

对于相邻块边界之间的水平长度为4或更小的块,解码器通过使用未滤波的像素来检查(b)用于执行滤波的条件和(c)用于适应性地选择滤波器的条件,如图30的(a)所示。

换句话说,如下面的式8所示,解码器可以通过在对垂直边缘进行滤波时使用在水平长度为4或更小的块中的未滤波的像素来确定是否执行滤波。

[式8]

①dp0=|p(2,0)-2×p(1,0)+p(0,0)|

②dp3=|p(2,3)-2×p(1,3)+p(0,3)|

③dq0=|q(2,0)-2×q(1,0)+q(0,0)|

④dq3=|q(2,3)-2×q(1,3)+q(0,3)|

⑤dpq0=dp0+dq0

⑥dpq3=dp3+dq3

⑦d=dpq0+dpq3

此外,在对垂直边缘进行滤波时,解码器可以通过使用向其他相邻块边界应用滤波之前的像素来确定用于水平长度为4或更小的块的滤波类型,如式9所示。

[式9]

①(β>>2)>2×(dp0+dq0)

②(β>>2)>2×(dp3+dq3)

③(β>>3)>{(p(3,0)-p(0,0))+(q(3,0)-q(0,0))}

④(β>>3)>{(p(3,3)-p(0,3))+(q(3,3)-q(0,3))}

⑤((5×tc+1)>>1)>|p(0,0)-q(0,0)|

⑥((5×tc+1)>>1)>|p(0,3)-q(0,3)|

此外,通过参考经滤波的像素来确定是否执行滤波和滤波器类型仅应用于与其他相邻块边界的水平长度小于或等于4的块边界。

由于这些原因,代替根据块尺寸确定参考像素(例如,水平长度为4或更小的块,或者垂直长度为4或更小的块)以确定是否执行滤波和滤波器类型,本发明提出了一种用于参考未滤波的像素以确定是否对所有块边界执行滤波和滤波器类型的方法。

图31例示了根据本发明的一个实施方式的去块滤波方法。

参照图31,解码器确定它是否对应于编码单元(或编码块)的边界(s3101)。

如果在s3101步骤处它不对应于编码单元(或编码块)的边界,则解码器终止去块滤波。

另一方面,如果在s3101步骤处像素对应于编码单元(或编码块)的边界,则解码器检查用于应用去块滤波器的条件(s3102),并且基于用于应用去块滤波器的条件来确定是否对相应边界应用去块滤波器(s3103)。

此时,为了确定是否应用去块滤波器,解码器可以使用由未滤波的像素组成的图片作为输入。

这时,上面的式8可以用作用于应用去块滤波器的条件。

如果在s3103步骤处解码器确定在编码单元(或编码块)的边界处不应用去块滤波器(即,不满足用于应用去块滤波器的条件),则解码器终止去块滤波。

另一方面,如果在s3103步骤处解码器确定在编码单元(或编码块)的边界处应用去块滤波器(即,满足用于应用去块滤波器的条件),则解码器检查用于选择滤波器组的条件(s3104),并基于用于选择滤波器组的条件确定在相应边界处是否应用强滤波器(s3105)。

此时,为了确定是否应用强滤波器,解码器可以使用由未滤波的像素组成的图片作为输入。

此时,可以使用式9作为用于选择滤波器组的条件。

如果在s3105步骤处确定应用强滤波器(例如,如果式9表示的条件都满足),则解码器可以将强滤波器应用于相应边界(s3106)。

此时,为了应用强滤波器,解码器可以使用重构的图片作为输入。

此时,关于强滤波器的应用,可以使用实施方式1至实施方式4中提出的方法。

这里,例如,关于应用强滤波器的方法,itu-th.265文档可以通过引用合并于本说明书中。

此外,如果在s3105步骤处确定不应用强滤波器(例如,如果式9的条件中的任何一个不满足),则解码器可以将弱滤波器应用于相应边缘(s3107)。

此时,为了应用弱滤波器,解码器可以使用重构的图片作为输入。

这里,例如,关于应用弱滤波器的方法,itu-th.265文档可以通过引用合并于本说明书中。

在s3106和s4107步骤中,已经应用了强滤波器的像素和已经应用了弱滤波器的像素可以作为输出反映在重构的图片中。

如图31所示,解码器可以通过参考未滤波的像素来确定是否应用滤波器以及用于选择滤波器组的条件是否满足,但是可以使用经解码的像素进行实际滤波。

如上所述,根据本实施方式,当确定在块边界处是否应用滤波以并行实现去块滤波时,通过关于相邻块边界参考未滤波的像素而不是已经滤波的像素来确定滤波,从而使得能够并行实现。

实施方式3

本发明的一个实施方式提出了一种用于对qtbt结构的色度分量适应性地执行去块滤波的方法。

在qtbt分区结构中,i-条带可以被细分为使得亮度区域和色度区域具有不同的块结构。由于色度分量和亮度分量具有不同的块边缘,因此通过检查滤波所应用于的块边界来分别执行滤波。

然而,如果直接使用传统hevc去块方法,则出现的问题在于:对于亮度分量在相同条件下计算bs并且在bs为2的块边界处执行滤波。

图32例示了当hevc去块滤波以相同方式应用于qtbt块分区结构时引起的问题。

参照图32,解码器开始图片环路滤波器(loopfilterpic)处理,并且如果通道类型是亮度(s3201),则执行cu去块(xdeblockcu)处理(s3202、s3203)。

在图32中,带有虚线的框内的处理例示了xdeblockcu。

解码器确定条带类型是否是i-条带(s3204)。

如果在s3204步骤处条带类型是i-条带,并且通道类型是色度(s3205),则执行cu去块(xdeblockcu)处理(s3202、s3203)。

此外,如果在s3204步骤处条带类型不是i-条带,则解码器终止图片环路滤波器(loopfilterpic)处理。

解码器确定当前块(例如,ctu或根据qtbt结构从ctu细分出的块)是否被细分为四叉树(qt)结构(s3206)。

如果在s3206步骤处当前块被细分为四叉树(qt)结构,则其宽度值右移1位(宽度>>1)并且高度值也右移1位(高度>>1)。换句话说,当前块沿垂直方向和水平方向被对半细分。

解码器对四个细分块中的每一个执行cu去块(xdeblockcu)处理(s3208、s3209)。

另一方面,如果在s3206步骤处当前块未被细分为四叉树(qt)结构,则解码器确定当前块是否被细分为二叉树(bt)结构(s3210)。

如果在s3210步骤处当前块被细分为二叉树(bt)结构,则解码器确定bt模式是否是水平细分(s3211)。

如果在s3211步骤处bt模式是水平细分,则解码器仅将高度值右移1位(高度>>1)(s3212)。换句话说,当前块沿水平方向被对半细分。此外,解码器对两个细分块各自执行cu去块(xdeblockcu)处理(s3213、s3214)。

另一方面,如果在s3211步骤处bt模式不是水平细分,则解码器仅将宽度值右移1位(宽度>>1)(s3215)。换句话说,当前块沿垂直方向被对半细分。此外,解码器对两个细分块各自执行cu去块(xdeblockcu)处理(s3216、s3217)。

另一方面,如果在s3210步骤处当前块未被细分为二叉树(bt)结构,则解码器计算边界强度(bs)或边界滤波强度(s3218)。

解码器确定当前块是否是亮度块(s3219)。

如果在s3219步骤处当前块是亮度块,则解码器对亮度块的边缘执行滤波(s3210)。

换句话说,如式1和式2所示,解码器可以确定是否应用去块滤波器并且如果应用去块则确定滤波器类型,之后解码器可以根据确定的滤波器类型执行去块滤波。

此外,如果在s3219步骤处当前块不是亮度块,则在当前块是色度块或不是i-条带并且色度分量格式不是4:0:0(!400)时(s3221),解码器对色度块的边缘执行滤波(xedgefilterchroma)(s3222)。

换句话说,如式1和式2所示,解码器可以确定是否应用去块滤波器并且如果应用去块则确定滤波器类型,之后解码器可以根据确定的滤波器类型执行去块滤波。

如图32所示,如果在与亮度分量相同的条件下计算出的bs值是2,则在不涉及关于是否对色度块的边缘执行单独滤波的计算的情况下,执行对色度块的边缘的滤波处理(xedgefilterchroma)。

因此,出现的问题在于:对i-条带的色度分量无法高效地执行去块滤波器。

为了解决上述问题,本发明的一个实施方式提出了一种用于将去块滤波器应用于色度分量的方法,如图33所示。

图33例示了根据本发明的一个实施方式的去块滤波方法。

参照图33,解码器开始图片环路滤波器(loopfilterpic)处理,并且如果通道类型是亮度(s3301),则执行cu去块(xdeblockcu)处理(s3302、s3303)。

在图33中,带有虚线的框内的处理例示了xdeblockcu。

解码器确定条带类型是否是i-条带(s3304)。

如果在s3304步骤处条带类型是i-条带,并且通道类型是色度(s3305),则执行cu去块(xdeblockcu)处理(s3302、s3303)。

此外,如果在s3304步骤处条带类型不是i-条带,则解码器终止图片环路滤波器(loopfilterpic)处理。

解码器确定当前块(例如,ctu或根据qtbt结构从ctu细分出的块)是否被细分为四叉树(qt)结构(s3306)。

如果在s3306步骤处当前块被细分为四叉树(qt)结构,则其宽度值右移1位(宽度>>1)并且高度值右移1位(高度>>1)(s3307)。换句话说,当前块沿垂直和水平方向被对半细分。

解码器对四个细分块中的每一个执行cu去块(xdeblockcu)处理(s3308、s3309)。

另一方面,如果在s3306步骤处当前块没有被细分为四叉树(qt)结构,则解码器确定当前块是否被细分为二叉树(bt)结构(s3310)。

如果在s3310步骤处当前块被细分为二叉树(bt)结构,则解码器确定bt模式是否是水平细分(s3308)。

如果在s3311步骤处bt模式是水平细分,则解码器仅将高度值右移1位(高度>>1)(s3312)。换句话说,当前块沿水平方向被对半细分。此外,解码器对两个细分块各自执行cu去块(xdeblockcu)处理(s3313、s3314)。

另一方面,如果在s3311步骤处bt模式不是水平细分,则解码器仅将宽度值右移1位(宽度>>1)(s3315)。换句话说,当前块沿垂直方向被对半细分。此外,解码器针对两个细分块中的每一个执行cu去块(xdeblockcu)处理(s3316、s3317)。

另一方面,如果在s3310步骤处当前块未被细分为二叉树(bt)结构,则解码器计算边界强度(bs)或边界滤波强度(s3318)。

解码器确定当前块所属的条带是否是i-条带(s3319)。

如果在s3319步骤处当前块所属的条带不是i-条带,则解码器确定当前块是否是亮度块(s3320)。

如果在s3319步骤处当前块所属的条带是i-条带或者如果在s3320步骤处当前块是亮度块,则解码器对亮度块的边缘执行滤波(xedgefilterluma)(s3321)。

换句话说,如果当前块所属的条带是i-条带,则即使当前块是色度通道,解码器也可以附加计算(确定)是否以与对亮度分量所执行的相同方式在块边界处执行滤波,并选择性地对其应用强弱滤波。

此时,用于确定是否执行滤波和/或确定滤波类型(例如,强滤波或弱滤波)的方法可以使用以上实施方式1和/或2中描述的方法。

类似地,关于用于确定是否执行滤波和/或确定滤波类型(例如,强滤波或弱滤波)的方法,itu-th.265文档可以通过引用合并于本说明书中。

此外,如果在s3320步骤处当前块不是亮度块,则在当前块是色度块,并且色度分量格式不是4:0:0(即,400)时(s3322),解码器对色度块的边缘执行滤波(xedgefilterchroma)(s3323)。

换句话说,在亮度块结构和色度块结构相同的b-条带的情况下,如在现有方法中执行地那样,可以在bs为2以上的块边界处执行滤波。

图33例示了根据本发明的一个实施方式的去块滤波方法。

参照图33,解码器提取以四叉树和二叉树结构细分的块的边缘(s3301)。

解码器确定块边界当中的要对其应用去块滤波的边缘(s3302)。

换句话说,解码器从块边界当中确定要被应用去块滤波的边缘。

此时,可以通过考虑块的宽度或高度来确定边缘。

例如,如在实施方式1-1中,当边缘类型是垂直边缘时,如果块宽度为4或更小,则可以基于已经应用了去块滤波的像素来确定边缘。此外,当边缘类型是水平边缘时,如果块高度为4或更小,则可以基于已经应用了去块滤波的像素来确定边缘。

在另一示例中,如在实施方式1-2中,当边缘类型是垂直边缘时,可以仅从宽度为8或更大的块的边界中确定边缘(即,不向宽度为4或更小的块的边界应用滤波)。类似地,当边缘类型是水平边缘时,可以仅从高度为8或更大的块的边界中确定边缘(即,不向高度为4或更小的块的边界应用滤波)。

在又一示例中,如在实施方式2中那样,还可以基于应用去块滤波之前的像素确定边缘。

解码器确定要应用于边缘的去块滤波的类型(s3303)。

例如,解码器可以确定对边缘应用强滤波还是弱滤波。

此时,可以通过考虑块的宽度或高度来确定去块滤波器类型。

例如,如在实施方式1-1中,如果边缘类型是垂直边缘,并且块宽度为4或更小,则可以基于已经应用了去块滤波的像素来确定去块滤波类型。类似地,如果边缘类型是水平边缘,并且块高度为4或更小,则可以基于已经应用了去块滤波的像素来确定去块滤波类型。

在另一示例中,如在实施方式1-3中,如果边缘类型是垂直边缘,并且块宽度为4或更小,则可以将去块滤波类型确定为弱滤波。类似地,如果边缘类型是水平边缘,并且块高度为4或更小,则可以将去块滤波类型确定为弱滤波。

在又一示例中,如在实施方式1-4中,如果边缘类型是垂直边缘,并且块宽度为4或更小,则可以将去块滤波类型确定为强滤波,并且可以将强滤波仅应用于分别在边缘左侧和右侧的两个像素列。类似地,如果边缘类型是水平边缘,并且块高度为4或更小,则可以将去块滤波类型确定为强滤波,并且可以将强滤波仅应用于分别在边缘的上侧和下侧的两个像素列。

在又一示例中,如在实施方式2中,可以基于应用去块滤波之前的像素来确定去块滤波类型。

在又一示例中,如在实施方式3中,如果块所属的条带是i-条带,则在s3302步骤中不管块是否是色度块都确定边缘,并且可以在s3303步骤中确定去块滤波类型。

解码器根据去块滤波类型对重构的图片样本执行去块滤波(s3304)。

图35例示了根据本发明的一个实施方式的去块滤波单元。

参照图35,去块滤波单元实现以上图6至图34中提出的功能、处理和/或方法。此外,通过与图1中所例示的编码器的全部或部分组成元件结合,去块滤波单元可以实现为编码装置,或者通过与图2所示的解码器的全部或部分组成元件结合,去块滤波单元可以实现为解码装置。

更具体地,去块滤波单元可以包括块边界提取单元3501、边缘确定单元3502、滤波类型确定单元3503和滤波单元3504。

块边界提取单元3501提取以四叉树和二叉树结构细分的块的边界。

边缘确定单元3502确定要应用去块滤波的边缘。

换句话说,边缘确定单元3502确定块边界当中的要应用去块滤波的边缘。

此时,可以通过考虑块的宽度或高度来确定边缘。

例如,如在实施方式1-1中,如果边缘类型是垂直边缘,并且块宽度为4或更小,则可以基于已经应用了去块滤波的像素来确定边缘。另外,如果边缘类型是水平边缘,并且块高度为4或更小,则可以基于已经应用了去块滤波的像素来确定边缘。

在另一示例中,如在实施方式1-2中,如果边缘类型是垂直边缘,并且块宽度为8或更大,则可以仅在宽度为8或更大的块的边界中确定边缘。(即,对宽度为4或更小的块的边界不应用滤波)。另外,如果边缘类型是水平边缘,并且块高度为8或更大,则可以仅在高度为8或更大的块的边界中确定边缘(即,对高度为4或更小的块的边界不应用滤波)。

在又一示例中,如在实施方式2中,可以基于应用去块滤波之前的像素确定边缘。

滤波类型确定单元3503确定要应用于边缘的去块滤波的类型。

例如,滤波类型确定单元3503可以确定对边缘应用强滤波还是弱滤波。

此时,可以通过考虑块的宽度或高度来确定去块滤波的类型。

例如,如在实施方式1-1中,如果边缘类型是垂直边缘,并且块宽度为4或更小,则可以基于已经应用了去块滤波的像素来确定去块滤波的类型。此外,如果边缘类型是水平边缘,并且块高度为4或更小,则可以基于已经应用了去块滤波的像素来确定去块滤波的类型。

在另一示例中,如在实施方式1-3中,如果边缘类型是垂直边缘,并且块宽度为4或更小,则可以将去块滤波的类型确定为弱滤波。另外,如果边缘类型是水平边缘,并且块高度为4或更小,则可以将去块滤波的类型确定为弱滤波。

在又一示例中,如在实施方式1-4中,如果边缘类型是垂直边缘,并且块宽度为4或更小,则可以将去块滤波的类型确定为强滤波,并且强滤波可以仅应用于分别位于边缘的左侧和右侧的两个像素列。此外,如果边缘类型是水平边缘,并且块高度为4或更小,则可以将去块滤波的类型确定为强滤波,并且强滤波可以仅应用于分别在边缘的上侧和下侧上的两个像素列。

在又一示例中,如在实施方式2中,可以基于应用去块滤波之前的像素来确定去块滤波的类型。

在又一示例中,如在实施方式3中,如果块所属的条带是i-条带,则在s3302步骤处不管块是否是色度块都确定边缘,以及在s3303步骤处可以确定去块滤波类型。

滤波单元3504根据去块滤波类型对重构的图片样本执行去块滤波。

以上描述的实施方式是本发明的元件和特征的组合。除非另有说明,否则可以认为元件或特征是选择性的。每个元件或特征可以在不与其他元件或特征组合的情况下实施。此外,可以通过组合元件和/或特征中的一部分来构造本发明的实施方式。在本发明的实施方式中描述的操作顺序可以重新排列。任何一个实施方式的一些结构可以包括在另一个实施方式中,并且可以用另一个实施方式的相应结构代替。显然,提交申请之后,在所附权利要求中未明确引用的权利要求可以组合呈现来作为本发明的示例性实施方式,或者通过随后的修改作为新的权利要求包括进来。

可以通过例如,硬件、固件、软件或其组合的各种手段来实现本发明的实施方式。在硬件配置中,根据本发明的实施方式的方法可以通过一个或更多个asic(专用集成电路)、dsp(数字信号处理器)、dspd(数字信号处理设备)、pld(可编程逻辑器件)、pga(现场可编程门阵列)、处理器、控制器、微控制器、微处理器等来实现。

在固件或软件配置中,本发明的实施方式可以以模块、过程、功能等的形式实现。软件代码可以存储在存储器单元中并由处理器执行。存储器单元可以位于处理器的内部或外部,并且可以通过各种已知手段将数据发送到处理器以及从处理器接收数据。

本领域技术人员将理解,在不脱离本发明的精神和基本特征的情况下,本发明可以以除了本文所提出之外的其他特定方式实施。因此,上述实施方式在所有方面都被解释为示例性的而非限制性的。本发明的范围应由所附权利要求及其合法等同物来确定,而不是由以上描述确定,并且落入所附权利要求的含义和等同范围内的所有变型都旨在包含在其中。

工业实用性

本发明的上述优选实施方式仅是示例性的,并非旨在代表本发明的所有方面,并且本领域技术人员应该理解,本发明将覆盖落入本发明的精神和范围内的所有变型、等同物和替代物。

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