基于历史的空间-时间噪声降低转让专利

申请号 : CN200810190253.4

文献号 : CN101478637B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : Y-J·秋

申请人 : 英特尔公司

摘要 :

提供了基于历史的时间运动噪声滤波技术的实现方式,该滤波技术考虑了多个图片之间的时间平滑度和基于块的技术,以便估计噪声/运动历史,从而在局部邻域中更好地反映空间/时间平滑度。具体而言,可以使用基于块的噪声测量中的每个像素的混合技术的实现方式来在空间域和时间域中更好地管理像素。可以使用全局噪声检测技术来估计噪声的出现和/或强度。可以使用基于局部边缘测量的内容自适应空间滤波内容自适应空间滤波器来降低图片噪声以及保持边缘锐度。这些实现方式可以用于各种应用。具体而言,可编程选项允许用户指定用于奇异检测、纯空间滤波器、纯时间滤波器和空间-时间滤波器的滤波器参数,以获得用户期望的观看体验。

权利要求 :

1.一种用于降低噪声的方法,包括

通过利用运动检测和局部复杂度来提供基于历史的内容分析,从而调整时间噪声降低的级别并生成用于将来的图片的噪声历史信息;

使所述将来的图片参照基于块或基于像素的噪声历史数据以降低时间噪声;

确定特定块是否为运动块,因为所述特定块至少具有给定的运动水平;以及评估时间权重值的历史,并且如果历史权重值大于预定值,则重新设置所述时间权重值。

2.如权利要求1所述的方法,包括在所述块的基础上执行时间权重的计算和历史更新。

3.如权利要求1所述的方法,包括在每个像素的基础上执行时间权重的计算和历史更新。

4.如权利要求1所述的方法,包括

如果像素是运动像素,则应用空间噪声降低滤波。

5.如权利要求4所述的方法,包括如果像素不是运动像素但位于运动块内,则应用空间噪声降低滤波。

6.如权利要求5所述的方法,包括如果像素未被确定为是运动像素且不在确定为运动块的块内并且如果所述像素具有特定级别之下的运动,则对空间噪声降低和时间噪声降低进行混合。

说明书 :

基于历史的空间-时间噪声降低

技术领域

[0001] 所要求保护的本发明的实现方式总体上涉及噪声检测、噪声降低、噪声消除领域,并且具体地涉及图像和/或视频中的噪声估计和降低。

背景技术

[0002] 降低噪声伪像是视频处理领域中的重要因素。在图像/视频应用的接收端,人们通常将噪声降低技术作为后处理滤波的一部分,以便改善图片质量。媒体处理器可以通过使用依赖于运动补偿、运动自适应、时间或空间滤波器的方法来降低噪声伪像。具体而言,尽管运动补偿方法可以获得所期望的滤波效果,但是需要在运动搜索中进行大量的计算并花费大量的存储器来确定最佳时间相关,进而降低噪声伪像。运动自适应方法和时间方法不需要大量的运动搜索,但是利用灵巧设计的滤波可以获得类似级别的图片质量。
[0003] 常规的运动自适应噪声降低方法无法提供优质的视觉质量,这是由于因采用时域差(temporal difference)却没有考虑局部空间内容而无法适当估计视频序列中的运动量。

附图说明

[0004] 并入本说明书并构成本说明书一部分的附图示出了与本发明原理相一致的一种或多种实现方式,并且附图与说明书一起对这些实现方式进行了介绍。这些附图不必一定按照比例绘制,作为代替重点在于示出本发明的原理。在附图中,
[0005] 图1示出了根据一些实现方式的示例性噪声降低系统;
[0006] 图2示出了图1的内容分析和运动/噪声历史更新的实例;
[0007] 图3示出了用于图1的基于块的时间权重计算和噪声历史更新的方法的实现方式;以及
[0008] 图4示出了用于对空间噪声降低和时间噪声降低的结果进行基于每个像素的保护和混合的方法的实现方式。

具体实施方式

[0009] 下面的具体实施方式参照了附图。在不同的附图中可以使用相同的附图标记来标识相同或相似的元件。在下面的描述中,出于介绍而非限制的目的,阐述了诸如特定结构、架构、接口、技术等具体细节,以便提供对所要求保护的本发明的各个方面的全面理解。然而,对受益于本公开的本领域技术人员显而易见的是,所要求保护的本发明的各个方面可以在没有这些具体细节的其它实例中实施。在某些示例中,省略了对公知设备、电路和方法的描述,以避免因不必要的细节而使本发明的描述难于理解。
[0010] 这些实现方式提供了一种基于历史的内容自适应空间-时间运动自适应技术,该技术可以应用于在包括但不限于视频处理器、图像处理器、显示处理器和媒体处理器这些领域中的噪声降低系统。可以通过降低由视频拍摄、传输、编码和存储过程所引起的噪声伪像来提高图像和视频的视觉质量。具体而言,可以通过利用全局噪声检测、噪声/运动历史和空间-时间噪声降低滤波来提高图像和视频的视觉质量。可以通过利用运动检测和局部复杂度(local complexity)来提供基于历史的内容分析,从而调整时间噪声降低的级别并生成用于将来的图片的噪声历史信息。为了获得更好的时间噪声降低,将来的图片可以参照基于块或基于像素的噪声历史数据。可以利用基于每个像素的空间/时间噪声降低滤波与用于执行噪声降低的基于块的噪声历史指示来降低噪声。
[0011] 图1的示图示出了根据一个实施例的噪声降低系统100的实例。系统100可以包括全局噪声检测110、空间噪声滤波120、内容分析和运动/噪声历史更新130、时间噪声滤波140以及保护和混合150。下面将对这些进行更具体的介绍。尽管为了易于介绍而单独示出了部件210-290,但是在一些实现方式中可以将这些部件各自的功能组合在一个或多个模块中。部件110-150可以利用硬件、固件、软件或其某些组合来实现。系统100还可以包括与它的操作相关的、用作图像和/或视频的噪声滤波系统的其它部件,例如附加的逻辑、(多个)处理器、用于显示经噪声滤波的数据的显示器等。尽管为了描述简洁在图1中没有明确示出这些附加部件,但是它们仍然存在于噪声滤波系统100中。
[0012] 视频输入来自可用作视频信息源的任何类型的存储介质或传输介质。例如,输入可以来自用于暂时存储视频信息流内的一个或多个图像或帧的存储器,例如帧缓冲区。可以利用任何公知的或以后开发的视频编码方案或标准对视频信息进行编码,这些方案或标准包括但不限于:MPEG-1、MPEG-2、MPEG-4、H.264、VC1和/或先进视频系统(AVS)格式。
[0013] 具体而言,全局噪声检测110可以检测出现的噪声并估计噪声强度的级别。可以使用各种技术来执行全局噪声检测110,这些技术包括在2007年3月29日递交的名称为“Noise Detection and Estimation Techniques forPicture Enhancement”的美国专利No.11/693,453中描述的技术实施例。在该技术中,噪声检测器110可以用于检查图像或图片或视频数据的帧,并确定整个图像或帧的全局噪声测量值(measure)。噪声检测器120仅需要检查单个图像中的像素以确定将要发送到噪声滤波器130的噪声测量值,但是噪声检测器120可以使用例如一种或多种现有的噪声测量方法来暂时地平滑或平均当前图像的全局噪声测量值。
[0014] 利用检测到的噪声,可以并行执行空间噪声降低滤波和时间噪声降低滤波。可以使用各种技术来执行空间噪声滤波120,这些技术包括在2005年6月3日递交的名称为“Systems and Method for Improved Gaussian NoiseFiltering”的美国专利No.11/144,484中描述的技术实施例。空间噪声滤波120可以是内容自适应阈值滤波器,它具有基于边缘检测来调整降低等级的灵活性。内容分析和运动/噪声历史更新130计算运动、噪声和空间内容信息,以改变时间权重并更新历史数据。时间噪声滤波140可以是基于历史的,以便利用对过去参考图片的认识来最大地降低时间噪声。保护和混合150可以以智能的方式对滤波输出进行混合,以降低噪声伪像。
[0015] 图2示出了内容分析和运动/噪声历史更新130的实例。可以在空间域和时间域两者中为像素块提供内容分析。例如,对于在当前图片的目标块中位于(x,y)的、被表示为curr(x,y)的像素,可以将基于块的水平复杂度测量值之和(BK_SHCM)和基于块的垂直复杂度测量值之和(BK_SVCM)表示为:
[0016]
[0017]
[0018] 可以将基于块的空间复杂度测量值(BM_SCM)表示为:
[0019] BK_SCM=BK_SHCM+BK_SVCM
[0020] 可以将目标块的基于块的时域差的绝对值之和的时间测量值(BK_STAD)表示为:
[0021]
[0022] 可以将在参考图片的(x,y)处的像素表示为ref(x,y),其中该参考图片可以是在时间方向上的先前的图片或下一个图片。
[0023] 可以将目标块的基于块的时域差之和的绝对值(BK_TASD)表示为:
[0024]
[0025] 可以将该目标块的运动像素的计数BK_Num_M_P定义为满足如下表达式的像素:
[0026] abs(curr(x,y)-ref(x,y))>predefined_threshold
[0027] 时间权重和历史更新——基于块
[0028] 图3示出了用于基于块的时间权重计算和噪声历史更新的方法的实现方式。尽管该方法可以由图1所示的内容分析和运动/噪声历史更新130以及时间噪声滤波140来实现,但是图3中所述的方法不应被视为局限于这些其它附图的具体细节。
[0029] 该方法可以开始于确定目标块是否为运动块(动作302)。在一些实施方式中,可以根据BK_STAD高于预定阈值和/或BK_Num_P的计数大于预定的阈值数来检查运动块的特性。
[0030] 如果在动作302中确定目标块是运动块,则可以考虑时间权重的历史值(动作304)。如果该历史权重值大于预定值(即,强),则可以重新设置(即,降低)时间权重值(动作306),否则降低时间权重值(动作308)。
[0031] 如果在动作302中没有确定目标块是运动块,则确定该目标块是否小于预定值(即,慢的)运动块或平稳块(flat block)(动作310)。在一些实现方式中,可以根据上述表达式BK_TASD来确定目标块是否为慢运动块。在一些实现方式中,可以根据上述表达式BK_SCM来确定目标块是否为平稳块。
[0032] 当目标块被检测为是非运动块(动作302)但确定该目标块是平稳块或慢运动块(步骤310)时,可以将时间权重值设置为预定值(步骤312)。
[0033] 当目标块被检测为是非运动块(动作302)但不是平稳块或慢运动块(步骤310)时,如果确定历史权重值是弱的(即,小的)(动作314),则可以将时间权重值设置为预定值(动作316)。否则如果历史权重值没有被确定是弱的(动作314)且历史权重值等于预定的最大可允许权重值(动作318),则可以将时间权重值设置为预定的最大可允许时间权重值(动作320)。否则,如果历史权重值没有被确定是弱的(动作314)且历史权重值不等于预定的最大可允许权重值(动作320),则可以增大时间权重值(动作322)。在动作324中,可以利用(通过动作306、308、312、316、320或322)所确定的权重和为下一个图片所存储的权重来执行时间噪声降低。
[0034] 在一些实现方式中,时间权重的计算和历史更新可以是基于块的;即,目标块内的所有像素共享相同的时间权重和历史值。此外,基于块的操作的特性可以缩小到每个像素的级别,而没有繁重的复杂度约束。
[0035] 保护和混合——基于像素
[0036] 在一些实现方式中,时间噪声降低滤波可以采用下面的8比特公式来表示:
[0037] temporal_denoised = (256-new_denoise_history)*curr(x,y)+new_denoise_history*ref(x,y)+128)>>8
[0038] 在 一 些 实 现 方 式 中,可 以 以 如 下 方 式 对 来 自 局 部 空 间 邻 域(spatialneighborhood)的时间噪声降低的结果进行保护:
[0039] if(temporal_denoised>=block_max)
[0040] temporal_denoised=(temporal_denoised+block_max)>>1
[0041] if(temporal_denoised<=block_min)
[0042] temporal_denoised=(temporal_denoised+block_min)>>1;
[0043] block_max是局部空间邻域的最大像素值,并且该邻域由目标像素附近的像素组成。例如,在一些实现方式中,这是以目标像素为中心的3×3邻域。类似地,block_min是局部空间邻域的最小值。
[0044] 图4示出了用于对空间噪声降低和时间噪声降低的结果进行基于每个像素的保护和混合的方法的实现方式。尽管该方法可以由图1所示的保护和混合150来实现,但是图4所述的方法不应被视为局限于这些其它附图的具体细节。
[0045] 在动作402中,确定目标像素是否为运动像素。在一些实现方式中,这可以根据时间差t_diff是否大于被表示为t_diff_th的预定阈值来确定。t_diff被表示为目标像素与参考图片中的同一位置的像素(co-located pixel)之间的差的绝对值。如果像素是运动像素,则应用空间噪声降低滤波(动作404)。
[0046] 如果目标像素没有被确定为是运动像素(动作402),则确定所述目标像素是否在运动块内(动作406)。如果在运动块内,则采用空间噪声降低来平滑目标块(动作404)。
[0047] 如果目标像素没有被确定为是运动像素(动作402)且该目标像素不在运动块内(动作406),则确定该像素是否是慢运动像素(动作408)。在一些实现方式中,这可以根据t_diff是否大于预定阈值t_diff_th_low来确定。如果是慢运动像素,则可以应用空间和时间噪声降低的混合(动作410)。在一些实现方式中,混合可以如下表示:
[0048] Blending = {spatial_denoised*(t_diff-t_diff_th_low)+temporal_denoised*(t_diff_th-t_diff)+(t_diff_th-t_diff_th_low)/2}/(t_diff_th-t_diff_th_low)如果不是慢运动像素,则可以应用时间噪声降低(动作412)。
[0049] 根据一些实施方式,利用基于历史的信息来使多个图片之间的时间平滑度(temporal smoothness)最大化,从而可以获得更好的质量。可以使用基于块的技术来测量运动/噪声历史,以保持多个像素的平滑度并降低存储/带宽和计算复杂度。混合技术还可以用于保护空间滤波和时间滤波的滤波结果,以获得更好的视觉质量。
[0050] 如上所述,提供了基于历史的时间运动噪声滤波技术的实现方式,该滤波技术考虑了多个图片之间的时间平滑度和基于块的技术,以便估计噪声/运动历史,从而在局部邻域中更好地反映空间平滑度。具体而言,可以使用基于块的噪声测量中的每个像素混合技术的实现方式来在空间域和时间域中更好地管理像素。可以使用全局噪声检测技术来估计噪声的出现和/或强度。可以使用基于局部边缘测量的内容自适应空间滤波内容自适应空间滤波器来降低图片噪声以及保持边缘锐度。这些实现方式可以用于各种应用。具体而言,可编程选项允许用户指定用于奇异检测(singularitydetection)、纯空间滤波器、纯时间滤波器和空间-时间滤波器的滤波器参数,以获得用户期望的观看体验。
[0051] 除非明确指出,否则不应将在本申请的说明书中使用的元件、动作或指令视为对本发明是关键的或必不可少的。此外,如本文所使用的,冠词“一个”包括一项或多项。在不偏离本发明的精神和原则的前提下,可以对所要求保护的本发明的上述(多个)实现方式进行变形和修改。所有这些修改和变形都将包括在本公开的范围内并由下列权利要求保护。