![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Sensor
文章平均质量分 83
木 东
Camera tuning 工程师
技术内容分享
包括:镜头光学、ISP调试、CMOS Sensor、图像评测等
展开
-
关于flicker问题的调试总结
1)在曝光时间大于10ms/8.333ms的场景下,可通过补偿曝光时间到10ms/8.333ms的整数倍去解决flicker的问题。2)曝光时间小于10ms/8.333ms的场景下,通过修改帧率为25fps,来规避50Hz工频下的flicker,修改帧率为30fps,来规避在60Hz工频下的flicker。3)修改sensor VTS调整帧率时,要注意避免计算误差;及确认默认的setting真实帧率是多少。进技术交流群,扫码添加我的微信:mudong_771。原创 2024-06-06 23:28:33 · 661 阅读 · 0 评论 -
图像从暗到亮收敛完成后,会闪烁一下的问题分析
之前的想法是,肯定是和AE算法有关的,当帧率发生变化时,曝光时间和增益都会发生变化,AE会重新计算、重新收敛,所以图像出现闪烁。切换帧率导致的亮度闪烁,算法那边回复应该是曝光和增益写给 sensor 的时间不同步导致的,和AE没有关系,是驱动要保证的。有发现是和开启了降帧有关系,当关闭降帧后,就看不到闪烁了,这里主要分析一下开启降帧后,导致图像闪一下的原因是什么。整个过程是手捂住画面,图像先变暗(会达到降帧阈值,开启降帧),然后手放开,画面亮度恢复,AE收敛完成(降帧恢复)。原创 2024-02-05 14:46:22 · 593 阅读 · 0 评论 -
关于 bringup sensor 时,曝光时间异常的问题排查
见下图是 sensor datasheet 中关于曝光寄存器的说明,所以我读出的 3e00, 3e01, 3e02的寄存器的值,正常的应该是在 1-2390 之间,下图定义了最小曝光行是1,最大曝光行是 2*vts-10 = 2390。后面检查看到,这颗 sensor 是半行曝光,但我配置给算法的 vts(帧长)的值,是默认的1200,实际应该乘以2,配置2400行才对,所以导致曝光时间增加了1倍。因为同样的环境我用接其他sensor 是没问题的,那应该就还是我驱动中返回给算法的曝光参数的配置有问题。原创 2024-01-01 21:18:02 · 973 阅读 · 0 评论 -
exposure_line 是如何曝光的 ?
实际调试过程中,在室外高亮的场景下我们看当前曝光行可能就几行,但暗环境下曝光行会走满,曝光不够了,还会接着走 sensor gain。第一行先reset,接着就开始曝光,当一直曝光11行后(看示意图可以理解成曝光11次,每次1行),不知道怎么理解,是曝光到1500行,然后继续在1501,继续曝光,一直循环,是这样理解的嘛?曝光行是一个相对时间,他就是一个时间单位,和秒,毫秒一样的,都是用来表示曝光时间的单位。1帧图像用积分时间11行完成了10ms的曝光,这里假设1行的曝光时间是0.91ms。原创 2024-01-01 21:05:34 · 526 阅读 · 0 评论 -
关于 raw 图像的理解
但遇到过有些 raw, 用工具打不开或者出图不对的情况,那可能是因为 raw 的存储格式不同导致,本文主要对 raw 的格式做下介绍说明。这个主要看平台厂商对数据处理有什么要求,我司用的是高位对齐的数据,所以读取时,要有相应的移位操作才行。raw 一般分为 plain raw 和 mipi raw,主要是存储方式上的区别,如下图所示是 Plain raw10 的示意图。那就会空出 6位用不到,因为有空余,这里就涉及到一个高位/低位对齐的问题,也就是存储数据时,右移6位低位对齐(如下图1所示),原创 2023-11-26 21:27:45 · 1016 阅读 · 1 评论 -
拍照打闪光灯,图片出现亮度分层的原因分析
所以当限制了最小曝光行后,sensor 曝光一帧完成的时间就变短了,这时应该就小于打闪光灯闪的时间了,此时 sensor 在闪光灯闪的这个时间段内就可以完成一帧图像的曝光,所以出图就正常了。所以第一次1-2s的常亮状态,这个时间段就可以计算出正确的3a信息,到第二次闪时,直接把保存的正确的3a信息写入就好了,所以这样就不会存在曝光没完成的情况了。而拍照打闪光灯时,如果闪光灯闪的时间太短了,小于了 sensor 曝光一帧完成的时间,那就会导致图片上曝光完成的部分是亮的,未曝光的部分则是暗的。原创 2023-11-11 13:20:40 · 356 阅读 · 1 评论 -
Sensor 点亮出图后,颜色偏红或者偏绿是为什么?
而不同 sensor 的 balck level 的值是不一样的,所以导致图像偏红是因为 balck level 扣的少了,偏绿则是 black level 扣的多了。这是因为 sensor balck level 的值配置的不正确导致,black level 的值一般在效果参数的 calibration 参数里面。对应的 balck level 十进制的值是50,12bit 输出时,对应的 balck level 十进制的值是200。原创 2023-11-11 13:12:31 · 596 阅读 · 0 评论 -
关于坏点问题的调试总结
关于项目调试过程中遇到的坏点问题,一般按如下步骤去进行排查:a. 先判断遇到的是不是坏点,通过抓取raw图去看,及利用相应raw图工具去做分析。b. 从模组厂或 sensor 厂了解坏点的管控标准,确认是否满足坏点的管控标准,排查生产品质问题。c. 通过查 sensor datasheet 及咨询该 sensor 厂的fae来了解该 sensor 是否有 dpc 处理的控制。d. 通过后端isp中的dpc模块去做处理,但调试时要注意可以通过dpc模块后的降噪及锐化的各个模块去平衡清晰度的效果。原创 2023-07-23 17:46:06 · 549 阅读 · 0 评论 -
什么是星光级 Sensor ?
当光电二极管的材质为硅(Si)时,蓝色等波长较短的光线将在光电二极管的表面附近被吸收,而绿色、红色等波长较长的光线,则在光电二极管的深处被吸收。如下是索尼部分 statvis sensor 的信息,我们可以通过SNR1s 的值来判断其低照度下的性能,另外我上面提到的思特威的 SC880SL SNR1s 的值是0.18lux,对比下表来看,效果也是相当好的。星光级 sensor 是有的,也是各家 sensor 的一个卖点,它最主要的优势就是低照度场景下性能好,即星光下可见。原创 2023-03-18 11:14:35 · 1759 阅读 · 1 评论 -
宽动态场景下,暗处偏黄/偏绿的问题排查
在调试 sc301IoT 这款 sensor 时,有遇到在宽动态场景下,图像暗部偏黄/偏绿色/偏蓝色,画面再挪一下还会整个偏绿。如下图所示,是开着一个立式灯箱,灯箱左边很亮,右边的暗部有明显的偏色现象,本文主要记录下关于此问题的排查过程。原创 2023-03-05 18:51:41 · 790 阅读 · 0 评论 -
Sensor setting 用的是30fps ,但最后输出是15fps,是怎么回事儿 ?
在 sensor 驱动中注释掉所有关于 sensor 寄存器的修改,直接用默认的 setting 出图,判断是否是 sensor 厂给的 setting 就是15fps的,这么试了,sensor 输出的打印是30fps, 录制的视频流也是30fps了,画面也流畅了,那就不是 sensor setting 问题。但后面配置 0x320e,0x320f 时(也就是设置帧长的函数里面),我是直接用前面得到的帧长来计算的,没有除以2,所有实际写入寄存器的值就增大了1倍,导致帧率就从30fps 降到了15fps。原创 2023-02-05 13:10:23 · 1109 阅读 · 1 评论 -
关于 sensor hdr 模式下不出图/出图异常的排查方法
接着就是找 sensor 厂介入一起排查了,首先怀疑是和 mipi lane 数或者 mipi 速率太大相关,因为我们平台上接的其他 HDR 的 sensor 都是用的 4lane 的,而这个 sensor 设计的是只支持2lane 的,所以也没办法重新申请 4lane 的 ov02k10 的 setting 去验证,后面是申请了一个 2lane ov08a10 的 HDR 的 setting 去验证了下,可以正常出图,说明那就不是我们平台不支持 2lane 的 hdr 模式。后面查是长帧正常,短帧异常。原创 2023-01-14 14:37:27 · 1290 阅读 · 0 评论 -
关于 Camera 开始 Tuning 时的一些注意事项
反馈给到模组厂,得出的结论是镜头和 sensor 的 CRA 不匹配导致的,后面了解到 ov13b10 是一款商用级的 sensor (也就是用在手机用的比较多),但现在是搭配的一款数码多媒体的镜头(如图3),重新拿到 ov13b10 的模组点亮后,依然看到有和 ov13855 一样的现象(图像偏红、网格纹、pd点),但旧平台上点同样的 sensor 是好的,就有点怀疑是我们新平台的硬件问题了,那这就是模组的问题了。图像就会有 pd 点存在,另一方面 PD 点其实就是坏点,他造成了像素损失,会影响清晰度。原创 2022-12-25 13:07:05 · 2164 阅读 · 0 评论 -
A光下拍摄 24色块 ,raw 图异常问题
如下图所示,人眼可见光的光谱范围,约是400-700nm ,所以要符合人眼视觉的相机,也就是审美型的相机(如监控、手机、单反相机等),其光谱的响应范围都必须是400-700nm,否则呈现的颜色人眼就不可接受。如下是 imx335 sensor 的光谱响应图,可以看到 700nm 以后不可见光部分,sensor 也是有响应的,所以为了避免颜色失真,就会通过 IR 去过滤掉近红外部分的光线。回到上面的问题,为什么D65光源下拍摄的 raw 图正常,而 A 光下拍摄的 raw 图颜色会不正常呢?原创 2022-10-31 07:18:46 · 720 阅读 · 0 评论 -
如何修改 sensor 输出帧率
在项目中我们经常有修改 sensor 输出帧率的需求,目的可能是要通过降低帧率,来增加曝光时间,从而提升低照度下的图像质量、或者是通过降低帧率,来减少传输带宽、又或者是通过提高帧率,抓拍高速运动的物体等等。本文主要介绍的就是如何修改 sensor 的输出帧率。...原创 2022-08-28 10:31:59 · 3430 阅读 · 1 评论 -
Sensor 调试流程
“ 日常工作中, 我们拿到一款新 sensor,一般都是先点亮,再接着调试效果。但点亮及调试也是有流程的,需按流程一步步去完成才可以,此文总结一下 ,关于 sensor 从点亮出图到效果调试的一个大致流程 。如觉得文中哪里有问题,或者不清楚的地方,欢迎联系指出。”1、Sensor 调试流程2、准备材料确认主芯片规格支持的最大分辨率、mclk、mipi 速率上限、支持的lane数、 支持的raw图像位深、支持的raw图像类型(mono/rgb/rgbir)硬件原理图客户主板上调试,则需要客户提供主板原理图;原创 2022-07-02 21:22:45 · 4282 阅读 · 0 评论 -
什么是 CRA
前言:在镜头选型时,我们必须关注到的一项重要指标就是 sensor 和 lens 的 CRA 是否匹配,当 sensor 和 lens 的 CRA 不匹配时,就会导致luma shading 或者 colorshading 的出现,对后期成像的效果影响很大,本文主要介绍一下CRA 的概念。......原创 2022-06-19 11:44:18 · 3798 阅读 · 1 评论 -
关于 Sensor flicker/banding现象的解释
目录1、基本概念2、30fps, 1帧内banding过程演示3、30fps, 帧与帧之间banding过程演示4、25fps, 帧与帧之间banding过程演示5、总结flicker交流电网中的传输的能量并不是稳定不变的,而是随着一个固定频率变化的,这个频率一般被称为工频,例如中国是50Hz,美国是60Hz。工频由电力系统决定。 工频的带来的这种能量变化称为flicker。下面以50HZ为例进行解释,交流电以1/50s,即20ms的周期进行变化,其变化规律如图所示:而对于能量来说,并没有正负之分,因此能量原创 2022-06-04 09:37:31 · 5773 阅读 · 1 评论 -
Sensor bringup 中的一些问题总结
1、背景:一般我们在调试一款sensor 的效果时,首先要先把他点亮,也叫 sensor bringup,这部分工作大都由驱动工程师来完成,但有时也是需要tuning 工程师来做的,但其实如果顺利的化,在sensor驱动中配置好sensor setting,、i2c地址、sensor的chip_id,就可以出图了,但大多数情况下,往往不会那么顺利,会遇到很多的问题,这里总结一下,整个sensor bringup的流程,以及遇到的一些问题;2、Sensor bringup 流程:项目立项后,确原创 2022-05-28 22:36:44 · 2445 阅读 · 0 评论 -
关于摄像头模组中OTP配置概述
1、OTP功能概述1.1、定义:otp 只是 sensor 厂家预留的一小块存储空间,可以保存一些静态数据,所以叫 one time programmable memory。至于这块空间用不用,怎么用,则完全取决于产品需求,一般出货量较大,品质有一定要求的产品,otp都是必须要烧录的,如果最终出货量只有几百上千,为节约研发周期,一般就不要求烧录;1.2、作用:sensor otp 是用来保证每个sensor一致性的一些校准数据,一批sensor模组在生产时由于外部因素的影响,每个sens原创 2021-09-19 17:03:58 · 8594 阅读 · 2 评论 -
bringup sensor时,如何判断平台端能否支持
一、背景在tuning 工作前期,我们常接到的任务就是要求点亮一款新的sensor(也叫Bringup sensor),如下是bringup sensor的一个简单流程:1、先对照sensor datasheet,确认下sensor规格,看平台端能否支持;2、确认平台能支持后,向sensor 原厂申请sensor的启动参数;3、根据sensor datasheet要求,开始写sensor驱动,点亮sensor;二、bringup sensor时,如何判断平台端能否支持本文..原创 2021-07-06 21:40:11 · 805 阅读 · 1 评论 -
图像格式总结
本文主要讲一下常见的3种图像格式,RAW, RGB, YUV目录:1、RAW2、RGB3、YUV3.1、yuv定义3.2、采样格式3.3、存储格式1、RAWraw数据是sensor输出的原始数据,一般有raw8, raw10, raw12等,分别表示一个像素点有8bit、10bit、12bit数据。是sensor将光信号转化为电信号时的电平高低的原始记录,单纯地没有进行任何处理的图像数据,即摄像元件直接得到的电信号进行...原创 2021-06-11 08:42:06 · 7795 阅读 · 2 评论 -
关于sensor和isp,对输出图像作crop,downscale的注意事项
1、背景:客户要求调试ov的一款分辨率为4608x2592的Sensor,但目前我司的Soc最大支持分辨率是4096x3456,所有目前能出的最大分辨率为4096x2592(11M),客户要求是ISP要出两路视频流(11M+1080P),且不能有视场角(fov)的损失,1080P是作为显示的流,11M是用于拍照,所以基于这个需求,总结分析一下sensor/isp作crop,downscale的注意事项。“2、需求分析:这款Sensor支持不同尺寸分辨率的输出4608x2592、3840x2.原创 2021-04-23 23:22:03 · 4190 阅读 · 0 评论 -
相机分辨率越高,成像效果就一定越好嘛
目录1、背景:2、传感器像素数/尺寸/像素尺寸3、显示器的分辨率4、镜头分辨率/锐度5、镜头的光圈/像差6、镜头的口径/入射光线波长1、背景:拿监控摄像头来说,在工作当中经常会遇到很多人都有这样的认知,我500万像素的摄像头肯定比400万、300万、200万像素的摄像头,成像效果要好,内行一点的会知道在保证镜头一致的情况下,分辨率肯定是高像素的要优于低像素的,但其他方面就不一定了,其实影响成像效果的往往不仅限于像素数、镜头质量,还有其他很多方面的因素,本文的...原创 2021-04-11 21:43:59 · 3100 阅读 · 0 评论 -
一文读懂背照式CMOS图像传感器
目录前照式 CMOS背照式 CMOS背照式 CMOS 的重要发展历程背照式 CMO 的特点堆栈式 CMOS堆栈式 CMOS 的优点提到背照式 CMOS,相信很多朋友首先会联想到智能手机等小型影像记录设备。现在主流的手机的摄像头均采用了背照式和堆栈式两种类型的传感器。想要弄清楚背照式中“背”的含义,就必须要先了解传统 CMOS——前照式(FrontSide Illumination,缩写为 FSI)的结构。前照式 CMOSCMOS 是一个多层...转载 2021-03-13 21:53:27 · 7705 阅读 · 0 评论 -
CMOS Sensor内部结构及工作原理
1、Cmos sensor stack (以手机相机为例)2、sensor floorplan (平面构造图)3、光子(Photon)与量子效率(quantum efficiency)4、与量子效率QE有关的几个重要概念5、感光过程6、读取过程7、Sensor动态范围8、Sensor时序9、Noise in Sensor10、Crosstalk对 noise的影响1、Cmos sensor stack (以手机相机为例) ...原创 2020-11-03 21:12:31 · 13378 阅读 · 0 评论