移除视频数据中的编码伪影的自适应滤波机制的制作方法
【专利摘要】本发明提供移除视频数据中的编码伪影的自适应滤波机制。方法包括通过处理器和/或硬件引擎在视频序列的解码或与解码相关联的后处理期间基于预定阈值确定视频序列的视频帧的边缘像素和平坦像素,以及量化视频帧的、其边缘周围的像素的空间相关性,以估计振铃伪影的强度以及其跨视频帧和其跨视频序列的视频帧的空间和时间持久性。方法还包括对视频帧的边缘周围的像素进行自适应地和空间地滤波、对视频帧进行自适应地和时间地滤波,以及将自适应空间滤波和自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的累积效应的伪影。
【专利说明】移除视频数据中的编码伪影的自适应滤波机制
【技术领域】
[0001]本公开总地涉及视频处理,并且更具体地,涉及移除视频数据中的编码伪影(artifact)的自适应滤波机制。
【背景技术】
[0002]对具有视频处理能力的数据处理设备(例如膝上型计算机、移动设备)的用户体验可依赖于在其上的视频回放的质量。视频编码技术可能产生数字伪影,其基于诸如所选择的比特率的因素而令人不快地变化。因此,回放内容可能遭受在各种比特率上令人不快的数字伪影的组合的影响。因为还可在大的显示单元(例如高清电视(HDTV)机的显示单元)上观看视频内容,所以前述伪影甚至可能会更加容易察觉并且令人不快。特别是,视频帧上的对象的边缘附近的振铃(ringing)伪影和蚊式噪声伪影可能由于其存在于对象的边界附近而令人不快。
【发明内容】
[0003]公开了移除视频数据中的编码伪影的自适应滤波机制的方法、设备和/或系统。
[0004]在一个方面,方法包括:通过数据处理设备的可通信地耦连到存储器的处理器和/或硬件引擎在视频序列的解码或与解码相关联的后处理期间基于预定阈值确定视频序列的视频帧的边缘像素和平坦像素。边缘像素与视频帧的一个或多个边缘相关联,在所述边缘周围存在高于其阈值的强度(intensity)级别的改变,并且平坦像素与视频帧的一个或多个区域相关联,在所述区域周围强度级别的改变低于阈值。
[0005]方法还包括通过处理器和/或硬件引擎量化视频帧的、一个或多个边缘周围的像素的空间相关性,以基于所确定的边缘像素和平坦像素以及解码的原始输出来估计其中的振铃伪影的强度、振铃伪影在视频巾贞内的持久性(persistence)以及其跨视频巾贞和视频序列的另一个视频帧的时间持久性。进一步地,方法包括通过边缘保留滤波器对视频帧的一个或多个边缘周围的像素进行自适应地和空间地滤波,所述边缘保留滤波器通过在处理器和/或硬件引擎上执行指令来实现,所述滤波基于与视频序列相关联的元数据、所估计的振铃伪影的强度、振铃伪影在视频帧内的持久性以及振铃伪影跨视频帧和另一个视频帧的时间持久性。
[0006]再进一步地,方法包括通过处理器和/或硬件引擎对视频帧进行自适应地和时间地滤波以减轻来源于视频序列的编码期间的压缩的累积效应的伪影,以及通过处理器和/或硬件引擎将自适应空间滤波和自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的累积效应的伪影。
[0007]在另一方面,数据处理设备包括存储器和通信地耦连到存储器的处理器。处理器配置为执行指令以在视频序列的解码或与解码相关联的后处理期间基于预定阈值确定视频序列的视频帧的边缘像素和平坦像素。边缘像素与视频帧的一个或多个边缘相关联,在所述边缘周围存在高于其阈值的强度级别的改变,并且平坦像素与视频帧的一个或多个区域相关联,在所述区域周围强度级别的改变低于阈值。
[0008]处理器还配置为执行指令以量化视频帧的、一个或多个边缘周围的像素的空间相关性,以基于所确定的边缘像素和平坦像素以及解码的原始输出来估计其中的振铃伪影的强度、振铃伪影在视频帧内的持久性以及其跨视频帧和视频序列的另一个视频帧的时间持久性。进一步地,处理器配置为执行指令以通过边缘保留滤波器对视频帧的一个或多个边缘周围的像素进行自适应地和空间地滤波,所述滤波基于与视频序列相关联的元数据、所估计的振铃伪影的强度、振铃伪影在视频帧内的持久性以及振铃伪影跨视频帧和另一个视频帧的时间持久性。
[0009]再进一步地,处理器配置为执行指令以对视频帧进行自适应地和时间地滤波以减轻来源于视频序列的编码期间的压缩的累积效应的伪影,以及将自适应空间滤波和自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的累积效应的伪影。
[0010]在又一方面,系统包括配置为生成被编码为视频序列的视频数据的数据源,以及可通信地耦连到数据源的硬件引擎和/或客户端设备。硬件引擎和/或客户端设备配置为在视频序列的解码或与解码相关联的后处理期间基于预定阈值确定视频序列的视频帧的边缘像素和平坦像素。边缘像素与视频帧的一个或多个边缘相关联,在所述边缘周围存在高于其阈值的强度级别的改变,并且平坦像素与视频帧的一个或多个区域相关联,在所述区域周围强度级别的改变低于阈值。
[0011]硬件引擎和/或客户端设备还配置为量化视频帧的、一个或多个边缘周围的像素的空间相关性,以基于所确定的边缘像素和平坦像素以及解码的原始输出来估计其中的振铃伪影的强度、振铃伪影在视频帧内的持久性以及其跨视频帧和视频序列的另一个视频帧的时间持久性。硬件引擎和/或客户端设备进一步配置为通过边缘保留滤波器对视频帧的一个或多个边缘周围的像素进行自适应地和空间地滤波,所述滤波基于与视频序列相关联的元数据、所估计的振铃伪影的强度、振铃伪影在视频帧内的持久性以及振铃伪影跨视频帧和另一个视频帧的时间持久性。
[0012]再进一步地,硬件引擎和/或客户端设备配置为对视频帧进行自适应地和时间地滤波以减轻来源于视频序列的编码期间的压缩的累积效应的伪影,以及将自适应空间滤波和自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的累积效应的伪影。
[0013]本文所公开的方法和系统可以以用于达到各方面的任何手段加以实现,并且可以以具体化指令集的非暂时性机器可读介质的形式加以执行,所述指令集当由机器所执行时使机器实施本文所公开的操作中的任何操作。
[0014]其他特征根据附图和下面的详细描述将是显而易见的。
【专利附图】
【附图说明】
[0015]本发明的实施例以示例而非限制的方式示出在附图的图中,其中相似的参考指示类似的元件,并且其中:
[0016]图1是根据一个或多个实施例的视频系统的示意图。
[0017]图2是简化的视频帧中的示范性边缘的示意图。
[0018]图3是根据一个或多个实施例的、为加宽与视频帧相关联的边缘的轮廓而对其边缘像素周围的视频帧的像素进行标记的示意图。
[0019]图4是在图1的视频系统的客户端设备上执行的后处理引擎的实现方案的示意图。
[0020]图5是根据一个或多个实施例的、详述移除图1的视频数据中的编码伪影的自适应滤波机制中所涉及的操作的流程图。
[0021]图6是根据一个或多个实施例的、详述移除图1的视频数据中的编码伪影的自适应滤波机制中所涉及的操作的过程流程图。
[0022]所呈现的实施例的其他特征根据附图和下面的详细描述将是显而易见的。
【具体实施方式】
[0023]可以使用如下文所描述的示范性实施例来提供移除视频数据中的编码伪影的自适应滤波机制的方法、设备和/或系统。虽然所呈现的实施例已参照具体的示范性实施例进行描述,但是明显的是,可以对这些实施例做出各种修改和改变而不脱离各实施例的较宽精神和范围。
[0024]图1是根据一个或多个实施例的视频系统100的示意图。在一个或多个实施例中,视频系统100可包括服务器102,其(例如通过计算机网络106)可通信地耦连到客户端设备104。在一个或多个实施例中,服务器102(或数据源)可配置为生成被编码为视频序列并被传送到客户端设备104的视频数据。在一个或多个实施例中,所传送的视频数据可在客户端设备104处被解码并在与其相关联的显示单元120上被渲染。在一个或多个实施例中,客户端设备104可以是台式计算机、膝上型计算机、笔记本计算机、上网本、平板电脑或诸如移动电话的移动设备。其他形式的客户端设备104在本文所讨论的示例性实施例的范围内。在替代的示范性实施例中,服务器102和客户端设备104可以是同一数据处理设备。
[0025]在一个或多个实施例中,客户端设备104可包括处理器108 (例如中央处理单元(CPU)、图形处理单元(GPU)),其可通信地耦连到存储器110 (例如易失性存储器和/或非易失性存储器);存储器110可包括可通过处理器108寻址的存储位置。在一个或多个实施例中,处理器108可在其上执行解码器引擎112(例如指令集)以解码所接收的视频数据(例如视频数据116),以使能其在显示单元120上的渲染;显示单元120在图1中被示出为与处理器108接合。图1还将解码器引擎112示出为存储在存储器110中以通过处理器108加以执行;此外,图1将视频数据116示出为存储在存储器110 (例如易失性存储器)中。
[0026]在一个或多个实施例中,处理器108还可在其上执行后处理引擎130 (以将解码器引擎112的输出应用到其的方式也被示出为存储器110的一部分)。在一个或多个实施例中,后处理引擎130可处理解码器引擎112的输出(例如视频数据116)以抑制/减轻其中与编码相关的振铃/蚊式噪声伪影,如下文将讨论的。在一个或多个替代的实施例中,后处理引擎130可以是解码器引擎112的一部分。应该注意,视频系统100可能要求实时处理以抑制/减轻前述伪影。因此,虽然本文所讨论的示例性实施例可优先针对于解决这类要求,但是更多运算量的解决方案也在其范围内。
[0027]在一个或多个实施例中,视频数据116可包括(例如通过处理器108)被扫描以保留其边缘的若干视频帧(例如视频帧122^)。在一个或多个实施例中,边缘可以是视频帧122^的在其周围存在高于阈值(例如存储在存储器110中的阈值172)的强度级别的改变的点。图2示出了简化的视频帧122^中的边缘202的示例。在一个或多个实施例中,可扫描每个视频帧122i_N以标识其与预期的伪影表现相关联的区域并丢弃其他区域。换句话说,在一个或多个实施例中,可以保留视频数据116的边缘。
[0028]在一个示范性实现方案中,可以利用索贝尔(Sobel)算子来计算视频帧122i_N的强度级别函数的近似梯度,作为上文所讨论的边缘检测的一部分。索贝尔算子对本领域技术人员来说是已知的;因此,与其相关联的详细讨论已出于便利和简洁的缘故而略过。近似梯度的其他方法在本文所讨论的示例性实施例的范围内。
[0029]视频压缩/编码方法可使伪影在视频数据116的渲染期间出现,其基于所选择的比特率而令人不快地变化。视频帧122i_N中强边缘对比平坦背景可能导致振铃伪影的出现。因此,在一个或多个实施例中,上文所讨论的过程可标识其中振铃伪影可能出现的视频帧122i_N的区域并丢弃所有其他区域,从而消除误报的可能性。
[0030]在一个或多个实施例中,基于上文所讨论的边缘计算,可依据与像素相关联的强度级别是否超过在前像素的强度级别阈值级别来将视频帧122i_N的像素分类为边缘像素和平坦像素。在一个或多个实施例中,对于每个边缘像素,可(例如通过处理器108)将所述边缘像素周边的像素也标记为边缘像素。因此,在一个或多个实施例中,视频帧122^内的边缘轮廓可被加宽。例如,就视频帧122i_N的中间部分中的像素来说,边缘轮廓可以是3像素宽。图3示出了示范性视频巾贞122i_N内的前述标记。应该注意,本文所描述的边缘加宽过程还可基于与视频序列相关联的元数据(例如显示单元120的大小)来调适(adapt)。
[0031]在一个或多个实施例中,后处理引擎130还可具有与在其中所实现的极差分析相关联的指令。在一个或多个实施例中,可针对视频帧122i_N的每个子块(例如8X8块)将极差计算为其内像素的强度值的最大和最小值之间的差。在一个或多个实施例中,可随后将极差与块的像素基于其被标记为平坦像素和边缘像素的(例如预设和基于实验所确定的)阈值进行比较。例如,如果所计算的极差小于阈值,则可将块的所有像素标记为平坦像素。如果所计算的极差大于阈值,则可将块的所有像素标记为边缘像素。
[0032]在一个或多个实施例中,可实施极差分析以通过减少误报和/或漏报的方式来使边缘检测过程达到绝无错误的程度。现在,在一个或多个实施例中,可针对视频帧122i_N的每个子块计算平坦像素百分比和边缘像素百分比。然后,在一个或多个实施例中,如果子块内的平坦像素百分比高于阈值(例如90% ),则可以保留子块并且不对其像素进行滤波。这么做可避免对视频帧122i_N的具有发生振铃伪影的低概率的平坦区进行滤波。在一个或多个实施例中,如果子块内的边缘像素百分比高于另一个阈值(例如40%),则也可以保留子块并且不对其像素进行滤波。这么做可避免对视频帧122i_N的高度密集的边缘区进行滤波。在一个或多个实施例中,可将排除所保留的像素以外的像素分类为候选像素用于滤波。
[0033]在一个或多个实施例中,可随后基于对候选像素进行分析来量化可能的振铃伪影的强度和其持久性。在一个或多个实施例中,可通过视频帧122i_N的、“边缘”(例如边缘像素)周围的子块之间的归一化相关性来计算振铃的强度。此外,在一个或多个实施例中,计算考虑了由于空间相关性的持久性的振铃强度的修改。另外,在一个或多个实施例中,可跨多个视频帧122i_N跟踪振铃的时间持久性。
[0034]在一个或多个实施例中,跨视频帧122i_N的像素的空间相关性和其持久性可使能视频帧122i_N的与可能的振铃伪影相关联的区域(或像素)的标识以及对其强度进行量化。换句话说,可量化两个事物:跨视频帧122i_N的像素和跨视频帧122i_N的相关性的强度和其持久性。应该注意,可依据数学函数来量化视频帧122i_N之间的时间持久性和相关性。然而,考虑到其中涉及本文所讨论的概念的实现方案场景的实时性质,依据数学函数的时间相关性计算可能是运算量大和/或无法可靠实行的。不过,涉及这类数学函数的实现方案在本文所讨论的示例性实施例的范围内。
[0035]在一个或多个实施例中,可因此估计诸如本底噪声的参数。例如,本底噪声可在边缘像素处是低的并且在视频帧122i_N的中间部分中是高的。在一个或多个实施例中,可通过边缘保留滤波器(例如双边滤波器)对边缘周围的像素(或候选像素)进行滤波以移除振铃伪影。在一个或多个实施例中,还可采用时间滤波来移除来源于视频数据116的编码期间的压缩的累积效应的伪影(例如蚊式噪声伪影)。在一个或多个实施例中,可随后将视频帧122i_N的经滤波的像素与其未滤波的像素进行组合以生成最终输出,所述最终输出中具有减少的振铃/蚊式噪声伪影。
[0036]图4示出了根据一个或多个实施例的后处理引擎130的实现方案。在一个或多个实施例中,后处理引擎130可配置为接收解码器引擎112的输出(例如原始视频数据116)并处理所述输出以生成最终输出(例如输出402),所述最终输出中具有减少的振铃/蚊式噪声伪影。在一个或多个实施例中,后处理器引擎130可包括配置为实施上文所讨论的边缘检测的边缘检测引擎404 ;边缘检测引擎404的输出可随后被馈送到分析引擎406,该分析引擎406配置为实施上文所讨论的边缘分析以生成视频帧122i_N的边缘像素和平坦像素。在一个或多个实施例中,可通过空间地以及时间地执行滤波器引擎408来对边缘周围的像素进行自适应地滤波,所述滤波器引擎408以来自解码器引擎112的元数据410 (例如编码期间的量化参数(QP)、编码类型)作为其参考输入。
[0037]应该注意,如本文所讨论的元数据410可以是在一个或多个级别上的信息,其被适当地利用于本文所讨论的调适。在高级别上,元数据410可以是显示单元120的类型;与在小的显示单元120中相比,伪影可在大的显示单元120或HDTV机/4KTV机的显示单元120中出现更多。另外,元数据410可以是基于诸如帧速率、帧大小和比特率和/或编解码器类型的参数的视频数据116的分类器(例如低比特率,高比特率)。在较低级别上,元数据410可以是与解码器引擎112相关联的平均量化级别和/或类似物的参数。前述量化级别可理解为在视频帧122i_N级别上的调适因子。在最低级别上,可利用(例如通过分析引擎406的)视频像素分析来对滤波进行调适,以高级别元数据410作为参考。
[0038]在一个或多个实施例中,可随后(例如通过组合引擎412)将分析引擎406和滤波器引擎408的输出进行组合以生成输出402。在一个或多个实施例中,可通过边缘保留滤波器来实现滤波器引擎408的空间组件。边缘保留滤波器的示例是双边滤波器,它的输出可一般表不为:
[_] mf]p =忐 Eg 義_ ill) Gff應-
(I)
[0040]用语言表达就是,对于输入视频帧122^1,针对像素P的输出BF[I]p可表达为示范性等式(I)。此处,03和σ ^分别是空间偏差和辐射度偏差;6。3是与空间位置相关联的高斯函数,并且G?是与像素强度(极差)相关联的高斯函数;并且归一化因子Wp给定为:
[0041]% = EfliS-- f/ll) Οσ,.(\?ρ - la I)(2}
[0042]归一化因子可确保针对所有像素的滤波器权重总计为I。因此,双边滤波器的权重可取决于空间高斯函数和极差高斯函数这两者。双边滤波器可通过改变03和/或(^来调适。在示范性实现方案中,可基于先前所计算的统计信息(statistics)来为亮度和色度值单独地调整os0至于极差部分,\可以平衡去振铃(de-ringing)和特征保留,并且也可基于先前所计算的统计信息被调整。随后可将双边滤波自适应地应用到边缘周围的像素(或候选像素),如上文所讨论的。
[0043]在示范性实现方案中,可通过一阶无限脉冲响应(IIR)滤波器来实现时间滤波,以通过递归地应用当前视频帧122i_NX(t)和先前经时间滤波的视频帧122^7(1-1)的阿尔法(alpha)混合来生成输出y(t)。简言之,
[0044]y (t) = y (t~l) + (1- ) x (t),(3)
[0045]其中0<°^<1。
[0046]此外,可随后将经空间地(ys(t))和时间地(yt(t))滤波的图像混合在一起以生成最终输出为:
[0047]y0 (t) = β γ3(?) + (1-β )yt(t) ,(4)
[0048]其中O彡β彡I。很明显,β的下限和上限分别表示纯时间和纯空间的滤波。
[0049]应该注意,上文所讨论的双边滤波器和IIR滤波器仅为示范性目的而示出。其他边缘保留滤波器和时间滤波器在本文所讨论的示例性实施例的范围内。另外,上文所讨论的高斯函数和IIR滤波器的一阶性质也是出于示范性实现方案的目的。其他更简单或复杂的函数也在本文所讨论的示例性实施例的范围内。
[0050]图5示出了根据一个或多个实施例的、概述上文所讨论的移除视频数据116中的编码伪影的自适应滤波机制的流程图。在一个或多个实施例中,操作502可涉及(例如通过处理器108)读取解码器引擎112的输出。在一个或多个实施例中,操作504可涉及使用索贝尔算子来计算视频数据116的每个视频帧122i_N的边缘。在一个或多个实施例中,操作506可涉及将视频巾贞122^n的像素分类为边缘像素和平坦像素。在一个或多个实施例中,操作508可涉及加宽边缘,如上文所讨论的。在一个或多个实施例中,操作510可涉及相关性计算和极差分析,又如上文所讨论的。
[0051]在一个或多个实施例中,操作512可涉及将针对视频帧122i_N的每个子块所计算的极差和阈值进行比较。在一个或多个实施例中,如果操作512的结果得出极差小于阈值,则操作514可涉及增量用于若干平坦像素的计数。另外,在一个或多个实施例中,操作514可涉及通过不对视频帧122i_N的边缘像素进行滤波而保留其边缘。在一个或多个实施例中,操作516可涉及计算基于视频巾贞122^n的边缘的像素统计信息以及视频巾贞122i_N边缘周围的像素统计信息,以确定候选像素用于滤波,如上文所讨论的。在一个或多个实施例中,操作518可涉及基于统计信息和解码器引擎112的输出来估计与候选像素相关联的预期振铃伪影的强度及其在视频帧122i_N内和跨视频帧122i_N之间的持久性。
[0052]在一个或多个实施例中,操作520可涉及对边缘像素周围的候选像素进行自适应地和空间地滤波,如上文所讨论的。在一个或多个实施例中,操作522可随后涉及基于混合因子(示范性等式(4)的β)将空间滤波和时间滤波的输出进行组合。关于操作502的结果,在一个或多个实施例中,并行操作524可涉及就时间滤波是否被使能而进行检查。在一个或多个实施例中,如果时间滤波被使能,则操作526可涉及(例如通过一阶IIR滤波器)对当前视频帧122i_N应用时间滤波。另外,在一个或多个实施例中,操作526可涉及应用当前视频帧122η和先前经时间滤波的视频帧122^的阿尔法混合(示范性等式(3)的~ )。在一个或多个实施例中,可随后将控制传递到操作522,此处将空间滤波和时间滤波的输出进行组合。
[0053]应该注意,可通过在处理器108上执行的解码器引擎112和/或后处理引擎130来实施上文所讨论的过程。替代地,解码器引擎112和/或后处理引擎130可以是硬件引擎。硬件和软件的组合也可以是可能的。
[0054]在一个或多个实施例中,可基于来自解码器弓I擎112的元数据(例如量化步长、视频标准)、振铃伪影的强度和其持久性等来调适上文所讨论的边缘保留滤波器。调适的一些示例包括依据高量化步长的低比特率调适和反之亦然、视频标准调适、依据视频帧122i_N内的振铃强度的边缘保留滤波器(例如双边滤波器)的空间幅度和极差参数的调适以及随着跨多个视频帧122i_N的振铃伪影的持久性增加而增加去振铃强度。其他形式的元数据(例如关于图4所讨论的元数据410)在本文所讨论的示例性实施例的范围内。
[0055]可以为本文所讨论的示例性实施例预想数个实现方案场景。例如,可在改善多媒体回放体验的手持设备、耦连到手持设备的数字电视机、用于无噪声渲染的智能电视盒以及用于视频回放的游戏机中采用本文所讨论的概念。其他实现方案在本文所讨论的示例性实施例的范围内。
[0056]应该注意,虽然已在整个详细描述中讨论了视频帧,但是与示例性实施例相关联的概念也适用于图像。图6示出了根据一个或多个实施例的、详述移除视频数据116中的编码伪影的自适应滤波机制中所涉及的操作的过程流程图。在一个或多个实施例中,操作602可涉及通过处理器108和/或硬件引擎在视频序列的解码或与解码相关联的后处理期间基于预定阈值确定视频序列的视频帧122i_N的边缘像素和平坦像素。在一个或多个实施例中,边缘像素可与视频帧122i_N的一个或多个边缘相关联,在所述边缘周围存在高于其阈值的强度级别的改变,并且平坦像素与视频帧122i_N的一个或多个区域相关联,在所述区域周围强度级别的改变低于阈值。
[0057]在一个或多个实施例中,操作604可涉及通过处理器108和/或硬件弓I擎量化视频帧122i_N的、一个或多个边缘周围的像素的空间相关性,以基于所确定的边缘像素和平坦像素以及解码的原始输出来估计其中的振铃伪影的强度、振铃伪影在视频帧122i_N内的持久性以及其跨视频帧122i_N和视频序列的另一个视频帧122i_N的时间持久性。在一个或多个实施例中,操作606可涉及通过边缘保留滤波器对视频巾贞122^的一个或多个边缘周围的像素进行自适应地和空间地滤波,所述边缘保留滤波器通过在处理器108和/或硬件引擎上执行指令实现,所述滤波基于与视频序列相关联的元数据、所估计的振铃伪影的强度、振铃伪影在视频帧122i_N内的持久性以及振铃伪影跨视频帧122i_N和另一个视频帧122i_N的时间持久性。
[0058]在一个或多个实施例中,操作608可涉及通过处理器108和/或硬件引擎对视频帧122i_N进行自适应地和时间地滤波,以减轻来源于视频序列的编码期间的压缩的累积效应的伪影。在一个或多个实施例中,操作610可随后涉及通过处理器108和/或硬件引擎对自适应空间滤波和自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的累积效应的伪影。
[0059]虽然已参照具体的示范性实施例对所呈现的实施例进行了描述,但是很明显可对这些实施例做出各种修改和改变而不脱离各实施例的较宽精神和范围。例如,可使用硬件电路(例如基于CMOS的逻辑电路)、固件、软件或硬件、固件和(例如具体化在非暂时性机器可读介质中的)软件的任何组合来使能并且操作本文所描述的各种设备和模块。例如,可使用晶体管、逻辑门以及电气电路(例如专用集成电路(ASIC)和/或数字信号处理器(DSP)电路)来具体化各种电气结构和方法。
[0060]此外,将理解的是,可将本文所公开的各种操作、过程以及方法具体化在与数据处理系统(例如客户端设备104)相兼容的机器可读介质和/或机器可访问介质中。因此,说明书和附图将被视为例示性而非限制性的意义。
【权利要求】
1.一种方法,包括: 通过数据处理设备的可通信地耦连到存储器的处理器和硬件引擎中的至少一个在视频序列的解码和与所述解码相关联的后处理中的一个期间基于预定阈值确定所述视频序列的视频帧的边缘像素和平坦像素,所述边缘像素与所述视频帧的至少一个边缘相关联,在所述边缘周围存在高于其阈值的强度级别的改变,并且所述平坦像素与所述视频帧的至少一个区域相关联,在所述区域周围所述强度级别的所述改变低于所述阈值; 通过所述处理器和所述硬件引擎中的至少一个量化所述视频帧的、所述至少一个边缘周围的像素的空间相关性,以基于所确定的所述边缘像素和所述平坦像素以及所述解码的原始输出来估计其中的振铃伪影的强度、所述振铃伪影在所述视频帧内的持久性以及其跨所述视频帧和所述视频序列的另一个视频帧的时间持久性; 通过边缘保留滤波器对所述视频帧的所述至少一个边缘周围的所述像素进行自适应地和空间地滤波,所述边缘保留滤波器通过在所述处理器上执行指令和在所述硬件引擎上执行指令中的至少一个来实现,所述滤波基于与所述视频序列相关联的元数据、所估计的所述振铃伪影的强度、所述振铃伪影在所述视频帧内的所述持久性以及所述振铃伪影跨所述视频帧和所述另一个视频帧的所述时间持久性; 通过所述处理器和所述硬件引擎中的至少一个对所述视频帧进行自适应地和时间地滤波,以减轻来源于所述视频序列的编码期间的压缩的累积效应的伪影;以及 通过所述处理器和所述硬件引擎中的至少一个将所述自适应空间滤波和所述自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的所述累积效应的伪影。
2.根据权利要求1所述的方法,其中确定所述边缘像素和所述平坦像素进一步包括下列中的至少一个: 估计所述视频帧的所述至少一个边缘; 将边缘像素周边的至少一个像素也标记为边缘像素,以加宽所述至少一个边缘的轮廓; 将针对所述视频帧的每个子块的极差计算为其内的像素的强度级别的最大值和最小值之间的差; 将针对所述每个子块的所述极差与另一个预定阈值进行比较,以确定其内的所述平坦像素和所述边缘像素;以及 保留所述每个子块内的所述边缘像素。
3.根据权利要求2所述的方法,进一步包括当所述每个子块的平坦像素百分比和边缘像素百分比分别高于第一阈值和第二阈值时阻止对其进行滤波。
4.根据权利要求2所述的方法,包括使用索贝尔算子来计算所述视频帧的强度级别函数的近似梯度作为其所述至少一个边缘的所述估计的一部分。
5.根据权利要求1所述的方法,包括下列中的至少一个: 实现具有空间滤波器组件和极差滤波器组件的双边滤波器作为所述边缘保留滤波器;以及 实现一阶无限脉冲响应(IIR)滤波器作为实施所述自适应时间滤波的组件,所述IIR滤波器配置为通过递归地应用所述视频帧和所述视频序列的先前的经时间滤波的视频帧的阿尔法混合来生成输出。
6.根据权利要求5所述的方法,进一步包括通过改变与所述空间滤波器组件相关联的偏差参数和与所述极差滤波器组件相关联的辐射度偏差参数中的至少一个来调适所述双边滤波器。
7.根据权利要求6所述的方法,包括将所述空间滤波器组件和所述极差滤波器组件实现为高斯函数。
8.一种数据处理设备,包括: 存储器;以及 处理器,其可通信地耦连到所述存储器,所述处理器配置为执行指令以: 在视频序列的解码和与所述解码相关联的后处理中的一个期间基于预定阈值确定所述视频序列的视频帧的边缘像素和平坦像素,所述边缘像素与所述视频帧的至少一个边缘相关联,在所述边缘周围存在高于其阈值的强度级别的改变,并且所述平坦像素与所述视频帧的至少一个区域相关联,在所述区域周围所述强度级别的所述改变低于所述阈值; 量化所述视频帧的、所述至少一个边缘周围的像素的空间相关性,以基于所确定的所述边缘像素和所述平坦像素以及所述解码的原始输出来估计其中的振铃伪影的强度、所述振铃伪影在所述视频帧内的持久性以及其跨所述视频帧和所述视频序列的另一个视频帧的时间持久性; 通过边缘保留滤波器对所述视频帧的所述至少一个边缘周围的所述像素进行自适应地和空间地滤波,所述滤波基于与所述视频序列相关联的元数据、所估计的所述振铃伪影的强度、所述振铃伪影在所述视频帧内的所述持久性以及所述振铃伪影跨所述视频帧和所述另一个视频帧的所述时间持久性; 对所述视频帧进行自适应地和时间地滤波,以减轻来源于所述视频序列的编码期间的压缩的累积效应的伪影;以及 将所述自适应空间滤波和所述自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的所述累积效应的伪影。
9.根据权利要求8所述的数据处理设备,其中所述处理器配置为执行指令以基于下列项确定所述边缘像素和所述平坦像素: 估计所述视频帧的所述至少一个边缘; 将边缘像素周边的至少一个像素也标记为边缘像素,以加宽其所述至少一个边缘的轮廓; 将针对所述视频帧的每个子块的极差计算为其内的像素的强度级别的最大值和最小值之间的差; 将针对所述每个子块的所述极差与另一个预定阈值进行比较,以确定其内的所述平坦像素和所述边缘像素;以及 保留所述每个子块内的所述边缘像素。
10.根据权利要求9所述的数据处理设备,其中所述处理器进一步配置为执行指令以当所述每个子块的平坦像素百分比和边缘像素百分比分别高于第一阈值和第二阈值时阻止对其进行滤波。
11.根据权利要求9所述的数据处理设备,其中所述处理器配置为执行指令以使用索贝尔算子来计算所述视频帧的强度级别函数的近似梯度作为其所述至少一个边缘的所述估计的一部分。
12.根据权利要求8所述的数据处理设备,其中所述处理器配置为执行与下列中的至少一个相关联的指令: 具有空间滤波器组件和极差滤波器组件的双边滤波器作为所述边缘保留滤波器;以及 一阶IIR滤波器作为实施所述自适应时间滤波的组件,所述IIR滤波器配置为通过递归地应用所述视频帧和所述视频序列的先前的经时间滤波的视频帧的阿尔法混合来生成输出。
13.根据权利要求12所述的数据处理设备,其中所述处理器进一步配置为执行指令以通过改变与所述空间滤波器组件相关联的偏差参数和与所述极差滤波器组件相关联的辐射度偏差参数中的至少一个来调适所述双边滤波器。
14.根据权利要求13所述的数据处理设备,其中所述处理器配置为执行与所述空间滤波器组件和所述极差滤波器组件为高斯函数相关联的指令。
15.—种系统,包括: 数据源,其配置为生成被编码为视频序列的视频数据;以及 硬件引擎和客户端设备中的至少一个,其可通信地耦连到所述数据源,所述硬件引擎和所述客户端设备中的所述至少一个配置为: 在所述视频序列的解码和与所述解码相关联的后处理中的一个期间基于预定阈值确定所述视频序列的视频帧的边缘像素和平坦像素,所述边缘像素与所述视频帧的至少一个边缘相关联,在所述边缘周围存在高于其阈值的强度级别的改变,并且所述平坦像素与所述视频帧的至少一个区域相关联,在所述区域周围所述强度级别的所述改变低于所述阈值; 量化所述视频帧的、所述至少一个边缘周围的像素的空间相关性,以基于所确定的所述边缘像素和所述平坦像素以及所述解码的原始输出来估计其中的振铃伪影的强度、所述振铃伪影在所述视频帧内的持久性以及其跨所述视频帧和所述视频序列的另一个视频帧的时间持久性; 通过边缘保留滤波器对所述视频帧的所述至少一个边缘周围的所述像素进行自适应地和空间地滤波,所述滤波基于与所述视频序列相关联的元数据、所估计的所述振铃伪影的强度、所述振铃伪影在所述视频帧内的所述持久性以及所述振铃伪影跨所述视频帧和所述另一个视频帧的所述时间持久性; 对所述视频帧进行自适应地和时间地滤波,以减轻来源于所述视频序列的编码期间的压缩的累积效应的伪影;以及 将所述自适应空间滤波和所述自适应时间滤波的输出进行混合以生成具有经抑制的下列项的输出:振铃伪影、其空间和时间持久性以及来源于其中的压缩的所述累积效应的伪影。
16.根据权利要求15所述的系统,其中所述硬件引擎和所述客户端设备中的所述至少一个配置为基于下列项确定所述边缘像素和所述平坦像素: 估计所述视频帧的所述至少一个边缘; 将边缘像素周边的至少一个像素也标记为边缘像素,以加宽其所述至少一个边缘的轮廓; 将针对所述视频帧的每个子块的极差计算为其内的像素的强度级别的最大值和最小值之间的差; 将针对所述每个子块的所述极差与另一个预定阈值进行比较,以确定其内的所述平坦像素和所述边缘像素;以及 保留所述每个子块内的所述边缘像素。
17.根据权利要求16所述的系统,其中所述硬件引擎和所述客户端设备中的所述至少一个进一步配置为当所述每个子块的平坦像素百分比和边缘像素百分比分别高于第一阈值和第二阈值时阻止对其进行滤波。
18.根据权利要求16所述的系统,其中所述硬件引擎和所述客户端设备中的所述至少一个配置为使用索贝尔算子来计算所述视频帧的强度级别函数的近似梯度作为其所述至少一个边缘的所述估计的一部分。
19.根据权利要求15所述的系统,其中下列项中的至少一个: 所述边缘保留滤波器是具有空间滤波器组件和极差滤波器组件的双边滤波器,以及实施所述自适应时间滤波的组件是一阶IIR滤波器,所述IIR滤波器配置为通过递归地应用所述视频帧和所述视频序列的先前的经时间滤波的视频帧的阿尔法混合来生成输出。
20.根据权利要求19所述的系统,其中所述硬件引擎和所述客户端设备中的所述至少一个进一步配置为通过改变与所述空间滤波器组件相关联的偏差参数和与所述极差滤波器组件相关联的辐射度偏差参数中的至少一个来调适所述双边滤波器。
【文档编号】H04N19/86GK104244015SQ201410240571
【公开日】2014年12月24日 申请日期:2014年5月30日 优先权日:2013年6月14日
【发明者】尼兰詹·阿瓦达汗纳姆, 拉维·库马尔·博代提 申请人:辉达公司