>> 您的位置:首页 > 技术与创新 > 视频监控 > 正文
基于CMOS芯片的彩色图像采集处理系统设计与实现
2016/11/8 10:23:00      来源:中国安防    作者:赵誉婷、 姜玲玲 公安部第一研究所
本文提出了一种基于CMOS芯片MT9V034与DM642的彩色图像采集处理系统,文中介绍了系统的基本原理,在硬件设计方面介绍了CMOS和DM642之间的硬件连接方式,用McBSP实现UART的方法和布局布线注意事项;在软件设计方面着重介绍了Bayer格式数据的双线性插值以及白平衡和颜色矫正处理等,而从得到了真实的彩色图像。该系统实现了彩色图像的实时采集与处理。

摘要本文提出了一种基于CMOS芯片MT9V034DM642的彩色图像采集处理系统,文中介绍了系统的基本原理,在硬件设计方面介绍了CMOSDM642之间的硬件连接方式,用McBSP实现UART的方法和布局布线注意事项;在软件设计方面着重介绍了Bayer格式数据的双线性插值以及白平衡和颜色矫正处理等,而从得到了真实的彩色图像。该系统实现了彩色图像的实时采集与处理。

关键词 CMOS DM642  MT9V034  Bayer  双线性插值

引言

当前市场上,工业相机的图像传感器共两种:CCD和CMOS。相比于CCD,CMOS具有高帧率、高分辨率、低功耗、动态性能高等固有特点,且随着技术日益进步,其信噪比、量子转换率,彩色性能得到了大幅提高,且CMOS芯片价格较低,具有极高的性价比。CMOS技术毫无疑问将是未来发展的趋势。世界上最大的CCD传感器芯片供货商SONY已宣布到2025年将不再生产CCD传感器,完全专注于CMOS技术。本文介绍了一种基于CMOS芯片的彩色图像采集处理系统,CMOS芯片采用Aptina公司的MT9V034,处理器采用TI达芬奇芯片TMS320DM642,其内部运行有基于彩色信息的图像处理算法,CMOS采集的图像用于图像处理算法的输入。

一、系统基本原理与构成

系统基本原理如图1所示,CMOS芯片与DM642采用Raw Capture模式连接,DM642通过I2C接口对CMOS芯片进行寄存器配置读写操作。系统扩展两片SDRAM芯片作为运行内存,FLASH用来保存系统程序。DM642通过RS232串口方式将算法运行结果发送给上位机,同时接收来自上位机的命令。DM642本身没有原生UART串口,这里我们使用McBSP串口来模拟UART串口。

 


二、系统硬件设计

1.CMOS与DM642的连接

DM642共有三个可配置视频端口,它们可配置为视频捕捉模式,视频显示模式或者传输流接口TSI捕捉模式。每个端口由两个通道组成。视频端口可通过配置以便支持多种视频标准。当被配置为视频捕捉模式时,每个视频端口可以作为两个视频捕捉通道使用,其中每个通道可支持8/10位BT656或者RAW视频数据格式;也可以作为一个视频捕捉通道,可以支持8/10位BT656、8/10位RAW视频、16/20位Y/C视频、16/20位RAW视频或8位TSI等数据格式。本文使用了VP2端口,将其配置为单通道8位RAW视频捕捉模式。MT9V034芯片的寄存器地址为8位,寄存器数据为16位。DM642通过I2C串口可对MT9V034的寄存器进行参数控制,如图像分辨率、行场消隐、快门宽度等。MT9V034与DM642之间的硬件连接关系如图2所示。


2.UART的硬件实现

UART由于其操作简单、工作可靠、抗干扰强等特点,在嵌入式系统得到广泛应用。DM642没有原生UART接口,但是具有功能强大的McBSP接口,通过简单修改串口控制寄存器,可以实现UART功能接口,常规有两种做法:串口模式和通用输入输出模式。本文采用了串口模式。DM642与串口电平转换(TTL-UART)芯片MAX3232的连接关系如图3所示。DM642将每个UART位作为一个16比特字,即UART的位“0”在McBSP中即为0x0000,而UART的位“1”在McBSP中即为0xFFFF。实际编程处理中,为增加对噪声的干扰能力我们加权处理了16比特字中间位数据。


3.布局布线注意事项

SDRAM数据总线运行速度在133MHz上,数据总线宽度64位,其快斜率瞬变和极高的工作频率,使得系统表现出与低速设计截然不同的行为,出现了信号完整性问题。实现布局布线中DM642与SDRAM之间的走线是保证信号完整性的关键,一方面要尽量使其数据总线走线长度基本相同;另一方面还要使它们之间的走线长度尽量短,即要使SDRAM尽可能地靠近DM642放置。采用多层板既是布线所必须的,也是降低干扰的有效手段。另外,解决信号完整性问题的基本思路是阻抗匹配问题,而影响阻抗匹配的因素有信号源的架构、输出阻抗、走线的特性阻抗、负载端的特性、走线的拓扑结构等,所以解决信号完整性问题的方式是靠端接电阻与调整走线的拓扑。

三、系统软件设计

1.Bayer到RGB数据格式转换

彩色图像通常由三种颜色组合生成,最常用的就是红绿蓝(RGB)三色。但是基于成本的考虑,大多数芯片在单像素位置上只会有单一颜色感应器。最普遍使用到的色彩滤波阵列(CFA)为Bayer阵列。Bayer阵列中50%像素为绿色,红色和蓝色各占25%。这主要是因为人眼对绿色最敏感。MT9V034采用的Bayer阵列如图4所示。

 

    为了将图像数据从Bayer阵列格式转换为RGB阵列格式,我们需要对每个像素位置进行插值,生成另外两个缺少的颜色。常见的插值方法有:最邻近插值、双线性插值、三次插值、三次样条插值等。本文采用的方法是双线性插值方法。

绿色插值

绿色像素插值取上下左右四个像素的均值,如G10=(G2+G9+G11+G18)/4。

红色插值

红色像素分两种情况,在蓝色像素位置,红色插值取四个对角红色像素的均值,如在蓝色像素B19位置,R19=(R10+R12+R26+R28)/4。在绿色像素位置,红色插值取上下或者左右两个红色像素的均值,如在绿色像素G20位置,R20=(R12+R28)/2,在绿色像素G11位置,R11=(R10+R12)/2。

蓝色插值

蓝色像素和红色像素处理方法相同,同样分两种情况,在红色像素位置,蓝色插值取四个对角红色像素的均值,如在红色像素R10位置,B10=(B1+B3+B17+B19)/4。在绿色像素位置,蓝色插值取上下或者左右两个蓝色像素的均值,如在绿色像素G11位置,B11=(B3+B19)/2,在绿色像素G20位置,B20=(B19+B21)/2。

2.白平衡

白平衡的目的是为了使其拍摄到的白色物体呈现白色。白平衡是必须的,基于以下两个原因:①传感器对于可见光谱的敏感度是不一致的,导致拍摄场景中的白色物体的色调偏移;②人眼可以根据不同色调的光源进行调整,使得白色物体即使在不同的颜色光下均能呈现出同样的颜色,相机也要进行同样的调整才能保持颜色一致。白平衡操作可定义为红绿蓝三色的增益矫正,如式3-1所示。

Rwb=GR*R

Gwb=GG*G          (式3-1)

Bwb=GB*B

式3-1中,Rwb、Gwb和Bwb分别是白平衡后的红绿蓝值,GR、GG和GB分别是红绿蓝的白平衡增益大小,R、G和B是白平衡矫正前的红绿蓝值。

3.颜色矫正

颜色矫正是另一种基于颜色信号的数学操作,最常见形式是一个3*3的矩阵操作。其数学形式可用式3-2表示。

Rcc = A11*Rwb+ A12*Gwb+ A13*Bwb

Gcc = A21*Rwb+ A22*Gwb+ A23*Bwb    (式3-2)

Bcc = A31*Rwb+ A32*Gwb+ A33*Bwb

式3-2中,Rcc、Gcc和Bcc分别是颜色矫正后的红绿蓝值,A11-A33为颜色校正矩阵系数,Rwb、Gwb和Bwb是白平衡后的红绿蓝值。

4.实验效果

对前文所述方法,本文进行了实验验证。我们采用了美侬24色色彩测试标板,采用了实验结果如图5所示,从图中结果可看出处理后的图像色彩更加真实,经验证,本文所提的色彩处理能够满足随后的图像处理需求。


图5 图像色彩处理实验结果

结语

本文提出了一种由AptinaCMOS芯片MT9V034与TIDSP芯片DM642所构成的嵌入式系统,该系统通过DM642专用视频接口获取MT9V034的RAW视频格式数据,并通过对Bayer格式数据的双线性插值,白平衡和颜色矫正处理,得到真实有效的彩色图像,从而便于后续图像算法操作。系统的处理结果可通过UART串口与上位机实现实时交互命令处理。该系统实现了彩色图像的实时采集与处理,并在实际中得到了应用,效果良好。

编辑:肖潇
注:本文版权归《中国安防》杂志社和《中国安防》杂志网所有,任何媒体或个人未经书面授权严禁部分或全文转载, 违者将严厉追究法律责任。更多详情请订阅《中国安防》杂志。