视频编解码方法装置和相应非易失性计算机可读介质与流程

allin2024-07-12  71


视频编解码方法/装置和相应非易失性计算机可读介质
1.【交叉引用】
2.本技术要求如下申请的优先权:2018年1月29日提出的名称为“length-adaptive de-blocking method for image and video coding”的美国临时案62/622,980,在此合并参考该临时申请案的内容。
【技术领域】
3.本发明有关于视频编解码技术。


背景技术:

4.基于块的视频压缩导致块边界处的可见不连续性。去块处理通过使用去块滤波器来修改块边界附近的样本,使得可以平滑块边界处的不连续性并且可以改善视频品质。块边界处的可见不连续性称为块伪像。


技术实现要素:

5.本发明提供一种视频编解码方法。该方法包括接收与视频编解码系统中的编解码块之间的块边界相关联的重建视频数据,该块边界具有从边界的p侧到该边界的q侧跨越该块边界的n条样本线;确定是否应用第一滤波器组以减少该块边界处的块伪像,确定是否应用该第一滤波器组以减少该块边界处的该块伪像包括:确定该n条样本线的第一条的第一间差异是否大于间差异阈值,该第一间差异指示该块边界的该p侧和该q侧之间的样本值差异;当确定在该块边界处应用该第一滤波器组时,基于该p侧的每条样本线中的样本的第一边长(side length)(len
p
)以及该q侧的每条样本线中的样本的第二边长(lenq)确定该第一滤波器组中的滤波器的滤波器长度;以及在该块边界上应用具有确定的滤波器长度的该第一滤波器组中的至少一个滤波器。
6.在一个实施例中,确定是否应用该第一滤波器组以减少该块边界处的块伪像还包括:确定该n条样本线的该第一条的内差异是否小于内差异阈值,该内差异指示在该n条样本线的该第一条的该p侧和该q侧之内的样本值的变化。
7.在一个实施例中,该n条样本线的该第一条的该内差异根据以下公式确定:
[0008][0009]
其中0<x<len
p-1,0<y<len
q-1,ms可为0或1,且n
t
可为0或1。
[0010]
在一个实施例中,确定是否应用该第一滤波器组以减少该块边界处的块伪像还包括:确定该n条样本线中的连续相同去块决策的线数量是否等于或大于连续性阈值,该连续线的每一条满足用于确定是否应用该第一滤波器组以减少该块边界处的块伪像的相同条件集。
[0011]
在一个实施例中,确定是否应用该第一滤波器组以减少该块边界处的块伪像还包括:当块边界是与具有m行大小的线缓冲器相关联的区域边界时,确定该滤波器组中的滤波
器的滤波器长度小于或等于在当前正在处理的区域之外的该p侧或该q侧的该线缓冲器的大小。
[0012]
在一个实施例中,该方法还包括确定是启用强滤波模式还是正常滤波模式;以及当确定启用该强滤波器模式时,继续确定是否应用该第一滤波器组以减少该块边界处的块伪像。
[0013]
在一个实施例中,该第一滤波器组是从一组候选滤波器中选择的,该组候选滤波器包括滤波器,该滤波器的滤波器长度在1抽头到16抽头的范围内
[0014]
在一个实施例中,基于以下之一确定该n条样本线的该第一条的该第一间差异:
[0015]
|p
0-q0|,
[0016]
(m
×
|p
0-q1|+n
×
|p
1-q0|)/(m+n),
[0017]
|m
×
(p
0-q1)+n
×
(p
1-q0)|/(m+n),
[0018]
(m
×
|p
0-q0|+n
×
|p
1-q1|)/(m+n),或
[0019][0020]
其中m和n是整数,∑
sms
=1,且∑
tnt
=1。
[0021]
在一个实施例中,确定是否应用该第一滤波器组以减少该块边界处的块伪像还包括根据以下一个或多个来确定是否应用该第一滤波器组来减少该块边界处的块伪像:
[0022]
该p侧和该q侧之间的参考图像差异,
[0023]
该p侧和该q侧之间的运动矢量差异,
[0024]
该p侧和该q侧的预测类型,
[0025]
该p侧和该q侧之间的残差差异,
[0026]
该n条样本线的颜色成分,或
[0027]
包括该块边界的p侧和q侧的图像、切片或块是否是帧内编码的。
[0028]
在一个实施例中,该间差异阈值和/或内差异阈值是以下之一:
[0029]
从为该视频编解码系统使用的每个量化参数预定义的值中选择的值,
[0030]
从阈值tc和β导出的值,
[0031]
从为每个量化参数预定义的值加上图片级偏移值中选择的阈值,
[0032]
视频参数集、序列参数集、图片参数集、切片报头或编解码单元中指示的值,或者
[0033]
基于沿该块边界的相邻样本计算的最小可觉差值。
[0034]
在一个实施例中,该方法还包括信令指示是否应用该第一滤波器组的标志;以及信令长度值,该长度值指示要滤波该n条样本线中的多少条连续线。
[0035]
在一个实施例中,基于该第一边长和该第二边长确定该第一滤波器组中的该滤波器的该滤波器长度包括:确定要在该p侧应用的该滤波器的该滤波器长度,该滤波器长度在1和该len
p
之间的范围内,或者确定要在该q侧应用的该滤波器的该滤波器长度,该滤波器长度在1和lenq之间的范围内,其中在该p侧和该q侧应用的滤波器的滤波器长度相同或不同。
[0036]
在一个实施例中,基于该第一边长(len
p
)和该第二边长(lenq)确定该第一组中的该滤波器的该滤波器长度包括:确定要在该p侧应用的该滤波器的该滤波器长度为分配给包括该第一边长(len
p
)的边长范围的滤波器长度,或者确定要在该q侧应用的该滤波器的
该滤波器长度为分配给包括该第二边长(lenq)的边长范围的滤波器长度,其中,对于该p侧或该q侧,与具有较小的边长值的边长范围相比,具有较大边长值的边长范围与较大的滤波器长度相关联。
[0037]
在一个实施例中,基于该第一边长(len
p
)和该第二边长(lenq)确定该第一组中的该滤波器的该滤波器长度包括:基于该第一边长(len
p
)、该第二边长(lenq)和该第一间差异以确定该p侧或该q侧的滤波器长度。
[0038]
在一个实施例中,在该块边界上以所确定的滤波器长度应用该第一滤波器组中的该至少一个滤波器包括:将该第一滤波器组应用于该p侧或该q侧的样本子集以减少该块边界处的块伪像。
[0039]
在一个实施例中,基于该第一边长(len
p
)和该第二边长(lenq)确定该第一组中的该滤波器的该滤波器长度包括:根据查找表确定该p侧的第一滤波器抽头长度和该q侧的第二滤波器抽头长度,用于该块边界的该q侧的可能边长和该p侧的可能边长的每一组合,该查找表分别为该p侧和该q侧指定一对滤波器抽头长度。
[0040]
本发明提供一种视频编解码装置。该装置包括电路,被配置为执行以下操作:接收与编解码块之间的块边界相关联的重建视频数据,该块边界具有从边界的p侧到该边界的q侧跨越该块边界的n条样本线;确定该n条样本线的第一条的第一间差异是否大于间差异阈值,确定是否应用第一滤波器组以减少该块边界处的块伪像,该第一间差异指示该块边界的该p侧和该q侧之间的样本值差异;当确定在该块边界处应用该第一滤波器组时,基于该p侧的每条样本线中的样本的第一边长以及该q侧的每条样本线中的样本的第二边长确定该第一滤波器组中的滤波器的滤波器长度;以及在该块边界上应用具有确定的滤波器长度的该第一滤波器组中的至少一个滤波器。
[0041]
本发明提供一种存储指令的非易失性计算机可读介质,该指令在由处理电路执行时使得该处理电路执行方法。
【附图说明】
[0042]
将参考以下附图详细描述作为示例提出的本公开的各种实施例,其中,相同的标号表示相同的元件,并且:
[0043]
图1示出了根据本公开实施例的具有去块滤波器的编码器。
[0044]
图2示出了根据本公开的实施例的解码器。
[0045]
图3a示出了具有4个样本长度的垂直块边界。
[0046]
图3b示出了具有4个样本长度的水平块边界。
[0047]
图4示出了根据hevc标准的去块滤波决策制定过程的示例。
[0048]
图5示出了表格,其示出了对应于编解码参数的不同条件而导出的不同bs值。
[0049]
图6示出了在重建图片中穿过块边界的样本线的一系列样本值。
[0050]
图7示出了根据本公开的实施例的基于内差异进行滤波判定的示例。
[0051]
图8示出了根据本公开的实施例的查找表的示例。
[0052]
图9示出了根据本公开实施例的示例性长度自适应去块滤波过程。
[0053]
图10示出了根据本公开实施例的另一示例长度自适应去块滤波过程。
【具体实施方式】
[0054]
i.具有去块滤波器的视频编码器和解码器
[0055]
图1示出了根据本公开实施例的具有去块滤波器130的编码器100。编码器100可包括解码图片缓冲器110、帧内-帧间预测模块112、第一加法器114、残差编码器116、熵编码器118、残差解码器120、第二加法器122,以及一个或多个环路滤波器(in-loop filter),例如去块滤波器130、自适应偏移滤波器(sao)132和自适应环路滤波器(alf)134。这些组件可以耦合在一起,如图1所示。
[0056]
编码器100接收输入视频数据101并执行视频压缩处理以生成比特流102作为输出。输入视频数据101可包括一系列图片。每个图片可以包括一个或多个颜色分量,例如亮度分量或色度分量。比特流102可以具有符合视频编解码标准的格式,例如高级视频编解码(avc)标准、高效视频编解码(hevc)标准、通用视频编解码(vvc)标准等。
[0057]
在各种实施例中,去块滤波器130可经配置以接收重建图片(或区域),且自适应地应用去块滤波操作以衰减重建图片中的块伪影。举例来说,去块滤波器130可采用长度自适应去块方案来对编解码块之间的边界执行去块处理。在一个实施例中,当采用长度自适应去块方案时,去块滤波器130根据边界两侧样本的间差异(inter-side difference)、边界两侧样本的内差异(intra-side difference)、沿块边界的去块处理决策连续性、块边界的类型、要滤波的样本的颜色分量、编解码块的预测类型、编解码块的运动信息、编解码块之间的残差,以及与编解码块相关的其他特性中的一个或组合来确定是否将一组滤波器应用于块边界。在一个示例中,当采用长度自适应去块方案时,去块滤波器130根据边界两侧样本之间的差异来确定是否将一组滤波器应用于块边界。在另一示例中,除了边界两侧样本之间的差异外,去块滤波器130还可以在决定是否应用该组滤波器时考虑其他因素。这些因素的示例可以包括指示边界两侧之内的样本值(即样本的空间活动)的平滑度的差异,跨越边界的连续样本线(line)的数量满足某些约束。在又一示例中,当采用长度自适应去块方案时,去块滤波器130根据跨越满足某些预定约束的边界的连续样本线的数量来确定是否将一组滤波器应用于块边界。
[0058]
当确定应用该组滤波器时,去块滤波器130可以根据块边界侧(边长)处的样本长度自适应地确定滤波器长度(filter length)。另外,还可以考虑边界是否是区域边界来选择合适的滤波器。例如,当边界的一侧在当前正在处理的区域之外时,使用线缓冲器(line buffer)的大小来确定该组滤波器的滤波器长度。
[0059]
本文描述的长度自适应去块滤波方案可与hevc标准中定义的滤波决策和操作组合以形成统一过程。然而,本发明不限于此,这里描述的长度自适应去块滤波方案可以与在其他视频编解码标准中定义的滤波决策和操作组合。
[0060]
在图1中,解码图片缓冲器110存储对在帧间帧内预测模块112处执行的运动估计和运动补偿有用的参考图片。帧间帧内预测模块112执行帧间图片预测或帧内图片预测,以在视频压缩过程中确定对当前图像块的预测。块的预测被提供给第一和第二加法器114和122。当前图像(当前正在处理的图像)可以被划分为具有相同或不同大小的多个块,用于帧间或帧内预测操作。
[0061]
第一加法器114从输入视频数据101接收来自帧间帧内预测模块112的块的预测和块的原始像素。然后,加法器114从块的原始像素值中减去预测,以获得块的残差。块的残差
被发送到残差编码器116。
[0062]
残差编码器116接收块的残差,并压缩残差以产生压缩残差。例如,残差编码器116可以首先将变换(例如离散余弦变换(dct)、离散正弦变换(dst)、小波变换等)应用于与变换块对应的接收残差并生成变换块的变换系数。将图片划分为变换块可以与将图片划分为用于帧间-帧内预测处理的预测块相同或不同。
[0063]
随后,残差编码器116可以量化系数以压缩残差。可以用量化参数(qp)来控制量化。qp表示用于将变换系数与有限的一组步骤相关联的步长(step size)。较大的qp值表示粗略地近似变换的较大步骤,使得变换块中的大多数信号可以被较少的系数捕获,这可能导致较低的比特率。相反,较小的qp值可以更准确地近似变换,然而,代价是增加用于编码残差的比特数。通常,较大的qp可以将更多失真或压缩噪声引入由视频压缩过程产生的重建图像中,并且导致严重的块效应。因此,可能潜在地选择更强的去块滤波器以滤波与更大qp相关联的边界。压缩的残差(量化的变换系数)被发送到残差解码器120和熵编码器118。
[0064]
残差解码器120接收压缩的残差并执行在残差编码器116处执行的量化和变换操作的逆过程以重建变换块的残差。由于量化操作,重建的残差类似于从加法器114生成的原始残差,但通常与原始版本不同。
[0065]
第二加法器122接收来自帧间帧内预测模块112的块的预测和来自残差解码器120的变换块的重建残差。第二加法器122随后将重建的残差与对应于图片相同区域的接收的预测组合在一起,以生成重建的视频数据。然后,例如,可以将重建的视频数据传送到去块滤波器130。
[0066]
在一个示例中,去块滤波器130将一组低通滤波器应用于块边界以减少块伪影。可以基于重建图片中的块边界的两侧上的重建样本的特性以及在帧间帧内预测模块112或者残差编码器116处确定的编解码参数(帧内或帧间编码模式,mv和qp)来应用滤波器。然后,可以将去块的重建视频数据提供给sao 132.此外,在一些示例中,可以在去块滤波器130处生成去块控制信息103并将其发送到熵编码器118。例如,去块控制信息103可以包括指示是否将某些滤波器组应用于某些图片、图片区域(例如,片、编解码树单元(ctu))或编解码块的标志。去块控制信息103可以包括与某些图片、图片区域或编解码块相关联的去块相关参数。
[0067]
在一个示例中,sao 132接收去块的重建视频数据,并将重建的视频数据中的像素分类为组。然后,sao 132可以确定每个组的强度偏移(intensity shift)(偏移值)以补偿每个组的强度偏移。然后可以将移位的重建视频数据从sao132提供给alf 134。在一个示例中,alf 134被配置为将滤波器应用于重建的视频数据以减少时域中的编码伪像。例如,alf 134从一组滤波器候选中选择滤波器,并将所选择的滤波器应用于重建视频数据的区域。另外,可以针对重建视频数据的每个块选择性地打开或关闭alf 134。然后,处理后的重建视频数据可以被发送到解码图片缓冲器110。
[0068]
熵编码器118从残差编码器116接收压缩残差并从去块滤波器130接收去块控制信息103。熵编码器118还可接收其他参数和/或控制信息,例如帧内预测模式信息、运动信息、量化参数等。熵编码器118对接收的参数或其他信息进行编码以形成比特流102。包括压缩格式的数据的比特流102可以经由通信网络发送到解码器,或者发送到存储设备(例如,非易失性的计算机可读介质),其可以存储由比特流102承载的视频数据。
[0069]
图2示出了根据本公开的实施例的解码器200。解码器200包括熵解码器218、残差解码器220、解码图片缓冲器210、帧间帧内预测模块212、加法器222,以及一个或多个环路滤波器,例如去块滤波器230、sao 232和alf 234。如图2所示,这些组件耦合在一起。在一个示例中,解码器200接收由编码器生成的比特流201,例如由编码器100生成的比特流102,并执行解压缩处理,以生成输出视频数据202。输出视频数据202可以包括可以显示在例如显示设备(例如监视器、触摸屏等)上的图像序列。
[0070]
类似于图1示例中的编码器100,解码器200接收重建的视频数据,并采用去块滤波器230来衰减重建的图片或区域中的块伪像。去块滤波器230类似地使用这里描述的长度自适应去块滤波方案来执行去块处理。与去块滤波器130不同,去块滤波器230可以接收在编码器侧生成的去块控制信息203,并且因此执行去块操作。
[0071]
熵解码器218接收比特流201并执行解码处理,该解码处理是由图1示例中的熵编码器118执行的编码处理的逆处理。结果,获得压缩残差、预测参数(帧内模式信息和运动信息)、去块控制信息203等。将压缩的残差提供给残差解码器220,并且将预测参数提供给帧间帧内预测模块212。帧间帧内预测模块212基于接收的预测参数生成图片的块的预测,并将预测提供给加法器222。解码图像缓冲器210存储对在帧间帧内预测模块212处执行的运动补偿有用的参考图像。例如,可以从alf 234接收参考图像。此外,从解码图像缓冲器210获得参考图像,且其包括在图像视频数据202中,用于显示到显示设备。
[0072]
在功能和结构方面,残差解码器220、加法器222、去块滤波器230、sao 232和alf 234类似于残差解码器120、第二加法器122、去块滤波器130、sao 132和alf 134。省略这些组件的描述。
[0073]
在解码器或编码器中使用去块滤波器(例如去块滤波器130和230)减少了重建视频数据中的块伪像,从而产生高品质输出图像。另外,当这些高品质图像用作用于编码后续图像的参考图像时,可以减小用于传输压缩图像的比特率。因此,本文所揭示的用于改善去块滤波器的性能的去块技术可改善包括去块滤波器的解码器或编码器的性能和能力。
[0074]
虽然图1和图2的示例示出了包括在编码器100或解码器200中的一系列滤波器130、132和134,或230、232和234,但应注意,在其他实施例中,在编码器或解码器中可以包括没有或者更少的这种滤波器。另外,去块滤波器230相对于其他滤波器的位置可以与图1或图2示例中所示的不同。
[0075]
在各种实施例中,去块滤波器130或230可以用硬件、软件或其组合来实现。例如,去块滤波器130或230可以用一个或多个集成电路(ic)实现,例如专用集成电路(asic)、现场可编程门阵列(fpga)等。又例如,去块滤波器130或230可以实现为包括存储在计算机可读非易失性存储介质中的指令的软件或固件。当由处理电路执行时,指令使处理电路执行去块滤波器130或230的功能。
[0076]
注意,实现本文公开的去块技术的去块滤波器130或230可以包括在可以具有与图1或图2中所示的结构类似或不同的结构的其他解码器或编码器中。此外,在各种示例中,编码器100和解码器200可以包括在相同的设备中,或者包括在单独的设备中。
[0077]
ii.hevc中的去块滤波器
[0078]
hevc采用基于块的预测和变换编解码。例如,hevc将图片划分为16x16、32x32或64x64样本的编解码树单元(ctu)。ctu可以进一步划分为帧间或帧内预测单元,或具有不同
大小的变换单元,例如4x4、4x8、8x4、32x32或64x64样本。不连续性可能发生在块边界处的重建数据(或信号)中。例如,粗略量化后的预测残差的块变换编解码可能导致变换块的块边界处的不连续性。对于帧间编解码块,当前图片中的相邻块的预测可能不来自先前编码图片中的相邻块,这可能在预测单元的块边界处产生不连续性。对于帧内编解码块,不同的预测过程可以用于相邻块,其类似地导致预测单元的块边界处的不连续性。
[0079]
当块边界两侧的信号相对平滑时,人类视觉系统可以注意到块伪像,但是当信号具有高变化时更难以注意到。另外,如果跨越块边界的原始信号具有高变化的特性,则难说跨越块边界的重建信号的变化是由编解码引起还是属于原始信号。
[0080]
因此,去块滤波器被配置为根据块边界两侧上的重建样本值的特性以及某些编解码参数(例如,帧间或帧内模式、运动矢量、qp等)作出滤波决策。编解码参数指示相应编解码处理创建块伪像的可能性。滤波决策可以包括是否滤波特定边界、要应用什么滤波强度、是否要使用某个滤波器组等。
[0081]
在hevc中,图片或图片的区域被网格划分为8
×
8个样本的块。使用去块处理来处理8
×
8网格上的编解码单元、预测单元或变换单元的块边界。另外,要处理的边界被划分为多个非重迭的4样本段,并且段是应用去块滤波的单元。
[0082]
图3a示出了具有4个样本长度的垂直块边界301。图3b示出了具有4个样本长度的水平块边界302。如图所示,四行样本311-314垂直于垂直块边界301并且与垂直块边界301交叉,而四列(column)样本311-314垂直于水平块边界301并且与水平块边界301交叉。样本的上述行或列中的每一行或每一列被称为一条样本线(line of sample)。另外,垂直块边界301的左侧或水平块边界302的上侧被称为p侧,而垂直块边界301的右侧或水平块边界302的下侧被称为q侧。
[0083]
对于p侧和q侧的样本,样本值可以表示为(或p
i,k
)或(或q
i,k
),其中i是样本线的索引,而k表示样本在q或p侧的样本线中样本的位置。
[0084]
图4示出了根据hevc标准的去块滤波决策制定过程400的示例。在s410,基于边界强度(bs)变量确定是否将去块滤波应用于特定块边界。可以根据与块边界相关联的编解码参数(例如,预测类型和运动矢量)导出bs。图5示出了表格,其示出了对应于编解码参数的不同条件而导出的不同bs值。
[0085]
当对于亮度分量bs大于零,或者对于色度分量大于1时,将去块应用于块边界。否则,不应用去块(s420)。对于亮度块边界,进一步评估附加条件以确定是否应用去块(s430)。对于色度块边界,不进行进一步的评估。
[0086]
在s430,根据块边界两侧的样本的特性进行滤波器开/关判定。在一个示例中,当满足以下条件时应用去块:
[0087]
|p
2,0-2p
1,0
+p
0,0
|+|p
2,3-2p
1,3
+p
0,3
|+|q
2,0-2q
1,0
+q
0,0
|+|q
2,3-2q
1,3
+q
0,3
|<β
ꢀꢀꢀ
(1)
[0088]
其中滤波阈值β取决于qp并且可以从查找表导出。当不满足条件(1)时,不应用去块(s420)。表达式(1)用于检查块边界每侧的信号偏离直线(斜坡)的程度。或者,换句话说,表达式(1)用于评估块边界侧面的信号是否平滑(即,信号是平坦的还是具有倾斜平面(斜坡)的形状)。
[0089]
在s440,基于具有另一组条件的块边界两侧的信号的特性来确定是否启用强滤波
模式或正常滤波模式。如果满足以下三个条件,则应用强滤波(s450)(即,启用强滤波模式):
[0090]
|p
2,i-2p
1,i
+p
0,i
|+|q
2,i-2q
1,i
+q
0,i
|<β/8
ꢀꢀꢀꢀ
(2)
[0091]
|p
3,i-p
0,i
|+|q
0,i-q
3,i
|<β/8
ꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0092]
|p
0,i-q
0,i
|<2.5tcꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0093]
其中阈值tc是剪切参数。当不满足条件(2)、(3)和(4)中的任何一个时,应用正常滤波模式(s460)(即,启用正常滤波模式)。表达式(4)确保块边界侧的样本值之间的步长很小,而表达式(2)和(3)以两种不同的方式验证两侧的信号是平的。
[0094]
可以看出,在过程400中提供三级滤波强度:强、正常或零(例如,无滤波),对应于增加的本地活动水平。对于强滤波而言,p侧和q侧的3个样本将被修改。对于正常滤波而言,p侧和q侧的2个样本将被修改。五个预定义的4抽头(tap)或5抽头滤波器分别配给强滤波中的3个样本和正常滤波中的2个样本。
[0095]
去块阈值β和限幅阈值tc取决于块边界两侧两个相邻块的平均qp值,并且通常存储在对应的表中。限幅阈值tc还可以取决于bs值。参数β控制滤波哪些块边界,并控制正常和强滤波器之间的选择。qp值越高,参数β越大,并且可以越频繁地滤波块边界。限幅参数tc控制正常滤波器和强滤波器之间的选择,并确定允许在去块滤波中改变像素值的修改的最大绝对值。
[0096]
iii.长度自适应去块滤波器
[0097]
长度自适应去块方案可以自适应地从一组候选滤波器中选择滤波器组,以基于预定因子中的至少一个来平滑重建图像中的块边界。预定因子可以包括q侧和p侧的间差异、q侧和p侧的内差异、q侧和p侧的侧边长度(side length)、沿着块边界的去块处理决策连续性等。
[0098]
该组候选滤波器可包括具有各种滤波器抽头长度的滤波器。滤波器的抽头长度是指用作相应滤波器输入的样本值的数量。例如,该组候选滤波器可以包括具有从1抽头到16抽头或更多的滤波器长度的滤波器,例如1抽头、2抽头、3抽头、4抽头、8抽头、16抽头,等等。与hevc标准中指定的滤波器相比,该组候选滤波器的成员可以具有更长的滤波抽头长度,因此,这种候选滤波器组被称为一组长滤波器。从基于长度自适应去块方案的长滤波器组中选择的滤波器组可以称为长滤波器组。所选滤波器组中的滤波器可以应用于与相应块边界相邻的样本线。例如,所选滤波器组中的每个滤波器可以对应于块边界侧的样本线中的样本,并且每个滤波器的输出可以用于替换相应的原始样本值。
[0099]
长度自适应去块方案可与hevc标准中定义的去块滤波决策和操作组合以形成统一去块滤波过程。例如,去块滤波器可以首先确定是否要使用强滤波器。当做出强滤波决定时,可以执行实现长度自适应去块方案的过程以确定是否可以应用从候选长滤波器组中选择的长滤波器组。当确定不使用长滤波器组时,可以执行hevc中指定的强滤波操作。
[0100]
iii.1基于块边界两侧的间差异滤波决策
[0101]
图6示出了在重建图片中穿过块边界601的样本线600的一系列样本值。处理中的块边界601可以具有4个样本、6个样本、8个样本、16个样本等的长度。因此,可以存在垂直于块边界601并且与块边界601交叉的多条样本线。样本线600可以是穿过块边界601的第i行样本。样本线600包括第一组样本,p0-p7,在块边界601的p侧,和第二组样本q0-q7,在块边
界的q侧。
[0102]
在一个示例中,选择块边界601侧边的样本子集以导出间差异(也称为间隙值(gap value))602。间差异表示在块边界601的p侧和q侧的样本之间的样本值差异。间差异602可以指示块边界601侧面的信号的平滑度,或者p侧和q侧之间的不连续性程度。
[0103]
基于间差异602,可以做出是否用长滤波器组滤波块边界601的决定。例如,当间差异602大于间差异阈值(或间隙值阈值)gap_th时,可以确定要使用长滤波器组合。
[0104]
在一个实例中,可评估块边界601的多条样本线的间差异以确定是否将长滤波器组应用于块边界601。例如,利用第一条样本线和最后一条样本线来评估。当第一条样本线和最后一条样本线的间差异大于间差异阈值gap_th时,可以应用长滤波器组。
[0105]
在各种实施例中,可以以不同方式导出间差异602。以下是导出间差异602的一些示例:
[0106]
|p
0-q0|,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0107]
(m
×
|p
0-q1|+n
×
|p
1-q0|)/(m+n),
ꢀꢀꢀꢀ
(6)
[0108]
|m
×
(p
0-q1)+n
×
(p
1-q0)|/(m+n),
ꢀꢀꢀ
(7)
[0109]
(m
×
|p
0-q0|+n
×
|p
1-q1|)/(m+n),or
ꢀꢀꢀ
(8)
[0110][0111]
其中m和n是整数,∑
sms
=1,∑
tnt
=1,且pk或qk(k=0,1,s,或t)表示省略了行索引的样本值。另外,len
p
和lenq分别表示块边界601的p侧和q侧的边长605和606。
[0112]
对应于p侧或q侧的块边界的边长指的是每条样本线在p侧或q侧中的样本数。在一个示例中,对于垂直块边界,p侧边长len
p
等于与垂直块边界相邻并且在p侧的块的宽度。该块包括块边界的p侧的样本线。类似地,对于垂直块边界,q侧边长lenq等于与垂直块边界相邻并在q侧的块的宽度。该块包括块边界的q侧的样本线。对于水平块边界,类似地,边长len
p
或lenq可以是与水平块边界相邻p侧与q侧的块的高度。
[0113]
在图6的示例中,p侧和q侧的边长605和606,len
p
和lenq,被示出为彼此相等。然而,在其他示例中,p侧和q侧的边长605和606,len
p
和lenq,可以不同。例如,块边界的两侧的块可以具有不同的宽度或高度。因此,q侧和p侧的边长可以采用不同的值。
[0114]
在各种实施例中,间差异阈值gap_th可以是从沿着块边界601的相邻样本(像素)导出的或者明确指示给解码器的预定义值。
[0115]
在一个示例中,查找表用于存储对应于每个qp的预定义的间差异阈值。例如,以下序列的间差异阈值可以存储在查找表中,对应于从最低到最高的qp序列:[16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,12,10,8,8,7,7,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5].在一些实例中,间差异阈值将使用切片、方块或图片级别qp值来搜索查找表。或者,块边界的两侧的两个块可以具有不同的qp,并使用这两个qp的平均值于搜索查找表。
[0116]
在一个示例中,当针对每个qp预定义间差异阈值时,可以采用间差异阈值偏移来细化或控制基于序列、图片或切片的间差异阈值的选择。例如,可以在切片报头、图片参数集(pps)或序列参数集(sps)中携带间差异阈值偏移,以控制对间差异阈值的选择。例如,如果每个qp的间差异阈值是{gap_th0,gap_th1,...,gap_thm,...,gap_thm},当前qp为m并且
将间差异偏移值设置为n,则选择间差异阈值为gap_th
min(m,max(0,m+n))

[0117]
在一个示例中,从其他相关阈值(例如,阈值tc和β)导出间差异阈值。在一个示例中,可以在例如视频参数集(vps)、sps、pps、切片报头或编解码单元(cu)中,向解码器明确指示一组阈值。在一个示例中,沿着块边界的邻接或相邻像素被用于导出视觉最小可觉差(just-noticeable-difference,简写为jnd)值,其被用作用于对块边界进行去块的间差值阈值。
[0118]
除了块边界602的间差异之外,在一些实施例中,可以组合考虑其他因素以做出选择用于对块边界602进行去块的长滤波器组的滤波决策。那些因素可以包括与块边界602相邻并且在块边界两侧的两个块的参考图片、两个块的运动矢量差、两个块的预测,或者两个块的残差。例如,当间差异602大于间差异阈值时,块边界602两侧的参考图像不同,并且两边的残差也超过阈值,长滤波器组将适用。否则,将不应用长滤波器组。
[0119]
在一个实施例中,对应于不同的间差异阈值,例如,对应于不同的qp,可以配置不同的长抽头滤波器组。因此,当基于特定的间差异阈值gap_thj评估间差异602时,将选择第j个长滤波器组用于对块边界601进行去块。
[0120]
iii.2基于块边界两侧的内差异滤波决策
[0121]
在一些实施例中,如图6所示,块边界601的q和p侧的内差异603和604被单独考虑或者与诸如间差异602的一些其他因素一起考虑以做出滤波决定。q或p侧的内差异603或604是用于测量块边界的任一侧中的样本值的变化的度量。内差异也可以称为自相似性度量,指示q或p侧样本彼此相似的程度。在一个示例中,将内差异603或604分别计算为p侧或q侧的样本子集相对于p侧或q侧的指定样本的差异的集合。
[0122]
在一些示例中,块边界601的两侧的内差异603和604的组合用于进行滤波决策。将内差异603和604的组合称为块边界601的内差异。例如,滤波器可首先评估块边界601的一条或多条样本线的间差异,然后,例如,通过将组合的内差异与被称为内差异阈值的阈值ss_th进行比较,随后评估块边界601的组合的内差异。如果内差异小于内差异阈值,则可以应用长滤波器组(或者可以在做出最终决定之前执行进一步的评估)。否则,将不会选择长滤波器组。在其他示例中,可以评估块边界601的多条样本线的内差异以进行滤波判定,而不是仅评估一条样本线。
[0123]
图7示出了根据本公开的实施例的基于内差异进行滤波判定的示例。示出了穿过块边界701的样本线700。块边界701的p或q侧的边长len
p
和lenq都是16。可以检查下面示出的内差异约束以确定是否应用16抽头滤波器组:
[0124][0125]
其中i是样本线700的线索引号,ss_th是对应于块边界701的两侧的16样本边长的内差异阈值。在表达式(10)中,组合的内差异被定义为p侧的样本子集相对于样本p3的差异的聚合,以及q侧的样本子集相对于q侧的样本q3的差异。当满足上述内差异约束(10)时,可以使用16抽头滤波器组来处理块边界701的任一侧的8个样本。
[0126]
在一个实施例中,使用以更一般方式表示的内差异约束:
[0127]
[0128]
其中0《x《len
p-1,0《y《len
q-1,ms可以是0或1,并且n
t
可以是0或1。当满足表达式(11)时,第j组长滤波器对应对于内差异阈值,可以应用ss_thj。
[0129]
类似于间差异阈值,在各种实施例中,内差异阈值ss_th可以是从沿着块边界601的相邻样本(像素)导出的预定义值,或者明确指示给解码器的预定义值。
[0130]
在一个示例中,查找表用于存储对应于每个qp的预定义的内差异阈值。在一个示例中,当针对每个qp预定义了内差异阈值时,可以采用内差异阈值偏移来细化或控制基于序列、图片或切片的内差异阈值的选择。
[0131]
在一个示例中,从其他相关阈值(例如,阈值tc和β)导出内差异阈值。在一个示例中,可以向解码器明确指示一组内差异阈值,例如,在视频参数集(vps)、sps、pps、切片报头或编解码单元(cu)中。在一个示例中,沿着块边界的邻接或相邻像素被用于导出视觉最小可觉差(jnd)值,其被用作用于去块块边界的内差异阈值。
[0132]
iii.3基于沿块边界滤波决策连续性的滤波决策
[0133]
在一些实施例中,滤波决策基于跨越块边界的连续样本线的数量,每条线满足一组滤波条件(或约束)。例如,该组滤波条件可以包括间差异大于间差异阈值,和/或内差异小于内差异阈值或其他条件。
[0134]
例如,块边界具有n条样本线。当k条或大于k条连续的样本线各自满足一组条件时,将去块滤波器组应用于n条样本线或n条样本线的子集。k(作为相似性阈值)可以是从2到n的值。相反,如果d条连续样本线满足条件集,但是d小于阈值k,则不应用去块滤波器组。
[0135]
iii.4根据其他因素的滤波决策
[0136]
在一个实施例中,基于颜色分量确定是否应用去块滤波器组。例如,长滤波器组应用于亮度分量但不应用于色度分量。或者,相反,长滤波器组应用于色度分量但不应用于亮度分量。
[0137]
在一个实施例中,基于p侧或q侧的图片、切片或块是否是帧内编码来确定是否应用去块滤波器组。例如,当图片或切片是帧内编码时,去块滤波器组将应用于图片或切片中的块边界。在一个实施例中,去块滤波器组仅应用于非帧内编码图像或切片。
[0138]
在一个实施例中,是否启用一组去块滤波器可以在vps、sps、pps、切片报头、cu等中明确指示。例如,当在比特流中明确指示启用去块滤波器组时,将执行关于是否应用滤波器组的一系列滤波决定。在一个实施例中,在每个图片的pps中信令标志。如果将pps标志设置为对当前图片禁用,则当前图片中的所有切片将不使用某个去块滤波器组。在另一实施例中,在每个图片的sps中信令标志。如果sps标志设置为禁用某个片,则片中的所有ctu将不使用某个去块滤波器集。
[0139]
在一个实施例中,是否应用去块滤波器组(例如,具有小于或等于8的抽头长度)由标志以及诸如块边界的边长是否大于边长阈值的其他因素控制。例如,如果为某个图像设置了pps标志,那么只有抽头长度小于或等于8的滤波器将用于边长大于边长阈值16的块边界。相反,如果没有为当前图片设置pps标志,则禁用所有去块滤波器。
[0140]
在一个实施例中,从编码器侧向解码器侧信令指示是否应用去块滤波器组的标志,以及指示应用去块滤波器组需要多少穿过块边界的连续线的长度值。
[0141]
在编码器侧,可以选择块边界两侧的一些原始和重建样本(像素)以进行去块决策。在一个实施例中,使用所选择的样本计算客观品质度量,例如,原始和重建样本之间的
均方误差(mse)或绝对差值(abs)。如果两侧的平均mse或abs值的差大于阈值,则应用去块滤波器组,并且可以信令该标志。
[0142]
在一个实施例中,基于人类视觉系统(hvs)的主观品质评估度量,例如,结构相似性指数(structural similarity index,简写为ssim)和视频品质度量(vqm),是从块边界两侧的所选像素计算的。如果两侧的基于hvs的品质值的差值超过阈值,则应用去块滤波器并且可以信令标志。
[0143]
在一个实施例中,为了节省信令比特,在发送标志和长度值之前,先评估块边界两侧的间差异值。当块边界两侧的间差异大于间差异阈值时,才会信令去块标记和长度值。
[0144]
在一个实施例中,为了节省信令比特,多个滤波器集可以共享信令标志。例如,抽头长度(大小)大于8的一组滤波器共享相同的启用标志。之后可以通过使用块边界两侧的边长来选择多个滤波器组中的一个。
[0145]
iii.5基于两边边长的滤波器选择决策
[0146]
在长度自适应去块方案中,在一些实施例中,可以首先通过一系列滤波决定来确定是否将长滤波器组应用于块边界,所述滤波决策例如基于一个或多个因素的组合。这些因素包括块边界两侧的间差异、内差异、多个连续样本线或本文所述的其他因素。当确定要应用长滤波器组时,可以随后根据块边界的两侧的边长确定滤波器长度或一组滤波器长度。因此,可以基于所确定的滤波器长度从一组候选长滤波器中选择长滤波器组。这样,得到的长滤波器组可以适应块边界两侧的边长。
[0147]
在一个实施例中,用于滤波块边界的p侧的滤波器组可以具有滤波器长度filter_len
p
,其在下面示出的范围中:
[0148]
1≤filter_len
p
≤len
p
.
ꢀꢀꢀ
(12)
[0149]
类似地,用于滤波块边界的q侧的滤波器组可以具有滤波器长度filter_lenq,其范围如下所示:
[0150]
1≤filter_lenq≤lenq.
ꢀꢀꢀ
(13)
[0151]
边长len
p
和lenq可以是不同的(例如,与块边界相邻的两个块具有不同的宽度或高度)。因此,p侧和q侧的滤波器长度可以不同。
[0152]
在一个实施例中,滤波器组被选择性地应用于块边界侧的样本。换句话说,选择并滤波在块边界的p侧和q侧的子样本集。例如,分别为p和q侧选择((len
p
/2)-1)-抽头滤波器组和((lenq/2)-1)-抽头滤波器组,并相应地只滤波了p0到和q0到的样本。在另一个实施方案中,仅滤波一侧的样本。例如,仅滤波从p0到或q0到的样本。
[0153]
在一个实施例中,滤波器长度被分配或用于块边界的一系列边长。例如,第一个滤波器长度为4抽头用于p侧范围为8到16个样本(8≤len
p
<16)的边长len
p
。第二个滤波器长度为8抽头,分配给p侧范围为16到64个样本(16≤len
p
<64)的边长len
p
。基于上述配置,当p侧的块边界的边长落入16≤len
p
<64的范围时,将采用8抽头的第二滤波器长度。
[0154]
在一个实施例中,根据块边界两侧的边长设置最大滤波器长度。例如,当128≤len
p
且64≤lenq时,p侧的滤波器长度选择为16。
[0155]
在一个实施例中,选择哪个滤波器长度取决于边长及块边界两侧的间差异。例如,
当len
p
≥64并且块边界两侧的间差异值大于5时,p侧的滤波器长度设置为8。当块边界两侧的间差异值大于10且len
p
≥64时,p侧的滤波器长度变为16。
[0156]
在一个实施例中,采用查找表来基于p侧和q侧的边长确定块边界的p侧和q侧的滤波器长度。图8示出了查找表800的示例。查找表800的每列对应于p侧长度,例如,在4个样本到256个样本的范围内,而查找表800的每一行对应于q侧长度,例如,在4个样本到256个样本的范围内。查找表800中的每个单元801对应于p侧长度和q侧长度。在每个单元801中,存储p侧滤波器长度和q侧长度。
[0157]
因此,对应于p侧和q侧的边长,可以根据查找表800确定p或q侧的滤波器长度。例如,对于p侧长度为32样本和q侧长度为128个样本的块边界,p侧将选择8抽头滤波器长度,而q侧将选择16抽头滤波器长度。
[0158]
iii.6区域边界处的滤波器长度决策
[0159]
在一些实施例中,考虑到区域边界约束来选择滤波器长度。例如,图片被划分为区域。每个区域可以是切片、区块、ctu、ctu行等。可以顺序地处理这些区域,并且可以使用线缓冲器来存储对于处理当前区域有用的先前区域的样本值。当块边界沿着这样的区域边界定位时,对应于当前区域外部的q侧或p侧的块边界的边长可以受限于相应线缓冲器的大小(行缓冲区能够存储的样本线数)。因此,当前区域外侧的滤波器长度可以基于线缓冲器大小来选择。
[0160]
例如,块边界是具有16条样本的线缓冲器的区域边界,相对较短的滤波器长度,例如4抽头、6抽头、8抽头、10抽头、12抽头或者14抽头可以为当前区域之外的一侧选择,以用来滤波块边界。
[0161]
iii.7长度自适应去块滤波处理的例子
[0162]
图9示出了根据本公开实施例的示例性长度自适应去块滤波过程900。可以执行过程900以确定是否将滤波器组(例如,长滤波器组)应用于块边界,并且如果是,则确定滤波器组中的滤波器的滤波器长度。过程900可以在去块滤波器130或230处执行。过程900从s901开始并且进行到s910。
[0163]
在s910,进行如hevc中的强滤波器判定。例如,可以执行过程400,结果,在s440,确定要执行强滤波以处理块边界。
[0164]
在s912,可以利用块边界两侧的间差异阈值来评估块边界的样本线的间差异。当间差异大于间差异阈值时,过程进行到s914;否则,过程进入s918。在替代示例中,可以评估多条样本线的间差异。
[0165]
在s914,将在s912评估的样本线的内差异与内差异阈值进行比较。当内差异小于内差异阈值时,过程900进入s916;否则,过程进入s918。在替代实例中,可以评估多条样本线的内差异。
[0166]
在s916,确定满足某一组条件(例如,在s912和s914处考虑的条件的跨越块边界的连续相同滤波决策的线数量是否大于或等于阈值。当满足条件集的连续线数量大于或等于阈值时,过程900进行到s920;否则,进入s918。
[0167]
在s918,可以执行利用hevc标准中定义的强滤波器的去块滤波,以减少块边界处的块伪像。然后,过程900进行到s999,并在s999结束。
[0168]
在s920,确定块边界是否是区域边界。当块边界是区域边界时,处理900进行到
s922;否则,进入s924。
[0169]
在s922,考虑关于线缓冲器的大小的区域边界约束来进行滤波器长度判定。例如,用于对处理中的当前区域之外的样本进行滤波的滤波器长度被确定为小于或等于线缓冲器大小。对于当前区域内的p或q侧,可以根据块边界的相应边长确定滤波器长度。
[0170]
在s924,基于块边界的q侧和p侧的边长来做出滤波器长度决策。例如,要应用于块边界的滤波器组可以包括用于p侧和/或q侧的样本的一个或多个滤波器。p侧(或q侧)的滤波器可以使用相同长度的滤波器或者不同长度的滤波器。p侧或q侧的滤波器长度可以根据如本文所述的p侧和q侧的边长来确定。例如,作为滤波器长度决策的结果,可以为块边界的每一侧确定一个或多个滤波器长度。
[0171]
在s926,利用在s922或s924确定的所确定的滤波器长度的滤波器来执行去块滤波。在一些示例中,仅滤波块边界的一侧。在一些示例中,p侧或q侧的样本子集被滤波并用滤波的样本值替换。该过程进行到s999并在s999结束。
[0172]
应注意,在不同的实施例中,过程900中的步骤可以以不同的顺序执行,并且一些步骤可以被省略或并行执行。
[0173]
图10示出了根据本公开实施例的另一示例长度自适应去块滤波过程1000。可以执行过程1000以确定是否将滤波器组(例如,长滤波器组)应用于块边界,并且如果是,则确定滤波器组中的滤波器的滤波器长度。可以在去块滤波器130或230处执行过程1000。过程1000从s1001开始并且进行到s1010。
[0174]
在s1010,与长度自适应去块滤波器相关联的滤波器判决是基于以下因素中的一个或其组合来进行的,所述因素诸如块边界两侧样本的间差异,块边界两侧样本的内差异、沿块边界的去块处理决策的连续性、块边界的类型、要滤波的样本的颜色分量、编解码块的预测类型、编解码块的运动信息、编解码块之间的残差差异,以及与编解码块相关的其他特征。例如,当使用块边界两侧样本的间差异于滤波器选择时,如果块边界两侧样本的间差异大于间差异阈值,则可以应用长度自适应去块滤波器。当考虑块边界两侧样本的内差异于进行滤波器判定时,如果块边界两侧样本的内差异小于内差异阈值,则可以应用长度自适应去块滤波器。当考虑沿着块边界的去块处理决策的连续性进行滤波器判定时,如果预定数量的连续样本线各自满足预定条件,则可以应用长度自适应去块滤波器。
[0175]
在s1012,根据在s1010进行的滤波器判定来确定是否要在块边界上应用长度自适应去块滤波器。当要应用长度自适应去块滤波器时,处理1000进行到s1014;否则,进入s1099。
[0176]
在s1014,基于块边界的q侧和p侧的边长来做出滤波器长度决策。例如,要应用于块边界的滤波器组可以包括用于p侧和/或q侧的样本的一个或多个滤波器。p侧(或q侧)的滤波器可以使用相同长度的滤波器或者不同长度的滤波器。p侧或q侧的滤波器长度可以根据如本文所述的p侧和q侧的边长来确定。例如,作为滤波器长度决策的结果,可以为块边界的每一侧确定一个或多个滤波器长度。当块边界是区域边界时,用于对处理中的当前区域之外的样本进行滤波的滤波器长度被确定为小于或等于线缓冲器大小。对于当前区域内的p或q侧,可以根据块边界的相应边长确定滤波器长度。
[0177]
在s1016,利用在s1014确定的所确定的滤波器长度的滤波器来执行去块滤波。在一些示例中,仅滤波块边界的一侧。在一些示例中,p侧或q侧的样本子集被滤波并用滤波的
样本值替换。处理进行到s1099并且在s1099处终止。
[0178]
本文描述的过程和功能可以实现为计算机程序,当由一个或多个处理器执行时,该计算机程序可以使一个或多个处理器执行相应的过程和功能。计算机程序可以存储或分布在合适的介质上,例如与其他硬件一起提供或作为其他硬件的一部分提供的光学存储介质或固态介质。计算机程序还可以以其他形式分发,例如通过因特网或其他有线或无线电信系统。例如,可以获得计算机程序并将其加载到装置中,包括通过物理介质或分布式系统获得计算机程序,包括例如从连接到因特网的服务器。
[0179]
计算机程序可以从计算机可读介质访问,该计算机可读介质提供由计算机或任何指令执行系统使用或与其结合使用的程序指令。计算机可读介质可以包括存储、传送、传播或传输计算机程序以供指令执行系统,装置或设备使用或与之结合使用的任何装置。计算机可读介质可以是磁、光、电子、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质可包括计算机可读非易失性存储介质,诸如半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、磁盘和光盘等。计算机可读非易失性存储介质可包括所有类型的计算机可读介质,包括磁存储介质、光存储介质、闪存介质和固态存储介质。
[0180]
在一个实施例中,本发明提供一种存储指令的非易失性计算机可读介质,该指令在由处理电路执行时使得该处理电路被配置为执行以下操作:接收与编解码块之间的块边界相关联的重建视频数据,块边界具有从边界的p侧到该边界的q侧跨越块边界的n条样本线;确定n条样本线的第一条的第一间差异是否大于间差异阈值,确定是否应用第一滤波器组以减少块边界处的块伪像,第一间差异指示块边界的p侧和q侧之间的样本值差异;当确定在块边界处应用第一滤波器组时,基于p侧的每条样本线中的样本的第一边长以及q侧的每条样本线中的样本的第二边长确定第一滤波器组中的滤波器的滤波器长度;以及在块边界上应用具有确定的滤波器长度的第一滤波器组中的至少一个滤波器。
[0181]
虽然已经结合作为示例提出的本发明的特定实施例描述了本公开的各方面,但是可以对示例进行替换、修改和变化。因此,这里阐述的实施例旨在是说明性的而非限制性的。在不脱离权利要求范围的情况下,可以进行改变。

技术特征:
1.一种视频编解码方法,包括:接收与视频编解码系统中的两个编解码块之间的块边界相关联的重建视频数据,该块边界具有从边界的p侧到该边界的q侧跨越该块边界的n条样本线,该两个编解码块的每一个对应于编解码单元、预测单元或变换单元;确定是否应用第一滤波器组以减少该块边界处的块伪像,确定是否应用该第一滤波器组以减少该块边界处的该块伪像包括:确定该n条样本线的第一条的内差异是否小于第一内差异阈值,该内差异指示该n条样本线的该第一条的的该p侧和该q侧之间的样本值变换;根据两条连续的样本线是否各自满足相同的一组条件,确定是否将该第一滤波器组应用于该n条样本线中的该两条连续的样本线,该相同的一组条件包括连续该两条连续的样本线的间差异各大于间差异阈值以及该两条连续的样本线的内差异各小于第二内差异阈值;基于该p侧的每条样本线中的样本的第一边长以及该q侧的每条样本线中的样本的第二边长确定该第一滤波器组中的滤波器的滤波器长度,该第一边长为该p侧的该两个编解码块之一的宽度或高度,该第二边长为该q侧的该两个编解码块之一的宽度或高度;以及在该块边界上应用具有确定的滤波器长度的该第一滤波器组中的至少一个滤波器。2.根据权利要求1所述的视频编解码方法,其特征在于,该n条样本线的该第一条的该内差异根据以下公式确定:其中len
p
表示在p侧的边界长度,len
q
表示在q侧的边界长度,p
s
、p
x
表示p侧的样本值,q
t
、q
y
表示q侧的样本值,0<x<len
p-1,0<y<len
q-1,m
s
可为0或1,且n
t
可为0或1。3.根据权利要求1所述的视频编解码方法,其特征在于,确定是否应用该第一滤波器组以减少该块边界处的块伪像还包括:当块边界是与具有m行大小的线缓冲器相关联的区域边界时,当该线缓冲器存储该p侧样本时,确定该滤波器组中的滤波器的滤波器长度小于该p侧的该线缓冲器的大小,或者当该线缓冲器存储该q侧样本时,确定该滤波器组中的滤波器的滤波器长度小于该q侧的该线缓冲器的大小。4.根据权利要求1所述的视频编解码方法,其特征在于,还包括:确定是启用第一滤波模式还是第二滤波模式,其中该第一滤波模式具有比该第二滤波模式强的滤波效果;以及当确定启用该强滤波器模式时,继续确定是否应用该第一滤波器组以减少该块边界处的块伪像。5.根据权利要求1所述的视频编解码方法,其特征在于,该第一滤波器组是从一组候选滤波器中选择的,该组候选滤波器包括滤波器,该滤波器的滤波器长度在1抽头到16抽头的范围内。6.根据权利要求1所述的视频编解码方法,其特征在于,基于以下之一确定该n条样本线的该第一条的间差异:|p
0-q0|,
(m
×
|p
0-q1|+n
×
|p
1-q0|)/(m+n),|m
×
(p
0-q1)+n
×
(p
1-q0)|/(m+n),(m
×
|p
0-q0|+n
×
|p
1-q1|)/(m+n),或者其中len
p
表示在p侧的边长,len
q
表示在q侧的边长,p0、p1表示p侧的样本值,q0、q1表示q侧的样本值,m和n是整数,∑
s
m
s
=1,且∑
t
n
t
=1。7.根据权利要求1所述的视频编解码方法,其特征在于,确定是否应用该第一滤波器组以减少该块边界处的块伪像还包括:根据以下一个或多个来确定是否应用该第一滤波器组来减少该块边界处的块伪像:该p侧和该q侧之间的参考图像差异,该p侧和该q侧之间的运动矢量差异,该p侧和该q侧的预测类型,该p侧和该q侧之间的残差差异,该n条样本线的颜色成分,或包括该块边界的p侧和q侧的图像、切片或块是否是帧内编码的。8.根据权利要求2所述的视频编解码方法,其特征在于,该间差异阈值、该第一内差异阈值和/或该第二内差异阈值是以下之一:从为该视频编解码系统使用的每个量化参数预定义的值中选择的值,从限幅阈值t
c
和去块阈值β导出的值,从为每个量化参数预定义的值加上图片级偏移值中选择的值,视频参数集、序列参数集、图片参数集、切片报头或编解码单元中指示的值,或者基于沿该块边界的相邻样本计算的最小可觉差值。9.根据权利要求1所述的视频编解码方法,其特征在于,还包括:信令指示是否应用该第一滤波器组的标志;以及信令长度值作为阈值,其中基于满足条件集的连续线的数量是否大于或等于该阈值确定是否应用该第一滤波器组。10.根据权利要求1所述的视频编解码方法,其特征在于,基于该第一边长和该第二边长确定该第一滤波器组中的该滤波器的该滤波器长度包括:确定要在该p侧应用的该滤波器的该滤波器长度,该滤波器长度在1和该第一边长之间的范围内,或者确定要在该q侧应用的该滤波器的该滤波器长度,该滤波器长度在1和该第二边长之间的范围内,其中在该p侧和该q侧应用的滤波器的滤波器长度相同或不同。11.根据权利要求1所述的视频编解码方法,其特征在于,基于该第一边长和该第二边长确定该第一组中的该滤波器的该滤波器长度包括:确定要在该p侧应用的该滤波器的该滤波器长度为分配给包括该第一边长的边长范围的滤波器长度,或者
确定要在该q侧应用的该滤波器的该滤波器长度为分配给包括该第二边长的边长范围的滤波器长度,其中,对于该p侧或该q侧,与包括较小的边长值的边长范围相比,包括较大边长值的边长范围被分配较大的滤波器长度。12.根据权利要求1所述的视频编解码方法,其特征在于,基于该第一边长和该第二边长确定该第一组中的该滤波器的该滤波器长度包括:基于该第一边长、该第二边长和该第一间差异以确定该p侧或该q侧的滤波器长度。13.根据权利要求1所述的视频编解码方法,其特征在于,在该块边界上以所确定的滤波器长度应用该第一滤波器组中的该至少一个滤波器包括:将该第一滤波器组应用于该p侧或该q侧的样本子集以减少该块边界处的块伪像。14.根据权利要求1所述的视频编解码方法,其特征在于,基于该第一边长和该第二边长确定该第一组中的该滤波器的该滤波器长度包括:根据查找表确定该p侧的第一滤波器抽头长度和该q侧的第二滤波器抽头长度,用于该块边界的该q侧的可能边长和该p侧的可能边长的每一组合,该查找表分别为该p侧和该q侧指定一对滤波器抽头长度。15.一种视频编解码装置,包括被配置为执行以下操作的电路:接收与两个编解码块之间的块边界相关联的重建视频数据,该块边界具有从边界的p侧到该边界的q侧跨越该块边界的n条样本线,该两个编解码块的每一个对应于编解码单元、预测单元或变换单元;基于以下条件确定是否应用第一滤波器组以减少该块边界处的块伪像:该n条样本线的第一条的内差异是否小于内差异阈值,该内差异指示该n条样本线的该第一条的的该p侧和该q侧之间的样本值变换;根据两条连续的样本线是否各自满足相同的一组条件,确定是否将该第一滤波器组应用于该n条样本线中的该两条连续的样本线,该相同的一组条件包括连续该两条连续的样本线的间差异各大于间差异阈值以及该两条连续的样本线的内差异各小于第二内差异阈值;基于该p侧的每条样本线中的样本的第一边长以及该q侧的每条样本线中的样本的第二边长确定该第一滤波器组中的滤波器的滤波器长度,该第一边长为该p侧的该两个编解码块之一的宽度或高度,该第二边长为该q侧的该两个编解码块之一的宽度或高度;以及在该块边界上应用具有确定的滤波器长度的该第一滤波器组中的至少一个滤波器。16.一种存储指令的非易失性计算机可读介质,该指令在由处理电路执行时使得该处理电路执行方法,该方法包括:接收与视频编解码系统中的两个编解码块之间的块边界相关联的重建视频数据,该块边界具有从边界的p侧到该边界的q侧跨越该块边界的n条样本线,该两个编解码块的每一个对应于编解码单元、预测单元或变换单元;确定是否应用第一滤波器组以减少该块边界处的块伪像,确定是否应用该第一滤波器组以减少该块边界处的该块伪像包括:确定该n条样本线的第一条的内差异是否小于内差异阈值,该内差异指示该n条样本线的该第一条的的该p侧和该q侧之间的样本值变换;
根据两条连续的样本线是否各自满足相同的一组条件,确定是否将该第一滤波器组应用于该n条样本线中的该两条连续的样本线,该相同的一组条件包括连续该两条连续的样本线的间差异各大于间差异阈值以及该两条连续的样本线的内差异各小于第二内差异阈值;基于该p侧的每条样本线中的样本的第一边长以及该q侧的每条样本线中的样本的第二边长确定该第一滤波器组中的滤波器的滤波器长度,该第一边长为该p侧的该两个编解码块之一的宽度或高度,该第二边长为该q侧的该两个编解码块之一的宽度或高度;以及在该块边界上应用具有确定的滤波器长度的该第一滤波器组中的至少一个滤波器。

技术总结
一种去块滤波方法,包括接收与编解码块之间的块边界相关联的重建视频数据。块边界具有自边界的P侧至Q侧跨越块边界的N条样本线。方法还包括基于N条样本线的第一条线的第一间差异是否大于间差异阈值确定是否应用第一滤波器组以减少块边界处的块伪像,当确定应用第一滤波器组时,基于P侧的第一边长以及Q侧的第二边长确定第一滤波器组中的第一滤波器长度;以及在块边界上应用具有确定的滤波器长度的第一滤波器组中的至少一个滤波器。一滤波器组中的至少一个滤波器。一滤波器组中的至少一个滤波器。


技术研发人员:蔡佳铭 庄子德 徐志玮 陈庆晔 黄毓文
受保护的技术使用者:寰发股份有限公司
技术研发日:2018.12.20
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-15302.html

最新回复(0)