外部光线穿过镜头Lens 后, 经过 Color Filter 滤波后照射到CMOS Sensor 上, CMOS Sensor 将从 Lens 上传导过来的光线转换为电信号,再通过内部的AD模数转换,转换为数字信号。如果 Sensor 没有集成 DSP(数字信号处理),则通过 DVP(数字视频端口) 的方式传输到 基带Baseband上,此时的数据格式是 RAW DATA。如果集成 了 DSP, RAW DATA 数据经过 AWB、 则 Color Matrix、 Lens Shading、 Gamma、 Sharpness、 AE 和 De-noise 处理,后输出 YUV 或 RGB 格式的数据。
最后会由 CPU 送到 framebuffer 中进行显示,这样我们就看到 camera 拍摄到的影像了
Camera 工作原理举例:
程序员Android 转于网络
Camera 模组主要包含 镜头Lens、传感器Sensor 、软硬结合板FPC、ISP图像处理器,音圈马达VCM等 。
Camera 模组举例:
程序员Android 转于网络
缩写 | 全文 | 备注 |
---|---|---|
CMOS | Complementary Metal-Oxide-Semiconductor | 互补金属氧化物半导体 |
ISP | Image Singal Process | 图像信号处理 |
DSP | Digital Signal Processing | 数字信号处理 |
DVP | Digital Video Port | 数字视频端口 |
IFE | Image front-end Engine | 图像前端引擎 |
BPS | Bayer Processing Segment | Bayer 处理阶段 |
IPE | Image-processing engine | 图像处理引擎 |
NPS | Noise Processing Segment | 降噪处理阶段 |
PPS | Post Processing Segment | 滤波处理阶段 |
AE | Auto Exposure | 自动曝光 |
TE | Time Exposure | 曝光时间 |
AF | Auto Focus | 自动对焦 |
AWB | Auto White Balance | 自动白平衡 |
IQ | Image Quality | 效果相关的图像质量 |
DPC | Defect pixel Correction | 坏点校正 |
BLC | Black Level Correction | 黑电平校正 |
Demosaic | Demosaic | 去马赛克 |
Bokeh | Bokeh | 人像虚化,焦外成像 |
ASF | Adaptive Spatical Filter | 边缘锐化 |
CAC | Chromatic Aberrations Correction | 去紫边 |
FBC | Frame Buffer Compressed | 帧缓冲压缩 |
CPAS | Camera Peripheral And Support | 相机外设 |
CSID | Camera Serial Interface Decoder Module | 相机串行接口解码器 |
CCI | Camera control interface | 相机控制界面 |
VPU | Video Processing Unit | 视频编解码处理单元 |
DPU | DisplayProcessing Unit | 显示处理单元 |
HDR | High-Dynamic Range | 高动态范围 |
LSC | Lens Shading Correction | 校正Lens 中间亮四周暗 |
CDAF | Contrast Detection Auto Focus | 反差对焦 |
PDAF | Phase Detection Auto Focus | 相位对焦 |
LDAF | Laser Detection Auto Focus | 激光对焦 |
AE 自动曝光
根据可用光源调节自动设置曝光值,避免找错主体拍摄时候过曝或曝光不足,主要有光圈 、曝光时间、感光度ISO三者共同决定。
AF 自动对焦
通过对既得图像对比度移动镜头,使图像对比度达到最大
AWB 自动白平衡
根据光源条件调节调整图片颜色的保真程度,避免物体在不同光线照射下出现不同程度的色差。
CDAF Contrast Detection Auto Focus 反差对焦
反差对焦是目前普及率最高、使用最广泛、成本相对较低的自动对焦技术,也称对比度对焦。
对焦的过程就是通过移动镜片来使对焦区域的图像达到最清晰的过程,所以对焦成功以后,直观的感受就是焦点的清晰度最高,而焦点以外的区域表现为相对模糊的状态。
采用反差对焦的相机,当我们对准被摄物体时,镜头模组内的马达便会驱动镜片从底部向顶部移动,在这个过程中,像素传感器将会对整个场景范围进行纵深方向上的全面检测,并持续记录对比度等反差数值。找出反差最大位置后,运动到顶部的镜片则会重新回到该位置,完成最终的对焦。
所以使用反差对焦的手机在拍照过程中,如果取景框中的物体位置、内容发生了变动,我们的肉眼就可以观察到屏幕上的内容由模糊到清晰再到模糊的过程,有一种镜片在前后推拉的直观感受。
因为反差对焦的工作方式是进行对比度检测,因此相机镜片必须要前后移动完整记录所有的图像信息,然后计算对比度最高的位置,才能最终完成对焦。所以反差对焦的一个主要缺点就是耗费的时间较长
由于取消了之前的检测过程,且镜片马达需要移动的距离更短,对焦速度明显变快,在画面上也不会有来回对焦的情况,对于拍视频而言,效果也更加自然。不过,相位对焦并不是那么完美,它对光线的要求就比较高,在弱光拍摄环境下,相位对焦就无能威力了。
激光对焦技术对于微距、弱光环境以及反差不够明显的区域,效果显著,能够有效提高手机在这些情况下的对焦成功率,只是在对焦速度上,激光对焦比较一般。而在光线正常的条件下,激光对焦的速度和相位对焦一样非常之快
YUV Sensor输出的Data格式为YUV,图像的效果处理使用Sensor内部的ISP,BB端接收YUV格式的data后只进行格式的转换,效果方面不进行处理,由于Sensor内部的ISP处理能力有限,且YUV Sensor的数据量比较大(YUV422的格式1个pixel2个byte),一般Size都比较小,常见的YUV sensor都是5M以下
Raw Sensor输出的Data格式为Raw,图像的效果处理使用BB端的ISP,BB端接收Raw data后进行一系列的图像处理(OB,Shading,AWB,Gamma,EE,ANR等),效果方面由BB端控制,需要针对不同的模组进行效果调试,Raw sensor是目前的主流,数据量比YUV Sensor小(RAW10 格式的sensor 1个pixel 10个bit)使用平台ISP处理,能支持较大的size
ps:
还有一个VCAM_AF 是对Camera 自动对焦马达供电
I2C信号
BB与Sensor端通过I2C来通信(读写寄存器),包括SCL(I2C Clock) SDA(I2C Data)信号
mipi几条lane
mipi data是成对的差分信号,MIPI_RDN和MIPI_RDP,有几对这样的pin脚,则说明是几条lane,同一颗sensor由于register setting不同,输出的信号有可能是2 lane或者4lane等
Data Format
Sensor输出的数据格式,对于YUV Sensor来说,Data Fomat一般有YUYV,YVYU,UYVY等,配置不对可能会导致颜色和亮度错掉,例如下图
程序员Android 转于网络
MCLK
BB提供给Sensor的外部clock
Parallel接口的Sensor输出的clock,该clock变化一次,data更新一次
mipi信号包括mipi clock和mipi data,该信号是高速信号,用来传输mipi数据包