Rockchip Tunning Guide ISP21
:::info 文档信息
文档标识:RK-SM-YF-601 · 发布版本:V2.1.0 · 发布日期:2021-8-24 · 页数:123 · 语言:英文
原始文档:Rockchip_Tuning_Guide_ISP21_CN_v2.1.0.pdf
:::
章节大纲
- Rockchip Tunning Guide ISP21(P1)
- 1 IQ调试文档关系说明(P8)
- 2 ISP系统概述(P8)
- 2.1 功能简介(P8)
- 2.2 ISP功能框图(P9)
- 2.3 各模块简介(P10)
- 3 图像质量调优总体概述(P11)
- 3.1 IPC应用图像调优概述(P12)
- 3.1.1 线性模式图像质量调优(P12)
- 3.1.2 HDR 模式图像质量调优(P20)
- 3.1 IPC应用图像调优概述(P12)
- 4 模块介绍(P23)
- 4.1 AEC(P24)
- 4.1.1 功能描述(P24)
- 4.1.2 关键参数(P24)
- 4.1.2.1 AEC模块公共功能控制参数(P24)
- Enable(P25)
- AecRunInterval(P25)
- AecOpType(P25)
- HistStatsMode(P25)
- RawStatsMode(P26)
- YrangeMode(P26)
- AecGridWeight(P26)
- AecWinScale(P26)
- AecManualCtrl(P26)
- AecSpeed(P27)
- AecDelayFrmNum(P27)
- AecFrameRateMode(P28)
- AecAntiFlicker(P28)
- AecEnvLvCalib(P29)
- 4.1.2.2 AEC模块线性曝光调试参数(P29)
- RawStatsEn(P30)
- ToleranceIn/Out(P30)
- EvBias(P30)
- StrategyMode(P31)
- Route(P31)
- InitExp(P32)
- DySetpoint(P32)
- BackLightCtrl(P33)
- OverExpCtrl(P34)
- 4.1.2.3 AEC模块HDR曝光调试参数(P35)
- ToleranceIn/Out(P35)
- StrategyMode(P35)
- EvBias(P35)
- InitExp(P36)
- Route(P36)
- ExpRatioCtrl(P38)
- LongFrmMode(P39)
- LframeCtrl(P39)
- MframeCtrl(P40)
- SframeCtrl(P40)
- 4.1.2.4 AEC模块光圈调试参数(P40)
- 4.1.2.5 AEC模块同步测试参数(P45)
- 4.1.2.5 sensorinfo参数(P46)
- Gain2Reg(P46)
- Time2Reg(P47)
- CISGainSet(P48)
- CISTimeSet(P48)
- CISHdrSet(P49)
- CISDcgSet(P50)
- CISExpUpdate(P50)
- CISMinFps(P51)
- CISFlip(P51)
- 4.1.2.5 moduleinfo参数(P51)
- 4.1.2.1 AEC模块公共功能控制参数(P24)
- 4.1.3 调试步骤(P51)
- 步骤1.Sensor曝光参数设置(P51)
- 步骤2.设置AE权重参数(P52)
- 步骤3.设置AE曝光分解参数(P52)
- 步骤4.设置AE目标亮度值(P52)
- 步骤5.设置AE收敛及响应速度(P52)
- 4.2 NR & SHARP(P52)
- 4.2.1 BayerNR 2D(P53)
- 4.2.1.1 功能描述(P53)
- 4.2.1.2 关键参数(P53)
- Enable:(P54)
- ModeName(P54)
- SNR_Mode(P54)
- Sensor_Mode(P54)
- ISO(P54)
- filter_strength(P55)
- gauss_guide(P55)
- lumapoint/sigma(P55)
- edgesofts:(P55)
- ratio:(P55)
- Weight:(P55)
- 4.2.1.3 调试步骤(P55)
- 4.2.2 Bayernr3D(P56)
- 4.2.2.1 功能描述(P56)
- 4.2.2.2 关键参数(P56)
- Enable:(P56)
- ModeName(P57)
- SNR_Mode(P57)
- Sensor_Mode(P57)
- ISO(P57)
- filter_strength(P57)
- sp_filter_strength(P57)
- lo_clipwgt:(P57)
- hi_clipwgt(P57)
- Softwgt(P58)
- Lumapoint/sigma(P58)
- 4.2.2.3 调试步骤(P58)
- 4.2.3 YNR(P58)
- 4.2.3.1 功能描述(P58)
- 4.2.3.2 关键参数(P59)
- Enable:(P60)
- ModeName(P61)
- SNR_Mode(P61)
- Sensor_Mode(P61)
- ISO(P61)
- ynr_bft3x3_bypass,ynr_lbft5x5_bypass,ynr_lgft3x3_bypass,ynr_flt1x1_bypass,ynr_sft5x5_bypass(P61)
- rnr_strength(P61)
- sigma_curve(P61)
- ynr_ci(P62)
- low_bf(P62)
- low_thred_adj(P62)
- low_peak_supress(P62)
- low_edge_adj_thresh(P62)
- low_center_weight(P62)
- low_dist_adj(P62)
- low_weight(P63)
- low_filt_strength(P63)
- low_bi_weight(P63)
- base_filter_weight(P63)
- high_thred_adj(P63)
- high_weight(P63)
- high_direction_weight(P63)
- hi_min_adj(P64)
- hi_edge_thed(P64)
- 4.2.3.3 调试步骤(P64)
- 4.2.4 CNR(P64)
- 4.2.4.1 功能描述(P64)
- 4.2.4.2 关键参数(P65)
- Enable(P65)
- ModeName(P65)
- SNR_Mode(P66)
- Sensor_Mode(P66)
- ISO(P66)
- hf_bypass(P66)
- lf_bypass(P66)
- cnr_exgain(P66)
- cnr_g_gain(P66)
- color_sat_adj(P66)
- color_sat_adj_alpha(P66)
- hf_spikes_reducion_strength(P67)
- hf_denoise_strength(P67)
- hf_color_sat(P67)
- hf_denoise_alpha(P67)
- hf_bf_wgt_clip(P67)
- thumb_spikes_reducion_strength(P67)
- thumb_denoise_strength(P67)
- thumb_color_sat(P67)
- lf_denoise_strength(P68)
- lf_color_sat(P68)
- lf_denoise_alpha(P68)
- kernel_5x5(P68)
- 4.2.4.3 调试步骤(P68)
- 4.2.5 SHARP(P68)
- 4.2.5.1 功能描述(P68)
- 4.2.5.2 关键参数(P69)
- Enable:(P69)
- ModeName(P70)
- SNR_Mode(P70)
- Sensor_Mode(P70)
- ISO(P70)
- luma_point/luma_sigma:(P70)
- pbf_gain(P70)
- pbf_add(P70)
- pbf_ratio(P70)
- gaus_ratio(P71)
- sharp_ratio(P71)
- hf_clip(P71)
- bf_gain(P71)
- bf_add(P71)
- bf_ratio(P71)
- local_sharp_strength(P71)
- prefilter_coeff:(P72)
- GaussianFilter_coeff(P72)
- hfBilateralFilter_coeff(P72)
- 4.2.5.3 调试步骤(P72)
- 4.2.1 BayerNR 2D(P53)
- 4.3 MERGE(P72)
- 4.3.1 功能描述(P72)
- 4.3.2 关键参数(P73)
- 4.3.2.1 OECurve(P73)
- 4.3.2.2 MDCurve(P73)
- 4.3.2.3 ByPassThr(P74)
- 4.3.2.4 OECurve_damp(P74)
- 4.3.2.5 MDCurveLM_damp(P74)
- 4.3.2.6 MDCurveMS_damp(P75)
- 4.3.3 调试步骤(P75)
- 4.3.3.1 过曝曲线调试(P75)
- 4.3.3.2 运动曲线调试(P77)
- 4.4 DRC(P80)
- 4.4.1 功能描述(P80)
- 4.4.2 关键参数(P80)
- 4.4.2.1 Enable(P80)
- 4.4.2.2 DrcGain(P81)
- 4.4.2.3 HiLight(P81)
- 4.4.2.4 LocalTMOSetting(P81)
- 4.4.2.4.1 LocalTMOData(P82)
- 4.4.2.4.2 curPixWeit(P82)
- 4.4.2.4.3 preFrameWeit(P82)
- 4.4.2.4.4 Range_force_sgm(P82)
- 4.4.2.4.5 Range_sgm_cur(P83)
- 4.4.2.4.6 Range_sgm_pre(P83)
- 4.4.2.4.7 Space_sgm_cur(P83)
- 4.4.2.4.8 Space_sgm_pre(P83)
- 4.4.2.5 CompressSetting(P83)
- 4.4.2.6 Scale_y(P84)
- 4.4.2.7 ByPassThr(P84)
- 4.4.2.8 Edge_Weit(P84)
- 4.4.2.9 OutPutLongFrame(P84)
- 4.4.2.10 IIR_frame(P84)
- 4.4.2.11 Tolerance(P85)
- 4.4.2.12 damp(P85)
- 4.4.3 调试步骤(P85)
- 4.4.3.1 DrcGain调试(P85)
- 4.4.3.2 HiLight调试(P89)
- 4.4.3.3 LocalTMOSetting调试(P90)
- 4.4.3.3.1 LocalTMOData调试(P90)
- 4.4.3.4 Edge_Weit调试(P92)
- 4.5 Dehaze & Enhance(P93)
- 4.5.1 功能描述(P93)
- 4.5.2 关键参数(P94)
- 4.7.2.1 Enable(P94)
- 4.5.2.2 cfg_alpha(P94)
- 4.5.2.3 ByPassThr(P94)
- 4.5.2.4 Dehaze_Setting(P94)
- 4.5.2.5 Enhance_Setting(P97)
- 4.5.2.6 Hist_Setting(P98)
- 4.5.3 调试步骤(P99)
- 4.5.3.1 Dehaze调试(P99)
- 4.5.3.2 Enhance调试(P101)
- 4.5.3.3 Hist调试(P101)
- 4.6 DPCC(P102)
- 4.6.1 功能描述(P102)
- 4.6.2 关键参数(P102)
- 4.6.2.1 Enable(P102)
- 4.6.2.2 Fast_mode(P103)
- 4.6.2.3 Expert_mode(P103)
- 4.6.2.4 set_cell(P104)
- 4.6.2.4.1 RK(P105)
- 4.62.4.2 LC(P105)
- 4.6.2.4.3 PG(P106)
- 4.6.2.4.4 RND(P106)
- 4.6.2.4.5 RG(P107)
- 4.6.2.4.6 RO(P107)
- 4.6.2.5 sensor_dpcc(P107)
- 4.6.3 调试步骤(P108)
- 4.6.3.1 Fast_mode调试(P108)
- 4.6.3.2 Expert_mode调试(P108)
- 4.6.3.2.1 RK(P109)
- 4.6.3.2.2 LC(P109)
- 4.6.3.2.3 PG(P110)
- 4.6.3.2.4 RND(P110)
- 4.6.3.2.5 RG(P110)
- 4.6.3.2.6 RO(P111)
- 4.6.3.3 sensor_dpcc调试(P111)
- 4.7 Gamma(P111)
- 4.7.1 功能描述(P111)
- 4.7.2 关键参数(P112)
- 4.7.2.1 gamma_en(P112)
- 4.7.2.2 gamma_out_segnum(P112)
- 4.7.2.3 gamma_out_offset(P112)
- 4.7.2.4 curve_normal(P112)
- 4.7.2.5 curve_hdr(P113)
- 4.7.2.6 curve_night(P113)
- 4.7.3 调试步骤(P113)
- 4.8 Debayer(P113)
- 4.8.1 功能描述(P113)
- 4.8.2 关键参数(P114)
- Enable:(P114)
- debayer_filter1(P114)
- debayer_filter2(P114)
- debayer_gain_offset(P114)
- ISO(P114)
- sharp_strength(P114)
- debayer_hf_offset(P114)
- debayer_offset(P114)
- debayer_clip_en(P114)
- debayer_filter_g_en(P114)
- debayer_filter_c_en(P115)
- debayer_thed0(P115)
- debayer_thed1(P115)
- debayer_dist_scale(P115)
- debayer_cnr_strength(P115)
- debayer_shift_num(P115)
- 4.8.3 名词解释(P115)
- 4.9 CPSL(P115)
- 4.11.1 功能描述(P115)
- 4.9.2 关键参数(P115)
- enable(P115)
- mode(P116)
- force_gray(P116)
- light_src(P116)
- auto_adjust_sens(P116)
- auto_on2off_t(P116)
- auto_off2on_th(P116)
- auto_sw_interval(P116)
- manual_on(P116)
- manual_strength(P117)
- 4.10 GIC(P117)
- 4.10.1 功能描述(P117)
- 4.10.2 关键参数(P117)
- 4.10.2.1 enable(P117)
- 4.10.2.3 gr_ration(P117)
- 4.10.2.5 SettingV21(P117)
- 4.10.3 调试步骤(P118)
- 4.10.3.1 GIC_ISO调试(P118)
- 4.11 AF(P120)
- 4.11.1 功能描述(P120)
- 4.11.2 关键参数(P120)
- 4.11.2.1 af_mode(P120)
- 4.11.2.2 win_h_offs/win_v_offs/win_h_size/win_v_size(P120)
- 4.11.2.3 fixed_mode/macro_mode/infinity_mode(P120)
- 4.11.2.4 contrast_af(P121)
- 4.11.2.5 laser_af(P122)
- 4.11.2.6 pdaf(P122)
- 4.11.2.7 vcmcfg(P122)
- 4.11.2.8 measiso_cfg(P123)
- 4.11.2.9 zoomfocus_tbl(P123)
- 4.1 AEC(P24)
在线预览
若预览无法显示,请直接下载 PDF 后用本地阅读器打开。
2.1 功能简介
ISP21模块支持标准的Sensor图像数据处理,包括自动白平衡,自动曝光,Demosaic,坏点矫正及镜头阴影矫正等基本功能,也支持HDR、去雾、降噪等高级处理功能。具体如下:
| Feature | ISP21(RK3568) | ISP21 Lite(RK3566) |
|---|---|---|
| 支持黑电平矫正 | Y | Y |
| 支持静态以及动态坏点矫正,坏点簇矫正 | Y | Y |
| 支持bayer 降噪 | Y | Y |
| 支持固定噪声消除 | Y | Y |
| 支持Demosaic 处理 | Y | Y |
| 支持gamma矫正 | Y | Y |
| 支持最大2合一宽动态功能 | Y | N |
| 支持自动白平衡 | Y | Y |
| 支持自动曝光 | Y | Y |
| 支持自动对焦 | Y | Y |
| 支持3A相关统计信息输出 | Y | Y |
| 支持镜头阴影矫正 | Y | Y |
| 支持图像锐化 | Y | Y |
| 支持自动去雾处理 | Y | Y |
| 支持局部对比度增强 | Y | Y |
| 支持2D 亮度、色彩降噪 | Y | Y |
| 支持3D降噪 | Y | Y |
| 支持矫正镜头垂直方向上的畸变 | Y | Y |
| 支持3DLut 处理 | Y | Y |
2.2 ISP功能框图
图2-1 ISP21功能框图
2.3 各模块简介
| 模块名称 | 描述 |
|---|---|
| FPN | 通过表型的黑帧或者黑行对Sensor输入的图像进行矫正,达到去除Sensor FPN的目的。 |
| BLC | 提供Sensor相关的黑电平矫正。 |
| DPCC | 提供对静态坏点和动态坏点的检测和校正功能。 |
| GIC | 矫正Gr与Gb两个通道的失衡,提高部分场景的图像质量。 |
| BNR | 提供在Bayer domain中实现对图像的去噪功能。 |
| LSC | 用于镜头的阴影矫正。 |
| AE | 该模块输出自动曝光的统计信息,软件根据统计信息调节Sensor可实现自动 曝光的功能。 |
| AIris | 控制可变光圈,支持P-iris和DC-iris的控制 |
| AF | 支持图像清晰度评价信息统计,用于完成支持自动对焦功能。 |
| AWB | 该模块输出全局统计信息和区域统计信息,软件基于统计信息完成自动白平 衡功能。 |
| Demosaic | 将Bayer格式的Raw图像转换到RGB图像。 |
| CCM | 通过标准的3X3的矩阵和矢量偏移量可完成颜色空间的线性矫正。 |
| Gamma | 该模块根据伽马曲线分R\G\B三个通道调整亮度。 |
| Dehaze & Enhance | 提供强大的去雾能力以改善雾霾场景下的视频对比度和清晰度。 |
| CSC | 通过标准的3X3的矩阵和矢量偏移量将输入(R,G,B)转换为(Y,U,V) |
| Sharp | 实现图像锐度,提高图像清晰度。 |
| 3D-LUT | 9x9x9大小的3Dlut 实现复杂的颜色调整操作,比如亮度的调整,饱和度的调 整。 |
| MERGE | 2帧宽动态合成。 |
| DRC | 利用log域下的LUT曲线实现复杂亮度的调整操作。 |
| YNR | YUV区域针对亮度的小波去噪。 |
| UVNR | 单独的彩色噪点去除。 |
| LDCH | 矫正镜头垂直方向上的畸变 |
3 图像质量调优总体概述
主要面向两大应用场景,即IPC安防应用场景和消费类应用场景,其中IPC安防应用场景包括线性模式和HDR模式;消费类应用场景主要包括运动DV、行车记录仪以及抓拍等产品形态。IPC安防应用场景由于具有监控行业特殊需求,对图像质量的关注点与消费类应用场景会不同。
3.1 IPC应用图像调优概述
针对IPC应用场景主要包括线性模式和HDR模式两种典型应用。线性模式的图像质量关注维度主要包括图像亮度合理性,色彩还原准确性,图像整体清晰度,图像整体锐利度以及通透度等;HDR模式的图像质量关注维度主要包括图像整体的动态范围合理(亮区不过曝,暗区细节能够看得见),色彩还原尽量准确,图像整体清晰度,锐利度,以及通透度等。以下针对两种模式的图像质量调优分别介绍调试步骤以及ISP单点算法调试的注意事项。
3.1.1 线性模式图像质量调优
IPC应用场景线性模式图像调优的整个框架图如下(图3-1)所示:
图3-1 IPC应用场景线性模式图像调优流程图
在进行图像质量调优前需要开展的工作主要如下:
- sensor 对接:根据产品的定义,对sensor的CSI进行设置,其中包括帧率,分辨率,HDR模式,AE模式,同时根据厂商提供的sensor datasheet或者FAE挖掘出各个模式下的初始化寄存器序列,将初始化序列适配对应RK平台的MIPI配置。
完成标准:对接模式通路正常,AE基本工能正常,可以正常拍RAW.详细请参考《Rockchip_Driver_Guide_ISP2x》
- 模组标定工作:标定工作主要涉及黑电平标定、RawNR/YUV NR/3DNR标定、静态坏点标定、镜头shading 标定、AWB标定、CCM标定、镜头畸变参数标定等。该标定步骤需要严格按照图3-2所示的流程进行:图 3-2 模组标定流程图
各个模块的标定细节请参考第四章模块介绍的详细内容,AWB和CCM请参考《Rockchip_Color_Optimization_Guide_ISP2x》
- ISP 各个模块联合调优: 在完成sensor对接和sensor镜头标定的工作之后,就可以进入ISP各个模块联合调优阶段,线性图像质量调优包括多组ISO照度下图像质量的优化,星光级sensor 一般需要到最高ISO 204800,跟ISO 联动的的BayerNR、Demosaic、 sharpen、YUVNR、3DNR、Dehaze、enhance、等算法模块除了开放出来的Mipi接口参数会跟ISO联动外,内部都还有默认的参数也会根据ISO联动变化。
线性模式调试的场景主要包括实验室静态场景和室外实际场景,一般利用实验室静态场景模拟各个ISO的场景,然后将各个照度下的亮度、色彩、通透性、清晰度、和噪声等调试合理。然后在这基础上,需要在实际场景中根据IPC的不同应用场景进行微调,需要覆盖交通路口的白天和夜晚场景、室外夜晚低照度场景、室外白天纹理细节凤雏场景包括晴天与阴天天气,室外傍晚夕阳细节纹理丰富场景等。线性模式具体的调优场景顺序如图3-3所示。
图 3-3 线性模式图像调优场景图
线性模式ISP图像质量关注维度调试的基本流程如图 3-4所示。图3-4 图像质量关注维度调试流程图
亮度维度:
亮度维度的主要调试模块为AE,主要包括AE的目标值的调优,AE Route的调优、AE的权重表调优、AE的收敛速度和平滑性的调优等。调整AE前需要准备的环境:黑电平标定正确、Shading标定完成、AWB和CCM标定正确、不同模式预设一组Gamma 参数等。
步骤1:AE调节的第一步就是确定AE的权重表。AE的权重表决定AE曝光的感兴趣区域,不同的应用需求,AE的权重表也会有差异,一般针对IPC应用场景,场景关注的主体为画面的中间部分,建议将画面中间部分的ae权重表设置高于周边部分。图3-5为AE权重表的示例:
图3-5 AE权重表
步骤2:在确定AE权重表的基础上,接下来需要确定AE的Route,该route主要决定曝光量的分配方式即曝光时间和增益的分配。不同场景需要设置不同的AE route,如需要关注快速运动物体,需要优先使用增益和限制曝光时间,如白天场景抓拍车牌,一般需要将曝光时间限制为2~4ms,此时曝光量优先分配在增益上面,如夜晚低照度场景,此时需要为了平衡画面的噪声表现,需要将曝光量适当优先分配在曝光时间上面。
步骤3:在确定AE权重和AE Route基础上,接下来就是根据不同的曝光量下调节AE的目标值,针对实验室静态场景,AE目标值的调试标准是画面中心最高量区域无明显过曝,如图3-6 静态场景示意图,中间的纹理卡,陶瓷咖啡杯不能过曝,边角枯叶图和玫瑰花亮度合理。AE目标值主要涉及到SetPoint,DynamicSetpoint调节以及AE背光模式的选择。
图3-6 静态场景示意图
步骤4:最后需要调节AE的收敛速度和AE平滑性,AE收敛速度和AE平滑性是一对平衡点。在防止AE出现震荡的前提下,可以是适当提高AE的收敛速度,尤其针对行车记录仪和运动DV应用场景,需要适当提高AE收敛速度来来适应场景的剧烈变化。AE的收敛速度和收敛稳定性一般可以通过实验室静物场景开关灯进行测试。
AE模块的具体参数调节可以参考本文档AE模块介绍中关于AE的描述章节。需要注意的是LSC模块也会影响图像的亮度,所以LSC建议根据ISO进行联动衰减,避免在照度稍低的情况下会带来图像暗角的噪声变大。
----结束
色彩维度:
在AE调节合理的基础上面,接下来主要调节色彩相关的参数,主要涉及的模块有AWB和CCM。颜色前需要准备的环境:黑电平校正准确、LSC标定完成、AE模块参数调试合理。
步骤1: 需要在实验室灯箱场景抓取七组不同色温(D75、D65、D50、TL84、CWF、A、HZ)下24色卡的raw标定获取AWB静态白平衡系数,生成白平衡白点条件框。具体详情可以参考《Rockchip_IQ_Tools_Guide_ISP2x》第四章第四小节。步骤2:利用AWB标定用的RAW图,用工具生成对应光源对应饱和度下的CCM矩阵。
在此之前需要确认使用的gamma曲线,一般默认gamma2.2,如果对gamma有特殊需求需要先填好gamma曲线。操作界面参考如下:
图3-7 CCM标定界面
步骤3:做完步骤1、2 后我们便可以在标准灯箱里面拍摄各个光源的24色卡图片,用imatest软件测试24色卡的颜色指标。如果指标满足需求,可以初步确定标定得到的AWB参数和CCM矩阵满足需求。
步骤4:AWB和CCM模块的参数合理性,还需要大量的实际应用场景的测试和调试。通常实际应用场景包括典型室外场景,包括顺光,背光,阴天,夕阳,夜晚,以及混合光源等场景。如果场景中有灰色块且还原不准确,需要调整AWB参数,场景中出现个别颜色偏色,过饱和或者偏淡,建议优先调试CCM的参数。针对混合光源应用场景,需要调节AWB中的场景检测参数,针对实际场景中人物肤色还原不准确,需要调整CCM参数或者3Dlut参数。
AWB和CCM模块的具体调优需要参考《Rockchip_Color_Optimization_Guide_ISP2x》
---- 结束
对比度维度
在亮度维度和颜色维度合理的基础上,接下来主要优化对比度维度。影响对比度的模块主要包括Gamma、Dehaze、Enhance等,一般重点还是在不同场景下的Gamma参数调节,Dehaze和Enhance为辅助模块。
调整对比度前准备环境:黑电平校正正确、LSC标定完成、AE曝光调整合理、AWB和CCM参数标定合理。
步骤1:调整gamma参数,该参数是影像图像对比度的基本模块,以静态实景为例,通过调整Gamma参数达到画面中间亮区肤色卡和边缘立体植物亮暗纹理都不发生损失,且画面的对比度视觉感受上比较好。具体如下图所示。图3-8 静态场景Gamma曲线影响的区域示例
步骤2:在调整好Gamma参数的基础上,如果对图像的对比度有更高的要求,可以调节Dehaze或者Enhance来提升对比度。对于Dehaze和Enhance的调节说明请参数4.21 “Dehaze”和4.22 “Enhance”章节。步骤3:在优化完对比度相关参数的基础上,需要对整体对比度效果进行客观测试,在D65光源环境下测试灰阶卡,观察灰阶数是否能达到18阶以上,同时用imatest测试是否能达到14steps。
图 3-9 实验室灯箱D65光源环境下的灰阶卡示例图以及imatest分析结果
步骤4:在实际静态场景中,需要根据不同应用场合以及不同照度分别去调整Gamma, Dehaze, Enhance等参数,以达到各个场景下的对比度均衡。当然正常照度和低照度下,对比度调试风格会有一定的差异,比如夜间模式下,Gamma会适当的压低暗区来减轻暗区噪声的负担。
----结束清晰度和噪声维度
清晰度和噪点是一对平衡点,由于照度不同,图像的噪声表现也不一样,正常低照度下,画面的噪点会比较严重,非常影响视觉感受,因此我们会适当牺牲清晰度的要求,因此清晰度和噪声的参数需要根据不同ISO的场景进行联动控制。
清晰度和噪声维度的调试,建议先以清晰度优先,在降噪前将该锐化的细节表现出来,如果在实际点播环境下调试,需要把编码的码率设置高且3DNR的等级降到最低,观察静止画面的细节有没有锐化出来。在清晰度满足要求的前提下,再去调试降噪模块,最终达到清晰度和噪声的平衡。
调整清晰度和噪声前准备环境:黑电平校正正确、LSC标定完成、AE曝光调整合理、AWB和CCM参数标定合理、Gamma/Dehaze/Enhance 等调整合理。
影响清晰度和噪声的模块主要包括Bayer NR 、Demosaic、DPCC、YNR、UVNR、3DNR、sharpen、Edgefilter等。
步骤1:图像的基本纹理细节的第一道关口就是Demosaic。在调试该模块前,我们需要确认:黑电平标定准确、RawNR标定合理、AWB/CCM等标定合理。
首先我们需要在实验室灯箱环境D65光源下ISO50下对着解析度卡调试Demosaic参数,使得解析度卡的解析力满足客观指标要求,同时需要在ISO50环境下查看静态场景中星图的高频纹理是否能插值出来,以此进行来回迭代。接着需要对其他ISO进行相同的调试,以此来平衡高频噪声和插值出来的噪声以及清晰度是否合适。图3-10所示为D50光源环境下的解析度卡的示意图。其中红框为4:3 视场用,篮框为中心关注区域。Demosaic的具体调试方法请参考4.4 “Demosaic”章节。
图 3-10 实验室灯箱D65光源环境下清晰度卡示意图
步骤2:在Demosaic的参数调试合理之后,接下来重点联调BayerNR,YNR,UVNR,3DNR以及Sharpen和DPCC模块。
在调试Bayer NR 模块前确认:黑电平标定准确、RawNR标定合理、AWB/CCM等标定合理。
Bayer NR 作为最前级的噪声处理模块,不宜将强度开的过大,否则会损失画面的清晰度。Bayer NR的具体调优方法请参考4.5 “Bayer NR”章节。步骤3:YNR和UVNR是需要重点调试的降噪模块,对于画面的高频,低频,中频噪声,YNR都可以独立控制力度大小,而UVNR则用来去除彩色噪点,其力度大小并不会影响清晰度,但是力度过大会导致色彩失真。YNR与UVNR的具体调优方法请参考4.6 “YNR与UVNR”章节。
步骤4:sharpen与Edgefilter 的调试准则主要将图像的纹理细节和边缘锐度调到合适,以实验室静态场景为例,sharpen与Edgefilter这两个模块需要将图像在经过3DNR之前将静止物场景的绿藤、绿藻、小熊、麻绳等细节锐化出来,同时还要把中心的圆圈星图等强边缘锐化出来。具体如下图所示。sharpen与Edgefilter的具体调优方法请参考4.7 “sharpen与Edgefilter” 章节。
图 3-11 静态场景ISO50 需要关注锐化纹理示意图
步骤5:DPCC去动态坏点强度只需要在照度稍微低的场景确认清楚即可。照度好的场景建议DPCC的等级开弱点。DPCC的具体调试方法请参考4.8 “DPCC”章节。
步骤6:3DNR 是整个噪点与清晰度平衡的关键点,主要包括 DEC,REC还有NR调节。该模块把噪声分解成不同频段然后分别去除后再融合。在优化3DNR的时候我们要关注运动物体的边缘,运动物体的拖影程度,以及整体噪声的可接受程度。如下图的红框所示,人物的运动模糊状态和整体噪声需要做一个平衡。3DNR的具体调试方法请参考4.9 “3DNR”章节。3-12 3DNR测试点示意图
步骤7:以上各个步骤完成之后,需要在各个ISO下综合测试最后的效果,必要时候需要做微调,以达到整体的清晰度和噪声的平衡。
----结束
3.1.2 HDR 模式图像质量调优
针对HDR模式,图像质量主要关注以下维度:动态范围、亮度、清晰度和噪声、通透性、色彩还原以及运动拖尾的表现等方面,其中亮度涉及的模块主要有AE、LSC;动态范围主要取决于曝光比控制,清晰度和噪声主要涉及到的模块有Bayer NR 、Demosaic、DPCC、YNR、UVNR、3DNR、sharpen、Edgefilter等;通透性主要影响模块有Gamma、Dehaze、Enhance等;色彩还原涉及到模块有AWB、CCM、3DLUT;运动拖尾的严重程度取决与HDR参数的控制和曝光比。HDR典型的应用场景大部分都是包含背光下的人脸获取或者强光下的车牌获取。HDR模式图像调优的整个架构图如图3-13所示。
3-13 HDR模式图像调优架构图HDR 模式图像质量调优前,需要进行Sensor的对接和镜头模组的标定,其中关于sensor对接步骤可以参考3.1.1小结中关于Sensor对接的阐述。镜头模组的标定中AWB、Shading、Bayer NR等模块可以参考线性模式的参数标定,如果sensor的HDR模式是HCG/LCG模式,则需要跟进不同的模式分别标定Bayer NR、 YUV NR、 3DNR等模块。由于CCM是在HDR TMO之后,TMO模块破坏了数据的线性关系,所以HDR模式下的CCM,需要做适当的调整:
1) 饱和度标定值在80%~90%左右即可;
2) 如果出现个别颜色表现突兀,可以通过3D lut进行微调。
- 适当减小TMO模块对于亮度的大幅度提升,降低对色彩还原的影响。亮度不足时可以考虑采用Gamma模块与HDR TMO联调。
在完成Sensor对接和Sensor镜头标定之后,接下来主要针对HDR模式图像质量关注的维度进行图像调优。
HDR 背光场景提升人脸亮度应用场景调试指南
亮度维度:
HDR的亮度维度,这里主要是指AE曝光的合理性,主要还是通过调试AE模块,AE模块具备HDR AE与线性AE两个子控制模块。HDR AE与线性AE的差异部分在于主要在于调整AE的曝光比来决定长帧和短帧的曝光时间。这里重点介绍HDR AE曝光比的调试,AE其他参数包括AE的权重表、AE Route、AE目标值以及AE的收敛速度和平滑性具体可以参考3.1.1“线性模式图像质量调优”的亮度维度小节。
HDR AE的曝光比决定HDR模式图像的动态范围,因此不同的场景动态范围使用HDR模式,HDR AE的曝光比需要自适应调节。HDR AE曝光比的模式支持自动曝光比模式,所谓的自动曝光比,就是HDR AE会根据场景的直方图自动计算场景的动态范围而得到一个合理的曝光比,曝光比的合理性体现在亮区细节不过曝且长帧亮度合理。HDR AE以长帧曝光为基准,通过曝光比来决定短帧曝光。
HDR模式下,场景的亮区优先采用短帧图像,暗区使用长帧图像。背光场景下,人脸处于场景的暗区,提升人脸亮度的步骤建议如下:
- 通过调整AE参数包括权重表、AE Route、AE长帧目标值等来提升长帧图像的亮度。2. 通过调整HDR TMO模块参数包括DetailsLowLight来针对暗区亮度进行提升。3. 通过限制最大曝光比来控制图像动态范围,一定程度上也会轻微提升暗区亮度。3-14 长帧暗区示意图
合成区域的运动拖尾维度:
HDR模式影响合成区域的图像分别来自长帧与短帧。运动拖尾原理上是因为长帧与短帧曝光时刻存在时间差,图像内容出现运动导致的。针对该维度的调节主要HDR模块以及HDR AE的曝光比,曝光比越大,合成区域出现运动拖尾的概率越大。
- 兼顾场景动态范围与运动拖尾,调试合理的HDR AE曝光比。2. 同样曝光比条件下,通过调整短帧的曝光时间来减小长短帧时间的曝光时延,进而减小拖尾程度。3. 通过调整HDR MERGE模块包括OECurve_XXX,MDCurve_XXX参数,降低合成区域因为运动误用短帧的概率,进而减轻运动拖尾的情况。
3-15 HDR合成区域运动拖尾示意图
场景动态范围维度:
HDR模式影响图像动态范围包括:AE的曝光比、HDR DRC模块以及Gamma模块。调试DRC模块的入口条件: 黑电平标定正确、Shadimng标定完成、AE模块调试合理、AWB和CCM标定完成、预设一组Gamma参数。
如图3-14所示,在隔开的箱子里布置类似的场景,放入照度计,在箱子两边45度放置可调光LED补光灯,这样便可以模拟不同动态范围的场景。3-14 动态范围调优场景示意
色彩维度:
请参考线性模式下的色彩调试方法;注意,HDR模式下由于有Tonemap,所以颜色的表现跟线性有略微差别,建议标定完后,根据情况适当降低饱和度。
对比度维度:
请参考线性模式下的对比度调试方法;
清晰度和噪声维度:
请参考线性模式下的清晰度和噪声调试方法;
4 模块介绍
该章节主要介绍各个模块的功能以及参数说明,其中参数以XML文件的方式存储在firmware中,部分参数可以采用调试工具进行调试。该章节中针对参数说明格式简要描述如下:
“ ” :代表参数为字符串形式
xxx/yyy : 代表yyy元素实体在xml文件中是xxx子元素实体
IPC产品应用多场景运行模式
IPC产品应用需要多种场景运行模式,例如:白天彩色、夜视黑白、高动态范围(HDR)。针对不同的场景的运行模式,各个图像处理模块的效果调试上侧重点不同,支持场景运行模式下的参数独立配置的模块如:
BNR YNR UVNR Edgefilter Gamma Dehaze & Enhance
4.1 AEC
4.1.1 功能描述
AE模块主要由测光统计模块和AE控制算法模块两部分构成。测光统计模块为AE控制算法模块输入亮度统计信息,亮度统计信息包括直方图统计信息和分块平均亮度统计信息。统计信息主要包含以下几个部分:基于raw图的256段带权重直方图统计信息、基于raw图的分块R/G/B/Y 均值统计信息;基于gamma前RGB图的32段带权重直方图统计信息、基于gamma前RGB图的分块R/G/B/Y 均值统计信息。
AE控制算法模块根据输入的亮度统计信息值,与目标亮度进行比较,计算新曝光量,最后自动分配sensor曝光时间、曝光增益及镜头光圈值,以获得合适亮度的图像。
图4-1 AEC模块原理图
4.1.2 关键参数
AEC模块的参数根据功能,大致分为公共功能控制参数、线性曝光调试参数模块、HDR曝光调试参数模块。此外本章节还将介绍与曝光相关的系统参数SensorInfo参数、System参数,其具体功能详见模块说明。
4.1.2.1 AEC模块公共功能控制参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| Enable | 调试参数 | 用户调试参数 |
| AecRunInterval | 调试参数 | 用户调试参数 |
| AecOpType | 调试参数 | 用户调试参数 |
| HistStatsMode | 调试参数 | 用户调试参数 一般使用默认值 |
| RawStatsMode | 调试参数 | 用户调试参数 一般使用默认值 |
| YrangeMode | 调试参数 | 用户调试参数 一般使用默认值 |
| AecSpeed | 调试参数 | 用户调试参数 |
| AecDelayFrmNum | 调试参数 | 用户调试参数 |
| AecFrameRateMode | 调试参数 | 用户调试参数 |
| AecAntiFlicker | 调试参数 | 用户调试参数 |
| AecGridWeight | 调试参数 | 用户调试参数 |
| AecManualCtrl | 调试参数 | 用户调试参数 |
Enable
AEC模块开关功能。0:关闭;1:打开
Enable值为0时,即关闭Aec算法。曝光保持在关闭前的值。
AecRunInterval
Ae算法运行间隔,取值范围[0,255],默认值为0。取值为0时,每帧运行AE;取值为1时,每隔1帧运行AE;以此类推。
建议该值不宜过大,否则可能导致AE响应速度慢,不平滑
AecOpType
曝光模式,分为自动曝光(AUTO)模式/手动(MANUAL)曝光模式。
手动曝光模式需要与AecManualCtrl一起配合,进行手动曝光值的设置。
AecManualCtrl参数详见下文。
HistStatsMode
Aec模块直方图统计模式。共五种模式分别为: Y/R/G/B/RGB,默认为Y模式。RawStatsMode
Aec模块亮度统计模式。共四种模式分别为: Y/R/G/B,默认为Y模式。
YrangeMode
Aec模块Y通道Range模式。共两种模式分别为FULL/LIMITED,默认为FULL模式。
该参数仅在RawStatsMode为Y模式时有效。
AecGridWeight
统计主窗口各个子窗口权重,包含15x15个参数
356x平台硬件可支持5X5和15X15两种规格的权重设置,调试文件中统一设置15X15的权重,算法内部根据实际硬件配置进行权重的压缩或扩展。
AecWinScale
AE模块硬件统计窗口大小比例配置参数
| 成员名称 | 描述 |
|---|---|
| InputRaw | 基于raw图的AE硬件统计窗口大小比例配置参数,共包含4个参数,分别对应 [h off,v off,h size,v size],各参数的range=[0,1] _ _ _ _ |
| TmoRaw | 基于tmo模块后raw图的AE硬件统计窗口大小比例配置参数,共包含4个参数,分别 对应[h off,v off,h size,v size],各参数的range=[0,1] _ _ _ _ |
| Yuv | 基于yuv图的AE硬件统计窗口大小比例配置参数,共包含4个参数,分别对应 [h off,v off,h size,v size],各参数的range=[0,1] _ _ _ _ |
窗口大小比例配置参数是以sensor分辨率为基准,设置对应的比例值,其中比例配置参数range= [0,1]。h_off和v_off分别代表硬件统计窗口左上角相对sensor感光区域的水平、竖直方向偏移值;h_size和v_size分别代表硬件统计窗口水平、竖直方向的尺寸。sensor的分辨率以res表示,实际配置的硬件窗口偏移值为[res x h_off,res x v_off];实际配置的硬件窗口大小值为[res x h_size,res x v_size]。硬件窗口的偏移值和大小值之和,不可以超过1,即要求h_off + h_size <=1 , v_off + v_size <=1 。
AecManualCtrl
手动曝光参数设置,根据曝光模式分为LinearAE和HdrAE两套参数。
| 成员名称 | 描述 |
|---|---|
| ManualTimeEn | 手动曝光时间使能,默认值为1 |
| ManualGainEn | 手动sensor增益使能,默认值为1 |
| ManualIspDgainEn | 手动ISP数字增益使能,默认值为1 |
| TimeValue | 手动曝光时间值,以s为单位,参数值受sensor限制 |
| GainValue | 手动sensor增益值,此处增益值为实际值,单位为1x,参数值受sensor 限制 |
| IspDGainValue | 手动ISP数字增益值,此处增益值为实际值,单位为1x,参数值受ISP限制 |
该模块仅在AeOptype = MANUAL时有效。ManualTimeEn,ManualGainEn, ManualIspDgainEn皆为1时,为手动模式;以上三者中只要任意一项不使能,则为半自动模式;以上三者皆为0,则等同自动模式,系统会报错提醒。手动/半手动模式下,手动曝光时间和增益会受自动模式下的最大/最小曝光时间和增益限制。超出自动曝光限制的范围之后,将使用自动模式下最大/最小值替代。356X平台目前暂不支持ISP数字增益,故ManualIspDgainEn、IspDGainValue皆无效。
AecSpeed
自动曝光调节速度属性。
| 成员名称 | 描述 |
|---|---|
| DampOver | 环境亮度稳定,图像亮度高于目标值时对应的曝光调节速度,取值范围 [0,1] |
| DampUnder | 环境亮度稳定,图像亮度低于目标值时对应的曝光调节速度,取值范围 [0,1] |
| DampDark2Bright | 环境亮度突变,从暗到亮时对应的曝光调节速度,取值范围[0,1] |
| DampBright2Dark | 环境亮度突变,从亮到暗时对应的曝光调节速度,取值范围[0,1] |
自动曝光调节阻尼系数,通过调整当前曝光值与当前曝光值的权重,实现曝光速度的调节。最终曝光值 = 当前曝光值 x DampCoef + 新曝光值 x(1 - DampCoef )自动曝光调节阻尼系数越大,曝光调节速度越慢,反之越快。为了保证调节过程的平滑,建议调节速度设置在[0.4,0.7]范围内。当环境亮度产生突变时(暗变亮/亮变暗)使用DampDark2Bright/ DampBright2Dark作为速度调节阻尼系数;当环境亮度稳定,AE收敛过程中使用DampOver/DampUnder作为速度调节阻尼系数。建议DampDark2Bright/ DampBright2Dark值小于DampOver/DampUnder,DampDark2Bright值小于DampBright2Dark,DampOver值小于DampUnder。
AecDelayFrmNum自动曝光触发延时属性
| 成员名称 | 描述 |
|---|---|
| BlackDelay | 自动曝光触发延时属性,图像亮度低于目标值超过BlackDelay帧时,Ae开始调节 |
| WhiteDelay | 自动曝光触发延时属性,图像亮度高于目标值超过WhiteDelay帧时,Ae开始调节 |
BlackDelay/ WhiteDelay 不宜过大,否则将导致AE触发响应过慢。
AecFrameRateMode
自动曝光帧率模式,可分为固定帧率模式与自动降帧模式
| 成员名称 | 描述 |
|---|---|
| isFpsFix | 固定帧率模式的使能,默认值为0,即采用自动降帧模式;值为1时,表示为固定帧 率模式。 |
| FpsValue | 仅在固定帧率模式下有效,默认值为0时,使用驱动默认帧率;值不为0时,使用设 定的帧率值。 |
固定帧率模式:要求使能isFpsFix。FpsValue为0时,固定使用驱动内的默认帧率;值不为0时,使用设定的帧率值。固定帧率模式下,最大的曝光时间将由帧率和AecRoute中设置的最大曝光时间共同决定。当AecRoute中设置的最大曝光时间超过当前固定帧率的限制,算法内部则会对最大曝光时间进行校正。自动降帧模式:要求isFpsFix置0,此时FpsValue值无效。自动降帧模式的最小帧率由AecRoute中的最大曝光时间和SensorInfo中的CISMinFps共同决定。AecRoute中的最大曝光时间超过CISMinFps所允许的最大曝光时间时,算法内部将对该值进行校正。当前曝光分解后,若曝光时间大于驱动默认帧率所允许的曝光时间,则会通过修改vblank值,实现降低帧率提高曝光时间;若曝光时间小于等于驱动默认帧率所允许的曝光时间,则当前帧率设置为驱动的默认帧率。自动降帧的具体实现需要依赖AecRoute参数,在AecRoute中设置增益阈值,当增益大于阈值时,触发降帧。
AecAntiFlicker
自动曝光抗工频闪烁属性
| 成员名称 | 描述 |
|---|---|
| enable | 抗工频闪烁功能使能,该值为1时,开启抗工频闪烁功能,反之则关闭。 |
| Frequency | 设置工频,共两种:FLICKER 50HZ和FLICKER 60HZ _ _ |
| Mode | 抗工频闪烁工作模式,共两种模式:NORMAL模式,AUTO模式。通过不同的工作 模式,调整曝光时间,实现抗工频闪烁。 |
enable使能为0时,代表关闭抗闪功能。NORMAL抗闪模式:最小曝光时间以及曝光时间调整步进固定为1/120 s(60Hz)或1/100 s (50Hz)。因此在高亮度环境下,可能会发生过曝。有灯光的环境,曝光时间可以与光源频率相匹配,可以防止图像闪烁AUTO抗闪模式:曝光时间根据亮度进行调节,最小曝光时间可以到达sensor最小曝光时间,与normal抗闪模式的区别在于高亮度环境,能够抑制过曝,但抗闪失效。工频闪烁是无法完全消除,需要根据当前使用场景及产品应用,选择合适的工作模式Mode。NOMRAL模式可以完全抑制工频闪烁,但是高亮环境下会发生过曝,图像信息有损失;AUTO模式可以避免过曝,但是高亮环境下会出现工频闪烁,此时建议将帧率设置为30fps(60HZ)或者25fps(50HZ)。
AecEnvLvCalib
环境亮度标定参数
| 成员名称 | 描述 |
|---|---|
| CalibFNumber | 环境亮度标定时的基准相对光圈大小,该值与镜头有关 |
| CurveCoeff | 环境亮度标定曲线系数 |
该参数暂时无效,环境亮度标定功能暂不可用
4.1.2.2 AEC模块线性曝光调试参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| RawStatsEn | 调试参数 | 用户调试参数 一般为默认值 |
| EvBias | 调试参数 | 用户调试参数 |
| ToleranceIn/Out | 调试参数 | 用户调试参数 |
| StrategyMode | 调试参数 | 用户调试参数 |
| Route | 调试参数 | 用户调试参数 |
| InitExp | 调试参数 | 用户调试参数 |
| DySetpoint | 调试参数 | 用户调试参数 |
| BackLightCtrl | 调试参数 | 用户调试参数 |
| OverExpCtrl | 调试参数 | 用户调试参数 |
RawStatsEn
线性曝光支持使用Raw域统计亮度或RGB域统计亮度来计算曝光,根据具体应用需求可以切换。默认使用raw图统计值,即该位置1.
RawStatsEn = 0 , 表示使用RGB图(gamma前)的统计值计算曝光RawStatsEn = 1 , 表示使用raw图(已减黑电平,并乘上白平衡gain值)的统计值计算曝光
356X平台线性曝光仅支持raw域统计,因此该参数仅可设置为1。
ToleranceIn/Out
自动曝光调节时,画面亮度的容忍度。单位为%,取值范围为[0,100]
当自动曝光收敛时画面亮度值B应在 [真实生效目标亮度 X(1-容忍度/100), 真实生效目标亮度X(1+容忍度/100)] 范围内。
ToleranceIn代表曝光未收敛时的容忍度,ToleranceOut代表曝光收敛时的容忍度。建议ToleranceIn < ToleranceOut,可避免曝光变动过于灵敏,用于稳定曝光。
EvBias
自动曝光调节时,曝光量的偏差百分比,单位为%,取值范围为[-200,+200]
用于特殊场景下对(固定/动态)目标亮度值(SetPoint/NightSetPoint)进行调整。真实生效目标亮度为(SetPoint/ NightSetPoint)*[1+abs(EvBias)/100]^[EvBias/abs(EvBias)]。
如设置EvBias=100时,亮度为默认参数的2倍;EvBias=-100时,亮度为默认参数的1/2。
如上述的toleranceIn/Out设置较大,一方面会影响AE的响应速度,一方面会影响EvBias值。当EvBias调整的间隔值低于toleranceIn/Out,有可能导致亮度调整不生效。StrategyMode
自动曝光策略模式,高光优先或低光优先
目前该参数暂无效
Route
自动曝光分解策略属性。用于设定AE曝光分解路线,AE算法计算得到的曝光量将按照设定的路线进行分配,用户可以根据具体应用的需求,将路线设定为曝光时间优先(快门优先)、增益优先、光圈优先。
LinearAE
| 成员名称 | 描述 |
|---|---|
| TimeDot | 曝光时间节点,单位为秒 |
| GainDot | sensor增益节点,此处增益值为实际值,单位为1x |
| IspgainDot | Isp数字增益节点,此处增益值为实际值,单位为1x |
| PIrisDot | 光圈等效增益节点,此处增益值为实际值,单位为1x |
图4-2 曝光分解示意图
曝光分解曲线节点个数不限,建议至少设置6个节点,以防曝光分解过渡不平滑。
节点的曝光量是曝光时间、sensor增益、ISP数字增益、光圈等效增益等各分量的乘积。节点曝光量必须单调递增,即后一个节点的曝光量必须大于前一个节点的曝光量。第一个节点的曝光量最小,第二个节点的曝光量最大。节点中曝光时间分量的单位为秒,最小值允许为0,实际最小曝光时间代码内部会根据sensor限制进行校正。光圈分量仅支持P-Iris, 不支持DC-Iris。P-iris等效增益分量仅在Airis自动光圈功能使能时有效,否则默认光圈固定为初始值大小。P-iris等效增益的计算详见AecIrisCtrl模块。设置的曝光分解路线节点不是最终生效的曝光分解路线。系统最终各曝光分量的实际最大/小值由曝光分解节点和手动配置的曝光分量最大/小值共同决定。先对曝光分解路线节点最大/小值做第一次校正,当节点最大/小值不超过sensor或isp的限制时,节点最大/小值不变;当节点最大/小值超过sensor或isp的限制时,节点最大/小值以sensor或isp的限制为准。当手动配置的曝光分量最大/小值为0时,最终生效的曝光分解路线以第一次校正的分解路线为准;当手动配置的曝光分量最大/小值不为0时,且设置的最大/小值不超过sensor或isp的限制时,对曝光分解路线做第二次校正,节点最大/小值以手动设置的范围为准;若设置曝光分量的最大/小值超过sensor或isp的限制时,曝光分解路线曝光分量的节点最大/小值以第一次校正结果为准。如果相邻节点的曝光量增加,则应该只有一个曝光分量增加,其他曝光分量固定。增加的分量决定该段路线的分配策略。例如增益分量增加,其他分量固定,那么该段路线的分配策略是增益优先。356X平台目前暂不支持ISP数字增益,故IspgainDot参数暂无效。
InitExp
线性曝光模式初始值设置。
| 成员名称 | 描述 |
|---|---|
| InitTimeValue | 初始曝光时间值,单位为秒 |
| InitGainValue | 初始sensor增益值,此处增益值为实际值,单位为1x |
| InitIspDGainValue | 初始ISP数字增益值,此处增益值为实际值,单位为1x |
| InitPIrisGainValue | 初始P光圈等效增益值,此处增益值为实际值,单位为1x |
| InitDCIrisDutyValue | 初始DC光圈占空比值,取值范围为[0,100] |
自动曝光初始值未设置时(即各值皆为0时),采用系统默认值。自动曝光初始值的大小,受自动曝光分解曲线的最大/小值限制。当自动曝光初始值的大小超出或低于自动曝光分解曲线的最大/小值,则用自动曝光分解曲线的最大/小值代替。自动曝光P光圈等效增益初始值,仅在光圈类型为P光圈时有效,默认初始值为P光圈所支持的最大光圈对应的等效增益值。等效增益的含义说明详见光圈调试参数IrisCtrl模块。自动曝光DC光圈占空比初始值,仅在光圈类型为DC光圈时有效,默认初始值为DC光圈的MaxPwmValue值,此时DC-iris将以最大速度打开光圈。占空比及MaxPwmValue的含义说明详见光圈调试参数IrisCtrl模块。356X平台目前暂不支持ISP数字增益,故InitIspDGainValue无效。
DySetpoint
动态目标亮度值设置。
| 成员名称 | 描述 |
|---|---|
| ExpLevel | 动态曝光量节点属性,节点值为当前曝光量值,节点个数不限,建议至少设置6个 节点,以防曝光过渡不平滑。 |
| DySetpoint | 动态目标亮度值节点属性,节点值随曝光量动态变化,曝光量节点值越大,目标 亮度节点值越小,并与曝光量节点一一对应。节点个数不限,需要与ExpLevel节 点个数一致,建议至少设置6个节点,以防曝光过渡不平滑。 |
ExpLevel为当前曝光量值,即(Curgain * Curtime)。需要设置固定目标值,则DySetpoint中各节点值可设置为相同值。设置DySetpoint的节点时,尽量让各节点的值随着ExpLevel平滑变化,防止出现闪烁。
BackLightCtrl
背光补偿功能,即背光场景下,支持背光暗区的亮度抬亮,重现暗区细节。
| 成员名称 | 描述 |
|---|---|
| Enable | 模块使能位,1:使能, 0:关闭 |
| MeasArea | 暗区检测区域,共包含6种模式:AUTO, UP, BOTTOM, LEFT, RIGHT, CENTER |
| LumaDistTh | 区域增长容忍度。 |
| OEROILowTh | 过曝区域亮度最低值,用于区分过曝区域与非过曝区域 |
| LvHighTh | 环境亮度高阈值 |
| LvLowTh | 环境亮度低阈值 |
| ExpLevel | 动态曝光量节点属性,节点值为当前曝光量值,节点个数不限,建议至少 设置6个节点,以防曝光过渡不平滑。节点值即为曝光值(gain*time, time以s为单位) |
| NonOEPdfHighTh | 非过曝区域占比阈值(0~1), 节点个数不限,建议至少设置6个节点,以防 曝光过渡不平滑。节点个数需要与ExpLevel一致,节点值需要与ExpLevel 一一对应。 |
| LowLightPdfTh | 暗区占比阈值(0~1),节点个数不限,建议至少设置6个节点,以防曝光 过渡不平滑。节点个数需要与ExpLevel一致,节点值需要与ExpLevel一一 对应。 |
| TargetLLLuma | 动态暗区亮度目标值,节点个数不限,建议至少设置6个节点,以防曝光过 渡不平滑。节点个数需要与ExpLevel一致,节点值需要与ExpLevel一一对 应,随着ExpLevel增大而减小。 |
背光补偿功能中重要的一步是需要确定处于背光的暗区位置(感兴趣区域),继而通过提升曝光抬亮暗区亮度。背光暗区的检测分为自动模式和手动模式,在MeasArea中进行配置,共包含6种模式:AUTO, UP, BOTTOM, LEFT, RIGHT, CENTER。当MeasArea配置为AUTO时,即代表背光暗区采用自动检测模式。当MeasArea配置为UP, BOTTOM, LEFT, RIGHT或CENTER时,代表手动模式,暗区位置以手动设定为准。当MeasArea配置为AUTO时,会根据子窗口的亮度分布和当前场景背光概率,寻找暗区。当前场景的背光概率,主要由3个因子组成:环境亮度因子(Lv_fac)、暗区占比因子(DarkPdf_fac)、对比度因子(Contrast_fac)。与3个因子相关的参数说明见后文。环境亮度Lv=meanluma/exp/1000 (exp=gain*time, unit:s) LvHighTh: 环境亮度高阈值,该值越大,则越不容易触发背光补偿,反之,则容易触发背光补偿。等价于区分室内室外的环境亮度阈值,建议LvHighTh=setpoint/(室外曝光)。当MeasArea配置为AUTO时,该参数有效。LvLowTh: 环境亮度低阈值,该值越大,则越不容易触发背光补偿,反之,则容易触发背光补偿。等价于区分室内亮暗环境的环境亮度阈值,建议LvHighTh=setpoint/(室内暗环境曝光)。当MeasArea配置为AUTO时,该参数有效。以上环境亮度的高低阈值用于计算环境亮度因子。LowLightPdfTh 暗区占比阈值,影响暗区占比因子计算。暗区占比之不宜过大,否则容易触发背光补偿,导致室内环境出现亮度过量情况。建议亮环境暗区占比阈值控制在20%以内,随着环境亮度降低,暗区占比阈值增大。当MeasArea配置为AUTO时,该参数有效。当MeasArea配置为UP, BOTTOM, LEFT, RIGHT或CENTER时,代表手动模式,暗区位置以手动设定为准。当指定区域亮度低于暗区目标亮度值时,加大曝光提升指定区域亮度;当指定区域亮度高于暗区目标亮度值时,说明此时指定区域不是暗区,或者当前场景不是背光场景,那么曝光的增减改由全局亮度决定。即该模式下背光补偿仅在指定区域的亮度低于暗区目标亮度值时开启。TargetLLLuma暗区亮度目标值。暗区亮度目标值不要超过全局亮度目标值的50%,建议控制在全局目标亮度的40%~50%,否则可能出现背光场景下亮度过亮的现象。MeasArea配置为任意值,该参数皆有效。
OverExpCtrl
强光抑制模块,降低曝光减轻画面过曝程度。
| 成员名称 | 描述 |
|---|---|
| Enable | 模块使能位,1:使能, 0:关闭 |
| HighLightTh | 高亮区域的亮度阈值,取值范围[0,255] |
| LowLightTh | 低亮区域的亮度阈值,取值范围[0,255] |
| MaxWeight | 最大权重值 |
| OEPdf | 过曝区域占比,节点个数不限,建议至少设置6个节点,以防曝光过渡不平 滑,占比值从小到大变化,取值范围[0,1] |
| HighLightWeight | 高亮区域权重,节点个数不限,建议至少设置6个节点,以防曝光过渡不平 滑,与过曝区域占比节点相对应,最大值受MaxWeight限制。 |
| LowLightWeight | 低亮区域权重,节点个数不限,建议至少设置6个节点,以防曝光过渡不平 滑,与过曝区域占比节点相对应,最大值受MaxWeight限制。 |
HighLightTh表示高亮区域的亮度阈值,亮度高于该阈值的区域皆视为高亮区域,对应权重为HighLightWeight。LowLightTh 表示低亮区域的亮度阈值,亮度低于该阈值的区域皆视为低亮区域,对应权重为LowLightWeight。亮度位于LowLightTh与HighLightTh之间的区域,其权重值为LowLightWeight与HighLightWeight的插值。HighLightWeight越大,强光抑制的力度越大,反之则越小。LowLightWeight越大,强光抑制的力度越小,反之则越大。建议HighLightWeight控制在14范围内,LowLightWeight控制在0.71范围内。强光抑制模块,如对任何存在过曝区域的场景都进行强光抑制,则许多场景将出现画面整体过暗的现象。因此HighLightWeight不宜过大,建议随着过曝区域占比的增大,HighLightWeight减小,用以避免强光抑制力度过大,导致画面整体亮度过暗。强光抑制模块开启时,建议同时开启线性TMO功能,防止强光抑制过程中,暗区过暗的问题。
4.1.2.3 AEC模块HDR曝光调试参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| ToleranceIn/Out | 调试参数 | 用户调试参数 |
| StrategyMode | 调试参数 | 用户调试参数 |
| EvBias | 调试参数 | 用户调试参数 |
| ExpRatioCtrl | 调试参数 | 用户调试参数 |
| Route | 调试参数 | 用户调试参数 |
| InitExp | 调试参数 | 用户调试参数 |
| LongFrmMode | 调试参数 | 用户调试参数 |
| LframeCtrl | 调试参数 | 用户调试参数 |
| MframeCtrl | 调试参数 | 用户调试参数 |
| SframeCtrl | 调试参数 | 用户调试参数 |
ToleranceIn/Out
画面亮度的容忍度。单位为%,取值范围为[0,100]
当自动曝光收敛时画面亮度值B应在 [真实生效目标亮度 X(1-容忍度/100), 真实生效目标亮度X(1+容忍度/100)] 范围内。
ToleranceIn代表曝光未收敛时的容忍度,ToleranceOut代表曝光收敛时的容忍度。建议ToleranceIn < ToleranceOut,可避免曝光变动过于灵敏,用于稳定曝光。
StrategyMode
自动曝光策略模式,高光优先或低光优先.
高光优先:HIGHLIGHT_PRIOR
低光优先:LOWLIGHT_PRIOR
此参数在不同曝光比模式下,表现不同,详见ExpRatioCtrl参数。
EvBias自动曝光调节时,曝光量的偏差百分比,单位为%,取值范围为[-200,+200]。用于特殊场景下对目标亮度值进行调整。真实生效目标亮度为目标值 X [1+abs(EvBias)/100]^[EvBias/abs(EvBias)]。
如设置EvBias=100时,目标亮度为默认参数的2倍;EvBias=-100时,目标亮度为默认参数的1/2。
如上述的toleranceIn/Out设置较大,一方面会影响AE的响应速度,一方面会影响EvBias值。当EvBias调整的间隔值低于toleranceIn/Out,有可能导致亮度调整不生效。
InitExp
Hdr曝光模式初始值设置。
| 成员名称 | 描述 |
|---|---|
| InitTimeValue | 初始曝光时间值,单位为秒 |
| InitGainValue | 初始sensor增益值,此处增益值为实际值,单位为1x |
| InitIspDGainValue | 初始ISP数字增益值,此处增益值为实际值,单位为1x |
| InitPIrisGainValue | 初始P光圈等效增益值,此处增益值为实际值,单位为1x |
| InitDCIrisDutyValue | 初始DC光圈占空比值,取值范围为[0,100] |
自动曝光初始值未设置时(即各值为0时),采用系统默认值。自动曝光初始值的大小,受自动曝光分解曲线的最大/小值限制。当自动曝光初始值的大小超出或低于自动曝光分解曲线的最大/小值,则用自动曝光分解曲线的最大/小值代替。部分sensor在HDR曝光模式下对初始曝光有特殊要求,如os04a10,其要求短帧的初始曝光需要低于0.005s。自动曝光P光圈等效增益初始值,仅在光圈类型为P光圈时有效,默认初始值为P光圈所支持的最大光圈对应的等效增益值。等效增益的含义说明详见AecIrisCtrl模块。自动曝光DC光圈占空比初始值,仅在光圈类型为DC光圈时有效,默认初始值为DC光圈的MaxPwmValue值,此时DC-iris将以最大速度打开光圈。占空比及MaxPwmValue的含义说明详见AecIrisCtrl模块。356X平台目前暂不支持ISP数字增益,故InitIspDGainValue无效。
Route
自动曝光分解策略属性。用于设定AE曝光分解路线,AE算法计算得到的曝光量将按照设定的路线进行分配,用户可以根据具体应用的需求,将路线设定为曝光时间优先(快门优先)、增益优先、光圈优先。
| 成员名称 | 描述 |
|---|---|
| Frm0/1/2TimeDot | 曝光时间节点,单位为秒。Hdr 2帧模式时,仅Frm0/1TimeDot有 效;Hdr 3帧模式时,Frm0/1/2TimeDot皆有效。Frm0~3依次为曝光 量从短至长的帧序号。 |
| Frm0/1/2GainDot | sensor增益节点。Hdr 2帧模式时,仅Frm0/1GainDot有效;Hdr 3帧 模式时,Frm0/1/2GainDot皆有效。此处增益值为实际值,单位为 1x。Frm0~3依次为曝光量从短至长的帧序号。 |
| Frm0/1/2IspDGainDot | Isp数字增益节点。Hdr 2帧模式时,仅Frm0/1IspDGainDot有效; Hdr 3帧模式时,Frm0/1/2IspDGainDot皆有效。此处增益值为实际 值,单位为1x。Frm0~3依次为曝光量从短至长的帧序号。 |
| PIrisDot | 光圈等效增益节点,此处增益值为实际值,单位为1x |
图4-2 曝光分解示意图
曝光分解曲线节点个数不限,建议至少设置6个节点,才可实现曝光分解的平滑。需要注意的是:HDR 2帧模式下,仅需设置Frm0/1TimeDot、Frm0/1GainDot、Frm0/1IspDGainDot,分别对应实际的短、长帧;HDR 3帧模式下,需设置Frm0/1/2TimeDot、Frm0/1/2GainDot、Frm0/1/2IspDGainDot,分别对应短、中、长帧。设置HDR模式下各帧的sensor曝光时间时,需要合理分配曝光时间,各帧曝光时间的总和不能超过帧率所允许的最大曝光时间!
节点的曝光量是曝光时间、sensor增益、ISP数字增益、光圈等效增益等各分量的乘积。节点曝光量必须单调递增,即后一个节点的曝光量必须大于前一个节点的曝光量。第一个节点的曝光量最小,第二个节点的曝光量最大。节点中曝光时间分量的单位为秒,最小值允许为0,实际最小曝光时间代码内部会根据sensor限制进行校正。光圈分量仅支持P-Iris, 不支持DC-Iris。P-iris等效增益分量仅在Airis自动光圈功能使能时有效,否则默认光圈固定为初始值大小。P-iris等效增益的计算详见AecIrisCtrl模块。设置的曝光分解路线节点不是最终生效的曝光分解路线。系统最终各曝光分量的实际最大/小值由曝光分解节点和手动配置的曝光分量最大/小值共同决定。先对曝光分解路线节点最大/小值做第一次校正,当节点最大/小值不超过sensor或isp的限制时,节点最大/小值不变;当节点最大/小值超过sensor或isp的限制时,节点最大/小值以sensor或isp的限制为准。当手动配置的曝光分量最大/小值为0时,最终生效的曝光分解路线以第一次校正的分解路线为准;当手动配置的曝光分量最大/小值不为0时,且设置的最大/小值不超过sensor或isp的限制时,对曝光分解路线做第二次校正,节点最大/小值以手动设置的范围为准;若设置曝光分量的最大/小值超过sensor或isp的限制时,曝光分解路线曝光分量的节点最大/小值以第一次校正结果为准。如果相邻节点的曝光量增加,则应该只有一个曝光分量增加,其他曝光分量固定。增加的分量决定该段路线的分配策略。例如增益分量增加,其他分量固定,那么该段路线的分配策略是增益优先。356X目前暂不支持ISP数字增益,故Frm0/1/2ispDGainDot皆无效。
ExpRatioCtrl
HdrAE曝光比控制模块。
| 成员名称 | 描述 |
|---|---|
| ExpRatioType | 曝光比模式,仅在Hdr模式多帧合成下有效 AUTO:根据场景,自动计算长短 帧的曝光比 FIX:长短帧采用固定曝光比 |
| RatioExpDot | 表示曝光量节点,根据曝光量,动态设置曝光比固定值或曝光比最大值,二者 一一对应。节点个数不限,建议至少设置6个节点,才可实现曝光过渡的平滑。 |
| M2SRatioFix | 节点个数不限,建议至少设置6个节点,才可实现曝光过渡的平滑。节点个数需 要与 RatioExpDot节点个数一致。 ExpRatioType = AUTO时,无效。 ExpRatioType = FIX时,表示中帧与短帧的曝光比,与曝光量节点RatioExpDot 一一对应。。 |
| L2MRatioFix | 节点个数不限,建议至少设置6个节点,才可实现曝光过渡的平滑。 节点个数 需要与 RatioExpDot节点个数一致。ExpRatioType = AUTO时,无效。 ExpRatioType = FIX时,表示长帧与中帧的曝光比,与曝光量节点RatioExpDot 一一对应。 Hdr为2帧合成时无效,3帧合成时有效。 |
| M2SRatioMax | 节点个数不限,建议至少设置6个节点,才可实现曝光过渡的平滑。 节点个数 需要与 RatioExpDot节点个数一致。ExpRatioType = AUTO时,表示中帧与短 帧的曝光比动态最大值,与曝光量节点RatioExpDot一一对应。 ExpRatioType = FIX时,无效 |
| L2MRatioMax | 节点个数不限,建议至少设置6个节点,才可实现曝光过渡的平滑。 节点个数 需要与 RatioExpDot节点个数一致。 ExpRatioType = AUTO时,表示长帧与中 帧的曝光比动态最大值,与曝光量节点RatioExpDot一一对应。 Hdr为2帧合成时 无效,3帧合成时有效。 ExpRatioType = FIX时,无效。 |
ExpRatioType为AUTO,采用自动曝光比模式。2帧模式下,长短帧的最大曝光比受M2SratioMax限制;3帧模式下,中短帧的最大曝光比受M2SratioMax限制,长中帧的最大曝光比受L2MratioMax限制。最小曝光比无限制,不得低于1。ExpRatioType为FIX,采用固定曝光比模式。2帧模式下,长短帧的曝光比为M2SRatioFix;3帧模式下,中短帧的曝光比为M2SRatioFix,长中帧的曝光比为L2MratioFix。自动曝光比模式,2帧HDR模式下,当AEC控制算法模块求得的长短帧曝光比超过最大曝光比M2SratioMax限制时,根据StrategyMode选择需要优先保证曝光的帧。StrategyMode = HIGHLIGHT_PRIOR,优先保证短曝帧的曝光,长曝帧曝光=短曝帧曝光*M2SratioMax;StrategyMode = LOWLIGHT_PRIOR,优先保证长曝帧的曝光,短曝帧曝光=长曝帧曝光/M2SratioMax。以此类推,3帧HDR模式下,当StrategyMode = HIGHLIGHT_PRIOR,优先保证曝光较短帧的曝光;StrategyMode = LOWLIGHT _PRIOR,优先保证曝光较长帧的曝光。固定曝光比模式,2帧HDR模式下,StrategyMode = HIGHLIGHT_PRIOR,以短曝帧的曝光为准,计算长曝帧曝光,等于短曝帧曝光* M2SRatioFix;StrategyMode = LOWLIGHT_PRIOR,以长曝帧的曝光为准,计算短曝帧曝光,等于长曝帧曝光/ M2SRatioFix。3帧HDR模式时,以此类推。LongFrmMode
HdrAE长帧模式功能控制模块
| 成员名称 | 描述 |
|---|---|
| Mode | 长帧模式,包括:NORMAL/AUTO LONGFRAME/LONGFRAME NORMAL: _ 正常Hdr模式。Ae和Hdr合成模块按照手动/自动曝光比进行工作。 AUTO LONGFRAME: 自动长帧模式。在曝光超过设定的阈值时,长帧曝光 _ 时间接近1帧所允许的最大值,合成模块只输出长帧。 LONGFRAME: 长帧 模式。AE将短帧曝光时间设为最小值,长帧曝光时间接近1帧所允许的最大 值,合成模块只输出长帧。 |
| SfrmMinLine | 长帧模式/自动长帧模式下,短帧最小曝光行。由于sensor的一些限制,长 帧模式下,短帧的最小曝光行可能无法达到sensor允许的最小曝光行,因此 需要另行设置。 |
| LfrmModeExpTh | 自动长帧模式下,当长帧曝光超过LfrmModeExpTh,切换为长帧模式 |
LframeCtrl
长帧调试参数。HdrAE策略中,2帧模式下,长帧需要兼容一般动态范围场景和背光场景,因此具有两个亮度约束条件:全局目标亮度和暗区目标亮度。在保证长帧全局亮度位于全局目标亮度的容忍区间内的同时,要求暗区亮度大于等于暗区目标亮度。
| 成员名称 | 描述 |
|---|---|
| OEROILowTh | 过曝区域亮度最低值,用于区分过曝区域与非过曝区域 |
| LvHighTh | 环境亮度高阈值 |
| LvLowTh | 环境亮度低阈值 |
| LExpLevel | 动态长帧曝光值节点参数,节点个数不限,建议至少设置6个节点,才可实 现曝光过渡的平滑。ExpLevel =gain*time(time 单位为s) |
| LSetPoint | 动态长帧全局目标亮度值,节点个数需要与LExpLevel保持一致,节点值与 LExpLevel各节点值一一对应。 |
| NonOEPdfHighTh | 非过曝区域占比阈值(0~1), 节点个数需要与LExpLevel保持一致,节点值 与LExpLevel一一对应。 |
| LowLightPdfTh | 暗区占比阈值(0~1),节点个数需要与LExpLevel保持一致,节点值与 LExpLevel各节点值一一对应,随着ExpLevel增大而增大。 |
| TargetLLLuma | 动态长帧暗区亮度目标值,节点个数需要与LExpLevel保持一致,节点值与 LExpLevel各节点值一一对应,随着ExpLevel增大而减小。 |
环境亮度Lv=meanluma/exp/1000 (exp=gain*time,unit:s) LvHighTh: 环境亮度高阈值,该值越大,则越不容易触发背光补偿,反之,则容易触发背光补偿。等价于区分室内室外的环境亮度阈值,建议LvHighTh=setpoint/(室外曝光)。LvLowTh: 环境亮度低阈值,该值越大,则越不容易触发背光补偿,反之,则容易触发背光补偿。等价于区分室内亮暗环境的环境亮度阈值,建议LvHighTh=setpoint/(室内暗环境曝光)。以上环境亮度的高低阈值用于计算环境亮度因子。LowLightPdfTh 暗区占比阈值,影响暗区占比因子计算。暗区占比之不宜过大,否则容易触发背光补偿,导致室内环境出现亮度过量情况。建议亮环境暗区占比阈值控制在20%以内,随着环境亮度降低,暗区占比阈值增大。建议暗区目标值不要超过全局目标值的50%,控制在全局目标亮度的40%~50%,否则可能出现背光场景下亮度过亮的现象。
MframeCtrl
中帧调试参数(仅Hdr 3帧时有效)
| 成员名称 | 描述 |
|---|---|
| MExpLevel | 动态中帧曝光值节点参数,节点个数不限,建议至少设置6个节点,才可实现曝光 过渡的平滑。ExpLevel =gain*time(time 单位为s) |
| MSetPoint | 动态中帧全局目标亮度值,节点个数需要与MExpLevel保持一致,节点值与 MExpLevel各节点值一一对应。随曝光增长,目标值降低。 |
SframeCtrl
短帧调试参数
| 成员名称 | 描述 |
|---|---|
| SExpLevel | 动态短帧最大曝光值节点参数,节点个数不限,建议至少设置6个节点, 才可实现曝光过渡的平滑。ExpLevel =gain*time(time 单位为s) |
| SSetPoint | 动态短帧全局平均亮度目标值,节点个数需要与MExpLevel保持一致,节点 值与MExpLevel各节点值一一对应。同区间内的亮区亮度目标值要求高于 对应全局亮度目标值。 |
| TargetHLLuma | 动态短帧高亮区均值目标值,节点个数需要与MExpLevel保持一致,节点 值与MExpLevel各节点值一一对应. |
| HLLumaTolerance | 设置短帧高亮区目标容忍百分比,单位为% |
| HLROIExpandEn | 短帧高亮区扩展使能。=1,忽略占比较小的高亮区,减小高亮区灵敏度; =0,对所有高亮区进行亮度抑制,增大高亮区灵敏度 |
4.1.2.4 AEC模块光圈调试参数
IrisCtrl光圈控制参数
| 成员名称 | 描述 |
|---|---|
| Enable | 自动光圈控制功能的使能 |
| IrisType | 光圈类型,P(即P-iris光圈)或DC(即DC-iris光圈) |
| ManualEn | 手动光圈使能 |
| ManualAttr | 手动光圈控制参数,仅在ManualEn=1时有效 |
| InitAttr | 光圈初始值参数 |
| PIrisAttr | P光圈控制参数 |
| DCIrisAttr | DC光圈控制参数 |
ManualAttr
| 成员名称 | 描述 |
|---|---|
| PIrisGainValue | 手动P光圈等效增益值,此处增益值为实际值,单位为1x,参数值受P光圈设 备限制,取值范围为[1,1024] |
| DCIrisHoldValue | 手动DC光圈HoldValue值,参数值与DC光圈设备有关,取值范围为[0,100] |
InitAttr
| 成员名称 | 描述 |
|---|---|
| PIrisGainValue | P光圈等效增益初始值,此处增益值为实际值,单位为1x,参数值受P光圈设 备限制,取值范围为[1,1024] |
| DCIrisHoldValue | DC光圈HoldValue值,参数值与DC光圈设备有关,取值范围为[0,100] |
PIrisAttr
| 成员名称 | 描述 |
|---|---|
| TotalStep | P-iris步进电机总步数,具体大小与P-iris镜头有关。 |
| EffcStep | P-iris步进电机的可用步数,具体大小与P-iris镜头有关。 |
| ZeroIsMax | P-iris步进电机step0是否对应最大光圈位置,具体取值与P-iris镜头有关。该值为 0,代表步进电机位置为step0时,光圈开到最小;该值为1,代表步进电机位置为 step0时,光圈开到最大。 |
| StepTable | P-iris步进电机位置与光圈等效增益的映射表,具体数值与P-iris镜头有关。 |
DCIrisAttr
| 成员名称 | 描述 |
|---|---|
| Kp | 比例系数, 用于限制光圈剧烈变化时光圈的开关速度,该值越大,光线剧烈变 化时光圈打开和关闭的速度越慢。该值过大,调节过程制动就会超前,致使调 节时间过长;该值过小,调节过程制动就会落后,从而导致超调增加。该值的 合理设置与DC-iris镜头及电路特性有关。建议值为0.5。 取值范围[0,1]。 |
| Ki | 积分系数,用于调节光圈的开关速度,该值越大光圈打开和关闭的速度越大。 该值过大,容易出现超调导致振荡;该值过小,光圈调节速度较慢、环境亮度 变化较剧烈时容易发生振荡。建议值为0.2。 取值范围[0,1]。 |
| Kd | 微分系数,用于调节光圈的开关速度,该值越大光圈打开和关闭的速度越大。 建议值为0.3。 取值范围[0,1]。 |
| MinPwmDuty | 最小PWM占空比,具体大小与DC-iris镜头、电路特性有关,单位为%。该值 越小,所支持的光圈关闭速度越快,但容易导致光圈振荡。取值范围 [0,100],默认值为0。 |
| MaxPwmDuty | 最大PWM占空比,具体大小与DC-iris镜头、电路特性有关,单位为%。该值 越大,所支持的光圈打开速度越快,该值过小,可能导致光圈尚未达到最大时 就退出光圈控制。取值范围[0,100],默认值为100。 |
| OpenPwmDuty | 光圈打开时的PWM占空比阈值,当光圈PWM占空比高于(不含) OpenPwmDuty时,光圈处于打开状态。具体大小与DC-iris镜头有关,单位 为%,取值范围[0,100]。 |
| ClosePwmDuty | 光圈关闭时的PWM占空比阈值,当光圈PWM占空比小于(不含) ClosePwmDuty时,光圈处于关闭状态。具体大小与DC-iris镜头有关,单位 为%,取值范围[0,100]。 |
自动光圈功能关闭时,对于DC-iris光圈,默认会打开到最大;对于P-iris光圈,默认会打开到最大光圈所对应的步进电机位置。如想改变上述光圈位置,可至InitAttr模块中修改PIrisGainValue、DCIrisHoldValue。ManualIrisEn,手动光圈控制使能。当光圈类型IrisType为P光圈时,仅PirisGainValue有效;当光圈类型为DC光圈时,仅DCIrisHoldValue有效。DCIrisHoldValue,手动模式下直接设置电机的PWM占空比值,取值范围[0,100]。手动模式下若设置为HoldValue值(即DCIrisAttr中ClosePwmDuty到OpenPwmDuty区间内的值),则DC光圈孔径维持在当前大小;若设置的值大于OpenPwmDuty,则光圈处于打开状态,该值越大打开的速度越大;若设置的值小于ClosePwmDuty,则光圈处于关闭状态,该值越小关闭的速度越大。自动光圈Airis算法的基本控制流程如下:针对DC-iris镜头,Airis根据当前亮度与目标亮度的偏差值,控制DC-iris镜头的光圈大小。当曝光达到最小值时,且当前亮度超出目标亮度容忍度范围,将退出AE控制,曝光时间及曝光增益固定不变,进入AIris控制范围。若当前画面亮度稳定且DC-iris的PWM占空值大于OpenPwmDuty时,认为当前光圈达到最大,退出AIris光圈控制,控制权交由AE。针对P-iris镜头,光圈控制通过AecRoute模块进行。P-iris镜头的光圈大小换算为等效增益,参与曝光分解计算。P-iris的步进电机位置与光圈等效增益映射表StepTable一般根据镜头厂家提供的步进电机位置与光圈孔径对应关系制作。P-iris的控制是通过AE的AecRoute模块来控制的,该模块将光圈孔径大小换算成等效增益,因此要求P-iris的光圈控制需要具有较好的线性度。等效增益的取值范围为[1,1024],用等效增益1024表示F1.0,等效增益512表示F1.4,以此类推,等效增益1表示F32.0。制作表时,需要将步进电机位置对应的光圈孔径换算为等效增益,填入StepTable中,并固定按照步进电机位置递增(即step0、step1……stepN)的顺序填入。TotalStep表示P-iris步进电机总步数,具体大小与P-iris镜头有关。EffcStep表示 P-iris步进电机的可用步数,一般要求小于TotalStep。因为为靠近光圈关闭端的位置,其对应等效增益的值误差较大,光圈调节过程中容易出现振荡,所以通常不会使用光圈关闭端附近的步进位置。表4-1为P-iris步进电机位置与光圈孔径和等效增益的对应表,以此表为例来说明StepTable该如何设置。表4-1中第1-2、4-5列的步进电机位置step和光圈孔径面积的对应关系为某镜头原厂提供。该款P-iris镜头的步进电机调节总步数为81,step0时对应的光圈孔径最大,标称最大光圈数为1.4。光圈数为1.4时对应的等效增益为512,故step0处对应的等效增益为512。其他孔径面积对应的等效增益,此处以step3为例,计算方式如下:step3的孔径面积为195.869,对应等效增益= 512*(195.869/201.062)= 499(四舍五入)。以此类推,其他步进电机位置对应的等效增益值也可据此算出。从表1-1中可知,步进电机位置靠近关闭端时,对应的孔径面积很小,与最大的孔径面积相差可达几千倍,对应的等效增益值误差较大,因此建议靠近光圈关闭端的步进电机位置不要使用,以免因为误差导致曝光振荡。将表中各步进电机位置对应的等效增益按照步进电机位置递增(即step0、step1……stepN)的顺序填入StepTable。DC-iris的OpenPwmDuty与ClosePwmDuty取值需要进行实测,其具体值与DC-iris镜头相关。对于部分镜头,存在当PWM占空比大于OpenPwmDuty时,光圈执行打开操作;当PWM占空比小于OpenPwmDuty时,光圈执行关闭操作;当PWM占空比大于等于ClosePwmDuty且小于等于OpenPwmDuty时,光圈稳定在当前位置,该区间内的值皆为HoldValue。另存在某些镜头,只存在一个光圈开关的阈值,即当PWM占空比大于该阈值时,光圈执行打开操作;当PWM占空比小于该阈值时,光圈执行关闭操作;当PWM占空比等于该阈值时,光圈稳定在当前位置,该阈值即为HoldValue。此时可令ClosePwmDuty = OpenPwmDuty = HoldValue。
表4-1 P-iris步进电机位置与光圈孔径和等效增益的对应表
| Step | 孔径面积(mm2) | 等效增益 | Step | 孔径面积(mm2) | 等效增益 |
|---|---|---|---|---|---|
| 0 | 201.062 | 512 | 41 | 56.653 | 144 |
| 1 | 200.759 | 511 | 42 | 53.438 | 136 |
| 2 | 198.583 | 506 | 43 | 50.282 | 128 |
| 3 | 195.869 | 499 | 44 | 47.188 | 120 |
| 4 | 192.879 | 491 | 45 | 44.159 | 112 |
| 5 | 189.677 | 483 | 46 | 41.197 | 105 |
| 6 | 186.293 | 474 | 47 | 38.307 | 98 |
| 7 | 182.744 | 465 | 48 | 35.49 | 90 |
| 8 | 179.035 | 456 | 49 | 32.751 | 83 |
| 9 | 175.271 | 446 | 50 | 30.093 | 77 |
| 10 | 171.484 | 437 | 51 | 27.519 | 70 |
| 11 | 167.681 | 427 | 52 | 25.034 | 64 |
| 12 | 163.865 | 417 | 53 | 22.642 | 58 |
| 13 | 160.036 | 408 | 54 | 20.347 | 52 |
| 14 | 156.198 | 398 | 55 | 18.154 | 46 |
| 15 | 152.351 | 388 | 56 | 16.068 | 41 |
| 16 | 148.499 | 378 | 57 | 14.096 | 36 |
| 17 | 144.642 | 368 | 58 | 12.245 | 31 |
| 18 | 140.783 | 359 | 59 | 10.522 | 27 |
| 19 | 136.925 | 349 | 60 | 8.935 | 23 |
| 20 | 133.069 | 339 | 61 | 7.484 | 19 |
| 21 | 129.217 | 329 | 62 | 6.169 | 16 |
| 22 | 125.371 | 319 | 63 | 4.987 | 13 |
| 23 | 121.535 | 309 | 64 | 3.936 | 10 |
| 24 | 117.709 | 300 | 65 | 3.014 | 8 |
| 25 | 113.897 | 290 | 66 | 2.22 | 6 |
| 26 | 110.1 | 280 | 67 | 1.55 | 4 |
| 27 | 106.321 | 271 | 68 | 1.003 | 3 |
| 28 | 102.562 | 261 | 69 | 0.577 | 1 |
| 29 | 98.826 | 252 | 70 | 0.268 | 1 |
| Step | 孔径面积(mm2) | 等效增益 | Step | 孔径面积(mm2) | 等效增益 |
|---|---|---|---|---|---|
| 30 | 95.115 | 242 | 71 | 0.075 | 0 |
| 31 | 91.431 | 233 | 72 | close | 0 |
| 32 | 87.777 | 224 | 73 | close | 0 |
| 33 | 84.156 | 214 | 74 | close | 0 |
| 34 | 80.569 | 205 | 75 | close | 0 |
| 35 | 77.02 | 196 | 76 | close | 0 |
| 36 | 73.51 | 187 | 77 | close | 0 |
| 37 | 70.043 | 178 | 78 | close | 0 |
| 38 | 66.621 | 170 | 79 | close | 0 |
| 39 | 63.247 | 161 | 80 | close | 0 |
| 40 | 59.923 | 153 |
4.1.2.5 AEC模块同步测试参数
SyncTest
曝光与统计的同步测试功能,支持按照给定间隔帧数,循环设置N组不同的曝光值。通过循环设置N组不同曝光值,可测试sensor的曝光时间和曝光增益、及DCG切换生效帧数是否正确,还可用于测试曝光的线性度,从而确认曝光时间和曝光增益的寄存器值转换公式及相关参数是否正确。
| 成员名称 | 描述 |
|---|---|
| Enable | 曝光与统计同步测试功能的使能 |
| IntervalFrm | 曝光切换间隔帧数 |
| AlterExp | 曝光切换参数 |
AlterExp
根据模式的不同,分为LinearAE和HdrAE两套参数。
| 成员名称 | 描述 |
|---|---|
| TimeValue | 曝光时间值 |
| GainValue | 曝光增益值 |
| IspDgainValue | Isp数字增益值 |
| DcgMode | Dcg模式值 |
| PIrisGainValue | P-iris等效增益值 |
4.1.2.5 sensorinfo参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| Gain2Reg | CIS驱动参数 | 以CIS datasheet为准,非调试参数 |
| Time2Reg | CIS驱动参数 | 以CIS datasheet为准,非调试参数 一般为默认值,无需修改 |
| CISGainSet | CIS驱动参数 | 以CIS datasheet为准,非调试参数 |
| CISTimeSet | CIS驱动参数 | 以CIS datasheet为准,非调试参数 |
| CISHdrSet | CIS驱动参数 | 以CIS datasheet为准,非调试参数 |
| CISDcgSet | CIS驱动参数 | 以CIS datasheet为准,非调试参数 |
| CISExpUpdate | CIS驱动参数 | 以CIS datasheet为准,非调试参数 |
| CISMinFps | CIS驱动参数 | 一般为默认值,如需设置更低帧率,可修改 |
| CISFlip | 调试参数 | 用户调试参数 根据产品应用设置翻转与镜像 |
sensorinfo参数模块,由驱动人员或tuning人员填写,用以告知和曝光相关的CIS参数信息,便于debug。要求tuning之前需要确认该模块的参数是否与sensor datasheet一致,否则可能导致曝光闪烁、HDR效果出错等问题。
Gain2Reg
sensor增益值转化为寄存器值的转换公式配置。由于不同sensor厂家的增益转换公式不同,大致可分为线性(包括分段线性、反比例)和非线性两种。非线性主要针对索尼等sensor原厂,目前仅支持dB模式的增益转换公式。
| 成员名称 | 描述 |
|---|---|
| IsLinear | 增益转换公式是否为线性,= 0 非线性模式有效,线性模式有效;=1 线性模式有 效,非线性模式无效 |
| Linear | 线性增益转换公式,支持分段线性。最多支持10段 |
| NonLinear | 非线性增益转换公式,目前仅支持dB模式 |
sensor增益转寄存器值公式中的sensor增益指sensor的total gain = again*dgain。若again与dgain的转换公式不同,支持分段设置,如上图所示,size需要做适应性修改。线性sensor增益转寄存器值公式,由3个系数构成(M0、C0、C1),系数说明如下:转换公式为: set to driver reg = (gain^M0)*C1 - C0+ 0.5 xml 参数对应:第一列: gain 区间起始值,第二列 gain 区间结束值,第三列: C1,第四列: C0,第五列: M0,第六列: gain 起始值对应 reg, 第七列: gain 结束值对应 reg非线性sensor增益转换公式,目前仅支持dB模式。dB模式对应的转换公式为:reg = 20log10(gain)10/3针对DCG模式,此处的sensor增益转化公式为LCG的增益转换公式。
【举例】
s5kgm1sp该sensor的模拟增益和数字增益转换公式不同,如图4-3、4-4所示,模拟增益寄存器值为模拟增益的32倍,数字增益寄存器值为数字增益的256倍。
图4-3 模拟增益转寄存器值示例
图4-4 数字增益转寄存器值示例
已知s5kgm1sp的模拟增益最大值为16X,数字增益最大值为16X,且Total gain = again*dgain。当Total gain <=16X时,again有效,dgain=1X;当Total gain > 16X时,again = 16X, dgain有效。因此填写转换公式时,[1,16]倍Total gain与[16,256]倍Total gain需要分开配置,具体配置如下:
[1.0000 16.0000 32.0000 0.0000 1.0000 32.0000 512.0000 16.0000 256.0000 16.0000 -512.0000 1.0000 768.0000 4608.0000 ]
[16,256]倍Total gain区间,模拟增益固定为16X(a_reg=16x32=512), 数字增益d_reg = dgain x 256,其对应的配置公式所得寄存器值reg=a_reg+d_reg = 512 + Total gain /16 x 256 = 512+Total gain x 16,即M0=1, C0=-512,C1=16。驱动中获取到应用下发的total gain寄存器值(以下用reg表示)需要做如下适应性修改:
if(reg <= 0x200){
a_reg = reg;
d_reg = 0x0100;
}else{
a_reg = 0x200;
d_reg = reg-0x200;
}
Time2Reg
sensor曝光时间转寄存器曝光行数的转换公式,由四个系数(C0、C1、C2、C3)组成。转换公式: line(曝光行) = C0*VTS + C1 + C2 * (time * pclk / HTS + C3) xml 对应参数:第一个: C0 ,第二个: C1, 第三个 C2,第四个 C3根据公式,反过来计算曝光时间为:Time = ((line - C0 x vts - C1) / C2 - C3)*hts/pclk
默认4个系数分别为0、0、1、0.5,求得的曝光行数以1行为步进。一般该值无需修改。
CISGainSet
与CIS相关的增益设置
| 成员名称 | 描述 |
|---|---|
| CISAgainRange | sensor模拟增益/LCG 支持的range,分别为最小值和最大值,其中最小 值不得低于1。 - 当sensor支持dual conversion gain时,此项可表示sensor支持的LCG range。 - 如遇到数字增益用于补足精度时,此项可表示sensor的total gain range。 |
| CISExtraAgainRange | sensor模拟增益(HCG) range,分别为最小值和最大值,其中最小值不 得低于1。 - 当sensor支持dual conversion gain时,此项表示sensor支持的HCG range。 - Range范围一般= CISAgainRange * dcg ratio,但也有例外,如 _ ov2718。具体以sensor原厂所给的datasheet为准。 - 当sensor不支持dual conversion gain时,此项无效,建议最大最小值 皆填1,方便debug查阅。 |
| CISDgainRange | Sensor支持的数字增益range,最小值不得低于1。 如遇到数字增益用于补足精度时,此项的最大最小值皆填1 |
| CISIspDgainRange | Isp数字增益range,最小值不得低于1 356x平台目前暂不支持ISP数字增益,该项最大最小值分别填1。 |
| CISHdrGainIndSetEn | Hdr模式下是否支持多帧的sensor曝光增益独立设置 - 值为0,代表多帧共用一个增益,如sensor gc2093; - 值为1,代表多帧支持独立设置增益。 该模式仅针对HDR stagger模式,HDR DCG模式该参数无效 |
CISTimeSet
与CIS相关的曝光时间设置,根据曝光的模式不同,分为Linear和HDR两种模式,其中HDR又分为2帧和3帧两种配置。
| 成员名称 | 描述 |
|---|---|
| CISLinTimeRegMaxFac | Linear曝光模式下,最大曝光时间行与VTS的关系,由两个系数 (C0,C1)组成 MaxTimeLine = C0*vts – C1 系数的具体值详见sensor原厂给出的datasheet |
| CISHdrTimeRegSumFac | Hdr曝光模式下,多帧最大曝光时间行之和与VTS的关系,由两个系 数(C0,C1)组成 MaxTimeLineSum = C0*vts – C1 系数的具体值详见sensor原厂给出的datasheet |
| CISTimeRegMin | 线性/HDR曝光模式sensor曝光时间行(寄存器值)允许的最小值, 为整型 |
| CISTimeRegOdevity | 线性/HDR曝光模式sensor曝光时间行奇偶性,由两个系数 (C0,C1)组成 Line = C0*x+C1 - 无奇偶限制:C0=1 C1=0 - 固定奇数行:C0=2 C1=1 - 固定偶数行:C0=2 C1=0 - 固定为N的整数倍行:C0=N C1=0 |
| CISTimeRegUnEqualEn | Hdr模式Sensor对各帧(S/M/L)曝光时间行不相等限制 - En=0 sensor Hdr模式允许各帧曝光时间行相等; - En=1 sensor Hdr模式不允许各帧曝光时间行相等。 |
| CISTimeRegMax | Hdr曝光模式sensor曝光时间行(寄存器值)允许的最大值,为整 型。 - 该参数由3个元素组成,Hdr2帧时前2个元素有效,分别代表短帧、 长帧对应的最大曝光时间行; Hdr3帧时3个元素皆有效,分别代表 短帧、中帧、长帧对应的最大曝光时间行。 - 一般sensor对Hdr模式下各帧的最大曝光时间行无限制,此时该参 数可填0,即代表sensor无最大曝光时间行的限制。当该值不为0 时,各帧的曝光时间最大行以该参数为准。以imx307为例,该 sensor对短帧的最大曝光行有限制,要求为222行,对长帧中帧则无 此限制。因此该参数可填写为:[222 0 0] |
CISHdrSet
HDR模式的相关设置参数
| 成员名称 | 描述 |
|---|---|
| Enable | Hdr模式使能,= 0 不支持Hdr模式;=1 支持Hdr模式使能。 |
| Support mode _ | Hdr采用的帧模式,共支持4种类型。分别为MODE 2 LINE/MODE 3 LINE, _ _ _ _ MODE 2 FRAME/MODE 3 FRAME _ _ _ _ |
| Line mode _ | Hdr采用的Line mode,目前仅支持DCG和STAGGER两种模式。注:DOL等 _ 同STAGGER,统一写为STAGGER模式 |
CISDcgSet
Dual conversion gain功能设置参数模块,包含线性和HDR模式。该模块用于控制DCG的切换,要求sensor支持DCG模式切换的配置。如sensor的DCG功能为内部自动切换时,该模块需要关闭。
| 成员名称 | 描述 |
|---|---|
| Support en _ | 是否支持Dual conversion gain功能,=1时该模块参数有效,=0 表示不支持 Dual conversion gain功能。 |
| dcg optype _ | Dual conversion gain功能切换模式,分为AUTO和MANUAL。 AUTO: 根据阈 值进行LCG/HCG的切换 MANUAL:不进行自动切换,采用固定值,以 dcgmode init为准。 _ |
| dcgmode init _ | 各帧Dual conversion gain模式的初始值。 |
| dcg ratio _ | conversion gain值 |
| sync switch _ | 同步切换开关(仅HDR模式下有效)。=1,各帧同步切换Dual conversion gain模式,以长帧为准;=0,各帧不同步切换Dual conversion gain |
| gain ctrl _ | 以曝光增益为准,切换Dual conversion gain。 lcg2hcg th:LCG转HCG阈值 _ hcg2lcg th:HCG转LCG阈值 _ |
该模块用于控制DCG的切换,要求sensor支持DCG模式切换的配置。如sensor的DCG功能为内部自动切换时,该模块需要关闭。Sensor采用HDR-DCG模式时,短曝帧固定为LCG, 长曝帧固定为HCG。因此需要将dcg_optype置为MANUAL,2帧时dcgmode_init = [0 1 0],3帧时dcgmode_init=[0 0 1]。若sensor不支持Dual conversion gain功能时,dcg_ratio需要置为1。
CISExpUpdate
曝光生效模块参数,该模块参数一般从sensor的datasheet获知。鉴于部分sensor在normal模式和Hdr模式下曝光的生效帧数不同,该模块需要按照模式分开填写。
| 成员名称 | 描述 |
|---|---|
| time update _ | sensor曝光时间生效帧数 |
| gain update _ | sensor曝光增益生效帧数 |
| dcg update _ | Dual conversion gain模式生效帧数 |
该模块的值需要以sensor原厂所给的datasheet为准,不可随意设置。如该模块值出错,可能导致曝光调节过程中出现闪烁。一般sensor的datasheet会描述曝光时间和增益的生效帧数。如曝光时间和增益在第n帧写入,n+2帧生效,则time_delay = 2, gain_delay =2,以此类推。部分sensor的曝光时间和增益生效帧数不同,如该模块参数出错,则有可能在曝光调节的过程中出现曝光时间和增益生效不同步,导致闪烁现象。
CISMinFps
允许最小帧率,用于自动降帧模式,限制最小帧率,以防低照环境下,帧率过低导致拖影严重影响效果。
CISFlip
Sensor输出图像方向控制。
bit 0,为镜像控制位(mirror)bit 1,为上下翻转控制位(flip)
4.1.2.5 moduleinfo参数
模组信息参数,该模块参数一般从模组的datasheet获知。
| 成员名称 | 描述 |
|---|---|
| FNumber | 模组镜头的相对孔径大小,无需调试,与镜头相关 |
| EFL | 模组镜头的焦距,无需调试,与镜头相关 |
| LensTavg | 镜头透过率,无需调试,与镜头相关 |
| IRCutTavg | IRCut透过率,无需调试,与镜头相关 |
该部分参数目前暂无效
4.1.3 调试步骤
AEC模块的调试主要包括AE的目标值调试、AE的曝光量分解路径调试、AE的权重调试、AE收敛速度调试等。在进行ISP调试前,需要确认sensor驱动是否正常工作,与CIS相关的曝光参数是否设置正确,避免曝光设置错误。
调试AEC之前还需要确保如下模块标定已完成且功能正确:BLC、AWB、LSC、CCM,gamma模块可使用默认gamma曲线。
步骤1.Sensor曝光参数设置
如4.1.2章节的参数介绍,在进行正式调试前,需要确保SensorInfo参数的正确性,避免曝光设置错误或出现闪烁等问题。这个模块的参数来源于sensor原厂的datasheet,需要调试人员和负责驱动编写人员密切注意。完成模块参数的填写后,可以开启调试上述AE模块同步测试功能SyncTest进行测试。SyncTest功能通过循环设置N组不同曝光值,可测试sensor的曝光时间和曝光增益、及DCG切换生效帧数是否正确,还可用于测试曝光的线性度,从而确认曝光时间和曝光增益的寄存器值转换公式及相关参数是否正确。
如标定前参数已经确认完毕,该步骤可以跳过。步骤2.设置AE权重参数
AEC的测光统计模块可统计直方图信息以及分块亮度信息。通过将画面等间隔的分割成NXN个块,每个块赋予对应的权重。针对感兴趣的区域可以加大权重,因此不同的应用需求,权重也会有差异。一般针对IPC使用场景,感兴趣的主体一般位于场景的中心,建议将中心区域的权重调高,周边区域的权重调低,突出中心区域;针对CVR使用场景,感兴趣的主体一般位于场景的中下区域(道路区域),建议将中下区域的权重调高,上部区域的权重降低(天空区域)。
图4-5 AEC权重参数
需注意,部分型号芯片硬件支持更多分块亮度统计。为了方便调试,调试文件中统一设置15X15的权重,由算法内部根据块数进行权重的扩充。
步骤3.设置AE曝光分解参数
AE控制算法模块计算出的曝光量需要分解为sensor曝光时间分量、sensor曝光增益分量、ISP数字增益分量及光圈分量,各分量分别设置给相应模块,共同实现曝光设置,以获得期望亮度的图像。分解操作由AecRoute模块参数完成,参数说明详见4.1.2章节。不同的应用场景需要设置不同的AecRoute:针对白天场景,一般要求限制曝光时间、优先调节增益,防止曝光时间过大造成的运动拖影;针对夜间场景,一般要求优先调节曝光时间,再调节曝光增益,以求提高画面信噪比,提升夜间亮度。
步骤4.设置AE目标亮度值
线性曝光模式建议开启动态目标亮度功能,以满足不同亮度场景的需求。线性模式的目标亮度设置涉及到DySetpoint、ToleranceIn/ToleranceOut、BackLightCtrl、OverExpCtrl参数等,各参数说明详见4.1.2章节。要求针对室内静态场景,亮度合适,不出现大面积过曝。环境从亮到暗,亮度能过平滑过渡。
HDR曝光模式,根据曝光比的模式及StrategyMode的不同,目标亮度值的调试步骤也有所区别。根据曝光比模式及StrategyMode,至相应帧的调试参数模块调节目标亮度参数。长帧目标亮度参数涉及到LSetPoint、TargetLLLuma,分别表示全局目标亮度及暗区目标亮度;中帧目标亮度参数涉及到MSetPoint,表示中帧的全局目标亮度;短帧目标亮度涉及到SSetPoint、TargetHLLuma,分别表示短帧的全局目标亮度和高光区域目标亮度。各参数说明详见4.1.2章节。
步骤5.设置AE收敛及响应速度
AE收敛及响应速度的调节影响到曝光响应速度、收敛速度及调节过程的平滑性。该步骤涉及到的参数包括AecRunInterval、AecSpeed、AecDelayFrmNum,各参数说明详见4.1.2章节。可以在室内静态场景,开关灯来检测光线剧烈变化时的收敛速度。收敛速度加快可能造成亮度缓慢变化时过渡不平滑或者过冲,因此需要进行权衡。
4.2 NR & SHARP
isp去噪模块包含 bayernr 2d, bayernr 3d, ynr和cnr4个模块。
isp锐化模块包含sharp一个模块。
NR pipeline框图
建议按照pipeline上的先后顺序进行噪声调试,每个模块调试时候都需要考虑模块前后级的效果相互影响以及综合的效果。
在噪声调试过程中,需要按照顺序将各个步骤的效果对应输出查看,好明确每个步骤对去噪的影响。
如查看bayernr2d效果,需对比未去噪原始图,和仅打开bayernr2d效果图。
如查看ynr效果,需要对比bayernr3d输出效果图,和仅经过ynr但是sharp关闭的图像对比。
以此类推。
4.2.1 BayerNR 2D
4.2.1.1 功能描述
bayernr 2d模块主要是对raw数据进行空域降噪的模块。模块内部会判断是否是hdr模式,转换去噪力度对hdr的长短帧同时进行降噪处理。
tuning过程需要对raw数据的噪声方差进行标定,来获取相应的标定数据,来更好的针对噪声特性进行去噪。
bayernr2d框图
4.2.1.2 关键参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| Enable | 调试参数 | 常调试参数 |
| SNR Mode _ | 模式参数 | dcg模式对应高低信噪比模式 |
| Sensor Mode _ | 模式参数 | sensor dcg模式 |
| ISO | 调试参数 | 常调试参数 |
| filter strength _ | 调试参数 | 常调试参数 |
| gauss guide _ | 调试参数 | 常调试参数 |
| lumapoint | 标定数据 | 标定工具产生参数 |
| sigma | 标定数据 | 标定工具产生参数 |
| edgesofts | 调试参数 | 不常调试参数 |
| ratio | 调试参数 | 常调试参数 |
| weight | 调试参数 | 常调试参数 |
Enable:
模块开关使能。1:模块打开,0:模块关闭。
ModeName
目前支持normal,hdr,gray 3个模式参数。
SNR_Mode
lcg和hcg对应不同噪声模式。
hsnr对应hcg, lsnr对应lcg模式。
Sensor_Mode
sensor支持的hcg和lcg模式,如果不支持dcg模式,默认采用lcg参数。
ISO
不同iso档位,对应不同调试参数。目前仅支持13档。filter_strength
去噪力度参数。取值范围[0, 15.9], 值越大,去噪力度越大。
gauss_guide
高斯导向是否使能。1:使能。0:关闭。
lumapoint/sigma
不同pixel亮度,对应不同噪声sigma曲线点。共16个点。
横坐标像素亮度,取值范围[0, 65535]
纵坐标噪声sigma曲线, 取值范围[0, 65535];
edgesofts:
影响空域权重。一般不需要修改。
ratio:
软阈值权重。取值范围[0, 0.99].。值越小,去噪力度越大。
值大于0.1,会导致整体去噪效果不明显。 值设置最好小于0.1。
新版参数算法有重新修改力度,力度可能上一句参考可能不准了。
Weight:
滤波输出权重,取值范围[0, 0.99], 值越大,去噪力度越大。
4.2.1.3 调试步骤
调试时:关闭bayernr3d, ynr, cnr, sharp等模块。
Bayernr2D可抑制高频噪声,影响图像细节和噪声形态。力度大时,噪声颗粒变低频,细节变少。
调节bayernr2D的力度,平衡噪声和细节损失。
低iso下,整体去噪力度小一些, filter_strength小一些, weight小一些。高iso下,建议可适当逐步增加力度, filter_strength大一些, weight大一些。
4.2.2 Bayernr3D
4.2.2.1 功能描述
此模块是在raw域数据上对图像进行时域的降噪和软阈值降噪处理。其中当前帧和IIR帧数据都会分为低频层和高频层分别进行处理降噪。
此模块tuning时候需要标定数据和bayernr 2d模块是采用相同的标定数据,来更好的针对噪声特性进行去噪。
bayernr3d框图
4.2.2.2 关键参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| Enable | 调试参数 | 常调试参数 |
| SNR Mode _ | 模式参数 | dcg模式对应高低信噪比模式 |
| Sensor Mode _ | 模式参数 | sensor dcg模式 |
| ISO | 调试参数 | 常调试参数 |
| filter strength _ | 调试参数 | 常调试参数 |
| sp filter strength _ _ | 调试参数 | 不常调试参数 |
| lo clipwgt _ | 调试参数 | 常调试参数 |
| hi clipwgt _ | 调试参数 | 常调试参数 |
| softwgt | 调试参数 | 常调试参数 |
| lumapoint | 标定数据 | 标定工具产生参数 |
| sigma | 标定数据 | 标定工具产生参数 |
Enable: Bayernr3d模块使能位,0:关闭,1:打开。
ModeName
目前支持normal,hdr,gray 3个模式参数。
SNR_Mode
lcg和hcg对应不同噪声模式。 hsnr对应hcg, lsnr对应lcg模式。
Sensor_Mode
sensor支持的hcg和lcg模式,如果不支持dcg模式,默认采用lcg参数。
ISO
不同iso档位,对应不同调试参数。目前仅支持13档。
filter_strength
时域降噪运动判断权重设置的力度,值越小,去噪力度越强, 物体越虚化拖影越大。
取值范围[0, 0.99]。
sp_filter_strength
默认不会使用到。默认选择模式,使用是上面filter_strength.
lo_clipwgt:
低频叠帧权重限制。值越小,叠帧越多,去噪效果更好。
取值范围[0.001, 1.0]。
hi_clipwgt高频叠帧权重限制。值越小,叠帧越多,去噪效果更好。
取值范围[0.001, 1.0]。
调试主要可先将clipwgt先设置0.125, 再来调试filter_strength的值。
Softwgt
软阈值权重。值越小,去噪越好。取值范围[0, 0.99];
Lumapoint/sigma
像素不同亮度对应的噪声曲线值。共16个点。
横坐标像素亮度,取值范围[0, 65535];
纵坐标噪声曲线值,取值范围[0, 65535]。
4.2.2.3 调试步骤
关闭bayernr2d,ynr,cnr,sharp模块
调节filter_strength,lo_clipwgt,hi_clipwgt 参数,平衡去噪和拖影水平。
正常多帧叠加去噪是不会影响噪声形态。
但是在多帧叠加后,bayernr3d里还有一个软阈值处理,所以会影响噪声形态。
软阈值处理越强,噪声颗粒会变的更低频。
4.2.3 YNR
4.2.3.1 功能描述
该模块在YUV域上对图像亮度信号进行去噪等处理。模块内部会利用上一帧下采样图像和当前帧图像进行双边去噪、软阈值去噪、边缘滤波等处理。
该去噪模块基于噪声标定结果,建立更符合噪声特性的去噪模型。
支持分别针对高信噪比与低信噪比2种噪声标定以及噪声参数,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。图4-2-3-1 YNR功能框图
4.2.3.2 关键参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| Enable | 调试参数 | 常调试参数 |
| SNR Mode _ | 模式参数 | dcg模式对应高低信噪比模式 |
| Sensor Mode _ | 模式参数 | sensor dcg模式 |
| iso | 调试参数 | 常调试参数 |
| ynr bft3x3 bypass _ _ | 调试参数 | 不常调试参数,开关内部模块 |
| ynr lbft5x5 bypass _ _ | 调试参数 | 不常调试参数,开关内部模块 |
| ynr lgft3x3 bypass _ _ | 调试参数 | 不常调试参数,开关内部模块 |
| ynr flt1x1 bypass _ _ | 调试参数 | 不常调试参数,开关内部模块 |
| ynr sft5x5 bypass _ _ | 调试参数 | 不常调试参数,开关内部模块 |
| rnr strength _ | 调试参数 | 常调试参数 |
| sigma curve _ | 标定数据 | 标定工具产生参数 |
| ynr ci _ | 标定数据 | 标定工具产生参数 |
| low bf _ | 调试参数 | 常调试参数 |
| low thred adj _ _ | 调试参数 | 常调试参数 |
| low peak supress _ _ | 调试参数 | 常调试参数 |
| low edge adj thresh _ _ _ | 调试参数 | 常调试参数 |
| low center weight _ _ | 调试参数 | 常调试参数 |
| low dist adj _ _ | 调试参数 | 常调试参数 |
| low weight _ | 调试参数 | 常调试参数 |
| low filt strength _ _ | 调试参数 | 常调试参数 |
| low bi weight _ _ | 调试参数 | 常调试参数 |
| base filter weight _ _ | 调试参数 | 不常调试参数 |
| high thred adj _ _ | 调试参数 | 常调试参数 |
| high weight _ | 调试参数 | 常调试参数 |
| high direction weight _ _ | 调试参数 | 不常调试参数 |
| hi min adj _ _ | 调试参数 | 常调试参数 |
| hi edge thed _ _ | 调试参数 | 常调试参数 |
Enable:
ynr模块使能开关,1:模块打开,0:模块关闭。ModeName
目前支持normal,hdr,gray 3个模式参数。
SNR_Mode
lcg和hcg对应不同噪声模式。
hsnr对应hcg, lsnr对应lcg模式。
Sensor_Mode
sensor支持的hcg和lcg模式,如果不支持dcg模式,默认采用lcg参数。
ISO
不同iso档位,对应不同调试参数。目前仅支持13档。不同iso档位,对应不同调试参数。目前仅支持13档。
ynr_bft3x3_bypass,ynr_lbft5x5_bypass,ynr_lgft3x3_bypass,ynr_flt1x1_bypass,ynr_sft5x5_bypass
模块内部子模块bypass功能。0:功能使能。 1:功能bypass。
一般情况,全部子模块都打开使能。
rnr_strength
图像中心,按照圆的半径r方向,进行去噪力度设置。
主要是为lsc这种噪声进行配置的。取值范围[0, 15.9 ]。
sigma_curve
噪声sigma曲线。ynr_ci
影响噪声sigma影响因子。值越大,噪声sigma越大,去噪力度越强。
第一行影响低频sigma。
第二行影响高频sigma。
low_bf
双边滤波力度参数。
第一行是原图3x3双边滤波力度,值越大,去噪越强。取值范围[0.32, 512]。
第二行是上一帧小图5x5双边滤波力度,值越大,去噪越强。取值范围[0.32, 512]。
low_thred_adj
低频软阈值的调整力度,值越大,低频降噪力度越大。取值范围[0, 31]。
low_peak_supress
控制去除孤立噪声的力度,值越小,去噪力度越大。取值范围[0, 1]。
low_edge_adj_thresh
小图边缘检测的调整系数的门限,用于限制调整系数所能取到的最大值。
值越小,去噪力度越大,图像越模糊。取值范围[0, 1023]整数。
low_center_weight
5x5 双边滤波时中心点的权重,该值越小,则降噪力度越强。
取值范围[0,1]。
low_dist_adj
双边滤波距离权重调整因子。值越小,去噪越强。取值范围[0, 63]。low_weight
低频去噪结果的权重,值越大,低频降噪力度越大。取值范围[0, 1]。
low_filt_strength
第一行对原图进行高斯滤波的滤波核权重。
第二行对双边滤波的结果进行高斯滤波的滤波核权重。
low_bi_weight
软阈值处理中使用的第一步双边滤波权重,该值越大,则降噪力度也越大。
取值范围[0, 1]。
base_filter_weight
方向滤波器的系数 。
high_thred_adj
软阈值的调整系数,该值越大,则高频降噪的力度也越大。
取值范围[0, 31]。
high_weight
高频去噪权重,注意该值表示的是保留的高频分量的比例,
值越小,则表示降噪力度越强. 取值范围[0, 1]。
high_direction_weight
各个方向的权重设置, 某一方向上该值越大,
表示沿着该方向的降噪力度越强。hi_min_adj
所有差异值减去的最小差异值的比例,该值越大,则边缘越锐利。
取值范围[0, 0.98]。
hi_edge_thed
对差异值作限制的门限,该值越小,则高频降噪力度越大。
取值范围[0, 255]的整数。
4.2.3.3 调试步骤
关闭sharp模块。
调节low bf, low thred adj, low weight, low bi weight等低频去噪参数,
调节high weight, high thred adj 等高频去噪参数,
调节rnr_strength,对边角噪声力度调节。
总体上平衡去噪和细节损失水平。去噪力度越大,噪声会变得低频化。
4.2.4 CNR
4.2.4.1 功能描述
本模块主要是针对uv数据进行彩色噪声降噪处理。和rk isp20的uvnr模块算法较为接近。
主要是图像分不同比例进行下采样处理,最后上采样回原图比例大小。
每个尺度上下采样同时进行中值滤波,然后对uv数据进行双边滤波,滤波时候会参考y的梯度对边缘色噪进行处理,最后和未去噪图像进行插值输出。
图4-2-3-1 CNR功能框图
4.2.4.2 关键参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| Enable | 调试参数 | 常调试参数 |
| SNR Mode _ | 模式参数 | dcg模式对应高低信噪比模式 |
| Sensor Mode _ | 模式参数 | sensor dcg模式 |
| iso | 调试参数 | 常调试参数 |
| hf bypass _ | 调试参数 | 不常调试参数,开关内部模块 |
| lf bypass _ | 调试参数 | 不常调试参数,开关内部模块 |
| cnr exgain _ | 调试参数 | 不常调试参数 |
| cnr g gain _ _ | 调试参数 | 不常调试参数 |
| color sat adj _ _ | 调试参数 | 常调试参数 |
| color sat adj alpha _ _ _ | 调试参数 | 常调试参数 |
| hf spikes reducion strength _ _ _ | 调试参数 | 常调试参数 |
| hf denoise strength _ _ | 调试参数 | 常调试参数 |
| hf color sat _ _ | 调试参数 | 常调试参数 |
| hf denoise alpha _ _ | 调试参数 | 常调试参数 |
| hf bf wgt clip _ _ _ | 调试参数 | 常调试参数 |
| thumb spikes reducion strength _ _ _ | 调试参数 | 常调试参数 |
| thumb denoise strength _ _ | 调试参数 | 常调试参数 |
| thumb color sat _ _ | 调试参数 | 常调试参数 |
| lf denoise strength _ _ | 调试参数 | 常调试参数 |
| lf color sat _ _ | 调试参数 | 常调试参数 |
| lf denoise alpha _ _ | 调试参数 | 常调试参数 |
| kernel 5x5 _ | 调试参数 | 常调试参数 |
Enable
模块开关使能。1:模块打开,0:模块关闭。
ModeName
目前支持normal,hdr,gray 3个模式参数。SNR_Mode
lcg和hcg对应不同噪声模式。 hsnr对应hcg, lsnr对应lcg模式。
Sensor_Mode
sensor支持的hcg和lcg模式,如果不支持dcg模式,默认采用lcg参数。
ISO
不同iso档位,对应不同调试参数。目前仅支持13档。
hf_bypass
高频降噪bypass. 0:不bypass, 1:bypass.
lf_bypass
低频降噪bypass.0:不bypass, 1:bypass.
cnr_exgain
3566没有externel gain,固定用1.0.
cnr_g_gain
放大externel gain,目前固定1.0.
color_sat_adj
基于梯度调整双边滤波的 uv 比例,1~255。值越小,去彩噪越好。
color_sat_adj_alpha color_sat_adj 调整的比例:0.0~1.0 。
hf_spikes_reducion_strength
高频中值滤波强度:0.0~1.0 。值越大,中值滤波越强。
hf_denoise_strength
高频双边滤波强度:1~1023,值越大,去彩噪越好。
hf_color_sat
高频双边滤波的 uv 比例因子:0.0~7.9.值越小,色彩饱和度下降越多。
hf_denoise_alpha
高频双边滤波中心点的权重:0~1.0。
hf_bf_wgt_clip
高频最小去噪力度:0-255的整数。值越大,去噪越强。
thumb_spikes_reducion_strength
缩略图中值滤波强度:0.0~1.0。值越大,中值滤波越强。
thumb_denoise_strength
缩略图双边滤波强度:1~1023。值越大,去彩噪越好。
thumb_color_sat
缩略图双边滤波的 uv 比例因子:0.0~7.9。值越小,色彩饱和度下降越多。lf_denoise_strength
低频双边滤波强度:1~1023。值越大,去彩噪越好。
lf_color_sat
低频双边滤波的 uv 比例因子:0.0~7.9。值越小,色彩饱和度下降越多。
lf_denoise_alpha
低频双边滤波中心点的权重:0.1~1.0
kernel_5x5
5x5双边滤波核。
4.2.4.3 调试步骤
关闭sharp模块。
调节各层denoise_strength, denoise_alpha和color_sat等参数。
控制高频和低频色噪的去除,权衡色度侵染、饱和度降低等瑕疵。
4.2.5 SHARP
4.2.5.1 功能描述
Sharpen模块用于增强图像的清晰度,算法和rk isp2x的算法接近。
主要是对高频数据进行提取,然后进行预滤波,锐化增强和噪声抑制,最后和未锐化原图插值叠加输出。
支持分别针对高信噪比与低信噪比2种噪声模式下锐化参数设置,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。图4-2-5-1 SHARP功能框图
4.2.5.2 关键参数
| 参数名称 | 参数类型 | 简要说明 |
|---|---|---|
| Enable | 调试参数 | 常调试参数 |
| SNR Mode _ | 模式参数 | dcg模式对应高低信噪比模式 |
| Sensor Mode _ | 模式参数 | sensor dcg模式 |
| iso | 调试参数 | 常调试参数 |
| luma point _ | 调试参数 | 常调试参数 |
| luma sigma _ | 调试参数 | 常调试参数 |
| pbf gain _ | 调试参数 | 常调试参数 |
| pbf add _ | 调试参数 | 常调试参数 |
| pbf ratio _ | 调试参数 | 常调试参数 |
| gaus ratio _ | 调试参数 | 常调试参数 |
| sharp ratio _ | 调试参数 | 常调试参数 |
| hf clip _ | 调试参数 | 常调试参数 |
| bf gain _ | 调试参数 | 常调试参数 |
| bf add _ | 调试参数 | 常调试参数 |
| bf ratio _ | 调试参数 | 常调试参数 |
| local sharp strength _ _ | 调试参数 | 常调试参数 |
| prefilter coeff _ | 调试参数 | 不常调试参数 |
| GaussianFilter coeff _ | 调试参数 | 不常调试参数 |
| hfBilateralFilter coeff _ | 调试参数 | 不常调试参数 |
Enable:
Sharp模块使能开关。1:模块打开,0:模块关闭。
ModeName
目前支持normal,hdr,gray 3个模式参数。
SNR_Mode
lcg和hcg对应不同噪声模式。 hsnr对应hcg, lsnr对应lcg模式。
Sensor_Mode
sensor支持的hcg和lcg模式,如果不支持dcg模式,默认采用lcg参数。
ISO
不同iso档位,对应不同调试参数。目前仅支持13档。
luma_point/luma_sigma:
不同pixel亮度,对应不同噪声sigma曲线。
横坐标为曲线亮度值,0~1023
纵坐标为sigma 曲线,0~1023
pbf_gain
预滤波 sigma 乘以的比例, 0~2.0 。值越大,滤波越强,噪声越小,细节更少。
pbf_add
预滤波 sigma 叠加的偏移,0~1023 。值越大,滤波越强,噪声越小,细节更少。
pbf_ratio预滤波融合权重,0~1。值越大,滤波越强,噪声越小,细节更少。
gaus_ratio
高频双边滤波的导向图像为高斯滤波与原图融合的结果。
高斯滤波融合权重,0~1。值越大,滤波越强,噪声越小,细节更少。
sharp_ratio
锐化强度, 0~15.9。
hf_clip
高频值 clip 的范围,0~1023 。值越大,允许的最大锐化强度越强。
bf_gain
高频双边滤波 sigma 乘以的比例, 0~2.0。
值越大,滤波越强,噪声越小,细节更少。
bf_add
高频双边滤波 sigma 叠加的偏移,0~1023 。
值越大,滤波越强,噪声越小,细节更少。
bf_ratio
高频双边滤波融合权重, 0~1.0。
值越大,滤波越强,噪声越小,细节更少。
local_sharp_strength
计算不同pixel亮度,高频叠加权重的比例, 0~1023。值越大,允许叠加的高频越大,图像越锐化。
prefilter_coeff:
预滤波算子。
GaussianFilter_coeff
高斯滤波算子。
hfBilateralFilter_coeff
高频双边滤波算子。
4.2.5.3 调试步骤
sharp_ratio,local_sharp_strength,hf_clip:控制高频边缘增强的力度。
gaus_ratio, pbf_ratio, pbf_gain, pbf_add,bf_ratio, bf_gain, bf_add:
用于高频增强,降低锐化带来的噪声,用来平衡噪声和锐化细节的参数。
Sharp模块可以对细节的增强同时对噪声抑制,但最终不可避免还是会带来整体噪声的增加。
4.3 MERGE
4.3.1 功能描述
通过该模块,可以调整在合成过程中,使用长(中)短帧的比例。使用某帧的比例是该帧过曝权重和运动权重共同决定的,两者是乘积关系,其中过曝权重是由过曝曲线决定,运动权重是由运动曲线决定。
过曝曲线由OECurve_smooth和OECurve_offset两个参数确定,在两帧模式下,是否过曝在长帧和短帧之间判断,三帧模式下,是否过曝在长帧和中帧之间判断。
运动曲线包含长帧与中帧运动曲线(LM_smooth和LM_offset两参数决定)和中帧与短帧运动曲线(MS_smooth和MS_offset两参数决定),在两帧模式下,只有中帧短帧运动曲线生效。
由于RK356x平台只支持两帧模式,因此LM_smooth和LM_offset两参数决定的长帧与中帧运动曲线未生效。Merge框图
4.3.2 关键参数
4.3.2.1 OECurve
过曝曲线设置
| 成员名称 | 描述 |
|---|---|
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮。 |
| EnvLv len _ | EnvLv数组长度 |
| Smooth | 过曝曲线的斜率,取值范围[0,1],默认值为0.4 |
| Smooth len _ | Smooth数组长度 |
| Offset | 过曝曲线的偏移值,取值范围[108,280],默认值为210 |
| Offset len _ | Offset数组长度 |
EnvLv:当前环境环境亮度,可由工具在线调试模块得到。
4.3.2.2 MDCurve
运动曲线设置,由于RK356x平台只支持两帧模式,因此LM_smooth和LM_offset两参数决定的长帧与中帧运动曲线未生效。
| 成员名称 | 描述 |
|---|---|
| MoveCoef | 画面运动程度,取值范围[0,1],其中0代表完全静止,1代表完全运动 |
| MoveCoef len _ | MoveCoef数组长度 |
| LM smooth _ | 在RK356x平台下,该值无效。 |
| LM smooth len _ _ | LM smooth数组长度 _ |
| LM offset _ | 在RK356x平台下,该值无效。 |
| LM offset len _ _ | LM offset数组长度 _ |
| MS smooth _ | 长帧和短帧之间运动曲线斜率,取值范围为[0,1],默认值为0.4。 |
| MS smooth len _ _ | MS smooth数组长度 _ |
| MS offset _ | 长帧和短帧之间运动曲线偏移值,取值范围为[0.26,1],默认值为0.38。 |
| MS offset len _ _ | MS offset数组长度 _ |
MoveCoef:由于当前场景检测未做,不能得到运动量,实际使用均为MoveCoef等于1
4.3.2.3 ByPassThr
表示bypass当前模块阈值,取值范围[0,1]。当前环境亮度与前一帧环境亮度差异的百分比小于ByPassThr时,本模块参数不做更新处理。
在使用工具调试过程中,请将值写为0,否则可能会出现调试无效的情况。
4.3.2.4 OECurve_damp
表示过曝曲线变化的平滑系数,为当前帧参数的占比,取值范围为[0,1],默认值为0.3。
4.3.2.5 MDCurveLM_damp
在RK356x平台下,该值无效。
4.3.2.6 MDCurveMS_damp
表示中帧短帧间运动曲线变化的平滑系数,为当前帧参数的占比,取值范围为[0,1],默认值为0.3。
4.3.3 调试步骤
Merge调试主要包括过曝曲线调试和运动曲线调试两个部分。
4.3.3.1 过曝曲线调试
过曝曲线OECurve由OECurve_smooth和OECurve_offset来确定(曲线如下图所示),同时,在不同Envlv下设置不同的过曝曲线。
OECurve示意图
| 成员名称 | 描述 |
|---|---|
| Smooth | 过曝曲线斜率 |
| Offset | 过曝曲线斜率 |
1.Smooth:
从图像上看,该值表示长短帧过度区域的平滑情况:该值越小,过曝区域与非过曝区域之间的过渡越平滑,同时过渡区域越大,反之,过曝区域与非过曝区域之间的过渡越突兀,但是过渡区域越小。如下图中,红色曲线代表值为0时,绿色曲线代表值为0.4时,蓝色曲线代表值为1时。
OECurve_smooth示意图
2.Offset:
从图像上看,该值代表了过曝处使用短帧的初始值。该值越小,使用短帧的权重最大。
几个较为特殊的点:其中108代表,设置下去的过曝曲线值全为1023,此时短帧使用的权重最大,如下图中黄色曲线所示;128是值代表从亮度为128开始时,短帧就可能使用,如下图中蓝色曲线所示;215是代表,215是值代表从亮度为215开始时,短帧就可能使用,同时正好到到达256时,短帧的权重刚好为1023,如下图中绿色曲线所示;280是到代表过曝曲线值全为0,此时merge不会使用短帧,如下图中红色曲线所示:OECurve_offset示意图
4.3.3.2 运动曲线调试
运动曲线(MS_smooth和MS_offset两参数决定)实际曲线如下图所示。MDCurve示意图
在画面运动时候,需要降低权重,从而减少短帧的使用,从而减小运动带来的鬼影的情况。同时,在不同MoveCoef下设置不同的运动曲线
| 成员名称 | 描述 |
|---|---|
| MS smooth _ | 运动曲线斜率 |
| MS offset _ | 运动曲线斜率 |
1.MS_smooth:
该值表示中短帧过渡区域的平滑情况:该值越小,过曝区域与非过曝区域之间的过渡越平滑,同时过渡区域越大,反之,过曝区域与非过曝区域之间的过渡越突兀,但是过渡区域越小。如下图中,绿色曲线代表值为0时,红色曲线代表值为0.4时,蓝色曲线代表值为1时。MDCurve_smooth示意图
2.MS_offset:
从图像上看,该值代表了过曝处使用短帧的初始值。该值越小,使用短帧的权重最大。绿色曲线代表值为0时,蓝色曲线代表值为0.38时,红色曲线代表值为1时。MDCurve_offset示意图
4.4 DRC
4.4.1 功能描述
动态范围指场景中最亮物体与最暗物体之间的亮度比值。动态范围越大,通常表示场景中的亮度层次越丰富。
| 类别 | 动态范围 |
|---|---|
| 真实场景 | >= 180 dB |
| 人类视觉系统感知 | 100 dB左右 |
| 传统图像传感器像素 | 60 dB左右 |
如果采用传统图像传感器拍摄高动态范围的场景,要么出现亮出过曝,丢失细节;要么暗处曝光不足,细节难以分辨。为了能够记录高动态范围场景,需要使用更高动态范围的传感器或是多次曝光图像合成。并且当前主流显示设备动态范围有限,同样无法展现宽动态图像,为了解决该问题,DRC模块能够对图像的动态范围进行压缩。使真实场景的观察者和显示设备的观察者都能获取相同的视觉感受。
4.4.2 关键参数
4.4.2.1 Enable
表示开关功能,0:关闭,1:开启。
该开关只在线性模式下生效,HDR模式下无效(强制开启)。
4.4.2.2 DrcGain
通过DrcGain模块可以对输入的RAW进行亮度调整,即对整体亮度,或者局部亮度进行调整。
| 成员名称 | 描述 |
|---|---|
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮。 |
| EnvLv len _ | EnvLv数组长度 |
| DrcGain | DRC模块增益,取值范围[1,8] |
| DrcGain len _ | DrcGain数组长度 |
| Alpha | 取值范围[0,1] |
| Alpha len _ | Alpha数组长度 |
| Clip | 取值范围[0,64] |
| Clip len _ | Clip数组长度 |
4.4.2.3 HiLight
通过HiLight模块可以对输出RAW的高亮区域进行调整。
| 成员名称 | 描述 |
|---|---|
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮。 |
| EnvLv len _ | EnvLv数组长度 |
| Strength | 高光区域细节,取值范围[0,1] |
| Strength len _ | Strength数组长度 |
4.4.2.4 LocalTMOSetting
通过LocalTMOSetting模块可以对LocalTMO相关参数进行调整。
4.4.2.4.1 LocalTMOData
LocalTMOData主要是对LocalTMO权重以及对比度进行调整。
| 成员名称 | 描述 |
|---|---|
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮。 |
| EnvLv len _ | EnvLv数组长度 |
| LocalWeit | Local TMO权重,取值范围[0,1],0:Global TMO,1:全Local TMO。 |
| LocalWeit len _ | LocalWeit数组长度 |
| GlobalContrast | 局部对比度,取值范围[0,1] |
| GlobalContrast len _ | GlobalContrast数组长度 |
| LoLitContrast | 低亮区对比度,取值范围[0,1] |
| LoLitContrast len _ | LoLitContrast数组长度 |
4.4.2.4.2 curPixWeit
表示当前点的双边权重,取值范围[0,1]
4.4.2.4.3 preFrameWeit
表示当前帧双边权重,取值范围[0,1]
4.4.2.4.4 Range_force_sgm
表示双边值域 sigma 的倒数,取值范围[0,1]当Range_force_sgm为非零值时,Range_sgm_cur和Range_sgm_pre不生效。
4.4.2.4.5 Range_sgm_cur
表示当前帧双边空域sigma的倒数,取值范围[0,1]
4.4.2.4.6 Range_sgm_pre
表示前一帧双边空域sigma的倒数,取值范围[0,1]
4.4.2.4.7 Space_sgm_cur
表示当前帧双边值域sigma的倒数,取值范围[0,4095]
4.4.2.4.8 Space_sgm_pre
表示前一帧双边值域sigma的倒数,取值范围[0,4095]
4.4.2.5 CompressSetting
通过CompressSetting模块可以对压缩曲线进行调整。
| 成员名称 | 描述 |
|---|---|
| Mode | 要输曲线表选择模式 |
| Manual curve _ | 手动压缩曲线表,取值范围[0,8192] |
默认使用AUTO模式
4.4.2.6 Scale_y
表示增益修正scale表,取值范围[0,2048]
4.4.2.7 ByPassThr
表示bypass当前模块阈值,取值范围[0,1]。当前环境亮度与前一帧环境亮度差异的百分比小于ByPassThr时,本模块参数不做更新处理。
在使用工具调试过程中,请将值写为0,否则可能会出现调试无效的情况。
4.4.2.8 Edge_Weit
表示边缘响应scale值,取值范围[0,1],用于降低高对比度边缘Artifact。
4.4.2.9 OutPutLongFrame
表示只输出长帧开关,0:关闭,1:开启。
该参数只在Debug阶段使用。
4.4.2.10 IIR_frame
表示IIR滤波器帧数,取值范围[1,1000],默认值为4.该参数在线性模式下无效。
4.4.2.11 Tolerance
表示随着EnvLv变化的参数(DrcGain、Alpha、Clip、Strength、LocalWeit、GlobalContrast、LoLitContrast)的容忍值。取值范围[0,1].
4.4.2.12 damp
表示随着EnvLv变化的参数(DrcGain、Alpha、Clip、Strength、LocalWeit、GlobalContrast、LoLitContrast)平滑系数,为当前帧参数的占比,取值范围为[0,1],默认值为0.9。
4.4.3 调试步骤
4.4.3.1 DrcGain调试
通过DrcGain模块可以对输入的RAW进行亮度调整,即对整体亮度,或者局部亮度进行调整。
| 成员名称 | 描述 |
|---|---|
| DrcGain | DRC模块增益,取值范围[1,8] |
| Alpha | 取值范围[0,1] |
| Clip | 取值范围[0,64] |
DrcGain曲线是又DrcGain、Alpha已经Clip三个参数组成,其大致图像如下图所示:图示中横坐标代表0~4096的像素亮度,纵坐标代表当前亮度像素的增益倍数。
DrcGain:
DrcGain确认了最大的gain倍数,该最大倍数受两个条件限制:
有上面两个条件可知实际DrcGain小于等8x,在调试过程中,若DrcGain设置为8x,但是和AERatio的乘积大于256x,内部会对DrcGain进行clip,以满足乘积小于256x的条件。
在实际调试中,DrcGain的意义在于,在达到同样亮度下,增加DrcGain可以减少长短帧的位移误差(除DCG模式以外的sensor适用)。针对DrcGain说带来的噪声影响,由于DrcGain为数字gain,因此若sensor还处于模拟增益模式下,提高DrcGain会增加噪声水平;反之,若sensor处于数字增益模式下,提高DrcGain噪声水平不会有明显差异。
下图是DrcGain在等于1x(红线)和8x(蓝线)时大致曲线:Alpha:
Alpha确认了DrcGain曲线的斜率,如下图所示为Alpha为0(红线)和0.9(蓝线)的区别:有上图可知,当Alpha越小时,DrcGain曲线更接近于一条水平直线,即各个亮度均会等倍放大,由此可能引入对比度不足、暗部噪声被放大等问题。
Clip:
4.4.3.2 HiLight调试
通过HiLight模块可以对输出RAW的高亮区域细节进行调整。
| 成员名称 | 描述 |
|---|---|
| Strength | 高光区域细节,取值范围[0,1] |
Stength值越大,高光处细节处压得会越好,但是高光边界更可能会出现halos。如下图所示,左图为Strength为0时,右图Strength为1时:
4.4.3.3 LocalTMOSetting调试
通过LocalTMOSetting模块可以对LocalTMO相关参数进行调整。该模块中所有参数,在LocalWeit为0时,不生效。
4.4.3.3.1 LocalTMOData调试
LocalTMOData主要是对LocalTMO权重、全局对比度已经暗区对比度进行调整。
| 成员名称 | 描述 |
|---|---|
| LocalWeit | Local TMO权重,取值范围[0,1],0:Global TMO,1:全Local TMO。 |
| GlobalContrast | 局部对比度,取值范围[0,1] |
| LoLitContrast | 低亮区对比度,取值范围[0,1] |
当LocalWeit取值为0时,DRC为Global TMO;当取值为1时,为local TMO;当取值为0到1之间时,为Global TMO和Local TMO的混合。实际对比图如下(左边LocalWeit=0,右边LocalWeit=0.3):
GlobalContrast:值越大,整体对比度(不包括暗区)越强。如下图所示,左图为GlobalContrast为0时,右图为GlobalContrast为1时。
LoLitContrast:值越大,暗区对比度越强。如下图所示,左图为LoLitContrast为0时,右图为LoLitContrast为1时。
4.4.3.4 Edge_Weit调试
通过改变该值来降低高对比度边缘Artifact。
4.5 Dehaze & Enhance
4.5.1 功能描述
在雾、霾之类的恶劣天气下,采集的图像质量会由于大气散射而严重降低, 使图像颜色偏灰白色, 对比度降低, 物体特征难以辨认。所以需要图像去雾技术来增强或修复, 以改善视觉效果。
本模块包含三个模块,分别为Dehaze、Enhance和Hist。Dehaze主要在画面中雾、霾较大时使用,Enhance和Hist多用于增强画面对比度。其中Dehaze和Enhance两个模块只能同时开启一个,若两个同时开启,只有Enhance模块生效,Hist可与其他模块一起开启。Dehaze模块框图
4.5.2 关键参数
4.7.2.1 Enable
Dehaze&Enhance开关功能
0:关闭
1:打开
4.5.2.2 cfg_alpha
软件配置占比,取值范围[0,1],默认值1。
0:全使用自适应参数
1:全使用软件配置参数,可控制自适应参数和软件配置参数按照比例混合
当值为0时,Dehaze中的cfg_wt、cfg_air、cfg_tmax以及Hist中的cfg_gratio不生效;反之,当值为1时,Dehaze参数完全由cfg_wt、cfg_air和cfg_tmax决定,Hist参数完全由cfg_gratio决定。
4.5.2.3 ByPassThr
表示bypass当前模块阈值,取值范围[0,1]。当前环境亮度与前一帧环境亮度差异的百分比小于ByPassThr时,本模块参数不做更新处理。
在使用工具调试过程中,请将值写为0,否则可能会出现调试无效的情况。
4.5.2.4 Dehaze_Setting
通过该模块对去雾参数进行调整。
| 成员名称 | 描述 |
|---|---|
| en | 开关功能 |
| air lc en _ _ | 是否使用 airlight base 对 airlight 进行最小值截止开关 |
| stab fnum _ | 帧稳定的最大值 |
| sigma | iir控制的sigma |
| wt sigma _ | 帧间wt滤波系数 |
| air sigma _ | 帧间air滤波系数 |
| tmax sigma _ | 帧间tmax滤波系数 |
| pre wet _ | 参考数据 IIR 滤波系数 |
| DehazeData | dehaze调试参数 |
| 成员名称 | 描述 |
|---|---|
| EnvLv | 环境亮度 |
| EnvLv len _ | EnvLv数组长度 |
| dc min th _ _ | wt自适应的统计范围,取值范围[16, 120],默认值64 |
| dc min th len _ _ _ | dc min th数组长度 _ _ |
| dc max th _ _ | wt自适应高曝区统计范围,取值范围[170, 255],默认值192 |
| dc max th len _ _ _ | dc max th数组长度 _ _ |
| yhist th _ | y分量高曝区统计范围,取值范围[170, 255],默认值249 |
| yhist th len _ _ | yhist th数组长度 _ |
| yblk th _ | y分量块数目比例阈值,取值范围[0.002, 0.01],默认值0.002 |
| yblk th len _ _ | yblk th数组长度 _ |
| dark th _ | wt自适应y分量块最小值阈值,取值范围[230, 250],默认值250 |
| dark th len _ _ | dark th数组长度 _ |
| bright min _ | air自适应阈值的最小值,取值范围[160, 200],默认值180 |
| bright min len _ _ | bright min数组长度 _ |
| bright max _ | air自适应阈值的最大值,取值范围[210, 250],默认值240 |
| bright max len _ _ | bright max数组长度 _ |
| wt max _ | wt自适应的最大值限制,取值范围[0.75, 0.9],默认值0.9 |
| wt max len _ _ | wt max数组长度 _ |
| air min _ | air自适应的最小值限制,取值范围[200, 220],默认值200 |
| air min len _ _ | air min数组长度 _ |
| air max _ | air自适应的最大值限制,取值范围[230, 250],默认值250 |
| air max len _ _ | air max数组长度 _ |
| tmax base _ | tmax自适应基础值,默认125,对应配置如下,200(131),210(125), 220(119),230(114),240(109),250(105),推荐131-105 |
| tmax base len _ _ | tmax base数组长度 _ |
| tmax off _ | tmax自适应的固定值,取值范围[0.1, 0.5],默认值0.1 |
| tmax off len _ _ | tmax off数组长度 _ |
| tmax max _ | tmax自适应的最大值,取值范围[0.1, 0.5],默认值0.5 |
| tmax max len _ _ | tmax max数组长度 _ |
| cfg wt _ | 软件配置wt,图像去雾力度,取值范围[0, 1] |
| cfg wt len _ _ | cfg wt数组长度 _ |
| 成员名称 | 描述 |
|---|---|
| cfg air _ | 软件配置air,大气光系数,取值范围[0, 255] |
| cfg air len _ _ | cfg air数组长度 _ |
| cfg tmax _ | 软件配置tmax,去雾的最大值,取值范围[0, 1] |
| cfg tmax len _ _ | cfg tmax数组长度 _ |
| bf weight _ | 两个双边滤波的合成权重 |
| bf weight len _ _ | bf weight数组长度 _ |
| dc weitcur _ | dark channel部分的双边权重,默认值1 |
| dc weitcur len _ _ | dc weitcur数组长度 _ |
| range sigma _ | 双边滤波值域 sigma 值。 |
| range sigma len _ _ | range sigma数组长度 _ |
| space sigma pre _ _ | 以 IIR 数据为参考时,双边滤波空域 sigma 值 |
| space sigma pre len _ _ _ | space sigma pre数组长度 _ _ |
| space sigma cur _ _ | 以当前数据为参考时,双边滤波空域 sigma 值 |
| space sigma cur len _ _ _ | space sigma cur数组长度 _ _ |
stab_fnum:dehaze的参数是从0开始逐渐到达一个稳定值,sw_dhaze_stab_fnum就是软件指定的达到稳定的帧数,一般10帧是比较合适的,该参数最大值可配到31,最多1s的时间就要进入稳定状态;
4.5.2.5 Enhance_Setting
通过该模块对图像对比度进行调整。
| 成员名称 | 描述 |
|---|---|
| en | enhance功能开关 |
| enhance curve _ | 低频曲线 |
| EnhanceData | enhance调试参数 |
| 成员名称 | 描述 |
|---|---|
| EnvLv | 环境亮度 |
| EnvLv len _ | 环境亮度数组长度 |
| enhance value _ | 通用对比度力度,取值范围[0,16],推荐范围[1, 2] |
| enhance value len _ _ | enhance value数组长度 _ |
| enhance chroma _ | 色度的增强调节参数,取值范围[0,16],推荐范围[1, 2] |
| enhance chroma len _ _ | enhance chroma数组长度 _ |
enhance_value:越大对比度越强
enhance_chroma:越大饱和度越高
4.5.2.6 Hist_Setting
通过该模块对图像对比度进行调整,通常用于去雾后对比度不够的情况。
| 成员名称 | 描述 |
|---|---|
| en | hist功能开关 |
| hist para en _ _ | 直方图拉伸控制开关 |
| HistData | hist调试参数 |
| 成员名称 | 描述 |
|---|---|
| EnvLv | 环境亮度 |
| EnvLv len _ | EnvLv数组长度 |
| hist gratio _ | 直方图拉伸倍数,直方图均衡控制系数,取值范围[0, 32] |
| hist gratio len _ _ | hist gratio数组长度 _ |
| hist th off _ _ | 直方图统计阈值,取值范围[0, 255],默认值64 |
| hist th off len _ _ _ | hist th off数组长度 _ _ |
| hist k _ | 直方图自适应阈值放大倍数,取值范围[0, 7),默认值2 |
| hist k len _ _ | hist k数组长度 _ |
| hist min _ | 直方图统计阈值的最小值,取值范围[0,2),默认值0.016 |
| hist min len _ _ | hist min数组长度 _ |
| hist scale _ | 直方图均衡控制系数,取值范围[0, 32] |
| hist scale len _ _ | hist scale数组长度 _ |
| cfg gratio _ | 软件配置直方图拉伸倍数,直方图均衡控制系数,取值范围[0, 32) |
| cfg gratio len _ _ | cfg gratio数组长度 _ |
hist_para_en:当取值为1时,hist_scale生效,hist_gratio不生效;反之,当取值为0时,hist_scale不生效,hist_gratio生效。
hist_gratio:值越大,直方图拉伸力度越大,图像整体亮度也越高。
hist_th_off:该值越大,直方图的统计值越大,图像整体亮度也越高。
hist_k:该值越大,直方图的统计值越大,图像整体亮度也越高。
hist_min:该值越大,直方图的统计值越大,图像整体亮度也越高。
4.5.3 调试步骤
Dehaze调试主要包括Dehaze、Enhance和Hist调试三个部分。
4.5.3.1 Dehaze调试
去雾力度建议通过以下三个参数进行调整。以下三个参数根据ISO变化。在调过程中需要将cfg_alpha置为1。
| 成员名称 | 描述 |
|---|---|
| cfg wt _ | 软件配置wt,图像去雾力度 |
| cfg air _ | 软件配置air,大气光幕系数 |
| cfg tmax _ | 软件配置tmax,去雾的最大值 |
1.cfg_wt:值越大去雾力度越大,需要注意的是wt最好不要超过0.9,在大多数情况下wt超过0.9都会显得处理效果不自然,除非场景中的雾非常大。(如下图,从左到右依次为Dehaze_en= 0,Dehaze_en= 1且cfg_wt= 0.4,Dehaze_en= 1且cfg_wt= 0.8)
cfg_wt对比图
2.cfg_air:也可以控制去雾力度,同时会影响图像过曝区域的去雾效果,与sw_dhaz_cfg_wt配合使用。
如下图可见,对下面这幅输入图像来说,cfg_air越大天空交界处的去雾效果越自然,cfg_air为250的时候不会出现中间的分层问题,air的调试主要考虑图像中是否存在天空和过曝区,如果存在则需要调大air,避免出现分层或者是细节丢失的问题。(如下图,从左到右依次为Dehaze_en= 0,Dehaze_en= 1且 cfg_air= 200,Dehaze_en= 1且cfg_air= 250)
cfg_air对比图
3.cfg_tmax:值越小,景深方向的去雾力度越大,值越大,景深方向的去雾力度越小。
如下图可见,cfg_tmax是0.1的时候景深方向的雾去除的比较干净,一些细节已经可以看见了,cfg_tmax为0.5的时候就弱很多,景深方向的雾不是去除的越多越好,去除太多会破坏图像的层次感,通常0.2是一个比较合适的值。(如下图,从左到右依次为Dehaze_en= 0 ,Dehaze_en= 1且cfg_tmax= 0.1,Dehaze_en= 1且cfg_tmax= 0.5)cfg_tmax对比图
4.5.3.2 Enhance调试
通用对比度增强Enhance通过enhance_value进行调整。enhance_value根据ISO变化。
| 成员名称 | 描述 |
|---|---|
| enhance value _ | 通用对比度力度 |
| enhance chroma _ | 色度的增强调节参数 |
| enh curve _ | 低频曲线 |
1.enhance_value:值越大对比度越强。(如下图,从左到右依次为Enhance_en= 0,Enhance_en= 1且enhance_value = 1.5)
enhance_value对比图
2.enhance_chroma:越大饱和度越高
3.enh_curve:可以通过调低暗区参数,用来提升暗区亮度和对比度。
4.5.3.3 Hist调试
直方图均衡化Hist建议通过以下两个参数进行调整。以下两个参数根据ISO变化。在调过程中需要将cfg_alpha置为1。
| 成员名称 | 描述 |
|---|---|
| cfg gratio _ | 软件配置直方图拉伸倍数,直方图均衡控制系数 |
cfg_gratio:与wt有关,wt越大gratio需适当调大,wt越小gratio越小。参数过大会让效果看起来不自然,整体颜色偏蓝,另外一些细节也会再次丢失掉,gratio是直方图拉伸的一个系数,其大小与wt有关,wt越大gratio需适当调大,wt越小gratio越小,要避免wt比较小却配置了一个比较大的gratio。(如下图,从左到右依次为 Hist_en = 0,Hist_en = 1且cfg_gratio= 0.768,Hist_en = 1且cfg_gratio= 2)
cfg_gratio对比图
4.6 DPCC
4.6.1 功能描述
通过本模块对坏点进行检查与去除。
模块包括Fast_mode、Expert_mode以及sensor_dpcc三个部分,其中Fast_mode与Expert_mode互斥,两者只能开启一个。
DPCC框图
4.6.2 关键参数
4.6.2.1 Enable DPCC开关功能
0:关闭
1:打开
4.6.2.2 Fast_mode
通过该部分对Fast_mode相关参数进行调整。
| 成员名称 | 描述 |
|---|---|
| Fast mode enable _ _ | Fast mode开关功能,0:关闭,1:打开 _ |
| ISO | 环境ISO |
| Single enable _ | 单坏点去除开关,0:关闭,1:打开 |
| Single level _ | 单坏点去除力度,取值范围[0, 10] |
| Double enable _ | 双坏点去除开关,0:关闭,1:打开 |
| Double level _ | 双坏点去除力度,取值范围[0, 10] |
| Triple enable _ | 多坏点去除开关,0:关闭,1:打开 |
| Triple level _ | 多坏点去除力度,取值范围[0, 10] |
Fast_mode_enable:值为0时,Fast_mode关闭,Expert_mode开启;反之,值为1时,Fast_mode开启,Expert_mode关闭。
双坏点、多坏点指相邻的多个坏点。
坏点去除力度,0代表不做处理,1~10代表不同强度坏点去除力度,值越大力度越大。
若使用Fast_mode不能达到想要的力度,请使用Expert_mode。
4.6.2.3 Expert_mode
通过该部分对Expert_mode相关参数进行调整。
| 成员名称 | 描述 |
|---|---|
| ISO | 环境ISO |
| Stage1 enable _ | 默认值1 |
| grayscale mode _ | 黑白模式开关,0:关闭,1:打开 |
| rk out sel _ _ | RK坏点算法中ro lim的使用,0:ro lim1,1:ro lim2,2:ro lim3 _ _ _ _ |
| dpcc out sel _ _ | 坏点矫正模式,0:中值模式,1:RK模式 |
| stage1 rb 3x3 _ _ | 默认值0 |
| stage1 g 3x3 _ _ | 默认值0 |
| stage1 inc rb center _ _ _ | 红/蓝通道用中值模式对坏点去除时,是否包括待去除点,0:否,1: 是,默认值为1 |
| stage1 inc g center _ _ _ | 绿通道用中值模式对坏点去除时,是否包括待去除点,0:否,1:是, 默认值为1 |
| stage1 use fix set _ _ _ | 内置坏点判定条件开关,0:关闭, 1:打开 |
| stage1 use set3 _ _ | set cell中第三种坏点判断条件开关,0:关闭,1:打开 _ |
| stage1 use set2 _ _ | set cell中第二种坏点判断条件开关,0:关闭,1:打开 _ |
| stage1 use set1 _ _ | set cell中第一种坏点判断条件开关,0:关闭,1:打开 _ |
| set cell _ | 坏点判断条件 |
grayscale_mode:当sensor为彩色时,设置为0;反之,当sensor为黑白时,设置为1。
4.6.2.4 set_cell
通过该部分可以调整判定坏点条件阈值,主要包括RK、LC、PG、RND、RG以及RO六种判定条件,六种条件为且的关系。set_cell框图
| 成员名称 | 描述 |
|---|---|
| RK | RK坏点判定算法 |
| LC | LC坏点判定算法 |
| PG | PG坏点判定算法 |
| RNG | RND坏点判定算法 |
| RG | RG坏点判定算法 |
| RO | RO坏点判定算法 |
4.6.2.4.1 RK
通过该部分可以调整坏点检测算法中RK算法相关参数。
| 成员名称 | 描述 |
|---|---|
| RK red blue enable _ _ _ | RK坏点判定算法红/蓝通道开关,0:关闭,1:开启 |
| RK green enable _ _ | RK坏点判定算法绿通道开关,0:关闭,1:开启 |
| rb sw mindis _ _ | RK坏点判定算法红/蓝通道阈值1,取值范围[0,255] |
| g sw mindis _ _ | RK坏点判定算法绿通道阈值1,取值范围[0,255] |
| sw dis scale min _ _ _ | RK坏点判定算法阈值2,取值范围[0,63] |
| sw dis scale max _ _ _ | RK坏点判定算法阈值3,取值范围[0,63] |
4.62.4.2 LC
通过该部分可以调整坏点检测算法中LC算法相关参数。
| 成员名称 | 描述 |
|---|---|
| LC red blue enable _ _ _ | LC坏点判定算法红/蓝通道开关,0:关闭,1:开启 |
| LC green enable _ _ | LC坏点判定算法绿通道开关,0:关闭,1:开启 |
| rb line thr _ _ | LC坏点判定算法红/蓝通道阈值,取值范围[0,255],默认值16 |
| g line thr _ _ | LC坏点判定算法绿通道阈值,取值范围[0,255],默认值12 |
| rb line mad fac _ _ _ | LC坏点判定算法红/蓝通道系数,取值范围[0,63],默认值34 |
| g line mad fac _ _ _ | LC坏点判定算法绿通道系数,取值范围[0,63],默认值16 |
4.6.2.4.3 PG
通过该部分可以调整坏点检测算法中PG算法相关参数。
| 成员名称 | 描述 |
|---|---|
| PG red blue enable _ _ _ | PG坏点判定算法红/蓝通道开关,0:关闭,1:开启 |
| PG green enable _ _ | PG坏点判定算法绿通道开关,0:关闭,1:开启 |
| rb pg fac _ _ | PG坏点判定算法红/蓝通道系数,取值范围[0,63],默认值4 |
| g pg fac _ _ | PG坏点判定算法绿通道系数,取值范围[0,63],默认值3 |
4.6.2.4.4 RND
通过该部分可以调整坏点检测算法中RND算法相关参数。
| 成员名称 | 描述 |
|---|---|
| RND red blue enable _ _ _ | RND坏点判定算法红/蓝通道开关,0:关闭,1:开启 |
| RND green enable _ _ | RND坏点判定算法绿通道开关,0:关闭,1:开启 |
| rb rnd thr _ _ | RND坏点判定算法红/蓝通道阈值,取值范围[0,255],默认值8 |
| g rnd thr _ _ | RND坏点判定算法绿通道阈值,取值范围[0,255],默认值8 |
| rb rnd offs _ _ | RND坏点判定算法红/蓝通道偏移值,取值范围[0,3],默认值3 |
| g rnd offs _ _ | RND坏点判定算法绿通道偏移值,取值范围[0,3],默认值3 |
4.6.2.4.5 RG
通过该部分可以调整坏点检测算法中RG算法相关参数。
| 成员名称 | 描述 |
|---|---|
| RG red blue enable _ _ _ | RG坏点判定算法红/蓝通道开关,0:关闭,1:开启 |
| RG green enable _ _ | RG坏点判定算法绿通道开关,0:关闭,1:开启 |
| rb rg fac _ _ | RG坏点判定算法红/蓝通道系数,取值范围[0,63],默认值8 |
| g rg fac _ _ | RG坏点判定算法绿通道系数,取值范围[0,63],默认值8 |
4.6.2.4.6 RO
通过该部分可以调整坏点检测算法中RO算法相关参数。
| 成员名称 | 描述 |
|---|---|
| RO red blue enable _ _ _ | RO坏点判定算法红/蓝通道开关,0:关闭,1:开启 |
| RO green enable _ _ | RO坏点判定算法绿通道开关,0:关闭,1:开启 |
| rb ro lim _ _ | RO坏点判定算法红/蓝通道阈值,取值范围[0,3],默认值1 |
| g ro lim _ _ | RO坏点判定算法绿通道阈值,取值范围[0,3],默认值1 |
4.6.2.5 sensor_dpcc
通过该部分可以对sensor自身的坏点去除力度进行调整。
| 成员名称 | 描述 |
|---|---|
| sensor dpcc auto en _ _ _ | sensor dpcc开关功能,0:关闭,1:打开 |
| max level _ | 去除坏点最大力度 |
| ISO | 环境ISO |
| level single _ | 去除单个坏点力度 |
| level multiple _ | 去除多个坏点力度 |
4.6.3 调试步骤
DPCC调试主要包括Fast_mode、Expert_mode和sensor_dpcc调试三个部分。Fast_mode和Expert_mode互斥,通过Fast_mode中的Fast_mode_enable来决定,Fast_mode_enable值为0时,Fast_mode关闭,Expert_mode开启;反之,Fast_mode_enable值为1时,Fast_mode开启,Expert_mode关闭。
在实际调试过程中,建议先使用Fast_mode进行坏点去除,若Fast_mode不能达到想要的去坏点力度,则使用Expert_mode。
4.6.3.1 Fast_mode调试
Fast_mode中主要通过Single_level对单坏点进行去除,Double_level对相邻的两个坏点进行去除,Triple_level对相邻的三个以上的坏点进行去除。
三个功能互不影响,但是Triple_level会增强Double_level的力度,Double_level会增强Single_level的力度。
| 成员名称 | 描述 |
|---|---|
| Fast mode enable _ _ | Fast mode开关功能,0:关闭,1:打开 _ |
| Single level _ | 单坏点去除力度,取值范围[0, 10] |
| Double level _ | 双坏点去除力度,取值范围[0, 10] |
| Triple level _ | 多坏点去除力度,取值范围[0, 10] |
坏点去除力度,0代表不做处理,1~10代表不同强度坏点去除力度,值越大力度越大。
当某种坏点模式开启时,对应的去坏点力度不能为0。例如,当Single_enable开启时,Single_level中的值不能为0。
4.6.3.2 Expert_mode调试
Expert_mode中主要通过stage1_use_fix_set、stage1_use_set1、stage1_use_set2、stage1_use_set3和set_cell坏点进行去除,
其中stage1_use_fix_set、stage1_use_set1、stage1_use_set2和stage1_use_set3为四种方法对坏点进行检测,四种方法互不影响,即若四种方法都开启,只要其中任何一种方法检测某个点为坏点,则该点为坏点。
stage1_use_fix_set检测方法的条件为硬件中固定,stage1_use_set1、stage1_use_set2和stage1_use_set3三种方法的条件分别对应set_cell中的cell1、cell2和cell3。
set_cell中包含RK、LC、PG、RND、RG以及RO六种坏点判定算法,六个算法间是“且”的关系,即若六种判定条件均开启,则待测点需要满足六个条件才能判定为坏点。
| 成员名称 | 描述 |
|---|---|
| stage1 use fix set _ _ _ | 内置坏点判定条件开关,0:关闭, 1:打开 |
| stage1 use set1 _ _ | set cell中第一种坏点判断条件开关,0:关闭,1:打开 _ |
| stage1 use set2 _ _ | set cell中第二种坏点判断条件开关,0:关闭,1:打开 _ |
| stage1 use set3 _ _ | set cell中第三种坏点判断条件开关,0:关闭,1:打开 _ |
| set cell _ | 坏点判断条件 |
RK、LC、PG、RND、RG以及RO六个算法均分为绿、红蓝两个通道对坏点进行判断,建议两个通道同步开启关闭。
六个算法均可独立开启关闭,由于六种算法间是“且”的关系,因此算法开启越多,越不容易判定为坏点。但是,由于存在噪声的存在,当算法开启较少时,可能会出现画面中“边缘抖动”情况,即画面中固定边缘出现波浪线,且帧间出现差异的情况。因此,在实际使用中,建议每个set下,算法至少开启三种。
4.6.3.2.1 RK
通过该部分可以调整坏点检测算法中RK算法相关参数。
| 成员名称 | 描述 |
|---|---|
| enable | RK坏点判定算法开关,0:关闭,1:开启 |
| ro lim _ | RK坏点判定算法偏移值,取值范围[0,3] |
| sw mindis _ | RK坏点判定算法阈值1,取值范围[0,255] |
| sw dis scale min _ _ _ | RK坏点判定算法阈值2,取值范围[0,63] |
| sw dis scale max _ _ _ | RK坏点判定算法阈值3,取值范围[0,63] |
ro_lim:值越大,越容易判断为坏点。
sw_mindis:值越小,越容易判断为坏点。
sw_dis_scale_max:值越小,越容易判断为坏点。
sw_dis_scale_max :值越小,越容易判断为坏点。
4.6.3.2.2 LC
通过该部分可以调整坏点检测算法中LC算法相关参数。
| 成员名称 | 描述 |
|---|---|
| enable | LC坏点判定算法开关,0:关闭,1:开启 |
| line thr _ | LC坏点判定算法通道阈值,取值范围[0,255],默认值12 |
| line mad fac _ _ | LC坏点判定算法通道系数,取值范围[0,63],默认值16 |
line_thr:值越小,越容易判断为坏点。
line_mad_fac:值越小,越容易判断为坏点。
4.6.3.2.3 PG
通过该部分可以调整坏点检测算法中PG算法相关参数。
| 成员名称 | 描述 |
|---|---|
| enable | PG坏点判定算法开关,0:关闭,1:开启 |
| pg fac _ | PG坏点判定算法通道系数,取值范围[0,63],默认值3 |
pg_fac:值越小,越容易判断为坏点。
4.6.3.2.4 RND
通过该部分可以调整坏点检测算法中RND算法相关参数。
| 成员名称 | 描述 |
|---|---|
| enable | RND坏点判定算法开关,0:关闭,1:开启 |
| rnd thr _ | RND坏点判定算法通道阈值,取值范围[0,255],默认值8 |
| rnd offs _ | RND坏点判定算法通道偏移值,取值范围[0,3],默认值3 |
rnd_thr:值越小,越容易判断为坏点。
rnd_offs:值越小,越容易判断为坏点。
4.6.3.2.5 RG
通过该部分可以调整坏点检测算法中RG算法相关参数。
| 成员名称 | 描述 |
|---|---|
| enable | RG坏点判定算法开关,0:关闭,1:开启 |
| rg fac _ | RG坏点判定算法通道系数,取值范围[0,63],默认值8 |
rg_fac:值越小,越容易判断为坏点。
4.6.3.2.6 RO
通过该部分可以调整坏点检测算法中RO算法相关参数。
| 成员名称 | 描述 |
|---|---|
| enable | RO坏点判定算法通道开关,0:关闭,1:开启 |
| ro lim _ | RO坏点判定算法通道阈值,取值范围[0,3],默认值1 |
ro_lim:值越大,越容易判断为坏点。
4.6.3.3 sensor_dpcc调试
sensor_dpcc主要通过max_level、level_single、level_multiple对sensor端坏点去除功能进行控制。该功能需要sensor自身具有去除坏点的功能,同时驱动配置完成的情况下,才能使用。
| 成员名称 | 描述 |
|---|---|
| max level _ | 去除坏点最大力度 |
| level single _ | 去除单个坏点力度 |
| level multiple _ | 去除多个坏点力度 |
max_level:定义sensor端坏点去除的力度的最大值,主要为了细分单个等级去坏点力度。
level_single和level_multiple的力度不能超过max_level。
4.7 Gamma
4.7.1 功能描述
通过该模块对gamma曲线进行调整,包含三条gamma曲线,curve_normal、curve_hdr以及curve_night。GAMMA框图
4.7.2 关键参数
4.7.2.1 gamma_en
Gamma开关功能
0:关闭
1:打开
4.7.2.2 gamma_out_segnum
Gamma曲线X轴间距类型
0:非等间距
1:等间距
4.7.2.3 gamma_out_offset
Gamma曲线修正功能,取值范围[-2048,2048],默认值0。
4.7.2.4 curve_normal
线性模式下gamma曲线,取值范围[0,4095]。4.7.2.5 curve_hdr
HDR模式下gamma曲线,取值范围[0,4095]。
4.7.2.6 curve_night
夜晚模式下gamma曲线,取值范围[0,4095]。
4.7.3 调试步骤
4.8 Debayer
4.8.1 功能描述
由于大部分彩色相机均采用单传感器获取图像信息,且每个传感器表面覆盖有一个CFA (Color Filter Array,色彩滤波阵列),使得每一个像素只能获得R、G、B三基色中的一种彩色分量。由于彩色滤波阵列每个像素上只有一种颜色的分量是已知的, 为了得到一幅彩色图像,需要利用已知的颜色信息插值出另外两种丢失的颜色分量,该过程被称为去马赛克(Debayer或Demosaic):
图4-10-1 Debayer功能示意图
4.8.2 关键参数
Enable:
Debayer模块使能位,0:关闭,1:打开。
debayer_filter1
低频梯度滤波器,取值范围[-8,7]。
debayer_filter2
高频梯度滤波器,取值范围[-8,7]。
debayer_gain_offset
计算G通道插值系数中锐化权重时梯度的偏移值,取值范围[0,15]。
ISO
当前档对应的ISO值,取值范围[50,2048]。
sharp_strength
G通道插值锐化权重最大值,取值范围[0,4]。
debayer_hf_offset
计算梯度时的偏移值,取值范围[0,4095]。
debayer_offset
G通道clip的offset,取值范围[0,15]。值越大, clip范围越大。
debayer_clip_en
G通道插值 clip 开关,0:关闭,1:打开。
debayer_filter_g_en
G通道插值结果滤波开关,0:关闭,1:打开。
debayer_filter_c_en
色差图滤波开关,0:关闭,1:打开。
debayer_thed0
控制高低频权重选取,值越大选取高频权重概率越小,取值范围[0,16]。
debayer_thed1
控制高低频权重选取,值越大选取低频权重概率越小,取值范围[0,16]。
debayer_dist_scale
控制高低频权重选取,值越大选取高频权重概率越小,取值范围[0,16]。
debayer_cnr_strength
色差图滤波时clip的强度,取值范围[0,9]。
debayer_shift_num
值越小,色差 clip 的范围越大,取值范围[0,4]。
4.8.3 名词解释
| 简称 | 描述 |
|---|---|
| CFA | Color Filter Array,色彩滤波阵列 |
| 去马赛克 | Debayer或Demosaic,将单像素单色的Bayer RGB转换为三原色RGB的过程 |
| 滤波器 | 一组滤波参数,去除数字图像上的干扰信号 |
| 色差图 | 插值得到的G通道图像和原始raw图像作差后的图像 |
4.9 CPSL
4.11.1 功能描述
CPSL为 compensation light的缩写,用于控制红外,彩色补光灯及ircutter,分为自动及手动模式。自动控制主要为根据环境亮度自动开启关闭补光灯,手动模式则需要用户调用API来开启关闭补光灯。相关API使用可参考《Rockchip_Development_Guide_ISP2x_》。
4.9.2 关键参数
enable
模块使能开关。如果为0则模块不工作,即手动自动模式都不工作,CPSL相关API调用也不生效。如果驱动中未配置补光灯,需要将之设置成0;相反的,需要设置为1,否则CPSL相关API会不生效。
mode
工作模式。0 为 自动模式, 1 为手动模式。自动模式时补光灯由AIQ算法控制,手动模式时用户可通过API控制补光灯。
force_gray
当补光灯开启时,是否要强制切成黑白模式,注意该字段只在CPSL模块生效;如果要在CPSL模块之外控制黑白模式,可调用API或者IQ文件中将 COLOR_AS_GREY 设置成 enable,COLOR_AS_GREY 比该模块中的force_gray优先级高。
light_src
补光灯类型信息,可通过该字段表明需要控制的补光灯类型。
0:只控制彩色补光灯1:只控制红外补光灯2:控制彩色及红外补光灯
auto_adjust_sens
自动模式参数,用于 灵敏度调节。调节范围为 0.0 ~ 100.0,默认为 50.0。调节的目标参数是auto_on2off_th 及 auto_off2on_th,目标参数最大可在 正负1.5倍间变化。
auto_on2off_t
自动模式参数,用于控制补光灯开启后自动关闭的阈值,计算公式为:图像亮度/(sensor曝光量/最大曝光量)。
auto_off2on_th
自动模式参数,用于控制补光灯是否开启的阈值,计算公式为:图像亮度/(sensor曝光量/最大曝光量)。
auto_sw_interval
自动模式参数,用于控制补光灯开启关闭的时间间隔,单位为 秒。补光灯开启后,不管外部环境亮度如何,只有过了间隔时间后,才会启动是否切换的检测。
manual_on
手动模式参数,用于控制补光灯是否固定开启。
manual_strength
手动模式参数,用于控制补光灯的强度,取值范围为 0~100。
4.10 GIC
4.10.1 功能描述
通过该模块对GIC相关参数进行调整。GIC主要参数在GIC_ISO中,分为GIC相关参数和噪声相关参数两个部分,其中噪声相关参数由标定获得,GIC相关参数可以对GIC力度进行调整。
4.10.2 关键参数
4.10.2.1 enable
GIC开关功能
0:关闭
1:打开
4.10.2.3 gr_ration
确定gr和gb补偿值参数,取值范围[0,3],默认值0。
4.10.2.5 SettingV21
根据ISO对相关参数进行插值运算。
| 成员名称 | 描述 |
|---|---|
| iso | 环境iso |
| min busy thre _ _ | busy区域检测能力,取值范围[0, 1023],默认值160 |
| min grad thr1 _ _ | 非边缘区域的数量阈值1,GIC强度控制值,取值范围[0, 1023],默认值 32 |
| min grad thr2 _ _ | 非边缘区域的数量阈值2,GIC强度控制值,取值范围[0, 1023],默认值 32 |
| k grad1 _ | 边缘(水平、垂直梯度)的响应程度阈值1,取值范围[0, 15],默认值5 |
| k grad2 _ | 边缘(水平、垂直梯度)的响应程度阈值2,取值范围[0, 15],默认值1 |
| gb thre _ | 缩放的比例系数,取值范围[0, 15],默认值7 |
| maxCorV | 限制边缘区域gb的最大补偿值,取值范围[0, 1023],默认值40 |
| maxCorVboth | 限制平坦(非边缘) 区域gb最大补偿值,取值范围[0, 1023],默认值8 |
| dark thre _ | 定义暗部区域的阈值1,取值范围[0, 2047],默认值120 |
| dark threHi _ | 定义暗部区域的阈值2,取值范围[0, 2047],默认值240 |
| k grad1 dark _ _ | 图像暗部的边缘(水平、垂直梯度)响应程度阈值1,取值范围[0, 15], 默认值6 |
| k grad2 dark _ _ | 图像暗部的边缘(水平、垂直梯度)响应程度阈值2,取值范围[0, 15], 默认值1 |
| min grad thr dark1 _ _ _ | 图像暗部的非边缘区域的数量阈值1,取值范围[0, 1023],默认值64 |
| min grad thr dark2 _ _ _ | 图像暗部的非边缘区域的数量阈值2,取值范围[0, 1023],默认值32 |
| noiseCurve 0 _ | 噪声曲线参数1 |
| noiseCurve 1 _ | 噪声曲线参数2 |
| globalStrength | 全局控制调整gb补偿值的强度,取值范围[0, 2],默认值1 |
| NoiseScale | 根据噪声曲线获取当前点噪 声标准差, 利用 noise std *noise scale来 _ _ 确定最大gb补偿值 |
| NoiseBase | 惩罚图像边缘调整阈值,根据第一梯度和第二梯度计算结果 加上 noise offset,然后进行比较只要一个方向gradx>2*grady 就认为是边 _ 缘,不做调整 |
| diff clip _ | 限制最大gb的最大补偿值 |
4.10.3 调试步骤
在GIC的调试过程中,主要是对GIC_ISO中GIC相关参数进行调整。
4.10.3.1 GIC_ISO调试
| 成员名称 | 描述 |
|---|---|
| min busy thre _ _ | busy区域检测能力,取值范围[16, 120],默认值64 |
| min grad thr1 _ _ | 非边缘区域的数量阈值1,GIC强度控制值 |
| min grad thr2 _ _ | 非边缘区域的数量阈值2,GIC强度控制值 |
| k grad1 _ | 边缘(水平、垂直梯度)的响应程度阈值1 |
| k grad2 _ | 边缘(水平、垂直梯度)的响应程度阈值2 |
| gb thre _ | 缩放的比例系数 |
| maxCorV | 限制边缘区域gb的最大补偿值 |
| maxCorVboth | 限制平坦(非边缘) 区域gb最大补偿值 |
| dark thre _ | 定义暗部区域的阈值1 |
| dark threHi _ | 定义暗部区域的阈值2 |
| k grad1 dark _ _ | 图像暗部的边缘(水平、垂直梯度)响应程度阈值1 |
| k grad2 dark _ _ | 图像暗部的边缘(水平、垂直梯度)响应程度阈值2 |
| min grad thr dark1 _ _ _ | 图像暗部的非边缘区域的数量阈值1 |
| min grad thr dark2 _ _ _ | 图像暗部的非边缘区域的数量阈值2 |
min_busy_thre:这个值主要修正暗区的busy区域(例如文字等不规则且存在较高对比度区域)检测能力,即给较暗区域一个阈值的嵌位。值越大,则暗区的busy区域越多,反之越少。对于busy区域,GIC不做任何处理。所以检测到的busy区域越多,可以保留一些边缘细节,但同时对于误检测区域则会造成GIC残留。
min_grad_thr1、min_grad_thr2:它们的大小直接影响非边缘区域的数量。 非边缘区域的数量越多,则GIC效果越强,图片被抹得越狠,细节保留越少。 非边缘区域的数量越少,则可能会有GIC残留,表现为一些典型的GIC纹理(横竖亮暗条纹,伪边缘)被保留。 这个值越大,在进行方向判断时就越有可能被判断为平坦(非边缘)区域。是控制GIC强度的一个参数。
min_grad_thr_dark1、min_grad_thr_dark2:作用及调试方法同min_grad_thr1、min_grad_thr2,一般值比min_grad_thr大。
k_grad1、k_grad2:调节对边缘(水平、垂直梯度)的响应程度的大小,这个值越大,对应判断是否为边缘的阈值就越大,结果就是将弱边缘判断成平坦区域;若减小这个参数,可以增大边缘的数量。
k_grad1_dark、k_grad2_dark:作用及调试方法同k_grad1、k_grad2,一般比k_grad大,即降低图像暗部的边缘响应程度。
gb_thre:它是个用来缩放的比例系数,而不是一个用来直接判断的绝对阈值。 它越大,则允许补偿的gb越小,反之越大。跟Sensor、 镜头的关系比较大。
maxCorV:假定gb的补偿值有一个上限,若计算得到的值超过假定的阈值,则认为计算错误,为了减少计算错误的影响,将gb的补偿值嵌位下来。
maxCorVboth:目的同maxCorV。
dark_thre:用于确定图像暗部区域与普通区域的下边界。
dark_threHi:用于确定图像暗部区域与普通区域的上边界。
4.11 AF
4.11.1 功能描述
通过该模块移动镜头使物体在成像面上对焦。
4.11.2 关键参数
4.11.2.1 af_mode
默认对焦模式
CalibDbV2_AF_MODE_NOT_SET = -1,
CalibDbV2_AF_MODE_AUTO,
CalibDbV2_AF_MODE_MACRO,
CalibDbV2_AF_MODE_INFINITY,
CalibDbV2_AF_MODE_FIXED,
CalibDbV2_AF_MODE_EDOF,
CalibDbV2_AF_MODE_CONTINUOUS_VIDEO,
CalibDbV2_AF_MODE_CONTINUOUS_PICTURE,
CalibDbV2_AF_MODE_ONESHOT_AFTER_ZOOM,
4.11.2.2 win_h_offs/win_v_offs/win_h_size/win_v_size
默认对焦窗口。
h_offs为对焦区域起始横坐标;
v_offs为对焦区域起始纵坐标;
h_size为对焦区域宽度;
v_size为对焦区域高度;
取值范围为0~2000,代码内部会根据sensor输入进行转换。如果这四个值全部设置为0,代码内部会自动设置。
4.11.2.3 fixed_mode/macro_mode/infinity_mode
fixed_mode为固定对焦模式;
macro mode为近焦对焦模式;
infinity mode为远焦对焦模式; fixed_mode下的code值为lens停留位置,取值范围为0~64;
macro mode下的code值为对焦终止位置,起始code值为0;
infinity mode下的code值为对焦起始位置,终止code值为64;
4.11.2.4 contrast_af
contrast af算法参数设置
enable为contrast af算法开关;
AfSearchStrategy为contrast af算法策略,有FULL_RANGE、 ADAPTIVE_RANGE等,一般使用ADAPTIVE_RANGE;
FullDir为FULL_RANGE策略下搜寻方向,取值范围POSITIVE、NEGATIVE、ADAPTIVE,一般使用ADAPTIVE;
FullRangeTbl为FULL_RANGE策略下搜寻表,按照这个表进行粗搜;
FullSteps为FullRangeTbl表的项目个数;
AdaptiveDir为ADAPTIVE_RANGE策略下搜寻方向,取值范围POSITIVE、NEGATIVE、ADAPTIVE,一般使用ADAPTIVE;
AdaptRangeTbl为ADAPTIVE_RANGE策略下搜寻表,按照这个表进行粗搜;
AdaptiveSteps为AdaptRangeTbl表的项目个数;
TrigThers为触发再次对焦的阈值,当前Fv值与上次对焦成功时的Fv值相比,变化率超过TrigThers时,触发对焦;
LumaTrigThers为触发再次对焦的阈值,当前亮度值与上次对焦成功时的亮度值相比,变化率超过LumaTrigThers时,触发对焦;
StableThers为满足触发对焦条件后,当前Fv值与上次Fv值相比,变化率小于该值时,认为本次场景稳定;
StableFrames为满足触发对焦条件后,变化率小于StableThers的帧数大于该值时,认为场景已经稳定;
StableTime当前未使用;
SceneDiffEnable为利用主窗口15*15 fv值判断场景改变的开关,判断场景未改变时,将不进行对焦触发;
SceneDiffThers为利用主窗口15*15 fv值判断场景改变时,判断单个block改变时的阈值;
SceneDiffBlkThers为利用主窗口15*15 fv值判断场景改变时,场景改变时的block数阈值,和SceneDiffThers一起使用;
CenterSceneDiffThers为利用主窗口15*15 fv值判断场景改变时,判断最中间block改变时的阈值;
上述两个条件满足一个,即认为场景改变。ValidMaxMinRatio为利用中间独立窗口无法聚焦时,使用主窗口15*15 fv值搜索可靠block时使用的最大fv最小fv的变化率阈值;
ValidValueThers为利用中间独立窗口无法聚焦时,使用主窗口15*15 fv值搜索可靠block时使用的最大fv阈值;
OutFocusValue为Fv值小于该值时,认为对焦结果不可靠;
OutFocusPos为Fv值小于OutFocusValue,对焦结果不可靠时,将lens置于该位置;
WeightEnable为利用主窗口15*15 fv值进行加权算出的fv值进行对焦的开关;
Weight为当WeightEnable为1时,对主窗口15*15 fv值进行加权的权重系数;
SearchPauseLumaEnable为在af搜索过程中对亮度变化进行检查的开关;
SearchPauseLumaThers为af搜索过程中对亮度变化率进行检查的阈值,当亮度变化超过该阈值时,搜索暂停;
SearchLumaStableThers为af搜索过程中因亮度变化太大暂停后判断亮度变化为否稳定的阈值,变化率小于该值时,认为本次亮度变化稳定;
SearchLumaStableFrames为af搜索过程中因亮度变化太大暂停后判断亮度变化为否稳定的阈值,变化率小于SearchLumaStableThers的帧数大于该值时,认为亮度变化已经稳定;
FlatValue为af搜索过程中最大fv值小于该值时判断当前对焦区域为平坦区;
4.11.2.5 laser_af
laser af算法参数设置
enable为laser af算法开关;
vcmDot和distanceDot为vcm code值和distance映射表;
4.11.2.6 pdaf
pdaf算法参数设置
enable为pdaf算法开关;
4.11.2.7 vcmcfg
vcm配置一般在kernel dts中设置,但内核编译比较麻烦,为了方便调试,xml中也增加对其进行设置的接口。
startCurrent为vcm启动电流,单位为mA;ratedCurrent为vcm截至电流,单位为mA;
stepMode为vcm工作模式,一般有LSC / SAC等模式;
extraDelay为在lens移动结束时间过后,追加一定的延时,以方便调试,该值可正、可负、可为零;
4.11.2.8 measiso_cfg
不同ISO下对焦统计设置
iso index为iso值,一般取值为50/100/200/400/800/1600/3200/6400/12800/25600/51200/102400/204800;
afmThres为阈值信息threshold;
gammaY为gamma信息设置,所有值都为零时,关闭该功能;
gaussWeight为filter系数设置,所有值都为零时,关闭该功能;
4.11.2.9 zoomfocus_tbl
变焦曲线表设置
tbl_len为变焦曲线表大小;
focal_length为焦距变化表;
focal_length_len为焦距变化表长度;
zoom_pos为焦距变化对应变焦马达位置表;
zoom_pos_len为变焦马达位置表长度;
focus_infpos为对应焦距变化的无穷远物距的对焦马达位置表;
focus_infpos_len为无穷远物距的对焦马达位置表长度;
focus_macropos为对应焦距变化的最近物距的对焦马达位置表;
focus_macropos_len最近物距的对焦马达位置表长度;
tbl_len / focal_length_len / zoom_pos_len / focus_infpos_len / focus_macropos_len数值应该是相等的