结论:
闪屏问题的根本原因是海思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 感兴趣区域对统计平均影响的最大程度值,过高,导致室外模式亮度提不上去,画面过暗。
相机还存在问题:
1 屏幕亮度优化。不管是室内还是室外,相机画面亮度都很低,目前采用开启wdr解决了亮度低的问题,但wdr有优点,也有缺点,会提高码率,增加噪点等等。
画面亮度过低原因也找到了,室外模式,曝光策略采用高光优先,同时,感兴趣区域权重值太高了,可以防止过曝,但对高光过于敏感,导致图像亮度提不上去;室内模式:曝光策略采用了低光优先,这时候是可以提亮度值的,但是曝光量偏差值(u16EVBias)设置过低,导致最终生效的的目标亮度(目标亮度*偏差值/1024)特别特别低,室内模式也很暗。
2 wdr场景优化,现在现场相机默认都开启了wdr功能,可以优化成只有少数特殊场景下开启wdr。
3 日夜切换功能优化,室外,白天:关闭抗闪功能,关闭wdr,夜晚:默认关闭抗闪,关闭wdr,特殊场景自行打开wdr;室内,白天:关闭抗闪功能,关闭wdr,夜晚:默认关闭抗闪,关闭wdr,特殊场景自行打开wdr。
4 对于室内非wdr场景,可以通过DRC控制图像亮度。
5 调整曝光策略,白天:根据场景选择开启高光优先策略。夜晚,低光优先策略。
6 曝光权重表,可以指定特定区域曝光权重。(此优化需要大幅修改IE界面,可以先不做)
来源:oschina
链接:https://my.oschina.net/u/4396834/blog/3227888