基于DSP+FPGA+ASIC的实时图像处理架构设计
1.引言
本文引用地址:http://www.amcfsurvey.com/article/201809/391596.htm随着红外焦平面阵列技术的快速发展,红外成像系统实现了高帧频、高分辨率、高可靠性及微型化,在目标跟踪、智能交通监控中得到了越来越多的应用,并向更加广泛的军事及民用领域扩展。实时红外图像处理系统一般会包括非均匀校正、图像增强、图像分割、区域特征提取、目标检测及跟踪等不同层次的实时图像处理算法,由于图像处理的数据量大,数据处理相关性高,因此实时红外图像处理系统必须具有强大的运算能力。目前有些红外图像处理系统使用FPGA实现可重构计算系统[1],运算速度快,但对于复杂算法的实现难度比较高,且灵活性差。大多数红外图像处理系统则采用DSP+FPGA的硬件架构[2],其中DSP负责实现图像处理算法,FPGA负责实现各种接口电路,但诸如图像多级滤波等处理算法复杂度高,只使用DSP处理会耗费大量时间,一般采用并行多DSP系统以满足实时性要求[3],但系统比较复杂,体积和功耗也不好控制,实现成本高。因此需要在硬件结构上合理分配处理任务,比如FPGA可以完成输入图像的预处理工作,减轻DSP的负担,本实验室自主研制的ASIC芯片可以对输入红外图像进行多级滤波处理,进一步解放DSP。本文针对红外图像处理系统的实时性要求,提出了基于DSP+FPGA+ASIC的图像处理架构。
2.实时红外图像处理系统
由于实时红外小目标检测算法的前端处理数据量大、实时性强且算法复杂度高,我们的系统结构需要保证灵活性,能够适应各种复杂的算法,同时又要保证高速处理能力,因此实时红外图像处理系统采用DSP+ FPGA+ASIC的架构来满足设计的要求。其中,DSP具有高度的可编程性,可以完成比较复杂的任务。FPGA的处理速度稍逊于ASIC,但具有一定的灵活性,它可以实时接收红外小目标检测算法前端的数据,完成输入图像的一些预处理工作。ASIC芯片处理速度快、性能强且可靠性好,可以完成图像滤波等特定的任务。
一种实时红外图像处理系统结构框图如图1所示:
FPGA采用ALTERA公司的Stratix系列的EP1S10芯片。该芯片提供多达10,570个逻辑单元(LEs),存储器容量为920,448016 bits,同时提供了高速DSP模块以及乘法器,专用乘法器适合于作协处理器,可以分担DSP复杂和耗时的算术运算,提升系统的性能。
DSP选用TI公司的TMS320C6414芯片[4]。该芯片主频为600MHz,数据处理能力峰值可达4800MIPS(每秒48亿条指令)。由8个相互独立的功能单元构成。包含两组通用寄存器组,每组含有32个32位寄存器。片内采用2级存储器结构。
ASIC使用本实验室自主研制的多级滤波芯片[5]。该芯片采用SMIC 0.35mm工艺,芯片内部工作频率可达50MHz。有三个数据通道,分别级连不同数量的1*3基本滤波模板,每路数据通道采用流水线结构。采用定点运算,计算精度为8位二进制小数,可处理位宽为8-16位的数据,吞吐量为5M-10M像素/秒,支持128*128,256*256,320*240三种帧格式的图像滤波。
3.处理任务的合理分配
红外探测器输出图像数据到信号处理板,先进入FPGA进行预处理,预处理包括非均匀性校正和图像增强等。ASIC对输入图像数据进行多级滤波处理。FPGA在后续算法中也能协同DSP工作,算法中对运行速度要求很高,而算法结构不太复杂的处理均可在FPGA 中实现,从而使得该FPGA 成为DSP 的协处理器。经过预处理后的红外图像数据输出到DSP中进行后续算法处理,DSP的处理包括红外潜在小目标检测算法。DSP 处理后的潜在小目标和图像数据通过FPGA传输到DPRAM中存储。
该实时红外图像处理系统主要由三部分组成:FPGA模块,DSP模块和ASIC模块。在满足红外图像数据处理的实时性和高速可靠性要求的前提下,各处理模块所处理的任务要尽量达到平衡。
从资源角度看,算法用硬件处理速度快,占内存空间小,但灵活性差;用软件刚好相反,处理速度慢,但灵活性好。由于设计要满足实时性要求,希望硬件承担的任务越多越好。PGA作为一种可编程的硬件资源,虽然它有相当强的设计灵活性,但是考虑到设计、实现调试的难度,不适合做全局、复杂的操作。ASIC芯片处理速度快,但灵活性差,只适合处理一些特定的占用大量处理器资源的运算。DSP作为软件资源,特点是灵活性好,适合复杂的算法,但速度慢。
从算法角度考虑,一个完整的算法在处理上是有层次的,算法对原始数据的操作是简单的、规则的,对后续数据的处理往往比较复杂,同时算法在实现前会被预先分成几个相互独立的功能模块。因此低层的、简单的操作可以由FPGA中的逻辑单元模块或ASIC芯片硬件来完成,高层的、复杂的操作则由DSP软件来完成。
根据上述分析,本设计中FPGA主要完成与各个外部设备的接口控制逻辑,同时完成一些数据量大、运算结构简单、速度要求高的算法;DSP完成后续结构复杂的目标检测算法;ASIC芯片对输入图像进行多级滤波处理。此方案保证了系统有足够的处理速度,能够达到红外图像处理系统的实时性要求。
3.1 FPGA模块
FPGA内部逻辑结构框图如图2所示。
FPGA主要完成以下几方面的工作:图像数据接收逻辑,图像数据预处理模块,输入缓存FIFO,DSP接口控制逻辑,ASIC接口控制逻辑,DPRAM接口控制逻辑,算法处理模块。
(1) 图像数据接收逻辑:根据探测器输出的数字视频信号的场同步,行同步以及时钟信号,发送控制信号接收图像数据。
(2) 图像数据预处理模块:对接收的图像数据进行非均匀性校正和图像增强等预处理。
(3) 输入缓存FIFO:由FPGA内部配置输入缓冲存储器FIFO。预处理后的图像数据可以连续不间断地写入FIFO中,以供DSP读取进行后续的图像处理。
(4) DSP接口控制逻辑:DSP 接口时序控制逻辑必须严格按照TMS320C6414的EMIFA
可编程同步接口的时序来编写,并且满足相应的建立保持时间要求。DSP启动EDMA通道
读取红外图像数据,通过FPGA的内部FIFO进行连续的图像传输。
(5) ASIC接口控制逻辑:按照ASIC芯片的时序编写其控制逻辑,将图像数据导入ASIC
芯片进行图像多级滤波处理。
(6) DPRAM接口控制逻辑:编写DPRAM的控制逻辑,将DSP 处理后的数据通过FPGA传输到DPRAM中存储。
(7) 算法处理模块:根据具体算法的需要,协同DSP完成算法中速度要求高,结构不太复杂的运算。
3.2 DSP模块
DSP主要完成红外小目标的检测和跟踪算法,功能如下:
(1) 启动EDMA通道不断读取FPGA输出的红外图像数据。
(2) 对输入的红外图像数据,运行目标检测和跟踪算法,检测运动目标,并确定其方位。
(3) 与FPGA建立连接,将算法中比较规则的运算交给FPGA处理。
(4) DSP将处理后的运算结果通过FPGA传输至DPRAM中存储。
3.3 ASIC模块
ASIC芯片从FPGA中接收预处理后的图像数据进行处理,处理后的三路数据同步写入内部三个同步FIFO,DSP可以根据需要选择输出多级滤波处理后的结果,进行后续算法的处理。
4.实验结果与分析
实时红外图像处理板已成功应用于多个红外探测系统中,效果良好。图3为实验时采用
高德IR108D探测器获得的原始红外图像,图4为经过多级滤波处理后标识的图像,图5为经过目标检测算法处理后输出的跟踪图像。可以看到,该系统能够实时检测并跟踪红外图像中的运动小目标。
5.结语
本文使用高性能的DSP(TMS320C6414),可编程逻辑器件FPGA (Stratix系列的EP1S10)和专用ASIC多级滤波芯片,提出了DSP + FPGA + ASIC的图像处理平台架构,设计了处理能力强、接口可靠稳定的红外图像处理系统,并在系统中实现了非均匀性校正、小目标检测等算法。实验测试表明,该实时红外图像处理系统对每场320×240有效像素,每个像素14bit,场频50Hz的输出数字视频信号能够进行实时处理,对视场中的运动小目标完成检测和跟踪功能,满足系统主要性能指标要求,成功应用于红外探测系统中。
本文作者创新点:采用自主研制的ASIC芯片对红外图像进行多级滤波处理,速度快,可靠性好,为DSP后续的目标检测跟踪算法节约时间。
评论