关键词:定点DSP CMOS图像传感器 JPEG图像压缩 编码
引言
CMOS图像传感器CCD相比,由于能将时序处理电路和图像信号的前端放大与数字化部分集成于一个芯片内,因此,它的发展一直受到业界的高度重视。现在,随着技术与工艺的发展,CMOS图像传感器不仅在噪声上得到了有效改善,而且分辨率也已得到了明显提高。一般的彩色CMOS图像传感器都能达到100万像素。好的CMOS图像传感器甚至能达300万像素以上。因此,CMOS图像传感器将以其低廉的价格、实用的图像质量、高集成度和相对较少的功耗,在视频监控领域得到更加广泛的应用。
TI公司的TMS320C54X系列DSP是一款性能价格比很高的16位定点DSP。以TMS320C5402为例,它的运行速度可以达到100MIPS,而且内部集成有高速16K×16位的读写可同时操作的快速RAM和主速I/O接口。因此,采用TMS320C54X可以实现图像的压缩、存储、运行图像的识别和主控机之间通过USB或RS485接口进行图像或识别信息的上载等功能。
图1 数字视频监控终端原理图
1 设计方案
1.1 设计原理
图1是采用TMS320C5402定点DSP和OV6630图像传感器设计实现数字视频监控终端的原理图。
图1中,采用FPGA产生图像传感器所需的点频、行场同步信号以及控制寄存器的控制时序,同时,它还完成对OV6630输出的数字图像信号预处理的工作,包括对接收的R、G、B三种基色的原始数据进行重新组合和适当的比例变换等,以使DSP能进行更加有序的快速处理。另外,DSP对SDRAM和外接Flash存储卡的访问以及SDRAM的刷新等操作也通过FPGA实现。
TMS320C5402负责对预处理后的原始数据进行颜色校正、JPEG压缩、存储、图像识别,并提供通用的USB或RS485接口,以实现图像及资料的上传。经过颜色校正后的R、G、B数字信号,通过LCD驱动电路实现在LCD显示屏上的显示。
1.2 CMOS图像传感器的特性
(1)功能框图
在一个芯片CMOS图像传送器内,一般都包含图2所示的功能。其中,寄存器接口采用I2C总线或三线制方式;同步信号可以从外部加入或者由时序发生器自己产生,为与外部视频信号同步提供了方便;双倍采样电路在CMOS图像传感器中是必要的。它的作用是使每个像素的信号被采样两次:一次是有效信号;一次为本底信号。两次信号的差值作为该像素的实际输出信号。这种采样方式可以有效地降低噪声干扰。A/D采样分辨率一般为8~12位。
图2 CMOS图像传感器功能框图
(2)图像格式
最常见的CMOS图像传感器的数据输出格式是Bayer原始数据输出格式。其一般格式为:
奇数扫描行 GRGR…
偶数扫描行 BGBG…
根据人眼对彩色的响应带宽不高的大面积着色特点,每个像素没有必要同时输出三种颜色。因此,数据采样时,奇数扫描行的第1、2、3、4……像素分别采样和输出G、R、G、R……数据;偶数扫描行的第1、2、3、4……像素分别采样和输出B、G、B、G……数据。在实际处理时,每个像素的R、G、B信号由像素本身输出的某一种颜色信号和相邻像素输出的其它颜色信号构成。这种采样方式在基本不降低图像质量的同时,可以将采样频率降低60%以上。
由于CMOS光传感单元对三种颜色的响应灵敏度是完全不同的,而且是非线性的,与亮度、增益及本身的材料相关。因此,图像传感器的原始数据要进行颜色校正与补偿。不同厂家的产品补偿曲线不同,因此要设计不同的补偿算法。
OV6630不仅输出R、G、B的原始数据格式,而且在芯片内已经集成了颜色补偿算法,可以输出符合CCIR601标准的YUV和YcrCb的视频输出格式。
1.3 图像传感器的接口设计
图像传感器OV6630与逻辑控制芯片直接相连,图3是接口设计原理图。其中SCL、SDA为I2C控制线;PCLK、HSYNC、VSYNC分别为点频和行场同步输出信号线;RGB[7..0]为8位图像数据输出信号线。通过Altera公司的EPM10K30A对OV6630进行I2C控制,包括对比度、亮度、饱和度、白平衡及自动曝光、同步信号位置及极性输出、帧速率和数据输出格式控制等。为了保证数据传输的实时性,在EPM10K30A内分配2组RAM缓冲区,其大小均为352×16位,1组RAM中存储1行的图像数据。由OV6630输入的Bayer原始数据输出格式,经过预处理后,每个像素点均输出R、G、B数据。数据格式采用5、6、5分配原理,即红色和蓝色为5位数据宽度,绿色6位数据宽度。因此,每个像素输出16位数据。对352×288的图像传感器,每行共有352像素,因此,每行需要352×16位容量的RAM进行存储。两组RAM通过奇偶行计数器进行切换。当一行存储完毕时,立即向DSP产生一个读取该行数据的中断申请信号。
1.4 DSP与SDRAM的接口设计
采用SDRAM可以存储大量的图像资料。它的控制通过FPGA实现。SDRAM采用Hynix公司的4M×16位的HY57V641620,工作频率可以达到100MHz以上。对SDRAM的控制主要包括以下几个方面。
①时序与命令的控制。主要负责模式选择、页面切换、读写方式和自动刷新起动等控制。
②数据读写。SDRAM与传统EDO方式的DRAM相比,由于它通过一个高速同步时钟进行时序协调,因此其读写速度很快。在猝发读写模式下,其读写时间可达20ns。
③DMA控制。TMS320C5402对SDRAM的访问可以通过DMA方式进行。它在启动DMA之前,通过控制寄存器使SDRAM工作于页面猝发模式。
2 JPEQ算法实现
JPEG压缩是利用DCT和VLC(可变长编码)技术实现图像压缩的。在DCT变换时,以8×8像素为基本计算单元,在DCT变换为
其中,当i、j=0时,C(i)、;其它情况下,C(i)、C(j)=1。i、j表示像素位置。
具体来说,就是将每个像素的原始内容f(x,y)分别减去128,通过上述公式得到一个经过能量优化的8×8DCT系数矩阵。然后,通过一个亮度量化矩阵和一个色度量化矩阵去一一除以对应的DCT系数矩阵,即进行DCT系数量化,并利用Z形扫描得到一个维量化系数序列。最后,利用标准的VLC编码表,对该序列中的非零数据进行霍夫曼编码得到最终的JPEG压缩数据。
由于是以8×8作为一个基本处理单元,因此,可以利用TMS20C5402内部的快速RAM作为缓冲区。实际表明,只需要占用DSP内部的5K字节缓冲区即可完成JPEG压缩编码工作。当DSP工作于100MHz主频时,压缩一幅视频图像可以在1.5s内完成。
结论
利用16位定点DSP和CMOS图像传感器设计的数字视频监控终端,可以实现视频压缩图像的存储与传输;通过利用DSP的快速运算特性,可以实现对运行目标的有效识别。识别结果能够及时上传给上位机,以达到对目标的有效监控。