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