本文转自http://blog.csdn.net/xubin341719/article/details/7723725
自己修改了一下;
里面讲的东西都比较基础;
摄像头模组,全称Camera Compact Module,以下简写为CCM,是影像捕捉至关重要的电子器件。先来张特写,各种样子的都有。
(1)、工作原理:光通过镜头(lens)聚集的光,通过CMOS或CCD集成电路,把光信号转换成电信号,再经过内部图像处理器(ISP)转换成数字图像信号输出到数字信号处理器(DSP)加工处理,转换成标准的RGB、YUV等格式图像信号。
(2)、CCM 包含四大件: 镜头(lens)、传感器(sensor)、软板(FPC)、图像处理芯片(DSP)。决定一个摄像头好坏的重要部件是:镜头(lens)、图像处理芯片 (DSP)、传感器(sensor)。CCM的关键技术为:光学设计技术、非球面镜制作技术、光学镀膜技术。
镜头(lens)是相机的灵魂,镜头(lens)对成像的效果有很重要的作用,是利用透镜的折射原理,景物光线通过镜头,在聚焦平面上形成清晰的影像,通过感光材料CMOS或CCD感光器记录景物的影像。镜头厂家主要集中在台湾、日本和韩国,镜头这种光学技术含量高的产业有比较高的门槛,业内比较知名的企业如富士精机、柯尼卡美能达、大立光、Enplas等
传感器(sensor)是CCM的核心模块,目前广泛使用的有两种:一种是广泛使用的CCD(电荷藕合)元件;另一种是CMOS(互补金属氧化物导体)器件。
电荷藕合器件图像传感器CCD(Charge Coupled Device),它使用一种高感光度的半导体材料制成,能把光线转变成电荷,通过模数转换器芯片转换成数字信号。CCD由许多感光单位组成,通常以百万像 素为单位。当CCD表面受到光线照射时,每个感光单位会将电荷反映在组件上,所有的感光单位所产生的信号加在一起,就构成了一幅完整的画面。CCD传感器模块以日本厂商为主导,全球规模市场有90%以上被日本厂商垄断,以索尼、松下、夏普为龙头。
互补性氧化金属半导体CMOS(Complementary Metal-Oxide Semiconductor)主要是利用硅和锗这两种元素所做成的半导体,使其在CMOS上共存着带N(带–电)和 P(带+电)级的半导体,这两个互补效应所产生的电流即可被处理芯片纪录和解读成影像。CMOS 传感器主要美国、台湾和韩国为主导,主要生产厂家有美国 OmniVision、Agilent、Micron,台湾的锐像、原相、泰视等,韩国的三星、现代。
图像处理芯片(DSP)是CCM的重要组成部分,它的作用是将感光芯片获得的数据及时快速地传递中央处理器并刷新感光芯片,因此DSP芯片的好坏,直接影响画面品质(比如色彩饱和度,清晰度等)。
图像处理(isp)——(Image Signal Processor)——影视处理 无论数码相机、摄像机或者摄像手机,其影像数据从前端感应后,皆须经过ASP(Analog Signal Processing)、ADC(Analog-Digital Converter)、前期影像处理(Pre-ISP)与后端影像处理(Post-ISP)四个阶段后,影像数据才能最终呈现于终端设备上
FPC柔性电路板(柔性PCB): 简称"软板", 又称"柔性线路板",连接芯片和手机。起到电信号传输作用。
3、camera模组的装配方式
(1)、定焦模组装配图
CCM分为定焦模组和自动变焦模组,其中定焦模组主要由镜头、镜座、感光集成电路、软性线路板、补强和钢片装配而成,其装配图如下:
(2)、自动变焦模组装配图
以前我不知道手机上的光学变焦是怎么会事,以为那些都是忽悠人的,看这个图这下明白了,如果你也不知道,看下这个图,原来里面有个音圈马达,这个只有高像素的模组才有,这个我们不用管,知道怎么光学变焦就可以了。
自动变焦模组由镜头、音圈马达、底座支架、感光集成电路、驱动集成电路和连接器组成,其装配图如下:
1)、图像格式(imageFormat/Colorspace)
RGB24,420是目前最常用的两种图像格式。
说道RGB24,不得不提一下RGB。
RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,
RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。RGB图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现16777216(256 * 256 * 256)种颜色。
(2)、自动白平衡调整(AWB)
定义:要求在不同色温环境下,照白色的物体,屏幕中的图像应也是白色的。色温表示光谱成份,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例会发生变化,需要调节三基色的比例来达到彩色的平衡,这就是白平衡调节的实际。
(3)、图像压缩方式
BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。
BMP图像,即通常所说的位图(Bitmap),是Windows系统中最为常见的图像格式。Windows 3.0以前的版本只支持与设备相关位图DDB(Device Dependent Bitmap)。DDB是一种内部位图格式,它显示的图像依计算机显示系统的设置不同而不同,因此一般不存储为文件,与通常所说的BMP图像不同。在Windows.h中,结构体BITMAP定义了DDB位图的类型、宽度、高度、颜色格式和像素位值等,代码如下:typedef struct tagBITMAP
{int bmType; //位图类型,必须设为0
int bmWidth; //位图宽度
int bmHeight; //位图高度
int bmWidthBytes; //位图中每一扫描行中的字节数
BYTE bmPlanes; //颜色层数
BYTE bmBitsPixel; //每一像素所占的位数
void FAR* bmBits; //存放像素值内存块的地址}BITMAP;
DDB中不包括颜色信息,显示时是以系统的调色板为基础进行像素的颜色映射的。Windows只能保证系统调色板的前20种颜色稳定不变,所以DDB只能保证正确显示少于20色的位图。Windows SDK提供标准的DDB位图操作函数;MFC中定义了CBitmap类来说明DDB位图,其中封装了与DDB位图操作相关的数据结构和函数。
Windows 3.1以上版本提供了对设备无关位图DIB(Device Independent Bitmap)的支持。DIB位图可以在不同的机器或系统中显示位图所固有的图像。相对于DDB而言,DIB是一种外部位图格式,经常存储为常见的以BMP为后缀的位图文件(有时也以DIB为后缀)。因此,通常所说的BMP图像,即是DIB位图。
BMP位图文件包括4部分,即位图文件头结构BITMAPFILEHEADER、位图信息头结构BITMAPINFOHEADER、位图颜色表RGBQUAD和位图像素数据,BMP位图文件的结构如图1.1所示。
位图文件头结构BITMAPFILEHEADER
位图信息头结构BITMAPINFOHEADER
位图颜色表RGBQUAD
位图像素数据
图1.1 BMP位图文件的结构
下面介绍BMP文件头、BMP位图信息头、颜色表这3个结构体在Windows.h中的定义。
1. BMP文件头BMP文件头含有BMP文件的类型、文件的大小、位图文件的保留字、位图数据距文件头的偏移量等信息。定义如下:
typedef struct tagBITMAPFILEHEADER
{UINT bfType; //位图文件的类型,必须为BM
DWORD bfSize; //位图文件的大小,以字节为单位
UINT bfReserved1; //位图文件保留字,必须为0
UINT bfReserved2; //位图文件保留字,必须为0
DWORD bfOffBits; //位图数据距文件头的偏移量,以字节为单位} BITMAPFILEHEADER;
2. BMP位图信息头BMP位图信息头用于说明位图的尺寸等信息,定义如下:
typedef struct tagBIMAPINFOHEADER
{WORD biSize; //本结构所占用字节数
LONG biWidth; //位图的宽度,以像素为单位
LONG biHeight; //位图的高度,以像素为单位
WORD biPlanes; //目标设备的级别,必须为1
WORD biBitCount; //每个像素所需的位数,必须是1(双色)、
//4(16色)、8(256色)或24(真彩色)之一
DWORD biCompression; //位图压缩类型,必须是 0(不压缩)、
//1(BI_RLE8压缩类型)或2(BI_RLE压缩类型)之一
DWORD biSizeImage; //位图的大小,以字节为单位
LONG biXPelsPerMeter; //位图水平分辨率,每米像素数
LONG biYPelsPerMeter; //位图垂直分辨率,每米像素数
DWORD biClrUsed; //位图实际使用的颜色表中的颜色数
DWORD biClrImportant; //位图显示过程中重要的颜色数} BITMAPINFOHEADER;
3. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,且定义一种颜色,定义如下:
typedef struct tagRGBQUAD
{BYTE rgbBlue; //蓝色的亮度(值范围为0~255)
BYTE rgbGreen; //绿色的亮度(值范围为0~255)
BYTE rgbRed; //红色的亮度(值范围为0~255)
BYTE rgbReserved; //保留,必须为0} RGBQUAD;
位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:
typedef struct tagBITMAPINFO
{BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[i];} BITMAPINFO;
颜色表中RGBQUAD结构数据的个数由biBitCount来确定,当biBitCount=1、4、8时,分别有2、16、256个表项;当biBitCount=24时,没有颜色表项。
位图数据记录了位图的每一个像素值,记录顺序是在扫描行内从左到右、扫描行之间从下到上。位图的一个像素值所占的字节数如下:
l 当biBitCount=1时,8个像素占1个字节。
l 当biBitCount=4时,2个像素占1个字节。
l 当biBitCount=8时,1个像素占1个字节。
l 当biBitCount=24时,1个像素占3个字节。
Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充,一个扫描行所占的字节数计算方法如下:
DataSizePerLine=(biWidth×biBitCount+31)/8
这是本设计中的一个关键点,无论对图像进行何种变换,都要进行扫描行的4字节对齐。
除了上述的Windows BMP以外,还有一种与其结构相似,但不完全相同的另一种BMP图像,即OS/2采用的BMP。其与Windows BMP的主要区别是位图信息结构(信息头结构和颜色表结构)不同。而它们的图像位数据的存储方式是完全一样的。本设计只讨论Windows系统下的BMP图像,故对OS/2使用的BMP不进行详细分析。
(4)、彩色深度(色彩位数)
反映对色彩的识别能力和成像的色彩表现能力,实际就是A/D转换器的量化精度,是指将信号分成多少个等级。常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。现在市场上的摄像头均已达到24位,有的甚至是32位
(5)、图像噪音
指的是图像中的杂点干挠。表现为图像中有固定的彩色杂点。
(6)、视角
与人的眼睛成像是相成原理,简单说就是成像范围。
(7)、输出/输入接口
串行接口(RS232/422):传输速率慢,为115kbit/s
并行接口(PP):速率可以达到1Mbit/s
红外接口(IrDA):速率也是115kbit/s,一般笔记本电脑有此接口
通用串行总线USB:即插即用的接口标准,支持热插拔。USB1.1速率可达12Mbit/s,USB2.0可达480Mbit/s
IEEE1394(火线)接口(亦称ilink):其传输速率可达100M~400Mbit/s