一种视频编解码的方法及装置与流程

文档序号:17983100发布日期:2019-06-22 00:14阅读:114来源:国知局
一种视频编解码的方法及装置与流程

本申请要求2016年11月10日提出的名称为“methodsandapparatusfordeblockingfilter”的申请号为62/419,989的美国临时申请的优先权,其整体以引用方式并入本文中。

本发明所公开的实施例涉及视频编解码系统,且更具体而言,涉及一种透过基于区块尺寸而选择去区块滤波器设置的视频编解码的方法及装置。



背景技术:

此处提供的先前技术描述用作一般呈现本发明的内容的目的。目前署名发明人的工作内容,既包含在本先前技术部分中所描述的工作的内容,也包含在申请时未被认为是先前技术的说明书的各方面,这些既不明确也不暗示地被承认是本发明的先前技术。

很多视频编解码标准包括将输入视频的图像帧分割成一个或多个编码单元。通常,编码单元可以包括预测单元,其具有亮度区块和至少两个相应的色度区块。当编码区块的原始图像时,根据默认的视频编解码标准,区块的原始图像可以被分割成区块的预测部分和残差部分。当解码此区块时,根据相同的默认视频编解码标准,透过生成并组合区块的预测部分与残差部分,此区块的重构图像可以被获得。在各种区块毗连的区块分界线处,区块伪影(blockingartifact)可以在已解码图像帧中是可观察的,因此,为了提高已解码图像帧的图像质量,可以对区块分界线相邻的像素执行去区块处理。



技术实现要素:

本发明的一方面提供了一种视频编解码方法,其包括接收与图像帧的第一区块和第二区块相关的输入数据。第一区块和第二区块定义了两者之间的区块分界线,区块分界线沿着第一方向延伸,第一区块具有沿着不同于第一方向的第二方向的第一区块尺寸,并且第二区块具有沿着第二方向的第二区块尺寸。本方法还包括识别出沿着第二方向的参考尺寸以用于编解码图像帧;视频编解码装置的处理电路确定是否对与区块分界线相邻的多个像素执行去区块处理;以及若确定去区块处理将被执行,则视频编解码装置的处理电路执行去区块处理。执行去区块处理可以包括:若第一区块尺寸和第二区块尺寸均大于参考尺寸,则使用第一去区块滤波器设置集合,处理与区块分界线相邻的多个像素,该第一去区块滤波器设置集合使用位于区块分界线的每侧处的至多第一数量的像素;以及若第一区块尺寸或第二区块尺寸不大于参考尺寸,则使用第二去区块滤波器设置集合来处理与区块分界线相邻的多个像素,该第二去区块滤波器设置集合使用位于区块分界线的每侧处的至多第二数量的像素。第二数量小于第一数量。

在一个实施例中,参考尺寸为n个像素,其中n为正整数,并且第二数量等于或小于n/2。

在一个实施例中,第二滤波器设置集合可以包括多个弱滤波器设置和多个强滤波器设置。在一些示例中,第二去区块滤波器设置集合的多个弱滤波器设置使用位于区块分界线的每侧处的至多n/2个像素,并且第二去区块滤波器设置集合的多个强滤波器设置使用位于区块分界线的每侧处的至多n/2个像素。在一些示例中,第二去区块滤波器集合的多个弱滤波器设置使用位于区块分界线的每侧处的至多n/4个像素,并且第二去区块滤波器集合的多个强滤波器设置使用位于区块分界线的每侧处的至多n/2个像素。

在一个实施例中,沿着第二方向的像素行包括第一区块的像素p0和像素p1,以及第二区块的像素q0和像素q1,其中像素p0和像素q0均与区块分界线相邻,像素p1与像素p0相邻,像素q1与像素q0相邻。多个弱滤波器设置包括根据p0′=(3*p1+7*p0+9*q0-3*q1+8)>>4生成新的值p0'以替换像素p0,并且多个强滤波器设置包括根据p0′=(p1+2*p0+2*q0-q1+2)>>2生成新的值p0'以替换像素p0。

在一个实施例中,第二去区块滤波器集合包括使用位于区块分界线的每侧处的至多n/2个像素的多个统一滤波器设置。

本发明的一方面还提供了一种视频编解码装置,其包括处理电路,被配置为接收与图像帧的第一区块和第二区块相关的输入数据。第一区块和第二区块定义了两者之间的区块分界线,区块分界线沿着第一方向延伸,第一区块具有沿着不同于第一方向的第二方向的第一区块尺寸,并且第二区块具有沿着第二方向的第二区块尺寸。处理电路还被配置为:识别出沿着第二方向的参考尺寸以用于编解码图像帧;确定是否对与区块分界线相邻的多个像素执行去区块处理;以及若确定去区块处理将被执行,则执行去区块处理。处理电路还可以被配置为:若第一区块尺寸和第二区块尺寸均大于参考尺寸,则使用第一去区块滤波器设置集合,处理与区块分界线相邻的多个像素,其中第一去区块滤波器设置集合使用位于区块分界线的每侧处的至多第一数量的像素;以及若第一区块尺寸或第二区块尺寸不大于参考尺寸,则使用第二去区块滤波器设置集合,处理与区块分界线相邻的多个像素,其中第二去区块滤波器设置集合使用位于区块分界线的每侧处的至多第二数量的像素。第二数量小于第一数量。

本发明的一方面还提供了一种非计算机可读媒体,其存储有程序指令,使得装置的处理电路执行视频编解码方法。本方法包括接收与图像帧的第一区块和第二区块相关的输入数据。第一区块和第二区块定义了两者之间的区块分界线,区块分界线沿着第一方向延伸,第一区块具有沿着不同于第一方向的第二方向的第一区块尺寸,并且第二区块具有沿着第二方向的第二区块尺寸。本方法还包括:识别出沿着第二方向的参考尺寸以用于编解码图像帧;视频编解码装置的处理电路确定是否对与区块分界线相邻的多个像素执行去区块处理;以及若确定去区块处理将被执行,则视频编解码装置的处理电路执行去区块处理。执行去区块处理可以包括:若第一区块尺寸和第二区块尺寸均大于参考尺寸,则使用第一去区块滤波器设置集合,处理与区块分界线相邻的多个像素,其中第一去区块滤波器设置集合使用位于区块分界线的每侧处的至多第一数量的像素;以及若第一区块尺寸或第二区块尺寸不大于参考尺寸,则使用第二去区块滤波器设置集合,处理与区块分界线相邻的多个像素,其中第二去区块滤波器设置集合使用位于区块分界线的每侧处的至多第二数量的像素。第二数量小于第一数量。

附图说明

将结合下面的图式对被提供作为示例的本发明的各种实施例进行详细描述,其中相同的符号表示相同的组件,以及其中:

图1是根据本发明实施例的示例性视频编解码系统的功能结构示意图;

图2是根据本发明实施例的两个示例性区块的示意图,其定义了在两者之间沿着垂直方向延伸的区块分界线,以用于示出去区块处理(deblockingprocess);

图3是根据本发明实施例的两个示例性区块的示意图,其定义了在两者之间沿着水平方向延伸的区块分界线,以用于示出去区块处理;

图4是根据本发明实施例的图1中的视频编解码系统中的示例性编码电路的功能结构示意图;

图5是根据本发明实施例的图1中的视频编解码系统中的示例性解码电路的功能结构示意图;

图6是示出根据本发明实施例的包括确定是否执行去区块处理及如何执行去区块处理的示例性视频编码的流程图;

图7是示出根据本发明实施例的包括确定是否执行去区块处理及如何执行去区块处理的示例性视频解码流程的流程图;

图8是示出根据本发明实施例的用于确定是否对与特定区块分界线相邻的像素执行去区块处理的示例性处理的流程图;

图9a是示出根据本发明实施例的用于执行去区块处理的一示例性处理的流程图;以及

图9b是示出根据本发明实施例的用于执行去区块处理的另一示例性处理的流程图。

具体实施方式

根据本发明,编码控制器或者解码控制器可以根据定义了当前区块分界线的两个相邻区块的区块尺寸和参考尺寸,选择合适的去区块滤波器设置集合。在一些实施例中,当两个相邻区块的区块尺寸之一不大于参考尺寸n时,相比去区块滤波器设置的正常集合而言,使用更少位于区块分界线的两侧处的像素的去区块滤波器设置的特定集合被选择,以避免对应于相邻区块分界线的去区块处理之间的干扰。

图1示出了根据本发明实施例的示例性视频编解码系统100的功能结构示意图。视频编解码系统100包括用于视频编码的处理电路(即编码电路)110和用于视频解码的处理电路(即解码电路)120。编码电路110接收输入帧102作为输入数据,并透过编码输入帧102生成已编码视频数据104。解码电路120接收已编码视频数据104作为输入数据,并透过解码已编码视频数据104生成输出帧106。视频编解码系统100可以由包括编码电路110和解码电路120中至少一个的一个或多个视频编解码设备来实作。

编码电路110可以至少包括帧重构模块112、去区块模块114和编码控制器116,其中编码控制器116还可以包括滤波器设置选择器118。在一些示例中,编码控制器116可以将输入图像帧102分割成各个区块,随后可以确定用于每个区块的编解码参数。例如,编码控制器116可以将输入图像帧102分割成一个或多个编码树单元(codingtreeunit,ctu),每个ctu可以被进一步分割成一个或多个编码区块,并且每个编码区块可以是预测部分与残差部分的组合。在一些示例中,可以使用帧内预测或者帧间预测来编解码预测部分。帧内预测对应于透过基于预测模式外插出(extrapolating)与预测区块相邻的相邻像素的样本而生成预测区块的预测器。帧间预测对应于透过来自于参考图像帧的参考区块而生成预测区块的预测器。随后,编码控制器116可以确定编解码参数集合,以用于编码输入图像帧,并且编解码参数集合可以包括预测参数和已编码残差部分。

编码控制器116还可以控制帧重构模块112以基于所确定的编解码参数集合而生成对应于输入图像帧102的重构图像帧。帧重构模块112可以将重构图像帧转发至去区块模块114,其中为了减少由去区块效应引起的视觉影响,可以对重构图像帧执行去区块处理。编码控制器116的滤波器设置选择器118可以确定去区块滤波器设置集合,并将去区块滤波器设置集合发送至去区块模块114,以用于执行去区块处理。在一些示例中,来自去区块模块114的结果图像帧(resultingimageframe)可以被存储,并用作参考图像以用于编码后续的输入图像帧。

此外,编码控制器116可以至少基于所确定的编解码参数集合和/或关于确定用于处理重构帧的去区块滤波器设置集合的控制信息生成已编码视频数据104。

在一些示例中,滤波器设置选择器118和去区块模块114被配置为透过检测重构图像帧的区块分界线而对重构图像帧执行去区块处理,并逐个对与各自区块分界线相邻的像素执行去区块处理。例如,对于处理重构图像帧的当前区块分界线而言,编码控制器116可以识别出重构图像帧的第一区块和第二区块,其中第一区块在当前区块分界线处与第二区块毗邻。当前区块分界线可以沿着第一方向延伸。第一区块可以具有沿着不同于第一方向的第二方向且以像素为单位的第一区块尺寸。同样地,第二区块可以具有沿着第二方向且以像素为单位的第二区块尺寸。编码控制器116可以识别出沿着第二方向且以像素为单位的相应的参考尺寸n,以用于编解码图像帧。第一方向和第二方向中的一个可以是垂直方向,第一方向和第二方向中的另一个可以是水平方向。

去区块模块114可以确定是否执行用于当前区块分界线的去区块处理,即处理与当前区块分界线相邻的第一区块的像素和/或第二区块的像素。如果确定用于当前区块分界线的去区块处理将被执行,则滤波器设置选择器118可以选择合适的去区块滤波器设置集合以基于参考尺寸n、第一区块尺寸和第二区块尺寸执行去区块处理。

例如,如果第一区块尺寸和第二区块尺寸均大于参考尺寸n,则使用第一去区块滤波器设置集合,处理与当前区块分界线相邻的第一区块的像素和第二区块的像素。同样地,如果第一区块尺寸和第二区块尺寸不是均大于参考尺寸n,则使用第二去区块滤波器设置集合,处理与当前区块分界线相邻的第一区块的像素和第二区块的像素。在一些示例中,第一去区块滤波器设置集合至多使用位于区块分界线每侧处的第一数量的像素,第二去区块滤波器设置集合至多使用位于区块分界线每侧处的第二数量的像素,并且第二数量小于第一数量。在一些示例中,第二数量可以等于或小于n/2。

在一些示例中,当使用不同的处理线程(thread)并以并行方式解码第一区块和第二区块时,使用所选择的去区块滤波器设置集合,一次仅处理当前线程的第一区块或第二区块的像素。

参考尺寸n可以对应于用于编码区块(codingblock)的最小区块尺寸。在一些示例中,参考尺寸n可以对应于用于执行去区块处理的最小区块尺寸,其可以等于或大于用于编码区块的最小区块尺寸。用于编码区块的最小区块尺寸或者用于执行去区块处理的最小区块尺寸可以被定义在视频编解码标准中和/或使用已编码视频数据来发信。例如,参考尺寸n可以被设置成4个像素、8个像素或者16个像素。

第一去区块滤波器设置集合可以包括弱(weak)滤波器设置和强(strong)滤波器设置。在第一去区块滤波器设置集合中,弱滤波器设置可以对应于较低阶滤波器或者使用比强滤波器使用更少的抽头(tap)的滤波器。为了使用第一去区块滤波器设置集合来处理第一区块的像素和/或第二区块的像素,去区块模块114可以确定表示与当前区块分界线相邻的像素的空间活动性(spatialactivity)的值。如果所确定的表示空间活动性的值小于一阈值,则去区块模块114可以使用强滤波器设置,并且如果所确定的表示空间活动性的值等于或大于此阈值,则去区块模块114可以使用弱滤波器设置。表示空间活动性的值可以基于位于当前分界线两侧处和位于沿着第二方向的一个或多个像素行中的预设数量的像素来确定。在一些示例中,值越小表示越平坦的图像特征。

在一些示例中,第一去区块滤波器集合的弱滤波器设置可以使用位于当前区块分界线的每侧处的至多n个或者更多像素,第一去区块滤波器集合的强滤波器设置也可以使用位于当前区块分界线的每侧处的至多n个或者更多像素。

在一个示例中,第二去区块滤波器设置集合可以包括相应的弱滤波器设置和强滤波器设置。在第二去区块滤波器设置集合中,弱滤波器设置可以对应于较低阶滤波器或者使用比强滤波器使用更少的抽头的滤波器。为了使用第二去区块滤波器设置集合来处理第一区块的像素和/或第二区块的像素,去区块模块114也可以确定表示与当前区块分界线相邻的像素的空间活动性的值。如果所确定的表示空间活动性的值小于一阈值,则去区块模块114可以使用强滤波器设置,并且如果所确定的表示空间活动性的值等于或大于此阈值,则去区块模块114可以使用弱滤波器设置。

在一些示例中,第二去区块滤波器集合的弱滤波器设置可以使用位于当前区块分界线的每侧处的至多n/2个或者更多像素,第二去区块滤波器集合的强滤波器设置也可以使用位于当前区块分界线的每侧处的至多n/2个像素。在另一些示例中,第二去区块滤波器集合的弱滤波器设置可以使用位于当前区块分界线的每侧处的至多n/4个或者更多像素,第二去区块滤波器集合的强滤波器设置也可以使用位于当前区块分界线的每侧处的至多n/2个像素。

在又一示例中,第二去区块滤波器设置集合可以包括使用位于当前区块分界线的每侧处的至多n/2个像素的统一(unified)滤波器设置。在这种情景中,为了使用第二去区块滤波器设置集合来处理第一区块的像素和/或第二区块的像素,去区块模块114可以使用统一滤波器设置,而不考虑与当前区块分界线相邻的像素的空间活动性。

当使用第一去区块滤波器设置集合或者第二去区块滤波器设置集合的弱滤波器设置时,去区块处理可以逐行执行。例如,去区块模块114可以确定表示对应于沿着第二方向的特定像素行(lineofpixels)相对应的空间活动性的另一值。在一些示例中,当特定线的空间活动性表示较平坦的空间活动性时,使用所选择的去区块滤波器设置集合,处理特定线中的更多像素。

例如,去区块模块114可以使用弱滤波器设置,处理与区块分界线相邻的线中的第一区块的第一像素和/或第二区块的第一像素。如果表示线的空间活动性的值小于阈值,则去区块模块114可以使用弱滤波器设置,处理与各自的第一像素相邻的线中的第一区块的第二像素和/或第二区块的第二像素。如果表示线的空间活动性的值等于或大于此阈值,则去区块模块114可以决定跳过处理第二像素。同样地,在一些示例中,与使用弱滤波器设置相似,使用第二去区块滤波器设置集合的统一滤波器设置的去区块处理可以逐行(line-by-line)执行。

在一个示例中,假设沿着第二方向的像素行包括第一区块的四个像素(即像素p0、像素p1、像素p2和像素p3),以及第二区块的四个像素(即像素q0、像素q1、像素q2和像素q3)。像素p0和像素q0与当前区块分界线相邻,像素p0、像素p1、像素p2和像素p3彼此相邻,并因此自靠近当前区块分界线到远离当前区块分界线进行排序,像素q0、像素q1、像素q2和像素q3彼此相邻,并因此自靠近当前区块分界线到远离当前区块分界线进行排序。

第一去区块滤波器设置集合的弱滤波器设置可以包括根据p0′=(3*p1+7*p0+9*q0-3*q1+8)>>4生成新的值p0'以替代p0,以及根据p1′=(8*p2+19*p1-p0+9*q0-3*q1+16)>>5生成新的值p1’以替代p1。在一些示例中,根据将‘p’与‘q’交换的上述相似操作,例如q0′=(3*q1+7*q0+9*p0-3*p1+8)>>4和q1′=(8*q2+19*q1-q0+9*p0-3*p1+16)>>5,生成新的值q0'和/或值q1'以替代q0和/或q1可以被执行。

第一去区块滤波器设置集合的强滤波器设置可以包括根据p0′=(p2+2*p1+2*p0+2*q0+q1+4)>>3生成新的值p0'以替代p0,根据p1′=(p2+p1+p0-q0+2)>>2生成新的值p1'以替代p1,以及根据p2′=(2*p3+3*p2+p1+p0+4)>>3生成新的值p2'以替代p2。在一些示例中,根据将‘p’与‘q’交换的上述相似操作,例如,q0′=(q2+2*q1+2*q0+2*p0+p1+4)>>3,q1′=(q2+q1+q0-p0+2)>>2和q2′=(2*q3+3*q2+q1+q0+4)>>3,生成新的值q0'、q1'和/或值q2'以替代q0、q1和/或q1可以被执行。

第二去区块滤波器设置集合的弱滤波器设置可以包括根据p0′=(3*p1+7*p0+9*q0-3*q1+8)>>4生成新的值p0'以替代p0,以及根据q0′=(3*q1+7*q0+9*p0-3*p1+8)>>4生成新的值q0'以替代q0。

第二去区块滤波器设置集合的强滤波器设置可以包括根据p0′=(p1+2*p0+2*q0-q1+2)>>2生成新的值p0'以替代p0,以及根据q0′=(q1+2*q0+2*p0-p1+2)>>2生成新的值q0'以替代q0。

当然,上述滤波器设置可以用作非限定的示例。第一滤波器设置集合与第二去区块滤波器集合可以包括其他适当的滤波器设置。同样地,诸如裁剪操作或者其他适当操作的额外操作可以被执行为去区块处理的一部分。

在一些示例中,是否使能选择不同的滤波器设置集合和/或哪些滤波器设置可用可以被定义在视频编解码标准中和/或使用包括在已编码视频数据104中的控制信息来发信。

虽然滤波器设置选择器118被描述在图1中,作为编码控制器116的一部分,但是滤波器设置选择器118可以被实施为独立的控制器或者去区块模块114的部分。使用如图2-图3所示的示例,滤波器设置选择器118和去区块模块114的操作将被进一步示出。

解码电路120可以至少包括帧重构模块122、去区块模块124和解码控制器126,其中解码控制器126还可以包括滤波器设置选择器128。在一些示例中,解码控制器126可以从编码电路110接收已编码视频数据104,并提取或推导出编解码参数集合和/或关于适当的去区块滤波器设置集合的选择的控制信息,用于解码当前图像帧。解码控制器126还可以控制帧重构模块122以生成重构图像帧,其可以包括各种区块,每个具有基于编解码参数集合而生成的预测部分和残差部分。

帧重构模块122可以将重构图像帧转发至去区块模块124,其中为了减少由去区块效应引起的视觉影响,可以对重构帧执行去区块处理。解码控制器126的滤波器设置选择器128可以确定滤波器设置集合,并将所选择的滤波器设置集合发送至去区块模块124,以用于执行去区块处理。在一些示例中,来自去区块模块124的结果图像帧可以被存储并输出为输出帧和/或用作参考图像以用于解码后续图像帧。

在一些示例中,滤波器设置选择器128和去区块模块124被配置为以与滤波器设置选择器118和去区块模块114的操作相似的方式对重构图像帧执行去区块处理,因此其具体的说明将被省略。同样地,虽然滤波器设置选择器128被描述在图1中,作为解码控制器126的部分,但是滤波器设置选择器128可以被实施为独立的控制器,或者作为去区块模块124的部分。

此外,待编码或者待解码的图像帧可以被分割成不同的编码树单元,其对应于不同的颜色空间分量。用于图像帧的亮度分量的去区块处理可以如上所述而被执行。用于图像帧的色度分量的去区块处理可以如上所述而被执行,或者使用简化(simplified)滤波器设置集合而被执行,该简化滤波器设置集合使用位于区块分界线的每侧处的至多n/2个像素。在至少一个非限制的示例中,简化滤波器设置集合包括根据p0′=(p1+4*p0+4*q0-q1+4)>>3生成新的的值p0'以替代p0,以及根据q0′=(q1+4*q0+4*p0-p1+4)>>3生成新的的值q0'以替代q0。

在操作中,编码电路110的编码控制器116接收输入帧102,并确定编解码参数以用于编解码输入图像帧。帧重构模块112基于所确定的编解码参数生成重构图像帧。滤波器设置选择器118和去区块模块114,透过识别重构图像帧的区块分界线和相应的相邻区块,随后对与区块分界线中的一个区块分界线相邻的像素进行处理,以对来自于帧重构模块112的重构图像帧执行去区块处理。如上所述,滤波器设置选择器118可以基于参考尺寸n和定义了当前区块分界线的区块的区块尺寸来确定适当的滤波器设置集合,并确定如何处理与当前区块分界线相邻的像素。

图2示出了根据本发明实施例的两个示例性的区块210和区块220的示意图,其定义了在两者之间沿着垂直方向240延伸的区块分界线230,以用于示出去区块处理。图2显示了区块210的16个像素,即像素p00-像素p33,以及区块220的16个像素,即像素q00-像素q33,其可以分别构成区块210和区块220的整体或者部分。

在去区块处理期间,去区块模块,例如图1中的去区块模块114或者去区块模块124,可以识别出重构图像帧中的分界线,其中每个分界线被定义在重构图像帧的两个相邻区块之间。滤波器设置选择器,例如滤波器设置选择器118或者滤波器设置选择器128,可以识别出沿着水平方向250的参考尺寸(例如,n个像素)。例如,在结合图2所示的示例中,参考尺寸n可以是4个像素。

透过分析用于区块210和区块220的编解码参数,并执行像素的特征分析,去区块模块114或者去区块模块124可以首先确定是否对与区块分界线230相邻的像素执行去区块处理。例如,用于区块210和区块220的编解码参数可以被分析,使得根据下表,分界线强度值(boundarystrength,bs)可以被分配到分界线230。

在一些示例中,如果用于区块210和区块220的编解码参数指示分界线230的分界线强度值为0,则用于分界线230的去区块处理可以被跳过。如果用于区块210和区块220的编解码参数指示分界线230的分界线强度值为1或者更大,则去区块模块114或者去区块模块124可以进一步确定用于分界线230的去区块处理是否应该基于特征分析来被执行,以确定分界线230是否更可能对应于图像特征,因此为了保留图像特征,去区块处理可以被跳过。

例如,对于特征分析,去区块模块114或者去区块模块124可以选择沿着水平方向的两个像素行,并在区块分界线230的每侧处的每一行选择四个像素,例如,图2中的第一行的像素p00、像素p01、像素p02、像素p03、像素q00、像素q01、像素q02和像素q03以及图2中的第四行的像素p30、像素p31、像素p32、像素p33、像素q30、像素q31、像素q32和像素q33,以确定表示与区块分界线230相邻的像素的空间活动性的推导值。如果此推导值等于或大于预设阈值,则确定区块分界线230可以对应于图像特征,因此去区块处理可以被跳过。如果此推导值小于预设阈值,则确定用于区块分界线230的去区块处理将被执行。

随后,基于区块尺寸和参考尺寸n,滤波器设置选择器118或者滤波器设置选择器128可以选择用于区块210和区块220的适当的滤波器设置集合。

在一个示例中,如果区块210具有8个或者更多像素的沿着水平方向的区块尺寸(即区块宽度),且区块220具有8个或者更多像素的沿着水平方向的区块尺寸,则区块210和区块220的区块宽度均大于n(在本示例中n=4个像素)。因此,滤波器设置选择器118或者滤波器设置选择器128可以选择第一滤波器设置集合,以用于处理与分界线230相邻的像素。在一些示例中,第一滤波器设置集合可以使用位于区块分界线230的每侧处的多于两个像素。在结合图1所示的示例中,第一滤波器设置集合包括可以使用位于区块分界线230的每侧处的至多四个像素的弱滤波器设置以及也可以使用位于区块分界线230的每侧处的至多四个像素的强滤波器设置。

在另一示例中,如果区块210具有4个像素的区块宽度,且区块220具有8个或者更多像素的区块宽度,则区块宽度中的一个不大于n(在本示例中n=4个像素)。因此,滤波器设置选择器118或者滤波器设置选择器128可以选择第二滤波器设置集合,以用于处理与分界线230相邻的像素。在一些示例中,第一滤波器设置集合可以使用位于区块分界线230的每侧处的至多第一数量的像素,第二滤波器设置集合可以使用位于区块分界线230的每侧处的至多第二数量的像素,并且第二数量小于第一数量。

在一些示例中,第二滤波器设置集合包括可以使用位于区块分界线230的每侧处的至多n/2个像素的弱滤波器设置和可以使用位于区块分界线230的每侧处的至多n/2个像素的强滤波器设置。在另一些示例中,第二滤波器设置集合包括可以使用位于区块分界线230的每侧处的至多n/4个像素的弱滤波器设置和可以使用位于区块分界线230的每侧处的至多n/2个像素的强滤波器设置。在又一示例中,第二滤波器设置集合包括可以使用位于区块分界线230的每侧处的至多n/2个像素的统一滤波器设置。

在滤波器设置选择器118或者滤波器设置选择器128确定适当的滤波器设置集合以用于处理与分界线230相邻的像素之后,去区块模块114或者去区块模块124可以基于所选择的滤波器设置集合对这些像素执行去区块处理。例如,去区块模块114或者去区块模块124,如果可用,可以先基于这些像素的第一空间活动性确定是否使用强滤波器设置或者弱滤波器设置。在一些示例中,透过分析在上述特征分析中所使用的像素,第一空间活动性可以被确定。如果表示第一空间活动性的第一值小于阈值,则确定像素对应于较低空间活动性区域或者更平坦区域,使得区块失真相对于相应的图像特征而言更易观察到的。因此,去区块模块114或者去区块模块124可以使用强滤波器设置。否则,去区块模块114或者去区块模块124可以使用弱滤波器设置,其中去区块模块114或者去区块模块124可以处理与分界线相邻的第一像素,并基于沿着水平方向250的相应的像素行的第二空间活动性,确定是否处理与第一像素相邻的第二像素。

图3显示了根据本发明实施例的两个示例性的区块310和区块320的示意图,其定义了在两者之间沿着水平方向350延伸的区块分界线330,以用于示出去区块处理。图3显示了区块310的16个像素(即像素p00-像素p33),以及区块320的16个像素(即像素q00-像素q33),其可以分别构成区块310和区块320的整体或者部分。

用于与区块分界线330相邻的像素的去区块处理可以以如图2所示的用于与区块分界线230相邻的像素的去区块处理相似的方式被执行,除了区块分界线和像素行的定位不同之外。例如,透过分析用于区块310和区块320的编解码参数以及如图2所描述的像素的特征分析,去区块模块114或者去区块模块124可以首先确定是否对与区块分界线330相邻的像素执行去区块处理。随后,基于沿着垂直方向340的区块尺寸和如图2所示的参考尺寸n,滤波器设置选择器118或者滤波器设置选择器128可以选择用于区块310和区块320的适当的滤波器设置集合。

在一个示例中,如果区块310具有8个或者更多像素的沿着垂直方向的区块尺寸(即区块高度),且区块320具有8个或者更多像素的沿着垂直方向的区块尺寸,则区块310和区块320的区块高度均大于n(在本示例中n=4个像素)。因此,滤波器设置选择器118或者滤波器设置选择器128可以选择第一滤波器设置集合,以用于处理与分界线330相邻的像素。在另一示例中,如果区块310具有4个像素的区块高度,且区块320具有8个或者更多像素的区块高度,则区块高度中的一个不大于n(在本示例中n=4个像素)。因此,滤波器设置选择器118或者滤波器设置选择器128可以选择第二滤波器设置集合,以用于处理与分界线330相邻的像素。

在滤波器设置选择器118或者滤波器设置选择器128确定适当的滤波器设置集合以用于处理与分界线230相邻的像素之后,可以参考图2,去区块模块114或者去区块模块124基于所选择的滤波器设置集合,对像素执行去区块处理。

图4显示了根据本发明实施例的视频编解码系统中的示例性编码电路410的功能结构示意图,例如图1中的视频编解码系统100中的编码电路110。图4是编码电路410的简化示意图,从而并未显示编码电路410的所有细节和变形。

编码电路410包括帧重构模块412、去区块模块414、编码控制器416和编码控制器416中的滤波器设置选择器418,其分别对应于图1中的帧重构模块112、去区块模块114、编码控制器116和滤波器设置选择器118。编码电路410还包括帧间预测模块432、帧内预测模块434、加法器436、残差编码器438、存储器450和处理器460。

编码控制器416监测帧重构模块412、去区块模块414、帧间预测模块432、帧内预测模块434、加法器436和/或残差编码器438的操作。编码控制器416可以指导帧间预测模块432和/或帧内预测模块434,以将每个输入帧402分割成区块,并确定每个区块的预测方案、预测模式和/或相应的预测参数。编码控制器416可以选择帧间预测模块432和/或帧内预测模块434中的一个以将当前区块的相应的最终预测输出至加法器436。加法器436接收当前区块的原始图像和当前区块的最终预测器,并透过自当前区块的原始图像减去最终预测器,以输出当前区块的残差部分。残差编码器438接收并编码当前区块的残差部分。基于来自于帧间预测模块432和/或帧内预测模块434的预测参数和来自于残差编码器438的输出,编码控制器416可以生成已编码视频数据404。

帧重构模块412可以接收来自于帧间预测模块432和/或帧内预测模块434的最终预测和来自于残差编码器438的当前区块的重构残差部分。基于这些信息,帧重构模块412可以生成重构区块,并将所有重构区块收集到对应于当前输入图像帧402的重构图像帧中。帧重构模块412可以输出重构区块到帧内预测模块434,作为参考像素以用于下一区块或图像帧的帧内预测。帧重构模块412可以输出重构图像帧到去区块模块414,以进一步用于去区块处理。

同样地,滤波器设置选择器418确定适当的滤波器设置集合,以参考图1-图3所述,处理重构图像帧。去区块模块414接收来自于帧重构模块412的重构图像帧,并如图1-图3所示使用所确定的滤波器设置集合执行去区块处理。去区块模块414可以输出已处理图像帧,其中如图1-图3所示,重构图像帧可以被整体滤波或者部分滤波,或者不被滤波,并发送至存储器450。已处理图像帧可以被存储在存储器450中,并由帧内预测模块432所存取,作为参考帧以用于下一区块或图像帧的帧间预测。

此外,如图4所示,处理器460与存储器450电性耦接,并可以被配置为执行存储在存储器450中的程序指令以执行各种功能。处理器460可以包括单个处理核心或多个处理核心。编码电路410的各种组件,例如编码控制器416、帧重构模块412、去区块模块414、帧间预测模块432、帧内预测模块434、加法器436和/或残差编码器438,可以由硬件组件、执行程序指令的处理器460或者其组合来实作。当然,处理器460也可以执行程序指令以控制输入帧402的接收和已编码视频数据404的输出。在一些示例中,处理器460可以执行程序指令以执行可能不直接与编码已编码视频数据404相关的功能。

存储器450可以用于存储程序指令、对应于预测参数的信息、重构区块、输入帧和/或用于执行编码电路410的各种功能的中间数据。在一些示例中,存储器450包括非易失计算机可读媒体,例如半导体存储器或固体存储器、随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、硬盘、光盘或者其他适当的存储媒体。在一些实施例中,存储器450包括上述列出的非易失计算机可读媒体中的两个或者更多的组合。

图5显示了根据本发明实施例的视频编解码系统中的示例性解码电路520的功能结构示意图,例如图1中的视频编解码系统100中的解码电路120。图5是解码电路520的简化示意图,并从而并未显示解码电路520的所有细节和变形。

解码电路520包括帧重构模块522、去区块模块524、解码控制器526和解码控制器526中的滤波器设置选择器528,其分别对应于图1中的帧重构模块112、去区块模块115、解码控制器116和滤波器设置选择器118。解码电路520还包括帧间预测模块532、帧内预测模块534、残差解码器538、存储器550和处理器560。

解码控制器526接收并分析已编码视频数据504,并提取残差信息和预测参数以用于解码当前图像帧的各个区块。对于每个区块,解码控制器526可以指导帧间预测模块532或帧内预测模块534以生成区块的预测部分,并可以指导残差解码器538以生成区块的残差部分。帧重构模块522可以接收当前图像帧的各个区块的预测部分和残差部分,并透过将各自的预测部分和残差部分进行组合来生成重构区块。帧重构模块522可以将所有重构区块收集到对应于当前输入图像帧的重构图像帧中。帧重构模块522可以输出重构区块到帧内预测模块534,作为参考像素以用于下一区块或图像帧的帧内预测。帧重构模块522可以输出重构图像帧到去区块模块524,以进一步用于去区块处理。

滤波器设置选择器528,像图4中的滤波器设置选择器418一样,可以确定适当的滤波器设置集合,以参考图1-图3所述,处理重构图像帧。去区块模块524接收来自于帧重构模块522的重构图像帧,并如图1-图3所示,使用所确定的滤波器设置集合执行去区块处理。去区块模块524可以输出已处理图像帧,其中如图1-图3所示,重构图像帧可以被整体滤波或者部分滤波,或者不被滤波,并发送至存储器550。已处理图像帧可以被存储在存储器550中,并由帧内预测模块532所存取,作为参考帧以用于下一区块或图像帧的帧间预测。同样地,已处理图像帧可以自存储器550输出,作为输出图像帧506。

此外,如图5所示,处理器560与存储器550电性耦接,并可以被配置为执行存储在存储器550中的程序指令以执行各种功能。处理器560可以包括单个处理核心或多个处理核心。解码电路520的各种组件,例如解码控制器526、帧重构模块522、去区块模块524、帧间预测模块532、帧内预测模块534和/或残差编码器538,可以由硬件组件、执行程序指令的处理器560或者其组合来实作。当然,处理器560也可以执行程序指令以控制已编码视频数据504的接收和输出图像帧506的输出。在一些示例中,处理器560可以执行程序指令以执行可能不直接与解码已编码视频数据504相关的功能。

存储器550可以用于存储程序指令、对应于预测参数的信息、重构区块、输入帧和/或用于执行解码电路510的各种功能的中间数据。在一些示例中,存储器550包括非易失计算机可读媒体,例如半导体存储器或固体存储器、随机存取存储器、只读存储器、硬盘、光盘或者其他适当的存储媒体。在一些实施例中,存储器550包括上述列出的非易失计算机可读媒体中的两个或者更多的组合。

此外,图4中的编码电路410和图5中的解码电路520可以被实作在相同的电子设备中,并且编码电路410和解码电路520的各种组件可以被共享或被重用。例如,存储器450、处理器460、帧内预测模块432、帧内预测模块434、滤波器设置选择器418和编码电路410中的去区块模块414中的一个或多个也可以分别用作图5中的存储器550、处理器560、帧内预测模块532、帧内预测模块534、滤波器设置选择器528和去区块模块524。

图6显示了示出根据本发明实施例的包括确定是否执行去区块处理及如何执行去区块处理的示例性视频编码流程600的流程图。流程600可以由编码电路执行,例如图1中的编码电路110或者图4中的编码电路410。可以理解的是,在图6中所示的流程600之前、期间和/或之后,额外的操作可以被执行。流程600始于步骤s601并继续到步骤s610。

在步骤s610中,接收关于输入图像帧的输入数据。输入图像帧可以被分割成各种区块,以进一步用于编码处理。编解码参数集合可以被确定以用于编码此图像帧。例如,编码电路110或编码电路410可以接收输入图像帧,并且编码控制器116或编码控制器416可以与帧间预测模块432、帧内预测模块434和残差编码器438一起工作,以确定编解码参数集合以用于编码输入图像帧。

在步骤s620中,生成对应于输入图像帧的重构图像帧。重构图像帧可以包括第一区块和第二区块,其中第一区块和第二区块定义了两者之间沿着第一方向(例如垂直方向或水平方向)延伸的区块分界线。例如,帧重构模块112或帧重构模块412可以生成重构图像帧,其包括定义了区块分界线230的两个相邻的区块210和区块220,或者定义了区块分界线330的两个相邻的区块310和区块320。

在步骤s630中,识别出沿着不同于第一方向的第二方向的参考尺寸n。在一些示例中,参考尺寸n可以对应于用于编码区块的最小区块尺寸。在一些示例中,参考尺寸n可以对应于用于执行去区块处理的最小区块尺寸,其可以等于或者大于与用于编码区块的最小尺寸。在一些示例中,根据默认的视频编解码标准,编码控制器116或编码控制器416可以识别出参考尺寸n。在如图2和图3所示的示例中,参考尺寸n可以被设置成4个像素。

在步骤s640中,确定是否将对与区块分界线相邻的像素执行去区块处理。步骤s640的示例性实施方式进一步如图8所示。如果确定去区块处理将被执行,则本流程继续到步骤s650。否则,本流程继续到步骤s680。例如,透过分析用于区块的编解码参数,并如图2所示的执行与分界线相邻的像素的特征分析,去区块模块114或者去区块模块414可以确定是否执行去区块处理。

在步骤s650中,确定沿着第二方向的第一区块的第一区块尺寸和沿着第二方向的第二区块的第二区块尺寸是否均大于参考尺寸n。如果第一区块尺寸和第二区块尺寸均大于参考尺寸n,则本流程继续到步骤s660。如果第一区块尺寸和第二区块尺寸中的一个不大于参考尺寸n,则本流程继续到步骤s670。例如,如图1-图4所示,滤波器设置选择器118或者滤波器设置选择器418可以确定第一区块尺寸和第二区块尺寸是否均大于参考尺寸n。

在步骤s660中,由于第一区块尺寸和第二区块尺寸均大于参考尺寸n,则选择第一滤波器设置集合以用于处理与区块分界线相邻的像素。第一滤波器设置集合可以使用位于区块分界线的每侧处的至多s1个样本。例如,如图1-图4所示,回应于第一区块尺寸和第二区块尺寸均大于参考尺寸n的确定,滤波器设置选择器118或者滤波器设置选择器418可以选择第一滤波器设置集合。如图1-图4所示,使用第一滤波器设置集合,去区块模块114或者去区块模块414可以执行去区块处理。

在步骤s670中,由于第一区块尺寸和第二区块尺寸中的一个不大于参考尺寸n,则选择第二滤波器设置集合以用于处理与区块分界线相邻的像素。第二滤波器设置集合可以使用位于区块分界线的每侧处的至多s2个样本,其中s2小于s1。例如,如图1-图4所示,回应于第一区块尺寸和第二区块尺寸中的一个不大于参考尺寸n的确定,滤波器设置选择器118或者滤波器设置选择器418可以选择第二滤波器设置集合。如图1-图4所示,使用第二滤波器设置集合,去区块模块114或者去区块模块414可以执行去区块处理。

在步骤s680中,不对与区块分界线相邻的像素执行去区块处理。

在一些示例中,在所有的区块分界线均被步骤s660、步骤s670或者步骤s680处理之前,步骤s630至步骤s680可以分别被执行以处理重构图像帧中的每个区块分界线。

在步骤s690中,编码输入图像帧以用于输出。在一些示例中,包括已处理像素的已处理重构图像帧被存储在存储器中,作为参考图像帧,以用于对下一区块或者下一图像帧执行帧间预测。例如,存储器450存储来自于去区块模块414的已处理重构图像帧,其对帧间预测模块432可存取,以用于后续帧间预测处理。

在步骤s690之后,本流程继续到步骤s699,并结束。

图7显示了示出根据本发明实施例的包括确定是否执行去区块处理及如何执行去区块处理的示例性视频解码流程700的流程图。流程700可以由解码电路执行,例如图1中的解码电路120或者图5中的解码电路520。可以理解的是,在图7中所示的流程700之前、期间和/或之后,额外的操作可以被执行。流程700始于步骤s701并继续到步骤s710。

在步骤s710中,接收输入数据,例如关于解码一图像帧的已编码视频数据。图像帧可以包括待解码的多个区块。编解码参数集合可以从已编码视频数据提取,以用于解码图像帧。例如,解码电路120或者解码电路520可以接收已编码视频数据,并且解码控制器126或者解码控制器526可以从已编码视频数据提取编解码参数,例如显性地被提供或者隐性地被推导出,以用于图像帧的各个区块。

在步骤s720中,生成对应于图像帧的重构图像帧。基于其编解码参数,图像帧的各个区块的重构区块被生成,并且重构区块被收集以形成重构帧。重构图像帧可以包括第一区块和第二区块,其中第一区块和第二区块定义了两者之间沿着第一方向延伸的区块分界线,例如垂直方向或水平方向。解码控制器126或解码控制器526可以与帧间预测模块532、帧内预测模块534和残差解码器538一起工作,以生成图像帧的区块的预测部分和残差部分。基于来自于帧间预测模块532和/或帧内预测模块534的预测部分和来自于残差解码器538的残差部分,帧重构模块122或帧重构模块422可以生成重构区块。基于重构区块,帧重构模块122或帧重构模块422还可以生成重构图像帧,其包括定义了区块分界线230的两个相邻的区块210和区块220,或者定义了区块分界线330的两个相邻的区块310和区块320。

在步骤s730中,识别出沿着不同于第一方向的第二方向的参考尺寸n。在一些示例中,参考尺寸n可以对应于用于编码区块的最小区块尺寸。在一些示例中,参考尺寸n可以对应于用于执行去区块处理的最小区块尺寸,其可以等于或者大于用于编码区块的最小区块尺寸。在一些示例中,根据默认的视频编解码标准,解码控制器126或解码控制器526可以识别出参考尺寸n。例如,解码控制器126或解码控制器526可以识别出参考尺寸n,其被显性地提供在已解码视频数据中,或者基于在已编码视频数据中提供的信息来根据默认的视频编解码标准被隐性地推导出。在如图2和图3所示的示例中,参考尺寸n可以被设置成4个像素。

在步骤s740中,确定是否将对与区块分界线相邻的像素执行去区块处理。在一些示例中,步骤s740可以以与步骤s640相似的方式被执行,其进一步如图8所示。如果确定去区块处理将被执行,则本流程继续到步骤s750。否则,本流程继续到步骤s780。例如,透过分析用于区块的编解码参数,并如图2所示的执行与分界线相邻的像素的特征分析,去区块模块124或者去区块模块524可以确定是否执行去区块处理。

在步骤s750中,确定沿着第二方向的第一区块的第一区块尺寸和沿着第二方向的第二区块的第二区块尺寸是否均大于参考尺寸n。如果第一区块尺寸和第二区块尺寸均大于参考尺寸n,则本流程继续到步骤s760。如果第一区块尺寸和第二区块尺寸中的一个不大于参考尺寸n,则本流程继续到步骤s770。例如,如图1-图3和图5所示,滤波器设置选择器128或者滤波器设置选择器528可以确定第一区块尺寸和第二区块尺寸是否均大于参考尺寸n。

在步骤s760中,由于第一区块尺寸和第二区块尺寸均大于参考尺寸n,则选择第一滤波器设置集合以用于处理与区块分界线相邻的像素。第一滤波器设置集合可以使用位于区块分界线的每侧处的至多s1个样本。例如,如图1-图3和图5所示,回应于第一区块尺寸和第二区块尺寸均大于参考尺寸n的确定,滤波器设置选择器128或者滤波器设置选择器528可以选择第一滤波器设置集合。如图1-图3和图5所示,去区块模块124或者去区块模块524可以使用第一滤波器设置集合,执行去区块处理。

在步骤s770中,由于第一区块尺寸和第二区块尺寸中的一个不大于参考尺寸n,则选择第二滤波器设置集合以用于处理与区块分界线相邻的像素。第二滤波器设置集合可以使用位于区块分界线的每侧处的至多s2个样本,其中s2小于s1。例如,如图1-图3和图5所示,回应于第一区块尺寸和第二区块尺寸中的一个不大于参考尺寸n的确定,滤波器设置选择器128或者滤波器设置选择器528可以选择第二滤波器设置集合。如图1-图3和图5所示,去区块模块124或者去区块模块524可以使用第二滤波器设置集合,执行去区块处理。

在步骤s780中,不对与区块分界线相邻的像素执行去区块处理。

在一些示例中,在所有的区块分界线均被步骤s760、步骤s770或者步骤s780处理之前,步骤s730至步骤s780可以分别被执行以处理重构图像帧中的每个区块分界线。

在步骤s790中,将包括由步骤s760、步骤s770或步骤s780处理的像素的已处理重构图像帧存储在存储器中,以用于输出为已解码图像帧。在一些示例中,包括已处理像素的已处理重构图像帧被存储在存储器中,作为参考图像帧,以用于使用帧间预测对下一区块或者下一图像进行解码。例如,存储器550存储来自于去区块模块524的已处理重构图像帧,其将被输出为输出图像帧,并对帧间预测模块532可存取,以用于后续帧间预测处理。

在步骤s790之后,本流程继续到步骤s799,并结束。

图8显示了示出根据本发明实施例的用于确定是否对与特定区块分界线相邻的像素执行去区块处理的示例性流程840的流程图。流程840可以对应于图6中的步骤s640和/或图7中的步骤s740。可以理解的是,在图8中所示的流程840之前、期间和/或之后,额外的操作可以被执行。在步骤s630或者步骤s730之后,本流程继续到步骤s842。

在步骤s842中,根据预设标准的原因,确定对与当前区块分界线相邻的像素的去区块处理是否可以被跳过。在一些示例中,如果一区块具有沿着第一方向延伸的两个区块分界线,且具有不大于参考尺寸n的沿着第二方向的区块尺寸,则用于相应的区块分界线中的一个的去区块处理可以被跳过。如果确定对与当前区块分界线相邻的像素的去区块处理应被跳过,则本流程继续到步骤s680或者步骤s780。否则,本流程继续到步骤s844。在一些示例中,步骤s842可以被省略,并且本流程自步骤s630或者步骤s730继续到步骤s844。

在步骤s844中,基于定义了当前区块分界线的第一区块和第二区块的编解码参数,确定是否将对与当前区块分界线相邻的像素执行去区块处理。在分析编解码参数之后,如果确定可以执行去区块处理,则本流程继续到步骤s846。否则,如果确定可以跳过去区块处理,则本流程继续到步骤s680或者步骤s780。例如,如图2所示,透过分析用于区块210和区块220的编解码参数,去区块模块114或去区块模块124可以确定是否将对与当前区块分界线相邻的像素执行去区块处理。

在步骤s846中,基于像素的特征分析,确定是否将对与当前区块分界线相邻的像素执行去区块处理。在分析与当前区块分界线相邻的像素之后,确定区块分界线是否对应于可能受区块伪影影响的图像特征或图像帧的光滑部分。如果确定去区块处理将被执行,则本流程继续到步骤s650或者步骤s750。否则,如果确定区块分界线对应于图像帧中的特征,并且因此去区块处理可以被跳过,则本流程继续到步骤s680或者步骤s780。例如,如图2所示,透过分析与区块分界线230相邻的像素,去区块模块114或去区块模块124可以确定是否对与区块分界线230相邻的像素执行去区块处理。

图9a显示了示出根据本发明实施例的用于执行去区块处理的一示例性流程900a的流程图。流程900a可以由去区块模块执行,例如图1中的去区块模块114或去区块模块124、图4中的去区块模块414或者图5中的去区块模块524。在一些示例中,流程900a可以用于实施图6中的步骤s660或步骤s670或者图7中的步骤s760或步骤s770,其中所选择的滤波器设置集合包括强滤波器设置和弱滤波器设置。可以理解的是,在图9a中所示的流程900a之前、期间和/或之后,额外的操作可以被执行。流程900a始于步骤s901并继续到步骤s910。

在步骤s910中,确定表示第一空间活动性的第一值。例如,如图2所示,去区块模块114、去区块模块124、去区块模块414或去区块模块524可以确定第一空间活动性。

在步骤s920中,确定表示第一空间活动性的第一值是否小于第一阈值。如果表示第一空间活动性的第一值小于第一阈值,则本流程继续到步骤s930。否则,本流程继续到步骤s940。在步骤s930中,由于确定与当前区块分界线相邻的像素更有可能在更平坦区域中,因此可以使用所选择的滤波器设置集合的强滤波器设置。例如,如图2所示,去区块模块114、去区块模块124、去区块模块414或去区块模块524可以确定是否使用强滤波器设置。

弱滤波器设置可以逐行而被使用。在步骤s940a中,对于每个像素行,使用弱滤波器设置,处理紧邻由第一区块与第二区块所定义的区块分界线的第一区块的像素p0和第二区块的像素q0。例如,使用弱滤波器设置,处理包括图2或图3中p00-p03和q00-q03的像素行的像素p00和像素q00;使用弱滤波器设置,处理包括p10-p13和q10-q13的像素行的像素p10和像素q10;使用弱滤波器设置,处理包括p20-p23和q20-q23的像素行的像素p20和像素q20;以及使用弱滤波器设置,处理包括p30-p33和q30-q33的像素行的像素p30和像素q30。

在步骤s950a中,还确定是否将弱滤波器设置应用到分别与像素p0和像素q0相邻的第一区块的像素p1和第二区块的像素q1。表示对应于像素行的第二空间活动性的第二值可以被确定。如果第二值小于第二阈值,则用于像素p1和像素q2的去区块处理可以被跳过,并且本流程继续到步骤s970a。否则,本流程继续到步骤s960a。

在步骤s960a中,基于弱滤波器设置,处理像素p1和像素q1。例如,使用弱滤波器设置,处理包括图2或图3中p00-p03和q00-q03的像素行的像素p01和像素q01;使用弱滤波器设置,处理包括p10-p13和q10-q13的像素行的像素p11和像素q11;使用弱滤波器设置,处理包括p20-p23和q20-q23的像素行的像素p21和像素q21;以及使用弱滤波器设置,处理包括p30-p33和q30-q33的像素行的像素p31和像素q31。

在步骤s970a中,如果对应于当前区块分界线的所有像素行均已被处理,则本流程继续到步骤s999。否则,本流程继续到步骤s940a,以处理下一像素行。

在步骤s970a或步骤s930之后,本流程继续到步骤s999,并结束。

图9b显示了示出根据本发明实施例的用于执行去区块处理的另一示例性流程900b的流程图。流程900b可以由去区块模块执行,例如图1中的去区块模块114或去区块模块124、图4中的去区块模块414或者图5中的去区块模块524。在一些示例中,流程900b可以用于实施图6中的步骤s660或步骤s670或者图7中的步骤s760或步骤s770,其中所选择的滤波器设置集合包括统一滤波器设置。可以理解的是,在图9b中所示的流程900b之前、期间和/或之后,额外的操作可以被执行。以与在步骤s940a-步骤s970a中使用弱滤波器设置相似的方式,可以逐行使用统一滤波器设置。流程900b始于步骤s901并继续到步骤s940b。

在步骤s940b中,对于每个像素行,使用统一滤波器设置,处理紧邻由第一区块与第二区块所定义的区块分界线的第一区块的像素p0和第二区块的像素q0。例如,使用统一滤波器设置,处理包括图2或图3中p00-p03和q00-q03的像素行的像素p00和像素q00;使用统一滤波器设置,处理包括p10-p13和q10-q13的像素行的像素p10和像素q10;使用统一滤波器设置,处理包括p20-p23和q20-q23的像素行的像素p20和像素q20;以及使用统一滤波器设置,处理包括p30-p33和q30-q33的像素行的像素p30和像素q30。

在步骤s950b中进一步确定是否将统一滤波器设置应用到分别与像素p0和像素q0相邻的第一区块的像素p1和第二区块的像素q1。表示对应于像素行的第二空间活动性的第二值可以被确定。如果第二值小于第二阈值,则用于像素p1和像素q2的去区块处理可以被跳过,并且本流程继续到步骤s970b。否则,本流程继续到步骤s960b。

在步骤s960b中,基于统一滤波器设置,处理像素p1和像素q1。例如,使用统一滤波器设置,处理包括图2或图3中p00-p03和q00-q03的像素行的像素p01和像素q01;使用统一滤波器设置,处理包括p10-p13和q10-q13的像素行的像素p11和像素q11;使用统一滤波器设置,处理包括p20-p23和q20-q23的像素行的像素p21和像素q21;以及使用统一滤波器设置,处理包括p30-p33和q30-q33的像素行的像素p31和像素q31。

在步骤s970b中,如果对应于当前区块分界线的所有像素行均已被处理,则本流程继续到步骤s999。否则,本流程继续到s940b,以处理下一像素行。

在步骤s970b之后,本流程继续到步骤s999,并结束。

由于已经结合本发明的被提出用作示例的具体实施例描述了本发明的各个方面,可以做出这些示例的替代、修改和变形。因此,此处所说明的实施例用作示意目的,但不用于限制。在不脱离请求项的范围的情况下,可以做出改变。

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