AE 的软件、硬件、驱动控制、调试策略(没有算法)

news2024/11/29 8:42:46

#灵感# AE是个值得推敲再推敲的模块,有意思。

目录

相关的硬件-光圈:

相关的软件-曝光-ISO:

ISP中的sensor AE 组成:

sensor AE的流程及控制:

tuning时AE的一些策略:

相关的硬件-光圈:

光圈(F-Number)光圈(相对孔径),光圈是镜头里控制光线进量的装置。

F=f/D,f为焦距,D为通光孔直径。焦距相等, F 越小表示通光孔径越大。

F数以 √2 倍增长,F数每增加一档,通光量减少一半。

光圈除了控制光线进量外,还与景深相关。在其他因素相同的条件下,光圈越小景深越大,光圈越大,景深就越小。

光圈变化对亮度影响:

相关的软件-曝光-ISO:

sensor的曝光时间(快门时间)指的是sensor的感光时间。曝光(快门)时间越长,图像就越亮。

当延长快门时间,仍然达不到期望的亮度,就需要调节sensor的感光度(ISO)。

CMOS sensor的感光度就是它的增益(gain)。增益是用模拟或数字的方法进行放大,不可避免的会放大噪声。ISO 用100、200等表示,通常100=1倍的增益,200表示2倍的增益。

光圈、曝光(快门)、ISO 的组合结果是乘积倍数关系。达到同样的亮度,光圈小一倍,曝光时间就需要增加一倍,或者 ISO增加一倍。

扩展阅读链接:如何理解 ISO、快门、光圈、曝光这几个概念? - 知乎 (zhihu.com)

ISP中的sensor AE 组成:

 因为多数中低端项目(手机、车载、监控等)的光圈是固定的,所以想调整拍摄的画面亮度,只能依赖曝光时间和增益的配合。

sensor 的AE (auto exposure)调节分为两部分:

AEC(auto exposure control) 调节曝光时间;

AGC(auto gain control) 调节增益值。

sensor本身没有 auto功能的,需要通过后端平台实现 。在整个 AEC/AGC过程中,以图像过暗的情况为例,调整策略为曝光时间优先(此时增益关闭),曝光时间已经最长无法继续调整时,开启并调整增益。

需要明确指出的是,仅曝光时间加大,噪声并不会明显增加,有助于提升图像信噪比。而增益开启,将直接导致平均噪声呈倍数放大;

调整AGC时,一般情况下 优先调节模拟gain值 ,模拟 gain调节到上限时, 如果要继续增大图像亮度,可以调节数字 gain值。

以上段落文字参考:

自动曝光AEC和自动增益AGC控制 - 简书 (jianshu.com)

sensor AE的流程及控制:

AE分为算法模块和统计模块,统计模块是和硬件相关的,包含在 ISP pipeline 里,这部分通常需要强大的算力,吐出亮度直方图,亮度区域统计值,当前亮度,环境亮度。算法模块,即我们需要调试的模块,这部分的参数由isp调试传入,依据前面的AE统计值进行运算后决定AE行为。如果需要进行AE收敛,则设置sensor内部shutter 和gain 或者ISP gain。

AE 算法模块计算出合适的shutter和gain 通过驱动接口,下到sensor寄存器中。

驱动中AE的控制:

1>、首先配置曝光时间

根据 sensor datasheet 配置好最大最小积分时间(integration_time,以行为单位,通常也称为曝光行,minLineCnt、maxLineCnt, 或写作exposure_line等)。可以从sensor手册获得此值,以及生效的寄存器地址。

AE 算法模块计算出合适的shutter,在寄存器地址,写入index 对应的exposure time值。

范围:min_integration_time(有时候=1) <= integration_times <= VTS - frame_offset(frame_offset是指最小的dummy_line,或者写为VB_min.[dummy_line=用来填充V_Blank的行,这个也可以从sensor datesheet中获得])我恨!为啥不统一命名。

VTS = frame_length = V_Size + V_Blank  // 帧长; 

fps = pclk/(VTS * HTS) = pclk/(frame_length*line_length) = 1 / (frame_length * line_time)

不占用曝光时间,即可以通过调节V_Blank,调节帧长,从而改变帧率,但不会改变画面的亮度(曝光)。一般情况下,帧率可以由sensor供应商的FAE 提供配置。

2>、配置sensor 模拟增益、数字增益

一般我们只需配置 sensor 模拟增益(maxAnalogGain、minAnalogGain可以查sensor datasheet 或者找FAE 获得此值),不用特别配置数字增益。(很多时候在暗环境为了达到合适的信噪比,sensor 的模拟增益并不会用到最大值,所以也用不上数字增益。)但有时候会用到isp 数字增益,它是 AE 算法控制的,不用在 sensor 驱动中去配置。

sensor 模拟增益的控制,一种是写入 sensor Again 寄存器的值。sensor datasheet 会有一个 Again_table,配置好平台与 Sensor 的匹配精度(几倍增益对应写入哪个寄存器)。

AE 算法模块计算出合适的gain后 ,驱动通过查 Again_table 写入寄存器regValTable 生效。

3>、验证AE 生效:

通过调试工具手动写入积分时间、模拟增益,观察画面亮度变化。并通过读 sensor 相应的寄存器地址,根据读出的值来判断曝光数据是否正确写入,以此来检查驱动中的相关配置是否正确。

生效帧:曝光时间及增益若在第 N 帧写入,则第 N+2 帧生效。

原文链接:https://blog.csdn.net/qq_25109183/article/details/107179744

此段参考:​​​​​​【精选】Sensor 调试流程_sensor模拟增益和数字增益-CSDN博客

tuning时AE的一些策略:

1、设置帧率:

2、避免flicker:

3、避免异常噪声:

4、避免拖影:

(先烂个尾,明天再封顶)
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1218279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全(大厂面试真题集)

前言 随着国家政策的扶持&#xff0c;网络安全行业也越来越为大众所熟知&#xff0c;想要进入到网络安全行业的人也越来越多。 为了拿到心仪的 Offer 之外&#xff0c;除了学好网络安全知识以外&#xff0c;还要应对好企业的面试。 作为一个安全老鸟&#xff0c;工作这么多年…

t-product的matlab实现

t-product是一个比较好的概念&#xff0c;相对应于矩阵中的乘法。 定义如下 这里的 circ(A),MatVec(b) 的定义分别如下 这么定义的原因是为了映射到FFT域里面去&#xff0c;简化计算。 上面的一段摘录说明&#xff1a;直接按照定义来计算&#xff0c;会耗费大量的计算资源。因…

【2.5w字吐血总结 | 新手必看】全网最详细MySQL笔记

写在前面 鉴于全网MySQL知识点的总结分散难懂、良莠不齐&#xff0c;为了避免初学者少走弯路&#xff0c;更好更快地掌握MySQL知识&#xff0c;博主特地将自己所学的笔记分享出来。 如果想深度理解掌握MySQL&#xff0c;欢迎订阅专栏&#xff1a;MySQL进阶之路【秋说】&#…

adguarg通过dns代理全局过滤广告,全系统操作指南

路由器dns配置 安卓(鸿蒙) 设置>>其他网络与连接>>私人DNS&#xff08;不同手机系统设置名称会有些许出入&#xff0c;但是大差不差&#xff09; &#xff08;左图鸿蒙&#xff09;&#xff1a;将域名m.centos.chat填入手机私人DNS IOS系统 将代理服务器IP&am…

delphi电子处方流转(医院)

【delphi电子处方流转(医院)】支持 就诊登记、电子处方上传预核验、处方处方医保电子签名、电子处方上传、电子处方撤销、电子处方信息查询、电子处方审核结果查询、电子处方取药结果查询、电子处方药品目录查询等功能。

UE4动作游戏实例RPG Action解析四:装备系统

导语: 以加血道具为例,详细分析拆解ActionRPG的装备系统,包含装备系统需求和数据结构设计,以及实现 一、装备系统需求: 装备槽: 已获取装备和未获取装备: 当已经装备一个道具时,再次捡到道具,会把道具放在装备库,不会放在装备槽中, 当没有装备道具时,会拾取道具…

Digicert证书:您的网络安全守护神

在当今数字化的世界中&#xff0c;网络安全已经成为每一个企业和个人必须面对的问题。而Digicert品牌证书&#xff0c;就是您网络安全的最佳选择。它不仅具有强大的安全性和稳定性&#xff0c;还能广泛应用于各种场景&#xff0c;为您提供全方位的保护。 首先&#xff0c;我们要…

Xrdp+内网穿透实现远程访问Linux Kali桌面

XrdpCpolar实现远程访问Linux Kali桌面 文章目录 XrdpCpolar实现远程访问Linux Kali桌面前言1. Kali 安装Xrdp2. 本地远程Kali桌面3. Kali 安装Cpolar 内网穿透4. 配置公网远程地址5. 公网远程Kali桌面连接6. 固定连接公网地址7. 固定地址连接测试 前言 Kali远程桌面的好处在于…

【硬核】把一个MOS管制作成开关电路

你要是想读懂这篇文章&#xff0c;请先去了解MOS管的基础知识&#xff0c;本文是在基础之上做出的一部分扩展&#xff0c;可能有一点点深&#xff0c;请各位同学注意。 本文带你了解MOS管的开通/关断原理&#xff0c;使用PMOS做上管、NMOS做下管都是比较方便&#xff0c;使用PM…

腾讯云服务器新用户专享优惠券,腾讯云新用户代金券领取入口汇总

什么是腾讯云新用户专享优惠券&#xff1f; 腾讯云新用户专享优惠券是腾讯云为新用户提供的一种特别优惠。你可以在购买腾讯云服务器时使用这些优惠券&#xff0c;以更低的价格获得优质的云服务。 为了回馈广大新用户&#xff0c;腾讯云服务器推出了一系列优惠活动&#xff0…

KeyarchOS的CentOS迁移实践:使用操作系统迁移工具X2Keyarch V2.0

KeyarchOS的CentOS迁移实践&#xff1a;使用操作系统迁移工具X2Keyarch V2.0 作者&#xff1a; 猫头虎博主 文章目录 KeyarchOS的CentOS迁移实践&#xff1a;使用操作系统迁移工具X2Keyarch V2.0&#x1f405;摘要引言1. 迁移前的精心准备1.1 系统环境介绍1.2 深度数据验证1.2.…

Linux下好玩有趣的指令(持续更新)

适用于centOS下&#xff0c;别的Linux换个指令就行&#xff0c;内容是一样的 centOS有的指令安装不了&#xff1f;试试拓展yum源&#xff0c;再安装基本就OK啦&#xff01; yum install -y epel-release 下面是作者在centOS环境下亲测可以使用的&#xff0c;如果你是root用户直…

【ES6标准入门】JavaScript中的模块Module语法的使用细节:export命令和imprt命令详细使用,超级详细!!!

&#x1f601; 作者简介&#xff1a;一名大四的学生&#xff0c;致力学习前端开发技术 ⭐️个人主页&#xff1a;夜宵饽饽的主页 ❔ 系列专栏&#xff1a;JavaScript进阶指南 &#x1f450;学习格言&#xff1a;成功不是终点&#xff0c;失败也并非末日&#xff0c;最重要的是继…

win10查看wifi密码

文章目录 标题win10查看wifi密码命令方式窗口 标题win10查看wifi密码 命令方式 # name 为指定的wifi名称 netsh wlan show profiles name"TP-LINK_1946" keyclear窗口

​如何使用ArcGIS Pro制作渐变河流效果

对于面要素的河流水系&#xff0c;制作渐变效果方法比较简单&#xff0c;如果是线要素的河流有办法制作渐变效果吗&#xff0c;答案是肯定的&#xff0c;这里为大家介绍一下制作方法&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的水系数…

在Windows系统中查找GitBash安装位置

使用注册表可以轻松获取&#xff1a; reg query HKEY_LOCAL_MACHINE\SOFTWARE\GitForWindows /v InstallPath | findStr InstallPath此时输出一串字符&#xff0c; 通过字符串切割即可获取&#xff1a;

PostgreSQL技术大讲堂 - 第34讲:调优工具pgBagder部署

PostgreSQL从小白到专家&#xff0c;是从入门逐渐能力提升的一个系列教程&#xff0c;内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容&#xff0c;希望对热爱PG、学习PG的同学们有帮助&#xff0c;欢迎持续关注CUUG PG技术大讲堂。 第34讲&#…

MYSQL中的触发器TRIGGER

1.概念 触发器是一个特殊的存储过程&#xff0c;当触发器保护的数据发生变更时就会触发。 2.特性 1.触发器与表息息相关&#xff0c;一般我们一个表创建六个触发器。 2.六个触发器其实是三种类六个 insert 类型 before | after insertupdate 类型 before | af…

Vue h5页面手指滑动图片

场景&#xff1a; 四张图&#xff0c;要求随着手指滑动而滑动 代码&#xff1a; imgs是父盒子 poster-item是每个图片 .imgs {white-space: nowrap;overflow: hidden;overflow-x: auto;margin-bottom: 17px;.poster-item {display: inline-block;vertical-align: middle;wid…

第十九章,Java绘图

Graphics类 Graphics类是所有图形上下文的抽象基本类&#xff0c;它允许应用程序在组件以及闭屏图像上进行绘制 Graphics类封装了Java支持的基本绘图操作所需的状态信息&#xff0c;主要包括颜色、字体、画笔、文本、图像等 Graphics类提供了常用的绘图方法&#xff0c;利用这些…