[0058] 与样本块2相关联的并且识别第一预测块20的运动矢量21同与相邻样本块3相关联并且识别第二预测块30的运动矢量31可以具有相同的矢量坐标,即,MVP=MVQ=(x,y)。或者,x坐标和y坐标中的至少一个在运动矢量21、31之间不同。在特定实施例中,在水平方向(x坐标)和垂直方向(y坐标)两者上,与样本块2相关联的运动矢量21同与相邻样本块3相关联的运动矢量31之间的任何差小于先前提到的阈值(优选地为4),即|xP–xQ|
[0059] 如果运动矢量21、31之间的差等于或大于阈值,则根据现有技术,通过将边界强度BS设置为大于0的值,优选地将去块滤波应用于块边界4,如前所述。
[0060] 实施例的去块滤波控制至少部分地基于参考图片10中的第一和第二预测块20、30中的样本预测值的相应大小修改,来执行是否应用去块滤波的决定。这意味着:即使第一和第二预测块20、30相同或者运动矢量21、31之间的差不大于阈值,如果与第二预测块30中的样本预测值相比,已经对第一预测块20中的样本预测值应用了不同的大小修改,则对块边界4应用去块滤波也可能是有益的。
[0061] 因此,实施例提供关于去块滤波控制的新标准。该标准涉及对预测块20、30中的样本预测值的大小修改。该新标准可以在去块滤波控制中单独使用。在备选实施例中,该标准与其他标准一起用于决定是否应用去块滤波。这意味着步骤S1中的决定可以仅基于大小修改、或者至少部分地基于大小修改,这将在后文中进一步描述。
[0062] 这里使用的大小修改表示:改变预测块20、30中的样本预测值的大小的修改。这种大小修改的非限制性但示例性的示例包括权重和偏移。例如,应用于预测块20、30的权重将对样本预测值进行缩放,即,将样本预测值vij改变为weight×vij。相应地,应用于预测块20、30的偏移将修改样本预测值的大小,即,将样本预测值vij改变为vij+offset。
[0063] 在特定实施例中,第一大小修改是对第一预测块20中的平均样本预测值的第一大小修改,第二大小修改是对第二预测块30中的平均样本预测值的第二大小修改。换句话说,第一和第二大小修改将修改预测块20、30中的平均样本预测值。
[0064] 因此,第一和第二大小修改不必(但可以)修改第一和第二预测块20、30中的所有样本的样本预测值的大小。然而,应用于预测块20、30中的至少一个(通常是多个)样本的修改将改变预测块20、30的平均样本预测值。
[0065] 图5是示出了去块滤波控制方法的附加可选步骤的流程图。在该实施例中,在步骤S10中比较样本预测值的第一大小修改和样本预测值的第二大小修改。该方法然后继续执行图4中的步骤S1。在该实施例中,步骤S1包括:基于对样本预测值的第一大小修改与样本预测值的第二大小修改的比较,决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0066] 因此,在该实施例中,将两个大小修改相互比较,然后基于该比较(即第一和第二大小修改彼此相差多少),做出是否应用任何去块滤波的决定。
[0067] 图6是示出了根据另一实施例的去块滤波控制方法的流程图。在可选步骤S20中,将样本预测值的第一大小修改与样本预测值的第二大小修改之间的差与阈值(T)进行比较。如果样本预测值的第一大小修改与样本预测值的第二大小修改之间至少相差该阈值,则该方法继续执行步骤S21。该步骤S21包括:决定去块滤波可以应用于样本块2和相邻样本块3中的样本值。然而,如果样本预测值的第一大小修改与样本预测值的第二大小修改之间未至少相差该阈值,则该方法继续执行步骤S22。步骤S22包括:决定不对样本块2和相邻样本块3中的样本值应用去块滤波。
[0068] 因此,如果第一和第二大小修改之间的差很大(即,等于或大于阈值),则可以应用去块滤波,否则不应用去块滤波。该差可以是样本预测值的第一大小修改(MMP)与样本预测值的第二大小修改(MMQ)之间的:简单差,即(MMP–MMQ);绝对差值,即|MMP–MMQ|;或者平方差,即(MMP–MMQ)2。在后两种情况下,仅MMP和MMQ的大小是相关的,符号并不相关。
[0069] 在另一实施例中,如果样本预测值的第一和第二大小修改之间的差大于阈值,则该方法从步骤S20继续执行步骤S21,否则继续执行步骤S22。
[0070] 在特定实施例中,阈值是1。在另一特定实施例中,阈值是2。可选地,对于较大的比特深度,阈值可以较大。
[0071] 代替在步骤S20中计算大小修改之间的差,可以计算大小修改之间的商,例如MMP/MMQ或MMQ/MMP。在这种情况下,如果商为1或接近于1,即≥Tmin但≤Tmax或>Tmin但1,则该方法从步骤S20继续执行步骤S22,否则,该方法从步骤S20继续执行步骤S21。
[0072] 如前所述,在HEVC中,边界强度BS参数用于决定是否应用去块滤波。通常,如果BS大于0(通常为1或2),则可以应用去块滤波,但是如果BS等于0,则不应用去块滤波。
[0073] 本实施例可用于设置去块滤波控制方法中的边界强度BS的值。在图7中示出了这种实施例。在该实施例中,步骤S30包括:基于样本预测值的第一大小修改和样本预测值的第二大小修改,确定边界强度参数的值。该方法然后继续执行图4中的步骤S1。在该实施例中,步骤S1包括:基于边界强度参数的值,决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0074] 该实施例可以与图5和图6中所示的实施例组合。因此,基于(如图5中的步骤S10中所执行的)对样本预测值的第一大小修改与样本预测值的第二大小修改的比较,确定边界强度参数的值。相应地,在一个实施例中,图6的步骤S21包括:将边界强度参数设置为大于0的值,然后决定可以应用去块滤波,因为边界强度参数具有大于0的值。因此,步骤S22优选地包括:将边界强度参数设置为0,从而决定不应用去块滤波。
[0075] 在特定实施例中,边界强度参数被初始化为0。然后,检查如步骤S20所示的标准,如果满足该标准,则将边界强度参数的值设置为大于0的值,例如1。但是,如果不满足该标准,则不会改变边界强度的初始值。因此,在这样的实施例中,步骤S22包括:保持边界强度参数值为0,从而决定不应用去块滤波。
[0076] 根据实施例的基于大小修改对边界强度参数的值的确定可以与先前描述的关于设置边界强度参数的值的HEVC的标准进行组合。
[0077] 在这样的实施例中,当满足以下任何标准时,确定边界强度参数BS大于0:
[0078] ·两个样本块2、3中的至少一个使用帧内预测作为预测模式。
[0079] ·两个样本块2、3使用不同数量的运动矢量21、31和/或不同数量的参考图片10。
[0080] ·两个样本块2、3使用不同的参考图片10。
[0081] ·两个样本块2、3使用相同的参考图片10,但是运动矢量21、31之间的差在水平或垂直方向上等于或大于阈值4。
[0082] ·两个样本块2、3的预测块20、30中的样本预测值的大小修改之间的差等于或大于阈值。
[0083] 在特定实施例中,如果满足上述第一标准,即,如果两个样本块2、3中的至少一个使用帧内预测作为预测模式,则边界强度参数BS被设置为2,如果满足任何其他标准,则该参数被设置为1;如果不满足任何标准,则该参数被设置为0。在该特定实施例中,与大小修改有关的标准是添加到四个标准的列表中的额外标准。
[0084] 通常,如果边界强度参数BS具有值1或2,则可以将去块滤波应用于样本块2中的亮度值和相邻样本块3中的亮度值。如果边界强度参数BS具有值2,则可以将去块滤波应用于样本块2中的色度值和相邻样本块3中的色度值。如果边界强度参数BS具有值0,则对亮度值或色度值均不应用去块滤波。
[0085] 因此,在该特定实施例中,如果满足实施例的标准,即,如果满足基于预测块20、30中的样本预测值的大小修改的标准,则边界强度参数BS被设置为1,并且可以将去块滤波应用于样本块2中的亮度值和相邻样本块3中的亮度值。然而,在一个实施例中,由于边界强度参数BS具有值1而不是2,因此不对色度值应用去块滤波。
[0086] 在另一特定实施例中,如果满足上述第一标准,则边界强度参数BS被设置为2,如果满足第二至第四标准中的任何一个而不满足第五标准,则该参数被设置为1,如果满足第二至第四标准中的任何一个并满足第五标准,则该参数被设置为2,否则被设置为0。在该特定实施例中,与大小修改有关的第五标准是当满足与帧间预测有关的三个标准中的任何一个时检查的额外标准。因此,使用第五标准来确定是将边界强度参数BS设置为值1还是值2。这意味着第五标准用于决定是仅对样本块2和相邻样本块中的亮度值应用去块滤波,还是对样本块2和相邻样本块3中的亮度值和色度值两者应用去块滤波。
[0087] 在特定实施例中,第五个即最后一个标准被定义为:
[0088] ·两个样本块2、3使用相同的参考图片10,在水平方向和垂直方向两者上运动矢量21、31之间的差均小于阈值4,并且两个样本块2、3的预测块20、30中的样本预测值的大小修改之间的差等于或大于阈值。
[0089] 因此,在该特定实施例中,仅在不满足三个其他帧间预测相关标准中的任一标准时,才检查并应用第五标准。
[0090] 在一个实施例中,样本预测值的大小修改不仅仅用于决定是否应用去块滤波。在该实施例中,大小修改还用于决定是对样本块2和相邻样本块3中的样本值应用强去块滤波还是弱去块滤波。
[0091] 通常,与弱去块滤波相比,强去块滤波对样本块2和相邻样本块3中的样本值进行更大的滤波。
[0092] 在这样的实施例中,图4中的步骤S1包括:基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定对样本块2和相邻样本块3中的样本值应用去块滤波。该方法然后继续执行图8中的步骤S41。该步骤S41包括:基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定是对样本块2和相邻样本块3中的样本值应用强去块滤波还是弱去块滤波。
[0093] 在HEVC中,如果满足以下标准,则对样本值应用强去块滤波,否则应用弱去块滤波,参见图2:
[0094]
[0095]
[0096] |p0i-q0i|<((5×tC+1)>>1)=2.5×tC,其中i=0,3。
[0097] 在HEVC中,参数β,tC的值取决于样本块2的量化参数,如[1]的表8-11“从输入Q导出阈值变量β′和tC′”所示。有关强去块滤波和弱去块滤波的更多信息,请参见[1]中的第8.7.2.5.7节“亮度样本的滤波处理”。
[0098] 在一个实施例中,去块滤波控制方法包括如图9所示的附加的可选步骤S40。该步骤S40包括:基于样本预测值的第一大小修改和样本预测值的第二大小修改,确定从由β和tC组成的组中选择的至少一个参数的值。然后,去块滤波控制方法继续执行图8中的步骤S41。在该实施例中,步骤S41包括:如果
[0099] 2×(|p2i-2p1i+p0i|+|q2i-2q1i+q0i|)<(β>>2),
[0100] |p3i-p0i|+|q3i-q0i|<(β>>3)以及
[0101] |p0i-q0i|<((5×tC+1)>>1),其中i=0,3,则决定对样本块2和相邻样本块3中的样本值应用强去块滤波,否则,决定对样本块2和相邻样本块3中的样本值应用弱去块滤波。参考图2,p0i表示样本块2中的第i行样本5中相对于块边界4的第一个样本的样本值,p1i表示样本块2中的第i行样本5中相对于块边界4的第二个样本的样本值,p2i表示样本块2中的第i行样本5中相对于块边界4的第三个样本的样本值。相应地,q0i表示相邻样本块3中的第i行样本5中相对于块边界4的第一个样本的样本值,q1i表示相邻样本块3中的第i行样本5中相对于块边界4的第二个样本的样本值,q2i表示相邻样本块3中的第i行样本5中相对于块边界4的第三个样本的样本值。
[0102] 在一个实施例中,基于大小修改在步骤S40中确定参数β的值。在另一实施例中,基于大小修改在步骤S40中确定参数tC的值。在另一实施例中,基于大小修改在步骤S40中确定参数β和tC的值。
[0103] 在这些实施例中,参数β和/或tC的值可以仅基于大小修改来确定,或者至少部分地基于大小修改来确定。在后一种情况下,使用至少一个其他参数来确定参数β和/或tC的值。该至少一个其他参数优选地是样本块2的量化参数,例如[1]中的表8-11“从输入Q导出阈值变量β′和tC′”中列出的量化参数Q。
[0104] 例如,参数β和/或tC的值可以基于第一大小修改和第二大小修改之间的差或商来确定。通常,第一和第二大小修改之间的差越大,则参数β和/或tC的值越高。这进一步意味着与具有较低的参数β和/或tC的值相比,更有可能针对样本块2和块边界4选择强去块滤波。
[0105] 或者,可以基于例如量化参数来确定参数β和tC的初始值。然后可以基于大小修改来修改或调整初始值。例如,参数β=βI+βM或β=βM×βI,其中βI表示参数β的初始值,βM表示基于大小修改确定的、应用于初始值的修改。相同的原理可以应用于参数tC。在这种情况下,对于第一和第二大小修改之间的较大的差而言,对参数β和/或tC的修改通常较大。
[0106] 基于大小修改的、关于应用强去块滤波或弱去块滤波的决定可以独立于基于大小修改的、关于是否应用去块滤波的决定而使用。该实施例在图10的流程图中示出。因此,实施例涉及去块滤波控制方法。去块滤波控制方法包括:在步骤S51中,决定是对图片1中的样本块2和所述图片1中的相邻样本块3中的样本值应用强去块滤波还是弱去块滤波,所述决定基于:i)针对所述样本块2的参考图片10中的第一预测块20中的样本预测值的第一大小修改;以及ii)针对所述相邻样本块3的所述参考图片10中的第二预测块30中的样本预测值的第二大小修改。样本块2和相邻样本块3在图片1中由块边界4分隔。
[0107] 在一个实施例中,去块滤波控制方法还包括步骤S50。该步骤S50包括:基于样本预测值的第一大小修改和样本预测值的第二大小修改,确定从由β和tC组成的组中选择的至少一个参数的值。然后,去块滤波控制方法继续执行步骤S51。在该实施例中,步骤S51包括:如果
[0108] 2×(|p2i-2p1i+p0i|+|q2i-2q1i+q0i|)<(β>>2),
[0109] |p3i-p0i|+|q3i-q0i|<(β>>3)以及
[0110] |p0i-q0i|<((5×tC+1)>>1),其中i=0,3,则决定对样本块2和相邻样本块3中的样本值应用强去块滤波,否则,决定对样本块2和相邻样本块3中的样本值应用弱去块滤波。
[0111] 在-个实施例中,图4的步骤S1包括:基于样本预测值的第一大小修改、样本预测值的第二大小修改、样本块2中的样本值的平均值以及相邻样本块3中的样本值的平均值,决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0112] 因此,在该实施例中,是否应用去块滤波的决定不仅基于大小修改,而且基于样本块2和相邻样本块3中的平均样本值。例如,样本块2和相邻样本块3的平均样本值之间的差(例如平均亮度值之间的差)可能较大,这使得难以决定平均样本值的较大的差是由预测处理引起的(在这种情况下应该应用去块滤波),还是来自原始
视频信号的属性(在这种情况下不应该应用去块滤波)。因此,如果平均样本值之间的差超过定义的阈值,则不应该应用去块滤波。
[0113] 在特定实施例中,定义的阈值具有与参数tC的缩放相等的值,即γ×tC,其中,γ是正整数值,优选地在1到20的范围内选择,例如1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19或20。
[0114] 可以针对样本块2和相邻样本块3中的所有样本或者针对其子部分计算平均样本值,例如,基于样本块2和相邻样本块3的样本中的、一个或多个所选的第5行样本的样本值,来计算平均样本值。
[0115] 在特定实施例中,由此计算两个差:第一和第二大小修改之间的第一差;以及平均样本值之间的第二差。在这种情况下,如果第一差等于或高于第一阈值但第二差等于或低于第二阈值,则将去块滤波应用于样本块2和相邻样本块3中的样本值,否则不应用去块滤波。
[0116] 因此,在一个实施例中,步骤S1包括:如果样本块2中的样本值的平均值与相邻样本块3中的样本值的平均值之间的差等于或小于阈值,则基于样本预测值的第一大小修改和样本预测值的第二大小修改来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0117] 重叠块
运动补偿(OBMC)是一种用于避免块伪影的技术。使用OBMC时,样本块通常在每个维度上都是两倍大,并且与所有八个相邻样本块在象限上重叠。因此,每个样本属于四个样本块。在这样的方案中,对于每个样本存在四个预测,这四个预测被合计为加权平均值。为此目的,样本块与窗口函数相关联,该窗口函数具有以下特性:四个重叠窗口的总和在任何地方均等于一。这意味着,在OBMC中,不仅基于样本块的运动矢量,而且基于相邻样本块的运动矢量来预测样本块。因此,在一个实施例中,如果使用OBMC预测样本块2和/或相邻样本块3,则禁止执行基于大小修改应用去块滤波的决定。
[0118] 因此,在一个实施例中,图4的步骤S1包括:如果样本块2和相邻样本块3均不是使用OBMC预测的,则基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0119] 在本领域中,存在通常称为加权预测的特殊的帧间预测情况。它是一种用于处理视频序列内的淡入淡出的工具。在淡入淡出的情况下,亮度和亮度水平在若干个图片之间变化。在这种情况下,执行帧间预测的合理方式是首先在当前图片1与其对应的参考图片10之间对齐平均亮度水平。通过使用线性函数模型实现此调整:Y’after=weight×Y’before+offset。加权预测参数weight和offset通常在编码器侧确定,并在比特流中用信号通知给解码器。存在确定加权预测参数的不同方式。在典型实施例中,基于当前图片1与参考图片10之间 的均 值(平 均值) 和方差亮 度差来 确定加权 预测参数 。例如 ,
其中varianceC表示当前图片1的亮度Y’的方差,
并且varianceR表示参考图片10的亮度Y’的方差。相应地,offset=meanC-weight×meanR,其中meanC表示当前图片1中的平均亮度Y’,并且meanR表示参考图片10中的平均亮度Y’。然后,解码器从比特流中解码这些加权预测参数,并在执行帧间预测时使用它们来调整预测块20、30的亮度水平。
[0120] 下表以粗体示出了HEVC中
指定的加权预测参数语法,另请参见[1]中的第7.3.6.3节“加权预测参数语法”。对于每个参考图片列表,即列表0(l0)和列表1(l1),为每个参考图片10指定加权预测参数。
[0121]
[0122]
[0123] 当使用加权预测时,具有仅包含唯一参考图片的参考图片列表并不总是有益的。因为可能存在一些样本块,与其他样本块相比,这些样本块经历不同水平的亮度变化。一个典型的场景是室内音乐演出,其中在主舞台上有很多闪光,但在其他地方却没有那么多。在这种情况下,期望能够对相同参考图片应用不同的加权预测参数。解决方案是复制参考图片列表中的参考图片。在这种情况下,编码器可以用信号通知针对相同参考图片的不同加权预测参数。然后可以通过仅切换参考图片索引来简单地完成加权预测参数的切换。
[0124] 在一个实施例中,第一和第二预测块20、30中的样本预测值的第一和第二大小修改是加权预测参数,例如上述weight,即delta_luma_weight_l0[i]或delta_luma_weight_l1[i],或者offset,即luma_offset_l0[i]或luma_offset_l1[i]。
[0125] 因此,在一个实施例中,图4的步骤S1包括:基于i)第一预测块20的第一加权预测参数的值以及ii)第二预测块30的第二加权预测参数的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0126] 在特定实施例中,第一和第二加权预测参数是加权因子,即参数weight,例如参数delta_luma_weight_l0[i]和/或delta_luma_weight_l1[i]。在这样的特定实施例中,步骤S1包括:基于i)第一预测块20的样本预测值的第一加权因子的值以及ii)第二预测块30的样本预测值的第二加权因子的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0127] 注意,加权因子中的至少一个可以等于1,即,对应于根本不加权。
[0128] 在另一特定实施例中,第一和第二加权预测参数是加性偏移,即参数offset,例如参数luma_offset_l0[i]和/或luma_offset_l1[i]。在该特定实施例中,步骤S1包括:基于i)第一预测块20的样本预测值的第一加性偏移的值和ii)第二预测块30的样本预测值的第二加性偏移的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0129] 注意,加性偏移中的至少一个可以等于零,即,对应于根本不进行加性偏移。
[0130] 在这些实施例中,样本值和样本预测值优选地是亮度值。
[0131] 除了加权预测之外,局部照度补偿(LIC)是另一种解决图片内部的不均匀照度或亮度变化的方法。LIC也基于线性模型。与加权预测相比的差异在于,为每个预测块自适应地设置或导出LIC参数。有关LIC和照度补偿的更多信息,请参见[1]中的第I.8.5.3.3.2节“照度补偿样本预测处理”,其中LIC参数包括指定照度补偿权重的LIC加权因子icWeightL0和icWeightL1,以及指定照度补偿偏移的LIC加性偏移icOffsetL0和icOffsetL1。
[0132] 因此,在一个实施例中,图4的步骤S1包括:基于i)第一预测块20的第一LIC参数的值和ii)第二预测块30的第二LIC参数的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0133] 在特定实施例中,第一和第二LIC参数是LIC加权因子,例如参数icWeightL0和/或icWeightL1。在这样的特定实施例中,步骤S1包括:基于i)第一预测块20的样本预测值的第一LIC加权因子的值和ii)第二预测块30的样本预测值的第二LIC加权因子的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0134] 注意,LIC加权因子中的至少一个可以等于1,即,对应于根本不加权。
[0135] 在另一特定实施例中,第一和第二LIC参数是LIC加性偏移,例如参数icOffsetL0和/或icOffsetL1。在该特定实施例中,步骤S1包括:基于i)第一预测块20的样本预测值的第一LIC加性偏移的值和ii)第二预测块30的样本预测值的第二LIC加性偏移的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0136] 注意,LIC加性偏移中的至少一个可以等于零,即,对应于根本不进行加性偏移。
[0137] 在这些实施例中,样本值和样本预测值优选是亮度值。
[0138] 自适应插值滤波(AIF)是一种对视频序列中的不同图片应用不同插值
滤波器的技术。通常针对每个图片独立地估计滤波器系数。以这种方式,视频序列内的时间冗余进一步减小,因为滤波器系数在局部被更精细地调谐并且更适合于每个图片内的视频内容。
[0139] 在AIF的上下文中,具有不同增益和/或偏移的插值滤波器可以用于第一和第二预测块20、30。在这种情况下,与第二预测块30中的样本预测值相比,对第一预测块20中的样本预测值应用不同的缩放和/或加性偏移。
[0140] 典型的n抽头滤波器可以定义为[c1…cn]/C。在这种情况下,滤波器系数c1/C、……、cn/C的总和通常为1,即(c1+…+cn)/C=1。
[0141] 然而,如果针对两个预测块20、30确定的插值滤波器具有不同的增益,即,总和不为1,则第一和第二预测块20、30的预测样本值将被不同地缩放。这又意味着样本预测值的大小将通过滤波器增益修改(即缩放)。
[0142] 因此,在一个实施例中,图4的步骤S1包括:基于i)用于第一预测块20的第一插值滤波器的第一滤波器参数的值和ii)用于第二预测块30的第二插值滤波器的第二滤波器参数的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0143] 在特定实施例中,步骤S1包括:基于i)第一插值滤波器的第一滤波器增益的值和ii)第二插值滤波器的第二滤波器增益的值,来决定是否对样本块2和相邻样本块3中的样本值应用去块滤波。
[0144] 在一个实施例中,第一插值滤波器的滤波器系数的总和不为1,并且第二插值滤波器的滤波器系数的总和不为1。
[0145] 在特定实施例中,第一插值滤波器是第一自适应插值滤波器,第二插值滤波器是第二自适应插值滤波器。
[0146] 实施例的另一方面涉及一种去块滤波控制设备。去块滤波控制设备被配置为:决定是否对图片中的样本块和所述图片中的相邻样本块中的样本值应用去块滤波,所述决定基于:i)针对所述样本块的参考图片中的第一预测块中的样本预测值的第一大小修改;以及ii)针对所述相邻样本块的所述参考图片中的第二预测块中的样本预测值的第二大小修改。样本块和相邻样本块在图片中由块边界分隔。
[0147] 在一个实施例中,去块滤波控制设备被配置为比较样本预测值的第一大小修改和样本预测值的第二大小修改。在该实施例中,去块滤波控制设备还被配置为:基于对样本预测值的第一大小修改与样本预测值的第二大小修改的比较,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0148] 在特定实施例中,去块滤波控制设备被配置为:如果样本预测值的所述第一大小修改与样本预测值的所述第二大小修改之间至少相差一个阈值,则决定可以对所述样本块和所述相邻样本块中的所述样本值应用去块滤波。去块滤波控制设备还被配置为:如果样本预测值的所述第一大小修改与样本预测值的所述第二大小修改之间未至少相差所述阈值,则决定不对所述样本块和所述相邻样本块中的所述样本值应用去块滤波。
[0149] 在一个实施例中,去块滤波控制设备被配置为:基于样本预测值的第一大小修改和样本预测值的第二大小修改来确定边界强度参数的值。去块滤波控制设备还被配置为:基于边界强度参数的值来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0150] 在一个实施例中,去块滤波控制设备被配置为:基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定对样本块和相邻样本块中的样本值应用去块滤波。去块滤波控制设备还被配置为:基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定是对样本块和相邻样本块中的样本值应用强去块滤波还是弱去块滤波。
[0151] 在一个实施例中,去块滤波控制设备被配置为:基于样本预测值的第一大小修改和样本预测值的第二大小修改,确定从由β和tC组成的组中选择的至少一个参数的值。去块滤波控制设备还被配置为:
[0152] 如果2×(|p2i-2p1i+p0i|+|q2i-2q1i+q0i|)<(β>>2),
[0153] |p3i-p0i|+|q3i-q0i|<(β>>3)以及
[0154] |p0i-q0i|<((5×tC+1)>>1),其中i=0,3,则决定对样本块和相邻样本块中的样本值应用强去块滤波,否则,决定对样本块和相邻样本块中的样本值应用弱去块滤波。
[0155] 在一个实施例中,去块滤波控制设备被配置为:基于样本预测值的第一大小修改、样本预测值的第二大小修改、样本块中的样本值的平均值以及相邻样本块中的样本值的平均值,决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0156] 在特定实施例中,去块滤波控制设备被配置为:如果样本块中的样本值的平均值与相邻样本块中的样本值的平均值之间的差等于或小于阈值,则基于样本预测值的第一大小修改和样本预测值的第二大小修改来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0157] 在一个实施例中,去块滤波控制设备被配置为:如果样本块和相邻样本块均不是使用OBMC预测的,则基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0158] 在一个实施例中,去块滤波控制设备被配置为:基于i)第一预测块的第一加权预测参数的值以及ii)第二预测块的第二加权预测参数的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0159] 在特定实施例中,去块滤波控制设备被配置为:基于i)第一预测块的样本预测值的第一加权因子的值以及ii)第二预测块的样本预测值的第二加权因子的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0160] 在另一特定实施例中,去块滤波控制设备被配置为:基于i)第一预测块的样本预测值的第一加性偏移的值以及ii)第二预测块的样本预测值的第二加性偏移的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0161] 在一个实施例中,去块滤波控制设备被配置为:基于i)第一预测块的第一LIC参数的值以及ii)第二预测块的第二LIC参数的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0162] 在特定实施例中,去块滤波控制设备被配置为:基于i)第一预测块的样本预测值的第一LIC加权因子的值以及ii)第二预测块的样本预测值的第二LIC加权因子的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0163] 在另一特定实施例中,去块滤波控制设备被配置为:基于i)第一预测块的样本预测值的第一LIC加性偏移的值以及ii)第二预测块的样本预测值的第二LIC加性偏移的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0164] 在一个实施例中,去块滤波控制设备被配置为:基于i)用于第一预测块的第一插值滤波器的第一滤波器参数的值和ii)用于第二预测块的第二插值滤波器的第二滤波器参数的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0165] 在特定实施例中,去块滤波控制设备被配置为:基于i)第一插值滤波器的第一滤波器增益的值和ii)第二插值滤波器的第二滤波器增益的值,来决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0166] 实施例的又一方面涉及一种去块滤波控制设备。去块滤波控制设备被配置为:决定是对图片中的样本块和所述图片中的相邻样本块中的样本值应用强去块滤波还是弱去块滤波,所述决定基于:i)针对所述样本块的参考图片中的第一预测块中的样本预测值的第一大小修改;以及ii)针对所述相邻样本块的所述参考图片中的第二预测块中的样本预测值的第二大小修改。在一个实施例中,样本块和相邻样本块在图片中由块边界分隔。
[0167] 在一个实施例中,去块滤波控制设备被配置为:基于样本预测值的第一大小修改和样本预测值的第二大小修改,确定从由β和tC组成的组中选择的至少一个参数的值。去块滤波控制设备还被配置为:
[0168] 如果2×|p2i-2p1i+p0i|<(β>>2),
[0169] |p3i-p0i|+|q3i-q0i|<(β>>3)和
[0170] |p0i-q0i|<((5×tC+1)>>1),其中i=0,3,则决定对样本块和相邻样本块中的样本值应用强去块滤波,否则,决定对样本块和相邻样本块中的样本值应用弱去块滤波。
[0171] 一个实施例涉及一种包括去块滤波控制设备的视频编码器。
[0172] 图11是根据实施例的视频编码器40的示意性框图。
[0173] 通过由
运动估计器50从相同图片和/或参考图片中的已编码和重建的样本块执行运动估计,来预测当前样本块。在帧间预测的情况下,运动估计的结果是运动矢量。运动矢量被运动补偿器50用于输出样本块的帧间预测。
[0174] 帧内预测器49计算当前样本块的帧内预测。来自运动估计器/补偿器50和帧内预测器49的输出在选择器51中输入,选择器51为当前样本块选择帧内预测或帧间预测。来自选择器51的输出被输入到采用加法器41形式的误差计算器,加法器41还接收当前样本块的样本值。加法器41计算并输出残差,作为样本块与其预测(即预测块)之间的样本值之差。
[0175] 该误差在变换器42中(例如通过离散余弦变换DCT)进行变换,并由量化器43量化,然后在编码器44中(例如通过
熵编码器)进行编码。在帧间编码中,估计的运动矢量也被带到编码器44,以产生当前样本块的编码表示。
[0176] 当前样本块的经变换和量化的残差也被提供给逆量化器45和逆变换器46以重建残差。该残差由加法器47加到来自运动补偿器50或帧内预测器49的预测输出,以产生重建样本块,该重建样本块可用作其他样本块的预测和编码中的预测块。该重建样本块首先由根据实施例的去块滤波控制设备100处理,以便控制应用于重建样本块的任何去块滤波以应对任何伪影。然后将处理后的重建样本块临时存储在解码图片
缓冲器(DPB)48中,在该DPB 48中,帧内预测器49和运动估计器/补偿器50可以使用该处理后的重建样本块。
[0177] 一个实施例涉及一种包括去块滤波控制设备的视频解码器。
[0178] 图12是根据实施例的包括去块滤波控制设备100的视频解码器60的示意性框图。视频解码器60包括解码器61(例如熵解码器),该解码器61用于对包括样本块的编码表示的比特流进行解码,以得到经量化和变换的残差。残差在逆量化器62中被去量化,并由逆变换器63进行逆变换,以得到经解码的残差。
[0179] 在加法器64中,将经解码的残差加到预测块的样本预测值。根据是执行帧间预测还是帧内预测,由运动估计器/补偿器67或帧内预测器66来确定预测块。因此,选择器68互连到加法器64以及运动估计器/补偿器67和帧内预测器66。从加法器64输出的所得到的解码样本块被输入到去块滤波控制设备100,以便控制应用于应对任何伪影的任何去块滤波。经滤波的样本块进入DPB 65,并且可以用作随后解码的样本块的预测块。DPB 65因此连接到运动估计器/补偿器67,以使存储的样本块可以由运动估计器/补偿器67使用。加法器64的输出优选地也输入到帧内预测器66,以用作未滤波的预测块。此外,从视频解码器60输出经滤波的样本块,例如输出以在屏幕上进行显示。
[0180] 在图11和图12中公开的实施例中,去块滤波控制设备100以所谓的环内去块滤波的形式控制去块滤波。在视频解码器60处的替代实施方案中,去块滤波控制设备100被布置为执行所谓的后处理去块滤波。在这种情况下,去块滤波控制设备100对由加法器64、DPB 65、帧内预测器66、运动估计器/补偿器67和选择器68形成的环路之外的输出图片进行操作。
[0181] 图13是示出根据实施例的基于处理器-
存储器实现方式的去块滤波控制设备100的示例的示意框图。在该特定示例中,去块滤波控制设备100包括处理器101(例如处理
电路)以及存储器102。存储器102包括能够由处理器101执行的指令。
[0182] 在一个实施例中,处理器101用于:基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定是否对样本块和相邻样本块中的样本值应用去块滤波。
[0183] 在另一实施例中,处理器101用于:基于样本预测值的第一大小修改和样本预测值的第二大小修改,决定是对样本块和相邻样本块中的样本值应用强去块滤波还是弱去块滤波。
[0184] 可选地,去块滤波控制设备100还可以包括通信电路,由图16中的输入/输出(I/O)单元103表示。I/O单元103可以包括用于与有线或无线通信网络中的其他设备和/或网络
节点进行有线和/或无线通信的功能。在特定示例中,I/O单元103可以基于用于与一个或多个其他节点进行通信(包括发送和/或接收信息)的无线电电路。I/O单元103可以互连到处理器101和/或存储器102。举例来说,I/O单元103可以包括以下任何一个:接收器、发射器、收发器、I/O电路、输入端口和/或输出端口。
[0185] 图14是示出根据实施例的基于
硬件电路实现方式的去块滤波控制设备110的另一示例的示意框图。合适的硬件电路的特定示例包括一个或多个适当配置的或可能可重新配置的
电子电路,例如
专用集成电路(ASIC)、FPGA或任何其他硬件逻辑,诸如基于互连的分立
逻辑门和/或触发器的用以与合适的寄存器(REG)和/或存储单元(MEM)一起执行专用功能的电路。
[0186] 图15是示出了去块滤波控制设备120的又一示例的示意性框图,该去块滤波控制设备120基于处理器122、123和硬件电路124、125的组合,并结合有合适的存储器单元121。视频插入控制设备120包括:一个或多个处理器122、123;存储器121,包括用于
软件(SW)和数据的存储设备;以及硬件电路124、125的一个或多个单元。因此,整体功能在以下二者之间划分:用于在一个或多个处理器122、123上执行的编程软件;以及一个或多个预配置的或可能可重新配置的硬件电路124、125。实际的硬件-软件划分可以由系统设计人员基于众多因素来决定,所述因素包括处理速度、实施成本和其他要求。
[0187] 图16是示出根据实施例的去块滤波控制设备200的示例的示意图。在该具体示例中,以计算机程序240实现本文描述的步骤、功能、过程、模块和/或块中的至少一些,计算机程序240被加载到存储器220中,用于由包括一个或更多个处理器210的处理电路执行。处理器210和存储器220彼此互连,以实现正常的软件执行。可选的I/O单元230还可以互连到处理器210和/或存储器220,以实现相关数据(例如视频序列的重建的或解码的图像)的输入和/或输出。
[0188] 术语“处理器”应该在一般意义上解释为能够执行程序代码或计算机程序指令以执行特定的处理、确定或计算任务的任何电路、系统或设备。
[0189] 因此,包括一个或多个处理器210的处理电路被配置为:在运行计算机程序240时执行例如本文描述的那些明确定义的处理任务。
[0190] 处理电路不是必须专用于仅执行上述步骤、功能、过程和/或框,而是还可以执行其他任务。
[0191] 在特定实施例中,计算机程序240包括指令,当所述指令由至少一个处理器210执行时使所述至少一个处理器210:决定是否对图片中的样本块和所述图片中的相邻样本块中的样本值应用去块滤波,所述决定基于:i)针对所述样本块的参考图片中的第一预测块中的样本预测值的第一大小修改;以及ii)针对所述相邻样本块的所述参考图片中的第二预测块中的样本预测值的第二大小修改。样本块和相邻样本块在图片中由块边界分隔。
[0192] 在另一特定实施例中,计算机程序240包含指令,所述指令在由至少一个处理器210执行时使所述至少一个处理器210:决定是对图片中的样本块和所述图片中的相邻样本块中的样本值应用强去块滤波还是弱去块滤波,所述决定基于:i)针对所述样本块的参考图片中的第一预测块中的样本预测值的第一大小修改;以及ii)针对所述相邻样本块的所述参考图片中的第二预测块中的样本预测值的第二大小修改。样本块和相邻样本块在图片中由块边界分隔。
[0193] 所提出的技术还提供了包括计算机程序240的载体250。载体250是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质中的一种。
[0194] 举例来说,软件或计算机程序240可以实现为计算机程序产品,其通常被携带或存储在计算机可读介质250上,特别是非易失性介质上。计算机可读介质可包括一个或多个可移除或不可移除的存储设备,包括(但不限于):
只读存储器(ROM)、
随机存取存储器(RAM)、高
密度盘(CD)、数字多用途盘(DVD)、蓝光盘,通用
串行总线(USB)存储器、
硬盘驱动器(HDD)存储设备、闪存、磁带或任何其它常规存储设备。因此,计算机程序240可以被加载到去块滤波控制设备200的操作存储器220中,以由其处理电路210执行。
[0195] 当由一个或多个处理器执行时,本文介绍的一个或多个流程图可以被认为是一个或多个计算机流程图。相应的去块滤波控制设备可以被定义为一组功能模块,其中由处理器执行的每个步骤对应于一个功能模块。在这种情况下,功能模块被实现为在处理器上运行的计算机程序。
[0196] 因此,驻留在存储器中的计算机程序可以被组织为适当的功能模块,所述功能模块被配置为,当被处理器执行时,执行本文所述的步骤和/或任务的至少一部分。
[0197] 图17是根据实施例的去块滤波控制设备130的示意性框图。去块滤波控制设备130包括决定模块131,所述决定模块131用于:决定是否对图片中的样本块和所述图片中的相邻样本块中的样本值应用去块滤波,所述决定基于:i)针对所述样本块的参考图片中的第一预测块中的样本预测值的第一大小修改;以及ii)针对所述相邻样本块的所述参考图片中的第二预测块中的样本预测值的第二大小修改。样本块和相邻样本块在图片中由块边界分隔。
[0198] 在另一个实施例中,去块滤波控制设备130包括决定模块131,所述决定模块131用于:决定是对图片中的样本块和所述图片中的相邻样本块中的样本值应用强去块滤波还是弱去块滤波,所述决定基于:i)针对所述样本块的参考图片中的第一预测块中的样本预测值的第一大小修改;以及ii)针对所述相邻样本块的所述参考图片中的第二预测块中的样本预测值的第二大小修改。样本块和相邻样本块在图片中由块边界分隔。
[0199] 另一实施例涉及一种用户设备或装置,其包括根据实施例的去块滤波控制设备、根据实施例的视频编码器和/或根据实施例的视频解码器。在特定实施例中,用户设备选自由摄像机、计算机、膝上型计算机、智能电话、
平板电脑、
游戏机和机顶盒组成的组。
[0200] 图18是容纳具有去块滤波控制设备的视频解码器60的用户设备70的示意性框图。用户设备70可以是具有视频解码功能的任何设备,其对编码比特流进行操作,从而解码该比特流并使视频序列可用于在屏幕74上显示。这种设备的非限制性示例包括摄像机、
移动电话、智能电话和其他便携式视频播放器、平板电脑、膝上型电脑、台式机、
笔记本电脑、个人视频录像机、多媒体播放器、
视频流服务器、机顶盒、电视、计算机、解码器、游戏机等。
[0201] 用户设备70包括存储器72,存储器72被配置为存储编码的视频数据。编码的视频数据可以由用户装置70自身生成。或者,编码的视频数据由一些其他设备生成,并无线传输或有线传输到用户设备70。因此,用户设备70包括收发器(发射器和接收器)或I/O单元71以实现数据传输。
[0202] 编码的视频数据从存储器72传送到视频解码器60,例如图12中所示的视频解码器。视频解码器60包括根据实施例的去块滤波控制设备。然后,视频解码器60将编码的视频数据解码为解码的图片。解码的图片被提供给视频播放器73,视频播放器73被配置为在用户设备70的屏幕74(或与用户设备70连接的屏幕74)上作为视频序列来播放解码的图片。
[0203] 在图18中,用户设备70被示为包括视频解码器60和视频播放器73,视频解码器60被实现为视频播放器73的一部分。然而,这应当仅被示为用户设备70的实现实施例的示例性的而非限制性的示例。此外,在两个物理上分离的设备中提供视频解码器60和视频播放器73的分布式的实现也是可能的,并且落入本文使用的用户设备70的范围内。还可以将屏幕74作为连接到执行实际
数据处理的用户设备70的单独设备来提供。
[0204] 用户设备70还可以或者可选地包括视频编码器40,例如图11的视频编码器,其包括根据实施例的去块滤波控制设备。视频编码器40因此被配置为对由I/O单元71接收和/或由用户设备70自身生成的图片进行编码。在后一种情况下,用户设备70优选地包括视频引擎或视频记录器,例如,其具有摄像机的形式或连接到摄像机。
[0205] 可选地,实施例的视频编码器和/或视频解码器可以在作为或属于通信网络中的网络节点的网络设备或装置中实现。这种网络设备可以是用于将根据一个视频编码标准的视频转换为另一个视频编码标准(即转码)的设备。网络设备可以具有以下各项的形式或者包含在以下各项中:诸如基于无线电的网络等的通信网络中的无线电基站、Node-B或者任何其它网络节点。
[0206] 在诸如网络设备、节点和/或服务器之类的网络设备中提供计算服务、硬件和/或软件变得日益普遍,其中资源被作为服务通过网络提供给远程位置。举例来说,这意味着如本文所述的功能可以被分布或重新
定位到一个或多个单独的物理设备、节点或服务器。该功能可被重新定位或分布到可位于分开的物理节点的一个或多个联合工作的物理和/或
虚拟机器中,即在所谓的云中。这有时也被称为云计算,云计算是一种实现对诸如网络、服务器、存储设备、应用和通用或定制服务等可配置计算资源池的随时随地的按需网络
访问的模型。
[0207] 图19是示出在一般情况下如何在不同网络设备之间分布或划分功能的示例的示意图。在该示例中,存在至少两个单独但互连的网络设备300、301,可以将不同的功能、或者相同功能的多个部分在网络设备300、301之间进行划分。可能存在额外的网络设备302,作为这种分布式实现的一部分。网络设备300、301、302可以是相同无线或有线通信系统的一部分,或者这些网络设备中的一个或多个可以是位于无线或有线通信系统外部的、所谓基于云的网络设备。
[0208] 图20是示出无线通信网络或系统的示例的示意图,该无线通信网络或系统包括:接入网络81;核心网络82;以及可选地与一个或多个基于云的网络设备300协作的运营和
支撑系统(OSS)83。该图还示出了连接到接入网络81并且能够与基站进行无线通信的用户设备70,该基站代表网络节点80的实施例。
[0209] 以上描述的实施例将被理解为本发明的几个说明性示例。本领域技术人员将理解,在不脱离本发明的范围的前提下,可以对实施例作出各种修改、组合和改变。尤其是,不同实施例中的不同部分解决方案可以被组合在技术上可行的其他配置中。然而,本发明的范围由所附
权利要求限定。
[0210] 参考文献
[0211] ITU-T H.265(04/2015)SERIES H:AUDIOVISUAL AND MULTIMEDIA SYSTEMS,Infrastructure of audiovisual services–Coding of moving video,High efficiency video coding