ISP—3DNR图像去噪
目录
以海思3516EV200为例去调试3DNR
3DNR参数接口
3DNR
的亮度去噪(
NRy
)由四级串联去噪功能组成,按如下分为
4
级,假设编号为0
,
1
,
2
,
3
,不同级之
间
的同样编号、类型滤波器效果由于
实
现差
异
、串联效应
等
,
导致
不同级结果
并
不
完全
一样。
第
0
级、第
3
级为带时域
辅
助的空域滤波器,第
1
级、第
2
级
则
为时空域处理。色彩滤波器
独立
于亮度滤波器。如下图所示:
说明:
nX**,mX**
参数里面的
X
的均指级数,代指第
n
级。如
n0sf2
特指
nXsf2
系列参数里的第
0
级对应参数,
m1id0
特指
mXid0 系列里第一级对应参数。
第
3
级空域滤波器参数
[nXsf5]
、
[dzsf5]
、
[nXsf6]
、
[nXsfr6]
、
[nXsbr6]
、
[nXsfn]
、
[nXsth]
、
[nXsthd]
和
[sfr]
分别有两套接口(如图
1-2
中的
3a
和
3b
区域),作用于运动区域(
3a
)和静止区
域(
3b
),实现不同的处理效果。第
3
级使能,需要第
2
级使能并且打开时域参考,否则第
3
级
无实际效果。
空域滤波
包含
0~4
号
基础
滤波器
即
nXsf0
、
nXsf1
、
nXsf2
、
nXsf3
、
nXsf4
,也
包含基础滤波器的组合处理。不同级采用
了
不同类型的空域滤波器,第
0
级和第
1
级采用的滤
波器去噪保边的能力
较
强,
但易
出现
条状
噪声(称为
SFi
滤波器组)。第
2
级和第
3
级
的滤波器去噪保边的能力
稍
弱,
但副
作用
较
小(称为
SFk
滤波器组)。
空域接口说明
下图是低光环境下的0、1、2、3级基本空域滤波器参数配置
[kmode]
:
用于决定第
2
级和第
3
级滤波器的
SFk
滤波器
是否
根据亮度决定不同的去噪强度。
[nXsf5]
:
该接口用于调试
五
号滤波器,
是
一号
至
四号滤波器的混合结果,用于组合不同频段的降噪或者
细
节增强。
其
中四
个
参数分
别
用于
配
置四组滤波器结果,
第一
个
参数用于
配
置一号滤波器结果,以
此
类推。
[sfs5]
:
该接口用于第
3
级,设置
五
号滤波中四组滤波器的强度,值越大滤波或者增强的效果越强。
[dzsf5]:
该参数用于控制
五
号滤波器结果在图像中的作用范围,该值越小,作用的范围越大,当设置成
999
的时
候
,相当于关闭
五
号滤波器功能,取值范围为
[0,999]
。
[nXsf6]
:该接口
配
置
六
号滤波器结果,为
两
组滤波器的混合结果。该接口
前两个参数为参
与
混合滤波器号
码
(可以
从
0~5
号滤波器中选择)。
最
后一
个
参数
则
为混
合方式,取值范围
[0, 4]
。该参数取
0
的时
候输
出
是原始
值,
其他
表示四种不同的
混合方式:
[nXsfr6]
:该接口在
sf6
接口的第四
个
参数选择
4
的时
候
生效。用于该模式约束的四种检查
机
制,值越大
倾向
选择
[nXsf6]
的第
二个
结果。取值范围
均
为
[0,31]
。结果
取
4
种方式中
最靠近
第
二个
结果的。
[nXsbr6]
:该接口用于
六
号滤波器的亮暗
非
对称调节。该参数只在
[nXsf6]
第四
个参数选择
4
的时
候
生效,
两个
参数用于分
别
控制
[nXsf6]
第一
个
结果和第
二个
结果
混合比例,可以
配
置在亮和暗的
两个
结果采用不同的混合比例。
[nXsfn] [nXsth/nXsthd]
:
nXsfn
表示不同图像特
征
区域选择不同滤波器的类型,取值
[0,6]
,
与
[nXsth/nXsthd]
接口
配
合使用,
nXsth/nXsthd
则
表示不同区域的特
征
区分阈值的上下限,取值为
[0,511]
,
nXsth
的取值应大于
等
于
nXsthd
。
[sfr]
:
整
个
空域滤波结果控制,取值
[0,31]
,值越大空域作用
程
度越强,当
N
为0
,
则
空域滤波关闭。
[DeRt]:
该接口的第一
个
参数为
0
表示
非
串行(
普
通)模式(如
图
2-1
)。大于
0的时
候
,表示串行模式(如
图
2-2
)。串行模式仅
适
用于
NRy
第
0
级和
NRc
模块。
[SelRt]:
用于产生串行模式的叠加
细
节的
0
,
1
,
2
号滤波器结果的混合比例,取值范围为
[0, 16]
。第一
个
参数决定
0
和
1
号滤波器结果的混合比例,第
二个
参数决
定
1
和
2
号滤波器结果的混合比例。该接口取值越大会叠加
更
多的
细
节,
但
同时
噪声也会相应加大。
在
非
串行模式下,
两个
值只能取值
16
。
时域接口说明
每一级都包含了时域信息用于图像处理,第 1 级的时域可采用分层处理结构,其中每个时域的接口都有两套分别对应于两层,(如果接口有多个参数,接口带上后缀 0,1 来区分层级,例如 nXtfr0, nXtfr1)。针对 IPC 应用场景一般建议采用 分层处理,将第 1 层设置为背景层,将第 0 层设置为前景层分开处理。
[ref]:该接口表示参考帧开关。一般设置为1。
[tedge]:对可能产生拖尾内容区域的处理,0 表示关闭,不做处理,1 则处理可能出现的拖尾,2 和 3 则处理可能出现的模糊。
[nXstr]
:
时空域滤波处理,
减
小噪声,
但
可能
引
入一定的
蒙纱
噪声。值越大去噪噪声越
好
,
蒙纱
噪声出现概率越高,取值
[0,31]
。
[nXsdz]
:
用于
配
合
nXstr
接口对应的空域滤波器的限制,参数取值为
[0,999]
,值越小
nXstr
作用越明
显
,取值
999
相当于该级的空域滤波器关闭。
[nXtss]
:
值越大静止区域越
光滑
,
但
静止区域图像内容可能越模
糊
。取值范围为[0,15]
。该参数的
两个
值表示分
别
作用不同区域。
[nXtsi]
:
用于
配
合
nXtss
接口,取值为
0
、
1
,分
别
表
述
不同处理方式,选择
0
是纯空域的处理方式,
1
是
时空域的处理方式
[nXtfs]
:时域滤波强度,当
前
滤波区域使用时域时,
此
参数表示时域作用强度,值越大强度越大。该接口的取值范围
是
[0, 15]
。
[nXtfr]
:
拖尾、去噪平
衡
控制参数。
总共
6
种处理方式,每
个
值越小可以控制拖尾越小,
但
去噪能力
减
弱。结果取
6
种方式中去噪效果
最
明
显
的一种。取值范围
均
为
[0,31]
。
[nXtfrs]:
第
0
级有效,用于
配
合
[nXtfr]
使用,值越大空域效果越强。
[nXdzm]
:
用于
tdz
接口的选择模式,取值范围
[0, 1]
。
[nXtdz]
:
用于保护纹理或者去噪效果加强。取值范围
[0, 999]
。
[nXtdx]:默认值为2,不建议修改
[mXmath/mXmathd]
:动静判决阈值的上下限,
其
值越大,被运动检测单
元
判定为
“
静止
”
的像
素
越多,
因而
被
实施
时域滤波的像
素
也越多,画面当
然
也越
安
静,一般
情况
下,将
TFS
调
最
大,将
mXmath/mXmathd
调到
刚好
抑制雨点现象,
这
时
再适
当调低
TFS
直
到
没
有雨点;第
1
级采用分
层
应用,
系统
会
先
根据该接
口的第
二个
值划分出图像的静止区域,作为图像的
背景层
(
即
绝对静止区域)。
剩
余
图像作为
前景层
,将会根据第一
个
参数
继续
划分出相对静止区域和运
做分
别
处理。第
3
级的
mXmath/mXmathd
用于划分图像为运动和静止区域,可以
分
别
滤波或者增强处理,
但无
时域滤波效果。该接口的取值范围
是
[0, 999]
。
mXmath
的取值应大于或
等
于
mXmathd
的取值。
[mXmate]
:
表示平坦区域运动检测指数,
其
值越大,被平坦运动检测单
元
判定为“
静止
”
的像
素
越多,
因而
被
实施
时域滤波的像
素
也越多,画面当
然
也越
安
静;
一般
需要先
将
math
调试到合
适
,
再微
调
mate
,以平
衡
雨点噪声和运动拖尾为合
适
,
其
取值范围为
[0,8]
。
[mXmabw]
:
运动检测内容窗口大小的选择,
主要配
合
math
使用,值越大,窗口越大。当在低
照
度下
math
调大
还
不能抑制雨点,建议将
mabw
调试到
7
以上,
从
而
可以
减轻
math
抑制雨点的
负担
,降低时域滤波的
副
作用,取值范围为
[0, 9]
。如
果
某
一级分
层
处理,
背景层
(第
1
层
)的
mabw
的取值范围为
[5, 9]
;
前景层
(第
0
层
)的取值为
[0, 9]
,
但
推荐使用
[0, 4]
以防止拖尾。如果不分
层
(也
就是
biPath
= 0
)
, mabw
的取值范围为
[5, 9]
。
[mXid]
:
根据
[mXmath]
的结果分为不同区域,分
别
选择采用哪种
输
出效果。每
个数的取值为
[0,3]
,分
别
表示
[sfr]
、
[nXstr]
、
[nXtfr]
、
[nXtfs]
的
输
出结果,取值越
大,时域参数作用越强。
[mXmabr]
和
[mXmadz]
其
滤波器的选择对应于
mXid
中的第
二个
参数。
[AdvMath]
开关用于选择
普
通型动静判决接口
math
还是
增强型动静判决接口,建议在分
层
处理时开
启
该开关,增强模式只作用于第一级的
前景层
。当采用增强
型接口,
前景层
的
math
设置的值通
常
小于
普
通型接口的值。取值范围
[0, 1]
。
0
为
普
通模式,
1
为增强模式。如果不分区域,该接口取值为
0
。
[AdvTh]
该接口决定增强型
math
的作用强度。值越小,作用越强。
[mXmatw]
时域滤波防运动拖尾指数,该值越大,运动拖尾收敛越快,反之,该
值越小,运动拖尾收敛越慢,
其
取值范围为
[0, 3]
。一般默认为2。
[mXmasw]:时域滤波防雨点指数,该值越大,有助于降低雨点噪声出现的概率, 其取值范围为
[0,15]。一般不建议调试,设置为默认值 12。
色度信息去噪
视频色度去噪接口
NRc
去噪
主要
调试参数为
sfc
,
tfc
,
trc, tpc
。
色度去噪
主要
调试参数为
sfc
,
trc
,
tfc
,
tpc
;在低
照
度下,由于色度噪声比
较强,一般调试
sfc=255
,
tfc =15
,
tpc = 15
,
trc =255
;
正常照
度下,色度噪声比
较
弱,可以
适
当将
sfc
,
trc
,
tfc
,
tpc
调小
[sfc]
:表示色度空域滤波强度,取值范围为
[0, 255]
。
[tfc]
:表示色度时域滤波强度,一般建议
tfc
在低
照
度下调试不
超
过
15
,
否则
会出现色彩拖尾
等副
作用,取值范围为
[0, 32]
。
[tpc]
:表示时域色噪滤波类型,建议调试
tpc=tfc
,取值范围为
[0, 32]
。
[trc]
:用于抑制运动区域的色彩侵染现象,当出现色彩
浸
染
trc
调为
10
以内,取值范围为
[0, 255]
。
调试
关于3DNR去噪模块与YUV sharpen模块相似,需要与感光度ISO进行联动调试,主要分为两部分介绍,一是高ISO环境的下的3DNR去噪,一是低ISO环境下的3DNR去噪。
先是高ISO方面的3DNR去噪,通过曝光信息可以看到,场景下所处的ISO为137447,下图场景说明环境处于黑暗低光环境当中,这时候我们需要对当前ISO下进行3DNR去噪,尽可能的使得图像噪声减少,图像变得清晰。
影响这部分的主要是,第1、第2级去噪功能,我们可以通过调试下下图红框部分,使得图像变得清晰。
12.25补充
红框部分时用于平滑图像
3DNR的一些调试经验
对于调试3DNR部分,我觉得应该时先解决好图像的噪声问题,如上图所示可以解决图像噪声,然后再是提升图像的细节问题,再提升图像细节的过程中,我们可以适当修改结果滤波器的参数,达到一个较好的效果。过程中我们可以适当增加一些图像噪声,但是要整体保持图像的一个平滑度,避免把噪声当成了细节进行了增强。
下图是在低照度下,调试出来的结果,自认为结果可观的。