实时图像采集是利用现代化技术进行实时图像信息获取的手段,在现代多媒体技术中占有重要的地位。在日常生活中、生物医学领域、航空航天等领域都有着广泛的应用。图像采集的速度、质量直接影响到产品的整体效果。
实时图像采集是利用现代化技术进行实时图像信息获取的手段,在现代多媒体技术中占有重要的地位。在日常生活中、生物医学领域、航空航天等领域都有着广泛的应用。图像采集的速度、质量直接影响到产品的整体效果。
图像采集及实时图像采集
图像信息是人类获取的最重要的信息之一,图像采集在数字图像处理、图像识别等领域应用十分广泛。实时图像的采集和处理在现代多媒体技术中占有重要的地位。日常生活中所见到的数码相机、可视电话、多媒体 IP 电话和电话会议等产品,实时图像采集是其中的核心技术。图像采集的速度、质量直接影响到产品的整体效果。
传统图像采集
目前,传统的图像采集是采用图像采集卡或视霸卡将 CCD(Charge Coupled Device,电荷耦合器件)摄像机的模拟视频信号经 A/D 后存储,然后送计算机进行处理。这种方法使用较普遍,技术比较成熟,但是也存在一些问题。首先,CCD 摄像机的输出已转换为模拟的 NTSC 或 PAL 制式,并以 SVideo 或混合视频信号方式输出,这样采集卡的采样点在输出时序上很难与摄像机的象素点一一对应,造成数字化后的视频图像质量损失较大,图像分辨率也受到限制。其次,这种方法的硬件电路复杂、成本较高,不利于推广和普及使用。
常用图像传感器
常用的图像传感器主要有 CCD 和 CMOS(互补金属氧化物半导体)两种。目前市场上,CCD 仍占据主要地位,而随着 CMOS 技术的发展,CMOS 传感器也得到了广泛的应用。 CCD 的优点是灵敏度高、象素小、读取噪音低、动态范围大,因此在固体成像领域占据主要地位。它的缺点是不能将图像传感阵列和控制电路集成在同一芯片内,还需要外加脉冲驱动电路,信号放大,A/D 转换等辅助电路,造成系统结构复杂,成本较高;而 CMOS 传感器则具有较小的几何尺寸,分辨率也逐渐接近 CCD 的水平,最重要的是 CMOS 传感器的制造技术与 CMOS 工艺兼容,每个象素传感单元都有自己的缓冲放大器,可以非常方便的将 AD 转换器等辅助电路集成到芯片内部,其外围电路简单,功耗低,编程也很方便,很容易实现对帧频、曝光时间、图像尺寸等的控制,为视频图像采集提供了一种低成本高品质的解决方式。
随机存储器
在高速图像采集和处理过程中,往往需要在片外使用随机存储器。常用的随机存储器主要有动态存储器 DRAM 和静态存储器 SRAM 两种。目前业界主流的 SRAM 的存储单元一般都是采用六晶体管的结构,而 DRAM 的存储单元则一般是采用单晶体管加上一个无源的电容构成。由此,两者的优点和缺点都比较明显。SRAM 的访问时间短,总线利用率高,静态功耗相对较低,但是占用硅片的面积较大,容量小,价格较贵。它适用于存储容量不大,性能要求较高的领域。而 DRAM 的读写访问过程比较复杂,访问时间较长,总线利用率相对较低,而且由于电容器会不断的漏电,需要周期性的去刷新,所以静态功耗较大。其优点是存储容量可以做的很大,价格便宜。
采样控制
对图像传感器的采样控制,可以使用单片机、CPLD 或 FPGA 等。在设计中,既要控制图像传感器采样,还有对 SRAM 的控制,图像采集完成后,还有后续的滤波处理模块。单独使用单片机或 CPLD 都不能独立完成这样的功能。可以使用单片机或 CPLD 实现控制功能,后续滤波模块使用 FPGA;也可以整体使用一个 FPGA 芯片完成所有功能,这样做将使外围电路设计最为简单。
FPGA 介绍
目前,随着 VLSI 技术的发展,越来越多的算法可以用硬件来实现。同时,由于生产线的专业化,在同一环境下生成或传输的图像,其受污染的噪声类型有相似性和稳定性,这也使专用集成电路有很大的实用性。但是,由于图像处理算法的复杂性、多样性,一个系统只能采用一种结构,因而限制了其应用范围。这是目前报道的图像处理系统的共同特点。
针对图像预处理阶段运算结构的特点,FPGA 芯片是目标硬件的理想选择之一。采用 FPGA 芯片,只需少数芯片和简单的外围电路,即可实现比较复杂的图像预处理算法,而且只要改变 FPGA 芯片内部参数值就可以实现对不同尺寸、不同灰度级图像的处理,具有一定的灵活性。目前,FPGA 已在图像处理中得到广泛的应用。
下图为 FPGA 设计流程。
实时图像采集系统
下面将针对利用 FPGA 实现的实时图像采集系统做一简单介绍。
在本设计中,在满足设计要求,最主要的是图像分辨率和采样速率的要求下,为了简化电路结构,采用 CMOS 图像传感器。具体选用美国 Omni Vision 公司生产的 130 万象素的 CMOS 图像传感器 OV9121。
本设计的图像采集部分,包括 OV9121 初始化模块、采样控制模块和 SRAM 控制模块。初始化模块主要是根据设计要求,设定 OV9121 的工作模式;采样控制模块负责提供 OV9121 采集图像需要的控制信号;SRAM 控制模块主要负责缓存 OV9121 输出的图像数据,并将图像数据送 FPGA 滤波模块处理,本模块使用了两片相同规格的 SRAM。
OV9121 初始化模块
根据设计要求,通过改变 OV9121 内部寄存器的值,使 OV9121 工作在设定好的模式,包括工作模式、图像的分辨率、象素输出频率和帧频等参数。
采样控制模块
在实际设计中,有两种方法可以得到需要的控制信号。一是采用锁相环。在很多设计中,往往需要多个频率和相位的时钟,于是各家 FPGA 厂商便在其 FPGA 内部设计了一些时钟管理元件,锁相环是其中一个有代表性的电路。Altera 公司的许多系列的 FPGA 内都有锁相环,在开发环境 Quartus II 里对锁相环的参数作出修改,可以改变初始时钟信号的分频系数或倍频倍数,并可调整时钟相位。第二种方法是自己编写分频程序。
SRAM 控制模块
本设计采用两片相同规格的 SRAM,在同一时间,只有一片 SRAM 接收图像数据,也只有一片 SRAM 向 FPGA 输出数据。SRAM 工作程序如下:首先 SRAM1 写使能,OV9121 向 SRAM1 写图像数据,当向其写完一帧图像后,SRAM2 写使能,OV9121 开始向 SRAM2 写下一帧图像,同时,SRAM1 写禁止,读使能,FPGA 开始读取 SRAM1 中的图像数据。然后,SRAM1 写使能,开始向 SRAM1 写图像数据,同时 SRAM2 读使能,从 SRAM2 读数据,依次交替进行。这样做,可以使 OV9121 输出的图像数据连续地存储在片外存储器中,同时,FPGA 也可以连续地从片外存储器中读取数据。同时,在同一时间,一个芯片只有读或只有写操作,可以避免对一个芯片同一地址的读写冲突。
应用
实时图像采集有着广泛的应用。在日常生活中,常用于数码相机、可视电话、多媒体 IP 电话和电话会议等产品;在工业生产中,图像采集卡可用于材料分析、锅炉火焰监测等;在生物医学领域,图像采集卡可以用于 B 超、CT、病理分析等;在金融领域,图像采集卡可以用于票证处理,柜员机自动检测等;在航空航天领域,可以用于各种运动目标的自动制导、运动物体的经纬度测定以及夜间侦察等。