3D降噪原理是对图像中的运动物体采取2D降噪,静止部分(称为背景)采取3D降噪以防止运动物体模糊(blur)。
1)第一步为运动估计
在参考帧(为前一帧已经过降噪的图像)中搜索和当前帧中16*16当前块相近的参考块,其中最相近的块为匹配块。
根据匹配块,获得运动向量(motion vector)。
为减小计算,一般仅在以当前块为中心的一个小范围内搜索参考块,如在20*20的小范围内。
2)滤波模式判断
设置两个门限值:
- 参考块和当前块差值残差阈值TH1 (通常为一个较小的值,如 5 ~ 20之间)
- 运动向量阈值TH2 (该阈值通常在+/-1 ~ +/- 3)
a)若每一像素点处的残差小于TH1,且参考块和当前块的运动向量值小于TH2,则可认为当前块为背景,即非运动物体。滤波策略是:使能2D滤波,同时使能3D滤波。3D滤波即当前块和参考块的平均。
b)若残差大于TH1,则,判断为非背景,只使用2D滤波。
c)若残差小于TH1,但运动向量大于TH2,则判断为非背景,只使用2D滤波(因背景几乎是不动的)。
3)梯度计算、边缘判断和快效应改善
计算水平和垂直方向相邻像素的差值,获得一个梯度矩阵。
比较两个方向的梯度大小。若梯度超过设定的阈值,则以值较大的一个方向来计算该点的像素值:
pxl_new =( (a+4*pxl_old+4*c + d)/10 + e )/2