视频去噪方法按照处理域的不同可分为空间域、频域、小波域、时域、时-空域去噪等,但是不同域之间的去噪方法会发生重叠现象,或者一种去噪方法会或涉及多个处理域。例如,在时域或时-空域去噪方法中也可使用频域的方法,即将视频序列的全部或一部分通过傅里叶变换转换至频域后,再使用时域或时-空域的形式来进行去噪处理。
视频去噪方法中的空间域、频域和小波域等,与图像去噪中的相应方法基本一致,只是均将其扩展为对多倾图像进行处理,并利用视频信号中更多的冗余信息进行了优化,W达到更好的去噪效果。空间域去噪是在原始视频序列中直接对像素值进行代数运算。频域去噪将视频序列通过傅里叶变换转换至频域,对代表噪声的频率进行衰减并最大程度保留视频的原始信息。小波域将视频序列转换至时-频域后再进行去噪处理。
时域去噪
时域去噪方法仅考虑图像序列在时间维度上的相关性,运算简单、效率高,并且不会引入空间模糊的现象。根据其是否采用运动补偿,可将其区分为非运动补偿的时域去噪方法和运动补偿的时域去噪方法。
非运动补偿的时域去噪
非运动补偿的时域去噪是一种计算比较简单的视频去噪方法,与图像的空域去噪算法非常相似。
f
(
i
,
j
,
k
)
=
∑
m
n
w
(
m
)
g
(
i
,
j
,
k
−
m
)
f(i,j,k) = \sum_{m}^{n}w(m)g(i,j,k-m)
f(i,j,k)=m∑nw(m)g(i,j,k−m)
其中,
w
(
m
)
w(m)
w(m)是滤波系数,m
,n
是视频序列待处理当前第K
帧与之前粗存储的第一帧的帧间距。
非运动补偿的时域滤波器的降噪效果与滤波器的长度,与滤波的帧数相关,当参与滤波的帧数越大时,抑制噪声的效果越好。但当视频中存在运动时,会造成时域模糊现象,产生的失真也越大。因而非运动补偿的时域滤波器与空域滤波器相同,也需要在抑制噪声和防止失真中寻找一个平衡点。非运动补偿的时域滤波器往往都需要存储较多帧图像,从而获得好的去噪效果,但这样会对存储资源有较大的需求。
递归型时域滤波器只需要存储少量视频帧,并且其所需要控制的参数也更少。
f
(
i
,
j
,
k
)
=
(
1
−
w
)
∗
f
(
i
,
j
,
k
−
1
)
+
w
∗
g
(
i
,
j
,
k
)
f(i,j,k) = (1-w)*f(i,j,k-1)+w*g(i,j,k)
f(i,j,k)=(1−w)∗f(i,j,k−1)+w∗g(i,j,k)
其中,
f
(
i
,
j
,
k
−
1
)
f(i,j,k-1)
f(i,j,k−1)表示前一帧图像的滤波输出值,
g
(
i
,
j
,
k
)
g(i,j,k)
g(i,j,k)表示受噪声影响的当前帧图像,
w
w
w是权重系数。这种方法只需要存储前一帧图像,设定的权重参数只有一个,能够有效减少算法的复杂度。
运动补偿的时域去噪
运动补偿的时域去噪方法能够较为有效地避免产生时域模糊现象,其通过运动匹配找到当前像素在参考帖中的对应像素,尽量保证时间维度的平稳性,选取合适的像素参与滤波W提高最后的去噪效果。
- 首先,其根据块匹配方法找到参考峽中对应的像素块,然后比较两个像素块的灰度值差异,根据灰度值差异的大小赋予不同的权重。
f
(
i
,
j
,
k
)
=
w
∗
g
(
i
,
j
,
k
)
+
(
1
−
w
)
∗
g
(
i
+
p
,
j
+
q
,
k
−
1
)
f(i,j,k) = w*g(i,j,k)+(1-w)*g(i+p,j+q,k-1)
f(i,j,k)=w∗g(i,j,k)+(1−w)∗g(i+p,j+q,k−1)
其中,
g
(
i
,
j
,
k
)
g(i,j,k)
g(i,j,k)表示当前帧中的像素,
g
(
i
+
p
,
j
+
q
,
k
−
1
)
g(i+p,j+q,k-1)
g(i+p,j+q,k−1)表示当前像素在参考帧中的对应像素,其通过运动匹配所得到的运动向量为
(
p
,
q
)
(p,q)
(p,q),
f
f
f是最终的滤波输出值。
先通过块匹配找到不同顿帧之间的对应像素块,然后按照一定的规则对时域上的像素点赋予不同的权重值,然后完成最终的滤波操作。