Rockchip Tunning Guide ISP20
:::info 文档信息
文档标识:RK-SM-YF-601 · 发布版本:V1.6.7 · 发布日期:2021-10-20 · 页数:165 · 语言:英文
原始文档:Rockchip_Tuning_Guide_ISP20_CN_v1.6.7.pdf
:::
章节大纲
- Rockchip Tunning Guide ISP20(P1)
- 1 IQ调试文档关系说明(P10)
- 2 ISP系统概述(P11)
- 2.1 功能简介(P11)
- 2.2 ISP功能框图(P11)
- 2.3 各模块简介(P12)
- 3 图像质量调优总体概述(P13)
- 3.1 IPC应用图像调优概述(P14)
- 3.1.1 线性模式图像质量调优(P14)
- 3.1.2 HDR 模式图像质量调优(P22)
- 3.1 IPC应用图像调优概述(P14)
- 4 模块介绍(P25)
- 4.1 AEC(P26)
- 4.1.1 功能描述(P26)
- 4.1.2 关键参数(P26)
- 4.1.2.1 AEC模块公共功能控制参数(P26)
- Enable(P27)
- AecRunInterval(P27)
- AecOpType(P27)
- HistStatsMode(P28)
- RawStatsMode(P28)
- YrangeMode(P28)
- AecSpeed(P28)
- AecDelayFrmNum(P28)
- AecFrameRateMode(P29)
- AecAntiFlicker(P29)
- AecInitValue(P30)
- AecGridWeight(P30)
- AecRoute(P31)
- AecManualCtrl(P33)
- AecIrisCtrl(P33)
- AecDNSwitch(P37)
- 4.1.2.2 AEC模块线性曝光调试参数(P37)
- RawStatsEn(P38)
- SetPoint(P38)
- NightSetPoint(P38)
- EvBias(P38)
- ToleranceIn/Out(P38)
- StrategyMode(P39)
- DySetPointEn(P39)
- DynamicSetpoint(P39)
- BackLightCtrl(P39)
- OverExpCtrl(P41)
- 4.1.2.3 AEC模块HDR曝光调试参数(P41)
- ToleranceIn/Out(P42)
- StrategyMode(P42)
- EvBias(P42)
- ExpRatioCtrl(P42)
- LongFrmMode(P43)
- LframeCtrl(P44)
- MframeCtrl(P45)
- SframeCtrl(P45)
- 4.1.2.4 SensorInfo参数(P45)
- GainRange(P46)
- TimeFactor(P48)
- CISLinTimeRegMaxFac(P48)
- CISHdrTimeRegSumFac(P48)
- CISTimeRegOdevity(P48)
- CISHdrTimeRegOdevity(P49)
- CISTimeRegUnEqualEn(P49)
- CISTimeRegMin(P49)
- CISHdrTimeRegMin(P49)
- CISHdrTimeRegMax(P49)
- CISMinFps(P49)
- CISAgainRange(P50)
- CISExtraAgainRange(P50)
- CISDgainRange(P50)
- CISIspDgainRange(P50)
- CISHdrGainIndSetEn(P50)
- SensorFlip(P50)
- 4.1.2.5 System参数(P50)
- HDR(P51)
- DCG_SETTING(P51)
- EXP_DELAY(P52)
- 4.1.2.1 AEC模块公共功能控制参数(P26)
- 4.1.3 调试步骤(P52)
- 步骤1.Sensor曝光参数及系统参数设置(P52)
- 步骤2.设置AE权重参数(P53)
- 步骤3.设置AE曝光分解参数(P54)
- 步骤4.设置AE目标亮度值(P54)
- 步骤5.设置AE收敛及响应速度(P54)
- 4.2 NR & SHARP(P54)
- 4.2.1 BayerNR(P55)
- 4.2.1.1 功能描述(P55)
- 4.2.1.2 关键参数(P55)
- Enable:(P55)
- Mode(P56)
- Setting(P56)
- SNR_Mode(P56)
- ISO(P56)
- 标定数据(P56)
- luLevel/ luLevelVal(P56)
- luRatio(P56)
- 高斯导向参数(P57)
- gauss_en(P57)
- 去噪力度参数(P57)
- filtPara(P57)
- 随机噪声回填参数(P57)
- Lamda(P57)
- fixW(P57)
- 4.2.1.3 调试步骤(P57)
- 4.2.2 MFNR(P58)
- 4.2.2.1 功能描述(P58)
- 4.2.2.2 关键参数(P60)
- Enable:(P62)
- mode_3to1(P62)
- local_gain_en(P62)
- Mode(P63)
- Setting(P63)
- SNR_Mode(P63)
- MFNR_ISO(P63)
- MFNR_ISO / Iso(P63)
- MFNR_ISO /weight_limit_y(P63)
- MFNR_ISO / weight_limit_uv(P64)
- MFNR_ISO / ratio_frq(P64)
- MFNR_ISO / luma_w_in_chroma(P64)
- Y标定数据(P64)
- MFNR_ISO / noise_curve(P64)
- MFNR_ISO / noise_curve_x00(P64)
- MFNR_ISO / y_lo_noiseprofile(P64)
- MFNR_ISO / y_hi_noiseprofile(P65)
- Y低频去噪调节参数(P65)
- MFNR_ISO / y_lo_bfscale(P65)
- MFNR_ISO / y_lumanrpoint(P65)
- MFNR_ISO / y_lumanrcurve(P65)
- MFNR_ISO / y_denoisestrength(P65)
- MFNR_ISO / y_lo_lvl0_gfdelta(P65)
- MFNR_ISO / y_lo_lvl1_gfdelta(P65)
- MFNR_ISO / y_lo_lvl2_gfdelta(P66)
- MFNR_ISO / y_lo_lvl3_gfdelta(P66)
- Y高频去噪调节参数(P66)
- MFNR_ISO / y_hi_bfscale(P66)
- MFNR_ISO / y_hi_lvl0_gfdelta(P66)
- MFNR_ISO / y_hi_lvl1_gfdelta(P66)
- MFNR_ISO / y_hi_lvl2_gfdelta(P66)
- MFNR_ISO / y_hi_lvl3_gfdelta(P67)
- UV标定参数(P67)
- MFNR_ISO / uv_lo_noiseprofile(P67)
- MFNR_ISO / uv_hi_noiseprofile(P67)
- UV低频去噪参数(P67)
- MFNR_ISO / uv_lo_bfscale(P67)
- MFNR_ISO / uv_lumanrpoint(P67)
- MFNR_ISO / uv_lumanrcurve(P67)
- MFNR_ISO / uv_denoisestrength(P67)
- MFNR_ISO / uv_lo_lvl0_gfdelta(P68)
- MFNR_ISO / uv_lo_lvl1_gfdelta(P68)
- MFNR_ISO / uv_lo_lvl2_gfdelta(P68)
- UV高频去噪参数(P68)
- MFNR_ISO / uv_hi_bfscale(P68)
- MFNR_ISO / uv_hi_lvl0_gfdelta(P68)
- MFNR_ISO / uv_hi_lvl1_gfdelta(P68)
- MFNR_ISO / uv_hi_lvl2_gfdelta(P68)
- 高斯滤波算子参数(P69)
- MFNR_ISO / lvl0_gfsigma(P69)
- MFNR_ISO / lvl1_gfsigma(P69)
- MFNR_ISO / lvl2_gfsigma(P69)
- MFNR_ISO / Lvl3_gfsigma(P69)
- 动静判断参数 motion_detection(P69)
- Enable(P70)
- ISO(P70)
- sigmaHScale(P70)
- sigmaLScale(P70)
- light_clp(P71)
- uv_weight(P71)
- mfnr_sigma_scale(P71)
- yuvnr_gain_scale0(P71)
- yuvnr_gain_scale1(P71)
- yuvnr_gain_scale2(P71)
- frame_limit_y(P71)
- frame_limit_uv(P72)
- 4.2.2.3 调试步骤(P72)
- 4.2.3 YNR(P72)
- 4.2.3.1 功能描述(P72)
- 4.2.3.2 关键参数(P73)
- Enable:(P74)
- Mode(P74)
- Setting(P75)
- SNR_Mode(P75)
- YNR_ISO(P75)
- YNR_ISO / Iso(P75)
- 标定数据(P75)
- YNR_ISO / sigma_curve(P75)
- YNR_ISO / ynr_lci , ynr_lhci , ynr_hlci , ynr_hhci(P75)
- 低频层去噪调节参数。(P76)
- YNR_ISO / lo_lumaPoint(P76)
- YNR_ISO / lo_lumaRatio(P76)
- YNR_ISO / lo_directionStrength(P76)
- YNR_ISO / lo_bfScale(P76)
- YNR_ISO / imerge_ratio(P76)
- YNR_ISO / imerge_bound(P76)
- YNR_ISO / denoise_weight(P77)
- 高频层去噪调节参数。(P77)
- YNR_ISO / hi_lumaPoint(P77)
- YNR_ISO / hi_lumaRatio(P77)
- YNR_ISO / hi_bfScale(P77)
- YNR_ISO / hwith_d(P77)
- YNR_ISO / hi_denoiseStrength(P77)
- YNR_ISO / hi_detailMinAdjDnW(P77)
- YNR_ISO / hi_denoiseWeight(P78)
- YNR_ISO / y_luma_point(P78)
- YNR_ISO / hgrad_y_level1~4(P78)
- YNR_ISO / hi_soft_thresh_scale(P78)
- 4.2.3.3 调试步骤(P78)
- 4.2.4 UVNR(P79)
- 4.2.4.1 功能描述(P79)
- 4.2.4.2 关键参数(P80)
- Enable:(P81)
- Mode(P81)
- Setting(P82)
- SNR_Mode(P82)
- UVNR_ISO(P82)
- UVNR_ISO / Iso(P82)
- UVNR_ISO / step0_uvgrad_ratio(P82)
- UVNR_ISO / step0_uvgrad_offset(P82)
- 尺度1上去噪调节参数(P82)
- UVNR_ISO / step1_median_ratio(P82)
- UVNR_ISO / step1_bf_sigmaR(P83)
- UVNR_ISO / step1_bf_uvgain(P83)
- UVNR_ISO / step1_bf_ratio(P83)
- 尺度2上去噪调节参数(P83)
- UVNR_ISO / Step2_median_ratio(P83)
- UVNR_ISO / step2_bf_sigmaR(P83)
- UVNR_ISO / step2_bf_uvgain(P83)
- UVNR_ISO / step2_bf_ratio(P83)
- 尺度3上去噪调节参数(P84)
- UVNR_ISO / Step3_bf_sigmaR(P84)
- UVNR_ISO / Step3_bf_uvgain(P84)
- UVNR_ISO / Step3_bf_ratio(P84)
- 双边距离权重可调节参数(P84)
- UVNR_ISO / kernel_3x3(P84)
- UVNR_ISO / kernel_5x5(P84)
- UVNR_ISO / kernel_9x9(P84)
- UVNR_ISO / kernel_9x9_num(P85)
- 4.2.4.3 调试步骤(P85)
- 4.2.5 SHARP(P86)
- 4.2.5.1 功能描述(P86)
- 4.2.5.2 关键参数(P86)
- Enable:(P88)
- Mode(P88)
- gauss_luma_coeff(P88)
- pbf_coeff_l 、 pbf_coeff_h(P88)
- rf_m_coeff_l 、 rf_m_coeff_h(P88)
- mbf_coeff(P88)
- rf_h_coeff_l、rf_h_coeff_h(P88)
- hbf_coeff_l、hbf_coeff_h(P89)
- Setting(P89)
- SNR_Mode(P89)
- SHARP_ISO(P89)
- SHARP_ISO / Iso(P89)
- range clip 限制相关调节参数(P89)
- SHARP_ISO / Lratio(P89)
- SHARP_ISO / Hratio(P89)
- 预滤波相关调节参数(P89)
- SHARP_ISO / luma_sigma(P89)
- SHARP_ISO / pbf_gain(P89)
- SHARP_ISO / pbf_ratio(P90)
- SHARP_ISO / pbf_add(P90)
- 中频锐化相关调节参数(P90)
- SHARP_ISO / mf_sharp_ratio(P90)
- SHARP_ISO / mf_clip_pos(P90)
- SHARP_ISO / mf_clip_neg(P90)
- SHARP_ISO / mbf_gain(P90)
- SHARP_ISO / mbf_add(P90)
- 高频锐化相关调节参数(P91)
- SHARP_ISO / hf_sharp_ratio(P91)
- SHARP_ISO / hf_clip(P91)
- SHARP_ISO / hbf_gain(P91)
- SHARP_ISO / hbf_ratio(P91)
- SHARP_ISO / hbf_add(P91)
- SHARP_ISO / local_sharp_strength(P91)
- SHARP_ISO / pbf_coeff_percent(P91)
- SHARP_ISO / rf_m_coeff_Percent(P91)
- SHARP_ISO / rf_m_coeff_Percent(P92)
- SHARP_ISO / rf_h_coeff_percent(P92)
- SHARP_ISO / hbf_coeff_percent(P92)
- 4.2.5.3 调试步骤(P92)
- 4.2.6 Edgefilter(P92)
- 4.2.6.1 功能描述(P92)
- 4.2.6.2 关键参数(P93)
- Enable:(P93)
- Mode(P94)
- dog_kernel_l、dog_kernel_h(P94)
- Setting(P94)
- SNR_Mode(P94)
- EDGEFILTER_ISO(P94)
- EDGEFILTER_ISO / Iso(P94)
- 边缘滤波相关调节参数(P94)
- EDGEFILTER_ISO / direct_filter_coeff(P94)
- EDGEFILTER_ISO / edge_thed(P95)
- EDGEFILTER_ISO / src_wgt(P95)
- EDGEFILTER_ISO / alpha_adp_en(P95)
- EDGEFILTER_ISO / local_alpha(P95)
- EDGEFILTER_ISO / global_alpha(P95)
- EDGEFILTER_ISO / noise_clip(P95)
- DOG相关调节参数(P95)
- EDGEFILTER_ISO / dog_clip_pos(P95)
- EDGEFILTER_ISO / dog_clip_neg(P96)
- EDGEFILTER_ISO / dog_alpha(P96)
- EDGEFILTER_ISO / dog_kernel_row0~4(P96)
- EDGEFILTER_ISO / dog_kernel_percent(P96)
- 4.2.6.3 调试步骤(P96)
- 4.2.7 NR & Sharp调试步骤(P96)
- 4.2.7.1 尺度概念理解(P96)
- 4.2.7.2 模块关联调试(P97)
- 4.2.7.2.1 低频信号的调试:(P97)
- 4.2.7.2.2 高频信号的调试:(P97)
- 4.7.2.2.3 噪声形态的调试:(P98)
- 4.2.1 BayerNR(P55)
- 4.3 MERGE(P98)
- 4.3.1 功能描述(P98)
- 4.3.2 关键参数(P99)
- 4.3.2.1 EnvLv(P99)
- 4.3.2.2 OECurve_smooth(P99)
- 4.3.2.3 OECurve_offset(P100)
- 4.3.2.4 MoveCoef(P100)
- 4.3.2.5 MDCurveLM_smooth(P100)
- 4.3.2.6 MDCurveLM_offset(P100)
- 4.3.2.7 MDCurveMS_smooth(P100)
- 4.3.2.8 MDCurveMS_offset(P101)
- 4.3.2.9 OECurve_damp(P101)
- 4.3.2.10 MDCurveLM_damp(P101)
- 4.3.2.11 MDCurveMS_damp(P101)
- 4.3.3 调试步骤(P101)
- 4.3.3.1 过曝曲线调试(P101)
- 4.3.3.2 运动曲线调试(P104)
- 4.4 TMO(P107)
- 4.4.1 功能描述(P107)
- 4.4.2 关键参数(P108)
- 4.4.2.1 Enable(P108)
- 4.4.2.2 GlobalLuma(P108)
- 4.4.2.3 DetailsHighLight(P109)
- 4.4.2.4 DetailsLowLight(P109)
- 4.4.2.5 GlobalTMO(P110)
- 4.4.2.6 LocalTMO(P111)
- 4.4.2.7 Damp(P111)
- 4.4.3 调试步骤(P111)
- 4.4.3.1 整体亮度调试(P111)
- 4.4.3.2 高光细节调试(P112)
- 4.4.3.3 低光细节调试(P113)
- 4.4.3.4 GlobalTMO调试(P114)
- 4.4.3.5 LocalTMO调试(P114)
- 4.5 FEC(P115)
- 4.5.1 功能描述(P115)
- 4.5.2 关键参数(P115)
- 4.5.2.1 enable(P116)
- 4.5.2.2 correct_level(P116)
- 4.5.2.3 light_center(P116)
- 4.5.2.4 distortion_coeff(P116)
- 4.6 LDCH(P117)
- 4.6.1 功能描述(P117)
- 4.6.2 关键参数(P117)
- 4.6.2.1 enable(P117)
- 4.6.2.2 correct_level(P117)
- 4.6.2.3 correct_level_max(P117)
- 4.6.2.4 light_center(P118)
- 4.6.2.5 distortion_coeff(P118)
- 4.7 Dehaze & Enhance(P118)
- 4.7.1 功能描述(P118)
- 4.7.2 关键参数(P118)
- 4.7.2.1 Enable(P120)
- 4.7.2.2 cfg_alpha_normal(P121)
- 4.7.2.3 cfg_alpha_HDR(P121)
- 4.7.2.4 cfg_alpha_night(P121)
- 4.7.2.5 Dehaze_Setting(P122)
- 4.7.2.6 Enhance_Setting(P124)
- 4.7.2.7 Hist_Setting(P124)
- 4.7.3 调试步骤(P125)
- 4.7.3.1 Dehaze调试(P125)
- 4.7.3.2 Enhance调试(P126)
- 4.7.3.3 Hist调试(P127)
- 4.8 DPCC(P128)
- 4.8.1 功能描述(P128)
- 4.8.2 关键参数(P128)
- 4.8.2.2 Fast_mode(P129)
- 4.8.2.3 Expert_mode(P130)
- 4.8.2.4 set_cell(P130)
- 4.8.2.4.1 RK(P131)
- 4.8.2.4.2 LC(P132)
- 4.8.2.4.3 PG(P132)
- 4.8.2.4.4 RND(P132)
- 4.8.2.4.5 RG(P133)
- 4.8.2.4.6 RO(P133)
- 4.8.2.5 sensor_dpcc(P133)
- 4.8.2.6 sensor_dpcc_pdaf(P134)
- 4.8.3 调试步骤(P135)
- 4.8.3.1 Fast_mode调试(P135)
- 4.8.3.2 Expert_mode调试(P136)
- 4.8.3.2.1 RK(P136)
- 4.8.3.2.2 LC(P137)
- 4.8.3.2.3 PG(P137)
- 4.8.3.2.4 RND(P138)
- 4.8.3.2.5 RG(P138)
- 4.8.3.2.6 RO(P138)
- 4.8.3.3 sensor_dpcc调试(P138)
- 4.9 Gamma(P139)
- 4.9.1 功能描述(P139)
- 4.9.2 关键参数(P139)
- 4.9.2.1 gamma_en(P139)
- 4.9.2.2 gamma_out_segnum(P140)
- 4.9.2.3 gamma_out_offset(P140)
- 4.9.2.4 curve_normal(P140)
- 4.9.2.5 curve_hdr(P140)
- 4.9.2.6 curve_night(P140)
- 4.9.3 调试步骤(P141)
- 4.10 Debayer(P141)
- 4.10.1 功能描述(P141)
- 4.10.2 关键参数(P141)
- Enable:(P142)
- debayer_filter1(P142)
- debayer_filter2(P142)
- debayer_gain_offset(P142)
- ISO(P142)
- sharp_strength(P142)
- debayer_hf_offset(P143)
- debayer_offset(P143)
- debayer_clip_en(P143)
- debayer_filter_g_en(P143)
- debayer_filter_c_en(P143)
- debayer_thed0(P143)
- debayer_thed1(P143)
- debayer_dist_scale(P143)
- debayer_cnr_strength(P143)
- debayer_shift_num(P143)
- 4.10.3 名词解释(P144)
- 4.11 CPSL(P144)
- 4.11.1 功能描述(P144)
- 4.11.2 关键参数(P144)
- enable(P144)
- mode(P144)
- force_gray(P144)
- light_src(P144)
- auto_adjust_sens(P144)
- auto_on2off_t(P145)
- auto_off2on_th(P145)
- auto_sw_interval(P145)
- manual_on(P145)
- manual_strength(P145)
- 4.12 GIC(P145)
- 4.12.1 功能描述(P145)
- 4.12.2 关键参数(P145)
- 4.12.2.1 enable(P149)
- 4.12.2.2 edge_en(P149)
- 4.12.2.3 gr_ration(P149)
- 4.12.2.4 noise_cut_en(P150)
- 4.12.2.5 GIC_ISO(P150)
- 4.12.3 调试步骤(P152)
- 4.12.3.1 GIC_ISO调试(P152)
- 4.13 AF(P154)
- 4.13.1 功能描述(P154)
- 4.13.2 关键参数(P154)
- 4.13.2.1 af_mode(P159)
- 4.13.2.2 win_h_offs/win_v_offs/win_h_size/win_v_size(P159)
- 4.13.2.3 fixed_mode/macro_mode/infinity_mode(P159)
- 4.13.2.4 contrast_af(P160)
- 4.13.2.5 laser_af(P161)
- 4.13.2.6 pdaf(P161)
- 4.13.2.7 vcmcfg(P162)
- 4.13.2.8 measiso_cfg(P162)
- 4.13.2.9 zoomfocus_tbl(P162)
- 4.13.3 变焦镜头调试步骤(P164)
- 4.1 AEC(P26)
在线预览
若预览无法显示,请直接下载 PDF 后用本地阅读器打开。
2.1 功能简介
ISP模块支持标准的Sensor图像数据处理,包括自动白平衡,自动曝光,Demosaic,坏点矫正及镜头阴影矫正等基本功能,也支持HDR、去雾、降噪等高级处理功能。具体如下:
支持黑电平矫正支持静态以及动态坏点矫正,坏点簇矫正支持bayer 降噪支持固定噪声消除支持Demosaic 处理支持gamma矫正支持最大3合一宽动态功能支持Sensor 内部合成宽动态功能(HDR)支持自动白平衡支持自动曝光支持自动对焦支持3A相关统计信息输出支持镜头阴影矫正支持图像锐化支持自动去雾处理支持局部对比度增强支持2D 亮度、色彩降噪支持3D降噪支持畸变校正处理支持3D lut 处理支持1维小角度畸变矫正支持特征点检测
2.2 ISP功能框图
图2-1 ISP20功能框图
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 实现复杂的颜色调整操作,比如亮度的调整,饱和度的调 整。 |
| HDR MERGE | 2帧或者3帧的宽动态合成。 |
| HDR TMO | 利用log域下的LUT曲线实现复杂亮度的调整操作。 |
| YNR | YUV区域针对亮度的小波去噪。 |
| UVNR | 单独的彩色噪点去除。 |
| TNR or MFNR | 时域多帧去噪,在保证清晰度的前提下去除噪声。 |
3 图像质量调优总体概述
当前RK1109/RV1126主要面向两大应用场景,即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 v1.1》第四章第四小节。步骤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_ISP2xV1.0》
---- 结束
对比度维度
在亮度维度和颜色维度合理的基础上,接下来主要优化对比度维度。影响对比度的模块主要包括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 TMO模块以及Gamma模块。调试TMO模块的入口条件: 黑电平标定正确、Shadimng标定完成、AE模块调试合理、AWB和CCM标定完成、预设一组Gamma参数。
HDR TMO模块支持Global TMO、Local TMO 。Local TMO动态范围整体更优,但是由于滤波窗口偏小,图像中亮暗交界区域对比度拉伸形成边线。调整TMO模块包括TmoContrast参数来调整2者效果的混合叠加,平衡最终的效果。推荐值在0.3左右。
如图3-14所示,在隔开的箱子里布置类似的场景,放入照度计,在箱子两边45度放置可调光LED补光灯,这样便可以模拟不同动态范围的场景。3-14 动态范围调优场景示意
色彩维度:
请参考线性模式下的色彩调试方法;注意,HDR模式下由于有Tonemap,所以颜色的表现跟线性有略微差别,建议标定完后,根据情况适当降低饱和度。
对比度维度:
请参考线性模式下的对比度调试方法;
清晰度和噪声维度:
请参考线性模式下的清晰度和噪声调试方法;
4 模块介绍
该章节主要介绍各个模块的功能以及参数说明,其中参数以XML文件的方式存储在firmware中,部分参数可以采用调试工具进行调试。该章节中针对参数说明格式简要描述如下:
“ ” :代表参数为字符串形式
xxx/yyy : 代表yyy元素实体在xml文件中是xxx子元素实体
IPC产品应用多场景运行模式
IPC产品应用需要多种场景运行模式,例如:白天彩色、夜视黑白、高动态范围(HDR)。针对不同的场景的运行模式,各个图像处理模块的效果调试上侧重点不同,支持场景运行模式下的参数独立配置的模块如:
BNR YNR UVNR MFNR 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模块公共功能控制参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| AecRunInterval | 调试参数 | 用户调试参数 | Y | Y |
| AecOpType | 调试参数 | 用户调试参数 | Y | Y |
| HistStatsMode | 调试参数 | 用户调试参数 一般使用默认值 | Y | N |
| RawStatsMode | 调试参数 | 用户调试参数 一般使用默认值 | Y | N |
| YrangeMode | 调试参数 | 用户调试参数 一般使用默认值 | Y | N |
| AecSpeed | 调试参数 | 用户调试参数 | Y | Y |
| AecDelayFrmNum | 调试参数 | 用户调试参数 | Y | Y |
| AecFrameRateMode | 调试参数 | 用户调试参数 | Y | Y |
| AecAntiFlicker | 调试参数 | 用户调试参数 | Y | Y |
| AecInitValue | 调试参数 | 用户调试参数 | Y | Y |
| AecGridWeight | 调试参数 | 用户调试参数 | Y | Y |
| AecRoute | 调试参数 | 用户调试参数 | Y | Y |
| AecManualCtrl | 调试参数 | 用户调试参数 | Y | Y |
| AecIrisCtrl | 调试参数 | 用户调试参数 部分参数与光圈规格相关 | Y | N |
| AecDNSwitch | 调试参数 | 用户调试参数 | Y | Y |
Enable
AEC模块开关功能。0:关闭;1:打开
【注意事项】
Enable值为0时,即关闭Aec算法。曝光保持在关闭前的值。
AecRunInterval
Ae算法运行间隔,取值范围[0,255],默认值为0。取值为0时,每帧运行AE;取值为1时,每隔1帧运行AE;以此类推。
建议该值不宜过大,否则可能导致AE响应速度慢,不平滑
AecOpType
曝光模式,分为自动曝光(AUTO)模式/手动(MANUAL)曝光模式。手动曝光模式需要与AecManualCtrl一起配合,进行手动曝光值的设置。
HistStatsMode
Aec模块直方图统计模式。共五种模式分别为: Y/R/G/B/RGB,默认为Y模式。
RawStatsMode
Aec模块亮度统计模式。共四种模式分别为: Y/R/G/B,默认为Y模式。
YrangeMode
Aec模块Y通道Range模式。共两种模式分别为FULL/LIMITED,默认为FULL模式。
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值,实现降低帧率提高曝光时间;若曝光时间小于等于驱动默认帧率所允许的曝光时间,则当前帧率设置为驱动的默认帧率。
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抗闪模式的区别在于高亮度环境,能够抑制过曝,但抗闪失效。
AecInitValue
曝光初始值设置,根据曝光类型分为LinearAE 和 Hdr AE 两套参数。
【成员】
| 成员名称 | 描述 |
|---|---|
| LinearAE | 线性模式自动曝光初始值属性 |
| InitTimeValue | 初始曝光时间值,单位为秒 |
| InitGainValue | 初始sensor增益值,此处增益值为实际值,单位为1x |
| InitIspDGainValue | 初始ISP数字增益值,此处增益值为实际值,单位为1x |
| InitPIrisGainValue | 初始P光圈等效增益值,此处增益值为实际值,单位为1x |
| InitDCIrisDutyValue | 初始DC光圈占空比值,取值范围为[0,100] |
| HdrAE | Hdr模式自动曝光初始值属性 |
| InitTimeValue | 初始曝光时间值,单位为秒 |
| InitGainValue | 初始sensor增益值,此处增益值为实际值,单位为1x |
| InitIspDGainValue | 初始ISP数字增益值,此处增益值为实际值,单位为1x |
| InitPIrisGainValue | 初始P光圈等效增益值,此处增益值为实际值,单位为1x |
| InitDCIrisDutyValue | 初始DC光圈占空比值,取值范围为[0,100] |
【注意事项】
自动曝光初始值未设置时,采用系统默认值。自动曝光初始值的大小,受自动曝光分解曲线的最大/小值限制。当自动曝光初始值的大小超出或低于自动曝光分解曲线的最大/小值,则用自动曝光分解曲线的最大/小值代替。自动曝光P光圈等效增益初始值,仅在光圈类型为P光圈时有效,默认初始值为P光圈所支持的最大光圈对应的等效增益值。等效增益的含义说明详见AecIrisCtrl模块。自动曝光DC光圈占空比初始值,仅在光圈类型为DC光圈时有效,默认初始值为DC光圈的MaxPwmValue值,此时DC-iris将以最大速度打开光圈。占空比及MaxPwmValue的含义说明详见AecIrisCtrl模块。RV1109/RV1126目前不支持ISP数字增益,故InitIspDGainValue无效。
AecGridWeight
统计主窗口各个子窗口权重
【成员】
| 成员名称 | 描述 |
|---|---|
| DayGridWeights | day模式下窗口(直方图)权重,支持5x5 或 15x15个数组元素,取值范围 [0,32] |
| NightGridWeights | night模式下窗口(直方图)权重,支持5x5 或 15x15个数组元素,取值范 围[0,32] |
【注意事项】
DayGridWeights表示day模式的窗口权重,即未开启夜间模式或无IR功能的模式下使用的窗口权重;NightGridWeights 表示夜间模式或IR开启模式下的窗口权重。夜间模式与IR模式不可同时开启,IR模式的开启需要硬件上的支持。RV1109/1126目前硬件可支持5X5和15X15两种规格的权重设置,调试文件中支持设置5X5或15X15权重,可更具应用需求及调试方便程度,选择一种规格进行设置。算法内部根据实际硬件配置进行权重的扩展或压缩。如有特殊需求(如人脸识别场景,当人脸出现是需要修改权重),要进行两种权重切换,可通过api的方式设置advanced中的权重参数,其为15X15的AE权重,算法内部根据实际硬件配置进行权重的压缩,设置方法详见Rockchip_Development_Guide_ISP2x_CN_v1.6.2.pdf。
AecRoute
自动曝光分解策略属性。用于设定AE曝光分解路线,AE算法计算得到的曝光量将按照设定的路线进行分配,用户可以根据具体应用的需求,将路线设定为曝光时间优先(快门优先)、增益优先、光圈优先。
【成员】
LinearAE
| 成员名称 | 描述 |
|---|---|
| name | 模式名称,分为day模式和night模式 |
| TimeDot | 曝光时间节点,单位为秒 |
| GainDot | sensor增益节点,此处增益值为实际值,单位为1x |
| IspgainDot | Isp数字增益节点,此处增益值为实际值,单位为1x |
| PIrisDot | 光圈等效增益节点,此处增益值为实际值,单位为1x |
HdrAE
| 成员名称 | 描述 |
|---|---|
| name | 模式名称,分为day模式和night模式 |
| L/M/STimeDot | 曝光时间节点,单位为秒。Hdr 2帧模式时,仅M/STimeDot有效;Hdr 3 帧模式时,L/M/STimeDot皆有效。 |
| L/M/SGainDot | sensor增益节点。Hdr 2帧模式时,仅M/ SGainDot有效;Hdr 3帧模式 时,L/M/ SGainDot皆有效。此处增益值为实际值,单位为1x |
| L/M/SIspDGainDot | Isp数字增益节点。Hdr 2帧模式时,仅M/ SIspDGainDot有效;Hdr 3帧 模式时,L/M/ SIspDGainDot皆有效。此处增益值为实际值,单位为1x |
| PIrisDot | 光圈等效增益节点,此处增益值为实际值,单位为1x |
【注意事项】
图4-2 曝光分解示意图
曝光分解曲线节点个数至多10个,建议至少设置6个节点需要注意的是:HDR 2帧模式下,仅需设置M/STimeDot、M/SGainDot、M/SIspDGainDot,分别对应实际的长短帧;HDR 3帧模式下,需设置L/M/STimeDot、L/M/SGainDot、L/M/SIspDGainDot,分别对应长、中、短帧。设置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的限制时,曝光分解路线曝光分量的节点最大/小值以第一次校正结果为准。如果相邻节点的曝光量增加,则应该只有一个曝光分量增加,其他曝光分量固定。增加的分量决定该段路线的分配策略。例如增益分量增加,其他分量固定,那么该段路线的分配策略是增益优先。RV1109/RV1126目前不支持ISP数字增益,故IspgainDot、L/M/SispDGainDot皆无效。AecManualCtrl
手动曝光参数设置,根据曝光模式分为LinearAE和HdrAE两套参数。
【成员】
| 成员名称 | 描述 |
|---|---|
| ManualTimeEn | 手动曝光时间使能,默认值为1 |
| ManualGainEn | 手动sensor增益使能,默认值为1 |
| ManualIspDgainEn | 手动ISP数字增益使能,默认值为1 |
| ManualIrisEn | 手动光圈使能,默认值为1 |
| TimeValue | 手动曝光时间值,以s为单位,参数值受sensor限制 |
| GainValue | 手动sensor增益值,此处增益值为实际值,单位为1x,参数值受sensor 限制 |
| IspDGainValue | 手动ISP数字增益值,此处增益值为实际值,单位为1x,参数值受ISP限制 |
| PIrisGainValue | 手动P光圈等效增益值,此处增益值为实际值,单位为1x,参数值受P光圈 设备限制,取值范围为[1,1024] |
| DCIrisValue | DC光圈HoldValue值,参数值与DC光圈设备有关,取值范围为[0,100] |
【注意事项】
该模块仅在AeOptype = MANUAL时有效。ManualTimeEn,ManualGainEn, ManualIspDgainEn,ManualPIrisEn 皆为1时,为手动模式;以上四者中只要任意一项不使能,则为半自动模式;以上四者皆为0,则等同自动模式,系统会报错提醒。手动/半手动模式下,手动曝光时间和增益会受自动模式下的最大/最小曝光时间和增益限制。超出自动曝光限制的范围之后,将使用自动模式下最大/最小值替代。ManualIrisEn,手动光圈使能。当光圈类型为P光圈时,仅PirisGainValue有效;当光圈类型为DC光圈时,仅DCIrisValue有效。DCIrisValue,手动模式下直接设置电机的PWM占空比值,取值范围[0,100]。手动模式下若设置为HoldValue值(即AecIrisCtrl中ClosePwmDuty到OpenPwmDuty区间内的值),则DC光圈孔径维持在当前大小;若设置的值大于OpenPwmDuty,则光圈处于打开状态,该值越大打开的速度越大;若设置的值小于ClosePwmDuty,则光圈处于关闭状态,该值越小关闭的速度越大。RV1109/RV1126目前不支持ISP数字增益,故ManualIspDgainEn、IspDGainValue皆无效。
AecIrisCtrl
光圈控制参数
【成员】
| 成员名称 | 描述 |
|---|---|
| Enable | 自动光圈功能的使能 |
| IrisType | 光圈类型,P(即P-iris光圈)或DC(即DC-iris光圈) |
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光圈,默认会打开到最大光圈所对应的步进电机位置。如想改变上述光圈位置,可至AecInitValue模块中修改InitPIrisGainValue、InitDCIrisDutyValue。自动光圈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。光圈的手动模式参数设置与曝光的手动模式一致。需要使用手动光圈功能时,需将AecOpType设置为手动模式,并使能AecManualCtrl模块中的ManualIrisEn参数。当IrisType为P-iris时,仅PirisGainValue有效;当IrisType为P-iris时时,仅DCIrisValue有效。
表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 |
AecDNSwitch
AEC调试参数随白天、夜晚模式进行切换的功能配置。
【成员】
DNTrigger:参数切换使能。
0:AEC参数不随白天、夜晚模式进行切换,默认固定使用白天参数;
1:AEC参数随白天、夜晚模式进行切换。
【注意事项】
AecDNSwitch模块并非判断白天夜晚模式的模块,目前白天夜晚场景的判断由CPSL模块负责,具体可详见CPSL模块参数说明。AecDNSwitch模块目前仅DNTrigger成员有效,表示AEC参数切换的使能。目前AEC模块中仅权重参数和曝光分解参数支持随白天/夜晚模式切换。
4.1.2.2 AEC模块线性曝光调试参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| RawStatsEn | 调试参数 | 用户调试参数 一般为默认值 | Y | Y |
| SetPoint | 调试参数 | 用户调试参数 | Y | Y |
| NightSetPoint | 调试参数 | 用户调试参数 | Y | Y |
| EvBias | 调试参数 | 用户调试参数 | Y | Y |
| ToleranceIn/Out | 调试参数 | 用户调试参数 | Y | Y |
| StrategyMode | 调试参数 | 用户调试参数 | Y | Y |
| DySetPointEn | 调试参数 | 用户调试参数 | Y | Y |
| DynamicSetpoint | 调试参数 | 用户调试参数 | Y | Y |
| BackLightCtrl | 调试参数 | 用户调试参数 | Y | Y |
| OverExpCtrl | 调试参数 | 用户调试参数 | Y | Y |
RawStatsEn
线性曝光支持使用Raw域统计亮度或RGB域统计亮度来计算曝光,根据具体应用需求可以切换。默认使用raw图统计值,即该位置1.
RawStatsEn = 0 , 表示使用RGB图(gamma前)的统计值计算曝光RawStatsEn = 1 , 表示使用raw图(已减黑电平,并乘上白平衡gain值)的统计值计算曝光
SetPoint
day模式下,自动曝光调节时的目标亮度值,取值范围[0,255]
NightSetPoint
night模式下,自动曝光调节时的目标亮度值,取值范围[0,255]
EvBias
自动曝光调节时,曝光量的偏差百分比,单位为%,取值范围为[-200,+200]
用于特殊场景下对(固定/动态)目标亮度值(SetPoint/NightSetPoint)进行调整。真实生效目标亮度为(SetPoint/ NightSetPoint)*[1+abs(EvBias)/100]^[EvBias/abs(EvBias)]。
如设置EvBias=100时,亮度为默认参数的2倍;EvBias=-100时,亮度为默认参数的1/2。
ToleranceIn/Out
自动曝光调节时,画面亮度的容忍度。单位为%,取值范围为[0,100]当自动曝光收敛时画面亮度值B应在 [真实生效目标亮度 X(1-容忍度/100), 真实生效目标亮度X(1+容忍度/100)] 范围内。
ToleranceIn代表曝光未收敛时的容忍度,ToleranceOut代表曝光收敛时的容忍度。建议ToleranceIn < ToleranceOut,可避免曝光变动过于灵敏,用于稳定曝光。
StrategyMode
自动曝光策略模式,高光优先或低光优先
【注意事项】
该参数暂无效
DySetPointEn
动态目标亮度值使能开关。值为1时,采用动态目标亮度值,值为0时,使用固定目标亮度值,动态目标亮度值失效。
DynamicSetpoint
动态目标亮度值设置。DySetPointEn = 1 时有效。
【成员】
| 成员名称 | 描述 |
|---|---|
| name | 模式名称,分为day模式和night模式 |
| ExpLevel | 动态曝光量节点属性,节点值为当前曝光量与最大曝光量的比值,取值范围为 [0,1],至多可设置10个节点。 |
| DySetpoint | 动态目标亮度值节点属性,节点值随曝光量动态变化,曝光量节点值越大,目标 亮度节点值越小,并与曝光量节点一一对应,至多可设置10个节点。 |
【注意事项】
ExpLevel为当前曝光量与最大曝光量的比值,即(Curgain * Curtime) / (Maxgain * Maxtime)。当DySetPointEn = 1时,目标亮度由DynamicSetpoint 决定,SetPoint与NightSetPoint无效。设置DySetpoint的节点时,尽量让各节点的值随着ExpLevel平滑变化,防止出现闪烁。
BackLightCtrl
背光补偿功能,即背光场景下,支持背光暗区的亮度抬亮,重现暗区细节。
【成员】
| 成员名称 | 描述 |
|---|---|
| Enable | 模块使能位,1:使能, 0:关闭 |
| MeasArea | 暗区检测区域,共包含6种模式:AUTO, UP, BOTTOM, LEFT, RIGHT, CENTER |
| LumaDistTh | 区域增长容忍度。 |
| OEROILowTh | 过曝区域亮度最低值,用于区分过曝区域与非过曝区域 |
| LvHighTh | 环境亮度高阈值 |
| LvLowTh | 环境亮度低阈值 |
| ExpLevel | 动态最大曝光值百分比,最大支持6个节点。ExpLevel =Exp/MaxExp |
| NonOEPdfHighTh | 非过曝区域占比阈值(0~1), 最大支持6个节点。与ExpLevel一一对应。 |
| LowLightPdfTh | 暗区占比阈值(0~1),最大支持6个节点。与ExpLevel一一对应,随着 ExpLevel增大而增大。 |
| TargetLLLuma | 动态暗区亮度目标值,与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曝光调试参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| ToleranceIn/Out | 调试参数 | 用户调试参数 | Y | Y |
| StrategyMode | 调试参数 | 用户调试参数 | Y | Y |
| EvBias | 调试参数 | 用户调试参数 | Y | Y |
| ExpRatioCtrl | 调试参数 | 用户调试参数 | Y | Y |
| LongFrmMode | 调试参数 | 用户调试参数 | Y | Y |
| LframeCtrl | 调试参数 | 用户调试参数 | Y | Y |
| MframeCtrl | 调试参数 | 用户调试参数 | Y | Y |
| SframeCtrl | 调试参数 | 用户调试参数 | Y | Y |
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。。
ExpRatioCtrl
HdrAE曝光比控制模块。
【成员】
| 成员名称 | 描述 |
|---|---|
| ExpRatioType | 曝光比模式,仅在Hdr模式多帧合成下有效 AUTO:根据场景,自动计算长短 帧的曝光比 FIX:长短帧采用固定曝光比 |
| RatioExpDot | 表示曝光量节点,根据曝光量,动态设置曝光比固定值或曝光比最大值,二者 一一对应。 |
| M2SRatioFix | ExpRatioType = AUTO时,无效。 ExpRatioType = FIX时,表示中帧与短帧的 曝光比,与曝光量节点RatioExpDot一一对应。。 |
| L2MRatioFix | ExpRatioType = AUTO时,无效。 ExpRatioType = FIX时,表示长帧与中帧的 曝光比,与曝光量节点RatioExpDot一一对应。 Hdr为2帧合成时无效,3帧合成 时有效。 |
| M2SRatioMax | ExpRatioType = AUTO时,表示中帧与短帧的曝光比动态最大值,与曝光量节 点RatioExpDot一一对应。 ExpRatioType = FIX时,无效 |
| L2MRatioMax | 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 | 动态长帧最大曝光值百分比,ExpLevel =Exp/MaxExp |
| LSetPoint | 动态长帧全局目标亮度值,与ExpLevel一一对应。 |
| NonOEPdfHighTh | 非过曝区域占比阈值(0~1), 与ExpLevel一一对应。 |
| LowLightPdfTh | 暗区占比阈值(0~1),与ExpLevel一一对应,随着ExpLevel增大而增 大。 |
| TargetLLLuma | 动态长帧暗区亮度目标值,与ExpLevel一一对应,随着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 | 动态中帧最大曝光值百分比,ExpLevel =Exp/MaxExp |
| MSetPoint | 动态中帧全局目标亮度值,与ExpLevel一一对应。随曝光增长,目标值降低。 |
SframeCtrl
短帧调试参数
【成员】
| 成员名称 | 描述 |
|---|---|
| SExpLevel | 动态短帧最大曝光值百分比,SExpLevel=SExposure/SmaxExposre |
| SSetPoint | 动态短帧全局平均亮度目标值,与SExpLevel一一对应, 同区间内的亮区亮度 目标值要求高于对应全局亮度目标值。 |
| TargetHLLuma | 动态短帧高亮区均值目标值,与SExpLevel一一对应 |
| HLLumaTolerance | 设置短帧高亮区目标容忍百分比,单位为% |
| HLROIExpandEn | 短帧高亮区扩展使能。=1,忽略占比较小的高亮区,减小高亮区灵敏度; =0,对所有高亮区进行亮度抑制,增大高亮区灵敏度 |
4.1.2.4 SensorInfo参数
Sensor级曝光参数模块,由驱动人员或tuning人员填写,用以告知和曝光相关的CIS参数信息,便于debug。要求tuning之前需要确认该模块的参数是否与sensor datasheet一致,否则可能导致曝光闪烁、HDR效果出错等问题。
| 参数名称 | 参数类 型 | 简要说明 | API 支持 | IQ Tool 支持 |
|---|---|---|---|---|
| GainRange | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| TimeFactor | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 一般为默认值,无需修改 | N | N |
| CISLinTimeRegMaxFac | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISHdrTimeRegSumFac | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISTimeRegOdevity | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISHdrTimeRegOdevity | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISTimeRegUnEqualEn | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISTimeRegMin | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISHdrTimeRegMin | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISHdrTimeRegMax | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISMinFps | CIS驱动 参数 | 一般为默认值,如需设置更低帧 率,可修改 | N | N |
| CISAgainRange | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISExtraAgainRange | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISDgainRange | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISIspDgainRange | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| CISHdrGainIndSetEn | CIS驱动 参数 | 以CIS datasheet为准,非调试 参数 | N | N |
| SensorFlip | 调试参 数 | 用户调试参数 根据产品应用设置翻转与镜像 | N | N |
GainRange 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;
}
TimeFactor
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行为步进。一般该值无需修改。
CISLinTimeRegMaxFac
非HDR模式下,最大曝光时间行与VTS的关系,由两个系数(C0,C1)组成
MaxTimeLine = C0*vts – C1
系数的具体值详见sensor原厂给出的datasheet
CISHdrTimeRegSumFac
HDR模式下,多帧曝光时间行的总和限制,由两个系数(C0,C1)组成
TotalMaxTimeLine = C0*vts – C1
系数的具体值详见sensor原厂给出的datasheet
CISTimeRegOdevity线性曝光模式sensor曝光时间行奇偶性,由两个系数(C0,C1)组成
Line = C0*x+C1
无奇偶限制:C0=1 C1=0固定奇数行:C0=2 C1=1固定偶数行:C0=2 C1=0固定为N的整数倍行:C0=N C1=0
CISHdrTimeRegOdevity
Hdr曝光模式sensor曝光时间行奇偶性,由两个系数(C0,C1)组成
Line = C0*x+C1
无奇偶限制:C0=1 C1=0固定奇数行:C0=2 C1=1固定偶数行:C0=2 C1=0 (如imx347 imx307等sensor)固定为N的整数倍行:C0=N C1=0
CISTimeRegUnEqualEn
Hdr模式Sensor对各帧(S/M/L)曝光时间行不相等限制
En=0 sensor Hdr模式允许各帧曝光时间行相等;En=1 sensor Hdr模式不允许各帧曝光时间行相等。
CISTimeRegMin
线性曝光模式sensor曝光时间行(寄存器值)允许的最小值,为整型。
CISHdrTimeRegMin
Hdr曝光模式sensor曝光时间行(寄存器值)允许的最小值,为整型。
CISHdrTimeRegMax
Hdr曝光模式sensor曝光时间行(寄存器值)允许的最大值,为整型。
【注意事项】
该参数由3个元素组成,Hdr2帧时前2个元素有效,分别代表短帧、长帧对应的最大曝光时间行;Hdr3帧时3个元素皆有效,分别代表短帧、中帧、长帧对应的最大曝光时间行。一般sensor对Hdr模式下各帧的最大曝光时间行无限制,此时该参数可填0,即代表sensor无最大曝光时间行的限制。当该值不为0时,各帧的曝光时间最大行以该参数为准。以imx307为例,该sensor对短帧的最大曝光行有限制,要求为222行,对长帧中帧则无此限制。因此该参数可填写为:[222 0 0]
CISMinFps
允许最小帧率,用于自动降帧模式,限制最小帧率,以防低照环境下,帧率过低导致拖影严重影响效果。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
【注意事项】
RV1109/RV1126目前暂不支持ISP数字增益,该项最大最小值分别填1。
CISHdrGainIndSetEn
Hdr模式下是否支持多帧的sensor曝光增益独立设置
值为0,代表多帧共用一个增益,如sensor gc2093;值为1,代表多帧支持独立设置增益。
【注意事项】
该模式仅针对HDR stagger模式,HDR DCG模式该参数无效
SensorFlip
Sensor输出图像方向控制。
bit 0,为镜像控制位(mirror)bit 1,为上下翻转控制位(flip)
4.1.2.5 System参数
系统相关参数
| 参数名称 | 参数类型 | 简要说明 | API支 持 | IQ Tool支 持 |
|---|---|---|---|---|
| HDR | 系统参数 | 以CIS datasheet为准,非调试参 数 | N | N |
| DCG SETTING _ | CIS驱动参 数 | 以CIS datasheet为准,非调试参 数 | N | N |
| EXP DELAY _ | CIS驱动参 数 | 以CIS datasheet为准,非调试参 数 | N | N |
HDR
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模式 |
DCG_SETTING
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。
EXP_DELAY
曝光生效模块参数,该模块参数一般从sensor的datasheet获知。鉴于部分sensor在normal模式和Hdr模式下曝光的生效帧数不同,该模块需要按照模式分开填写。
【成员】
| 成员名称 | 描述 |
|---|---|
| time delay _ | sensor曝光时间生效帧数 |
| gain delay _ | sensor曝光增益生效帧数 |
| dcg delay _ | Dual conversion gain模式生效帧数 |
【注意事项】
该模块的值需要以sensor原厂所给的datasheet为准,不可随意设置。如该模块值出错,可能导致曝光调节过程中出现闪烁。一般sensor的datasheet会描述曝光时间和增益的生效帧数。如曝光时间和增益在第n帧写入,n+2帧生效,则time_delay = 2, gain_delay =2,以此类推。部分sensor的曝光时间和增益生效帧数不同,如该模块参数出错,则有可能在曝光调节的过程中出现曝光时间和增益生效不同步,导致 闪烁现象。
4.1.3 调试步骤
AEC模块的调试主要包括AE的目标值调试、AE的曝光量分解路径调试、AE的权重调试、AE收敛速度调试等。在进行ISP调试前,需要确认sensor驱动是否正常工作,与CIS相关的曝光参数是否设置正确,避免曝光设置错误。
调试AEC之前还需要确保如下模块标定已完成且功能正确:BLC、AWB、LSC、CCM,gamma模块可使用默认gamma曲线。
步骤1.Sensor曝光参数及系统参数设置
如4.1.2章节的参数介绍,在进行正式调试前,需要确保SensorInfo和System模块参数的正确性,避免曝光设置错误或出现闪烁等问题。这两个模块的参数来源于sensor原厂的datasheet,需要调试人员和负责驱动编写人员密切注意。完成模块参数的填写后,可以开启调试IQ xml文件中的AecSyncTest功能进行测试。AecSyncTest功能通过循环设置N组不同曝光值,可测试sensor的曝光时间和曝光增益、及DCG切换生效帧数是否正确,还可用于测试曝光的线性度,从而确认曝光时间和曝光增益的寄存器值转换公式及相关参数是否正确。
如标定前参数已经确认完毕,该步骤可以跳过。
附:AecSyncTest功能参数介绍如下:曝光与统计的同步测试功能,支持按照给定间隔帧数,循环设置N组不同的曝光值,用于debug及验证曝光分量(曝光时间、曝光增益)的生效帧数及sensor曝光参数设置是否正确。
【成员】
| 成员名称 | 描述 |
|---|---|
| Enable | 曝光与统计同步测试功能的使能 |
| IntervalFrm | 曝光切换间隔帧数 |
| AlterExp | 曝光切换参数 |
AlterExp
根据模式的不同,分为LinearAE和HdrAE两套参数。
| 成员名称 | 描述 |
|---|---|
| TimeValue | 曝光时间值 |
| GainValue | 曝光增益值 |
| IspDgainValue | Isp数字增益值 |
| DcgMode | Dcg模式值 |
| PIrisGainValue | P-iris等效增益值 |
开启AecSyncTest功能后,打开AEC模块的LOG(1ff3等级),查看各组曝光与对应亮度的匹配情况。
步骤2.设置AE权重参数
AEC的测光统计模块可统计直方图信息以及分块亮度信息。通过将画面等间隔的分割成NXN个块,每个块赋予对应的权重。针对感兴趣的区域可以加大权重,因此不同的应用需求,权重也会有差异。一般针对IPC使用场景,感兴趣的主体一般位于场景的中心,建议将中心区域的权重调高,周边区域的权重调低,突出中心区域;针对CVR使用场景,感兴趣的主体一般位于场景的中下区域(道路区域),建议将中下区域的权重调高,上部区域的权重降低(天空区域)。图4-5为AEC权重参数的实例,如4.1.2章节的参数介绍,AEC模块的权重参数可分为白天、黑夜两套参数,参数的切换开关由AecDNSwitch控制。
图4-5 AEC权重参数步骤3.设置AE曝光分解参数
AE控制算法模块计算出的曝光量需要分解为sensor曝光时间分量、sensor曝光增益分量、ISP数字增益分量及光圈分量,各分量分别设置给相应模块,共同实现曝光设置,以获得期望亮度的图像。分解操作由AecRoute模块参数完成,参数说明详见4.1.2章节。不同的应用场景需要设置不同的AecRoute:针对白天场景,一般要求限制曝光时间、优先调节增益,防止曝光时间过大造成的运动拖影;针对夜间场景,一般要求优先调节曝光时间,再调节曝光增益,以求提高画面信噪比,提升夜间亮度。
步骤4.设置AE目标亮度值
线性曝光模式建议开启动态目标亮度功能,以满足不同亮度场景的需求。线性模式的目标亮度设置涉及到DynamicSetpoint、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, mfnr, uvnr和ynr4个模块。
isp锐化模块包含sharp和edgefilter两个模块。
NR pipeline框图
建议按照pipeline上的先后顺序进行噪声调试,每个模块调试时候都需要考虑模块前后级的效果相互影响以及综合的效果。
在噪声调试过程中,需要按照顺序将各个步骤的效果对应输出查看,好明确每个步骤对去噪的影响。如查看bayernr效果,需对比未去噪原始图,和仅打开bayernr效果图。
如查看mfnr效果,需要对比bayernr输出效果图,和仅经过mfnr但是uvnr,ynr,sharp.edgefilter关闭的图像对比。
以此类推。
4.2.1 BayerNR
4.2.1.1 功能描述
该模块在Raw域上对图像进行空域去噪处理。该去噪模块基于噪声标定结果,建立更符合噪声特性的去噪模型。
支持分别针对高信噪比与低信噪比2种噪声标定以及噪声参数,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。
图4-2-1-1 BayerNR 功能框图
4.2.1.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| ISO | 调试参数 | 用户调试参数 | Y | 仅查看,不可修改 |
| luLevel/luLevelVal | 标定参数 | 标定工具产生 | Y | 仅查看,不可修改 |
| luRatio | 标定参数 | 标定工具产生 | Y | Y |
| gauss en _ | 调试参数 | 用户调试参数 | Y | N |
| filtPara | 调试参数 | 用户调试参数 | Y | Y |
| lamda | 调试参数 | 用户调试参数 | Y | Y |
| fixW | 调试参数 | 用户调试参数 | Y | Y |
Enable: bayernr模块使能位,0:关闭,1:打开。
Mode
BNR 3种场景运行模式下的参数配置
【成员】
| 成员名称 | 描述 |
|---|---|
| cell/Name | 标识场景运行模式名称。 “normal”:线性、彩色模式下应用的BNR参数。例如:IPC 白天彩色 “hdr”:hdr模式下应用的BNR参数。 “gray”:黑白模式下应用的BNR参数 |
| cell/Setting | 具体BNR参数设置。详见后面Setting/xxx 成员参数说明 |
Setting
SNR_Mode
"HSNR": 标识HSNR模式下采用的BNR参数
"LSNR": 标识LSNR模式下采用的BNR参数
ISO
目前支持13档iso配置参数。
Iso最大支持到2048。
档与档之间iso参数,通过参数插值得到。
标定数据
luLevel/ luLevelVal
根据像素亮度调整降噪强度, 0-255划分出8个点,
每个点代表x轴像素亮度。
luRatio
根据像素亮度调整降噪强度,与上面luLevel 对应,x轴像素亮度对应的y轴降噪强度。
此参数是由bayernr 模块的noise calibration标定出来的数据。取值范围[0, 15.9]。高斯导向参数
gauss_en
高斯导向滤波 3x3 使能位. 0:关闭, 1:打开。
去噪力度参数
filtPara
单帧降噪力度,取值范围[0, 15.9]。此值越大,降噪力度越大。
此参数一般设置一般不超过0.2,容易对清晰度细节有影响。
如果是hdr模式的话,软件会自动在内部根据filtPara的单帧力度换算成hdr对应长中短3帧对应去噪力度。
随机噪声回填参数
Lamda
分段噪声阈值,lamda 越大,调节范围越大。取值范围[0 16383]。
fixW
分段噪声的4个等级的权重。取值范围[0 7.9]。
原图噪声和去噪后图像的差值按1Lamda, 2lamda, 3*lamda,分4个区间,
每个区间权重由fixw0, fixw1,fixw2,fixw3决定噪声回填力度。
fixW值越大,原图噪声权重越大。
4.2.1.3 调试步骤
Byaernr抑制高频色噪或ISO较大的时候抑制高频噪声,但是力度太大容易引起高频细节丢失。
一般在低iso下,bayernr不需要开太大,但是在高iso下可适当增加点力度,抑制亮色度的高频噪声。
如下图为bayernr力度大和力度小的差别,对细节影响较大。图4-2-1-3 bayernr去噪示例图
4.2.2 MFNR
4.2.2.1 功能描述
该模块在YUV域上对图像信号进行时域去噪处理。
该去噪模块基于噪声标定结果,建立更符合噪声特性的去噪模型。
首先,该模块对y和uv数据分开单独处理。
y数据分成4个尺度、高低频率进行处理。
uv数据分成3个尺度、高低频率进行处理。
根据帧间的相似度和差异值,进行运动判断,纹理检测最终计算去相应权重,进行多帧叠加去噪。
支持分别针对高信噪比与低信噪比2种噪声标定以及噪声参数,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。MFNR支持2合1(2to1) 或 3合1(3to1)模式,3to1模式相对去噪效果更好,但是整体系统带宽更高。图4-2-2-1-1 MFNR功能框图
图4-2-2-1-2 MFNR子功能框图
4.2.2.2 关键参数
| 参数名称 | 参数 类型 | 简要说明 | API支 持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试 参数 | 用户调试参数 | Y | Y |
| local gain en _ _ | 模式 参数 | 模式参数,基本都会使用local gain模式 | Y | Y |
| mode 3to1 _ | 模式 参数 | 模式参数,2帧3dnr,3帧3dnr 模式选择 | Y | N |
| iso | 调试 参数 | 用户调试参数 | Y | 可查看不可 修改 |
| weight limit y _ _ | 调试 参数 | 常调试参数 | Y | Y |
| weight limit uv _ _ | 调试 参数 | 常调试参数 | Y | Y |
| luma w in chroma _ _ _ | 调试 参数 | 常调试参数 | Y | Y |
| noise curve _ | 标定 参数 | 标定工具产生参数 | Y | 可查看不可 修改 |
| noise curve x00 _ _ | 标定 参数 | 标定工具产生参数 | Y | 不支持 |
| y lo noiseprofile _ _ | 标定 参数 | 标定工具产生参数 | Y | 可查看不可 修改 |
| y hi noiseprofile _ _ | 标定 参数 | 标定工具产生参数 | Y | 可查看不可 修改 |
| uv lo noiseprofile _ _ | 标定 参数 | 标定工具产生参数 | Y | 可查看不可 修改 |
| uv hi noiseprofile _ _ | 标定 参数 | 标定工具产生参数 | Y | 可查看不可 修改 |
| y lo bfscale _ _ | 调试 参数 | 常调试参数 | Y | Y |
| y hi bfscale _ _ | 调试 参数 | 常调试参数 | Y | Y |
| y lumanrpoint _ | 调试 参数 | 常调试参数 | Y | Y |
| y lumanrcurve _ | 调试 参数 | 常调试参数 | Y | Y |
| y denoisestrength _ | 调试 参数 | 常调试参数 | Y | Y |
| 参数名称 | 参数 类型 | 简要说明 | API支 持 | IQ Tool支持 |
|---|---|---|---|---|
| y lo lvl0-3 gfdelta _ _ _ | 调试 参数 | 不常调试参数,基本用默认值 | Y | N |
| y hi lvl0-3 gfdelta _ _ _ | 调试 参数 | 不常调试参数,基本用默认值 | Y | N |
| uv lo bfscale _ _ | 调试 参数 | 常调试参数 | Y | Y |
| uv hi bfscale _ _ | 调试 参数 | 常调试参数 | Y | Y |
| uv lumanrpoint _ | 调试 参数 | 常调试参数 | Y | Y |
| uv lumanrcurve _ | 调试 参数 | 常调试参数 | Y | Y |
| uv denoisestrength _ | 调试 参数 | 常调试参数 | Y | Y |
| uv lo lvl0-3 gfdelta _ _ _ | 调试 参数 | 不常调试参数,基本用默认值 | Y | N |
| uv hi lvl0-3 gfdelta _ _ _ | 调试 参数 | 不常调试参数,基本用默认值 | Y | N |
| lvl0-3 gfsigma _ | 调试 参数 | 不常调试参数,基本用默认值 | Y | N |
Enable:
MFNR模块使能位,0:关闭,1:打开。
mode_3to1
MFNR 2to1模式和3to1模式选择。
0: 2to1模式
1: 3to1 模式
local_gain_en
MFNR模块处于ISP图像处理的后级,经过前级模块处理的数据在某些模块上会被叠加局部增益,包括:LSC / HDR MERGE / HDR TMO / Dehaze & Enhance。MFNR的噪声模型分析需要考虑数据的叠加增益。该模块支持采用前级的局部增益模式,或是手动配置全局估算增益模式。
1:使用local gain模式。0:使用global gain模式。
【注意事项】
建议采用local gain 模式。
Mode
MFNR 3种场景运行模式下的参数配置
【成员】
| 成员名称 | 描述 |
|---|---|
| cell/Name | 标识场景运行模式名称。 “normal”:线性、彩色模式下应用的MFNR参数。例如:IPC 白天彩色 “hdr”:hdr模式下应用的MFNR参数。 “gray”:黑白模式下应用的MFNR参数 |
| cell/Setting | 具体MFNR参数设置。详见后面Setting/xxx 成员参数说明 |
Setting
SNR_Mode
"HSNR": 标识HSNR模式下采用的MFNR参数
"LSNR": 标识LSNR模式下采用的MFNR参数
MFNR_ISO
各个ISO下MFNR参数。
MFNR_ISO / Iso
当前档对应iso值
MFNR_ISO /weight_limit_y
亮度第0层前向权重值的最小值。
亮度第1-3层前向权重值的最小值。
取值范围[1 256]。值越小,多帧叠加力度越大。
MFNR_ISO / weight_limit_uv
色度第0层前向权重值的最小值。
色度第1-2层前向权重值的最小值。
取值范围[1 256]。
值越小,多帧叠加力度越大。
MFNR_ISO / ratio_frq
亮度低频第0层纹理值判断时的低位边界。
亮度低频第0层纹理值判断时的高位边界。
色度低频第0层纹理值判断时的低位边界。
色度低频第0层纹理值判断时的高位边界。
该值越大,去噪力度越小。 一般设置0.5和2即可。取值范围[0 8)。
MFNR_ISO / luma_w_in_chroma
色度第0层相似度判断中亮度指导色度去噪的权重值。
值越大,y分量影响越大,uv分量影响越小。
取值范围[0 1]。
Y标定数据
MFNR_ISO / noise_curve
y分量噪声sigma曲线,y值。工具标定出来的值。
MFNR_ISO / noise_curve_x00
y分量噪声sigma曲线,x值。
MFNR_ISO / y_lo_noiseprofile Y分量低频4层噪声曲线修正参数。工具标定出来的值。
值越小,去噪力度越大。
MFNR_ISO / y_hi_noiseprofile
Y分量高频4层噪声曲线修正参数。工具标定出来的值。
值越小,去噪力度越大。
Y低频去噪调节参数
MFNR_ISO / y_lo_bfscale
Y分量低频4层噪声曲线影响因子。值越小,去噪力度越大。取值范围[0, 8]。
MFNR_ISO / y_lumanrpoint
Y分量低频噪声曲线,根据pixel亮度,修正噪声曲线形状的影响因子。
此参数对应pixel亮度分区。取值范围[0, 255]。
MFNR_ISO / y_lumanrcurve
Y分量低频噪声曲线,根据pixel亮度,修正噪声曲线形状的影响因子。
此参数对应影响因子。取值范围[0, 4)。
MFNR_ISO / y_denoisestrength
Y分量去噪强度因子。值越大,去噪力度越强。取值范围[0, 4]。
MFNR_ISO / y_lo_lvl0_gfdelta
Y分量低频第0层相似度5x5高斯算子。
coef0+coef14+coef24+coef34 +coef48+coef5*4 = 1
MFNR_ISO / y_lo_lvl1_gfdelta Y分量低频第1层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
MFNR_ISO / y_lo_lvl2_gfdelta
Y分量低频第2层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
MFNR_ISO / y_lo_lvl3_gfdelta
Y分量低频第3层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
Y高频去噪调节参数
MFNR_ISO / y_hi_bfscale
Y分量高频4层噪声曲线影响因子。值越小,去噪力度越大。取值范围[0, 8]。
MFNR_ISO / y_hi_lvl0_gfdelta
Y分量高频第0层相似度5x5高斯算子。
coef0+coef14+coef24+coef34 +coef48+coef5*4 = 1
MFNR_ISO / y_hi_lvl1_gfdelta
Y分量高频第1层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
MFNR_ISO / y_hi_lvl2_gfdelta
Y分量高频第2层相似度3x3高斯算子。
coef0+coef14+coef24 = 256 MFNR_ISO / y_hi_lvl3_gfdelta
Y分量高频第3层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
UV标定参数
MFNR_ISO / uv_lo_noiseprofile
UV分量低频3层噪声曲线修正参数。工具标定出来的值。
值越小,去噪力度越大。
MFNR_ISO / uv_hi_noiseprofile
UV分量高频3层噪声曲线修正参数。工具标定出来的值。
值越小,去噪力度越大。
UV低频去噪参数
MFNR_ISO / uv_lo_bfscale
UV分量低频3层噪声曲线影响因子。值越小,去噪力度越大。取值范围[0, 16]。
MFNR_ISO / uv_lumanrpoint
UV分量低频噪声曲线,根据pixel亮度,修正噪声曲线形状的影响因子。
此参数对应pixel亮度分区。取值范围[0, 255]。
MFNR_ISO / uv_lumanrcurve
UV分量低频噪声曲线,根据pixel亮度,修正噪声曲线形状的影响因子。
此参数对应影响因子。取值范围[0,4)。
MFNR_ISO / uv_denoisestrength
UV分量去噪强度因子。值越大,去噪力度越强。取值范围[0, 4]。MFNR_ISO / uv_lo_lvl0_gfdelta
UV分量低频第0层相似度5x5高斯算子。
coef0+coef14+coef24+coef34 +coef48+coef5*4 = 1
MFNR_ISO / uv_lo_lvl1_gfdelta
UV分量低频第1层3相似度x3高斯算子。
coef0+coef14+coef24 = 256
MFNR_ISO / uv_lo_lvl2_gfdelta
UV分量低频第2层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
UV高频去噪参数
MFNR_ISO / uv_hi_bfscale
UV分量高频3层噪声曲线影响因子。值越小,去噪力度越大。取值范围[0, 16]。
MFNR_ISO / uv_hi_lvl0_gfdelta
UV分量高频第0层相似度5x5高斯算子。
coef0+coef14+coef24+coef34 +coef48+coef5*4 = 1
MFNR_ISO / uv_hi_lvl1_gfdelta
UV分量高频第1层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
MFNR_ISO / uv_hi_lvl2_gfdelta UV分量高频第2层相似度3x3高斯算子。
coef0+coef14+coef24 = 256
高斯滤波算子参数
MFNR_ISO / lvl0_gfsigma
待去噪图像计算噪声期望时,会先进行高斯滤波,再来索引噪声期望值。
此参数为上面所说的第0层5x5高斯滤波的算子。
coef0+coef14+coef24+coef34 +coef48+coef5*4 = 1
MFNR_ISO / lvl1_gfsigma
待去噪图像计算噪声期望时,会先进行高斯滤波,再来索引噪声期望值。
此参数为上面所说的第1层3x3高斯滤波的算子。
coef0+coef14+coef24 = 256
MFNR_ISO / lvl2_gfsigma
待去噪图像计算噪声期望时,会先进行高斯滤波,再来索引噪声期望值。
此参数为上面所说的第2层3x3高斯滤波的算子。
coef0+coef14+coef24 = 256
MFNR_ISO / Lvl3_gfsigma
待去噪图像计算噪声期望时,会先进行高斯滤波,再来索引噪声期望值。
此参数为上面所说的第3层3x3高斯滤波的算子。
coef0+coef14+coef24 = 256
动静判断参数 motion_detection
【原理】:通过判断物体是否运动,划分出静止区域和运动区域。
对静止区域多帧叠加力度进行增强,运动区域多帧叠加力度不变。
【调试】:建议在关闭动静判断时候,先调试出一个mfnr的基本水平,平衡拖影和透的基础水平。
然后再打开动静判断的使能位,先将mfnr_sigma_scale设置为1,查看噪声如何。
动静判断功能打开,mfnr_sigma_scale为1的情况下:静止区域和运动区域mfnr的去噪水平和未打开情况基本一致;
如果静止区域噪声跳动比较厉害,可以增大mfnr_sigma_scale值, 增大静止区域的多帧叠加力度。
yuvnr_gain_scale0-2, 以ynr模块力度为基础,在其基础上增加或减少运动区域ynr去噪力度。
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | 支持 | 支持 |
| ISO | 调试参数 | 用户调试参数 | 支持 | 可查看不可修改 |
| sigmaHScale | 调试参数 | 不常调试参数 | 支持 | 支持 |
| sigmaLScale | 调试参数 | 不常调试参数 | 支持 | 支持 |
| light clp _ | 调试参数 | 不常调试参数 | 支持 | 支持 |
| uv weight _ | 调试参数 | 常调试参数 | 支持 | 支持 |
| mfnr sigma scale _ _ | 调试参数 | 常调试参数 | 支持 | 支持 |
| yuvnr gain scale0 _ _ | 调试参数 | 常调试参数 | 支持 | 支持 |
| yuvnr gain scale1 _ _ | 调试参数 | 常调试参数 | 支持 | 支持 |
| yuvnr gain scale2 _ _ | 调试参数 | 常调试参数 | 支持 | 支持 |
| frame limit y _ _ | 调试参数 | 常调试参数 | 支持 | 支持 |
| frame limit uv _ _ | 调试参数 | 常调试参数 | 支持 | 支持 |
Enable
每个模式下动静判断的开关使能位,1:使能,0:关闭。
ISO
不同ISO等级对应不同参数设置。iso最大支持到204800。
sigmaHScale
动静判决高频比例。取值范围[0, 1]。默认值为1, 调试时候默认不需要改动此值。
sigmaLScale
动静判决低频比例。取值范围[0, 1]。默认值为0.5,调试时候默认不需要改动此值。light_clp
未使用。
uv_weight
动静判决色度分量比例 。取值范围[0, 1]。默认值为1。
mfnr_sigma_scale
动静判决整体力度 。取值范围[1, 4],默认值为4。
值越大,多帧叠加效果越好。
yuvnr_gain_scale0
当前帧运动区域低频层ynr增强力度 。取值范围[1, 2],默认值为2。
值越大,运动区域ynr去噪效果越好。
yuvnr_gain_scale1
当前帧运动区域力度高频层ynr增强力度 。取值范围[1, 2],默认值为2。
值越大,运动区域去噪效果越好。
yuvnr_gain_scale2
过往帧运动区域力度 ynr增强力度。取值范围[1, 2],默认值为2。
值越大,运动区域过往帧去噪效果越好。
frame_limit_y
限制y数据多帧叠权重,值越大,允许叠加力度越大。
一般有打开动静判断时候,1-3层的weight权重可以写最小值. 第4层weight可以保留16-32的值。frame_limit_uv
限制uv数据多帧叠权重,值越大,允许叠加力度越大。
一般有打开动静判断时候,1-2层的weight权重可以写最小值. 第3层weight可以保留16-32的值。
4.2.2.3 调试步骤
Mfnr——首先关闭bayernr,gic,ynr,uvnr,sharp,edgefilter,调节mfnr的scale值,在拖影和去噪间选择一个平衡值。一般来说等效于6帧的叠加效果为佳,因为mfnr去噪力度增大的同时收益会减小,但拖影等瑕疵却增加。
如下图从左到右分别对应关闭mfnr,mfnr大约叠加6帧左右,mfnr极强效果,
4.2.3 YNR
4.2.3.1 功能描述
该模块在YUV域上对图像亮度信号进行小波去噪处理。
该去噪模块基于噪声标定结果,建立更符合噪声特性的去噪模型。
算法主要是分层4个尺度,并且每个尺度分高低频分别对亮度信号进行去噪。
支持分别针对高信噪比与低信噪比2种噪声标定以及噪声参数,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。图4-2-3-1 YNR功能框图
图4-2-3-2 YNR子功能框图
4.2.3.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool 支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| iso | 调试参数 | 用户调试参数 | Y | 可查看不可修改 |
| sigma curve _ | 标定参数 | 标定工具产生参数 | Y | 可查看不可修改 |
| ynr lci _ | 标定参数 | 标定工具产生参数 | Y | 可查看不可修改 |
| ynr lhci _ | 标定参数 | 标定工具产生参数 | Y | 可查看不可修改 |
| ynr hlci _ | 标定参数 | 标定工具产生参数 | Y | 可查看不可修改 |
| ynr hhci _ | 标定参数 | 标定工具产生参数 | Y | 可查看不可修改 |
| lo lumaPoint _ | 调试参数 | 常调试参数 | Y | Y |
| lo lumaRatio _ | 调试参数 | 常调试参数 | Y | Y |
| lo directionStrength _ | 调试参数 | 不常调试参数 | Y | Y |
| lo bfScale _ | 调试参数 | 常调试参数 | Y | Y |
| imerge ratio _ | 调试参数 | 不常调试参数 | Y | Y |
| imerge bound _ | 调试参数 | 不常调试参数 | Y | Y |
| denoise weight _ | 调试参数 | 常调试参数 | Y | Y |
| hi lumaPoint _ | 调试参数 | 常调试参数 | Y | Y |
| hi lumaRatio _ | 调试参数 | 常调试参数 | Y | Y |
| hi bfScale _ | 调试参数 | 常调试参数 | Y | Y |
| hwith d _ | 调试参数 | 不常调试参数 | Y | N |
| hi denoiseStrength _ | 调试参数 | 常调试参数 | Y | Y |
| hi detailMinAdjDnW _ | 调试参数 | 不常调试参数 | Y | Y |
| hi denoiseWeight _ | 调试参数 | 常调试参数 | Y | Y |
| y luma point _ _ | 调试参数 | 常调试参数 | Y | Y |
| hgrad y level1-4 _ _ | 调试参数 | 不常调试参数 | Y | N |
| hi soft thresh scale _ _ _ | 调试参数 | 常调试参数 | Y | Y |
Enable:
ynr模块使能位,0:关闭,1:打开。
Mode YNR 3种场景运行模式下的参数配置
【成员】
| 成员名称 | 描述 |
|---|---|
| cell/Name | 标识场景运行模式名称。 “normal”:线性、彩色模式下应用的YNR参数。例如:IPC 白天彩色 “hdr”:hdr模式下应用的YNR参数。 “gray”:黑白模式下应用的YNR参数 |
| cell/Setting | 具体YNR参数设置。详见后面Setting/xxx 成员参数说明 |
Setting
SNR_Mode
"HSNR": 标识HSNR模式下采用的YNR参数
"LSNR": 标识LSNR模式下采用的YNR参数
YNR_ISO
各个ISO下YNR参数。
YNR_ISO / Iso
当前档对应iso值,取值范围[50 2048]。
标定数据
YNR_ISO / sigma_curve
噪声sigma曲线。ynr模块标定工具标定的噪声曲线值。
YNR_ISO / ynr_lci , ynr_lhci , ynr_hlci , ynr_hhci
标定工具标定出来值。影响噪声sigma值。这个值负数肯定是有问题。
ynr_lci:低频频 LL 噪声曲线的比例,1~4 分别对应四层.
ynr_lhci:高频 LH 噪声曲线的比例,1~4 分别对应四层.
ynr_hlc:高频 HL 噪声曲线的比例,14 分别对应四层. ynr_hhci:高频 HH 噪声曲线的比例,14 分别对应四层.
低频层去噪调节参数。
YNR_ISO / lo_lumaPoint
在pixel亮度域上,增加低频sigma调节因子。对应pixel的亮度。取值范围[0 255].
YNR_ISO / lo_lumaRatio
在pixel亮度域上,增加低频sigma调节因子。对应调节因子。取值范围[0 2].
YNR_ISO / lo_directionStrength
低频sigma 调整因子最大值。取值范围[0 16)。
算法会在低频检测纹理来判断边缘区和平坦区,
根据中心点权重,对权重判断,计算sigma影响因子,
YNR_ISO / lo_bfScale
低频sigma调整因子最小值。分1-4层。取值范围[0-16).
值越大,去噪越大。
YNR_ISO / imerge_ratio
算法会在低频检测纹理值,边缘使用双边滤波结果,平坦区使用高斯滤波结果。
处在这个两个纹理阈值中间的,使用双边和高斯插值的结果。个参数就是加权比例参数。
值越大,高斯滤波权重越大。值越小,双边滤波权重越大。
取值范围[0 16).
YNR_ISO / imerge_bound
上面说的纹理阈值相关。纹理阈值为[imerge_bound, 2*imerge_bound]。
取值范围[1 16]的整数。YNR_ISO / denoise_weight
1-4层低频调整降噪的力度, 取值范围[0 1]。
它是根据去噪权重值比例对滤波的结果和原值加权来实现的。
值大,滤波占比大,去噪效果好一些。
值小,原值占比大,噪声会多一些。
高频层去噪调节参数。
YNR_ISO / hi_lumaPoint
在pixel亮度域上,增加高频sigma调节因子。对应pixel的亮度。取值范围[0 255].
YNR_ISO / hi_lumaRatio
在pixel亮度域上,增加高频sigma调节因子。对应调节因子。取值范围[0 2).
值越大,降噪强度越大。
YNR_ISO / hi_bfScale
高频双边滤波sigma影响因子,值越大,降噪强度越大。取值范围[0-16).
YNR_ISO / hwith_d
高频1-4层的双边滤波的空间权重。
高频的双边滤波的权重 d0d4, 后面的 14 表示四层.
YNR_ISO / hi_denoiseStrength
高频去噪的强度调节. 值越大,降噪强度越大。取值范围[0 16).
YNR_ISO / hi_detailMinAdjDnW
高频限制阈值调整的范围. 取值范围[0 2)。YNR_ISO / hi_denoiseWeight
1-4层低频调整降噪的力度,取值范围[0-64)。
它是根据去噪权重值比例对滤波的结果和原值加权来实现的。
值越大,降噪强度越大.
YNR_ISO / y_luma_point
梯度分区。梯度计算阈值调节参数
YNR_ISO / hgrad_y_level1~4
梯度阈值调节因子。高频1-4层,梯度调节因子对应曲线y轴。取值范围[0-4)。
先计算当前位置的梯度,然后根据梯度去查表和插值得到参数调节因子。
值越大,使用滤波结果越多。值越小,使用滤波越少。
梯度小,此参数值会设置比较大。梯度大,此参数值会设置比较小。单调递减。
YNR_ISO / hi_soft_thresh_scale
软阈值调节因子。对应高频1-4层整体调节因子。取值范围[0-1)。
值越大,去噪力度越大。
4.2.3.3 调试步骤
Ynr——关闭sharp,edgefilter,调节ynr的scale,weight,strength等相关参数,在去噪和瑕疵间取得一个平衡。strength*scale是最终的缩放倍数,用于调节滤波的sigma值,控制去噪的力度。weight控制去除噪声的比例,weight不应超过70%,在固定weight后通过调节scale去选择一个平坦区域刚好能去除噪声值,然后在根据去噪和瑕疵的平衡确定最终的weight。
如下图从左到右分别对应weight为1.0, 0.8, ynr off的结果:图4-2-3-3-1 YNR weight示例图
可以看出0.8相对0有一个明显去噪的结果,且噪声瑕疵达到一个较好的平衡,
而1.0出现了更明显的瑕疵,甚至超过了噪声的水平。
如图下图从左到右分别对应ynr off, scale high, scale low的示意图:
图4-2-3-3-2YNR scale示例图
可以看出中间的scale high对应scale较大,滤波器可以将平坦区域的噪声去除,
而右边的scale low对应的scale偏小,则不能完全做到这点。
4.2.4 UVNR
4.2.4.1 功能描述
该模块在YUV域上对图像色度信号(即uv数据)进行空域去噪处理。
uv数据会先分成3种不同的尺度,对不同尺度上的彩色噪声进行去除,再进行多尺度融合回原图像尺寸。
每个尺度上的去噪流程类似,有中值滤波,y指导uv去噪力度,以及uv数据去噪和噪声回填等部分。
支持分别针对高信噪比与低信噪比2种噪声标定以及噪声参数,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。图4-2-4-1 UVNR功能框图
图4-2-4-2 UVNR子功能框图
4.2.4.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API 支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| ISO | 调试参数 | 用户调试参数 | Y | 可查看不可修改 |
| step0 uvgrad ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| step0 uvgrad offset _ _ | 调试参数 | 常调试参数 | Y | Y |
| step1 median ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| step1 bf sigmaR _ _ | 调试参数 | 常调试参数 | Y | Y |
| step1 bf uvgain _ _ | 调试参数 | 常调试参数 | Y | Y |
| step1 bf ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| step2 median ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| step2 bf sigmaR _ _ | 调试参数 | 常调试参数 | Y | Y |
| step2 bf uvgain _ _ | 调试参数 | 常调试参数 | Y | Y |
| step2 bf ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| step3 bf sigmaR _ _ | 调试参数 | 常调试参数 | Y | Y |
| step3 bf uvgain _ _ | 调试参数 | 常调试参数 | Y | Y |
| step3 bf ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| kernel 3x3 _ | 调试参数 | 不常调试参数 | Y | N |
| kernel 5x5 _ | 调试参数 | 不常调试参数 | Y | N |
| kernel 9x9 _ | 调试参数 | 不常调试参数 | Y | N |
| kernel 9x9 num _ _ | 调试参数 | 不常调试参数 | Y | N |
Enable:
UVNR模块使能位,0:关闭,1:打开。
Mode
UVNR 3种场景运行模式下的参数配置
【成员】
| 成员名称 | 描述 |
|---|---|
| cell/Name | 标识场景运行模式名称。 “normal”:线性、彩色模式下应用的UVNR参数。例如:IPC 白天彩色 “hdr”:hdr模式下应用的UVNR参数。 “gray”:黑白模式下应用的UVNR参数 |
| cell/Setting | 具体UVNR参数设置。详见后面Setting/xxx 成员参数说明 |
Setting
SNR_Mode
"HSNR": 标识HSNR模式下采用的UVNR参数
"LSNR": 标识LSNR模式下采用的UVNR参数
UVNR_ISO
各个ISO下UVNR参数。
UVNR_ISO / Iso
当前档对应iso值,取值范围[50 2048]。
UVNR_ISO / step0_uvgrad_ratio
梯度比例因子,值越小,梯度大地方颜色损失越多。取值范围[1 63]。
UVNR_ISO / step0_uvgrad_offset
梯度加权因子,值越大,图像颜色损失越多。取值范围[0, 1]。
尺度1上去噪调节参数
UVNR_ISO / step1_median_ratio
4x4下采样后滤波中值后图像和未去噪图像加权因子,取值范围[0, 1]。
值越大,中值滤波图像权重越大,噪声越小。UVNR_ISO / step1_bf_sigmaR
双边1滤波sigma比例因子,值越大,去噪越大。
取值范围[1.68, 13824],建议[5, 64]。
UVNR_ISO / step1_bf_uvgain
双边1的uv比例因子,即y通道指导uv通道去噪权重,取值范围[0, 7.9]。
值越小,y指导uv去噪权重越小,uv通道去噪权重越大,去噪越大。
UVNR_ISO / step1_bf_ratio
双边1去噪后图像和未去噪图像进行加权的权重,取值范围[0, 1]。
值越小,双边去噪图像权重更大,未去噪图像权重更小,整体去噪去噪越大。
尺度2上去噪调节参数
UVNR_ISO / Step2_median_ratio
32x32下采样后滤波中值后图像和未去噪图像加权因子,取值范围[0, 1]。
UVNR_ISO / step2_bf_sigmaR
双边2滤波sigma比例因子,值越大,去噪越大。
取值范围[1.68, 13824],建议[5, 32]。
UVNR_ISO / step2_bf_uvgain
双边2的uv比例因子,即y通道指导uv通道去噪权重,取值范围[0, 7.9]。
值越小,y指导uv去噪权重越小,uv通道去噪权重越大,去噪越大。
UVNR_ISO / step2_bf_ratio双边2去噪后图像和未去噪图像进行加权的权重,取值范围[0, 1]。
值越小,双边去噪图像权重更大,未去噪图像权重更小,整体去噪去噪越大。
尺度3上去噪调节参数
UVNR_ISO / Step3_bf_sigmaR
双边3滤波sigma比例因子,值越大,去噪越大。
取值范围[1.68, 13824],建议[3, 12]。
此值太大,可能会导致uv色彩边缘锯齿。
此值太的,极低光照下,也可能导致uv色彩跳动变化很剧烈。
UVNR_ISO / Step3_bf_uvgain
双边2的uv比例因子,即y通道指导uv通道去噪权重,取值范围[0, 7.9]。
值越小,y指导uv去噪权重越小,uv通道去噪权重越大,去噪越大。
UVNR_ISO / Step3_bf_ratio
双边3去噪后图像和未去噪图像进行加权的权重,取值范围[0, 1]。
值越小,双边去噪图像权重更大,未去噪图像权重更小,整体去噪去噪越大。
双边距离权重可调节参数
UVNR_ISO / kernel_3x3
双边3的,距离权重配置。
UVNR_ISO / kernel_5x5
双边2的,距离权重配置。
UVNR_ISO / kernel_9x9
双边1的,距离权重配置。UVNR_ISO / kernel_9x9_num
双边1的,双边使用点模式,共4种。取值范围[0-3]
4.2.4.3 调试步骤
Uvnr调试时,需关闭sharp,edgefilter,分别调节step1_bf_sigmaR,step1_bf_uvgain控和step3_bf_sigmaR,step3_bf_uvgain控制高频和低频色噪的去除,同时权衡高频和低频色度侵染或饱和度降低等瑕疵的平衡,领注意低频色噪去除的力度,力度过大会出现帧间闪烁。
下图从左到右分别对应去低频色噪,去高频色噪,uvnr关闭;
图4-2-4-3-1 UVNR高低频去色噪示例图
下图从左到右分别对应uvnr step 1力度最大,uvnr step 1力度适中,uvnr off;
图4-2-4-3-2 UVNR step1 不同力度示例图
下图从左到右分uvnr step 3力度最大,uvnr step 3力度适中,uvnr off。图4-2-4-3-3 UVNR step3 不同力度示例图
4.2.5 SHARP
4.2.5.1 功能描述
Sharpen模块用于增强图像的清晰度,可以实现对图像的带方向的边缘和无方向的细节纹理的单独锐化增强,而且,通过调节所要增强的频段,可以实现多种清晰度风格的增强效果。
支持分别针对高信噪比与低信噪比2种噪声模式下锐化参数设置,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。
图4-2-5-1 SHARP功能框图
4.2.5.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| gauss luma coeff _ _ | 调试参数 | 不常调试参数 | Y | N |
| pbf coeff l / pbf coeff h _ _ _ _ | 调试参数 | 不常调试参数 | Y | Y |
| rf m coeff l / rf m coeff h _ _ _ _ _ _ | 调试参数 | 不常调试参数 | Y | Y |
| mbf coeff _ | 调试参数 | 不常调试参数 | Y | N |
| rf h coeff l / rf h coeff h _ _ _ _ _ _ | 调试参数 | 不常调试参数 | Y | Y |
| hbf coeff l / hbf coeff h _ _ _ _ | 调试参数 | 不常调试参数 | Y | Y |
| iso | 调试参数 | 常调试参数 | Y | 可查看不可修改 |
| lratio | 调试参数 | 常调试参数 | Y | Y |
| hratio | 调试参数 | 常调试参数 | Y | Y |
| mf sharp ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| hf sharp ratio _ _ | 调试参数 | 常调试参数 | Y | Y |
| luma point _ | 调试参数 | 常调试参数 | Y | N |
| luma sigma _ | 调试参数 | 常调试参数 | Y | Y |
| pbf gain _ | 调试参数 | 常调试参数 | Y | Y |
| pbf ratio _ | 调试参数 | 常调试参数 | Y | Y |
| pbf add _ | 调试参数 | 常调试参数 | Y | Y |
| mf clip pos _ _ | 调试参数 | 常调试参数 | Y | Y |
| mf clip neg _ _ | 调试参数 | 常调试参数 | Y | Y |
| mbf gain _ | 调试参数 | 常调试参数 | Y | Y |
| mbf add _ | 调试参数 | 常调试参数 | Y | Y |
| hf clip _ | 调试参数 | 常调试参数 | Y | Y |
| hbf gain _ | 调试参数 | 常调试参数 | Y | Y |
| hbf ratio _ | 调试参数 | 常调试参数 | Y | Y |
| hbf add _ | 调试参数 | 常调试参数 | Y | Y |
| local sharp strength _ _ | 调试参数 | 常调试参数 | Y | Y |
| pbf coeff percent _ _ | 调试参数 | 不常调试参数 | Y | Y |
| rf m coeff Percent _ _ _ | 调试参数 | 不常调试参数 | Y | Y |
| rf h coeff percent _ _ _ | 调试参数 | 不常调试参数 | Y | Y |
| hbf coeff percent _ _ | 调试参数 | 不常调试参数 | Y | Y |
Enable:
Sharp模块使能位,0:关闭,1:打开。
Mode
UVNR 3种场景运行模式下的参数配置
【成员】
| 成员名称 | 描述 |
|---|---|
| cell/Name | 标识场景运行模式名称。 “normal”:线性、彩色模式下应用的Sharp参数。例如:IPC 白天彩色 “hdr”:hdr模式下应用的Sharp参数。 “gray”:黑白模式下应用的Sharp参数 |
| cell/Setting | 具体Sharp参数设置。详见后面Setting/xxx 成员参数说明 |
gauss_luma_coeff
高斯滤波矩阵系数。一般不用调节,使用默认值。
pbf_coeff_l 、 pbf_coeff_h
预滤波滤波矩阵系数,通过l和h的参数插值比例来调整系数,一般不用调节,使用默认值。
rf_m_coeff_l 、 rf_m_coeff_h
中频range filter滤波矩阵系数,通过l和h的参数插值比例来调整系数,一般不用调节,使用默认值。
mbf_coeff
中频滤波矩阵系数,一般不用调节,使用默认值。
rf_h_coeff_l、rf_h_coeff_h
高频range filter滤波矩阵系数,通过l和h的参数插值比例来调整系数,一般不用调节,使用默认值。hbf_coeff_l、hbf_coeff_h
高频滤波矩阵系数,通过l和h的参数插值比例来调整系数,一般不用调节,使用默认值。
Setting
SNR_Mode
"HSNR": 标识HSNR模式下采用的Sharp参数
"LSNR": 标识LSNR模式下采用的Sharp参数
SHARP_ISO
各个ISO下MFNR参数。
SHARP_ISO / Iso
当前档对应iso值。
ISO最大支持到2048。
range clip 限制相关调节参数
SHARP_ISO / Lratio
range filter clip 的下限 ratio,0~1,值越小,range filter clip 的范围越大。
SHARP_ISO / Hratio
range filter clip 的上限 ratio,1~2,值越大,range filter clip 的范围越大。
预滤波相关调节参数
SHARP_ISO / luma_sigma
预滤波sigma 曲线y轴,0~255。
SHARP_ISO / pbf_gain预滤波 sigma 乘以的比例, 0~2,值越大,预滤波 sigma 越大。
SHARP_ISO / pbf_ratio
预滤波融合权重,0~1,值越大,预滤波强度越大
SHARP_ISO / pbf_add
预滤波 sigma 叠加的偏移,0~255,值越大,预滤波 sigma 越大。
中频锐化相关调节参数
SHARP_ISO / mf_sharp_ratio
中频锐化强度, 0~8,值越大,中频锐化强度越大。
SHARP_ISO / mf_clip_pos
range filter 计算中频时 clip 的最大值,0~255,
值越大,range filter 计算中频时 clip 的范围越大。
SHARP_ISO / mf_clip_neg
range filter 计算中频时 clip 的最小值的比例, 0~2,
值越小,range filter 计算中频时 clip 的范围越大。
SHARP_ISO / mbf_gain
中频双边滤波 sigma 乘以的比例, 0~2,值越大,中频滤波 sigma 越大。
SHARP_ISO / mbf_add
中频双边滤波 sigma 叠加的偏移,0~255,值越大,中频滤波 sigma 越大。高频锐化相关调节参数
SHARP_ISO / hf_sharp_ratio
高频锐化强度, 0~8,值越大,高频锐化强度越大。
SHARP_ISO / hf_clip
range filter 计算高频时 clip 的范围,0~255,
值越大,range filter 计算高频时 clip 的范围越大。
SHARP_ISO / hbf_gain
高频双边滤波 sigma 乘以的比例, 0~2,值越大,中频滤波 sigma 越大。
SHARP_ISO / hbf_ratio
高频双边滤波融合权重, 0~1,值越大,高频双边滤波融合权重越大。
双边滤波值和原值通过比例权重融合。
SHARP_ISO / hbf_add
高频双边滤波 sigma 叠加的偏移,0~255,值越大,中频滤波 sigma 越大。
SHARP_ISO / local_sharp_strength
计算高频叠加权重的比例, 0~255,值越大,高频叠加权重的比例越大。
SHARP_ISO / pbf_coeff_percent
预滤波滤波参数pbf_coeff_l 、 pbf_coeff_h插值系数。一般不用调节,使用默认值。
SHARP_ISO / rf_m_coeff_Percent中频range filter滤波参数插值系数。一般不用调节,使用默认值。
SHARP_ISO / rf_m_coeff_Percent
中频range filter滤波参数rf_m_coeff_l 、 rf_m_coeff_h插值系数。一般不用调节,使用默认值。
SHARP_ISO / rf_h_coeff_percent
高频range filter滤波参数rf_h_coeff_l 、 rf_h_coeff_h插值系数。一般不用调节,使用默认值。
SHARP_ISO / hbf_coeff_percent
高频滤波参数hbf_coeff_l、hbf_coeff_h插值系数。一般不用调节,使用默认值。
4.2.5.3 调试步骤
Sharp——所有模块全部打开通过调节hf_sharp_ratio控制高频边缘增强的力度,mf_sharp_ratio控制中频对比度增强的效果。pbf_ratio,pbf_gain,pbf_add, hbf_ratio,hbf_gain,hbf_add用于高频增强的倍数、噪声抑制与细节增强的平衡、以及噪声形态保留,mbf_gain,mbf_add用于中频增强与噪声抑制的平衡。
如下图从右到左分别是中频增强,中高频均无增强, 以及高频增强:
图4-2-5-3 SHARP中高频增强示意图
可以看出前者对比度得到了增强,后者高频细节得到增强。
4.2.6 Edgefilter
4.2.6.1 功能描述
本模块主要是对边缘进行检测和滤波,使得边缘增强更加干净。
另外本模块还支持高频噪声叠加(DOG模块),使得细节更加丰富细腻。
支持分别针对高信噪比与低信噪比2种噪声模式下Edgefilter参数设置,例如:支持双转换增益模式(Dual convertion gain DCG)的CIS,高转换增益(HCG)对应高信噪比模式,低转换增益(HCG)对应低信噪比模式。
图4-2-6-1 EdgefilterNR功能框图
4.2.6.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| dog kernel l / dog kernel h _ _ _ _ | 调试参数 | 不常调试参数 | Y | Y |
| iso | 调试参数 | 常调试参数 | Y | 可查看不可修改 |
| edge thed _ | 调试参数 | 常调试参数 | Y | Y |
| src wgt _ | 调试参数 | 常调试参数 | Y | Y |
| alpha adp en _ _ | 调试参数 | 常调试参数 | Y | Y |
| local alpha _ | 调试参数 | 常调试参数 | Y | Y |
| global alpha _ | 调试参数 | 常调试参数 | Y | Y |
| noise clip _ | 调试参数 | 常调试参数 | Y | Y |
| dog clip pos _ _ | 调试参数 | 常调试参数 | Y | Y |
| dog clip neg _ _ | 调试参数 | 常调试参数 | Y | Y |
| direct filter coeff _ _ | 调试参数 | 不常调试参数 | Y | N |
| dog kernel percent _ _ | 调试参数 | 不常调试参数 | Y | Y |
| dog kernel row0-4 _ _ | 调试参数 | 不常调试参数 | Y | N |
Enable:
Edgefilter模块使能位,0:关闭,1:打开。Mode
Edgefilter 3种场景运行模式下的参数配置
【成员】
| 成员名称 | 描述 |
|---|---|
| cell/Name | 标识场景运行模式名称。 “normal”:线性、彩色模式下应用的Edgefilter参数。例如:IPC 白天彩色 “hdr”:hdr模式下应用的Edgefilter参数。 “gray”:黑白模式下应用的Edgefilter参数 |
| cell/Setting | 具体Edgefilter参数设置。详见后面Setting/xxx 成员参数说明 |
dog_kernel_l、dog_kernel_h
dog滤波矩阵系数,由dog_kernel_l、dog_kernel_h矩阵插值出最终使用矩阵。
一般不用调节,使用默认参数即可。
Setting
SNR_Mode
"HSNR": 标识HSNR模式下采用的Edgefilter参数
"LSNR": 标识LSNR模式下采用的Edgefilter参数
EDGEFILTER_ISO
各个ISO下MFNR参数。
EDGEFILTER_ISO / Iso
当前档对应iso值。
ISO最大支持到2048。
边缘滤波相关调节参数
EDGEFILTER_ISO / direct_filter_coeff
边缘滤波水平方向系数 。EDGEFILTER_ISO / edge_thed
梯度 clip 的最小值, 1 ~255,值越大,边缘滤波效果越弱 。
EDGEFILTER_ISO / src_wgt
融合时叠加原图像的权重, 0~1,
值越大,融合时叠加原图像的权重越大,边缘滤波效果越弱。
EDGEFILTER_ISO / alpha_adp_en
自适应融合开关。0:关闭,1:开启。
EDGEFILTER_ISO / local_alpha
自适应融合关闭时,全局融合的权重,0~1,
值越大,全局融合时原图像的权重越小,边缘滤波效果越强。
EDGEFILTER_ISO / global_alpha
边缘滤波前后图像融合权重,0~1,
值越大,最终融合时原图像的权重越小,边缘滤波效果越强。
EDGEFILTER_ISO / noise_clip
边缘滤波 clip 曲线, 0 ~255,
值越大,边缘滤波高频 clip 的范围越大,滤波强度越大。
DOG相关调节参数
EDGEFILTER_ISO / dog_clip_pos
dog clip 最大值, 0 ~255,
值越大,dog clip 的范围越大,叠加高频越多。EDGEFILTER_ISO / dog_clip_neg
dog clip 最大值, 0 ~255,
值越大,dog clip 的范围越大,叠加高频越多。
EDGEFILTER_ISO / dog_alpha
dog 融合权重, 0 ~3,值越大,叠加高频越多。
EDGEFILTER_ISO / dog_kernel_row0~4
Dog滤波算子
EDGEFILTER_ISO / dog_kernel_percent
Dog滤波算子插值系数,由dog_kernel_l、dog_kernel_h两个矩阵插值获得。
如果xml中默认有 dog_kernel_row04,则优先使用 dog_kernel_row04的dog算子。
否则,使用dog_kernel_l、dog_kernel_h插值的算子。
4.2.6.3 调试步骤
Edgefilter——分为2个部分,边缘增强和dog细节还原。前者由edge_thed,alpha_adp_en ,local_alpha,global_alpha等控制。
edge_thed用于判断边缘有效性的阈值,该值越大则越少的边缘被增强。
alpha_adp_en为1则,则参数无法控制边缘增强的比例,local_aplha为0-1表示边缘增强的比例。
alpha_adp_en为0时,global_alpha可以设置为0,由local_alpha来控制增强和噪声抑制的平衡。
Dog细节还原则是根据dog_alpha来控制还原的倍数,dog_kernel则用于计算需要还原的信息,不同高斯算子可以确定不同的dog_kernel。
4.2.7 NR & Sharp调试步骤
ISP的调试主要分为低频、高频和噪声形态,主要考虑单帧内噪声的大小和形态。和编码器级联的结果,则另需考虑帧间噪声的大小和形态。
4.2.7.1 尺度概念理解
在数字图像中,采样频率越高则频率越高,隔1个像素采样为最高频,隔2个像素采样则为次高频,间隔像素越多,则频率越低,我们也可以根据细节或噪声在图像中的尺寸(也可以看作下采样的尺度)来划分,尺寸越大,则频率越低,反之亦然。在mfnr和ynr去噪中,将图像分为不同频率进行去噪,用于划分高低频的是lvl,mfnr中0-2是高频, 3是中低频;ynr中0-1是高频,2-3是中低频,这里划分高低频的分水岭大约在1/8下采样的尺度上,而事实上高低频没有绝对的分水岭,因此调试时参数需要过渡平滑。
4.2.7.2 模块关联调试
以下是低频噪声和对比度调试、高频调试和噪声形态调试所关联的模块的整体介绍。
4.2.7.2.1 低频信号的调试:
图4-2-7-2-1 低频和对比度调试主要关联模块
Dehaze通过enhance_value调节对比度提升的程度,同时的低频噪声也会被等比例抬高。
Mfnr通过调节y_hi_bfscale和y_lo_bfscale lvl2-3抑制低频噪声,在拖影和去噪水平间选择一个平衡。
Ynr通过调节2-3层参数的力度抑制低频噪设概念,如果去噪力度过大,会改变噪声形态和图像内容,引入瑕疵,因此需要控制在一定范围内,如denoise_weight最好在0.5以下,hi_soft_thresh_scale也不宜过大。
Sharp中的mbf参数可以控制中频细节的提升以及中频噪声的提升和抑制,mf_sharp_ratio控制提升的倍数,mbf_add和mbf_gain控制中频噪声的大小,但无论怎么控制,噪声都会被提升一些,因此调节倍数的时候需要注意。
4.2.7.2.2 高频信号的调试:
图4-2-7-2-2 高频调试主要关联模块
Bayernr抑制图像的高频噪声,通过filtPara调整,但是会影响图像细节和噪声形态。
Dehaze通过enhance_value调节对比度提升的程度,同时的高频噪声也会被等比例抬高。
Mfnr通过调节y_hi_bfscale和y_lo_bfscale lvl0-2抑制高频噪声,在拖影和去噪水平间选择一个平衡。
Ynr通过调节0-2层参数的力度抑制高频噪设概念,如果去噪力度过大,会改变噪声形态和图像内容,引入瑕疵,因此需要控制在一定范围内,如denoise_weight最好在0.7以下,hi_soft_thresh_scale也不宜过大。Sharp中的hbf和pbf相关参数控制高频细节的提升和噪声的抑制,也在抑制噪声的同时也会抑制一些较弱的中高频细节。这里引入高频噪声,需要分别通过mbf,hbf,pbf的gain,add,ratio进行调节,但无论怎么控制,噪声都会被提升一些,因此调节倍数的时候需要注意。
Edgefilter对高频边缘进行加强、高频噪声进行抑制,也影响到高频细节,同时控制高频噪声形态。前者是通过边缘滤波实现,即local_alpha,edge_thed,alpha_adp_end等参数;后者通过dog_alpha和dog_kernel。
4.7.2.2.3 噪声形态的调试:
图4-2-7-2-3 噪声形态调试主要关联模块
Bayernr力度变大会使得图像噪声 颗粒变大,图像高频细节便少。
Ynr力度如果去噪力度过大,会改变噪声形态和图像内容,引入瑕疵,因此需要控制在一定范围内,如denoise_weight最好在0.7以下,hi_soft_thresh_scale也不宜过大。
Sharp中pbf和hbf都会影响高频的噪声形态和大小。一般来说gain和add是控制去噪的力度,ratio则决定最后减去的噪声比例,比例越大去除噪声越多,理论上说如果力度不合适会导致噪声的不均匀,这时有的噪声被抑制,有的则被放大。
Edgefilter中的边缘滤波会影响高频噪声的形态,会导致高频噪声的颗粒变大变低频一些。
4.3 MERGE
4.3.1 功能描述
通过该模块,可以调整在合成过程中,使用长(中)短帧的比例。使用某帧的比例是该帧过曝权重和运动权重共同决定的,两者是乘积关系,其中过曝权重是由过曝曲线决定,运动权重是由运动曲线决定。
过曝曲线由OECurve_smooth和OECurve_offset两个参数确定,在两帧模式下,是否过曝在长帧和短帧之间判断,三帧模式下,是否过曝在长帧和中帧之间判断。
运动曲线包含长帧与中帧运动曲线(MDCurveLM_smooth和MDCurveLM_offset两参数决定)和中帧与短帧运动曲线(MDCurveMS_smooth和MDCurveMS_offset两参数决定),在两帧模式下,只有中帧短帧运动曲线生效。Merge框图
4.3.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| EnvLv | 调试参数 | 用户调试参数 | Y | Y |
| OECurve smooth _ | 调试参数 | 用户调试参数 | Y | Y |
| OECurve offset _ | 调试参数 | 用户调试参数 | Y | Y |
| MoveCoef | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| MDCurveLM smooth _ | 调试参数 | 用户调试参数 | Y | Y |
| MDCurveLM offset _ | 调试参数 | 用户调试参数 | Y | Y |
| MDCurveMS smooth _ | 调试参数 | 用户调试参数 | Y | Y |
| MDCurveMS offset _ | 调试参数 | 用户调试参数 | Y | Y |
| OECurve damp _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| MDCurveLM damp _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| MDCurveMS damp _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
4.3.2.1 EnvLv
环境亮度,取值范围[0,1],其中0代表环境全黑,1代表环境最亮。通过EnvLv来控制OECurve_smooth和OECurve_offset。
【成员】
【注意事项】
当前环境环境亮度,可由工具在线调试模块得到。
4.3.2.2 OECurve_smooth表示过曝曲线的斜率,取值范围[0,1],默认值为0.4。
【成员】
【注意事项】
4.3.2.3 OECurve_offset
表示过曝曲线的偏移值,取值范围[108,280],默认值为210。
【成员】
【注意事项】
4.3.2.4 MoveCoef
表示画面运动程度,取值范围[0,1],其中0代表完全静止,1代表完全运动。通过MoveCoef来控制MDCurveLM_smooth、MDCurveLM_offset、MDCurveMS_smooth和MDCurveMS_offset。(由于当前场景检测未做,不能得到运动量,实际使用均为MoveCoef等于1)。
【成员】
【注意事项】
4.3.2.5 MDCurveLM_smooth
表示长帧和中帧之间运动曲线斜率,取值范围为[0,1],默认值为0.4。在两帧模式下,该值无效
【成员】
【注意事项】
4.3.2.6 MDCurveLM_offset
表示长帧和中帧之间运动曲线偏移值,取值范围为[0.26,1],默认值为0.38。在两帧模式下,该值无效
【成员】
【注意事项】
4.3.2.7 MDCurveMS_smooth
表示中帧和短帧之间运动曲线斜率,取值范围为[0,1],默认值为0.4。【成员】
【注意事项】
4.3.2.8 MDCurveMS_offset
表示中帧和短帧之间运动曲线偏移值,取值范围为[0.26,1],默认值为0.38。
【成员】
【注意事项】
4.3.2.9 OECurve_damp
表示过曝曲线变化的平滑系数,为当前帧参数的占比,取值范围为[0,1],默认值为0.3。
【成员】
【注意事项】
4.3.2.10 MDCurveLM_damp
表示长帧中帧间运动曲线变化的平滑系数,为当前帧参数的占比,取值范围为[0,1],默认值为0.3。(在两帧模式下,该值无效)
【成员】
【注意事项】
4.3.2.11 MDCurveMS_damp
表示中帧短帧间运动曲线变化的平滑系数,为当前帧参数的占比,取值范围为[0,1],默认值为0.3。
【成员】
【注意事项】
4.3.3 调试步骤
Merge调试主要包括过曝曲线调试和运动曲线调试两个部分。
4.3.3.1 过曝曲线调试
过曝曲线OECurve由OECurve_smooth和OECurve_offset来确定(曲线如下图所示),同时,在不同Envlv下设置不同的过曝曲线。OECurve示意图
【成员】
| 成员名称 | 描述 |
|---|---|
| OECurve smooth _ | 过曝曲线斜率 |
| OECurve offset _ | 过曝曲线斜率 |
【注意事项】
1.OECurve_smooth:
从图像上看,该值表示长短帧过度区域的平滑情况:该值越小,过曝区域与非过曝区域之间的过渡越平滑,同时过渡区域越大,反之,过曝区域与非过曝区域之间的过渡越突兀,但是过渡区域越小。如下图中,红色曲线代表值为0时,绿色曲线代表值为0.4时,蓝色曲线代表值为1时。OECurve_smooth示意图
2.OECurve_offset:
从图像上看,该值代表了过曝处使用短帧的初始值。该值越小,使用中帧(或者短帧)的权重最大。
几个较为特殊的点:其中108代表,设置下去的过曝曲线值全为1023,此时中帧(或者短帧)使用的权重最大,如下图中黄色曲线所示;128是值代表从亮度为128开始时,中帧(或者短帧)就可能使用,如下图中蓝色曲线所示;215是代表,215是值代表从亮度为215开始时,中帧(或者短帧)就可能使用,同时正好到到达256时,中帧(或者短帧)的权重刚好为1023,如下图中绿色曲线所示;280是到代表过曝曲线值全为0,此时merge不会使用中帧(或者短帧),如下图中红色曲线所示:OECurve_offset示意图
4.3.3.2 运动曲线调试
运动曲线MDCurve包含长帧与中帧运动曲线(MDCurveLM_smooth和MDCurveLM_offset两参数决定)和中帧与短帧运动曲线(MDCurveMS_smooth和MDCurveMS_offset两参数决定)(曲线如下图所示)。MDCurve示意图
在画面运动时候,需要降低权重,从而减少短帧(或者中帧)的使用,从而减小运动带来的鬼影的情况。同时,在不同MoveCoef下设置不同的运动曲线
【成员】
| 成员名称 | 描述 |
|---|---|
| MDCurve smooth _ | 运动曲线斜率 |
| MDCurve offset _ | 运动曲线斜率 |
【注意事项】
1.MDCurve_smooth:
该值表示中短帧(或者长中帧)过渡区域的平滑情况:该值越小,过曝区域与非过曝区域之间的过渡越平滑,同时过渡区域越大,反之,过曝区域与非过曝区域之间的过渡越突兀,但是过渡区域越小。如下图中,绿色曲线代表值为0时,红色曲线代表值为0.4时,蓝色曲线代表值为1时。MDCurve_smooth示意图
2.MDCurve_offset:
从图像上看,该值代表了过曝处使用中帧的初始值。该值越小,使用中帧(或者短帧)的权重最大。绿色曲线代表值为0时,蓝色曲线代表值为0.38时,红色曲线代表值为1时。MDCurve_offset示意图
4.4 TMO
4.4.1 功能描述
SDR(标准动态范围)显示器通常只能显示 8bit 的数据,如果直接将捕捉到的高动态场景的图像在SDR 显示器上显示,会损失掉很多细节,因此在显示前需要做动态范围的压缩。
TMO 的作用是将高动态场景的内容进行压缩,同时尽可能的保留原始的对比度和细节,在显示器上显示的效果要跟人眼直接观察到的接近。通过本模块可以对TMO后图像进行调整。
TMO模块的算法框架以及关键参数如图所示。
TMO框图
4.4.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| GlobalLumaMode | 调试参数 | 用户调试参数 | Y | Y |
| EnvLv | 调试参数 | 用户调试参数 | Y | Y |
| ISO | 调试参数 | 用户调试参数 | Y | Y |
| GlobalLuma | 调试参数 | 用户调试参数 | Y | Y |
| DetailsHighLightMode | 调试参数 | 用户调试参数 | Y | Y |
| OEPdf | 调试参数 | 用户调试参数 | Y | Y |
| DetailsHighLight | 调试参数 | 用户调试参数 | Y | Y |
| DetailsLowLightMode | 调试参数 | 用户调试参数 | Y | Y |
| FocusLuma | 调试参数 | 用户调试参数 | Y | Y |
| DarkPdf | 调试参数 | 用户调试参数 | Y | Y |
| DetailsLowLight | 调试参数 | 用户调试参数 | Y | Y |
| IIR | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| Mode | 调试参数 | 用户调试参数 | Y | Y |
| DynamicRange | 调试参数 | 用户调试参数 | Y | Y |
| GlobalTMOStrength | 调试参数 | 用户调试参数 | Y | Y |
| LocalTMOStrength | 调试参数 | 用户调试参数 | Y | Y |
| Damp | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
4.4.2.1 Enable
不同模式下TMO开关功能
0:打开
1:关闭
【成员】
【注意事项】
4.4.2.2 GlobalLuma通过该部分参数可以控制TMO之后图像的整体亮度。
【成员】
| 成员名称 | 描述 |
|---|---|
| GlobalLumaMode | GlobelLuma控制量的选择,0:EnvLv, 1:ISO |
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮。 |
| ISO | 环境ISO |
| Tolerance | 表示EnvLv或者ISO的容忍值。 |
| GlobalLuma | 表示图像经过TMO之后的整体亮度,由EnvLv或者ISO控制,取值范围为 [0,1],默认值为0.25。 |
【注意事项】
Tolerance是为了防止DetailsHighlight变化过于频繁从而导致画面出现震荡与与闪烁。当前帧的EnvLv或者ISO与前一帧的变化小于Tolerance时,GlobalLuma的值不变。若为IPC等画面变化较小的机器,Tolerance可以为0。
4.4.2.3 DetailsHighLight
通过该部分参数可以控制高亮部分的细节(亮度)多少。
【成员】
| 成员名称 | 描述 |
|---|---|
| DetailsHighLightMode | DetailsHighLight控制量的选择,0:OEPdf, 1:EnvLv |
| OEPdf | 表示当前帧中过曝区域的占比,该参数通过AE获取。取值范围为 [0,1]。判断判断是否为过曝区域请参考AE参数中的OEROILowTh。 |
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮 |
| Tolerance | 表示OEPdf或者EnvLv的容忍值。 |
| DetailsHighLight | 表示图片经过TMO之后高亮部分的细节多少,取值范围为[0,1],默认 值为0.5。 |
【注意事项】
Tolerance是为了防止DetailsHighlight变化过于频繁从而导致画面出现震荡与与闪烁。当前帧的OEPdf或者EnvLv与前一帧的变化小于Tolerance时,DetailsHighlight的值不变。若为IPC等画面变化较小的机器,Tolerance可以为0。
4.4.2.4 DetailsLowLight
该参数控制暗区部分的细节(亮度)。
【成员】
| 成员名称 | 描述 |
|---|---|
| DetailsLowLightMode | DetailsLowLight控制量的选择,0:FocusLuma, 1:DarkPdf,2: ISO |
| FocusLuma | 表示对焦处的亮度(8bit),取值范围为[1,100]。 |
| DarkPdf | 表示当前帧中过曝区域的占比,取值范围为[0,1]。 |
| ISO | 表示环境ISO |
| Tolerance | 表示FocusLuma、DarkPdf或者ISO的容忍值。 |
| DetailsLowLight | 表示图片经过TMO之后低光部分的细节多少,取值范围为[1,4],默认值 为1。 |
【注意事项】
使用FocusLuma时需要AF正常,若AF未正常工作,同时DetailsHighLightMode为0,此时DetailsHighLight的值固定为DetailsHighLight[0]。
DarkPdf在2x hdr模式下使用长帧进行判定,在3x hdr模式下使用中帧进行判定,该值由AE获取。
Tolerance是为了防止DetailsLowlight变化过于频繁从而导致画面出现震荡与与闪烁。当前帧的FocusLuma、DarkPdf或者ISO与前一帧的变化小于Tolerance时,DetailsLowlight的值不变。若为IPC等画面变化较小的机器,Tolerance可以为0。
4.4.2.5 GlobalTMO
由于Local TMO会加大TMO闪烁的机率,在某些大分辨率、高帧率的项目中,请使用GlobalTMO。
【成员】
| 成员名称 | 描述 |
|---|---|
| Enable | 功能开关,0:关闭,1:开启 |
| IIR | IIR滤波器帧数,取值范围为[1,1000],默认值为64 |
| Mode | GlobalTMOStrength控制量的选择,0:DynamicRange, 1:EnvLv |
| DynamicRange | 表示当画面的动态范围,取值范围为[1,84] |
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮 |
| Tolerance | 表示DynamicRange或者EnvLv的容忍值 |
| GlobalTMOStrength | 该参数调整在Global TMO模式下,对整体亮度进行调整,取值范围为 [0,1],默认值为0.5 |
【注意事项】
Enable开启时,TMO使用GlobalTMO参数,LocalTMO中所有参数均失效。Enable关闭时,GlobalTMO和LocalTMO的参数均生效。
Tolerance是为了防止GlobalTMOStrength变化过于频繁从而导致画面出现震荡与与闪烁。当前帧的DynamicRange或者EnvLv与前一帧的变化小于Tolerance时,GlobalTMOStrength的值不变。若为IPC等画面变化较小的机器,Tolerance可以为0。若是在Global TMO和Local TMO混合模式下,GlobalTMOStrength只会对Global部分做修正。
该模块开启时,TMO的种类被更改为Global TMO(TmoContrast的中的参数失效)。
4.4.2.6 LocalTMO
通过该部分参数来控制Local TMO所占比重。
【成员】
| 成员名称 | 描述 |
|---|---|
| LocalTMOMode | LocalTMOStrength控制量的选择,0:DynamicRange, 1:EnvLv |
| DynamicRange | 表示当画面的动态范围,取值范围为[1,84]。 |
| EnvLv | 环境亮度,取值范围[0,1],0:全黑,1:最亮。 |
| Tolerance | 表示DynamicRange或者EnvLv的容忍值。 |
| LocalTMOStrength | 该值表示在TMO中,local TMO占比,取值范围为[0,1],默认值为0.3。 |
【注意事项】
Tolerance是为了防止LocalTMOStrength变化过于频繁从而导致画面出现震荡与与闪烁。当前帧的DynamicRange或者EnvLv与前一帧的变化小于Tolerance时,LocalTMOStrength的值不变。若为IPC等画面变化较小的机器,Tolerance可以为0。
4.4.2.7 Damp
表示GlobalLuma、DetailsHighLight、DetailsLowLight、GlobalTMOStrength以及LocalTMOStrength参数变化的平滑系数,为当前帧参数的占比,取值范围为[0,1],默认值为0.9。
【成员】
【注意事项】
4.4.3 调试步骤
TMO调试主要包括整体亮度、高光细节、低光细节、GlobalTMO和LocalTMO调试五个部分。
4.4.3.1 整体亮度调试
整体亮度GlobalLuma是由GlobalLuma值来确定的,通过GlobalLumaMode可以选择GlobalLuma的控制量。GlobalLumaMode为0时,GlobalLuma值随着EnvLv变化,GlobalLumaMode为1时,GlobalLuma值随着ISO变化。
【成员】
| 成员名称 | 描述 |
|---|---|
| GlobalLumaMode | GlobelLuma控制量的选择 |
| GlobalLuma | 表示图像经过TMO之后的整体亮度 |
【注意事项】
从图像上看,GlobalLuma值越大,TMO之后图像整体亮度越大,如下图,橙色线代表GlobalLuma为0.5时,橙色线代表GlobalLuma为0.25时。
GlobalLuma示意图
实际对比图如下(左边GlobalLuma=0.25,右边GlobalLuma=0.5):
GlobalLuma对比图
4.4.3.2 高光细节调试整体亮度DetailsHighLight是由DetailsHighLight值来确定的,通过DetailsHighLightMode可以选择DetailsHighLight的控制量。DetailsHighLightMode为0时,DetailsHighLight值随着OEPdf变化,DetailsHighLightMode为1时,DetailsHighLight值随着EnvLv变化。
【成员】
| 成员名称 | 描述 |
|---|---|
| DetailsHighLightMode | DetailsHighLight控制量的选择 |
| DetailsHighLight | 表示图片经过TMO之后高亮部分的细节多少 |
【注意事项】
从图像上看,当DetailsHighLight值越小时,高光部分细节越多,反之,高光部分细节越少。如下图,左边代表DetailsHighLight为0.5时,右边代表DetailsHighLight为0.45时。
DetailsHighLight对比图
4.4.3.3 低光细节调试
整体亮度DetailsLowLight是由DetailsLowLight值来确定的,通过DetailsLowLightMode可以选择DetailsLowLight的控制量。DetailsLowLightMode为0时,DetailsLowLight值随着FocusLuma变化,DetailsLowLightMode为1时,DetailsLowLight值随着EnvLv变化,DetailsLowLightMode为2时,DetailsLowLight值随着ISO变化。
【成员】
| 成员名称 | 描述 |
|---|---|
| DetailsLowLightMode | DetailsLowLight控制量的选择 |
| DetailsLowLight | 表示图片经过TMO之后低光部分亮度倍数 |
【注意事项】
从图像上看,当DetailsLowLight值越大时,低光部分细节越多,反之,低光部分细节越少。当亮度提升较多时,可能出现对比度降低的情况。取值对应的含义是将暗区的亮度提升1x~4x。实际对比图如下(左边DetailsLowLight=1,右边DetailsLowLight=4):DetailsLowLight对比图
4.4.3.4 GlobalTMO调试
整体亮度GlobalTMO是由GlobalTMOStrength值来确定的,通过GlobalTMOMode可以选择GlobalTMOStrength的控制量。GlobalTMOMode为0时,GlobalTMOStrength值随着DynamicRange变化,GlobalTMOMode为1时,GlobalTMOStrength值随着EnvLv变化。
【成员】
| 成员名称 | 描述 |
|---|---|
| GlobalTMOMode | LocalTMO控制量的选择 |
| IIR | IIR滤波器帧数 |
| GlobalTMOStrength | 该参数调整在Global TMO模式下,对整体亮度进行调整 |
【注意事项】
GlobalTMOStrength的基准值为0.5,从图像上看,当GlobalTMOStrength值越大时,整体亮度越大,对比度越小,高光区域细节越少,反之,整体亮度越小,对比度越大,高光区域细节越多。
IIR值越大,帧间亮度过渡更平滑,当IIR为1000时,TMO中相关参数被固定,可能导致画面出现过量或者过暗情况,正常情况下IIR取值区间建议为[16,128]。
4.4.3.5 LocalTMO调试
整体亮度LocalTMO是由LocalTMOStrength值来确定的,通过LocalTMOMode可以选择LocalTMOStrength的控制量。LocalTMOMode为0时,LocalTMOStrength值随着DynamicRange变化,LocalTMOMode为1时,LocalTMOStrength值随着EnvLv变化。【成员】
| 成员名称 | 描述 |
|---|---|
| LocalTMOMode | LocalTMO控制量的选择 |
| LocalTMOStrength | 该值表示在TMO中,local TMO占比 |
【注意事项】
当LocalTMOStrength取值为0时,TMO为Global TMO;当取值为255时,TMO为local TMO;当取值为0到1之间时,为Global TMO和Local TMO的混合。实际对比图如下(左边LocalTMOStrength=0,右边LocalTMOStrength=0.3):
LocalTMOStrength对比图
LocalTMOStrength值设置的越大(Local TMO使用的越多)时,画面的对比度越高、高光区域与低光区域细节更多,同时画面也更容易出现瑕疵,例如在画面高对比度区域出现较为明显的光晕、曝光变化时画面更容易出现闪烁等问题,在实际使用中取值需要折中选择。
4.5 FEC
4.5.1 功能描述
光学系统、电子扫描系统失真而引起的斜视畸变、枕形、桶形畸变等,都可能使图像产生几何特性失真。图像的畸变矫正是以某种变换方式将畸变图像转换为理想图像的过程。
该模块对x和y方向的图像畸变进行校正。
4.5.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| enable | 调试参数 | 用户调试参数 | Y | N |
| correct level _ | 调试参数 | 用户调试参数 | Y | N |
| light center _ | 标定参数 | 光心,镜头相关参数 | N | N |
| distortion coeff _ | 标定参数 | 镜头畸变相关参数 | N | N |
4.5.2.1 enable
开关功能
1:打开
0:关闭
【成员】
【注意事项】
4.5.2.2 correct_level
畸变校正畸变: 0~255
【成员】
【注意事项】
用户可以通过uapi修改这个级别
4.5.2.3 light_center
镜头中心(光心)参数,标定生成
【成员】
【注意事项】
4.5.2.4 distortion_coeff
镜头畸变相关参数,标定生成
【成员】
【注意事项】
4.6 LDCH
4.6.1 功能描述
光学系统、电子扫描系统失真而引起的斜视畸变、枕形、桶形畸变等,都可能使图像产生几何特性失真。图像的畸变矫正是以某种变换方式将畸变图像转换为理想图像的过程。
该模块只对x方向的图像畸变进行校正。
4.6.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| enable | 调试参数 | 用户调试参数 | Y | N |
| correct level _ | 调试参数 | 用户调试参数 | Y | N |
| correct level max _ _ | 标定参数 | 可配置的最大矫正级别 | N | N |
| light center _ | 标定参数 | 光心,镜头相关参数 | N | N |
| distortion coeff _ | 标定参数 | 镜头畸变相关参数 | N | N |
4.6.2.1 enable
开关功能
1:打开
0:关闭
【成员】
【注意事项】
4.6.2.2 correct_level
畸变校正畸变: 0~255
【成员】
【注意事项】
用户可以通过uapi修改这个级别
4.6.2.3 correct_level_max
畸变校正最大级别: 0~255,标定生成
【成员】
【注意事项】ldch可校正范围有限制,超出范围可能会导致isp处理异常。
4.6.2.4 light_center
镜头中心(光心)参数,标定生成
【成员】
【注意事项】
4.6.2.5 distortion_coeff
镜头畸变相关参数,标定生成
【成员】
【注意事项】
4.7 Dehaze & Enhance
4.7.1 功能描述
在雾、霾之类的恶劣天气下,采集的图像质量会由于大气散射而严重降低, 使图像颜色偏灰白色, 对比度降低, 物体特征难以辨认。所以需要图像去雾技术来增强或修复, 以改善视觉效果。
本模块包含三个模块,分别为Dehaze、Enhance和Hist。Dehaze主要在画面中雾、霾较大时使用,Enhance和Hist多用于增强画面对比度。其中Dehaze和Enhance两个模块只能同时开启一个,若两个同时开启,只有Enhance模块生效,Hist可与其他模块一起开启。
Dehaze模块框图
4.7.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | 用户调试参数 | Y | Y |
| cfg alpha _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| Dehaze en _ | 调试参数 | 用户调试参数 | Y | Y |
| ISO | 调试参数 | 用户调试参数 | Y | Y |
| dc min th _ _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| dc max th _ _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| yhist th _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| yblk th _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| dark th _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| bright min _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| bright max _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| wt max _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| air min _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| air max _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| tmax base _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| tmax off _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| tmax max _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| cfg wt _ | 调试参数 | 用户调试参数 | Y | Y |
| cfg air _ | 调试参数 | 用户调试参数 | Y | Y |
| cfg tmax _ | 调试参数 | 用户调试参数 | Y | Y |
| dc thed _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| dc weitcur _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| air thed _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| air weitcur _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| stab fnum _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| sigma | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| wt sigma _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| air sigma _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| tmax sigma _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| Enhance en _ | 调试参数 | 用户调试参数 | Y | Y |
| enhance value _ | 调试参数 | 用户调试参数 | Y | Y |
| Hist en _ | 调试参数 | 用户调试参数 | Y | Y |
| hist channel _ | 调试参数 | 用户调试参数 | Y | Y |
| hist para en _ _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| hist gratio _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| hist th off _ _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| hist k _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| hist scale _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| hist min _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| cfg gratio _ | 调试参数 | 用户调试参数 | Y | Y |
4.7.2.1 Enable
Dehaze&Enhance开关功能0:关闭
1:打开
【成员】
【注意事项】
4.7.2.2 cfg_alpha_normal
normal模式下,软件配置占比,取值范围[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.7.2.3 cfg_alpha_HDR
HDR模式下,软件配置占比,取值范围[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.7.2.4 cfg_alpha_night
night模式下,软件配置占比,取值范围[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.7.2.5 Dehaze_Setting
通过该模块对去雾参数进行调整。
【成员】
| 成员名称 | 描述 |
|---|---|
| Name | 模式名称 |
| Dehaze en _ | Dehaze模块开关功能,0:关闭,1:打开 |
| ISO | 环境ISO |
| dc min th _ _ | wt自适应的统计范围,取值范围[16, 120],默认值64 |
| dc max th _ _ | wt自适应高曝区统计范围,取值范围[170, 255],默认值192 |
| yhist th _ | y分量高曝区统计范围,取值范围[170, 255],默认值249 |
| yblk th _ | y分量块数目比例阈值,取值范围[0.002, 0.01],默认值0.002 |
| dark th _ | wt自适应y分量块最小值阈值,取值范围[230, 250],默认值250 |
| bright min _ | air自适应阈值的最小值,取值范围[160, 200],默认值180 |
| bright max _ | air自适应阈值的最大值,取值范围[210, 250],默认值240 |
| wt max _ | wt自适应的最大值限制,取值范围[0.75, 0.9],默认值0.9 |
| air min _ | air自适应的最小值限制,取值范围[200, 220],默认值200 |
| air max _ | air自适应的最大值限制,取值范围[230, 250],默认值250 |
| tmax base _ | tmax自适应基础值,默认125,对应配置如下,200(131),210(125), 220(119),230(114),240(109),250(105),推荐131-105 |
| tmax off _ | tmax自适应的固定值,取值范围[0.1, 0.5],默认值0.1 |
| tmax max _ | tmax自适应的最大值,取值范围[0.1, 0.5],默认值0.5 |
| cfg wt _ | 软件配置wt,图像去雾力度,取值范围[0, 1] |
| cfg air _ | 软件配置air,大气光系数,取值范围[0, 255] |
| cfg tmax _ | 软件配置tmax,去雾的最大值,取值范围[0, 1] |
| dc thed _ | dark channel部分的双边sigma,取值范围[0, 255],默认值32 |
| dc weitcur _ | dark channel部分的双边权重,默认值1 |
| air thed _ | airlight部分的双边sigma,取值范围[0, 255],默认值32 |
| air weitcur _ | airlight部分的双边权重,默认值0.14 |
| stab fnum _ | 帧稳定的最大值,取值范围[1,31],默认值10 |
| sigma | iir控制的sigma,默认6,最大255 |
| wt sigma _ | 帧间wt滤波系数,取值范围[0,256) |
| air sigma _ | 帧间air滤波系数,取值范围[0,255] |
| tmax sigma _ | 帧间tmax滤波系数,取值范围[0,2] |
【注意事项】stab_fnum:dehaze的参数是从0开始逐渐到达一个稳定值,sw_dhaze_stab_fnum就是软件指定的达到稳定的帧数,一般10帧是比较合适的,该参数最大值可配到31,最多1s的时间就要进入稳定状态;
4.7.2.6 Enhance_Setting
通过该模块对图像对比度进行调整。
【成员】
| 成员名称 | 描述 |
|---|---|
| Name | 模式名称 |
| Enhance en _ | Enhance模块开关功能,0:关闭,1:打开 |
| ISO | 表示环境ISO |
| enhance value _ | 通用对比度力度,取值范围[0,16],推荐范围[1, 2] |
【注意事项】
enhance_value:越大对比度越强
4.7.2.7 Hist_Setting
通过该模块对图像对比度进行调整,通常用于去雾后对比度不够的情况。
【成员】
| 成员名称 | 描述 |
|---|---|
| Name | 模式名称 |
| Hist en _ | Hist模块开关功能,0:关闭,1:打开 |
| ISO | 表示环境ISO |
| hist channel _ | 直方图均衡三通道分离开关功能,1:直方图三通道合一; 0:直方图三通道分 离,默认为 0 |
| hist para en _ _ | 直方图拉伸控制参数,取值为0、1 |
| hist gratio _ | 直方图拉伸倍数,直方图均衡控制系数,取值范围[0, 32] |
| hist th off _ _ | 直方图统计阈值,取值范围[0, 255],默认值64 |
| hist k _ | 直方图自适应阈值放大倍数,取值范围[0, 7),默认值2 |
| hist scale _ | 直方图均衡控制系数,取值范围[0, 32] |
| hist min _ | 直方图统计阈值的最小值,取值范围[0,2),默认值0.016 |
| cfg gratio _ | 软件配置直方图拉伸倍数,直方图均衡控制系数,取值范围[0, 32) |
【注意事项】
hist_para_en:当取值为1时,hist_scale生效,hist_gratio不生效;反之,当取值为0时,hist_scale不生效,hist_gratio生效。
hist_gratio:值越大,直方图拉伸力度越大,图像整体亮度也越高。
hist_th_off:该值越大,直方图的统计值越大,图像整体亮度也越高。
hist_k:该值越大,直方图的统计值越大,图像整体亮度也越高。
hist_min:该值越大,直方图的统计值越大,图像整体亮度也越高。
4.7.3 调试步骤
TMO调试主要包括Dehaze、Enhance和Hist调试三个部分。
4.7.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.7.3.2 Enhance调试
通用对比度增强Enhance通过enhance_value进行调整。enhance_value根据ISO变化。
【成员】
| 成员名称 | 描述 |
|---|---|
| enhance value _ | 通用对比度力度 |
【注意事项】
1.enhance_value:值越大对比度越强。(如下图,从左到右依次为Enhance_en= 0,Enhance_en= 1且enhance_value = 1.5)cfg_wt对比图
4.7.3.3 Hist调试
直方图均衡化Hist建议通过以下两个参数进行调整。以下两个参数根据ISO变化。在调过程中需要将cfg_alpha置为1。
【成员】
| 成员名称 | 描述 |
|---|---|
| hist channel _ | 直方图均衡三通道分离开关功能 |
| cfg gratio _ | 软件配置直方图拉伸倍数,直方图均衡控制系数 |
【注意事项】
1.hist_channel:直方图均衡三通道分离的时候可以一定程度上的矫正色偏,但是在有些场景,三通道分离会出现颜色分层。(如下图,从左到右依次为 Hist_en = 0,Hist_en = 1且hist_channel= 0,Hist_en = 1且hist_channel= 1)
hist_channel对比图
2.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.8 DPCC
4.8.1 功能描述
通过本模块对坏点进行检查与去除。
模块包括Fast_mode、Expert_mode以及sensor_dpcc三个部分,其中Fast_mode与Expert_mode互斥,两者只能开启一个。
该模块同时支持对PDAF Sensor的PDAF Pixel进行校正,即SPC功能。
DPCC框图
4.8.2 关键参数
| 参数名称 | 参数类 型 | 简要说明 | API支 持 | IQ Tool支 持 |
|---|---|---|---|---|
| Enable | 调试参 数 | 用户调试参数 | Y | Y |
| Fast mode _ | 调试参 数 | 用户调试参数 | Y | Y |
| Expert mode _ | 调试参 数 | 用户调试参数 | Y | Y |
| Set cell _ | 调试参 数 | 用户调试参数 | Y | Y |
| Sensor dpcc _ | 调试参 数 | 用户调试参数(需要Sensor自身与驱 动支持) | Y | Y |
| ##### 4.8.2.1 Enable |
DPCC开关功能
0:关闭
1:打开
【成员】
【注意事项】
4.8.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.8.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.8.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.8.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.8.2.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.8.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.8.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.8.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.8.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.8.2.5 sensor_dpcc
通过该部分可以对sensor自身的坏点去除力度进行调整。【成员】
| 成员名称 | 描述 |
|---|---|
| sensor dpcc auto en _ _ _ | sensor dpcc开关功能,0:关闭,1:打开 |
| max level _ | 去除坏点最大力度 |
| ISO | 环境ISO |
| level single _ | 去除单个坏点力度 |
| level multiple _ | 去除多个坏点力度 |
【注意事项】
4.8.2.6 sensor_dpcc_pdaf
通过该部分可以对sensor中的特定的pdaf点进行替换或校正。
【成员】
| 成员名称 | 描述 |
|---|---|
| sw pdaf en _ _ | dpcc-pdaf-spc开关功能,0:关闭,1:打开 |
| pdaf point en _ _ | 需要校正的点的使能位,0:不生效,1:生效 |
| pdaf offsetx _ | 画面中需要校正的第一个(左上角第一个)Block在画面中的起始位置x坐标 |
| pdaf offsety _ | 画面中需要校正的第一个(左上角第一个)Block在画面中的起始位置y坐标 |
| pdaf wrapx _ | 单个需要校正的Block的宽度,可以从sensor手册中获取该值 |
| pdaf wrapy _ | 单个需要校正的Block的高度,可以从sensor手册中获取该值 |
| pdaf wrapx num _ _ | 需要校正的区域的宽度,小于或等于输入图像的宽度 |
| pdaf wrapy num _ _ | 需要校正的区域的高度,小于或等于输入图像的高度 |
| point | 需要校正的点的位置信息集合,目前最多支持16个 |
| pdaf forward med _ _ | 选择正向中值或者反向中值进行替换,0:反向,1:正向 |
【注意事项】
该项目目前没有在工具上实现对应的UI,需要手动编辑XML的dpcc_pdaf部分。
4.8.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.8.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.8.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.8.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.8.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.8.3.2.3 PG
通过该部分可以调整坏点检测算法中PG算法相关参数。
【成员】
| 成员名称 | 描述 |
|---|---|
| enable | PG坏点判定算法开关,0:关闭,1:开启 |
| pg fac _ | PG坏点判定算法通道系数,取值范围[0,63],默认值3 |
【注意事项】
pg_fac:值越小,越容易判断为坏点。4.8.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.8.3.2.5 RG
通过该部分可以调整坏点检测算法中RG算法相关参数。
【成员】
| 成员名称 | 描述 |
|---|---|
| enable | RG坏点判定算法开关,0:关闭,1:开启 |
| rg fac _ | RG坏点判定算法通道系数,取值范围[0,63],默认值8 |
【注意事项】
rg_fac:值越小,越容易判断为坏点。
4.8.3.2.6 RO
通过该部分可以调整坏点检测算法中RO算法相关参数。
【成员】
| 成员名称 | 描述 |
|---|---|
| enable | RO坏点判定算法通道开关,0:关闭,1:开启 |
| ro lim _ | RO坏点判定算法通道阈值,取值范围[0,3],默认值1 |
【注意事项】
ro_lim:值越大,越容易判断为坏点。
4.8.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.9 Gamma
4.9.1 功能描述
通过该模块对gamma曲线进行调整,包含三条gamma曲线,curve_normal、curve_hdr以及curve_night。
GAMMA框图
4.9.2 关键参数
| 参数名称 | 参数类型 | 简要说明 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| gamma en _ | 调试参数 | 用户调试参数 | Y | Y |
| gamma out segnum _ _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| gamma out offset _ _ | 调试参数 | 用户调试参数 一般使用默认值 | Y | Y |
| curve | 调试参数 | 用户调试参数 | Y | Y |
4.9.2.1 gamma_en
Gamma开关功能0:关闭
1:打开
【成员】
【注意事项】
4.9.2.2 gamma_out_segnum
Gamma曲线X轴间距类型
0:非等间距
1:等间距
【成员】
【注意事项】
4.9.2.3 gamma_out_offset
Gamma曲线修正功能,取值范围[-2048,2048],默认值0。
【成员】
【注意事项】
4.9.2.4 curve_normal
线性模式下gamma曲线,取值范围[0,4095]。
【成员】
【注意事项】
4.9.2.5 curve_hdr
HDR模式下gamma曲线,取值范围[0,4095]。
【成员】
【注意事项】
4.9.2.6 curve_night
夜晚模式下gamma曲线,取值范围[0,4095]。【成员】
【注意事项】
4.9.3 调试步骤
4.10 Debayer
4.10.1 功能描述
由于大部分彩色相机均采用单传感器获取图像信息,且每个传感器表面覆盖有一个CFA (Color Filter Array,色彩滤波阵列),使得每一个像素只能获得R、G、B三基色中的一种彩色分量。由于彩色滤波阵列每个像素上只有一种颜色的分量是已知的, 为了得到一幅彩色图像,需要利用已知的颜色信息插值出另外两种丢失的颜色分量,该过程被称为去马赛克(Debayer或Demosaic):
图4-10-1 Debayer功能示意图
4.10.2 关键参数
该模块参数都属于调试参数,不存在标定生成的参数。
| 成员名称 | 参数类型 | 描述 | API支持 | IQ Tool支持 |
|---|---|---|---|---|
| Enable | 调试参数 | Y | N | |
| debayer filter1 _ | 调试参数 | Y | N | |
| debayer filter2 _ | 调试参数 | Y | N | |
| debayer gain offset _ _ | 调试参数 | N | N | |
| sharp strength _ | 调试参数 | Y | N | |
| debayer hf offset _ _ | 调试参数 | N | N | |
| debayer offset _ | 调试参数 | N | N | |
| debayer clip en _ _ | 调试参数 | N | N | |
| debayer filter g en _ _ _ | 调试参数 | N | N | |
| debayer thed0 _ | 调试参数 | N | N | |
| debayer thed1 _ | 调试参数 | N | N | |
| debayer dist scale _ _ | 调试参数 | N | N | |
| debayer cnr strength _ _ | 调试参数 | N | N | |
| debayer shift num _ _ | 调试参数 | N | N |
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.10.3 名词解释
| 简称 | 描述 |
|---|---|
| CFA | Color Filter Array,色彩滤波阵列 |
| 去马赛克 | Debayer或Demosaic,将单像素单色的Bayer RGB转换为三原色RGB的过程 |
| 滤波器 | 一组滤波参数,去除数字图像上的干扰信号 |
| 色差图 | 插值得到的G通道图像和原始raw图像作差后的图像 |
4.11 CPSL
4.11.1 功能描述
CPSL为 compensation light的缩写,用于控制红外,彩色补光灯及ircutter,分为自动及手动模式。自动控制主要为根据环境亮度自动开启关闭补光灯,手动模式则需要用户调用API来开启关闭补光灯。相关API使用可参考《Rockchip_Development_Guide_ISP2x_》。
4.11.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.12 GIC
4.12.1 功能描述
通过该模块对GIC相关参数进行调整。GIC主要参数在GIC_ISO中,分为GIC相关参数和噪声相关参数两个部分,其中噪声相关参数由标定获得,GIC相关参数可以对GIC力度进行调整。
4.12.2 关键参数
| 成员名称 | 参 数 类 型 | 描述 | API 支 持 | IQ Tool 支持 |
|---|---|---|---|---|
| enable | 调 试 参 数 | N | ||
| edge en _ | 调 试 参 数 | 边缘处GIC开关功能,建议关闭 | N | |
| gr ration _ | 调 试 参 数 | 确定gr和gb补偿值参数,取值范围[0,3], 默认值0。 | N | |
| noise cut en _ _ | 调 试 参 数 | 外界噪声系数使用开关功能,建议关闭 | N | |
| iso | 调 试 参 数 | 环境iso | N | |
| min busy thre _ _ | 调 试 参 数 | busy区域检测能力,取值范围[0, 1023],默 认值160 | N | |
| min grad thr1 _ _ | 调 试 参 数 | 非边缘区域的数量阈值1,GIC强度控制值, 取值范围[0, 1023],默认值32 | N | |
| min grad thr2 _ _ | 调 试 参 数 | 非边缘区域的数量阈值2,GIC强度控制值, 取值范围[0, 1023],默认值32 | N | |
| k grad1 _ | 调 试 参 数 | 边缘(水平、垂直梯度)的响应程度阈值 1,取值范围[0, 15],默认值5 | N | |
| k grad2 _ | 调 试 参 数 | 边缘(水平、垂直梯度)的响应程度阈值 2,取值范围[0, 15],默认值1 | N |
| 成员名称 | 参 数 类 型 | 描述 | API 支 持 | IQ Tool 支持 |
|---|---|---|---|---|
| smoothness gb _ | 调 试 参 数 | 算法中间量 一般使用默认值 | N | |
| smoothness gb weak _ _ | 调 试 参 数 | 算法中间量 一般使用默认值 | N | |
| gb thre _ | 调 试 参 数 | 缩放的比例系数,取值范围[0, 15],默认值7 | N | |
| maxCorV | 调 试 参 数 | 限制边缘区域gb的最大补偿值,取值范围[0, 1023],默认值40 | N | |
| maxCorVboth | 调 试 参 数 | 限制平坦(非边缘) 区域gb最大补偿值,取 值范围[0, 1023],默认值8 | N | |
| maxCutV | 调 试 参 数 | 算法中间量 一般使用默认值 | N | |
| dark thre _ | 调 试 参 数 | 定义暗部区域的阈值1,取值范围[0, 2047],默认值120 | N | |
| dark threHi _ | 调 试 参 数 | 定义暗部区域的阈值2,取值范围[0, 2047],默认值240 | N | |
| k grad1 dark _ _ | 调 试 参 数 | 图像暗部的边缘(水平、垂直梯度)响应程 度阈值1,取值范围[0, 15],默认值6 | N | |
| k grad2 dark _ _ | 调 试 参 数 | 图像暗部的边缘(水平、垂直梯度)响应程 度阈值2,取值范围[0, 15],默认值1 | N |
| 成员名称 | 参 数 类 型 | 描述 | API 支 持 | IQ Tool 支持 |
|---|---|---|---|---|
| min grad thr dark1 _ _ _ | 调 试 参 数 | 图像暗部的非边缘区域的数量阈值1,取值 范围[0, 1023],默认值64 | N | |
| min grad thr dark2 _ _ _ | 调 试 参 数 | 图像暗部的非边缘区域的数量阈值2,取值 范围[0, 1023],默认值32 | N | |
| GValueLimitLo | 调 试 参 数 | 噪声标准差的最低门限,取值范围[0, 4095],默认值1280 一般使用默认值 | N | |
| GValueLimitHi | 调 试 参 数 | 噪声标准差的最大门限,取值范围[0, 4095],默认值1760 一般使用默认值 | N | |
| textureStrength | 调 试 参 数 | 根据噪声强度来控制gb补偿值的力度,取值 范围[0, 2],默认值1 一般使用默认值 | N | |
| ScaleLo | 调 试 参 数 | 标准差容忍尺度下限 一般使用默认值 | N | |
| ScaleHi | 调 试 参 数 | 标准差容忍尺度上限 一般使用默认值 | N | |
| noiseCurve 0 _ | 调 试 参 数 | 噪声曲线参数1 一般使用默认值 | N | |
| noiseCurve 1 _ | 调 试 参 数 | 噪声曲线参数2 一般使用默认值 | N | |
| globalStrength | 调 试 参 数 | 全局控制调整gb补偿值的强度,取值范围[0, 2],默认值1 一般使用默认值 | N |
| 成员名称 | 参 数 类 型 | 描述 | API 支 持 | IQ Tool 支持 |
|---|---|---|---|---|
| noise coea _ | 调 试 参 数 | 噪声系数a 一般使用默认值 | N | |
| noise coeb _ | 调 试 参 数 | 噪声系数b 一般使用默认值 | N | |
| diff clip _ | 调 试 参 数 | 限制最大gb的最大补偿值 一般使用默认值 | N |
4.12.2.1 enable
GIC开关功能
0:关闭
1:打开
【成员】
【注意事项】
4.12.2.2 edge_en
边缘处GIC开关功能
0:关闭
1:打开
【成员】
【注意事项】
功能开启时,GIC效果更好,但边缘会变模糊,默认关闭。
4.12.2.3 gr_ration
确定gr和gb补偿值参数,取值范围[0,3],默认值0。
【成员】
【注意事项】
4.12.2.4 noise_cut_en
外界噪声系数使用开关功能
0:关闭
1:打开
【成员】
【注意事项】
该开关控制noise_coea和noise_coea是否生效,建议关闭。
4.12.2.5 GIC_ISO
根据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 |
| smoothness gb _ | 调试 参数 | 算法中间量 一般使用默认值 |
| smoothness gb weak _ _ | 调试 参数 | 算法中间量 一般使用默认值 |
| gb thre _ | 调试 参数 | 缩放的比例系数,取值范围[0, 15],默认值7 |
| maxCorV | 调试 参数 | 限制边缘区域gb的最大补偿值,取值范围[0, 1023],默认值 40 |
| maxCorVboth | 调试 参数 | 限制平坦(非边缘) 区域gb最大补偿值,取值范围[0, 1023],默认值8 |
| maxCutV | 调试 参数 | 算法中间量 一般使用默认值 |
| 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 |
| 成员名称 | 参数 类型 | 描述 |
|---|---|---|
| GValueLimitLo | 调试 参数 | 噪声标准差的最低门限,取值范围[0, 4095],默认值1280 一般使用默认值 |
| GValueLimitHi | 调试 参数 | 噪声标准差的最大门限,取值范围[0, 4095],默认值1760 一般使用默认值 |
| textureStrength | 调试 参数 | 根据噪声强度来控制gb补偿值的力度,取值范围[0, 2],默 认值1 一般使用默认值 |
| ScaleLo | 调试 参数 | 标准差容忍尺度下限 一般使用默认值 |
| ScaleHi | 调试 参数 | 标准差容忍尺度上限 一般使用默认值 |
| noiseCurve 0 _ | 调试 参数 | 噪声曲线参数1 一般使用默认值 |
| noiseCurve 1 _ | 调试 参数 | 噪声曲线参数2 一般使用默认值 |
| globalStrength | 调试 参数 | 全局控制调整gb补偿值的强度,取值范围[0, 2],默认值1 一般使用默认值 |
| noise coea _ | 调试 参数 | 噪声系数a 一般使用默认值 |
| noise coeb _ | 调试 参数 | 噪声系数b 一般使用默认值 |
| diff clip _ | 调试 参数 | 限制最大gb的最大补偿值 一般使用默认值 |
【注意事项】
4.12.3 调试步骤
在GIC的调试过程中,主要是对GIC_ISO中GIC相关参数进行调整。
4.12.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.13 AF
4.13.1 功能描述
通过该模块移动镜头使物体在成像面上对焦。
4.13.2 关键参数
| 成员名称 | 参数类型 | 描述 | API 支持 | IQ Tool 支持 |
|---|---|---|---|---|
| af mode _ | 功能参数 | 功能参数 | Y | N |
| win h offs _ _ | 调试参数 | 用户调试 参数 | Y | N |
| win v offs _ _ | 调试参数 | 用户调试 参数 | Y | N |
| win h size _ _ | 调试参数 | 用户调试 参数 | Y | N |
| win v size _ _ | 调试参数 | 用户调试 参数 | Y | N |
| fixed mode _ | 调试参数 | 用户调试 参数 | Y | N |
| macro mode _ | 调试参数 | 用户调试 参数 | N | N |
| infinity mode _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.enable _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.AfSearchStrategy _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.FullDir _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.FullRangeTbl _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.FullSteps _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.AdaptiveDir _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.AdaptRangeTbl _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.AdaptiveSteps _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.QuickFoundThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.QuickFoundThersZoomIdx _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SearchStep _ | 调试参数 | 用户调试 参数 | N | N |
| 成员名称 | 参数类型 | 描述 | API 支持 | IQ Tool 支持 |
|---|---|---|---|---|
| contrast af.SearchStepSearchStepZoomIdx _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.StopStep _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.StopStepZoomIdx _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SkipHighPassZoomIdx _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SkipHighPassGain _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.TrigThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.LumaTrigThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.StableThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.StableFrames _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.StableTime _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SceneDiffEnable _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SceneDiffThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SceneDiffBlkThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.CenterSceneDiffThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.ValidMaxMinRatio _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.ValidValueThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.OutFocusValue _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.OutFocusPos _ | 调试参数 | 用户调试 参数 | N | N |
| 成员名称 | 参数类型 | 描述 | API 支持 | IQ Tool 支持 |
|---|---|---|---|---|
| contrast af.WeightEnable _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.Weight _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SearchPauseLumaEnable _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SearchPauseLumaThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SearchLumaStableThers _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.SearchLumaStableFrames _ | 调试参数 | 用户调试 参数 | N | N |
| contrast af.FlatValue _ | 调试参数 | 用户调试 参数 | N | N |
| laser af.enable _ | 预留调试 参数 | 用户调试 参数 | N | N |
| laser af.vcmDot _ | 预留调试 参数 | 用户调试 参数 | N | N |
| laser af.distanceDot _ | 预留调试 参数 | 用户调试 参数 | N | N |
| pdaf.enable | 预留调试 参数 | 用户调试 参数 | N | N |
| vcmcfg.startCurrent | 调试参数 | 用户调试 参数 | N | N |
| vcmcfg.ratedCurrent | 调试参数 | 用户调试 参数 | N | N |
| vcmcfg.stepMode | 调试参数 | 用户调试 参数 | N | N |
| vcmcfg.extraDelay | 调试参数 | 用户调试 参数 | N | N |
| measiso cfg.iso _ | 调试参数 | 用户调试 参数 | N | N |
| measiso cfg.afmThres _ | 调试参数 | 用户调试 参数 | N | N |
| measiso cfg.gammaY _ | 调试参数 | 用户调试 参数 | N | N |
| 成员名称 | 参数类型 | 描述 | API 支持 | IQ Tool 支持 |
|---|---|---|---|---|
| measiso cfg.gaussWeight _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.WideModuleDeviation _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.TeleModuleDeviation _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.ZoomMoveStep _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.ZoomMoveDot _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.focusLength _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.zoomPosition _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.focusPosition _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.ZoomSearchTbl _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.FocusSearchPlusRange _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.ZoomSearchRefCurveIdx _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.FocusSearchMargin _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.FocusSearchStage1Step _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.searchZoomRange _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.searchFocusRange _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.searchEavg _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.searchEmax _ | 调试参数 | 用户调试 参数 | N | N |
| zoomfocus tbl.IsRecZoomFocusPos _ | 功能参数 | 功能参数 | N | N |
| zoomfocus tbl.RecZoomFocusDir _ | 功能参数 | 功能参数 | N | N |
4.13.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.13.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.13.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.13.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,
但接变焦镜头时,一般设置为POSITIVE;
AdaptRangeTbl为ADAPTIVE_RANGE策略下搜寻表,按照这个表进行粗搜;
AdaptiveSteps为AdaptRangeTbl表的项目个数;
QuickFoundThers为快速搜索阈值,(maxfv - minfv) / (maxfv + minfv)小于该值时提前结束搜索;
QuickFoundThersZoomIdx配合QuickFoundThers使用,根据zoom index的取值,可设置多个QuickFoundThers值;
SearchStep为每次对焦搜索中的搜索步数,即不管是粗搜还是精搜,本次搜索范围划分为SearchStep+1段进行搜索;
SearchStepSearchStepZoomIdx配合SearchStep使用,根据zoom index的取值,可设置多个SearchStep值;
StopStep为停止对焦搜索阈值,当本次搜索步长小于该值时结束搜索;
StopStepZoomIdx配合SearchStep使用,根据StopStep的取值,可设置多个StopStep值;
SkipHighPassZoomIdx为zoom index大于该值时,对焦中不参考高通fv曲线,变焦后的对焦中使用;
SkipHighPassGain为sensor gaim值大于该值时,对焦中不参考高通fv曲线,变焦后的对焦中使用;
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.13.2.5 laser_af
laser af算法参数设置
【成员】
enable为laser af算法开关;
vcmDot和distanceDot为vcm code值和distance映射表;
【注意事项】
4.13.2.6 pdaf
pdaf算法参数设置
【成员】enable为pdaf算法开关;
【注意事项】
4.13.2.7 vcmcfg
vcm配置一般在kernel dts中设置,但内核编译比较麻烦,为了方便调试,xml中也增加对其进行设置的接口。
【成员】
startCurrent为vcm启动电流,单位为mA;
ratedCurrent为vcm截至电流,单位为mA;
stepMode为vcm工作模式,一般有LSC / SAC等模式;
extraDelay为在lens移动结束时间过后,追加一定的延时,以方便调试,该值可正、可负、可为零;
【注意事项】
4.13.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.13.2.9 zoomfocus_tbl
变焦曲线表设置
【成员】
| 成员名称 | 描述 |
|---|---|
| WideModuleDeviation | 模组标定后,对标定结果进行微调,设定对焦过程中在近焦段focus 额外多搜索的范围, focus搜索范围为[标定后对焦曲线minFocus - ModuleDeviation, 标定后对焦曲线minFocus + ModuleDeviation] |
| TeleModuleDeviation | 模组标定后,对标定结果进行微调,设定对焦过程中在远焦段focus 额外多搜索的范围, focus搜索范围为[标定后对焦曲线minFocus - ModuleDeviation, 标定后对焦曲线minFocus + ModuleDeviation] 一般可将WideModuleDeviation和TeleModuleDeviation设置为相 同的值 |
| ZoomMoveStep | 在变焦(也称变倍)过程中,zoom和focus同时移动后进行同步的位 置,即每隔ZoomMoveStep进行zoom和focus马达的同步 |
| ZoomMoveDot | 和ZoomMoveStep配套使用,每段ZoomMoveDot位置,可设置一 个ZoomMoveStep进行zoom和focus的同步, 为了方便,此处为zoom index值,即对焦曲线表中对 zoomPosition从近焦到远焦从0进行编号 |
| focusLength | 对焦曲线表中的焦距数据,需保持原样拷贝 |
| zoomPosition | 对焦曲线表中的zoom step数据, 如模组为有光耦(复位开关)的模组,zoom step数据需要转换为以光 耦指示原点为起始坐标; 如模组为无光耦(复位开关)的模组,zoom step数据可直接拷贝对焦 曲线表中的zoom step数据; 可参考下面的对焦曲线图。 |
| focusPosition | 包含distance和Position两个域, distance为对焦距离, Position为focus step数据, 如模组为有光耦(复位开关)的模组,focus step数据需要转换为以光 耦指示原点为起始坐标; 如模组为无光耦(复位开关)的模组,focus step数据可直接拷贝对焦 曲线表中的zoom step数据; 必须包含无穷远距离和最近距离的focus step数据,各个距离的 focus step数据长度要一致, 和zoomPosition数据长度也要一致; |
| ZoomSearchTbl | 模组标定时使用的查找表,根据该表搜索一定距离最清晰位置的 focus 坐标值 表中数据为zoom 坐标值,以光耦指示原点为起始坐标, 需包含对焦曲线表拐点附近的位置 |
| FocusSearchPlusRange | 模组标定时搜索最清晰位置的focus 坐标值时, 模组标定前,各个模组的机械后焦等差距较大,需要在对焦曲线表 的基础上设置额外多查找的范围, 查找范围为 [对焦曲线表指示focus 坐标值-PlusRange, 对焦曲线表 指示focus 坐标值+PlusRange] |
| 成员名称 | 描述 |
|---|---|
| ZoomSearchRefCurveIdx | 模组标定时参考的focusPosition曲线编号, 例如使用1.5米距离进行标定,找到focusPosition中该距离的编号 为0,然后填写到此处 |
| FocusSearchMargin | 模组标定时为了保护镜头不撞击到模组两端,影响标定准确性,对 模组标定时focus搜索范围进行限制, focus搜索范围为[focus minimum + FocusSearchMargin, _ focus maximum - FocusSearchMargin] _ focus minimum和focus maximum为驱动报告的focus可移动范 _ _ 围的最小值和最大值 |
| FocusSearchStage1Step | 模组标定时分为粗搜和精搜两个阶段,FocusSearchStage1Step为 精搜时的步长,一般设置为1 |
| searchZoomRange | 模组标定时[zoom focus]坐标对搜索完毕后,与对焦曲线表进行偏 差计算时zoom的比较范围 |
| searchFocusRange | 模组标定时[zoom focus]坐标对搜索完毕后,与对焦曲线表进行偏 差计算时focus的比较范围 |
| searchEavg | 对焦曲线表进行偏差计算时允许的最大偏差值,结果超过该值时模 组标定失败 |
| searchEmax | 对焦曲线表进行偏差计算时允许的平均偏差值,结果超过该值时模 组标定失败 |
| IsRecZoomFocusPos | 是否记录对焦后的[zoom focus]坐标,一般设置为0 |
| RecZoomFocusDir | 记录对焦后的[zoom focus]坐标的存储位置 |
【注意事项】
对焦曲线图:
4.13.3 变焦镜头调试步骤
- 镜头马达驱动调试,可参考驱动相关文档。2. 对焦曲线表导入IQ文件。对应IQ文件中的focusLength / zoomPosition / focusPosition。需要注意的是,如模组为一体机芯等有光耦的模组,zoom step / focus step数据需要转换为以光耦指示原点为起始坐标,一般参考镜头规格书中驱动控制表(Cam lifting map)中的数据,在zoom / focus数据上加固定偏移即可。3. 设定镜头标定参数。对应IQ文件中的ZoomSearchTbl / FocusSearchPlusRange / ZoomSearchRefCurveIdx / FocusSearchMargin / FocusSearchStage1Step / searchZoomRange / searchFocusRange / searchEavg / searchEmax。ZoomSearchTbl需要包含对焦曲线表的拐点附近的位置4. 设定变焦对焦搜索过程参数。AdaptiveDir / QuickFoundThersZoomIdx / QuickFoundThers SearchStepZoomIdx / SearchStep / StopStepZoomIdx / StopStep / SkipHighPassZoomIdx / SkipHighPassGain WideModuleDeviation / TeleModuleDeviation / ZoomMoveStep / ZoomMoveDot