图像信号处理芯片设计原理——12 RAW域和YUV域上的去噪

图像信号处理芯片设计原理——12 RAW域和YUV域上的去噪

图像信号处理芯片设计原理——12 RAW域和YUV域上的去噪

本系列主要介绍图像信号处理器 (ISP, image signal processor) 中各核心算法模块的设计以及相关的前沿研究,以典型的相机成像系统为基础,涉及的内容包括各类缺陷校正,去马赛克,去噪,3A算法(自动对焦,自动曝光,自动白平衡),超分,HDR,风格迁移等主题。

本文介绍在RAW域和YUV域上的去噪操作。

背景介绍

 

在ISP成像过程中的各个流程,均有可能生成噪声,按照物理成因、视觉效果和满足的分布特性可分为不同种类的噪声。传统的去噪方法可分为空间域去噪和变换域去噪。随着深度学习在图像处理领域取得了较好的成果,近年来,基于深度学习的图像去噪方法也被提出并且得到了发展。详细分类如下所示。

图1

各种去噪方法详情可参看本公众号“图像去噪技术简要总结”一文。

 





RAW图去噪





 

以NLM去噪算法[1]为例,NLM算法本身是针对灰度图像而言,在本模块中要处理的图像为RAW图,可将将像素分为R、Gr、Gb、B四种,对它们分别进行去噪处理,这样两个同种像素点(以像素R为例)之间的最小距离为2,所以以像素y为中心的邻域窗口的滑动步长为2。

图2

以图中为例,黑色实线框为搜索窗口,block_size=13,其中有13*13个像素,半径block_half=6(对应关系为block_size=2×block_half+1);黑色虚线框为进行匹配的邻域, patch_size=3,其中有3*3个像素,半径patch_half=1,(对应关系为patch_size=2×patch_half+1)。

对图像的边界进行镜像填充(关于边界像素点对称),水平方向上向左/右镜像填充(block_half+patch_half=7)列,垂直方向上向上/下镜像填充(block_half+patch_half=7)行。使用大小为13*13的搜索窗口滑窗在填充后的图像上从左至右滑动,滑动长度为图像原始宽度,从上至下滑动,滑动长度为图像原始高度,滑动起始点为(patch_half,patch_half),滑窗的中心点即为当前要处理的像素点,这样原图像所有的像素点都能被覆盖到。

针对每个像素y,计算像素x、y邻域的相似度,即高斯加权的欧式距离。针对每一个y像素点计算相应的权重,统计所有的权重,找到其中最大的权重,将其赋给像素x所在的匹配邻域对所有的权重求和得到归一化因子。对搜索窗口内所有的红色像素点的像素值进行加权求和,并归一化,即可得到x像素点去噪后的像素值。

 





YUV域去噪





 

YUV图像去噪环节可以在图像最终成像前再次有效地增大图像信号的信噪比,提高图像质量,直接影响到后续图像视觉效果。该环节处理的信息包括图像亮度和色度。

YUVDNS模块将Y 通道和 UV通道分开进行降噪, 降噪的核心算法以非局部均值(NLM)算法为例。对某一待去噪数据点的NLM过程如图所示,图中每个格子代表一个像素位置的Y/U/V数据。

图3

首先进行算法参数配置。根据噪声水平,设定计算图像块大小W*W,搜索区域S*S和滤波控制参数h与噪声水平的线性比例;

然后计算相似度。求以搜索区域(灰色格子区域)内数据为中心的图像块(橙色框)中的数据值与待去噪数据点(蓝色格子)为中心的图像块(蓝色框)中的数据的绝对差之和D;随后根据绝对差之和D与W*W的相对关系分配权重值,权重分配遵循如下规则:D相对越小,分配的权重值越大;

最后加权平均。完成搜索区域内数据块的相似度权重计算后,对灰色区域内的数据进行加权平均,参与计算的数据包括待去噪数据点,对待去噪数据点分配最大权重。最终得到了待去噪数据点的去噪结果。

相关公式可参看本公众号“图像处理器概述(XK-ISP)”一文。

 

 

参考文献:

[1] Antoni Buades, Bartomeu Coll, and Jean-MichelMorel, ''Non-Local Means Denoising,'' Image Processing On Line, vol. 1, pp.208-212, 2011.

 

订阅快讯

通过快讯订阅,您将及时收到我们的信息更新通知。