基于时域的视频去噪算法研究

2015-10-22 16:55王丁一徐先峰
现代电子技术 2015年19期

王丁一 徐先峰

摘 要: 论述了两种基于时域的视频去噪算法。首先介绍基于菱形运动估计的时域滤波,先进行菱形运动估计计算寻找最佳匹配块,之后在两个块之间进行均值滤波,整合匹配块输出滤波过的图像;其次介绍了BM3D视频去噪技术,详细地描述了BM3D去噪技术的去噪主要过程,分别解释了去噪过程中块匹配、三维变换域滤波、权值计算、重构四个主要步骤的原理与过程。最后通过实验,证明了这两种方法在去噪方面均能取得良好的效果。

关键词: 视频去噪; 时域滤波; 运动估计; BM3D去噪

中图分类号: TN911.4?34 文献标识码: A 文章编号: 1004?373X(2015)19?0064?04

Abstract: Two noise elimination algorithms of videos based on time domain are discussed. The time domain filtering based on diamond motion estimation is introduced. The diamond motion estimation is conducted to search for the optimal matching block, and between the two blocks is proceeded with mean filtering. The filtered image is output after matching blocks integration. The BM3D noise elimination technology of videos is presented, and the main process of this technology is described in detail. The principles and process of block matching, three?dimensional transformation domain filtering, weight calculation and reconstruction in noise elimination process are explained respectively. The experimental results verify that the two methods can achieve good effect in the aspect of noise elimination.

Keywords: noise elimination of video; time domain filtering; motion estimation; BM3D noise elimination

0 引 言

随着时代的发展,图像与视频在人们生活中扮演着越来越重要的角色,很多信息都通过它们进行传递与表达。但是图像与视频中通常包含了很多不同类型的噪声,造成了图像与视频的清晰度变低,并且对于他们的处理与传输都造成了很大的麻烦,为此对视频与图像进行去噪变得十分重要。本文运用了运动估计块匹配的算法,通过去除噪声试验,旨在验证两种基于时域的去噪算法对视频中噪声去除的效果,为视频去噪算法在实际中的应用提供理论依据。

1 基于时域的视频去噪算法

视频可以看作是在时间轴上排列着很多帧的画面,因此在时域上对视频进行降噪在视频降噪处理技术中占有很重要的地位,它利用图像之间的相关性进行降噪处理,时域去噪一般分为含有运动补偿的算法和非运动补偿的算法。非运动补偿的时域滤波多应用于运动缓慢的视频序列或者静止视频图像序列中;带运动补偿的时域滤波多应用于运动较为激烈的视频图像序列中。由于现阶段的视频中大多含有较多运动部分,因此包含运动补偿的时域滤波是现阶段主流的视频去噪算法。其具体表现如图1所示。

1.1 基于菱形运动估计的时域滤波

1.1.1 运动估计算法

运动估计算法大体包含两种算法:基于空域的匹配算法;基于变换域的匹配算法。如今使用较多的是基于空域的匹配算法中的块匹配运动估计算法,块匹配运动估计算法具有简单高效、易于实现等优点。块匹配法大体有三步法(TSS)、新三步法(NTSS)、新四步法(NFSS)、菱形法(DS)及六边形运动估计算法(HEXBS)。

菱形匹配法是目前快速匹配算法中最为有效的一种算法,操作大体为三步:

(1) 选取一点为中心,同时选定其周边的8个点形成一个大菱形块,然后进行匹配计算,如果MBD点位于中心位置,进入步骤(3),反之进入步骤(2);

(2) 以重新找到的MBD点作为中心点,再次选取周边8个点组成一个新的大菱形块,进行匹配计算,如果MBD点位于中心点,进入步骤(3),反之重复步骤(2);

(3) 以重新找到的MBD点作为中心点,在其周边寻找4个最接近的点形成小菱形块,在5个检测点处计算,找出MBD点,这个点所在位置即为对应最佳运动矢量。菱形搜索法示意如图2所示。

1.1.2 基于菱形运动估计的时域滤波算法

将视频帧序列逐个标记为第[k-n,…,k-1,k,][k+1,…,k+n]帧,用[Fk]表示第[k]帧,[Fk-1]表示第[k-1]帧。首先对当前帧[Fk]进行划分,使它成为若干小块,然后依据MAD(Mean Absolute Difference)准则在上一帧[Fk-1]中搜寻与当前帧[Fk]中划分出的块[Bk]最为匹配的小块,记为[Bk-1,]运动矢量为[(Vx,Vy)]。但由于搜寻到的匹配块[Bk-1]可能存在错误(比如两帧之间存在较大的运动,画面变化程度十分巨大),不可直接在[Bk]和[Bk-1]块之间进行均值滤波。为了解决这种情况,需要设置一个门限值[Tc]进行判断。设MBD为运动估计找到的最匹配的块[Bk-1]和当前块[Bk]之间的MAD,MBD<[Tc]时,认为[Bk]和[Bk-1]之间足够匹配,可以进行帧间均值滤波;反之,认为找到的块不匹配,不能进行帧间均值滤波。endprint

算法具体步骤描述为:

(1) 用一个中心及周围8个点构成一个大的菱形,之后对帧[Fk-1]和[Fk]进行块匹配计算MAD=[Bk-Bk-1],[MBD1]=[min(MAD)],并得到运动矢量[(V1x,V1y)];

(2) 计算MBD是否位于大菱形的中心点,即当[V1x=0]且[V1y=0]则进行步骤(3),否则以此时的MBD点为中心点重新进行步骤(2);

(3) 使用寻找到的中心及周围4个点进行帧[Fk-1]和[Fk]的块匹配计算,[MAD2=Bk-Bk-1,][ MBD2=min(MAD),]并得到运动矢量[(V2x,V2y)];

(4) 判断[MBD2

(5) 由[B1k]得到去噪后的视频帧[F1k]并输出。

对于门限值[Tc]的设定,可以设置一个不大的阈值[Tc]来区分平坦区域及运动区域,所以阈值[Tc]取值为50。

1.2 BM3D去噪算法

BM3D(基于块匹配和三维变换域滤波)算法是一种效率较高,去噪效果比较明显的新型算法,BM3D去噪算法大体包含块匹配、三维变换域滤波、权值计算、重构四个步骤。

1.2.1 块匹配

使用符号I表示一幅图像。假设图像中当前块[bR]正在进行操作,其范围为[N1×N1。][PbR]为该块的矩阵数值,用[b]表示检索过程中所需的滑窗块,[Pb]为滑窗块的矩阵数值。在块大小已知的情况下,使用左上角顶点可以代表该块,那么代表块的左上角像素点可以看作[bR。]首先选取当前帧左上角的块进行搜索,将选取的块进行划分,使其成为多个边长为[Ns]的小块,划分完毕后,依次对每个小块进行块匹配工作。

在截图方面只截取了噪声强度为20时,视频第25帧的效果图与峰值信噪比进行展示,下面在噪声强度分别为5,10,15的噪声视频中进行去噪,并且将去噪前后的峰值信噪比用图表的方式进行展示。不同噪声强度下去噪前后的峰值信噪比如表2和图8所示。

通过实验结果可以发现,两种方法对于去除噪声均有比较好的效果,在使用两种方法去噪后,视频图像的峰值信噪比均有比较明显的提高,达到了良好的去除噪声效果。

3 结 语

本文介绍了两种基于时域的去噪算法:一种是基于菱形块匹配的时域滤波;另一种是基于块匹配和三维变换域滤波。这两种方法均使用到了运动估计,且对于视频中噪声的去除有着明显的效果。

对于视频去噪来说,不能像图像去噪那样仅仅考虑空域去噪方法,应该更加着重于基于时域的噪声去除算法,充分利用视频中前后信息的相关性,以此达到对视频噪声去除的最好效果。

参考文献

[1] GONZALEZ R C,WOODS R E,STEVEN L.数字图像处理(Matlab版)[M].阮秋琦,译.北京:电子工业出版社,2003.

[2] TEKALP A M.数字视频处理(Matlab版)[M].崔之祜,江春,陈丽鑫,等译.北京:电子工业出版社,1998.

[3] 刘亚欣.基于时空域的视频去噪算法研究[D].天津:天津大学,2010.

[4] 孙艳霞.图像和视频去噪技术研究[D].北京:华北电力大学,2010.

[5] 李政,刘文江,戎蒙恬,等.BM3D视频去噪算法实现与评估[J].信息技术,2012(4):30?32.

[6] 谭洪涛.视频图像降噪关键技术研究[D].重庆:重庆大学,2010.