5. 模块功能

5.1. 黑电平

5.1.1. 黑电平标定方法

模拟信号很微弱时,有可能不被模拟至数字转换器传达出来,导致光线很暗时,图像细节丢失。因此,图像传感器会在模拟至数字转换前,给模拟信号一个固定的偏移量,保证输出的数字信号保留更多的图像细节。黑电平校正模块就是通过标定的方式,确定这个偏移量的具体值。后续的 ISP 处理模块,需要先减掉该偏移值,才能保证数据的线性一致性。

5.1.1.1. 环境及相关器材准备

如果事先未获取到图像传感器的黑电平参数,或者需要获得更精确的黑电平数值,本标定工具亦提供了自动标定黑电平的模式。 在标定之前需要用户手动采集黑电平标定所需输入的 Raw,采集步骤如下:

步骤1. 将设备的光圈完全关闭,或者使用镜头盖将镜头输入遮挡,确保无光线进入。

步骤2. 通过CviPQTool 的ExposureAttr 标签, 手动设定增益为 1x。具体操作方法为将Exposure 和 Exposure Manual 选框中的所有 OpType 设置为OP_TYPE_MANUAL, 同时将 Exposure Manual 选框中的AGain、DGain、 ISP Dgain 手动设置为 1024。

步骤3. 使用 CviPQTool Capture Tool 抓取一个 Raw 文件。

5.1.1.2. 黑电平标定工具界面

将标定工具的主功能卷标页切换到BLC,即可看到 BLC标定的界面,如 图 5.1 所示,页面主要分为两个部分:

  • 控制区:工具进行标定的主要功能 (红色框选区域)。

  • 显示区:显示输入图像以及 BLC标定后的结果图像 (红色框右侧区域)。

_images/Module002.png

图 5.1 黑电平标定工具界面示意图

5.1.1.3. 黑电平标定步骤

采集到标定算法所需的 Raw 后, 用户可按照以下方法进行黑电平自动模式的标定:

步骤1. 在标定工具左上方Open raw files导入Raw图或Yuv图档,然后在下拉选单使用Dark frame。

步骤2. 点击 Calibration 按钮,进行黑电平标定。

上文提到的“Open raw files”操作,其在选择对应的raw或yuv文件后,会进入到下图 图 5.2 中的对话框,在这对话框中,相应的参数选择完毕后,点击“OK”键,则整个导入Raw图或Yuv图的过程即可完成。

_images/Module060.png

图 5.2 Raw Format Dialog对话框

5.2. DPC

5.2.1. DPC调试方法

5.2.1.1. 功能描述

在sensor 制造中,根据良率的不同,会产生数量不等的坏点,在图像做插值 (Demosaic)或是滤波器的处理,会将坏点的扩散到周边像素。为了降低坏点对原始像素的破坏,在插值等图像处理之前,必须对坏点进行校正。

坏点可以分为两个类型:

  • 静态坏点:

    • 亮点: 一般来说,正常的像素值会正比于入射光源的亮度。亮点定义为此点的值远大于入射光乘以对应比例,且当曝光时间增加,此点的值会明显增加。

    • 暗点: 无论原始光源的特性,此点的像素值非常接近0。

  • 动态坏点:

    • 在常态使用上,此点像素值正常,但随着使用时间,或是sensor 温度升高,增益变大等环境条件不同,此点会显示比周围像素亮。

静态与动态坏点的侦测与校正,主要是使用5x5 的窗口,对相同颜色通道做判定与校正。

DPC 可以支持的坏点类型:

  • 单点坏点

  • 坏点聚集,每个颜色通道最多有2个相邻坏点

_images/Module003.png

图 5.3 单一一个坏点,如下图为R坏点

_images/Module004.png

图 5.4 同样颜色通道出现两个坏点,G有连续两点坏点,而R、B坏点不会影响G的校正

DPC 不可支持的坏点类型:

  • 同色通道中超过2个的坏点聚集

5.2.1.2. 关键参数

表 5.1 DPC动态关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

DPC功能使能。

0: 关闭。

1: 使能

OpType

[0, 1]

0

DPC工作类型。

0: 自动模式 (OP_TYPE_AUTO)。

1: 手动模式 (OP_TYPE_MANUAL)。

DarkDefectThresh

[0, 4095]

[710, 1036, 1711, 2365, 3905]

根据不同亮度设定暗坏点检测阈值1。

BrightDefectThresh

[0, 4095]

[710, 1036, 1711, 2365, 3905]

根据不同亮度设定亮坏点检测阈值1。

DarkDefectThreshOffset

[0, 4095]

0

控制暗坏点阈值2的大小。

BrightDefectThreshOffset

[0, 4095]

0

控制亮坏点阈值2的大小。

AdvMode

[0, 1]

0

第二方向性补偿使能。

0: 关闭,补偿方式取决于AvgMode。

1: 使能。

AvgMode

[0, 1]

1

坏点补偿模式。

0: 方向性补偿。

1: 无方向性补偿。

TransitionWeight

[0, 255]

0

控制过渡区点的补偿强度。值越大,补偿强度越大。

5.2.1.3. 调试步骤

动态 DPC 处理强度与ISO值非常相关,在ISO愈高的环境下,图像的噪声较多,通过增加动态DPC的强度,可以得到比较好的图像质量,但强度开太强,则会导致细节的流失和边缘的模糊,所以调试上必须针对不同sensor,与不同场景去做动态DPC强度调整。当实际效果不如预期时,用户可以根据下列步骤调试:

步骤1. 通过调整 DarkDefectThreshBrightDefectThresh,得到适当的坏点判定阈值1。参数趋势如 图 5.5 所示。DarkDefectThresh[0]~DarkDefectThresh[4]分别对应亮度在32、64、128、256时的设定,BrightDefectThresh同理。该值过小,会导致一些坏点因无法侦测出来而消除不了;该值过大,会导致非坏点被误判,从而造成边缘细节损失或造成一些伪像。

_images/Module0070.png

图 5.5 亮度-阈值1

调整 DarkDefectThreshOffsetBrightDefectThreshOffset ,得到适当的坏点判定阈值2。以亮坏点阈值2为例:

亮坏点阈值2 = BrightDefectThresh + BrightDefectThreshOffset。

暗坏点阈值2同理。根据阈值1和阈值2,可以将所有的点分为以下三类,如 图 5.6 所示。

_images/Module00700.png

图 5.6 点类别

步骤2. 选择各类点的补偿方式。

  • 非坏点:不做处理。

  • 过渡区的点:可以通过 AvgModeTransitionWeight 分别控制补偿方式、补偿强度。无方向性补偿,更容易造成边缘和细节的损失。

  • 坏点:

    • 孤立坏点:即单独一个坏点,其补偿方式完全取决于 AvgMode

    • 聚集坏点:即相同颜色通道,有两个坏点的情况(不支持超过两个坏点的情况)。一般使用第二方向性补偿,即令 AdvMode = 1。第二方向性补偿未使能时,补偿方式则参考AvgMode。

5.3. CrossTalk Removal

5.3.1. CrossTalk Removal调试方法

5.3.1.1. 功能描述

Crosstalk是指sensor可能因为特殊角度的入射光,使得邻近像素的Gr与Gb值不一致,而导致在进行Demosaic插值运算后产生的方格或类似的pattern。因此,为了需要平衡邻近Gr与Gb之间的差异。

图 5.7 所示,横轴坐标代表Gr与Gb之间的差值Diff = |Gr - Gb|,纵轴代表对应的权重值,T1~T4是使用者可以去定义的Threshold值。当差值愈小,所得到的权重值愈大,整体图像处理的强度越大。

_images/Module008.png

图 5.7 Crosstalk Removal权重分布图

5.3.1.2. 关键参数

表 5.2 CrossTalk Removal关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

Crosstalk功能使能。

0: 关闭。

1: 使能。

OpType

[0, 1]

0

Crosstalk工作类型。

0: 自动模式 (OP_TYPE_AUTO)。

1: 手动模式(OP_TYPE_MANUAL)。

GrGbDiffThreSec1

[0, 4095]

128

G通道平衡节点1阀值。

GrGbDiffThreSec2

[0, 4095]

192

G通道平衡节点2阀值。

GrGbDiffThreSec3

[0, 4095]

224

G通道平衡节点3阀值。

GrGbDiffThreSec4

[0, 4095]

256

G通道平衡节点4阀值。

FlatThre1

[0, 4095]

128

平坦区侦测节点1阀值。

FlatThre2

[0, 4095]

192

平坦区侦测节点2阀值。

FlatThre3

[0, 4095]

224

平坦区侦测节点3阀值。

FlatThre4

[0, 4095]

256

平坦区侦测节点4阀值。

Strength[16]

[0, 255]

64

G通道平衡全局强度。

5.3.1.3. 调试步骤

_images/Module009.png

图 5.8 CrossTalk Removal处理流程图及关键参数

步骤1. 藉由调整 GrGbDiffThreSec1 ~ GrGbDiffThreSec4 ,当 GrGbDiffThreSec1 的值愈大,代表整体的处理的强度愈强,而 GrGbDiffThreSec2 - GrGbDiffThreSec4 来决定差值距离多远,强度减弱的程度。

步骤2. 藉由调整 FlatThre1 ~ FlatThre4 来决定图像边缘的处理强度,当 FlatThre1 的值愈大,边缘被处理的强度愈强,导致模糊,反之, FlatThre1 愈小,边缘会较为清晰。

步骤3. Strength 则代表图像整体的处理强度,值愈大,强度愈强;反之,值若是设定太小,会残留CrossTalk的格状噪声。

—-结束

5.4. Lens Shading Correction (LSC)

5.4.1. LSC标定方法

通过研究发现,在 Lens Shading 现象中,目标点的亮度衰减趋势符合余弦四次方定律。对于同一个镜头模组,其成像亮度只会随着成像点和光轴之间的成像角度变化而变化。并且其变化趋势为:与成像角度的余弦值的四次方成正比,正比系数通过镜头的透镜直径以及焦距确定。因此对于同一镜头模组,其标定结果需要满足以下两个条件:其一,标定结果可以有效反应出亮度衰减趋势;其二,标定结果可以用来恢复图像区域中所有目标点的亮度。同时需要注意的是,由于不同光源或者不同色温下光的频谱不同,加上 IR-cut Filter的影响,所以即使是同一镜头模组,其在不同光源下的 Color Shading 特征曲线亦不相同,因此为满足在不同光源或色温下的 Color Shading 的校正要求,需要在不同光源或色温下对 LSC 进行校正。

由于 Color Shading 的影响,对于某些 Color Shading 现象比较严重的镜头或者 sensor,在做 AWB 标定之前需要对 AWB 的标定采集序列进行 LSC 校正,以校正结果作为AWB 标定算法的输入才能得到准确的 AWB 标定结果。

5.4.1.1. 环境及相关器材准备

LSC 之标定,多重光源的灰度图像为必要前置准备。明确之采集要求如下列:

  • LSC 模块的标定序列采集对象要求必须是亮度分布平坦且均匀的光源,同时采集对象必须保持平滑无纹理。理想情况下应采用辉度箱、 积分球、 DNP 灯箱进行采集, 其他可以作为 LSC 标定序列采集对象的场景有:灯箱灰内壁(无明显划痕或污迹)、透过毛玻璃而达到均匀分布的光源。如果条件所限,也可以是任意能达到亮度均匀分布的灰度平面(类似白墙), 但是标定的准确程度可能会受到影响。

  • 如果采集对象为灯箱灰内壁,由于灯箱光源分布在内壁上有一定可能性分布不均匀,故最好保持镜头对准光源中心处,并尽量保证镜头捕获区域光源分布平坦。

  • 采集序列格式为 RAW 格式,只需 1 帧即可,采集过程中,光源照度在 400 lux 左右, 镜头中心亮度需保持为最大值(255)的 70%,并且使用需要标定的镜头。

  • 对于需要在不同光源下使用的场景,需要在不同光源下进行标定, 常用的光源有TL84、 CWF、 A、 D65、 D50 等,请根据使用需求选择光源进行标定。

  • 对于不同镜头模组,需要进行重复标定。

实际的准备步骤如下:

步骤1. 将镜头对准目标区域,并保证环境不被干扰。

步骤2. 调节光源亮度,使得镜头中心亮度平均值为最大值的 70%。

步骤3. 使用 CviPQTool Capture Tool 进行 Raw 数据的采集,只需 1 帧即可。

步骤4. 更换光源,重复上述步骤。

—-结束

采集后的 LSC 标定序列如 图 5.9 所示:

_images/Module010.jpg

图 5.9 LSC 标定序列图像

5.4.1.2. LSC标定工具界面

将 ISP 标定工具的主功能标签页切换到 LSC,即可看到 LSC 标定的界面,如 图 5.10 所示。

LSC 标定工具主要可以分为三个部分:

  • 控制区:工具进行标定的主要功能 (红色框选区域)。

  • 显示区:显示输入图像以及 LSC 标定后的输出图像 (蓝色框选区域)。

  • 列表区:打开的输入图像均会在此处显示,并提供下发标定结果至板端的功能,即LSC页签左下方区块 (绿色框选区域)。

_images/Module011.png

图 5.10 LSC标定工具界面示意图

5.4.1.3. LSC标定步骤

LSC之一般标定步骤如下:

  1. 在左上方点击Open raw files可以导入RAW图像。左侧将显示被导入的档案,再点选Sel栏之核选格,即可在LSC页签点击 “Import selected raw” 来导入选定之RAW图像。

  2. 通过“Import BLC calibration data”按钮将blc标定数据导入进来。

  3. “Calibration type”的选择有3种,默认是“All”。

  4. 按压按钮“Calibrate”以进行 LSC 之标定。LSC之标定可支持多色温,最多可支持七组LSC标定表。

5.4.2. LSC调试方法

5.4.2.1. 功能描述

在tool调试页面,LSC会分成两个部分:一个是LSC,即MLSC(Mesh Lens shading correction),主要用来校正Color Shading。在处理器中 LSC 算法使用网格方法对图像先做标定,然后矫正,算法会将Bayer上的域画面划分成 37×37 个子区块。Bayer域四个通道由三组不同的RGB增益数组来做计算。由于只做颜色上的校正,所以一般G通道的增益保持一倍的设定,即512。当标定MLSC组数为复数组时,则会根据当前的色温选出邻近的两色温之MLSC标定表进行内插,产生对应当前色温的MLSC增益。标定的组数则由 LscGainLutSize 参数定义之。

另一个是RLSC(Radius Lens shading correction),主要用来校正Luma Shading。在LSC算法中,会以画面的亮度中心为圆心,各像素点和圆心之间的距离为半径,做不同程度亮度补偿。一般离亮度中心越远,补偿强度越大。

5.4.2.2. 关键参数

表 5.3 MLSC关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

MLSC模块使能:

0:关闭;

1:开启。

OpType

[0, 1]

0

MLSC工作类型。

0: 自动模式 (OP_TYPE_AUTO);

1: 手动模式(OP_TYPE_MANUAL)。

LscGainLutSize

[1, 7]

1

标定的MLSC组数,最多可支持七组标定数据

LscGinaLut[n].ColorTemp

[500 ,30000]

第n组标定数据对应的色温

LscGinaLut[n].RGain

[0, 4095]

第n组标定数据对应的R通道增益表

LscGinaLut[n].GGain

[0, 4095]

第n组标定数据对应的G通道增益表

LscGinaLut[n].BGain

[0, 4095]

第n组标定数据对应的B通道增益表

表 5.4 RLSC关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

RLSC模块使能:

0:关闭;

1:开启。

OpType

[0, 1]

0

RLSC工作类型。

0: 自动模式 (OP_TYPE_AUTO);

1: 手动模式(OP_TYPE_MANUAL)。

RadiusStr

[0, 4095]

4095

RLSC的全局强度。

GGain

[0, 4095]

亮度补偿增益表,由标定得来。

NDThr

[0, 255]

20

允许保留噪声的最大值。

NDStr

[0, 255]

64

调节噪声保留的强度,值越大,噪声保留越多。

5.4.2.3. 调试步骤

在调试MLSC之前,请先确认 表 5.5 所列的模块已经完成调试,且关键参数的默认值依照 表 5.3 来配置。主要参数按照标定结果配置即可。

表 5.5 MLSC预调试的相关模块

模块

状态/数值

BLC

Tuned

在调试RLSC之前,请先确认 表 5.6 所列的模块已经完成调试,且关键参数的默认值依照 表 5.4 来配置。

GGain按照标定结果配置即可。RadiusStr可以根据实际图像进行调整,值越大,越容易在画面四周造成噪声。

NDThr、NDStr是对BNR损失掉的细节做一些补偿。NDThr越大,细节补偿的最大值越大,但也容易带来更大的噪声。NDStr越大,细节补偿的强度越强,保留的噪声也会越多。

表 5.6 RLSC预调试的相关模块

模块

状态/数值

BLC

Tuned

BNR

Tuned

5.5. White Balance

5.5.1. AWB标定方法

根据 sensor 在数个标准光源下的白点特征 (R/G,B/G),计算最佳普朗克色温拟合曲线。

5.5.1.1. 环境及相关器材准备

需要标定的镜头与Sensor、标准 18% 反射灰卡 (如 图 5.11 所示)。

_images/Module012.jpg

图 5.11 标准18%反射灰卡

步骤1. 在照度 600 lux 的光源下(左右两测的光源需均匀, 光源与色卡的夹角在 25°- 45°),在光源类型的选择上,请尽量满足高,中、低色温至少各有一组。推荐使用D65(6500K)或D75(7500K )、TL84(4000K )和 A (2800K )三组光源。

步骤2. 采集Raw时请尽量使灰卡画面占据70%以上的画面内容,并确认 Raw 的亮度符合预期,G分量亮度在饱和值的0.36倍左右(若是12 bits raw,建议G值在 1274 ~ 1674 ),采集帧数1帧即可,采集时需要记录实际环境色温。

步骤3. 由于镜头Shading 会影响 AWB 的标定结果,为确保 AWB 标定结果准确,请将采集下来的Raw进行Shading标定后再进行AWB标定。

—-结束

5.5.1.2. AWB标定工具界面

将标定工具的主功能卷标页切换到AWB,即可看到 AWB标定的界面,如 图 5.12 所示

_images/Module013.png

图 5.12 AWB标定工具界面示意图

5.5.1.3. AWB标定步骤

步骤1. Import BLC Data , 校正AWB时须要有正确的BLC 值。

步骤2. 点击“Open raw file” 开启并选取欲标定之 raw 档, Raw Scene 选项请选择 uniform color。请选取正确的RAW Format避免校正出错误的AWB色温曲线。

步骤3. 勾选 欲标定之 raw 檔 , 点击“Import select raw”,汇入此 raw 档。

步骤4. 重复步骤2~3 , 至少要有三个色温的RAW檔。

步骤5. 在绿色框区域输入每个RAW文件的色温(In Temp.(K))

步骤6. 在绿色框区域勾选3个KI (关键色温)

步骤7. 点击“Calibration”,进行 AWB 标定。

步骤8. 蓝色框区域会出现标定的WB曲线,可以利用Weight 权重来做曲线的调整。

步骤9. 确认无误后,按“Write Data”,写入 AWB 标定资料。

步骤10. 按“Export Data”,汇出 AWB 标定档。

步骤11. 注意,请确认色温越高,R/G的值会越低,B/G的值会越高,如不符合请重新确认RAW的拍摄与格式是否正确。

可透过 WB Attr页面的 AWB Calibration Data确认

表 5.7 AWB Calibration Data 数值

参数

数值范围

默认值

描述

ColorTemp[0~2]

[0, 30000]

0

AWB校正的三组色温(低到高)

AvgRgain[0~2]

[0, 4095]

0

AWB校正的Rgain

AvgBgain[0~2]

[0,4095]

0

AWB校正的Bgain

5.5.2. AWB调试方法

5.5.2.1. 功能描述

同一物体在不同光源照射下会呈现出不同的颜色,在低色温光源下,白色物体偏红,在高色温光源下,白色物体偏蓝。人眼可根据大脑的记忆判断,识别物体的真实颜色。AWB 算法的功能是让白色在不同的光源下, 不受现场环境光源的影响还原成原本的白色。AWB 算法的基本原理是,根据场景内灰色物体的颜色信息,计算R,G, B颜色通道的增益,乘以R信道及B信道的增益后,使得 RGB 三个通道达到平衡。AWB 的增益是全局性的,因此,在有多种光源的混合光源场景下,不能达到所有灰色区域的RGB三通道平衡。

5.5.2.2. 关键参数

表 5.8 AWB关键参数

参数

数值范围

默认值

描述

Bypass

[0, 1]

0

ByPass 为 true 时 , WB其它参数设置不生效 , RGB通道增益系数固定为 1024(一倍增益)。

OpType

[0, 1]

0

手动白平衡与自动白平衡模式切换。

AlgType

[0, 1]

0

AWB 算法类别 0:AWB,1:AWB_SPEC

AWBRunInterval

[1, 255]

6

白平衡模块工作频率,建议使用默认值6,避免运算量过大。

RGain

[1, 16383]

10 24

手动白平衡模式 R 信道增益系数,一倍增益为1024。

GGain

[1, 16383]

1024

手动白平衡模式 G 信道增益系数,一倍增益为1024。

BGain

[1, 16383]

1024

手动白平衡模式 B 信道增益系数,一倍增益为1024。

Enable

[0, 1]

1

自动白平衡模式使能。

RefColorTemp

[0, 65535]

5000

静态白平衡系数,由AWB标定工具给出。

Static WB

[0, 4096]

1024

静态白平衡系数,由AWB标定工具给出。

CurvePara

[-2147483648, 2147483647]

1

CurvePara[0-2] 普朗克曲线系数,由AWB标定工具给出。普朗克曲线描绘白色块在不同色温的标准光源下的颜色表现。CurvePara[3-5] 色温曲线系数,由AWB标定工具给出。色温曲线描绘白色块的颜色表现与色温的对应关系。

AWB.AlgType

[0, 1]

1

AWB算法类别选择,0:AWB_ALG_LOWCOST, 1:AWB_ALG_ADVANCE两种。当使用AWB_ALG_LOWCOST时,A WBAttrEx页面的功能将不生效。

RGStrengthBGStrength

[0, 255]

128

AWB 校正强度,一般情况不建议调整。推荐 RGStrength = BGStrength,且设置值<=0x80。

RGStren gth=0x80时,白色恢复为白色;

RGS trength>0x80时,白色与光源反向,低色温偏蓝,高色温偏红;

RGS trength<0x80时,白色与光源同向,低色温偏红,高色温偏蓝。

新的调整模式(BGStrength=0,即可进入此模式):

当RGStrength=0x80时,不做调整

当RGStrength<0x80且趋向于0时,越来越偏暖色调

当RGStrength>0x80且趋向于255时,越来越偏冷色调

Speed

[0, 4095]

2 56

AWB 收敛速度,值越大,AWB收敛越快,每帧波动幅度较大,值越小,切换光源时,AWB收敛速度较慢,画面稳定性高。

ZoneSel

[0, 255]

32

参数为0或255时,采用近似灰世界的白平衡算法,其他值则为进行分类筛选,提升精度。

HighColorTemp

[0, 65535]

8000

AWB 支持的色温上限,推荐取值在[8000,15000]。

色温上限越大,蓝色物体对AWB的干扰越大。

LowColorTemp

[0, 65535]

2500

AWB 支持的色温下限,推荐取值在[1500,2500]。

色温下限越小,橙色、红色物体对AWB的干扰越大。

CTLimit.Enable

[0, 1]

1

自平衡的增益范围限制开关。

CTLimit.OpType

[0, 1]

0

自动或手动设定白平衡的增益范围。

CTLimit.HighRgLimit

[0, 16383]

2500

手动模式下高色温下的最大R增益。

CTLimit.HighBgLimit

[0, 16383]

512

手动模式下高色温下的最小B增益。

CTLimit.LowRgLimit

[0, 16383]

512

手动模式下低色温下的最小R增益。

CTLimit.LowBgLimit

[0, 16383]

4096

手动模式下低色温下的最大B增益。

ShiftLimitEn

[0, 1]

0

AWB超过类白点范围的增益映像回白点范围的开关。

ShiftLimit

[0, 4095]

240

以普朗克曲线为中心点,ShiftLimit为上,下带宽确定AWB支持的白区范围。

ShiftLimit[0],ShiftLimit[1]为1500~4000K的白区下,上带宽

ShiftLimit[2],ShiftLimit[3]为4001~4800K的白区下,上带宽

ShiftLimit[4],ShiftLimit[5]为4801~6000K的白区下,上带宽

ShiftLimit[6],ShiftLimit[7] 为6001~15000K的白区下,上带宽

可视不同的高,低色温灯源设定不同大小的带宽,取值越大,白区的带宽越广,对特殊光源的支持越广,影响特定场景下AWB精度。

GainNormEn

[0, 1]

1

对 RGB 通道增益进行限制,可以改善低色温、低照度场景的信噪比,预设开启。

NaturalCastEn

[0, 1]

0

低色温下AWB风格喜好开关,低色温下会保留光源色。预设关闭。

CbCrTrack.Enable

[0, 1]

0

AWB统计范围与ISO的连动参数。

CbCrTrack.CrMax

[0, 16383]

1100

不同ISO下R/G的最大值。

CbCrTrack.CrMin

[0, 16383]

400

不同ISO下R/G的最小值。

CbCrTrack.CbMax

[0, 16383]

750

不同ISO下B/G的最大值。

CbCrTrack.CbMin

[0, 16383]

256

不同ISO下B/G的最小值。

LumaHist.Enable

[0, 1]

1

不同亮度是否开启权重,预设开启。

LumaHist.OpType

[0, 1]

0

自动模式:AWB自动分配权重。手动模式:用户可自行设定亮度分类与权重。

LumaHist.HistThres

[0, 255]

16

亮度分类的阈值(手动模式下有效)。

HistThresh[0] 固定为0,HistThresh[5]固定为255. HistThresh [i+1]必须大于HistThresh[i]。

LumaHist.HistWt

[0, 512]

32

亮度分类的权重(手动模式下有效)。

AWBZoneWtEn

[0, 1]

0

画面区域权重开关。建议在鱼眼镜头或行车纪录器开启,避免其他四周区域的干扰。

ZoneWt

[0, 255]

8

32x32画面权重。可视情况将画面的中心范围调高权重。

Tolerance

[0, 255]

2

AWB调整的偏差范围,误差在此范围内时,AWB不做调整。

ZoneRadius

[0, 255]

16

AWB统计值分区的大小。该值越小,AWB精度越高,但会降低 AWB算法稳定性。

CurveLLimit

[0, 1024]

320

AWB色温曲线的左边界限(R/G,B/G),如AWB分析图的左下红色框线。

CurveRLimit

[512, 16383]

768

AWB色温曲线的右边界限(R/G,B/G),如AWB分析图的右上红色框线。

ExtraLightEn

[0, 1]

0

是否开启独立光源。

LightInfo.WhiteRgain

[0, 16383]

1024

特殊光源点的R通道增益。

LightInfo.WhiteBgain

[0, 16383]

1024

特殊光源点的B通道增益。

LightInfo.ExpQuant

[0, 4095]

1024

根据外在亮度做判断。

ExpQuant 为开启的亮度限制值,例如

ExpQuant = 6, 表示LV6以下开启此WB光源点(一般夜景为LV6以下)

ExpQuant =106 表示LV6以上开启

ExpQuant =112 表示LV12以上开启(LV12一般为户外)

LightInfo.Status

[0, 2]

0

特殊光源点的种类,

0:不作动

1:加入光源点

2:删除光源点附近的计算。

LightInfo.Radius

[0, 255]

8

特殊光源点的区域大小。

InOrOut.Enable

[0, 1]

1

AWB对场景做室内外判断的参数。

InOrOut.OpType

[0, 1]

0

判断室内室外(自动或手动)。

InOrOut.OutdoorStatus

[0, 1]

0

室内或室外模式(手动模式下)。

InOrOut.OutThresh

[0, 20]

14

判定室内室外的阈值,亮度小于时,则判定为室内,户外LV大多超过15。

InOrOut.LowStart

[0, 65535]

5000

将低色温的权重拉低,低色温区的起始点,建议为5000K。

InOrOut.LowStop

[0, 65535]

4500

将低色温的权重拉低,低色温区的终止点,建议为4500K。

InOrOut.HighStart

[0, 65535]

6500

将高色温的权重拉低,高色温区的起始点,建议为6500K。

InOrOut.HighStop

[0, 65535]

8000

将高色温的权重拉低,高色温区的终止点,建议为8000K。

InOrOut.bGreenEnhanceEn

[0, 1]

1

在绿色植物场景下,对绿色通道增加的开关。

InOrOut.OutShiftLimit

[0, 255]

32

当判定为户外场景时,AWB算法的白点范围限制。

MultiLightSourceEn

[0, 1]

1

AWB检测当前场景是否为混合光源,来调整饱和度或CCM。

MultiLSType

[0, 1]

0

调整饱和度或是CCM。

MultiLSScaler

[0, 256]

256

当混合光源下调整饱和度或CCM的强度。

MultiCTBin

[0, 65535]

5000

色温分段参数,须为递增序列。

MultiCTWt

[0, 1024]

256

色温分段权重。

FineTunEn

[0, 1]

1

AWB特殊色检测开关,例如肤色。

FineTunStrength

[0, 255]

128

肤色、蓝色等特殊色检测的强度。

stSkin.u8Mode

[0, 1]

0

肤色检测开关

stSkin.u16RgainDiff

[0, 65535]

0

肤色Rgain偏移值

stSkin.u16BgainDiff

[0, 65535]

0

肤色Bgain偏移值

stSkin.u8Radius

[0, 255]

0

肤色区域大小

stSky.u8Mode

[0, 2]

0: 不对范围内点进行特殊处理

1:将选中范围内的点移除,即不纳入计算

2:映射基点Radius范围内Rgain和Bgain为MapRgain和MapBgain

0

灰点处理模式

stSky.u8ThrLv

[0, 255]

0

亮度阈值,待处理点需大于当前Lv

stSky.u16Rgain

[0, 65535]

0

待处理点的基点R gain

stSky.u16Bgain

[0, 65535]

0

待处理点的基点B gain

stSky.u16MapRgain

[0, 65535]

0

基点R gain Radius范围内的点映射至当前Rgain

stSky.u16MapBgain

[0, 65535]

0

基点B gain Radius范围内的点映射至当前Bgain

stSky.u8Radius

[0, 255]

0

以R gain、B gain为基点的区域大小

stCtLv.bEnable

[0, 1]

0

根据亮度计算色温权重开关

stCtLv.au16MultiCTBin

[0, 65535]

2300, 2800, 3500, 4800, 5500, 6300, 7000, 8500

色温分段参数,须为递增序列

stCtLv.s8ThrLv

[-128, 127]

1, 5, 9, 13

亮度分段阈值

stCtLv.au16MultiCTWt

[0, 1024]

64, 256, 256, 256, 256, 512, 512, 256

色温分段权重

stShiftLv.u8LowLvMode

[0, 1]

1

低亮场景调节有效范围开关

stShiftLv.u16LowLvCT

[0x0,0xff] 0xff 为全区域调整

1:低色温标定线下方区域

2:低色温标定线上方区域

4:中色温1标定线下方区域

8:中色温1标定线上方区域

16:中色温2标定线下方区域

32:中色温2标定线上方区域

64:高色温标定线下方区域

128:高色温标定线上方区域

1, 192

低亮度调整距离标定线的有效范围的区域

stShiftLv.u16LowLvThr

[0, 65535]

15, 15

低亮度调整有效范围的亮度阈值

stShiftLv.u16LowLvRatio

[0, 65535]

150, 30

低亮度有效范围调节比例(ratio/100)

stShiftLv.u8HighLvMode

[0, 1]

1

高亮场景调节有效范围开关

stShiftLv.u16HighLvCT

[0x0,0xff]

0xff 为全区域调整

1:低色温标定线下方区域

2:低色温标定线上方区域

4:中色温1标定线下方区域

8:中色温1标定线上方区域

16:中色温2标定线下方区域

32:中色温2标定线上方区域

64:高色温标定线下方区域

128:高色温标定线上方区域

3, 0

高亮度调整距离标定线的有效范围的区域

stShiftLv.u16HighLvThr

[0, 65535]

15, 15

高亮度调整有效范围的亮度阈值

stShiftLv.u16HighLvRatio

[0, 65535]

300, 100

高亮度有效范围调节比例(ratio/100)

stRegion.u16Region1

[0, 65535]

3900

Low、Mid1色温区域分界点

stRegion.u16Region2

[0, 65535]

4300

Mid1、Mid2色温区域分界点

stRegion.u16Region3

[0, 65535]

6600

Mid2、High色温区域分界点

adjBgainMode

[0, 255]

1:低色温区域

4:中色温2区域

8:高色温区域

0

微调参与白平衡B gain值计算点的所在区域

参数:

可透过 WB Info 页面, 了解当前的AWB信息

参数

数值范围

默认值

描述

Rgain

[0, 16383]

0

AWB 当前 frame 的R通道增益系数

Ggain

[0, 16383]

0

AWB 当前 frame 的G通道增益系数。

Bgain

[0, 16383]

0

AWB 当前 frame 的B通道增益系数。

ColorTemp

[0, 65535]

0

AWB 评估当前环境的色温。

5.5.2.3. 调试步骤

在标定完成后,测试标准光源下的AWB精度,确认图像颜色是否正确。若出现偏色,则需要检查以下参数配置是否合理。

步骤1. 检测色温是否在[LowColorTemp、HighColorTemp]范围内,如果不在,调整色温上下限。

步骤2. 打开 Tuning Tools 的AWB分析接口(Extra Utilities->3A Analyser ->AWB),观察白色点是否在当前参数划定的白色区域内,如果不在,调整参数 ShiftLimit,扩大白色区域,将其概括进来。

_images/Module014.png

在AWB分析图中,两条绿色线为目前AWB色温曲线的范围,在绿线中间的为AWB色温曲线(由自动标定时产生),左下与右上的两个红框为CurveLLimit,CurveRLimit。蓝色的点为AWB画面分隔为32x32时,每个分区的R/G,B/G。当在标准的校正灯源下,大部分的蓝色点都会落在两条绿色色温曲线范围之中。

_images/Module015.png

步骤3. 若镜头有严重双色问题,或是特殊应用可以将AWBZoneWtEn 权重打开,并填入相对应的权重大小。

步骤4. 若有特殊的光源需要加入或排除,ExtraLightEn打开后共有四组光源可以设定,设置好相对的Rgain,Bgain及Radius,Staus(设置为1时,会增加此光源点,以改善该光源下的AWB,设置为2时,删除该光源,可以用来减少例如蓝天,肤色的干扰)后即可在AWB分析图内看到所加入或排除的圆圈。

步骤5. 户外色温权重参数要求: 四个参数的取值范围要求:LowStop < LowStart < HighStart < HighStop。以下图为例

LowStop为3800K,LowStart为5000K,HighStart为6200K, HighStop为7200K,一般权重为32,室外色温最高权重为256

_images/Module016.png

步骤6. 在混合光源场景希望用色温权重来改善AWB,不做饱和度或CCM调整,可以将MultiLightSourceEn打开,MultiLSType选择饱和度(SAT),MultiLSScaler设为256。

步骤7. FineTunEn 打开,AWB 会自动检测肤色等特殊色,改善肤色场景 AWB 表现,提高 AWB 精度。但可能在低色温光源下发生误判,导致图像轻微偏黄。FineTunStrength 调整肤色检测的强度,取值越大,肤色场景 AWB 表现越好,但误判时的副作用越明显。推荐采用默认值 128。

—-结束

5.6. BNR

5.6.1. BNR调试方法

5.6.1.1. 功能描述

BNR主要是在Bayer domain进行空域去噪处理。针对不同的sensor建立符合噪声特性的去噪模型。关键参数的配置提供了调整去噪强度与噪声形态的弹性。在抑制噪声的同时,保留图像纹理边缘。且对随机噪声有一定的保留,因此能提高图像结果的信噪比和整体均匀度。

5.6.1.2. 关键参数

表 5.9 BNR关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

BNR模块使能。

0: 关闭。

1: 使能。

OpType

[0, 1]

0

BNR工作类型。

0: 自动模式 (OP_TYPE_AUTO)。

1: 手动模式 (OP_TYPE_MANUAL)。

PreFilterEnable

[0, 1]

1

预滤波处理使能。

PreFilterModeSel

[0, 1]

1

预滤波模式选择。PreFilterEnable = 1时生效。设0时,预滤波效果更好。

Filter1GaussianCurveR

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter1在R通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter1GaussianCurveGR

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter1在GR通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter1GaussianCurveGB

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter1在GB通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter1GaussianCurveB

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter1在B通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter1LumaOffsetR

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter1在R通道的滤波强度。

Filter1LumaOffsetGR

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter1在GR通道的滤波强度。

Filter1LumaOffsetGB

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter1在GB通道的滤波强度。

Filter1LumaOffsetB

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter1在B通道的滤波强度。

Filter2GaussianCurveR

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter2在R通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter2GaussianCurveGR

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter2在GR通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter2GaussianCurveGB

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter2在GB通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter2GaussianCurveB

[0, 1023]

[0, 1, 2, 3, 4, 5]

Filter2在B通道的整体滤波强度。值越大滤波强度越大,降噪效果越明显。LUT数值保持递增趋势。

Filter2LumaOffsetR

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter2在R通道的滤波强度。

Filter2LumaOffsetGR

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter2在GR通道的滤波强度。

Filter2LumaOffsetGB

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter2在GB通道的滤波强度。

Filter2LumaOffsetB

[0, 1023]

[0, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]

根据不同亮度,调节Filter2在B通道的滤波强度。

NrBlendWt

[0, 16]

8

控制Filter1和Filter2的融合比例。值越大,越偏向Filter2。

5.6.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.10 所列的模块已经完成调试,且关键参数的默认值依照 表 5.9 来配置。

表 5.10 BNR预调试的相关模块

模块

状态/数值

BLC

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

AWB

Tuned

Demosaic

Tuned

CCM

Tuned

Gamma

Tuned

LDCI

Tuned

DCI

Tuned

PreSharpen

Tuned

3DNR

Tuned

Sharpen

Tuned

步骤1. 调节Filter1和Filter2的整体强度。相关参数包括 Filter1GaussianCurveR/GR/GB/BFilter2GaussianCurveR/GR/GB/B。逐渐增大,直至暗部在保持完整细节的前提下,噪声达到最小水平。由于BNR是在bayer域的降噪,这部分降噪调整应该以保留完整细节为前提。

步骤2. 根据亮度调整Filter1和Filter2的强度。相关参数包括 Filter1LumaOffsetR/GR/GB/BFilter2LumaOffsetR/GR/GB/B。以Filter1LumaOffsetR为例,Filter1LumaOffsetR[0]~Filter1LumaOffsetR[16]表示随着亮度逐渐增大,各亮度下的降噪强度。一般参数呈单调递增的趋势。暗部降噪强度较小,主要受整体降噪强度的影响。亮度越大,降噪强度越大。如 图 5.13 所示。其中横坐标表示当前点的亮度值;纵坐标Thr1越大,表示降噪强度越大。

_images/Module080.png

图 5.13 亮度-Thr1趋势图

Filter1和Filter2的最终强度由步骤1、步骤2的设定共同决定。如 图 5.14 所示。其中横坐标表示当前点和周围点的相似度,值越大,表示相似度越低;纵坐标表示参考周围点的比例,值越大参考周围点的比例越大。纵坐标不可调,横坐标Thr[i] = Thr1 + Filter1GaussianCurveR[i](i = 0 ~ 5)(以Filter1的R通道降噪强度为例,其余各通道以及Filter2的强度与之类似 )。

_images/Module0080.png

图 5.14 diff-weighting趋势图

一般而言,主要参考相似度较高的点来做降噪处理。当Thr设置较大时,意味着相似度偏低的点也能作用较大的weighting,从而导致降噪强度较大,同时,更容易损失细节。

步骤3. 调整 NrBlendWt 选择不同风格的降噪结果。一般在高ISO,设置较大,偏向Filter2,避免出现噪声结块。

步骤4. BNR还支持回加损失细节的功能。该功能实际在LSC模块中实现。相关参数有 NDThrNDStr 。详细描述请参考 LSC调试方法

5.7. Demosaic

5.7.1. Demosaic调试方法

5.7.1.1. 功能描述

Demosaic主要是实现将Bayer图像转成RGB图像。利用当前像素与周围像素之间关系,实现方向插值功能,计算出当前缺失的其他两个分量。

5.7.1.2. 关键参数

表 5.11 Demosaic关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

1

Demosaic模块使能。

0: 关闭。

1: 使能。

OpType

[0, 4]

0

Demosaic工作类型。

0: 自动模式 (OP_TYPE_AUTO)。

1: 手动模式 (OP_TYPE_MANUAL)。

CoarseEdgeThr

[0, 4095]

480

边缘粗调侦测阈值。值越小,侦测为边缘的数量越多。建议搭配参数 CoarseStr 调试。

CoarseStr

[0, 4095]

128

边缘粗调强度值。值越小,越偏方向性的处理。反之,越偏无方向性的处理。

FineEdgeThr

[0, 4095]

400

边缘细调侦测阈值。值越小,侦测为边缘的数量越多。建议搭配参数 FineStr 调试。

FineStr

[0, 4095]

40

边缘细调强度值。值越小,越偏方向性的处理 。反之,越偏无方向性的处理。

AntiFalseColorEnable

[0, 1]

0

去伪色彩功能使能。

0: 关闭。

1: 使能。

AntiFalseColorStr

[0, 255]

255

去伪色彩强度,值越大,则降饱和度强度越大。

SatGainIn[2]

[0, 4095]

[200, 800]

定义LUT的横轴,即输入像素的饱和度大小。

SatGainOut[2]

[0, 4095]

[ 4095, 0]

定义LUT的纵轴,即去伪色彩强度增益。值越大,去伪色彩强度越大。

ProtectColorEnable

[0, 1]

0

自定义色彩的饱和度保护功能使能。

ProtectColorGainIn[2]

[0, 4095]

[20, 500]

定义LUT的横轴,即输入像素与保护色相似的程度。

ProtectColorGainOut[2]

[0, 4095]

[0, 4095]

定义LUT的纵轴,即去伪色彩强度增益。值越小,去伪色彩强度越小,与输入像素越相似。

UserDefineProtectColor1

[0, 4095]

960

自定义保护色彩 1。

UserDefineProtectColor2

[0, 4095]

560

自定义保护色彩2。

UserDefineProtectColor3

[0, 4095]

960

自定义保护色彩3。

EdgeGainIn[2]

[0, 4095]

[150, 200]

定义LUT的横轴,即边缘侦测大小。

EdgeGainOut[2]

[0, 4095]

[0, 4095]

定义LUT的纵轴,即去伪色彩强度增益。值越大,去伪色彩强度越大。

DetailGainIn[2]

[0, 4095]

[10, 150]

定义LUT的横轴,即细节侦测大小。

DetailGainOut[2]

[1, 4095]

[0, 4095]

定义LUT的纵轴,即去伪色彩强度增益。值越大,去伪色彩强度越大。

DetailDetectLumaEnable

[0, 1]

1

根据亮度调整细节侦测强度功能使能。

0: 关闭。

1: 使能。

DetailDetectLumaStr

[0, 4095]

480

根据亮度调整细节侦测强度。建议搭配DetailGain一起调适。

DetailSmoothEnable

[0, 1]

0

细节平滑功能使能。

0: 关闭。

1: 使能。

DetailSmoothStr

[0, 255]

0

细节平滑强度。值越大,平滑强度越强。

DetailWgtThr

[0, 255]

0

细节平滑范围阈值。值越小,细节平滑作用的范围越大。

DetailWgtMin

[0, 256]

0

细节平滑强度允许之最小增益。

DetailWgtMax

[0, 256]

256

细节平滑强度允许之最大增益。

DetailWgtSlope

[0, 1024]

256

细节平滑强度斜率。值越大,细节平滑强度越强。64为 1x gain。

EdgeWgtThr

[0, 255]

160

边缘平滑范围阈值。值越小,边缘平滑作用的范围越大。

EdgeWgtMin

[0, 256]

0

边缘平滑强度允许之最小增益。

EdgeWgtMax

[0, 256]

256

边缘平滑强度允许之最大增益。

EdgeWgtSlope

[0, 1024]

256

边缘平滑强度斜率。值越大,边缘平滑程度越强。64为 1x gain。

DetailSmoothMapTh

[0, 255]

0

细节平滑强度映射范围阈值。值越小,边缘平滑作用的范围越大。

DetailSmoothMapMin

[0, 256]

0

细节平滑强度映射允许之最小值。

DetailSmoothMapMax

[0, 256]

256

细节平滑强度映射允许之最大值。

DetailSmoothMapSlope

[0, 1024]

256

细节平滑强度映射斜率。值越大,细节平滑强度越强。64为 1x gain。

SharpenGain

[0, 255]

0

对CFA输出的RGB图施加的锐化强度,值越大,锐化越强,32为 1x gain。

5.7.1.3. 调试步骤

_images/Module020.png

在做参数调试之前,请先确认表 4‑12所列的模块已经完成调试,且关键参数的默认值依照 表 5.11 来配置。

表 5.12 Demosaic预调试的相关模块

模块

状态/数值

BLC

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

AWB

Tuned

BNR

Tuned

3DNR

Tuned

Noise Profile

Set

步骤1. 首先,调节边缘粗调侦测阈值 CoarseEdgeThr 确定边缘范围。值越小,判断为 强边缘 的数量越多。同时适当地调节边缘粗调强度值 CoarseStr 来确定图像的纹理方向性的判断以及以降低强边缘做错方向造成的zipper effect,以获得初步的 强纹理 方向。

Module053 调试原则: 建议从 CoarseEdgeThrCoarseStr 的默认值开始调试参数。观察在默认值的设定下,评估图像的边缘的平顺度和整体清晰度。(建议TV10以前靠 CoarseStr 调整,更高的解析靠 FineEdgeThr 调整)

步骤2. 接着,调节边缘细调侦测阈值 FineEdgeThr 确定边缘范围。值越小,判断为 弱边缘 的数量越多。同时调节边缘细调强度 FineStr ,确定图像的纹理方向性的判断,以获得进一步的纹理方向确认。建议搭配Siemens Chart/ISO12233观察高频区方向正确性辅助调整,如果调高参数没有获得改善,需要检查 CoarseEdgeThr 是否设置过小, 可以将 CoarseEdgeThr 调高再观察效果。

Module054Module055

Module053 调试原则: 与步骤1的调适原则相同,先使用参数 FineEdgeThrFineStr 的默认值配置来观察目前图像结果。再根据需求进一步地调整 FineEdgeThrFineStr

步骤3. 通过调试参数 AntiFalseColorStr 来控制去伪色彩的强度。同时,调节 SatGainIn[2]SatGainOut[2] 来针对低饱和度的区域减轻伪色彩。针对容易出现伪色彩的高频区域,可以调节 EdgeGainIn[2]EdgeGainOut[2] 来调整强度,以及自定义欲保护的色彩 UserDefineProtectColor1 ~ UserDefineProtectColor3 ,避免被当成伪色彩被去除,其强度可以调节 ProtectColorGainIn[2]ProtectColorGainOut[2] 来控制。

Module053 调试原则: 去伪色彩的相关参数可以先使用默认值,并依需求做微调。

步骤4. 通过调试参数 DetailSmoothStr 来减少Demosaic由于受到sensor感光特性以及噪声等因素,影响方向的判断,在进行插值时所造成的伪细节,特别是常发生在高度密集的线条纹理区域。伪细节抑制功能可以使细节等表现更加自然。 DetailSmoothStr 越大,细节平滑功能越强,但增加过多会导致细节损失。如 图 5.15 所示,在进行细节平滑的同时,通过参数 DetailWgtThrDetailWgtSlope 分别决定细节平滑的范围和强度,并且以 DetailWgtMinDetailWgtMax 控制细节平滑程度的上下限。另外,如 图 5.16 所示,可以调节参数 EdgeWgtThrEdgeWgtSlope 根据边缘强度分别决定平滑作用范围和强度以及 EdgeWgtMinEdgeWgtMax 控制平滑强度的上下限。

_images/Module021.png

Module053 调试原则: DetailSmoothEnable 默认值为0,即关闭平滑功能。有兴趣的用户可将 DetailSmoothEnable 使能,并选择 DetailSmoothStr 来调试平滑强度,其他平滑强度的相关参数则以默认值为基础,来适当地微调。

_images/Module022.png

图 5.15 细节平滑时的细节大小Detail和平滑强度DetailWgt的关系曲线

_images/Module023.png

图 5.16 边缘平滑时的边缘强度和平滑强度EdgeWgt的关系曲线

—-结束

5.8. WDR

5.8.1. WDR调试方法

5.8.1.1. 功能描述

动态范围是指场景中最亮与最暗物体间的亮度差异范围,动态范围越大代表场景中亮度的层次越丰富。一般真实场景中的动态范围约为一般图像传感器可记录范围的数千至数十万倍。因此使用一般图像传感器拍摄高动态场景时,往往只能选择关注低亮区,则容易使得高亮区过曝,丢失高亮区细节。或是,关注高亮区,又会使得低亮区曝光不足,低亮细节难以分辨。为了能记录高动态范围场景的每一个细节,需要使用高动态范围的图像传感器,或者使用多次曝光图像合成。但由于高动态范围图像传感器面积较大且价格偏高,限制了其实用性。因此,常见的WDR图像生成方式都是使用一般传感器获得若干不同曝光的固定场景图像,再用WDR算法来合成一幅高动态范围图像。 图 5.17 以二合一WDR为例,显示了长曝光画面,短曝光画面,以及WDR合成的画面。短曝光画面用来捕抓场景中亮区讯息,而长曝光画面用来捕获场景中暗区信息,经过WDR合成后获得高动态范围的图像。

WDR实际有WDR Fusion和Map Curve两个模块。WDR Fusion模块的作用就是将不同曝光时长的几张图片融合为一张高动态范围的图像。

融合后的图像为高位深的图像,考虑到一般显示器的动态范围比较小,为了能完整保留所获取的宽动态图像中的细节,需要使用Map Curve,根据人眼特性,保留细节的同时对图像的动态范围进行压缩。

_images/im1.png

图 5.17 二合一WDR效果图

5.8.1.2. 关键参数

表 5.13 WDR关键参数

参数

数值范围

默认值

描述

OpType

[0, 1]

0

工作类型。

0: 自动模式 (OP_TYPE_AUTO);

1: 手动模式(OP_TYPE_MANUAL)。

FusionEnable

[0, 1]

1

WDR Fusion使能。WDR mode设置1;linear mode设置0。

FusionMode

[0, 2]

1

选择输出结果。

0:输出WDR Fusion的结果;

1:输出SE结果;

2:输出LE结果;

LENormBldP0

[0, 4095]

3000

静止区长短曝融合时,长曝临界值,低于该临界值的图像数据将只选择长曝光数据合成WDR图像。

LENormBldRange

[0, 4095]

600

静止区长短曝融合时,决定过渡区域的范围。高于LENormBldP0+LENormBldRange的图像数据将只选择短曝光数据合成WDR图像。

LEDynmBldP0

[0, 4095]

2560

运动区长短曝融合时,长曝临界值,低于该临界值的图像数据将只选择长曝光数据合成WDR图像。

LEDynmBldRange

[0, 4095]

1024

运动区长短曝融合时,决定过渡区域的范围。高于LEDynmBldP0+LEDynmBldRange的图像数据将只选择短曝光数据合成WDR图像。

MCurveEnable

[0, 1]

1

Map Curve使能。WDR mode设置1;linear mode设置0。

MCurveDelta

[0, 10000]

100

决定Map Curve暗部的斜率。值越小,暗部抬亮越明显。

MCurveX1

[0, 65535]

4088

对于亮度大于X1的亮区做对比度保护。值越小,对比度保护区域越大。

MCurveBldRatio

[0, 10]

0

亮区对比度保护程度。值越小,保护程度越大。

MCurveXMaxRatio

[0, 256]

128

调整暗区提亮程度。128表示Map Curve完全自动生成。小于128时,值越小,暗区提亮程度越大。大于128时,值越大,画面整体压暗程度越大。

5.8.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.14 所列的模块已经完成调试,且关键参数的默认值依照 表 5.13 来配置。

表 5.14 WDR预调试的相关模块

模块

状态/数值

BLC

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

LSC

Tuned

AWB

Tuned

CCM

Tuned

WDR的调试步骤可区分为调试长短帧融合曲线与Map Curve。

调整长短帧融合曲线

静止区长短帧融合调整 LENormBldP0LENormBldRange ,如 图 5.18 所示。其中,P1 = LENormBldP0 + LENormBldRange;Weighting是长短曝的融合比例,值越大,越偏向长曝。

_images/Module025.png

图 5.18 静止区长短帧阈值选择

长短帧融合调试的目标是确保画面中亮区不过曝以及暗区细节可见。因此在暗区,即亮度小于LENormBldP0的部分,完全选择长曝数据合成WDR图像以保证暗区的可见度;在亮区,即亮度大于P1部分,完全选择短曝数据合成WDR图像以保证亮区的细节可见。两者之间的像素则采用长短帧融合的方式进行合成。

运动区长短帧融合调整 LEDynmBldP0LEDynmBldRange ,和静止区类似。

调整Map Curve

Map Curve是一条亮度映射曲线,如 图 5.19 所示。一般通过调整 MCurveDelta 提亮暗区,但是值也不能过小,会造成中高亮区对比度损失。 暗区提亮程度越大,中高亮区的对比度损失一般会越严重,可以通过 MCurveBldRatioMCurveX1 对对比度做保护。 当MCurveDelta调到比较极限的状态,但还想要提高暗区亮度时,可以减小 MCurveXMaxRatio ,但需要注意高亮区细节损失。

_images/Module0250.png

图 5.19 Map Curve

5.9. DRC

5.9.1. 功能描述

动态范围是指场景中最亮与最暗物体间的亮度差异范围,动态范围越大代表场景中亮度的层次越丰富。但是使用一般的图像传感器拍摄高动态场景时,往往暗区和亮区无法兼顾。若暗区可见度良好,高亮区则容易过曝;高亮区细节丰富,暗区则容易欠曝。该模块的作用就是将图像的亮度映射到一个合理的状态,提高暗部亮度,增强亮、暗部细节的同时,保持画面的局部对比度。

5.9.2. 关键参数

表 5.15 DRC 关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

DRC模块使能。

0: 关闭。

1: 使能。

AdaptiveLowStr

[0, 4095]

4021

控制暗区DRC强度的上限。

AdaptiveHighStr

[0, 4095]

100

控制亮区DRC强度的下限。

AdaptiveRatio

[0, 1000]

73

根据亮度自适应控制DRC强度的过渡斜率,值越大,过渡越慢。

AutoMode

[0, 1]

0

控制auto drc。

0: 关闭auto drc。

1: 使能auto drc。

Strength

[0, 255]

64

控制DRC的整体强度。值越大,强度越强。

5.9.3. 调试步骤

在做参数调试之前,请先确认 表 5.16 所列的模块已经完成调试,且关键参数的默认值依照 表 5.15 来配置。

表 5.16 DRC预调试的相关模块

模块

状态/数值

BLC

Tuned

AWB

Tuned

CCM

Tuned

LSC

Tuned

WDR

Tuned

DRC调整

DRC主要用来提升暗区的亮度,所以 AdaptiveLowStr 的设定不小于 AdaptiveHighStr ,让暗区做更强的DRC。AdaptiveRatio控制提亮的暗区范围,值越大,提亮的暗区范围越大。DRC的整体强度可以通过 Strength 控制。一般linear mode下,为了维持画面整体的对比度,DRC强度不会设得特别大。特别是在高ISO,为了避免暗区噪声被过渡放大,甚至不做DRC。

5.10. PFR

5.10.1. PFR调试方法

5.10.1.1. 功能描述

PFR主要是用来消除图像中出现的紫边问题。

5.10.1.2. 关键参数

表 5.17 PFR关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

PFR模块使能。

0: 关闭。

1: 使能。

OpType

[0, 1]

0

PFR工作类型。

0: 自动模式 (OP_TYPE_AUTO)。

1: 手动模式 (OP_TYPE_MANUAL)。

HueENLut

[0, 1]

[1, 1]

参考自定义紫边Hue值使能。可以支持自定义两组Hue值,由HueLut定义。

0: 关闭。

1: 使能。

HueLut

[0, 359]

[260, 260]

自定义的两组Hue值。

HueRngLut

[0, 255]

[64, 64]

控制允许偏移自定义Hue值的范围。超过这个范围的Hue认为完全偏离自定义值。在这个范围以内,和自定义Hue距离越近,认为是紫边的概率越大。这个值过大,会消除更多的颜色;过小,会导致紫边消除不全。

LumaEN

[0, 1]

1

去紫边处理时,参考luma信息功能使能。紫边通常与Luma信息相关,建议开启。

0: 关闭。

1: 使能。

UVENLut

[0, 1]

[1, 1]

参考自定义紫边UV值使能。可以支持自定义两组UV值,由ULut、VLut定义。

0: 关闭。

1: 使能。

ULut

[0, 255]

[175, 144]

自定义的两组U值。

VLut

[0, 255]

[144, 175]

自定义的两组V值。

EdgThLut

[0, 255]

[8, 12, 16, 32]

根据纹理大小做分段,以此查找对应的Edge Weigting。

5.10.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.18 所列的模块已经调到一个合理的状态,且关键参数的默认值依照 表 5.17 来配置。

表 5.18 PFR 预调试的相关模块

模块

状态/数值

WDR

Tuned (if enable)

BLC

Tuned

AWB

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

BNR

Tuned

LSC

Tuned

DRC

Tuned

Demosaic

Tuned

CCM

Tuned

Gamma

Tuned

Dehaze

Tuned (if enabled)

CLUT

Tuned (if enabled)

LDCI

Tuned

DCI

Tuned

3DNR

Tuned

步骤1. PFR模块支持根据UV值、Hue值来定义所需要消除的紫边特征。

  • UV值:相关参数有 UVENLutULutVLut,UV特征偏离定义值越远,认为紫边的可能性越小,处理强度越小,甚至不做处理。

  • Hue值:相关参数有 HueENLutHueLutHueRngLut,Hue特征偏离定义值超过一定范围,认为不是紫边,不做处理。范围即由HueRngLut定义。在范围以内,距离定义值越近,认为是紫边的可能性越大,处理强度越强。另外,在对紫边做校正时,距离定义值越远的点,参考权重会越大。

注意:UV值/Hue值的定义需要根据PFR input的信息确定。PFR之后的颜色处理模块,比如:CCM、CLUT、CNR等,可能会影响UV值的量测结果,造成紫点判断出现偏差,进而导致去紫边效果不理想。

步骤2. 由于紫边现象大部分都在物体边缘处,因此需要edge信息来辅助判断紫边的位置,这既能有助于找到紫边,也有助于降低消除到平坦区并且是接近期望紫边颜色的区块。PFR模块提供参数 EdgThLut ,根据不同强度的edge信息设定不同的Edge Weighting。Edge Weighting越大,认为是紫边的可能性越大。如 图 5.20 所示。

_images/Module0260.png

图 5.20 edge强度-Edge Weighting趋势图

5.11. CCM

5.11.1. CCM标定方法

5.11.1.1. 环境及相关器材准备

请遵循以下步骤进行CCM标定:

  • 采集设备准备:标准X-Rite 24色卡,照度为600Lux均匀光源(左右两侧光源,光源与色卡平面的夹角在25度到45度之间),IPC。

  • 调整AE目标亮度,PQ Tool显示页面上查看第20色块的G值在201附近,第21色块的G值在163附近就表示曝光合适。

  • 采集中性灰RAW图像,检查IPC的镜头阴影程度。Lens shading较严重时,需要先标定shading系数,24色卡图像需要先进行shading校正后,在进行CCM标定。

5.11.1.2. CCM标定工具界面

采集图像后,将 ISP 标定工具的主功能标签页切换到 CCM,即可看到 CCM标定的界面,如 图 5.21 所示。 CCM标定工具主要可以分为两个部分:

  • 控制区:进行CCM标定时的主要功能 (红色框选区域)。

  • 显示区:显示输入图像 (红色框右侧区域)。

_images/Module030.png

图 5.21 CCM标定工具界面

CCM标定工具界面的标定参数包含:

  • 导入BLC校正参数。

  • 导入LSC校正参数。

  • ISP Gamma。

  • LAB参考值。

  • 6x4色块权重表格,分别对应24色块的位置。数值范围为1.0到16.0的浮点数。

  • CCM开始校正按钮。

  • 输出CCM校正结果。

5.11.1.3. CCM标定步骤

请遵循以下步骤进行CCM标定:

步骤1. 在标定工具的主界面导入需要进行CCM标定的RAW数据。

步骤2. 导入24色卡的RAW图像。

步骤3. 选取24色区域。

步骤4. 配置标定参数 (GAMMA,LAB,色块权重)。

步骤5. 点击CCM Calibration按钮进行标定,获得CCM结果。

特殊说明:

  • PQtool可通过yuv图片完成对CCM的标定,其标定画面如图 图 5.22 所示,其操作流程同上述,但不再需要导入BLC和LSC标定数据了。

_images/Module059.png

图 5.22 CCM标定yuv工具界面

5.11.2. CCM调试方法

5.11.2.1. 功能描述

一般来说,人眼对于光谱的反应,与sensor RGB三色分量对光谱的响应是有偏差的。为了使撷取的画面与人眼视觉感受上的颜色保持一致,我们可通过一个色彩校正矩阵来校正光谱响应的交叉效应与响应强度。CCM标定工具支持对24色卡进行3x3 color correction matrix的预校正。一般而言,建议主要使用CA和Saturation 模块来调整画面的饱和度。

5.11.2.2. 关键参数

表 5.19 CCM关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

CCM功能使能。

0: 关闭。

1: 使能。

OpType

[0, 1]

0

CCM工作类型。

0: 自动模式 (OP_TYPE_AUTO);

1: 手动模式(OP_TYPE_MANUAL)。

CCMOverStr

[0, 255]

0

过饱和保护强度,值越大,保护强度越大,越不容易过曝。

CCMOverThr

[0, 255]

0

过饱和保护。过饱和判断阈值,值越大,越容易进入到过饱和保护状态。

ISOActEnable

[0, 1]

0

低照度下CCM Bypass功能使能。

0: 关闭。

1: 使能。

TempActEnable

[0, 1]

0

高低色温下CCM Bypass功能使能。

0: 关闭。

1: 使能。

CCMTabNum

[3, 7]

3

当前配置的CCM矩阵个数。

CCMTab[7].ColorTemp

[500, 30000]

5000

不同色温下的颜色校正矩阵对应的色温值。

CCM Tab[7].CCM[9]

[-8192, 8191]

1024

不同色温下的CCM矩阵系数。

SatEnable

[0, 1]

0

手动模式下,饱和度是否生效。

Manual.CCM[9]

[-8192, 8191]

1024

手动模式下,CCM矩阵系数。

RedCastGain

[1, 4095]

1024

手动设定白平衡红色通道增益。

GreenCastGain

[1, 4095]

1024

手动设定白平衡绿色通道增益。

BlueCastGain

[1, 4095]

1024

手动设定白平衡蓝色通道增益。

SaturationLE

[0, 255]

128

长曝饱和度

SaturationSE

[0, 255]

128

短曝饱和度

5.11.2.3. 调试步骤

请参考 CCM标定方法 章节完成CCM标定。接着,打开 SatEnable ,观察在不同光源下图像的饱和度是否如预期的变化。

5.12. Gamma

5.12.1. Gamma调试方法

5.12.1.1. 功能描述

Gamma主要是在图像的亮度空间进行非线性转换以适配输出显示设备。图像的R、G和B通道可以使用同一组Gamma表。Gamma表各节点之间的间距相同,并且使用线性插值方法生成节点之间的图像像素。当图像的对比度和通透性需要调优的时候,可以尝试先调节Gamma模块来改善。

5.12.1.2. 关键参数

表 5.20 Gamma关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

Gamma功能使能。

0: 关闭。

1: 使能。

CurveType

[0, 3]

2

Gamma曲线类型。

0: GAMMA_DEFAULT。

1: GAMMA_SRGB。

2: GAMMA_USER_DEFINE

3: GAMMA_AUTO

GammaCOEFFI

[0.01, 20]

1

用来控制Gamma曲线生成的形状。

SlopeAtZero

[0.01, 20]

20

用来控制Gamma零点附近的斜率大小。

Control PointsNum

[2, 32]

2

手动拖动曲线的点数

Auto Gamma

可以根据不同的环境亮度来设定不同的Gamma曲线。

GammaTabNum

[1, 5]

4

Auto Gamma table数量

5.12.1.3. GammaCOEFFI和SlopeAtZero参数说明

针对不同的场景,调节参数 GammaCOEFFI 来控制Gamma曲线的生成形状,使用参数 SlopeAtZero 来控制Gamma零点附近的斜率大小。

两个参数对于Gamma曲线形状的影响如下所示:

  • 在相同的 SlopeAtZero 的情况下,曲线在零点附近的斜率一致,而曲线的形状会随着参数 GammaCOEFF 的不同而不同,变化趋势如下图。

    _images/Module031.png

    图 5.23 GammaCOEFF对Gamma曲线的影响

  • 在相同的 GammaCOEFFI 的情况下,曲线整体的形状不变,只是在零点附近的斜率会随着参数 SlopeAtZero 的变化而不同,会有轻微偏移的现象。整体变化趋势如下图。

    _images/Module032.png

    图 5.24 SlopeAtZero对Gamma曲线的影响

5.12.1.4. 使用参数调试自定义曲线

步骤1. 在Gamma页面将 “CurveType” 切换成 “GAMMA_USER_DEFINE”。

步骤2. 直接在 “GammaCOEFFI” 和 “SlopeAtZero” 输入想要的数值。

步骤3. 可看到目前的Gamma曲线

步骤4. 可使用 ”Save”按钮将目前的Gamma曲线储存,以便之后加载使用。

_images/Module033.png

图 5.25 使用参数调适自定义曲线示意图

5.12.1.5. 使用控制点调试自定义曲线

步骤1. 在Gamma页面将 “CurveType” 切换成 “GAMMA_USER_DEFINE”。

步骤2. 如果之前有储存的Gamma曲线,可用 “Load” 按钮加载。

步骤3. 直接在 “Gontrol Point Num” 输入想要的控制点数量。

步骤4. 可直接用鼠标左键拖移Gamma 曲线上的控制点

步骤5. 可使用 “Save ” 按钮将目前的Gamma曲线储存,以便之后加载使用。

_images/Module034.png

图 5.26 使用控制点调适自定义义曲线示意图

5.13. Dehaze

5.13.1. Dehaze调试方法

5.13.1.1. 功能描述

去雾算法,也称为图像去雾或图像增强,旨在消除或减少图像中的雾霾或薄雾,以提高图像的清晰度和可见度,此处的做法是基于大气散射模型,利用DCI的映射方式,提供不同亮度下,对应的去雾效能。

5.13.1.2. 关键参数

表 5.21 Dehaze关键参数

参数

数值范围

默认值

描述

CurveMode

[0, 1, 2]

2

DCI工作类型。

0: 自动模式 (DCI_CURVE_AUTO)。

1: 手动模式 (DCI_CURVE_MANUAL)。

2: 去雾模式 (DCI_CURVE_DEHAZE)。

DehazeLight

[0, 255]

250

Dehaze的默认大气光亮度。

DehazeStrength

[0, 100]

60

用来控制Dehaze的强度。值越大,去雾强度越强,值为0时,dehaze关闭。

DehazeLut[6]

[0, 255]

[24,20,15,10,8,6]

列出由亮到暗的去雾程度,数值越高,去雾率越大,一般而言,越亮的区间,需要较高的去雾程度。

5.13.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.22 所列的模块已经调到一个合理的状态,且关键参数的默认值依照 表 5.21 来配置。

表 5.22 Dehaze预调试的相关模块

模块

状态/数值

WDR

Tuned (if enabled)

BLC

Tuned

AWB

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

LSC

Tuned

DRC

Tuned

Demosaic

Tuned

CCM

Tuned

Gamma

Tuned

Dehaze

Tuned (if enabled)

CLUT

Tuned (if enabled)

LDCI

Tuned

3DNR

Tuned

针对有雾场景的图像,根据需求调节参数 DehazeStrength ,若未知则依照建议的默认值来设定,改善整体图像的对比度和清晰度。原则上,除了 DehazeStrength ,其他参数依照建议的默认值配置即可。

Module058 说明

  • 去雾强度越大,图像整体对比度和色彩饱和度越高,可能会损失暗区的细节。因此,应根据实际场景做一个折衷的参数调试。

  • 备注:tool上dehaze的调试参数在dci页面。

5.13.1.4. Dehaze 细调参数

若想细调不同亮度对应的去雾程度,可以调节参数 DehazeLut 来符合更精确的去雾效果。

5.14. CLUT

5.14.1. CLUT标定方法

CLUT 标定是以用户所提供的 24 色卡或用户自定义的来源及目标色彩对,建立输入图像及目标图像间的 3D 映像表。CLUT 算法将对图像进行逐像素的映像,以满足用户对色彩调节的需求。标定的目的是藉由输入图像和目标图像的 RGB 对来决定 CLUT 对各种颜色的三维调动分量。

5.14.1.1. 环境及相关器材准备

  • 标准 24 色卡

  • 均匀光源 (D50 或 D65 灯箱)

  • 待标定装置及目标标定装置

  • 固定镜头,调整镜头与色卡的距离,使拍摄到的色卡覆盖成像屏幕的范围至少 1/2。

5.14.1.2. CLUT标定工具界面

将 ISP 标定工具的主功能标签页切换到 CLUT,即可看到 CLUT 标定的界面。

标定界面包含四个部分:

  • 图像控制区:进行 CLUT 标定时输入图像的控制功能 (红色框选区域)。

    其中包含的项目功能:

    1. 选择待标定图档 (图档可支持 jpg 或 bmp)

    2. 定位代标定图文件色块位置

    3. 选择目标图檔 (图档可支持 jpg 或 bmp)

    4. 定位目标图文件色块位置

  • 显示图像区: 显示读取的标定图档内容与色块范围 (蓝色框选区域)。

  • CLUT 控制区: 进行 CLUT 标定时的主要控件目 (橘色框选区域)。

    其中包含的按钮:

    1. 色彩选定钮,确认色块定位完成后,按下进行获取色块信息

    2. 亮度不变选项,可依输入的图像进行勾选 (如果不希望 CLUT 进行亮度的校正可以勾选此项目,内部算法可以进行调整以降低 CLUT 对亮度调教的作用。建议事先对待标定图文件与目标图文件进行亮度上的对标,以降低算法进行亮度对齐行为而对色块的影响。)

    3. 灰度不变选项。

    4. 校正钮,进行 CLUT 校正

    5. 写入校正数据,将校正后的 CLUT 信息写入板端

    6. 导入保存的校正数据,可直接write到板端生效

    7. 导出校正数据,将校正后的 CLUT 信息导出存盘

    8. hsl adjust,可对校正结果再进行h(颜色)、s(饱和度)、l(亮度)调整。(clut有设置默认值(没有目标图,用原图标定得到的结果),未进行标定步骤也可使用)

      Enable:使能开关。

      HByH:长度37的数组,将hue 36等分,可设置每个hue范围旋转的角度,取值范围[-30,30]。

      SByH:长度37的数组,将hue 36等分,可设置每个hue范围饱和度增益,50为一倍,取值范围[0,100]。

      LByH:长度37的数组,将hue 36等分,可设置每个hue范围亮度增益,50为一倍,取值范围[0,100]。

      SByS:长度21的数组,将饱和度20等分,可设置每个饱和度范围饱和度的增益,50为一倍,取值范围[0,100]。

  • RGB 色彩对区: 显示标定色块的色彩信息 (绿色框选区域)。

    1. Clear RGB:清除表格色块数据。

    2. Add RGB:可手动添加额外的色块数据。

    3. Import/Export RGB Data:导入/导出色块数据。

_images/Module038.png

图 5.27 CLUT标定工具界面

5.14.1.3. CLUT标定步骤

由于图像的亮度、白平衡、Gamma 曲线、CCM 参数及 shading 有可能会影响 CLUT 标定的准确度。所以在进行 CLUT 标定之前,必须要确保待标定装置和目标装置的 AWB、亮度及灰阶表现一致并进行 shading 校正再进行 CLUT 标定。

步骤1. 以 D50 或 D65 灯箱光源提供约 600lux 照度,以待标定装置拍摄及目标装置对着 24 色卡拍摄,档案的取得可以由 CviPQTool Preview 功能产生 BMP 档案或由后端串流程式进行图像的取得 (BMP 或 JPG 档案)。

Module053 标定原则: 建议由后端串流程式或是最终输出端取得图像以对标目标装置。

步骤2. 由于多数目标装置无法进行亮度微调的动作,而不同装置对于亮度的调教策略亦有所不同,所以我们需要针对待标定装置进行手动微调进而达到亮度对目标结果 (此一动作主要是让 CLUT 仅针对颜色色调进行校正不包含亮度校正,亮度的对齐需由其他模块进行调整),在进行亮度对目标动作时可以藉由 24 色卡内第 21色色块取得其 G 通道的值,调整待标定装置曝光功能进行微调 (如 EvBias 项目或是增益项目),待 21 色色块其 G 信道的值与目标装置截图趋近一致时即代表完成。

Module053 标定原则: 建议色卡的取得可以尽量挑选偏亮的场景。可以参考 24 色卡内第 19色色块,建议其 RGB 值均落在 240 以上,以取得较佳的校正成果。

步骤3. 点击 “Open Source Image” 与 “Open Target Image” 按钮,进行加载待标定装置及目标装置所拍摄之影像档案。

步骤4. 点击 “Edit Source ROIs” 与 “Edit Target ROIs” 按钮,进行待标定图像及目标图像的色块框选。

步骤5. 产生相对应的色彩对。按下 “Color Check 24” 按钮将上一阶段选定的色块信息萃取到 RGB 色彩对区。

步骤6. 亮度不变选项 “Luminance Invariant”,可依输入的图像进行勾选,此选项允许算法可以进行前处理,统一调整输入色块于亮度的部分对齐目标图色块,藉以降低 CLUT 对亮度调教的作用。

Module053 标定原则: 建议事先对待标定图文件与目标图文件进行亮度上的对标,并关闭此选项以降低算法进行亮度对齐动作而对色块的影响。

步骤7. 点击 “Calibration” 按钮,等待数分钟工具内部可产生 CLUT 标定参数。

步骤8. 将产生的 CLUT 套用至待标定装置确认色彩调节的效果 (透过 “Write calibration data” 按钮直接写入到板端) 或 “Export calibration data” 按钮汇出 CLUT 标定内容。

_images/Module017.jpg

图 5.28 标准24色卡第19号 (蓝圈处) 与第21号色块 (红圈处)

5.14.2. CLUT调试方法

5.14.2.1. 功能描述

提供喜好色调节功能,通过对线性RGB空间做17x17x17 3D LUT来达到对喜好色的调节,如绿色、蓝色、肤色的细化调节。

5.14.2.2. 关键参数

表 5.23 CLUT关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

CLUT模块使能。

0: 关闭。

1: 使能。

ClutR[17*17*17]

[0, 4095]

0

针对R channel调整。在R,G,B 值域范围分成16段。

ClutG[17*17*17]

[0, 4095]

0

针对G channel调整。在R,G,B 值域范围分成16段

ClutB[17*17*17]

[0, 4095]

0

针对B channel调整。在R,G,B 值域范围分成16段

5.14.2.3. 调试步骤

_images/Module039.png

图 5.29 CLUT处理流程图及关键参数

在做参数调试之前,请先确认 表 5.24 所列的模块已经完成调试,且关键参数的默认值依照 表 5.23 来配置。

表 5.24 CLUT预调试的相关模块

模块

状态/数值

BLC

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

MLSC

Tuned

AWB

Tuned

CCM

Tuned

GAMMA

Tuned

DCI

Tuned (if enabled)

CLUT Calibration

Tuned

5.15. PreSharpen

5.15.1. PreSharpen调试方法

5.15.1.1. 功能描述

PreSharpen模块用于增强图像清晰度,位于3DNR之前,可以锐化图像中的边缘和细节纹理。通过不同频段的多种强度组合,可以实现多种风格的清晰度增强效果,同时也可以根据特征值的大小、画面亮度的大小提供不同强度的锐化设定。也提供锐化后的白边(Over Shoot)与黑边(Under Shoot)的抑制功能。 调试此功能时,建议关闭3DNR后的Sharpen模块,以免得到不预期的效果。

5.15.1.2. 关键参数

表 5.25 PreSharpen关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

Pre-Sharpen模块使能。

0: 关闭。

1: 使能。

OpType

OP_TYPE_AUTO,

OP_TYPE_MANUAL

OP_TYPE_AUTO

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

TuningMode

[0, 15]

0

调整模式,输出可视化辅助信息。

6: Edge after Wo。

7: Edge after region_str。

9: Edge region。

ThinWgtUHF_HF

[0, 15]

4

Thin filter频率的第一轮融合调整。值越大,越偏向Ultra HF;值越小,越偏向HF。

ThinWgtAgainstSHF

[0, 15]

4

Thin filter频率的第二轮融合调整。值越大,越偏向第一轮融合调整的结果;值越小,越偏向Subtle HF。

RobustWgtHF_SHF

[0, 15]

4

Robust filter频率的第一轮融合调整。值越大,越偏向HF;值越小,越偏向Subtle HF。

RobustWgtAgainstMF

[0, 15]

4

Robust filter频率的第二轮融合调整。值越大,越偏向第一轮融合调整的结果;值越小,越偏向MF。

ThinWgtUHF_HF_HLD

[0, 15]

4

高亮纹理区Thin filter频率的第一轮融合调整。值越大,越偏向Ultra HF;值越小,越偏向HF。

ThinWgtAgainstSHF_HLD

[0, 15]

4

高亮纹理区Thin filter频率的第二轮融合调整。值越大,越偏向第一轮融合调整的结果;值越小,越偏向Subtle HF。

RobustWgtHF_SHF_HLD

[0, 15]

4

高亮纹理区Robust filter频率的第一轮融合调整。值越大,越偏向HF;值越小,越偏向Subtle HF。

RobustWgtAgainstMF_HLD

[0, 15]

4

高亮纹理区Robust filter频率的第二轮融合调整。值越大,越偏向第一轮融合调整的结果;值越小,越偏向MF。

RegionStrEn

[0, 1]

1

根据不同区域类型(平坦区、边缘区、纹理区)调整锐化强度功能使能。

ThinStr

[0, 255]

64

Thin filter强度调整。RegionStrEn = 1时,生效。值越大,强度越强;值越小,强度越小。

RobustStr

[0, 255]

64

Robust filter强度调整。RegionStrEn = 1时,生效。值越大,强度越强;值越小,强度越小。

FlatThr

[0, 1023]

40

平坦区判定阈值。

EdgeThr

[0, 1023]

240

边缘区判定阈值。

LumaThrHLD

[0, 1023]

600

高亮区判定阈值,亮度大于LumaThrHLD的部分,认为是高亮区。

FlatThrHLD

[0, 1023]

40

高亮区域的平坦区判定阈值。

EdgeThrHLD

[0, 1023]

240

高亮区域的边缘区判定阈值。

StrFlatSlope

[-32768, 32767]

0

控制平坦区锐化强度。RegionStrEn = 1时,生效。值越小,平坦区锐化越弱。

StrEdgeSlope

[-32768, 32767]

0

控制边缘区锐化强度。RegionStrEn = 1时,生效。值越大,边缘区锐化越强。

FlatStr

[0, 255]

64

限制平坦区锐化强度范围。当StrFlatSlope < 0时,决定平坦区锐化强度的最小值;当StrFlatSlope > 0时,决定平坦区锐化强度的最大值。

EdgeStr

[0, 255]

64

限制边缘区锐化强度范围。当StrEdgeSlope > 0时,决定边缘区锐化强度的最大值;当StrFlatSlope < 0时,决定边缘区锐化强度的最小值。

ThinWgtFlat

[0, 16]

0

控制平坦区Thin filter和Robust filter的融合比例。值越小,越偏向Robust filter,即平坦区的滤波结果越偏向Robust filter的结果。

ThinWgtEdge

[0, 16]

16

控制边缘区Thin filter和Robust filter的融合比例。值越大,越偏向Thin filter,即边缘区的滤波结果越偏向Thin filter的结果。

ThinWgtFlatHLD

[0, 16]

0

控制高亮区域平坦区Thin filter和Robust filter的融合比例。值越小,越偏向Robust filter,即平坦区的滤波结果越偏向Robust filter的结果。

ThinWgtEdgeHLD

[0, 16]

16

控制高亮区域边缘区Thin filter和Robust filter的融合比例。值越大,越偏向Thin filter,即边缘区的滤波结果越偏向Thin filter的结果。

SatShtCtrlEn

[0, 1]

1

由饱和度调整边缘增强的使能。

0: 关闭

1: 使能

HueShtCtrl[33]

[0, 63]

[16, …, 16]

基于指定的色彩做边缘增强

SatShtGainIn[4]

[0, 255]

[0, 8, 16, 192]

基于指定的饱和度做边缘增强,此为输入节点,输入饱和度。

SatShtGainOut[4]

[0, 128]

[0, 0, 128, 128]

基于指定的饱和度做边缘增强,此为输出节点,输出对应饱和度的边缘强度。

OverUnderShootEn

[0, 1]

1

OverShoot、UnderShoot调整的使能。

OvershootThr

[0, 255]

250

亮度阈值。亮度小于OvershootThr的部分,白边的强度由OshootWgtHigh决定。

OshootSlope

[0, 32767]

0

决定亮度大于OvershootThr部分的白边强度。值越大,随着亮度增加,白边强度降低越快。

OshootWgtHigh

[0, 511]

128

决定亮度小于OvershootThr部分的白边强度。值越大,白边强度越强。

UshootLumThrLow

[0, 255]

128

亮度阈值。亮度小于UshootLumThrLow的部分,黑边对应的强度为0。

UshootLumThrHigh

[0, 255]

255

亮度阈值。亮度大于UshootLumThrHigh的部分,黑边对应的强度由UshootLumClampWgt决定。

UshootLumClampWgt

[0, 255]

96

决定亮度大于UshootLumThrHigh部分的黑边强度。值越大,黑边强度越强。

UndershootThr

[0, 255]

5

亮度阈值。亮度大于UndershootThr的部分,黑边的强度由UshootWgtHigh决定。

UshootWgtHigh

[0, 511]

128

决定亮度大于UndershootThr部分的黑边强度。值越大,黑边强度越大。

UshootSlope

[0, 32767]

0

决定亮度小于UndershootThr部分的黑边强度。值越大,随着亮度降低,黑边强度降低越快。

UshootEngThrLow

[0, 255]

128

特征值阈值。特征值小于UshootEngThrLow的部分,黑边的强度由UshootEngClampWgt决定。

UshootEngThrHigh

[0, 255]

255

特征值阈值。特征值大于UshootEngThrHigh的部分,黑边的强度由UshootEngClampWgt决定。

UshootEngClampWgt

[0, 255]

0

决定特征值大于UshootEngThrHigh部分的黑边强度。值越大,黑边的强度于越强。

UshootLumEngStr

[0, 255]

1

决定黑边强度偏移量的放大倍数。值越大,放大倍数越大。

UshootLumEngNorm

[0, 255]

0

决定黑边强度偏移量的缩小倍数。值越大,缩小倍数越大。

LumLowThr

[0, 1023]

0

亮度阈值。亮度小于LumLowThr的部分,锐化强度为LumLowLut[0]。

LumHighThr

[0, 1023]

512

亮度阈值。亮度大于LumHighThr的部分,锐化强度按照LumHighLut[0]~LumHighLut[7]的设定逐渐变化。

LumLowStep

[0, 7]

2

控制锐度随亮度变化时,亮度上的步幅。亮度大于LumLowThr且小于LumHighThr的部分,步幅由LumLowStep控制。

LumHighStep

[0, 7]

2

控制锐度随亮度变化时,亮度上的步幅。亮度大于LumHighThr的部分,步幅由LumHighStep控制。

LumLowLut

[0, 255]

[32, 45, 53, 64, 64, 64, 64, 64]

控制锐度强度。亮度大于LumLowThr且小于LumHighThr的部分,随亮度增加,锐度强度按照LumLowLut[0]~LumLowLut[7]的设定逐渐变化。

LumHighLut

[0, 255]

[64, 64, 64, 64, 64, 64, 64, 64]

控制锐度强度。亮度大于LumHighThr的部分,锐化强度按照LumHighLut[0]~LumHighLut[7]的设定逐渐变化。

EdgeLowThr

[0, 1023]

0

锐化幅度阈值。锐化幅度小于EdgeLowThr的部分,锐化强度为EdgeLowLut[0]。

EdgeHighThr

[0, 1023]

512

锐化幅度阈值。锐化幅度大于EdgeHighThr的部分,锐化强度按照EdgeHighLut[0]~EdgeHighLut[7]的设定逐渐变化。

EdgeLowStep

[0, 7]

2

控制锐化强度随锐化幅度变化时,锐化幅度上的步幅。锐化幅度大于EdgeLowThr且小于EdgeHighThr的部分,步幅由EdgeLowStep控制。

EdgeHighStep

[0, 7]

2

控制锐化强度随锐化幅度变化时,锐化幅度上的步幅。锐化幅度大于EdgeHighThr的部分,步幅由EdgeHighStep控制。

EdgeLowLut

[0, 255]

[255, 255, 255, 255, 255, 255, 255, 255]

控制锐化强度。锐化幅度大于EdgeLowThr且小于EdgeHighThr的部分,随锐化幅度增加,锐度强度按照EdgeLowLut[0]~EdgeLowLut[7]的设定逐渐变化。

EdgeHighLut

[0, 255]

[255, 245, 230, 210, 185, 155, 125, 95]

控制锐化强度。锐化幅度大于EdgeHighThr的部分,锐化强度按照EdgeHighLut[0]~EdgeHighLut[7]的设定逐渐变化。

5.15.1.3. 调试步骤

5.15.1.3.1. 整体锐化流程

整体锐化的流程圖

_images/Module_0412.png

在做参数调试之前,请先确认 表 5.26 所列的模块已经完成调试,且关键参数的默认值依照 表 5.25 来配置。

表 5.26 PreSharpen 预调试的相关模块

模块

状态/数值

BLC

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

LSC

Tuned

CCM

Tuned

BNR

Tuned

AWB

Tuned

DRC

Tuned

Demosaic

Tuned

Gamma

Tuned

LDCI

Tuned

DCI

Tuned

3DNR

Tuned

Sharpen

Disabled

5.15.1.3.2. 物体边缘分类

本算法可以根据不同的区域类型,提供不同频率的锐化比重物体边缘类型,分别进行锐化强度控制。 物体边缘分类可以通过FlatThr、EdgeThr、LumaThrHLD、FlatThrHLD、EdgeThrHLD调整。可以划分为平坦区、纹理区、边缘区以及高亮纹理区。亮度大于 LumaThrHLD 、特征值大于 FlatThrHLD 且小于 EdgeThrHLD 的区域为高亮纹理区。对于非高亮纹理区的区域,再通过 FlatThrEdgeThr 分为平坦区、纹理区、边缘区,其中特征值小于FlatThr的区域为平坦区,特征值大于EdgeThr的区域为边缘区,其余区域为纹理区。

不同物体边缘分类的锐化强度,可以通过 StrFlatSlopeStrEdgeSlopeFlatStrEdgeStr 调整。如 图 5.30 所示。另外,高亮纹理区的锐化强度固定为64。

_images/Module00041.png

图 5.30 特征值-锐化强度趋势图

Thin filter为最终的细边强化滤波器,Robust filter为粗边强化滤波器,可以通过以下参数分别控制锐化粗/细的程度。高亮纹理区和非高亮纹理区分别由 ThinWgtUHF_HF_HLD/ThinWgtAgainstSHF_HLD/RobustWgtHF_SHF_HLD/RobustWgtAgainstMF_HLDThinWgtUHF_HF/ThinWgtAgainstSHF/RobustWgtHF_SHF/RobustWgtAgainstMF 决定。

另外,Thin filter和Robust filter的强度可以独立控制,ThinStr 越大,Thin filter强度越大,锐化越强;RobustStr 越大,Robust filter强度越大,锐化越强。

5.15.1.3.3. 根据不同的物体边缘类型,调整不同的边缘强化风格

调整粗边及细边的粗细程度

_images/Module_0415.png

通过对不同频段的滤波器给予不同的权重,分别调整最终粗边及细边的粗细程度

根据边缘类型,调整粗边强化及细边强化的比例

根据特征值强度不同,此算法可以自由选择以细边或是以粗边的方式对影像进行强化。Thin filter的强化的物体边缘较细致,Robust filter强化的边缘较粗。可以根据需求,在不同类型的区域,选择不同风格的锐化效果。高亮纹理区的锐化风格由 ThinWgtFlatHLDThinWgtEdgeHLD 决定,非高亮纹理区的锐化风格由 ThinWgtFlatThinWgtEdge 决定。如 图 5.31 所示,其中Weighting决定Thin filter和Robust filter融合比例,值越大,越偏向Thin filter的滤波结果。

_images/Module000041.png

图 5.31 特征值-Weighting趋势图

依照spatial region 的wt來blending robust/thin edge的比重。

5.15.1.3.4. 最终微调

根据颜色信息调整锐化强度

SatShtGainIn[4]SatShtGainOut[4] 决定不同饱和度下的锐化强度,4个节点可调。 HueShtCtrl[33] 决定不同色调下的锐化强度,33个节点可调。

白边抑制的调整

可以根据亮度的不同,应用不同的白边强度。相关设定: OvershootThrOshootSlopeOshootWgtHigh,如 图 5.32 所示。

_images/Module0000041.png

图 5.32 亮度-OverShoot强度趋势图

黑边抑制的调整

黑边强度的基础值由 UndershootThrUshootWgtHighUshootSlope 决定,如 图 5.33 所示。

_images/Module00000041.png

图 5.33 亮度-UnderShoot基础强度趋势图

黑边的基础强度值还可以根据亮度不同、特征值不同做不同程度的偏移。如 图 5.34图 5.35 所示。

_images/Module000000041.png

图 5.34 亮度-UnderShoot基础强度偏移量1趋势图

_images/Module0000000041.png

图 5.35 特征值-UnderShoot基础强度偏移量2趋势图

总偏移量 = 偏移量1*偏移量2,所以任何一个偏移量为0时,总偏移量都为0。

总偏移量还可以通过 UshootLumEngNormUshootLumEngStr 做缩放。UshootLumEngStr为放大系数,为0时,总偏移量为0;值越大,放大倍数越大。UshootLumEngNorm为缩小系数,为0时,表示不做缩小;值越大,缩小倍数越大。

锐化强度微调(Edge refine)

根据亮度(Lum)/銳化幅度(Edge)的不同,各別调整其銳化强度

根据亮度不同,调整锐化强度,相关设定有: LumLowThrLumHighThrLumLowStepLumHighStepLumLowLutLumHighLut

黑白边一般是由于锐化幅度过大,降低锐化幅度比较大的区域的锐化强度,可以有效抑制黑白边。相关设定有: EdgeLowThrEdgeHighThrEdgeLowStepEdgeHighStepEdgeLowLutEdgeHighLut

5.16. 3DNR

5.16.1. 3DNR调试方法

5.16.1.1. 功能描述

3DNR主要是在YUV domain进行去噪处理。对物体的运动程度进行等级划分,根据运动状态建立去噪模型。3DNR采用运动补偿的方法,在时域降噪有效抑制跳动噪声的同时,避免产生运动拖影、透图等时域图像问题。

5.16.1.2. 关键参数

表 5.27 3DNR关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

1

3DNR模块使能:

0: 关闭。

1: 使能。

EnOpType

OP_TYPE_AUTO,

OP_TYPE_MANUAL

OP_TYPE_AUTO

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

WarpEdge

[0, 63]

[7, 7, 7, 7, 7, 7, 6, 6]

细节区域的噪声增加权重参数。值越大对噪声容忍程度越大,此时受噪声扰动的静止区域较容易被判定为静止状态。值过大会使微小移动区域被误判为静止。可以分亮度设置不同的值。

WarpBase

[0, 16383]

[50, 40, 40, 40, 30, 30, 30, 30]

平坦区域的噪声偏移量参数。

WarpStd

[0, 16383]

[25, 25, 25, 25, 25, 25, 25, 25]

控制运动状态判断的基数,值越大,对噪声的容忍程度越大,越不容易被判断为运动区。可以分亮度设置不同的值。

WarpStdRange

[0, 32]

[8, 16]

根据运动补偿建立噪声模型时,控制运动状态判断的系数。WarpStdRange[0]:控制静止区与转换区的系数,值越大,越多的区域被判断为静止区;WarpStdRange[1]:控制转换区与运动区的系数,值越大,越多的区域被判断为转换区。WarpStdRange[0]需小于WarpStdRange[1]。

AcbdEdgeAdj

[0, 16]

[4, 3, 4, 4]

粗调节不同光流值的惩罚系数,对应的值越大,越不信任该光流值。AcbdEdgeAdj[0]~AcbdEdgeAdj[3]分别控制当前帧光流值、前一帧当前块光流值、前一帧非当前块光流值、随机光流值的惩罚值。

AcbdSadAdj

[0, 1023]

[20, 0, 40, 60]

细调节不同光流值的置信度惩罚参数,对应的值越大,越不信任该光流值。对应关系同AcbdEdgeAdj。

WarpB0

[0, 16383]

[100, 100, 100, 200, 200, 200, 300, 300]

当前后帧差异小于WarpB0时,认为该区域为静止区。值越大,越容易判定为静止。

L0YSigmaStr

[0, 255]

[8, 4, 2]

L0滤波,Y通道第一级时域滤波强度。值越大,滤波强度越强。L0YSigmaStr[0]~L0YSigmaStr[2]分别对应静止区、转换区、运动区的滤波强度。

L0UVSigmaStr

[0, 255]

[4, 2, 1]

L0滤波,UV通道第一级时域滤波强度。参数趋势同L0YSigmaStr。

L1SpaGlobalStr

[0, 65535]

500

L1滤波,空域滤波强度基值。值越大,滤波强度越强。

L1TmpGlobalStr

[0, 65535]

500

L1滤波,时域滤波强度基值。值越大,滤波强度越强。

L1LumaAdj

[0, 255]

[16, 16, 16, 16, 16, 16, 16, 16]

L1滤波,分亮度设置不同的滤波强度,时域滤波和空域滤波共用同一组设定。值越大,滤波强度越强。L1LumaAdj[0]~L1LumaAdj[7]表示从暗区到亮区的滤波强度。

L1FTJndAdj

[0, 255]

[150, 32, 0]

L1滤波,时域滤波分运动状态设置不同的滤波强度。参数趋势同L1FSJndAdj。

L2YLut

[0, 127]

[0, 4, 16, 30, 35, 41, 49, 57]

L2滤波,Y通道降噪强度控制。值越小,残留的时域噪声越小。值过小,容易造成拖影以及噪声收敛慢。

L2UVLut

[0, 255]

[150, 32, 0]

L2后滤波,UV通道降噪强度控制。值越小,残留的时域噪声越小。

L2UVDampStr

[0, 255]

[128, 32]

L2后滤波,UV通道降噪分运动状态设置不同的滤波强度。参数趋势同L2YDampStr。

L12NrYEN

[0, 1]

1

前中后滤波的Y通道处理使能。

0: 关闭。

1: 使能。

L2UVNrEN

[0, 1]

1

后滤波的UV通道处理使能。

0: 关闭。

1: 使能。

5.16.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.28 所列的模块已经调到一个合理的状态,且关键参数的默认值依照 表 5.27 来配置。

表 5.28 3DNR预调试的相关模块

模块

状态/数值

WDR

Tuned (if enable)

BLC

Tuned

AWB

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

LSC

Tuned

DRC

Tuned

Demosaic

Tuned

CCM

Tuned

Gamma

Tuned

Dehaze

Tuned (if enable)

CLUT

Tuned (if enable)

LDCI

Tuned

DCI

Tuned

PreSharpen

Tuned

Sharpen

Tuned

运动侦测:调整运动侦测的准确性

调试时可将辅助调试设为2,提升调试效率。

建议调试流程:

  • 调整L0YPSSBlur

    L0YPSSBlur是前处理中高斯滤波强度参数。 在高ISO条件下,建议使用较强的滤波强度,以提升运动向量预测的准确度。然而,过强的前处理滤波强度也容易导致细节区域的运动向量预测错误,低ISO条件下建议减弱或关闭此参数。 此参数设置建议随着ISO提升而适当增加。

  • 调整WarpBase

    WarpBase是平坦区域的噪声偏移量参数。 根据不同亮度区间,将参数调整至平坦区域不会出现过多Debug色彩标识(过渡区或运动区)的最小值。随着ISO提升,此参数值也应适当增加。 WarpBase可以理解为线性模型的噪声偏置,WarpEdge可以简单理解为线性模型下对Edge的权重,二者共同作用对运动状态的判定产生影响。

  • 调整WarpEdge

    WarpEdge是细节区域的噪声增加权重参数。 根据不同亮度区间,将参数调整至细节区域不会出现过多Debug色彩标识(过渡区或运动区)。随着ISO提升,此参数值也应适当增加。

  • 调整WarpStd及WarpStdRange

    WarpStd参数可根据不同亮度区间设置噪声离散范围大小。 根据不同亮度区间,将参数调整至细节区域不会出现过多Debug色彩标识(过渡区或运动区)。不建议设置过大,以避免移动物体无法被正确分类为运动区。随着ISO提升,此参数值也应适当增加。 WarpStdRange参数控制过渡区与运动区噪声离散范围的比例。参数间关系必须保持:WarpStdRange[0] < WarpStdRange[1]。 通常情况下,建议使用默认值,此参数在不同ISO条件下变化不大。

光流运动估计

建议调试流程:

  • 调整置信度AcbdSadAdj

    3DNR算法采用四类区块的光流值做为候选,AcbdSadAdj[0] ~ [3]分别是各类区块的置信度修正参数,此值越大,此一类光流估计结果的置信度越低。

  • 调整细节/噪声比AcbdEdgeAdj

    调整细节噪声比有助于光流算法分辨当前提取的是纹理细节还是噪声。低ISO下,Edge值(细节)大, 噪声小,因此比值较大。高ISO下Edge值与噪声值较不容易分辨,因此比值较小。细节噪声比会影响计算光流时的置信度,值越大置信度越低。 在高ISO条件下,为避免噪声影响运动向量预估,建议将AcbdSadAdj设置为较大值。 此参数设置建议随着ISO提升而适当增加。

  • 调整FlowJndTh

    运动向量的长度会对运动状态进行一个重新校正,降低此值可以使大面积运动物体内部的运动检测更完整,降低物体破碎情形。预设值为3,不建议做过大的调整。

5.17. CNR

5.17.1. CNR调试方法

CNR (Color Noise Reduction) 实现色噪抑制功能。

5.17.1.1. 功能描述

CNR主要是在YUV domain进行去色噪处理。自适应计算图像中物体边缘方向,沿方向进行去噪,达到在抑制色噪的同时,避免物体边缘发生溢色现象。

5.17.1.2. 关键参数

表 5.29 CNR关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

CNR模块使能。

0: 关闭。

1: 使能。

OpType

[0, 1]

0

CNR工作类型。

0: 自动模式(OP_TYPE_AUTO)。

1: 手动模式(OP_TYPE_MANUAL)。

MedianFltEnable

[0, 1]

1

UV通道预滤波处理使能。Enable = 1时生效。

0: 关闭。

1: 使能。

SubImgNrEdgeDirPN

[0, 255]

11

正(负)45度方向判断阈值。值越大,越容易判断为无方向。值过大,容易造成边缘渗色问题。

SubImgNrEdgeDirHV

[0, 255]

11

水平/垂直方向判断阈值。值越大,越容易判断为无方向。值过大,容易造成边缘渗色问题。

SubImgNrDirFltThrU

[0, 255]

[4, 8, 12, 16, 20]

和SubImgNrDirFltStrU共同控制U通道的降噪强度。

SubImgNrDirFltStrU

[0, 16]

[16, 8, 4, 2, 1, 0]

和SubImgNrDirFltThrU共同控制U通道的降噪强度。

SubImgNrDirFltThrV

[0, 255]

[4, 8, 12, 16, 20]

和SubImgNrDirFltStrV共同控制V通道的降噪强度。

SubImgNrDirFltStrV

[0, 16]

[16, 8, 4, 2, 1, 0]

和SubImgNrDirFltThrV共同控制V通道的降噪强度。

CnrBypass2

[0, 1]

0

根据亮度差、饱和度、色差、运动状态调整CNR强度的功能使能。

0: 使能。

1: 关闭。

CnrSatPrtThr

[0, 31]

[4, 8, 12, 16, 20]

低饱和度阈值。饱和度低于CnrSatPrtThr的部分,CNR强度由CnrSatStrH控制。

CnrSatStrH

[0, 32]

16

控制低饱和度区域的CNR强度。值越大,去噪强度越大。

CnrSatStrT

[0, 32]

0

控制高饱和度区域的CNR强度。值越大,去噪强度越大。

CnrSatRange

[0, 3]

2

控制高饱和阈值。值越大,高饱和阈值越大,CnrSatStrH对高饱和区域的影响范围越大。

CnrUVThr

[0, 32]

0

低色差阈值。色差低于CnrUVThr的部分,CNR强度由CnrUVStrH控制。

CnrUVStrH

[0, 64]

32

控制低色差区域的CNR强度。值越大,去噪强度越大。

CnrUVStrT

[0, 64]

0

控制高色差区域的CNR强度。值越大,去噪强度越大。

CnrUVRange

[0, 4]

2

控制高色差阈值。值越大,高色差阈值越大,CnrUVStrH对高色差区域的影响范围越大。

CnrYThr

[0, 31]

0

亮度差阈值。亮度差低于CnrYThr的部分,CNR强度由CnrYStrH控制。

CnrYStrH

[0, 32]

16

控制亮度差异较小的区域的CNR强度。值越大,去噪强度越大。

CnrYStrT

[0, 32]

0

控制亮度差异较大的区域的CNR强度。值越大,去噪强度越大。

CnrYRange

[0, 3]

2

亮度差阈值。值越大,高亮度差阈值越大,CnrYStrH对高亮度差区域的影响范围越大。

CnrByMotion

[0, 31]

[31, 16, 8]

控制不同运动状态下的CNR强度。CnrByMotion[0]~CnrByMotion[2]分别对应静止区、转换区、运动区。

5.17.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.30 所列的模块已经完成调试,且关键参数的默认值依照 表 5.29 来配置。

表 5.30 CNR预调试的相关模块

模块

状态/数值

BLC

Tuned

DPC

Tuned

CrossTalke Removal

Tuned

LSC

Tuned

BNR

Tuned

Demosaic

Tuned

Gamma

Tuned

CCM

Tuned

AWB

Tuned

Dehaze

Tuned (if enabled)

CLUT

Tuned (if enabled)

LDCI

Tuned

DCI

Tuned

PreSharpen

Tuned

3DNR

Tuned

调整整体去噪强度

CNR模块通过双边滤波处理对UV通道做整体的降噪处理。相关参数有 SubImgNrDirFltThrUSubImgNrDirFltStrUSubImgNrDirFltThrVSubImgNrDirFltStrV,如 图 5.36 所示。其中diff为邻域像素值和当前点值的差值,weighting表示对应的权重。一般参数趋势为:diff值越大,对应的weighting越小。Thr0~Thr4、Str0~Str5即为SubImgNrDirFltThrU/V[0]~[4]、SubImgNrDirFltStrU/V[0]~[5]。滤波强度越大,去色噪能力越强。但如果强度过大,则会造成渗色、饱和度损失等颜色问题。调试时,逐渐增强滤波强度,直到色噪刚好处理得比较干净。

_images/Module0450.png

图 5.36 双边滤波强度

注意:这个阶段的调试,可以将CnrBypass2设置为Enable,避免后面的处理影响图像观测结果。

根据亮度差、色差、饱和度、运动状态调整去噪强度

该阶段可以根据参考帧和当前帧的亮度差异、色度差异设置不同的去噪强度。还可以根据参考饱和度以及运动状态设置不同的去噪强度。

亮度差-去噪强度曲线如 图 5.37 所示。其中,CnrYHiThr = 2^(CnrYRange + 3)。

_images/Module04500.png

图 5.37 亮度差-去噪强度趋势图

色差-去噪强度曲线如 图 5.38 所示。其中,CnrUVHiThr = 2^(CnrUVRange + 3)。

_images/Module045000.png

图 5.38 色差-去噪强度趋势图

参考饱和度-去噪强度曲线如 图 5.39 所示。其中,CnrSatHiPrtThr = 2^(CnrSatRange + 3)。

_images/Module0450000.png

图 5.39 参考饱和度-去噪强度趋势图

CnrByMotion[0] ~ CnrByMotion[2] ,分别控制静止区、转换区、运动区的去噪强度。

5.18. CA

5.18.1. CA调试方法

5.18.1.1. 功能描述

CA 模块主要在 YUV domain 做色域调整的工作,支持两种不同的模式,CA模式和CP模式。CA模式提供色度 (U, V) 的映射调整,可以根据亮度 Y 和 ISO值决定UV的增益,进而达到调整局部饱和度的目的,使得亮处的颜色更鲜艳,同时降低暗处的色噪。CP模式则是一般使用在热成像上色,而热成像本身只有亮度信息,CP模式可直接由亮度Y查找对应的一组YUV输出值。

5.18.1.2. 关键参数

表 5.31 CA关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

CA模块使能。

0: 关闭。

1: 使能。

CaCpMode

[0, 1]

0

CA 模式选择:

0: CA 模式。

1: CP 模式。

ISORatio

[0, 2047]

128

CA模式,根据ISO值查找UV的增益。所有像素点的UV调整增益都是相同的,建议在低ISO的时候此增益可以设置大一些,而高ISO时此增益值可以设定小一些,来抑制暗区的色噪。

YRatioLut[256]

[0, 2047]

128

CA模式,根据亮度Y查找UV的增益。此值根据不同亮度等级可设置不同的UV增益,建议在亮区的增益可以设置大一些,颜色会较为鲜艳,而暗区的增益可以设置小一些,来抑制暗区色噪。

CPLutY[256]

[0, 255]

CP模式,根据亮度Y查找LUT对应的Y值。

CPLutU[256]

[0, 255]

CP模式,根据亮度Y查找LUT对应的U值。

CPLutV[256]

[0, 255]

CP模式,根据亮度Y查找LUT对应的V值。

5.18.1.3. 注意事项

CA模式和CP模式只能开其中一个,不能同时使用。

5.19. DCI

5.19.1. DCI调试方法

5.19.1.1. 功能描述

人眼视觉对于对比度比亮度更加敏感。图像在经过整个ISP pipeline处理后的结果往往造成图像对比度不足,因而减少在亮区或暗区的细节。DCI是一个基于直方图均衡的方法,可以增强整体图像的对比度,同时可调节参数保留更多的亮区和暗区细节。

5.19.1.2. 关键参数

表 5.32 DCI关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

DCI模块使能。

0: 关闭。

1: 使能。

CurveMode

[0, 1]

1

DCI工作类型。

0: 自动模式 (DCI_CURVE_AUTO)。

1: 手动模式 (DCI_CURVE_MANUAL)。

2: 去雾模式 (DCI_CURVE_DEHAZE) 定義在:5.13 Dehaze 。

DciStrength

[0, 8192]

50

自动模式下生效。用来控制DCI的强度。值越大,对比度越大。

DciGamma

[10, 31]

10

手动模式下生效。用来控制亮度抬升程度。值越大,亮度抬升程度越大。

DciOffset

[1, 15]

1

手动模式下生效。DciOffset以内保持线性。

DciContrast

[0, 3]

2

手动模式下生效。用来控制对比度强度,值越大,对比度越大。

Control Points Num

[2, 32]

2

手动模式下生效,手动拖动曲线的点数。

Speed

[0, 500]

30

DCI曲线时间域上变化的平顺度。数值越大,时间域变化越平顺,反之,则变化越快。

Sensitivity

[0, 255]

0

DCI灵敏程度。值越大,越灵敏,cpu资源消耗越大。

5.19.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.33 所列的模块已经调到一个合理的状态,且关键参数的默认值依照 表 5.32 来配置。

表 5.33 DCI预调试的相关模块

模块

状态/数值

WDR

Tuned (if enabled)

BLC

Tuned

AWB

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

LSC

Tuned

DRC

Tuned

Demosaic

Tuned

CCM

Tuned

Gamma

Tuned

Dehaze

Tuned (if enabled)

CLUT

Tuned (if enabled)

LDCI

Tuned

3DNR

Tuned

调试原则: 对于自动模式,通过 DciStrength 调整对比度强度即可。 对于手动模式,可以先通过 DciGammaDciContrastDciOffset 确定一条基本的亮度映射曲线。如果此时还想对个别亮度进行调整,可以调高 Control Points Num 。基于之前生成的基本曲线,调整控制点,做更精细的调整。

注意: 若画面出现闪烁现象,可先关掉DCI功能,再观察确认是否仍有此现象。若有,则可以通过参数 Speed 来解决。其数值越大,DCI 在时间间域上变化的平顺度越好,画面越不会闪烁。

5.20. LDCI

5.20.1. LDCI调试方法

5.20.1.1. 功能描述

人眼视觉对于对比度比亮度更加敏感。图像在经过整个ISP pipeline处理后的结果往往造成图像对比度不足,因而减少在亮区或暗区的细节。LDCI是一个基于对图像分块统计的方法,增强图像的局部对比度。

5.20.1.2. 关键参数

表 5.34 LDCI关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

LDCI模块使能。

0: 关闭。

1: 使能。

OpType

[0, 1]

0

LDCI工作类型。

0: 自动模式 (OP_TYPE_AUTO)。

1: 手动模式 (OP_TYPE_MANUAL)。

LdciStrength

[0, 255]

[20,80,128,128,128,128,96,64,64]

根据不同的亮度,做不同强度的对比度拉升。

AdaptiveGainMax

[0, 255]

24

根据当前点亮度与局部平均亮度的差异,做不同强度的对比度拉升。值越大,亮度差异大的点,对比度拉升程度越大。

AdaptiveGainMin

[0, 255]

40

根据当前点亮度与局部平均亮度的差异,做不同强度的对比度拉升。值越大,亮度差异小的点,对比度拉升程度越大。

FBCStrength

[0, 31]

2

逆光人脸保护功能。0表示功能不开启;非0表示功能开启,并且值越小,人脸亮度保护程度越大。

5.20.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.35 所列的模块已经调到一个合理的状态,且关键参数的默认值依照 表 5.34 来配置。

表 5.35 LDCI预调试的相关模块

模块

状态/数值

WDR

Tuned (if enabled)

BLC

Tuned

AWB

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

LSC

Tuned

DRC

Tuned

Demosaic

Tuned

CCM

Tuned

Gamma

Tuned

Dehaze

Tuned (if enabled)

CLUT

Tuned (if enabled)

3DNR

Tuned

步骤1. 首先, 调整 LdciStrength ,根据图像在不同亮度下的表现,做不同程度的对比度拉升。一般暗区的值会比较小,避免增强噪声。

步骤2. 调节 AdaptiveGainMinAdaptiveGainMax ,Gain越大,对比度越强。

  • 强度Gain-亮度差异曲线变化趋势图

_images/Module049.png

步骤3. 根据逆光人脸的表现,调整 FBCStrength ,直到人脸亮度满足需求。

5.21. CA_Lite

5.21.1. CA_Lite调试方法

5.21.1.1. 功能描述

CA_Lite模块可以根据饱和度值决定UV的增益值,进而达到调整局部饱和度的目的,尤其可用来降低图像的色噪,让视觉感受更好,也可根据使用者喜好来调适饱和度,使整体画面看起来更舒适。

5.21.1.2. 关键参数

表 5.36 CA_Lite关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

CA_Lite模块使能。

0: 关闭。

1: 使能。

Ca2In[6]

[0, 192]

[ 4 , 8 , 1 2 , 1 8 , 3 2 , 1 9 2 ]

由六个数值组成的数组,决定输入饱和度等级。

Ca2Out[6]

[0, 2047]

[ 1 2 8 , 1 2 8 , 1 2 8 , 1 2 8 , 1 2 8 , 1 2 8 ]

由六个数值组成的数组,定义输出的UV增益。根据输入饱和度查找UV的增益,值越大,饱和度越高;反之,则越小。

5.21.1.3. 调试步骤

针对色彩噪声特别明显的场景WDR效果下过于饱和的区域,可根据需求调节参数 CA2In[6]CA2Out[6] ,分别针对每个输入饱和度的范围,决定其对应的UV增益,改善整体图像的饱和度,使视觉感受更舒适。

5.22. Sharpen

5.22.1. Sharpen调试方法

5.22.1.1. 功能描述

Sharpen模块用于增强图像清晰度,主要用于增强图像中的大边缘。通过不同算子的滤波结果组合,实现不同区域清晰度增强强度不同。有效增强边缘清晰度的同时,抑制噪声。同时也提供锐化后的白边白点(Over Shoot)与黑边黑点(Under Shoot)抑制。

5.22.1.2. 关键参数

表 5.37 Sharpen关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

Sharpen模块使能。

0: 关闭。

1: 使能。

OpType

OP_TYPE_AUTO,

OP_TYPE_MANUAL

OP_TYPE_AUTO

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

EE1CoringThr

[0, 255]

2

Edge weight的coring值。Edge weight小于EE1CoringThr的部分,认为是噪声产生的强度值,这部分的锐化强度为0。

NoiseLut

[0, 255]

[35, 35, 35, 35, 35, 32, 30, 28, 26, 24, 22, 20, 18, 16, 16, 16, 16]

噪声强度设定。根据亮度不同,设置不同的噪声强度。噪声强度越大,锐化强度越小。

NoiseBase

[0, 255]

25

整体的噪声强度。噪声强度越大,锐化强度越小。

EE1FlatThr

[0, 2047]

250

平坦区判定阈值。

EE1EdgeThr

[0, 2047]

350

边缘区判定阈值。

EE1FlatRegionStr

[0, 255]

128

控制平坦区的锐化强度。值越大,锐化强度越大。

EE1EdgeRegionStr

[0, 255]

128

控制边缘区的锐化强度。值越大,锐化强度越大。

MotionEn

[0, 1]

1

根据运动状态不同,调整锐化强度的使能开关。

EE1MotionStr

[0, 255]

127

控制锐化强度。当MotionEn = 0时,影响整体的锐化强度;当MotionEn = 1时,影响运动区的锐化强度。值越大,锐化强度越大。

EE1StaticStr

[0, 255]

255

控制静止区的锐化强度。MotionEn = 1时生效,值越大,静止区的锐化强度越大。

EE1TransStr

[0, 255]

255

控制转换区的锐化强度。MotionEn = 1时生效,值越大,转换区的锐化强度越大。

EE2BalanceRatio

[0, 255]

64

两种亮度(原始亮度、原始亮度degamma)下滤波结果的融合权重。值越小,越偏向原始亮度的滤波结果。

EE2CoringThr

[0, 255]

0

边缘特征值阈值。特征值小于EE2CoringThr的部分,认为是噪声,锐化强度为0。

EE2SharpStr

[0, 255]

60

锐化强度系数。值越大,锐化强度越大。

SatShtCtrlEn

[0, 1]

1

由饱和度调整边缘增强的使能

0: 关闭

1: 使能

HueShtCtrl[33]

[0, 63]

基 于指定的色彩做边缘增强

SatShtGainIn[4]

[0, 255]

[0, 8, 16, 192]

基于指定的饱和度做边缘增强,此为输入节点,输入饱和度。

SatShtGainOut[4]

[0, 128]

[0, 0, 128, 128]

基于指定的饱和度做边缘增强,此为输出节点,输出对应饱和度的边缘强度。

OverShootRatio

[0, 255]

32

白边抑制。值越小,白边抑制程度越大。

UnderShootRatio

[0, 255]

96

黑边抑制。值越小,黑边抑制程度越大。

5.22.1.3. 调试步骤

在做参数调试之前,请先确认 表 5.38 所列的模块已经完成调试,且关键参数的默认值依照 表 5.37 来配置。

表 5.38 Sharpen 预调试的相关模块

模块

状态/数值

BLC

Tuned

DPC

Tuned

CrossTalk Removal

Tuned

LSC

Tuned

CCM

Tuned

BNR

Tuned

AWB

Tuned

DRC

Tuned

Demosaic

Tuned

Gamma

Tuned

LDCI

Tuned

DCI

Tuned

PreSharpen

Tuned

3DNR

Tuned

整体锐化强度的调整

调整 EE2SharpStr,确定锐化的整体强度。

噪声模型的调整

先调整 NoiseBase 确定整体的噪声水平。然后调整 NoiseLut ,一般暗区的噪声水平偏大,亮度越大,噪声水平逐渐降低。噪声水平越大,锐化强度越小。

根据区域类型不同,设置不同的锐化强度

调整 EE1FlatThrEE1EdgeThr,特征值小于EE1FlatThr的区域将被判定问平坦区,特征值大于EE1EdgeThr将被判定为边缘区,其余区域为纹理区。然后调整 EE1FlatRegionStrEE1EdgeRegionStr,分别决定平坦区、边缘区的锐化强度。如 图 5.40 所示。

_images/Module04111.png

图 5.40 特征值—锐化强度趋势图

根据颜色信息调整锐化强度

SatShtGainIn[4]SatShtGainOut[4] 决定不同饱和度下的锐化强度,4个节点可调。 HueShtCtrl[33] 决定不同色调下的锐化强度,33个节点可调。

根据运动状态调整锐化强度

MotionEn 设为1,通过 EE1MotionStrEE1TransStrEE1StaticStr 分别控制运动区、转换区、静止区的锐化强度。

对小噪声做优化

调整 EE1CoringThrEE2CoringThr ,值越大,被锐化到的小噪声越少。但同时也要注意弱纹理的损失。

另外, EE2BalanceRatio 对噪声表现也有影响。一般值越大,亮区噪声越明显;值越小,暗区噪声越明显。

黑白边控制

调整 OverShootRatioUnderShootRatio,分别抑制白边和黑边。值越小,抑制作用越大。

5.23. Auto Exposure

5.23.1. Auto Exposure调试方法

5.23.1.1. 功能描述

线性模式

AE 模块主要功能是根据图像的统计信息与设定的画面目标亮度比较 , 动态的调整画面亮度以达到预期的目标亮度 , 当画面亮度高于目标亮度时 , AE 会降低曝光量 , 反之则提高曝光量 , AE主要是透过控制曝光时间 , 曝光增益 , 以及光圈这三种方式来调整曝光量, 根据不同场景的需要 ,可设计不同的AE 曝光分配路线(route)来对应 , 例如 : 动态场景物体快速移动时 , 需要对应较短的曝光时间 , 避免物体产生运动拖影 , 在静态场景时 , 应以较长的曝光时间优先 , 可降低画面的噪声现象 , 得到较好的影像质量 。

WDR 模式

当场景的亮暗反差太大时, 由于线性模式下的 AE 只能设定一组曝光 , 因此只能顾及亮处或暗处, 无法两者兼顾 , 若是亮处曝光正常, 暗处会因太暗而无法看清细节 , 反之 , 若暗处曝光正常 , 亮处则会因一整片白而看不到细节 , 此时便需要 WDR 的多重曝光来解决此问题 ,分别对暗处做长曝及亮处做短曝 , 如此便可同时使场景中的暗处及亮处曝光正常 , 得到一个寛容度更大的影像。

AE Route

最大支持 16 个节点 , 每个节点有曝光时间 , 增益 , 光圈三个分量 , 曝光时间的单位为 us , 建议不要设的太小 , 避免 sensor 无法支持太短的曝光时间 , 节点的曝光量是曝光时间 , 增益和光圈的乘积 , 节点的曝光量是单调递增的 ,后一个节点的曝光量大于或等于前一个节点的曝光量 , 第一个节点的曝光量最小 , 最后一个节点的曝光量最大 , 相邻的节点的曝光量增加时 , 每个节点只会有一个分量增加 , 其它分量固定, 增加的分量决定该路线的分配策略。

AE RouteEx

使用方式与 Route 相同 , 但增益可分别设定模拟增益, 数字增益, ISP 数字增益 , 可由设定AERouteExValid 来决定使用 route 或是 routeEx

SmartExposure

若支持人脸侦测时 , 可使用 智能 AE 根据侦测到的人脸实行人脸测光功能

Iris

若镜头支持光圈切换功能 , AE 可根据环境亮度自动切换 Iris , 此功能目前仅支持

5.23.1.2. 关键参数

表 5.39 AE关键参数

参数

数值范围

默认值

描述

Bypass

[0, 1]

0

AE 模块功能使能 , ByPass 为true 时 , AE曝光参数设置不生效 , 维持在之前的曝光参数

OpType

[0, 1]

0

手动曝光与自动曝光模式切换。

AERunInterval

[1, 255]

1

AE算法运行的侦数间隔

AERouteExValid

[0, 1]

0

AE 使用 routeEx 使能

HistStatAdjust

[0, 1]

0

AE 会根据场景亮区的统计值来自动调整曝光,适合曝光偏暗的场景使用

AEGainSepCfg

[0, 1]

0

WDR mode 时, 长/短侦的 gain是否分别设定

ExpTimeOpType

[0, 1]

0

手动曝光时间使能

GainType

[0, 1]

0

手动曝光的增益以 ISO num 还是以 Gain 的方式来控制

0:AE_TYPE_GAIN;

1:AE_TYPE_ISO;

ISONumOpType

[0, 1]

0

手动曝光 ISO num使能

AGainOpType

[0, 1]

0

手动曝光模拟增益使能。

DGainOpType

[0, 1]

0

手动曝光数字增益使能

ISPDGainOpType

[0,1]

0

手动曝光 ISP 数字增益使能

ExpTime

[0, 214 7483647]

16384

手动曝光时间 , 以微秒(us) 为单位, 具体范围与 sensor 相关

Again

[1024, 214 7483647]

1024

手动曝光模拟增益 , 10 bits 小数精度 , 具体范围与 sensor 相关

DGain

[1024, 214 7483647]

1024

手动曝光数字增益 , 10 bits 小数精度 , 具体范围与 sensor 相关

ISPDGain

[1024, 214 7483647]

1024

手动曝光ISP数字增益 , 10 bits 小数精度

ISONum

[100, 214 7483647]

100

手动曝光 ISO num , 具体范围与 sensor 相关

ExpTimeRangeMax

[0, 214 7483647]

1 00000

自动曝光时间的最大值 , 以微秒(us)为单位,具体范围与sensor 相关

ExpTimeRangeMin

[0, 214 7483647]

10

自动曝光时间的最小值 , 以微秒(us)为单位,具体范围与 sensor 相关

ISONumRangeMax

[100, 214 7483647]

1280 00000

自动曝光 ISO Num 的最大值,具体范围与 sensor 相关

ISONumRangeMin

[100, 214 7483647]

100

自动曝光 ISO Num 的最小值,具体范围与 sensor 相关

AGainRangeMax

[1024, 214 7483647]

2 04800

自动曝光模拟增益的最大值,具体范围与 sensor 相关

AGainRangeMin

[1024, 214 7483647]

1024

自动曝光模拟增益的最小值,具体范围与 sensor 相关

DGainRangeMax

[1024, 214 7483647]

2 04800

自动曝光数字增益的最大值,具体范围与 sensor 相关

DGainRangeMin

[1024, 214 7483647]

1024

自动曝光模拟增益的最小值,具体范围与 sensor 相关

ISPDGainRangeMax

[1024, 262144]

32767

自动曝光 ISP 数字增益的最大值

ISPDGainRangeMin

[1024, 262144]

1024

自动曝光ISP 数字增益的最小值

SysGainRangeMax

[1024, 214 7483647]

13107 20000

自动曝光系统增益的最大值,具体范围与 sensor 相关

SysGainRangeMin

[1024, 214 7483647]

1024

自动曝光系统增益的最小值,具体范围与 sensor 相关

GainThreshold

[1024, 429 4967295]

13107 20000

自动降帧时的系统增益门限值,10bit小数精度

GridBvWeight

[0, 100]

0

AE 测光分成以block luma / bvStep 平均这 2 种 , 默认以 luma 为主 , 此参数可设定 luma 为主的测光混合 bvStep 的测光权重 , 高光优先若觉得画像太暗 , 可适当调高此参数权重

HighLightLumaThr

[0, 255]

224

高光优先的亮度阈值

HighLightBufLumaThr

[0, 255]

176

高光优先缓冲区的亮度阈值

LowLightLumaThr

[0, 255]

16

低光优先的亮度阈值

LowLightBufLumaThr

[0, 255]

48

低光优先缓冲区的亮度阈值

Speed

[0, 255]

64

AE 收敛速度 , 数值越大, 收敛速度越快

BlackSpeedBias

[0, 65535]

144

画面由暗到亮 AE 收敛速度偏差值 , 数值越大, 画面由暗到亮的速度越快

Tolerance

[0, 255]

2

自动曝光对画面亮度的容忍偏差

Compensation

[0, 255]

56

自动曝光画面的目标亮度

EVBias

[0, 65535]

1024

自动曝光调整的曝光量偏差值 , 10bit 小数精度

1024 表示不对自动曝光进行调整

AEStrategyMode

[0, 1]

0

自动曝光策略,

AE_EXP_HIGHLIGHT_PRIOR : 高光优先

AE_EXP_LOWLIGHT_PRIOR : 低光优先

HistRatioSlope

[0, 65535]

128

高/低优光时 AE 目标亮度下降/上升的调整步幅

MaxHistOffset

[0, 255]

16

高/低优光时 AE 目标亮度下降/上升的最大范围

AEMode

[0, 1]

1

自动曝光模式

AE_MODE_SLOW_SHUTTER: 自动降帧模式

AE_MODE_FIX_FRAME_RATE: 固定帧率模式

Antiflicker enable

[0, 1]

0

抗闪属性 ,默认抗闪不使能

AntiflickerFrequency

[0, 1]

0

抗闪频率 , 抗闪属性开启后才有效

0 : 60HZ

1: 50H

Antiflicker.Mode

[0, 1]

0

抗闪模式 : 普通抗闪模式/自动抗闪模式

Subflicker.enable

[0, 1]

0

亚抗闪属性设置。默认亚抗闪不使能。

Subflicker.lumaDiff

[0, 255]

0

抗闪程度设置

AEDelayAttr.BlackDelayFrame

[0, 255]

0

图像亮度小于目标亮度时间超过BlackDelayFrame帧时,AE开始调节

AEDelayAttr.WhiteDelayFrame

[0, 255]

0

图像亮度大于目标亮度时间超过White DelayFrame帧时,AE开始调节。

FSWDRMode

[0, 1]

0

FSWDR 运行模式。

默认为ISP_FSWDR_NORMAL_MODE。

WDRQuick

[0, 1]

0

WDR 模式下,AE前50帧调整是否进行时域滤波

ISOCalCoef

[0, 65535]

256

ISO 标定系数,用于保证拍照所需DCF信息中

显示的ISO 是标准的,8bit精度

AdjustTargetMin

[0, 255]

50

AE 在各个环境亮度 (LV) 时的亮度收敛下限

AdjustTargetMax

[0, 255]

60

AE 在各个环境亮度 (LV) 时的亮度收敛上限

LowBinThr

[0, 256]

10

frame 的 window 统计值在此值以下时, 且累积 window数低于总 window 数 25% , frame 的测光会排除此 window

HighBinThr

[0, 256]

256

frame 的 window 统计值在此值以上时, 且累积 window数低于总 window 数 10% , frame 的测光会排除此 window

EnableFace AE

[0, 1]

0

人脸辨识连动 AE 测光使能

FaceTargetLuma

[0, 255]

46

人脸测光的目标亮度

FaceWeight

[0, 100]

80

人脸测光与整体环境测光的权重比例

WDR 模式

表 5.40 WDR AE关键参数

参数

数值范围

默认值

描述

ExpRatioType

[0, 1]

0

只在多帧合成 WDR 模式下有效。

OP_TYPE_AUTO : AE 根据场景自动算出长短帧曝光比。

OP_TYPE_M ANUAL:手动设定长短侦曝光比。

ExpRatio

[64, 16384]

64

只在多帧合成 WDR 模式下有效

当 ExpRatioType 为 OP_TYPE_MANUAL 时 , 设定手动的长短曝曝光, 此值在 ExpRatioType 为 OP_TYPE_AUTO 时无效

6 bit 小数精度 , 0x40 表示曝光比为 1 倍

ExpRatioMax

[64, 16384]

16384

只在多帧合成 WDR 模式下有效

当ExpRatioType 为 OP_TYPE_AUTO 时 , 表示长短侦的最大曝光比 , 此值在 ExpRatioType 为 OP_TYPE_MANUAL 时无效

6 bit 小数精度 , 0x40 表示曝光比为 1 倍

ExpRatioMin

[64, 16384]

256

只在多帧合成 WDR 模式下有效。当ExpRatioType为 OP_TYPE_AUTO 时 , 表示长短侦的最小曝光比 , 此值在 ExpRatioType 为 OP_TYPE_MANUAL 时 无效, 6bit 小数精度 , 0x40 表示曝光比为 1 倍。

Tolerance

[0, 255]

6

只在多帧合成 WDR 模式下有效长短侦对画面亮度的容忍偏差。

Speed

[0, 255]

1024

只在多帧合成 WDR 模式下有效自动曝光比调节速度 , 数值越大 , 速度越快。

RatioBias

[0, 65535]

1024

只在多帧合成 WDR 模式下有效当ExpRatioType 为 OP_TYPE_AUTO 时 , 该值越大 , 自动曝光比越大 , 此值为 1024 时 , 表示不对自动曝光比进行调整。

SECompensation

[0, 255]

56

短侦的目标亮度。

LEAdjustTargetMin

[0, 255]

50

AE 长侦 frame 在各个环境亮度 (LV) 时的亮度收敛下限 , 建议相邻的 LV 下限的设定不要相差太大 , 避免 AE 收敛造成闪烁。

LEAdjustTargetMax

[0, 255]

60

AE 长侦 frame 在各个环境亮度 (LV) 时的亮度收敛上限 , 建议相邻的 LV 上限的设定不要相差太大 , 避免 AE 收敛造成闪烁。

SEAdjustTargetMin

[0, 255]

20

AE 短侦 frame 在各个环境亮度 (LV) 时的亮度收敛下限 , 建议相邻的 LV 下限的设定不要相差太大 , 避免 AE 收敛造成闪烁。

SEAdjustTargetMax

[0, 255]

56

AE 短侦 frame 在各个环境亮度 (LV) 时的亮度收敛上限 , 建议相邻的 LV 上限的设定不要相差太大 , 避免 AE 收敛造成闪烁。

LELowBinThr

[0, 255]

0

AE 长侦 frame 的 window 统计值在此值以下时, AE 长侦 frame 的测光会排除此 window。

LEHighBinThr

[0, 255]

246

AE 长侦 frame 的 window 统计值在此值以上时, 且累积 window数低于总 window 数 25% , AE 长侦 frame 的测光会排除此 window。

SELowBinThr

[0, 255]

8

AE 短侦 frame 的 window 统计值在此值以下时 , AE 短侦 frame 的测光会排除此 window。

SEHighBinThr

[0, 255]

246

AE 短侦 frame 的 window 统计值在此值以上时 , AE 短侦 frame 的测光会排除此 window。

FrameAvgLumaMax

[0, 255]

255

长侦平均亮度的上限值 , 长侦的曝光不会超过此上限值

表 5.41 AE Route关键参数

参数

数值范围

默认值

描述

TotalNum

[0, 16]

0

AE 曝光分配路线的节点数

IntTime

[0, 4294967295]

0

AE route 的分配路线,节点的曝光时间 ,单位(us)

SysGain

[1024, 4294967295]

1 024

AE route 的分配路线 , 节点的曝光增益, 10 bits 小数精度

enIrisFno

[0, 10]

0

AE route 的分配路线, 节点的光圈值

表 5.42 AE RouteEx关键参数

参数

数值范围

默认值

描述

TotalNum

[0, 16]

0

AE 曝光分配路线的节点数

IntTime

[0, 4294967295]

0

AE routeEx 的分配路线, 节点的曝光时间 , 单位(us)

Again

[1024, 4294967295]

1 024

AE routeEx 的分配路线, 节点的曝光模拟增益, 10 bits 小数精度

Dgain

[1024, 4294967295]

1 024

AE routeEx 的分配路线, 节点的曝光数字增益, 10 bits 小数精度

IspDgain

[1024, 4294967295]

1 024

AE routeEx 的分配路线, 节点的曝光ISP数字增益, 10 bits 小数精度

enIrisFno

[0, 10]

0

节点的光圈值

表 5.43 Statistics Config关键参数

参数

数值范围

默认值

描述

Weight

[0, 255]

1

AE 17x15 window 的测光权重值

Exposure Info 页面, 了解当前的AE 信息。

表 5.44 AE Info关键参数

参数

数值范围

默认值

描述

ExpTime

[0, 4294967295]

0

AE 当前的曝光时间 , 单位 : us

ShortExpTime

[0, 4294967295]

0

WDR 模式时 , 短侦的曝光时间, 单位(us)

LongExpTime

[0, 4294967295]

0

WDR 模式时 , 长侦的曝光时间 , 单位(us)

WDRExpRatio

[0, 4294967295]

0

WDR 模式时 , 当前frame 的长/短侦的曝光比,

6 bits 小数精度

AGain

[1024, 4294967295]

1 024

AE 当前曝光的模拟增益, 10 bits 小数精度

DGain

[1024, 4294967295]

1 024

AE 当前曝光的数字增益, 10 bits 小数精度

ISPDGain

[1024, 2147483647]

1 024

AE 当前曝光的ISP数字增益 , 10 bits 小数精度

Exposure

[64, 4294967295]

64

当前曝光量,等于曝光时间与曝光增益的乘积,其中曝光时间的单位为曝光行数,曝光增益为6bit小数精度

ExposureIsMax

[0, 1]

0

0:ISP 未达到最大曝光水平;

1:ISP 达到最大曝光水平。

HistError

[-32768, 32767]

0

AE 当前 frame亮度与目标亮度的差值

AE_Hist256Value

[0, 4294967295]

0

AE 0~ 255 的 histogram 分布

AveLum

[0, 255]

0

AE 当前frame 的亮度 , WDR 模式时 , 表示长侦目前的 frame 亮度。

Fps

[0, 4294967295]

0

除100 后, 即为AE 当前的 frame rate

LinesPer500ms

[0, 4294967295]

0

当前每500ms对应的曝光行数,可用于将曝光时间的单位由us 转换成行数

PirisFno

[0, 1024]

0

当前 P-Iris光圈F值对应的等效增益

ISO

[100, 2147483647]

100

AE 当前曝光的 ISO 值

ISOCalibrate

[0, 4294967295]

100

标准 ISO, 用于拍照 DCF 信息显示。

RefExpRatio

[64, 16384]

64

参考曝光比,用于估计当前场景的动态范围

FirstStableTime

[0, 4294967295]

0

首次 AE 收敛稳定的时间,单位为微秒(us)

AERoute.TotalNum

[0, 16]

0

AE 当前的 route 节点数

AERoute.RouteNode

[0, 4294967295]

0

AE 当前的 route 路线

AERouteEx.TotalNum

[0, 16]

0

AE 当前的 routeEx 节点数

AERouteEx.RouteNode

[0, 4294967295]

0

AE 当前的 routeEx 路线

WDRShortAveLuma

[0, 255]

0

WDR mode 短侦当前 frame 的亮度

LEFrameAvgLuma

[0, 255]

0

WDR mode 长侦当前 frame 的平均亮度

SEFrameAvgLuma

[0, 255]

0

WDR mode 短侦当前 frame的平均亮度

LightValue

[-32768, 32767]

0

AE 评估当前的环境亮度( LV) 值

AGainSF

[1024, 4294967295]

1 024

AE 短侦当前曝光的模拟增益, 10 bits 小数精度

DGainSF

[1024, 4294967295]

1 024

AE 短侦当前曝光的数字增益, 10 bits 小数精度

ISPDGainSF

[1024, 2147483647]

1 024

AE 短侦当前曝光的ISP数字增益, 10 bits 小数精度

ISOSF

[100, 2147483647]

100

AE 短侦当前曝光的 ISO 值

AERouteSF.TotalNum

[0, 16]

0

AE 短侦当前的 route 节点数

AERouteSF.RouteNode

[0, 4294967295]

0

AE 短侦当前的 route 路线

AERouteSFEx.TotalNum

[0, 16]

0

AE 短侦当前的 routeEx 节点数

AERouteSFEx.RouteNode

[0, 4294967295]

0

AE 短侦当前的 routeEx 路线

表 5.45 SmartExposure关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

智能AE 使能

IRMode

[0, 1]

0

是否为红外模式

SmartExpType

[0, 1]

0

智能AE 自动/手动模式选择

LumaTarget

[0, 255]

46

智能AE 目标亮度

ExpCoef

[0, 65535]

1 024

智能 AE 手动曝光调整的曝光系数

ExpCoefMax

[0, 65535]

4 096

智能 AE 曝光系数最大值

ExpCoefMin

[0, 65535]

256

智能 AE 曝光系数最小值

SmartInterval

[1, 255]

1

智能AE 运行间隔

SmartSpeed

[1, 255]

32

智能AE 调整速度

SmartDelayNum

[1, 255]

5

智能AE 延迟恢复帧数

Weight

[0, 100]

80

智能AE 的测光占比

NarrowRatio

[0, 100]

75

智能AE计算主体亮度的内缩面积比率

表 5.46 AE RouteSF关键参数

参数

数值范围

默认值

描述

TotalNum

[0, 16]

0

AE 短侦曝光分配路线的节点数

IntTime

[0, 4294967295]

0

AE 短侦route的分配路线,节点的曝光时间 ,单位(us)

SysGain

[1024, 4294967295]

1 024

AE 短侦 route 的分配路线 , 节点的曝光增益, 10 bits 小数精度

enIrisFno

[0, 10]

0

AE短侦 route 的分配路线,节点的光圈值

表 5.47 AE RouteSFEx关键参数

参数

数值范围

默认值

描述

TotalNum

[0, 16]

0

AE 短侦曝光分配路线的节点数

IntTime

[0, 4294967295]

0

AE 短侦routeEx 的分配路线, 节点的曝光时间 , 单位(us)

Again

[1024, 4294967295]

1 024

AE 短侦routeEx 的分配路线, 节点的曝光模拟增益, 10 bits 小数精度

Dgain

[1024, 4294967295]

1 024

AE 短侦routeEx 的分配路线, 节点的曝光数字增益, 10 bits 小数精度

IspDgain

[1024, 4294967295]

1 024

AE 短侦routeEx 的分配路线, 节点的曝光ISP数字增益, 10 bits 小数精度

enIrisFno

[0, 10]

0

短侦节点的光圈值

表 5.48 Iris关键参数

参数

数值范围

默认值

描述

Enable

[0, 1]

0

自动光圈使能

OpType

[0, 1]

0

自动光圈或手动光圈模式选择

IrisType

[0, 1]

0

光圈类型,DC-Iris或P-Iris

IrisStatus

[0, 255]

46

光圈状态

HoldValue

[0, 65535]

1 024

AI校正值,用于DC-Iris 的调试

IrisFNO

[0, 65535]

4 096

手动光圈大小,根据光圈F值进行区分,仅支持P-Iris,不支持DC-Iris。

Kp

[0, 65535]

256

比例增益,用于调节光圈的开关速度,该值越大光圈打开和关闭的速度越快

Ki

[1, 255]

1

积分增益,用于调节光圈的开关速度,该值越大光圈打开和关闭的速度越快

Kd

[1, 255]

32

微分增益,用于限制光线剧烈变化时光圈的开关速度,该值越大光线剧烈变化时光圈打开和关闭的速度越慢

MinPwmDuty

[1, 255]

5

最小PWM占空比。该值越小过曝时光圈关闭速度越快

MaxPwmDuty

[0, 100]

80

最大PWM占空比。该值越大画面全黑时光圈打开速度越快

OpenPwmDuty

[0, 100]

75

光圈打开时的PWM占空比

5.23.1.3. 调试步骤

步骤1. 根据场景的应用 , 可依测光感兴趣的区域设定测光的权重, 一般而言, 画面的中央区域会是比较关注的区域 , 可将画面中央的测光权重高于外围区域。

步骤2. 根据场景的应用 , 设定所需的 AE route, 决定测光时快门时间及增益的分配路线, 有快速移运物体需求的场景 , 曝光时间设定不要太长, 避免产生运动拖影 , 若在意噪声表现 , 在低亮度时, 可优先使用较长的曝光时间后再提高增益。

步骤3. 根据不同的环境亮度(LV), 设定AE 的目标亮度及选择高/低光优先, 若在意亮部的细节 , 应使用高光优先避免亮区过曝 , 逆光场景时 , 则可选择低光优先 , 可提高暗部的表现避免人物过暗 。

步骤4. 若画面有周期性之闪烁现象 , 可开启抗闪功能 , 并选择适宜的抗闪频率来减轻闪烁现象 ,但若曝光时间太短(60HZ : 短于8333us , 50Hz : 短于10000us) , 即使抗闪功能开启, 仍不能避免闪烁情况。

步骤5. 可根据环境亮度 , 自定义想要长,短侦 AE收敛亮度的上,下限 , 在白天户外的场景 , 上,限可设定高一点 , 在夜晚的场景, 上, 下限可设定低一点 , 建议相邻的 LV 之间, 上,下限的区间不要相差太多 , 避免 AE 收敛造成闪烁 , 设定的上,下限区间的范围 , 会影响AE自动调整收敛亮度的结果(长侦暗部拉亮, 短侦亮部拉暗) , 设定的区间越小 , AE 能够调整的范围会越小。

—-结束


5.24. Auto Focus

5.24.1. Auto Focus 调试方法

5.24.1.1. 功能描述

AF(自动对焦)模块通过分析图像的清晰度统计信息(FV 值),控制对焦马达找到最佳对焦位置。 AF 模块支持以下功能:

  • 自动对焦:三段式搜索(方向检测 → 粗搜 → 精定位)找到最佳对焦位置

  • 手动对焦:用户控制对焦方向和步长

  • 实时追焦:检测到画面变化后自动重新对焦

  • 变焦对焦追踪:变焦时根据 Zoom-Focus 查找表快速调整对焦位置

  • 齿隙补偿:消除马达反向运动时的机械间隙影响

5.24.1.2. 关键参数

表 5.49 Auto Focus 关键参数

参数

数值范围

默认值

描述

Bypass

[0, 1]

0

AF 模块功能使能。Bypass 为 1 时 AF 不执行自动对焦

OpType

[0, 1]

0

手动/自动对焦模式切换。0: 自动, 1: 手动

RunInterval

[1, 16]

1

AF 算法运行的帧数间隔

InitStep

[1, 255]

步进马达: 255, VCM: 20

初始搜索步长, 控制第一阶段对焦马达移动步长

FindStep

[1, 255]

步进马达: 168, VCM: 16

精确搜索步长, 第二阶段对焦马达移动步长

LocateStep

[1, 255]

步进马达: 32, VCM: 8

定位步长, 第三阶段精细定位马达移动步长

InitDir

[0, 1]

0 (AF_DIR_NEAR)

初始搜索方向。0: NEAR(近), 1: FAR(远)

ChasingFocus

[0, 1]

0

追焦功能使能。1: 开启追焦, 变焦后自动重新对焦

ReFocus

[0, 1]

步进马达: 0, VCM: 1

重新对焦使能。画面变化时自动重新对焦

MixHlc

[0, 1]

1

混合高亮点掩码使能。使用 HlCnt 信息抑制光源对 FV 值的影响

RealTimeFocus

[0, 1]

步进马达: 0, VCM: 1

实时对焦使能。1: 开启实时对焦模式

RtFocusStableFrm

[1, 255]

5

实时对焦稳定帧数, FV 变化持续超过此帧数后触发追焦

RtMaxDiffFvRatio

[1024, 4096]

步进马达: 1435, VCM: 1350

实时对焦最大 FV 差异比例, 基于 AF_RATIO_BASE (1024), 值为实际倍率 x1024

MaxDiffFvRatio

[1024, 16384]

6144

最大 FV 差异比例 (x1024), 用于检测画面是否发生显著变化 (约 6 倍)

MaxDiffLumaRatio

[1024, 4096]

步进马达: 1126, VCM: 1100

最大亮度差异比例 (x1024), 用于亮度变化检测 (约 1.1 倍)

DetectDiffRatio

[1024, 4096]

步进马达: 1126, VCM: 1075

方向检测差异比例 (x1024), 判断方向检测阶段 FV 变化是否显著

SearchDiffRatio

[1024, 4096]

1075

搜索差异比例 (x1024), 粗搜索阶段判断是否已越过 FV 峰值 (约 1.05 倍)

LocalDiffRatio

[1024, 4096]

1075

定位差异比例 (x1024), 精定位阶段确认峰值 (约 1.05 倍)

MaxRotateCnt

[0, 65535]

步进马达: 32000, VCM: 1500

最大搜索计数, 马达搜索的最大步数限制

ChasingFocusMode

[0, 1]

0 (FAST_MODE)

追焦模式。0: 快速模式 (AF_CHASINGFOCUS_FAST_MODE), 1: 普通模式

DebugMode

[0, 1]

0

调试模式使能。0: 关闭 (AF_DBG_DISABLE), 1: 开启调试输出

5.24.1.3. 调试步骤

步骤1. 确认马达驱动已正确注册。调用 CVI_AF_MOTOR_Register 注册马达回调函数, 确保 pfn_af_motor_init、pfn_af_motor_deinit、pfn_af_set_focus_in、pfn_af_set_focus_out、pfn_af_set_focus_speed、pfn_af_get_len_info 等函数已正确实现。pfn_af_get_len_info 需正确返回镜头硬件特性信息。

步骤2. 配置 VCM 参数。通过 CVI_ISP_SetAFVcmAttr 设置镜头的无限远位置 (u32InfinitePos)、最近对焦位置 (u32MacroPos) 和中点位置 (u32MediumPos)。这些值需要通过实际标定获得, 建议使用标定工具 AF_ENTER_CAILB_FLOW 中的 AF_RANGE_OFFSET_CALIB 模式获取。

步骤3. 配置统计信息。通过 CVI_ISP_SetAFStatisticsConfig 设置 AF 统计区域大小 (建议 17x15)、FIR 滤波器系数、权重表。FIR 滤波器系数需根据镜头光学特性调整, 参考配置可参见 3A 开发用户指南中的 FV 计算参考代码。

步骤4. 调整对焦搜索参数。根据镜头特性调整 InitStep/FindStep/LocateStep。代码默认值:步进马达为 255/168/32, VCM 镜头为 20/16/8。对于行程较小的镜头, 可适当减小步长以提高对焦精度。InitDir 设置初始搜索方向, 需根据镜头安装方向确定。

步骤5. 标定 Zoom-Focus 表。使用标定工具 AF_ENTER_CAILB_FLOW 中的 AF_ZOOM_FOCUS_TABLE_CALIB 模式, 在不同变焦位置记录最佳对焦位置, 生成 9 项的 Zoom-Focus 查找表。该表用于变焦时快速估算对焦位置。

步骤6. 标定齿隙值。使用 AF_BACK_LASH_CALIB 模式测量马达正反转时的机械间隙, 设置到 focus_backlash/zoom_backlash。VCM 镜头齿隙较小, 步进马达需根据实际测量设置。

步骤7. 调试追焦灵敏度。根据实际场景调整 u16MaxDiffFvRatio 和 u8RtFocusStableFrm。比值过小容易误触发追焦, 过大则可能漏触发。快速移动场景建议使用 AF_CHASINGFOCUS_FAST_MODE。

步骤8. 验证对焦效果。在不同场景(近景/远景/低照度)下测试自动对焦, 观察是否能准确找到最佳对焦位置。可通过 CVI_ISP_AFQueryFocusInfo 查询对焦状态和 FV 值曲线, 必要时微调滤波器系数和权重表。

—-结束