美文网首页
[Camera效果]MSM8909 AE 流程

[Camera效果]MSM8909 AE 流程

作者: c枫_撸码的日子 | 来源:发表于2020-07-16 10:51 被阅读0次

    本文来自于我的前同事-小卢,一个很有个性,能力又不错的年轻小伙子!
    (文章已经得他本人同意分享)

    AE 基本概念

    cmos sensor通过光电转换将光信号最终转换成电信号,再通过 ISP 处理将电信号转换成模拟信号(即一张正常的图片)。当图片亮度与预设值的目标亮度差异过大时,AE 算法会调整 sensor 的放大倍数以及曝光时间来获得合适的亮度。

    曝光加法公式: AV + TV = EV = BV + SV,其中
    AV:光圈级数
    TV:快门级数
    BV:环境亮度级数
    SV:感光度,即 ISO
    (sensor 放大器作用于公式中的 ISO,曝光时间对应于 TV)

    AE 算法

    AE 算法会计算当前图像亮度,并与 AE param 中的阈值进行比较,从而控制 sensor 选择更合适的快门组合。而计算亮度最重要的是配置合适的计算区域

    1. 曝光表

    曝光表定义了放大倍数和曝光时间


    例如对于 {256, 1} 这一组,代表 gain = 1.0,line_count = 1.
    曝光表通过 exp_index 建立索引,exp_index 越大,代表使用的 gain 和 line_count 越大,也意味着环境亮度越低。

    exp_index 与 lux_index 不同,当 target_luma = cur_luma 时,
    exp_index = lux_index


    2. 测光区域

    即定义如何计算当前图像的亮度。

    1. 帧平均(整张图片的平均亮度)
    2. 中心权重(中心占比最大,四周依次减小)
    3. 点测光(只考虑画面中心,一般用于 touch AE)


      image.png

    测光区域为一 16*16 的矩阵,对应位置的值越大,代表该区域亮度占比最大
    (AE Parameter 中会配置两个矩阵,一个用于中心权重,一个用于点测光,根据 HAL 所传参数的不同,会调用对应的权重表;当前平台只支持前三种权重表,其它的需要客制化)


    3. 目标亮度

    目标亮度有多种选择,根据不同的场景,目标亮度会有所不同,这也是平台差异化比较大的地方,高端的平台针对大部分场景都有特定的目标机制,例如夜景、平坦景、高光区域、背光区域等等。MSM8909 主要的亮度目标机制是 default AE target 和 outdoor AE target(夜景的 AE target 参数中不支持,但可在 q3a 中设置)。
    // #define AEC_LOW_LIGHT_LUMA_TARGET_INIT 26
    // #define AEC_LOW_LIGHT_LUMA_START_IDX_INIT 350
    // #define AEC_LOW_LIGHT_LUMA_END_IDX_INIT 370

    AE target:即 ISP 希望 sensor 输出的图片达到的亮度,对于第一次进相机,ISP 检测到当前帧的亮度 cur_luma 低于目标亮度 target_luma,就会增大 exp_index 获取新的 gain & line_count 进行重新曝光,直到 cur_luma 和 target_luma 相当


    4. 目标亮度(人脸检测)

    对于没有人物的场景,AE 算法会平衡整体图片的亮度,但当画面中人物占主体时,如果不作特别处理,当人物处于逆光场景时,人脸会很暗,当人物处于暗环境时,人脸又会过曝。这对于人物占主体的场景而言,是非常不合适的,因此,当检测到人脸时,需要有特别的 AE 算法。

    MSM8909 支持人脸识别,也支持 face AE,当场景中检测到人脸时,会额外计算出人脸区域内的 face_luma,根据一定比例与 cur_luma 混合得到 final_luma,再将 final_luma 作为帧亮度与 AE Target 进行比较

    8909 的 face AE 机制也很简单,weight 代表 face_luma 的占比


    final_luma = face_luma ** weight + cur_luma * * (1 - weight)

    人脸场景需要考虑两种情况:

    1. 逆光场景:该场景下环境亮度很高,当提升人脸亮度时,必然会使背景过曝,如果提升亮度后,背景过曝严重,则可提高 face weight;
    2. 夜景:由于环境亮度低,识别到人脸时,AE 会减小 exp_index 保证人脸不过曝

    相关文章

      网友评论

          本文标题:[Camera效果]MSM8909 AE 流程

          本文链接:https://www.haomeiwen.com/subject/suxphktx.html