AE手动曝光的相关知识

前言

该篇文档主要介绍当3A的状态为手动的时候,AE通过怎样的操作进行手动的调整。比较适合相机开发有一定基础的同学进行交流。今天的文档会先从理论知识开始讲解,其次会从我们常见的相机专业模式作为例子去进行加深理解。

那废话不多说,开始今天的归纳总结!

曝光的三大要素

  • ISO/Gain控制
  • Exposure Time 曝光时间控制
  • Frame Duration 控制

ISO/Gain控制

 ISO简单来说就是我们日常经常说的感光度,感光度越高表示对光线越敏感。以下将会以图解的形式描述ISO的组成。

我们对此有个印象就好,后续会对其进行一个详细的说明。

ISO的Sensor部分 

Sensor包括模拟Gain和数字Gain,这两个Gain共同作用于感光度。

我们首先来看几个比较重要的语句

CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE

获取Camera sensor Gain可调整的设备范围。

这个是获得Sensor所有的Gain的合计范围,包括数字Gain以及模拟Gain 。

CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY

当前Camera Sensor支持的最大模拟Gain。

当后续设置SENSOR_SENSITIVITY小于等于这个值,全部用模拟Gain。

SENSOR_SENSITIVITY一般就是用于我们应用层调整ISO的一个FLAG,他这里调整的是整个Sensor Gain,后续会讲解他的使用。

需要注意的是:我们需要通过现实中相机表现理解为什么SENSOR_SENSITIVITY小于等于这个值,全部用模拟Gain。首先我们要知道一个前提知识点,拉模拟信号噪点会比较小,数字信号噪点会比较大,所以一般情况肯定是优先调整模拟Gain的。再例如就是当处于一个非常暗的环境下,会发现拍出来的照片会有非常多噪点,这里的原因就是在暗黑环境中,相机需要将感光度调整到最高,这时候模拟的Gain就会被拉满,最后只能通过数字Gain去强行拉高感光度。

ISO的ISP部分

值得注意的是这个部分的ISO一般在应用层不进行修改,当然有些手机也是可以的主要是看手机的硬件水平,我们这边先看看怎么获取他的取值范围。

CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE

 设置ISO

就如上面说的,我们应用层设置ISO主要就是通过设置sensor部分的Gain

CaptrueRequest#SENSOR_SENSITIVITY

这里的Gain是Total Gain

 在支持postRawSensitivityBoost的设备上(支持ISP Gain),图像最终的Gain是SENSOR_SENSITIVITY*postRawSensitivityBoost

接下来我们看看postRawSensitivityBoost怎么设置的,这个不算重点,因为目前来说,许多手机都不允许设置这个值。

CaptrueRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST

值得注意的是,该值表示Camera sensor输出RAW图给ISP之后,ISP在YUV/JPG图像上额外应用的Gain值,对RAW format buffer没有影响。

简单来说:对于最后感光度的体现,不同格式的图片存在差异。

YUV/JPG:SENSOR_SENSITIVITY*postRawSensitivityBoost

RAW:SENSOR_SENSITIVITY

曝光时间

曝光时间(exposure time)即快门速度(shutter speed),其单位为s. 它决定图像传感器受光时间长短。用来衡量进光的数量,自然进光的数量越多,整体的亮度越大。在应用层的使用也是偏简单的,调用Google所提供的接口即可。

CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE

查看曝光时间可调节的范围

CaptureRequest#SENSOR_EXPOSURE_TIME

设置曝光时间

CaptureResult#SENSOR_EXPOSURE_TIME

捕获结果的曝光时间

 Frame Duration控制

直译过来就是保留帧的持续时间,可能听着有点懵逼,接下来我将通过一个图解进行加深理解。

可以看到其实我们的帧率就是算出在一秒钟内进行了几次FD,FD其实代表的就是一帧的时间。同时FD其实也受曝光时间影响,所以从某种意义来说曝光时间往往会影响图像的帧率。曝光时间越大,帧率就会越小。 

专业模式中实际运用

其实大家观察手机的专业模式会发现一个很有趣的问题,按照我原本的理解,拉高专业模式中的ISO,整体画面应该会亮一点。拉高曝光时间画面也应该更亮一些。但是事实是什么呢,现象非常有趣。

在设定上,如果只是修改ISO或者曝光时间中一个,另外一个值也会发生改变,我的理解就是有点像半自动的感觉,当你修改其中一个值的时候,相机会希望画面尽可能不会变化太大,导致另外一个值也会相应的改变,就例如你把曝光时间调大,这时候ISO就会自己变小,因为相机希望画面不要修改太多,处于一个平衡状态。

其次我们再来看看专业模式中的EV。我们其实在学习的时候会知道EV只能在3A自动的时候进行调节,因为其实调节EV,在本质上来说就是调节感光度和曝光时间去进行曝光补偿,但是有个生气的就是,在商业化的相机中,很多时候EV的值和ISO以及曝光时间的值都能同时调整,这就不符合我们一开始的学习基础。但是因为考虑到是商业化,也大抵是能理解,只是这么做的化,肯定就会出现各种问题。就例如,我这边举一个例子:

将EV调节到最大之后,将ISO调节到最小,这时候预览会掉帧。对于这种问题我们要找到他的根因,首先掉帧就肯定是因为帧率降低了,我们得找出为什么帧率会降低了。首先EV最大的情况下,相机自身首先会通过修改ISO值进行补偿,当ISO值都达不到补偿效果的时候这时候曝光时间也会被拉大,进行补偿。但是这时候你如果强行把ISO再调低,曝光时间就会把时间无限拉大。正如我们前面说的,曝光时间影响着FD,FD影响着帧率,自此问题根因找到。

最后进行总结以下

观察专业模式:

为什么之前说EV只能在3A自动的时候进行调节?

调节EV的本质其实就是修改ISO跟曝光时间

调节EV,就是3A自己在动

如果固定了ISO,调节EV,就只会动S

如果固定了S,调节EV,就只会动ISO

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ISP AE自动曝光原理是通过调节曝光时间和ISO值来实现的。在AE自动曝光算法中,曝光强度等于曝光时间乘以光圈大小乘以ISO值。光圈大小一般是固定的,所以主要调节的是曝光时间和ISO值。通常情况下,优先调节曝光时间,当曝光时间达到最大值仍然无法满足要求时,再调节ISO值来调节亮度。\[1\] 手机上的自动曝光功能是让相机根据当前图像信息自动配置曝光大小,即曝光时间和ISO值。早期的曝光时间需要手动设置,而现在的手机相机会根据场景自动计算所需的曝光强度。手机上的光圈是固定的,所以只需要考虑曝光时间和ISO值。ISO值是信号增益的一种表示,可以分为Analog Gain、Digital Gain和ISP Gain。\[2\] 在ISP AE自动曝光中,还有一个重要的概念是AE target,即ISP希望传感器输出的图像达到的亮度。当第一次进入相机时,ISP会检测当前帧的亮度,如果低于目标亮度,就会增大曝光指数,获取新的增益和行数进行重新曝光,直到当前亮度和目标亮度相当。\[3\]这样就实现了自动曝光的调节过程。 #### 引用[.reference_title] - *1* *2* *3* [Camera AE(自动曝光)原理与问题](https://blog.csdn.net/weixin_49303682/article/details/124785829)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值