在了解如何调试前,首先需要对相机有一些基本认识,这里从网上总结了相关描述。
物理结构
- FPC: Flexible Printed Circuit 可挠性印刷电路板
- Sensor:图象传感器
- IR:红外滤波片
- Holder:基座
- Lens:镜头
成像原理
景物通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为模拟的电信号,经过 A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过 IO 接口传输到 CPU 中处理,通过 LCD 就可以看到图像了。
图像传感器(SENSOR)是一种半导体芯片,其表面包含有几十万到几百万的光电二极管。光电二极管受到光照射时,就会产生电荷。目前的SENSOR类型有两种:
- CCD(Charge Couple Device),电荷耦合器件,它是目前高像素类sensor中比较成熟的成像器件,是以一行为单位的电流信号。
- CMOS(Complementary Metal Oxide Semiconductor),互补金属氧化物半导体。CMOS的信号是以点为单位的电荷信号,更为敏感,速度也更快,更为省电。
ISP 的性能是决定影像流畅的关键,JPEG encoder 的性能也是关键指标之一。而 JPEG encoder又分为硬件JPEG压缩方式和软件RGB压缩方式。
DSP控制芯片的作用是:将感光芯片获取的数据及时快速地传到baseband中并刷新感光芯片,因此控制芯片的好坏,直接决定画面品质(比如色彩饱和度、清晰度)与流畅度。
图像数据输出格式
常见的数据输出格式有:Raw data格式、YUV格式、RGB格式。
- RGB格式:采用这种编码方法,每种颜色都可用三个变量来表示红色、绿色以及蓝色的强度。每一个像素有三原色R红色、G绿色、B蓝色组成。
- YUV格式:其中“Y”表示明亮度(Luminance或Luma),就是灰阶值;而“U”和“V”表示色度(Chrominance或Chroma),是描述影像色彩及饱和度,用于指定像素的颜色。
- RAW DATA格式:是CCD或CMOS在将光信号转换为电信号时的电平高低的原始记录,单纯地将没有进行任何处理的图像数据,即摄像元件直接得到的电信号进行数字化处理而得到的。
支持YUV/RGB格式的模组,一般会在模组上集成ISP(Image Single Processor),经过A/D转换过的原始数据经过ISP处理生成YUV标准格式传到BB。一般来说,这种设计适用于低像素Camera的要求,会在主板上省去一个DSP,可降低成本。在调试过程中,YUV/RGB格式的摄像头,其所有参数都可在kernel层通过寄存器来控制。调试一般由sensor的原厂支持。
支持RawData格式的模组,由于感光区域的需求,不会再模组内集成ISP以最大程度的增大感光区域的面积,提高照片质量。模组把原始的数字信号传给BB上的DSP进行处理,MTK自带的DSP一般包含ISP、JPEG encoder和DSP控制芯片。在调试的时候图像的效果需要MTK在HAL层的参数进行支持。
LED Flash(闪光灯)
LED Flash利用发光二极管取代一般相机的xenon flash,可对主体进行补光;和xenon最大的差异在于LED Flash可以做到长时间发光,若使用低电流,甚至可以持续发光。
(一)闪光灯模式
LED Flash使用模式可以分为Flash Mode(闪光灯,辅光较强,时间较短)和Torch Mode(手电筒,辅光较弱,持续发光)。
(二)MTK闪光过程
Pre-Flash的目的为测光,时间较长,强度较弱,使用15帧。
Main-Flash的目的为辅光,时间较短,强度较强,使用2帧。
Pre-Flash和Main-Flash的强度比例需要校准(MTK提供)。
(三)MTK保护机制
由于Main-Flash的作用时间有最大值的限制,因此MTK加入了Flash保护机制。
假设:
T:原本曝光时间
R:Flash限制曝光时间
S:原本ISO
Sn:最终ISO
Tn:最终曝光时间
如果:
T>R
那么(提高ISO来补偿少掉的曝光时间):
Sn = S*T/R
Tn = R
否则(保持ISO和曝光时间):
Sn = S
Tn = T