随着数字多媒体技术的不断发展,数字图像处理技术被广泛应用于可视电话、电视会议、监控系统等各种民用、商用及工业生产领域中。但在这些数字图像处理系统中,一个突出的问题就是数据量庞大,特别是在图像帧率及分辨率要求比较高的场合下,仅用专用的视频压缩芯片(Video ASIC)、专用的视频信号处理器(Video DSP)或通用的高性能数字信号处理芯片(DSP),均无法获得令人满意的效果。为此,人们提出了多种解决方案,其中比较有代表性的方案有以下两种:
一是在中央控制器的调度下,两片或多片图像处理主芯片并行对图像进行处理。
二是整个图像处理系统由图像采集系统和图像压缩系统组成,其中图像采集系统负责接收原始的图像数据并对其进行一定的预处理;图像压缩系统负责接收图像采集系统预处理后的数据并进行压缩。
本文将基于第二种方案,分析其中图像采集系统的控制逻辑设计思想;并结合图像压缩算法的需求,着重介绍图像数据预处理的控制流程及实现方法;最后通过实验,对预处理前后图像处理系统的效率进行比较分析。
1 图像采集系统的结构及工作原理
本文以高性能、高集成度、低功耗系列FPGA作为核心部件,利用FPGA的在系统可编程以及控制逻辑实现方式灵活等特点,设计出图像采集系统。该系统能够满足多分辨率灰度和彩色图像的实时压缩处理要求,其硬件结构如图1所示,主要包括A/D转换部分、帧存部分和核心控制部分。下面分别对这三个部分进行介绍。
1.1 A/D转换部分
A/D转换部分即图1中的视频解码器,用来完成模拟视频信号到数字信号的转换,产生复合的YUV数据流,并送入采集系统的FPGA中。
A/D转换部分所选用的视频解码器是Philips公司的视频A/D芯片SAA7111A_4,它不仅具有自动场频检测牧场 生而且其场同步参考信号VREF、行同步参考信号HREF、奇偶场标志信号RTS0、像素时钟信号LLC2幸免可从芯片的输出管脚直接得到,从而简化了时钟锁相与同步功能模块的设计,使整个系统的性能和稳定性均有所提高,同时减少了整个系统的功耗[2]。
1.2 帧存部分
帧存部分采用双帧存结构,包括图1中的帧存A与帧存B,每个帧存由两片IDT71V424 SRAM构成,能够存放720X576分辨率的一帧YUV图像数据。由于采用了乒乓机制,这种结构能够使图像数据的采集与压缩并行,从而提高图像的压缩帧率。
1.3 核心控制部分
采集系统的核心控制部分即图1中的FPGA。首先对A/D转换部分的输出数据流进行一定的预处理;其次将预处理后的数据在帧存乒乓、刷新机帛的控制下写入适当帧存中;最后完成与图像压缩系统的接口控制,即适时帧存的控制权转交给图像压缩系统,由图像压缩系统将帧存中的数据读出后释放帧存的控制权。另外本部分还负责接收用户输入的图像分辨率、色彩以及相应压缩码流传输信道的带宽等控制信息,并在这些信息发生变化时用中断的方式通知图像压缩系统。
核心控制部分所选用的FPGA为Xilinx公司的Virtex-100E繁列,它具有10万等效系统门,系统时钟频率可达240MHz,用户可用的I/O管脚有196个,核电压为1.8V,峰值功耗较低[3]。
1.3.1 图像采集系统控制逻辑功能框图
图像采集系统控制逻辑框图如图2所示。①作为采集系统核心控制逻辑的主控模块,用来调用②~⑥各子功能模块。子功能模块②是整个控制逻辑执行的起点,它根据I2C 协议 来配置视频解码器,并且只有I2C配置过程结束后,才能启动其它子功能模块的运行。子功能模块③用于完成图像采集系统与图像压缩系统的交互。子功能模块④~⑥用于完成图像采集、预处理、 存储 控制等功能。下边介绍介绍各子模块的设计思想。
1.3.2 基于I2C配置视频解码器
视频解码器的初始化配置是由FPGA通过I2C总线完成的,主要包括对视频解码器的工作模式、输出行场同步参考信号的时序关系以及输出数字信号的格式等进行的设置。
1.3.3 与图像压缩系统握手
为了确保图像压缩系统与图像采集系统的同步、需要在FPGA中实现两者之间的握手机制,主要是接收图像压缩系统请示帧存控制权和释放帧存控制权的信号,并根据FPGA内部逻辑的当前运行状态进行响应。
1.3.4 原始图像数据采集
在一帧图像数据的采集过程中,最重要的就是对一帧图像数据开始和结束时刻的判断。在仔细研究了SAA7111A_4所提供的同步信号(奇偶场标识信号RTS0、场同步参考信号VREF、行同步参考信号HREF)的时序关系的基础上,用状态机实现了对采集过程起止点的精确控制。图3所示为一帧图像采集期间三个同步信号的时序示意图。
RTS0信号的上升沿标识一帧新图像的起点,VREF信号为高电平对应图像场正程扫描时的有效像素行期间,在有效像素行期间,HREF信号为高电平对应像素有效采样时间。基于这三个信号确定一帧图像采集过程起止点的流程如下:
①若检测到RTS0信号的电平为低,转到②;②若检测到RTS0信号的电平为高,转到③,同时开始一帧新图像的采集;
③若检测到VREF信号的电平为高,转到④;
④若检测到VREF信号的电平为低,则表明352X288分辨率模式下的一帧图像采集过程结束或720X576分辨率模式下的第一场图像采集过程结束,转到⑤,否则在HREF信号的电平为高期间进行有效的图像数据采集;
⑤若检测到VREF信号的电平为高,转到⑥;
⑥若检测到VREF信号的电平为低,则表明720X576分辨率模式下第二场图像采集过程结束,转到①,否则在HREF信号的电平为高期间进行有效的图像数据采集。
1.3.5 采集图像数据的预处理及 存储
图像压缩系统所需要的输入图像数据流是按照宏场-SLICE-图像的分层结构组织的,如图4所示(以720X576分辨率为例)。而图像采集系统中,A/D转换后的输出数据流结构如图5所示。因此,必须对图5所示的数据流进行相应的预处理,图像压缩系统才能够直接从图像采集系统中得到需要的数据格式,从而提高整个图像处理系统的性能。
按照图4所示的分层结构,图像数据在帧存中以SLICE为单位顺序存储,其中SLICE的尺寸既要考虑图像压缩系统中图像压缩算法的要求,又要考虑与图像分辨率有着密切的关系。图6所示为图像数据在帧存中的存储结构。下面主要以720X576分辨率下的图像为例讨论数据存储地址的计算。
由A/D转换输出数据格式与图像压缩系统输入数据格式间的对应关系可知中,一帧图像中的任意像素可以用分层寻址方式准确定位,并据此产生此像素所对应的三个分量的帧存存储地址值。首先,从一帧图像的一第一行开始,每连续的16行作为一个像素块,称为行块,一帧720X576分辨率的图像可划分为36个行块;其次,每一个行块又在水平方向上平均分为3段,每段称为一个列组,每个列组的宽度为水平方向上连续的240个像素,高度为垂直方向上连续的16行。720X576图像像素分层寻址示意图如图7所示。Y、U、V三个分量在帧存中的存储地址产生过程如下:首先确定含像素所属行块在一帧图像中的偏移量及像素所属列组在行块中的像移量,即确定行块序号和列组序号;然后确定像素在所属列组中水平方向上和垂直方向上的偏移量;最后根据上述4个偏移量计数器的值即可产生此像素所对应的三个分量的帧存存储地址值。
在720X576分辨率下,一帧图像中任一像素的Y、N、V分量对应的帧存地址计算公式如下:
本文关键字:分辨率 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术