目的:本文基于工作项目针对性预习ADRC
Tool:高通 Chromatix7 、AEC10模块
用途:提高整体亮度并抑制过曝,混合使用GTM和LTM。用直方图AEC设置更低目标亮度,用更高的数字增益来增大暗处的亮度,会带来噪声的增加,尤其是户外场景。
<一>ADRC初始化设置
- 使能直方图和ADRC:Histogram Metering
- 为每个区间设置最大ADRC增益 Max ADRC Gain
- 设置每个区间的GTM/LTM比例 LTM/GTM Percentage : 一般为 2:8
- 在直方图保留部分使能DRC增益标志位 ltm/gtm_enable,如果没有GTM的平台,使能gamma和ltm
- 使能LTMLocal Tone Mapping
- 在isp头文件里不要使能GTM
<二>判断是否设置成功
3A信息:AEC Debug Info ->Histogram Adjustment 中ADRC target gain
<三>基础微调
微调直方图AEC获得恰当的整体亮度和DRC增益
ADRC工作范围
idea_luma_target < legacy_luma_target*Min_Target_Adj_Ratio
####调试ADRC比例
如果用了LTM,会提升对比度。不应该期望有明显的改进,也不应该过度使用LTM。因为他可能导致几种问题。
一般来说,LTM比GTM/gamma 对对比度和强光抑制更好,但是它可能产生一些副作用。对于对比度改善,高光抑制你也可以细调遗留的目标亮度和gamma
第一调LTM不要超过0.5 留下的给 gamma/gtm(导师建议是不过超过0.8)
<四>高级ADRC调试
LTM调试
我们可以调试`Global Tone Contrast`(修改对比度)和`Fixed content low`(修改暗区亮度)
抗闪烁优先还是ADRC
由于启用了ADRC,曝光时间可能小于10Ms,因此`可能出现闪烁问题`
/* 3A头文件 Histogram Metering 最后*/ 1.000000f,/* adrc_antibanding_priority_enable / 170.000000f,/ atb_cutoff_idx_50hz / 160.000000f,/ atb_cutoff_idx_60hz / 200.000000f,/ atb_trigger.start / 230.000000f,/ atb_trigger.end */
如果lux_idx 当lux_idx >atb_trigger.end(可能在door中),如果检测到条带,ADRC算法使曝光指数小于cutoff_idx,则该特性将把曝光指数限制在cutoff_idx,并降低drc idx(更小的drc gain)来调节亮度。 如果lux_idx在start和endzhi之间。调整比例将从0.0到1.0插值,使调整平滑
闪烁问题和建议:
也可能有曝光表的设计和模块的灵敏度有关 一开始关闭这个功能,除非你发现ADRC会引起闪烁问题 减少触发点可以对抗闪烁更有帮助 设置cutoff index比理论值略大一点
ADRC WNR调整 我们有机会调整CPP头中WNR的权重,DRC 增益是触发。ADRC WNR Adjustment feature,这个值可以大于或者小于1,最后WNR的设置会乘上ADRC WNR adjustment value。 注意: 我们总是为WNR设置增益触发,而WNR的触发中也包含ADRC增益。gain(wnr-trigger) = gain * drc_gain
ADRC ACE调整 我们可以在isp头中设置颜色调整,DRC Sat Adj Factor将会在color conversion模块中乘上a_m,a_p,c_m,c_p,可以对饱和度进行增强或者减少 建议:不是必须的,一开始不需要打开
。
在高通chromatix7的ISP Tuning AEC10中 与ADRC相关的xml以及参数如下:
aecxdbconvsettle.xml
aecxdbconvbase.xml
aecxconvergence.xml 是用来 开关调整smoothADRC
aecxdbsnapshot.xml
antibandingMetering.xml
aecxmeteringsceneanalyzer.XML