A Real-Time Image Capture and Turning System Based on DSP
摘要:在某些特定场合,为满足特定任务需求,必须实现对视频信号的实时采集与旋转处理等任务,本文制订了基于DSP[1]的实时图像采集与旋转处理系统硬件设计方案,对系统软件流程作了分析,给出了系统实验结论。
关键词:DSP 信息处理 图像采集 图像旋转
Abstract: Aim at the special demands,it is necessary for some special occasions to capture and turn video frequency real time. In this paper, it designed the system hardware based on DSP and discussed the workflow of the software. At last, it analyzed the experimental result of the system.
Key words: DSP, Information Processing, Image Capture, Image Turning
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 图像采集处理板设计