海思3516D闪屏问题-修复
结论:
闪屏问题的根本原因是海思AE处理的有问题,而我们现场的问题尤为复杂,修改了以下几个地方:
1 去掉了抗闪功能,抗闪功能和WDR一同使用会有闪屏问题。
2 增加数字增益调节,sensor增益调节有again和dgain,代码中只有again的调节,没有dgain,经验证dgain也会或多或少影响闪烁。
3 调整感兴趣区域权重值。
4 目标亮度值从65改到128
调整了这4个地方后,闪屏问题得到解决。如果还有问题,还可以继续优化。
闪屏原因:
1 抗闪+WRD,同时使用很容易出现闪屏。抗闪功能一般室内使用,过滤灯光产生的波纹形闪烁。而我们设备抗闪一直处于打开状态。
2 AE的增益和曝光时间配置不对,我核对了imx290的芯片手册和海思的290demo,配置方式应该没有问题,只是数字增益写死是0了。这个也可能导致某些轻微的闪烁。
3 感兴趣区域权重值,此值过高,会使曝光策略为高光优先的模式,为了防止过曝,适当降低亮度值,而当AE算法发现画面亮度比目标亮度小了,又会增加亮度值,这一增一减,也会造成闪烁。
4 自动曝光调整速度,u8Speed,某些sensor在wdr模式下,此值>64也可能导致画面闪烁。
5 曝光时间和sensor增益不满足线性关系,比如曝光量为4096,可以分配曝光时间2,增益2048,或者曝光时间4,增益1024,效果是差不多的。如果不满足这种线性关系,AE调节也有可能导致闪烁。可以通过设置f32Offset解决。
6 系统增益分配不合理也可能导致闪烁。若(sensor模拟增益最小值sensor数字增益最小值ISP数字增益最小值)<系统增益最小值,则AE算法内部计算时最小增益会被限制到系统增益的最小值,若(sensor模拟增益最大值sensor数字增益最大值ISP数字增益最大值)>系统增益最大值,则AE算法内部计算时最大增益会被限制到系统增益的最大值,海思推荐通过设置系统增益的最大、最小值进行增益限制,分别限制sensor模拟增益、sensor数字增益和ISP数字增益时,若把较高精度的ISP数字增益限制到1倍,容易导致闪烁。
以前使用错误:
1 曝光策略,高光优先、低光优先使用错误。
2 曝光量偏差值,室内此值太低,画面过暗。
3 sensor数字增益调节,没有。
4 抗闪处理,一直打开。
5 感兴趣区域权重值(室内和室外),过高,导致室外模式亮度提不上去,画面过暗。
6 感兴趣区域对统计平均影响的最大程度值,过高,导致室外模式亮度提不上去,画面过暗。