您可以添加到网摘 让更多人关注此文章:
摘要:在某些特定场合,为满足特定任务需求,必须实现对视频信号的实时采集与旋转处理等任务,本文制订了基于dsp[1]的实时图像采集与旋转处理系统硬件设计方案,对系统软件流程作了分析,给出了系统实验结论。 关键词:dsp 信息处理 图像采集 图像旋转
1 前言
在军事和许多精密控制领域,实时视频信号采集和处理应用非常普遍。如果仅仅对标准视频信号进行实时采集,在工程实现上已经非常简单,但是在更多应用场合,实时视频采集只属于系统任务的一小部分,更重要的是对采集到的视频图像进行实时处理和分析,视频制导武器中的实时视频图像采集和消旋、太空探测过程中的图像实时采集与处理就属于这种情况。为了满足对高速视频图像的实时采集和处理,在许多场合,由于图像处理的运算量非常大,仅仅依靠软件优化很难满足系统实时性要求。近年来,随着dsp技术的飞速发展和广泛应用,许多曾经被认为难以满足的任务需求也变得日益简单方便。本文以某一实际系统开发过程中图像实时采集和消旋需求为对象,对系统开发从硬件和软件两个层面进行了详细分析,并通过实验获取了大量数据,对不同设计方案的性能进行比较,得出了可靠结论。
2 需求分析
实时图像采集和旋转处理在军事和许多高科技领域有着广泛应用。例如在某种特定的视频控制系统中,前端CCD在工作过程中一直处于定轴旋转状态,要实现对图像的实时监视和处理,首先必须对采集到的每帧图像进行实时消旋(从根本上说,消旋就是反向旋转),然后才能进行显示和其它处理工作,按照标准视频25帧/秒的速度要求,每帧图像从获取、采集、处理到存贮和显示的时间必须限制在40ms之内。按照常规系统设计要求,系统工作流程为:利用通用图像采集卡获取CCD拍摄的图像,然后通过软件对每帧图像进行消旋,根据这一方案,进行了大量测试,具体实验条件、方案和结论如下:
硬件环境: P4 2.6G的CPU,1GDDR433内存;操作系统为平台:WindowsXP;
采集卡:大恒CG410通用视频采集卡(PCI总线时钟为33MHz);
图像大小:768*576;图像精度:24bit彩色图像;
图像旋转算法:最邻近差值算法;
算法优化:图像变换过程中对正弦和余弦采用查表方式,在涉及浮点运算的环节采用近似移位算法代替;
其它:图像显示过程中以768*576的画板为基础,对于旋转过程中超出该区域的目标点统一在初始化过程中赋值;
结论:旋转时间约为48ms;采集和旋转时间约为66ms(如果不采用查表和近似移位方法进行优化,完成每帧图像采集和旋转时间超过150ms)。
结果表明:即使采用最邻近差值算法,对浮点运算采用查表近似处理,在Windows操作系统环境中,图像显示画板不作任何变换这种最简单的图像旋转而言,仅仅依靠软件不可能满足系统实时性要求。究其原因,主要有以下几点:
1)图像数据流经PCI总线占用的时间过长
由于常用的图像采集卡采用的都是33M时钟PCI总线结构设计,在32位机器环境中,该总线支持的理论最高通讯速率为132Mbytes/s[2];在使用过程,由于桥路设计及其它PCI设备占用,实际数据通过速率最多只能达到80 Mbytes/s左右,如果采集768*576的24位彩色图像,每帧图像数据流经总线的时间就高达15ms。
2)图像旋转运算量过大,占用时间过长
每帧图像旋转必须分坐标和色彩空间变换两步完成,数据运算量相当大,如果色彩空间变换采用较为复杂的差值或卷积算法,运算量会更大,仅仅依靠软件优化,难以满足系统实时性要求。
3)操作系统实时性欠佳
对普通用户而言,Windows系列操作系统的主要优势在于强大视窗功能,从操作系统底层开发而言,特别在某些对系统实时性要求较高的场合,Windows操作系统的进程管理和任务调度机制显得力不从心。一般来说,Windows操作系统的中断响应和任务切换时间处于毫秒级水平,在系统繁忙的情况下,往往会达到几十甚至上百毫秒,这种响应速度对实时图像采集和旋转处理系统来说远远不够。
4)系统设计不够紧凑,存在过多中间环节
这一方案中,图像采集与旋转(即消旋)是两个并行同步执行的进程,通过回调函数机制实现两者间同步,图像数据必须先采集经PCI总线到系统内存,然后再进行旋转处理,这种设计方式增加了图像数据的流通环节,制约了系统实时性能,同时也不符合设备模块化设计要求,影响系统可扩展性。
3 系统设计
3.1 硬件方案设计
3.2.1 图像采集处理板设计

图2 地面信息处理硬件模块原理框图
为实现系统设计模块化,将图像采集和消旋处理综合在一块硬件板卡上实现,两者间通过两个静态存贮器SRAM1和SRAM2并辅以相应控制逻辑实现接口,具体工作流程为:图像信号经采集直接通过卡内总线交替存贮到SRAM1和SRAM2中,当某一帧图像采集完成,通过控制逻辑一方面通知dsp从相应存贮器中读取数据并进行处理,同时控制将下一帧图像采集保存到另一块静态存贮中,从而实现交替存贮;dsp对采集的图像信号进行实时消旋,处理后的数据直接存放到静态存贮器SRAM3中,当某一帧图像处理结束,dsp通过PCI总线向CPU发送一个中断请求,接收到中断请求,CPU立即将存贮器中的图像数据取出保存并显示。
这一方案解决了原有系统存在的两个问题:首先,通过采用dsp处理技术,将系统工作中最复杂、最耗时的图像消旋进行最优化,提高了系统处理速度,大大缩短了每帧图像处理时间;其次,将图像采集和消旋处理集中在同一块硬件上,这种方式增加了系统集成度,减少了数据在系统总线上的流通环节,节省了操作系统和内存开销,增强了系统可扩展性。
[1] [2] 下一页
|