本文档是对camera相关知识学习的总结、笔记,参考了网络上很多资料,并将觉得有用、持续价值的整理成本文档
下面是一张sensor的模块图
光线通过镜头Lens进入摄像头内部,然后经过红外滤光片过滤红外光,最后到达sensor(传感器),senor分为按照材质可以分为CMOS和CCD两种,可以将光学信号转换为电信号,再通过内部的ADC电路转换为数字信号,然后传输给DSP/ISP(如果有的话,如果没有则以DVP/MIPI的方式传送数据到CPU端,CPU端集成DSP,此时的数据格式Raw Data,后面有讲进行加工)加工处理,转换成RGB、YUV等格式输出。
sensor是摄像头的核心,负责将通过Lens的光信号转换为电信号,再经过内部AD转换为数字信号。每个pixel像素点只能感受R、G、B中的一种,因此每个像素点中存放的数据是单色光,所以我们通常所说的30万像素或者130万像素,表示的就是有30万或130万个感光点,每个感光点只能感应一种光,这些最原始的感光数据我们称为RAW Data。Raw Data数据要经过ISP(应该理解为Image Sensor Processor,是Sensor模块的组成部分,下面有解释)的处理才能还原出三原色,也就是说如果一个像素点感应为R值,那么ISP会根据该感光点周围的G、B的值,通过插值和特效处理等,计算出该R点的G、B值,这样该点的RGB就被还原了,除此之外,ISP还有很多操作,下面有介绍。
目前常用的sensor有两种,一种是CCD(电荷耦合)原件;一种是CMOS(金属氧化物导体)原件。
CCD(Charge Coupled Device),电荷耦合器件传感器:使用一种高感光度的半导体材料制成,能把光线转变成电荷,通过模数转换器芯片转换成电信号。CCD由许多独立的感光单位组成,通常以百万像素为单位。当CCD表面受到光照时,每个感光单位都会将电荷反映在组件上,所有的感光单位产生的信号加在一起,就构成了一幅完整的图像。
CMOS(Complementary Metal-Oxide Semiconductor),互补性氧化金属半导体:主要是利用硅和锗做成的半导体,使其在CMOS上共存着带N(-)和P(+)级的半导体,这两个互补效应所产生的电流可以被处理芯片记录并解读成影像。
DSP是CCM(camera compact module 摄像头模组)的重要组成部分,它的作用是将感光芯片获得的数据及时地快速地传递到CPU并刷新感光芯片,因此DSP芯片的好坏,直接影响画面品质,如:色彩饱和度、清晰度、流畅度等。如果sensor没有集成DSP,则通过DVP/MIPI的方式传输到baseband芯片中(可以理解为外挂DSP),进入DSP的数据是RAW Data,采集到的原始数据。如果集成了DSP,则RAW Data会经过AWB、color matrix、lens shading、gamma、sharpness、AE和de-noise处理,最终输出YUV或者RGB格式的数据。如图2-1所示,ISP(Image Sensor Processor,不是Image Signal Processor)部分中使用的就是DSP来处理Image sensor的输出数据(Raw Data)
上面一段内容感觉较为混乱,逻辑不够清晰,查阅相关资料,认为下面对DSP、ISP描述更为准确
ISP 是Image Signal Processor 的简称,也就是图像信号处理器。而DSP是Digital Signal Processor 的缩写,也就是数字信号处理器。ISP一般用来处理Image Sensor(图像传感器)的输出数据,如做AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black Level、Auto White Level 等等功能的处理。
DSP可以做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他方面的处理,总之是处理数字信号了。DSP一般对ISP输出的YUV、RGB数据进行处理。
sensor中是否集成ISP、DSP跟具体的厂商、sensor型号有关,ISP、DSP的具体功能参考sensor手册。
DVP是并口,需要PCLK、VSYNC、HSYNC、D[0:11]——可以是8/10/12bit数据,看ISP或baseband是否支持
MIPI是LVDS,低压差分串口。只需要要CLKP/N、DATAP/N——最大支持4-lane
MIPI接口比DVP的接口信号线少,由于是低压差分信号,产生的干扰小,抗干扰能力也强,传输速度快。最重要的是DVP接口在信号完整性方面受限制,速率也受限制。500W还可以勉强用DVP,800W及以上都采用MIPI接口
DVP总线PCLK极限大约在96M左右,而且走线长度不能过长,所有DVP最大速率最好控制在72M以下
MIPI总线速率随便就几百M,而且是lvds接口耦合,走线必须差分等长,并且注意保护,故对PCB走线以及阻抗控制要求高一点。
使camera正常工作的关键引脚:AVDD(通常用2.8V) DVDD(通常用1.8V) DOVDD(通常用2.8V)等电源引脚、MCLK模组工作时钟、PWN(powerdown)、RST(复位)。这些引脚的工作顺序要求
第一:各种电源供电正常、MCLK输入camera工作要求频率
第二:PWN完成后,切换到正常工作模式
第三:复位
第四:I2C读写
RST:用来reset sensor;RESET一般是低有效,当脉冲为低时,reset sensor,而正常工作时,应该为高。复位时序时序通常是: 高 –> 低 –> 高,根据硬件需要加一定的延时
PWN:PWN一般高有效,当脉冲为高时,进入省电模式,而正常工作时为低。高电平时,一切对camera的操作都是无效的,包括复位。所以在RST之前,一定要将PWN管脚设置为正常工作模式,否则复位无效。
sensor常用输出图像格式有下面四种
常用的输出格式就是YUV、RGB格式,RAW DATA一般专业摄像师用多。
注意:
YUV一个像素占2B,如果像素太大,在高时钟下基带芯片处理不过来,JPEG数据量就要小很多,因为基带芯片对输出数据的速率有要求,所以基带芯片低时钟下使用YUV sensor,高时钟下使用JPEG sensor。如果直接输出RGB,对于LCD显示是最方便的,但是大多数基带芯片都是要求输出为YUV格式的数据再进行处理,这是因为YUV输出数据的亮度信号没有任何损失,而色偏信号人眼并不是特别敏感,RGB565输出格式是R5G3 G3B5,会丢失很多原始信息,所以YUV图像质量和稳定性要比RGB565好的多。因此,很低端的基带芯片上才会输出RGB565格式。
Raw和JPEG的区别:
Raw优点:
1. Raw格式文件本质上是一个没有经过任何图像处理的源文件,它能原原本本地记录相机拍摄的信息,没有经过图像处理(锐化、色彩对比增强)和压缩而造成的信息丢失。相比之下,JPEG格式的数据经过压缩处理,无法完整的保存原图形的所有数据。
2. Raw是一种专业摄影师常用的格式,因为它能原原本本地保存信息,让用户能大幅度进行后期制作,并且无论怎么操作,照片都能无损的恢复到最初状态;但是JPEG就弱了些,虽然因为PS等技术的发展,也可以在JPEG上进行后期制作,但是如果做大幅度的调整还是Raw文件比较合适。
可以用专门的软件修正摄像机的不足,比如佳能DPP软件可以修正镜头失光、变形等。
Raw缺点:
1. 存储数据量太大,JPEG就小很多
2. 需要专门的软件来打开,JPEG几乎所有的PC都可以直接打开
3. 打开速度较慢,JPEG较快
4. 不同的软件有不同的方式去演绎RAW文件,所以在不同的软件上会有细微的差别。
5. 厂商卖的专用软件价格较高,而这方面JPEG几乎无成本
参考
skipping模式就是过滤掉特定行列的数据,留下特定条件部分数据;而binning模式就是把相邻的像素合成一个像素。这样一来,图像的分辨率减小了,数据量变小,可以提高camera的帧率。