美文网首页
【蜗牛黑板报】camera sensor基础知识

【蜗牛黑板报】camera sensor基础知识

作者: 技术是神奇的 | 来源:发表于2020-04-11 16:14 被阅读0次

1. 自动白平衡(AWB:auto white balance)

白平衡,字面上的理解是白色的平衡。

简单来说:白平衡电路自动调节红、绿、蓝增益,使得白色物体无论再任何光源下都呈现白色。

在不同的环境光照下,人类的眼睛可以把一些“白”色的物体都看成白色,是因为人眼进行了修正。但是SENSOR没有这种功能,因此需要对 SENSOR输出的信号进行 定的修正这就是白平衡处理技术

白平衡可以通过两种模式控制:自动模式和手动模式

自动模式:红、绿、蓝增益由自动白平衡电路控制

手动模式:红、绿、蓝增益由手动控制

2. 自动曝光控制(AEC:auto exposure control )

简单来说就是根据外界光线的强弱自动调整曝光量和增益,防止曝光过度或者不足的一种机制。

可见,AE的输入为当前影像的亮度值Y,输出为sensor的shutter time(曝光时间)、gain(增益),isp gain和Aperture Control (光圈控制)。AE algorithm得到当前帧的亮度后,便会与target Y做比较,然后计算出下一次需要调整的参数,以便让影像的亮度越来越接近target Y。

即设置一个target luma(目标亮度),同时实时统计出每一帧的cur luma(当前亮度)。AE的机制就是需要调整cur luma不断靠近target luma的过程;调整的手段通过往sensor不断写gain(增益)和shutter(曝光)参数。然后通过holdint time功能使AE稳定在target luma 附近。

注:target并非一个固定值,而是一个范围

3. 自动对焦(AF:auto focus)

4. banding(条纹)

banding产生的原因:

1. sensor采用行曝光的方式,并且每一行的曝光时间相同

2.如果在同等时间内每一行接收到的能量不一样就会出现banding

为什么每一行的曝光时间要变化?

1. 同等环境亮度情况下,曝光时间越长,图像的亮度越高

2. 环境的亮度变化,通过控制曝光时间使图像总是处于一个比较合适的亮度

5.频率和周期

频率(f):物质在1s内完成周期性变化的次数叫做频率,单位:Hz

周期(T):f=1/T

例:50Hz的频率,周期T = 1/50 = 0.02s = 20ms 

6.照度

illuminance: 描述一个光源落在一个物体表面多少光,即照度,单位lux

luminance: 描述一个光源发射或反射多少光,单位nit或cd/m2

7.RAW数据格式解析

Raw格式是sensor的输出格式,是未经处理过的数据,表示sensor接受 到的各种光的强度。

Raw数据在输出的时候是有一定的顺序的,一般为以下四种:

00: GR/BG

01:   RG/GB

10:   BG/GR

11:   GB/RG

为什么每种情况里有两个G分量呢?这时因为人的眼睛对绿色比较敏感,所以增加了对绿色的采样。其中每个分量代表一个piexl。所以GR/BG就代表四个piexl,在物理sensor上就表示4个晶体管,用一个晶体管只采样一个颜色分量,然后通过插值计算得到每个piexl,这样做的主要目的是降低功耗。

8.曝光三要素

曝光三要素:光圈大小、快门速度、感光度(ISO)。光圈就是指曝光瞬间开孔多大;快门速度就是指快门开启的时间;感光度是指图像传感器对光线的敏感程度。

1、光圈:

光圈是一个用来控制光线透过镜头,进入机身内感光面光量的装置,它通常是在镜头内。表达光圈大小用F值表示。对于已经制造好的镜头,我们不可能随意改变镜头的直径,但是我们可以通过在镜头内部加入多边形或者圆形,并且面积可变的孔状光栅来达到控制镜头通光量,这个装置就叫做光圈。

光圈F值=镜头的焦距/镜头通光直径(相对孔径的倒数)

例如:针对50mm的标准镜头而言,最大的通光直径为29.5mm,其最大光圈的计算值为50mm÷29.5mm=F1.7。

F值越大,光圈越小,反之,F值越小,光圈越大。

2、快门速度:

用时间表示。30s,15s,8s,4s,2s,1s,1/2  1/4  1/8   1/15   1/30  1/60    1/125    1/250   1/500   1/1000    1/2000.......

相邻的快门速度相差一档曝光量,数值上相差一倍。

简单的说就是:当你改变快门速度的同时也意味着改变了运动物体成像的方式(是否叠加)。快门速度越慢,运动物体越模糊;速度越快,运动物体越清晰。

3、ISO感光度:

国标表示ISO100   200    400   800  1600   3200   6400....

同样相邻的ISO相差一档曝光量,数值上相差一倍。

9.暗电流

暗电流(能极深处的电子因高热激发而产生)散粒噪声

以下待考证:

.dummy:

sensor中还有一个dummy:作用大概是保证每个器件的周围环境是一样的 防止工艺偏差降低性能。

dummy line是指一帧中的空白时间行,而dummy pixel则是指一行中的空白时间

dummy pixel为啥需要加入空白的,都是为了调整曝光,从而达到消除banding的目的

2a和2b是用于插dummy pixel的寄存器,写这两个寄存器可以改变行长(即一行中包含的pixel数),由于积分时间是以行为单位调节的,因此在AE调节的步长不变,系统时钟频率不变的情况下改变dummy pixel的插值,一定会造成图像出现flicker,因为行长改变之后相同的积分时间(以行为单位)对应的绝对时间也跟着改变,此时AE给出的积分时间可能就不是能量周期的整数倍,因而产生flicker;

92和93用于改变dummy line的值,插dummy line改变帧长,即一帧中包含的行数,插dummy line并不会改变积分时间的绝对时间,也不改变步长,除非场景较亮,AE调节积分时间到小于步长,否则不会出现flicker

1帧应该是包含dummy line的,对于同样的曝光时间,增加dummy line等于减少了曝光量,所以画面整体亮度都会被拉下来。

关于dummy line,你可以这样理解:dummy line的增加,会去分摊整个1个frame的曝光时间,这会造成active的部分入光量减少

举个例子吧:曝光时间1us,active部分分得80%,所以是0.8us;dummy部分0.2us,如果增加dummy line或者每个line中的dummy pixel,那dummy部分会增加,比如增加到0.3us,active就变成0.7us了。所以active部分受光量会减少。

.曝光:

sensor曝光都是逐行曝光,在国内,为了避免出现banding,曝光除了逐行曝光以外,还必须是10ms的整数倍

.主时钟MCLK和像素

MCLK是手机发出到摄像的时钟信号(系统时钟信号),PCLK是摄像头自己产生的时钟信号(像素时钟)

MCLK就是camera的时钟,PCLK是采样时钟

PCLK:pixel clock, used for MCU camera sensor controller to capture

each pixel.

MCLK:master clock for sensor logical chip.

HSYNC and VSYNC used for  MCU camera sensor controller to capture the pixels line by line and frame by fram

白平衡,字面上的理解是白色的平衡。用色彩学的知识解释,白色是指反射到人眼中的光线由于蓝、绿、红三种色光比例相同且具有一定的亮度所形成的视觉反应。白色光是由赤、橙、黄、绿、青、蓝、紫七种色光组成的,而这七种色光又是有红、绿、蓝三原色按不同比例混合形成,当一种光线中的三原色成分比例相同的时候,习惯上人们称之为消色,黑、白、灰、金和银所反射的光都是消色。通俗的理解白色是不含有色彩成份的亮度。人眼所见到的白色或其他颜色根物体本身的固有色、光源的色温、物体的反射或透射特性、人眼的视觉感应等诸多因素有关,举个简单的例子,当有色光照射到消色物体时,物体反射光颜色与入射光颜色相同,既红光照射下白色物体呈红色,两种以上有色光同时照射到消色物体上时,物体颜色呈加色法效应,如红光和绿光同时照射白色物体,该物体就呈黄色。当有色光照射到有色物体上时,物体的颜色呈减色法效应。如黄色物体在品红光照射下呈现红色,在青色光照射下呈现绿色,在蓝色光照射下呈现灰色或黑色。

由于人眼具有独特的适应性,有时候不能发现色温的变化。比如在钨丝灯下呆久了,并不会觉得钨丝灯下的白纸偏红,如果突然把日光灯改为钨丝灯照明,就会觉查到白纸的颜色偏红了,但这种感觉也只能够持续一会儿。摄像头并不能像人眼那样具有适应性,所以如果摄像机的色彩调整同景物照明的色温不一致就会发生偏色。白平衡就是针对不同色温条件下,通过调摄像头内部的色彩电路使拍摄出来的影像抵消偏色,更接近人眼的视觉习惯。白平衡也可以简单地理解为在任意色温条件下,摄像头所拍摄的标准白色经过电路的调整,使之成像后仍然为白色。

相关文章

网友评论

      本文标题:【蜗牛黑板报】camera sensor基础知识

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