一种视频编码中去低照度噪声方法

来源:岁月联盟 作者: 时间:2010-07-14

                   作者:尹海沧, 薛斌党, 姜志国   

【摘要】  提出了一种消除低照度、中慢速运动视频序列中噪声的方法。在编码的不同阶段采取不同的滤波方法:在预测编码阶段,对于帧内块利用空域相关信息采取高斯去噪方法,对于帧间块利用时域相关信息采取运动补偿去噪策略;在变换编码阶段,采取8×8整数DCT变换的方法,在量化中去除高频噪声。实验结果表明了方法的有效性,降低了码流。

【关键词】  去噪; 运动补偿滤波; 运动区域点; 运动边缘点; 整数8×8DCT

    Abstract: A new method of de?noising caused by dim luminance in usual scene is proposed. The study used different methods in video coding. In the course of prediction, intra macro?blocks reduced Gauss noise by spatial adjacent pixels, and inter macro?blocks used motion compensation filter to eliminate noise by temporal neighboring pixels. In the transform domain, an integral 8×8 DCT low pass filter was used to eliminate residual noise in the course of qantization. The experiment results proved that noise and bit rate have been reduced effectively.

    Key words: de?noising; motion compensation filter; motion region; motion edge; integral 8×8 DCT

    引言

    新一代视频压缩标准H.264/AVC由于压缩性能较好,目前得到越来越多的认可和推广。应用中常常要求特殊场合下图像的质量仍较清晰,例如在公共场所视频监控应用中,在阴天或傍晚的时候,由于光照不足,一方面图像彩色信息有较大的失真;另外,低照度下图像采集设备中扰动电流干扰明显,图像表现为有大量的闪烁点或不规则条纹。低照度下的噪声使得视频的质量有较大损失,同时也造成码流急剧攀升。如何消除低照度噪声,改善视频图像质量并降低码流是一个难点问题。目前,消除低照度噪声的方法大致可分为两大类:(1) 在编码前预处理去噪;(2) 在编码过程中加入滤波算法。其中,第一类方法中的典型方法有多帧平均,即采用数字滤波器进行运动补偿去噪声[1],或者采用卡尔曼与维纳相结合的自适应滤波方式[2],再或者估计出局部噪声特征后进行滤波[3,4],缺点是针对本文所研究的低照度场合效果很一般。第二类方法多用小波自身的去噪性能,进行低通滤波[5,6],或者进行自适应维纳滤波[7]。其缺点是小波算法运算复杂度高,在实时的视频图像压缩中较少使用。

    针对公共场所(如道路)视频监控的具体应用,要求在降低图像背景噪声的同时,保持物体运动部分纹理清晰、边缘轮廓完整不失真。结合这种应用场合下物体多为中慢速运动的特点,我们提出了如下滤波方法。

    1  滤波方法[*2]1.1  总体方案    本文针对中慢速运动场合视频编码中低照度噪声消除问题,提出了分段去噪的思想:在预测编码过程中,对于帧内块利用空域相关性信息,进行高斯滤波;对于帧间块利用时域相关性信息,借鉴[8,9]中区分运动区域点和运动边缘点的方法,我们对算法做了实时性的改进,进行运动补偿滤波。在变换编码过程中,采用整数8×8DCT在更大范围内去相关,然后在量化过程中去除高频残留噪声。具体的低照度滤波总体方案如图1所示。图1  滤波总体方案

    1.2  预测编码滤波[*2]1.2.1  帧内块滤波    首先分析低照度噪声图像的亮度和色度分量中能量分布的特点,如图2所示,对一幅YUV420的CIF图像,分别在不同通道进行分析。图2  原始图像及亮度和色度分量

    从图2中可以看出,当图像的照度较低时,彩色信息不突出,亮度块可以很好地表现原始图像的大体内容。在对YUV视频去噪声时,只对亮度块进行滤波,而不对色度块滤波,达到减少量的目的。实验结果表明,对三个分量均滤波和只对亮度分量滤波的主观视觉效果相近。

    对于低照度YUV视频,采用不同滤波方法进行亮度分量滤波。我们比较了邻域平均、高斯平滑、中值滤波和维纳滤波的结果。其中,中值滤波和维纳滤波的模板大小是3×3。实验结果表明,这几种滤波方法的主观视觉效果相近。其中邻域平均和高斯平滑所需时间较少,而且低照度噪声中,高斯噪声明显比脉冲噪声强烈,因此帧内块滤波采用高斯平滑。

    1.2.2  帧间块滤波

    帧间块滤波的目的是保持运动部分的细节清晰,滤除背景噪声。文献[8,9]提出了将运动区域划分为运动区域点和运动边缘点的思想,其中运动区域点表示物体运动明显的区域,采用当前点和它周围8邻域点的像素值变化情况来判断。如这9个点的像素值大小同时增大或者同时减小,且波动幅度都超过一个门限值,那么中间这个点就是运动区域点。运动边缘点表示运动物体的边缘细节,防止这部分信息因滤波而被破坏。

    但是,该方法是对帧间亮度块逐点判断,缺点是计算量大、耗时较多,尤其是对运动区域点进行判断消耗时间更突出。针对工程中对实时性的要求,我们对算法做了改进,增加了预先判断,减少不必要的运动点判断,加快运动区域点和运动边缘点的检测速度。具体改进措施结合图3叙述如下:

    图3  检测优化示意图

    改进一,运动区域点检测优化:第一,因为运动区域点要求3×3区域内的9个点亮度残差的绝对值都超过设定的阈值,所以如果某点亮度残差的绝对值低于该阈值,如图3中的E点,那么以该点为中心3×3区域内的A到I共9个点都不可能是运动区域点,可以不对这9个点做判断。第二,因为运动区域点要求3×3区域内的9个点亮度残差的正负符号相同,所以如果当前E点的亮度残差正负符号与水平D点的不同,那么A、B、D、E、G、H这六点就不可能是运动区域点;同理,如果E点的亮度残差正负符号与垂直B点的不同,那么A、B、C、D、E、F这六点也不可能是运动区域点,同样不对这些点做判断。

    改进二,运动边缘点检测优化:第一,运动边缘点存在于运动区域点的周围,如果图3中的E点是运动区域点,那么它周围4邻域内的点都先作为可能的运动边缘点。在这个过程中会混入运动区域点,所以还要将其中已判为运动区域的点排除掉。第二,考虑到噪声的影响,我们改进了判断方法,根据待判点在水平和垂直方向上至少紧邻一个运动区域点,同一运动部分的像素值是接近的,与背景中像素点的差值应该相似,这样可提高判断的鲁棒性。对图3中的E点,改进的判断准则为:EDGEh={min(|D-F|,

    max(|D-E|,|F-E|))>T},

    EDGEv={min(|B-H|,

    max(|B-E|,|H-E|))>T},EDGE=EDGEh  OR  EDGEv    如果EDGE结果为真,那么当前E点就是运动边缘点。

    对检测出来的运动区域点和运动边缘点均保留像素值大小,以保证图像的运动细节不丢失,同时又能尽量避免运动拖尾效应;对其它的点,当亮度残差的绝对值小于给定阈值时,认为是相邻两帧时刻内的噪声点或背景区域点,所以在运动补偿中取平均进行滤波,这种考虑是避免图像滤波后有局部失真。

    改进三,基于块的滤波:以上是针对单个像素点的滤波,因为运动部分多体现为若干区域的整体移动,所以运动区域点一般是在某些区域内密集出现,单独出现的情况不多,所以可以对块进一步做滤波优化。对16×16的编码块,可划分成4个8×8小块(以适应变换编码的滤波),如果某个小块内经判断可以滤波的点占绝大多数,那么完全可以把当前这个8×8小块的亮度和色度信息均由块代替,进一步降低噪声扰动。如果这4个小块都能够做如此替换,那么当前编码块就应该是跳跃块,而不必做变换编码了。

    针对中慢速运动低照度视频序列,基于以上改进方法进行滤波处理,图4反映了改进后方法与原先逐点判断方法在每帧图像上的时间节省情况,经统计平均节省70%~75%的时间。

     1.2.3  预测编码滤波流程

    基于上述分析,整个预测编码滤波步骤如下:

    Step1: 根据亮度图像中物体运动的快慢,确定运动区域点和运动边缘点的阈值。实际应用中,这两个阈值通常取为没有背景中像素点被误判时的最小值。工程经验表明,低照度下运动区域点的阈值取在8~10之间,运动边缘点的阈值取在55~70之间。

    Step2: 帧内亮度I块滤波,采用高斯模板法。

    Step3: 帧间亮度P块运动补偿滤波,按如下4步进行:

    1) 运动区域点检测:16×16块按照改进的判别方法,排除掉不可能点,对剩余点逐个进行判断。

    2) 运动边缘点检测:标记运动区域点周围4邻域点,排除掉上面已判为运动区域的点,对其余的点逐个判断。

    3) 16×16块划分为4个8×8小块,标记各个小块非运动区域点和运动边缘点中,亮度残差绝对值小于给定阈值的那些点的位置,并累计个数。

    4) 如果8×8小块中可以滤波的点数大于给定的阈值,则以预测块替代这个小块;否则,对标记的可以滤波点进行平均法滤波。

    1.3  变换编码滤波

    将含有噪声的图像进行频域低通滤波,可以有效地改善图像质量。现有的视频编码多是以DCT为核心,常用的有8×8与4×4大小的分块。此处以Lena图像为例,加入均值为零、方差分别为 0.002、0.005、0.01、0.03的高斯噪声,对比8×8与4×4分块大小的DCT经低通截断后的滤波效果。

    图5  低通截断后8×8与4×4分块DCT在PSNR上的差值

    图5表明,在保证图像细节仍较清晰的条件下,高频经过截断后,8×8分块DCT滤波结果与原始图像的PSNR(峰值信噪比)要比4×4分块DCT的略高一些,并且对于噪声强度较小的情况更突出,但是两者滤波后的主观效果差别不大。经过预测编码滤波后的残差图像,其噪声强度已被削弱,可以采取8×8分块的整数DCT,经过量化后可更好地滤除残余噪声,实现在变换域内滤波的目的。

    2  实验结果

    在低照度场合下,采集中慢速运动YUV420 CIF图像300帧,用目前工程中应用较多的运动补偿滤波方法[10]和本文方法进行对比。软件模拟所使用的机性能为:P4 CPU 2.0 GHz,内存256兆,Windows XP操作系统。去噪声效果见图6,图7是对图6中不同滤波方法的同一行像素值进行了统计,同一行的像素既有物体运动部分,也有背景区域,横坐标为像素点位置,纵坐标为像素值大小。综合图6和图7的效果可以看出,本文滤波后的视频图像在质量上有了进一步改善,区别于常用运动补偿滤波方法的优点是运动物体细节保持较好,与背景部分的边界清晰完整,如图7中背景与运动部分在像素值变化上更突出,而且背景区域更平坦,相同区域内像素值的波动幅度明显减小。

     图8反映了编码速度上的对比结果,常用运动补偿滤波方法平均每秒钟编码17.3帧,而本文方法平均每秒钟编码16.4帧,可见编码速度上没有慢多少。图9为码流节省百分比的比较,结合图像内容观察曲线的走势可知,当物体运动比较缓慢的时候,图像序列中帧间相似的内容很多,可滤波点比较多,去噪声效果明显,码流节省程度大;而当运动幅度增大时,图像中运动区域点明显增多,使得滤波点数目显著减少,码流节省程度也就减小了。

    综合以上指标可以看出,针对低照度噪声场合,本文方法对于物体中慢速运动情况有较好的去噪效果,且算法复杂度比较低、增加的消耗时间不多。

    3 

    本文针对低照度、中慢速运动场合下的噪声进行了分析,通过引入8×8分块DCT进行变换域低通滤波,滤除噪声;在预测编码过程中,分别在帧内和帧间采用不同的平滑方式,帧内块利用空域相关信息来消除噪声,帧间块利用时域相关信息去噪声。算法中的阈值可以根据实际编码中反馈回的去噪满意效果进一步调整。实验结果表明,对于低照度噪声情况,图像质量得到改善,码流也有了降低。本文方法现已应用在图像背景稳定的公共场所(如道路)监控中,取得了良好的效果,说明滤波方法在工程中具有实用性。

【】
  [1] Haan G de, Kwaaitaal?Spassova T G, Larragy M M, et al. Television Noise Reduction IC [J]. IEEE Transactions on Consumer Electronics, 1998, 2(44): 143-154.

  [2]Rakesh Dugad, Narendra Ahuja. Video Denoising by Combining Kalman and Wiener Estimates [J]. IEEE, 1999, 10(4): 152-156.

  [3]Tai?Wai Chan, Oscar C A, Tak?Song Chong, et al. A Novel Content Adaptive Video Denoising Filter [J]. IEEE, 2005, 3(2): 649-652.

  [4]Angelo Bosco, Keith Findlater, Sebastiano Battiato, et al. A Noise Reduction Filter for Full?Frame Data Imaging Devices [J]. IEEE Transactions on Consumer Electronics, 2003, 8(49): 676-682.

  [5]Hve? ikon ClieoiEt, A Iexis Alichnel Toaropis, Joon Llach, et al. Adaptive Spatio?Temporal Filtering For Video De?Noising [J]. IEEE International Conference on Image Processing, 2004, 4(3): 965-968.

  [6]Wen?Xian Lin, Guo?Xiang Song, Wen Xue, Two Improved Methods on Wavelet Image Denoising [J]. IEEE, 2003, 11(2): 2979-2988.

  [7]Jin F, Fieguth P, Winger L, et al. Adaptive Wiener Filtering of Noisy Images and Image Sequences [J]. IEEE, 2003, 9(3): 349-352.

  [8]Desa S M, Salih Q A. Image subtraction for real time moving object extraction [J]. Proceedings of the International Conference on Computer Graphics, Imaging and Visualization, IEEE, 2004, 7(10): 41-45.

  [9]Ueyama O E, Hosoe S. A filtering method of motion vetcor fields available for digital vision chips [J]. IEEE SICE 2004 Annual Conference, 2004, 8(1): 544-547.

  [10]Byung Cheol Song, Kong Wook Chun. Motion?compensated temporal prefiltering for noise reduction in a video encoder [J]. Image Processing, IEEE, 2004, 10(2): 1221-1224.