专利名称:基于多dsp并行处理的大容量图像数据实时压缩设备及方法
技术领域:
本发明涉及信息处理领域,特别涉及基于多DSP并行处理的大 容量图像数据实时压縮设备及方法。
背景技术:
对于大容量图像数据的实时压縮技术,由于数据量大且压縮算法 复杂,需要硬件配合来提升算法运算速度。目前最广为采用的硬件实
现方法包括
(1) 多FPGA的方案。
即通过多个FPGA (Field Programmable Gate Array,现场可编程 门阵列)并行地对图像数据进行处理,该设计的好处是能够较好的满 足图像压縮算法要求,同时存在如下一些弊端
a) 成本居高不下。在很多特殊应用场合,如卫星遥感、高空摄 影等,需要采用宇航级或军品级器件,而这一层次的FPGA的价格远 远高于DSP (Digital Signal Processor,数字信号处理器)。建立在多 FPGA结构体系上的硬件系统,其成本难以降低。
b) 单粒子翻转效应。当高能带电粒子产生的重离子通过微电子 器件时,容易产生电离,发生单粒子翻转效应,其导致的系统逻辑状 态混乱,可能产生严重后果。多FPGA设计中,计算分解为FPGA内 部大量基本逻辑门的运算。在空间环境中,这种结构加重了产生的逻 辑门翻转效应的可能。
(2) 基于ASIC (Application Specific Intergrated Circuits, 专用
集成电路)专用芯片的方案。
在小波图像压縮方面,主要有AD公司生成的ADV系列芯片, 如ADV611/ADV612、 ADV202等,如ADV202采用JPEG2000压缩 算法,支持最高6级的9/7和5/3小波变换,内部包含一个专用的小 波引擎,3个熵编码器, 一个片内存储系统和一个嵌入式RISC处理 器,在可逆模式下,ADV202能以40M byte/秒的速度处理图像,如 果用于不可逆模式,采样速度可达65Mbyte/秒,满足PAL/NTSC等 多种视频要求。
从对ADV202的使用来看,附以相应的外部RAM和外围接口, 能获得良好的图像质量和满足要求的运算速度。ADV202的缺陷是
a) 只有专业级芯片,没有军品级和宇航级,可靠性方面存在隐患。
b) 在恶劣的环境中,ADV202的抗辐照性能和抗单粒子翻转能 力都不能提供有力的保证。
c) 专业级芯片在严格的应用场合,使用前需要进行筛选,目前 国内尚没有此筛选能力。而依托国外进行筛选,有器件封锁、保密等 诸多方面的考虑。
d) 自行研制出具有相当性能指标并能满足宇航要求的ASIC设 计周期长,造价昂贵且风险高,成本也非常高。
本发明克服了以上方案存在的问题,设计了一种基于多DSP并 行处理结构的大容量图像数据实时压縮设备。采用多DSP实现图像 实时压縮具有如下优点
a) DSP在数字图像处理领域具有优势。经测试,TMS320C641X 型DSP在600MHz主频下,只用50%的运算能力就可以同时进行单
通道MPEG-4视频编码、单通道MPEG-4视频解码和单通道MPEG-2 视频解码的处理。
b) DSP在图像压縮算法实现过程中具有独特的优势。根据各自 的结构特点,DSP适合需要复杂算法的应用领域,如多重if-then-else 结构,而FPGA更适合前端(传感器)的应用,例如FIR滤波、CORDIC 算法或FFT (Fast Fourier Transformation快速傅里叶变换)等。对于 图像压縮算法,尤其是变换后的编码算法,有很多的循环、条件、跳 转等操作,结构相当复杂,这些都更适合于DSP实现。
c) DSP具有高性能的并行处理能力。如TI公司的TMS320C6000 系列DSP,片内有8个并行处理的功能单元6个加法器和2个专门 的硬件乘法器,8个功能单元在一个周期内最多可以同时执行8条32 位指令。实际执行情况取决于并行算法设计的优劣,这给予开发人员 充分发挥智慧和创造性的空间。开发人员可以结合算法和DSP并行 处理能力,开发出高性能的并行算法,并采用DSP代码优化方法, 大幅提高算法实现速度。
d) DSP成本相对FPGA较低。宇航级或军品级的FPGA价格远 远高于DSP。由于基数较大,处理器价格差异带来的成本差异非常大。
发明内容
本发明克服了上述缺点,提供了一种基于多DSP并行处理的大 容量图像数据实时压縮设备及方法,以满足卫星遥感、高空摄影等应 用场合的大容量图像数据处理的需求。
本发明解决其技术问题所采取的技术方案是 一种基于多DSP 并行处理结构的大容量图像数据实时压縮设备,包括基于多个DSP 并行结构的图像压縮处理单元、基于FPGA的设备管理单元,所述
FPGA的数据输入端通过相连的高速接口接收图像数据,所述DSP 与FPGA之间通过HPI接口、 GPIO接口和McBSP串口相连,所述 FPGA还连接有FLASH程序存储单元。
将多DSP可以菊花链方式串接在一起形成一个JTAG仿真链, 在连接在所述FPGA上。
所述各DSP的各JTAG引脚连接到FPGA,所述FPGA同时连接 有JTAG接口仿真器。
所述高速接口可采用LVDS接口单元。
所述FPGA还可连接有多片外部数据缓存单元。
本发明还公开了一种实现数据压縮的方法,包括如下步骤
图像数据经过FPGA并行进入各DSP;
各DSP压縮后的码流并行输出到FPGA;
FPGA做并串转换后串行输出。
本发明针对一些应用场合图像输入码速率高以及对重建图像高 保真的特殊要求,该设备采用多DSP并行处理结构完成大容量图像 数据的实时压縮,根据任务分配和数据耦合方式,选择FPGA作为数 据转换和DSP管理器件,将相机输出的图像数据并行进入数据压縮 机的各DSP, FPGA基本不做处理。各DSP压縮后的码流并行输出 到FPGA, FPGA做并串转换后串行输出,因此各DSP之间基本没有 耦合。该设备具有数据处理能力强、并行性能好、可靠性高、易于扩 展的优点,除可应用于一般实时图像压縮场合外,重点是可应用于卫 星遥感、高空摄影等图像输入码速率高以及对重建图像质量、设备可 靠性等方面有特殊要求的场合。
图l是本发明的总体结构框图。
图2是本发明的McBSP结构框图。 图3是本发明的数据输出接口电路时序图。 图4是本发明的数据输出接口电路。 图5是本发明的多DSP的菊花链方式JTAG接口电路。
具体实施例方式
如图1中所示,是基于多DSP并行处理结构的大容量图像数据 实时压縮设备的总体结构框图。n路串行CCD数据通过LVDS (Low Voltage Differential Signaling低压差分信号)接口多路并行进入 FPGA进行时序转换,多个并行的DSP分别通过两个串口以EDMA (Extend Direct Memory Access扩展的直接存储器访问)方式从 FPGA读取两路相机数据并缓存、压縮编码,整个数据压縮系统需要 (int)((n+l)/2)个DSP并行处理。压縮后码流数据通过串口输出到 FPGA, FPGA重新缓存、组帧、时序转换后输出。本发明控制器件 FPGA完成数据流的管理和对各个DSP的管理,相机输出的图像数据 并行进入数据压縮机的各DSP, FPGA基本不做处理。各DSP压縮 后的码流并行输出到FPGA, FPGA做并串转换后串行输出,因此各 DSP之间基本没有耦合。
FPGA与DSP的连接有三种方式HPI (Host Port Interface主机口)、 GPIO (General Purpose Input/Output通用输入/输出外设)和 McBSP (Multi-channel Buffered Serial Port多通道缓冲串口),其中 HPI用于FPGA对DSP的程序引导,GPIO用于FPGA对DSP的遥 控接口, McBSP用于FPGA与DSP之间的数据传输,包括图像数据 输入和压縮后码流数据输出。
高速实时压縮不仅要求处理器有高速处理能力,还要求数据接口 有高速传输能力。本发明中所涉及的数据接口主要有图像数据输入接
口、 FPGA和DSP的数据交换接口、压縮或复用数据输出接口。 (1 )高速LVDS相机数据输入接口
所述LVDS接口实现多路并行图像数据输入,每路信号为LVDS 差分信号。四线制LVDS同步通信接口,串行同步方式数据传输时, 像元高位在前、低位在后。
(2) EDMA方式多通道缓冲串口
EDMA是DSP中用于快速数据交换的重要技术,具有独立于 CPU的后台批量数据传输的能力,能够满足实时图像处理中高速数 据传输的要求。在本发明中,FPGA与DSP数据传输主要通过串口, 每个DSP使用串口 0和串口 2两个数据通道和FPGA相连。
DSP的McBSP是在标准串口的基础上发展而来的,McBSP的基 本功能包括全双工串行通信;双缓冲数据寄存器,允许连续的数据 流;收发独立的帧同步和时钟信号;数据传输可以利用外部时钟或片 内的可编程时钟;当利用DMA (Direct Memory Access直接存储器 访问)为McBSP服务时,串口数据读写具有自动缓冲的能力。
如图2所示是McBSP结构框图。DX管脚负责数据的发送,DR 管脚负责信号的接收,另外有4个管脚提供接口的控制信号(时钟和 帧同步)。每个McBSP在内部可以分为1个数据通道和1个控制通道。 DSP通过片内外设总线访问串口的32位数据/控制寄存器,进而实现 与McBSP间的通信与控制。在本发明中,每个DSP使用串口O和串 口 2两个数据通道,CLKS外的6个管脚都连接到FPGA。数据通道 完成数据的发送和接收。CPU或EDMA控制器向数据发送寄存器
DXR写入待发送的数据,从数据接收寄存器DRR读取接收到的数据。 写入DXR的数据通过发送移位寄存器XSR移位输出至DX管脚。同 样,DR管脚上接收到的数据先移位进入接收转移寄存器RSR,然后 被复制到接收缓冲寄存器RBR中,RBR再将数据复制到DRR中, 最后等候CPU或DMA控制器将数据读走。这种多级缓冲结构使片 内的数据读写和外部的数据通信可以同时进行。
图3是数据输出接口电路时序图。输出信号电平为+3.3VCMOS 信号,在DSP选择其中一个数据通道进行数据传输时,在当前的时 钟脉冲开始时传输有效的数据。
图4是数据输出接口电路,上述的多级缓冲可通过输入输出端的 缓冲器BUFFER实现,即对DSP实现压縮后的输出信号和输入到 FPGA中实现控制的信号分别通过两级缓冲器实现缓冲。
附图5是多DSP的菊花链方式JTAG接口电路。所述JTAG接口 包括测试时钟、测试数据输入和输出、测试模式选择、测试接口复位、 EMU[11:0]共17个引脚。其中TMS、 TDO、 TDI、 TCK、 EMU[11:0] 引脚均有内部上拉电阻30kQ, TRST引脚有内部下拉电阻30kQ, EMU[1:0]引脚用于选择DSP的操作模式为边界扫描方式还是仿真方 式。在本发明中需要利用DSP的JTAG接口进行硬件仿真,采用的 仿真器是TI提供的XDS510系列仿真器。为了 DSP应用软件调试方 便,将多DSP以菊花链方式串接在一起形成一个JTAG仿真链。本 设计中将多DSP的各JTAG引脚连接到FPGA, FPGA同时连接到 JTAG仿真器的引脚,菊花链在FPGA内部编程实现。该结构使系统 可以方便地向任意一个或多个DSP下载程序,进行仿真测试。
本发明中基于FPGA的多DSP程序引导方法属于主机引导,该 方法尤其适合以PFGA作为主机的多DSP并行系统。系统通过FPGA 对多个DSP芯片进行初始配置,并加载DSP工作时所需要的程序, 这种配置和加载是通过DSP的HPI接口来实现的。配置和加载所需 要的程序事先放置在FPGA的片外FLASH中,由PC机发起实现。 PC机通过局域网口 LAN或串口 RS232将程序写到FPGA的RAM中, 再由FPGA将程序写入片外FLASH。
设计中采用HPI接口作为上电引导接口 ,在Host Boot模式下, DSP外部的复位信号由低变高后,DSP内部进入暂停状态,此时外 部的Host通过DSP的HPI接口初始化DSP的存储器空间、内部配 置寄存器、配置外围设备等。当Host完成需要的初始配置后,Host 必须设置HPIC寄存器的DSPINT域来完成引导过程。启动过程是通 过FPGA对DSP的HPI 口写入来实现的,设计中DSP没有外挂Flash, 启动代码和执行程序都是在FPGA的片外Flash中统一存储,便于软 件版本管理和更新。
借助多个DSP处理器并建立合理的并行体系实现图像数据的并 行压縮。通过分配并行任务,调整数据结构,平均分配功能单元,利 用汇编语言的灵活性合理编排指令,实现对图像压縮任务的DSP并 行处理,从而减少任务的执行时间,达到实时性的要求。
由于DSP软件的全部加固设计消耗的资源比较大,而且还会造 成性能的下降,因此需要选择关键部分进行设计加固。设计中以预防 为主、附以有效的检错措施,并结合灵活的外部监控模块,具体措施 如下(1)采用简单有效的"三倍冗余"设计方法保护长时间存在的 关键变量。(2)采用加法运算,对整个存储区的程序按照16位无符 号数进行求和,结果作为校验数来检验程序区是否发生单粒子翻转,
如果发现程序存储区出现错误,就通过外部监控模块对DSP程序进
行重新引导。(3)适时清空程序Cache和控制寄存器,减少单粒子翻 转发生的概率。(4)将FPGA作为系统的监控模块,它根据DSP给 出的状态信号(通用GPIO)判断DSP是否异常,如果某个DSP出 现故障,系统监控模块将对该DSP进行复位和重新引导,DSP的程 序采用一定的加固措施存储在非易失大容量存储器中。
辐射效应对FPGA造成的影响有的是永久的,如总剂量效应、单 粒子烧毁、位移损伤;有的是能够恢复的,如单粒子翻转、单粒子功 能中断、单粒子瞬态脉冲。单粒子闩锁造成的影响既可以是永久的, 也可以是可恢复的,只要处理得当可以减少造成永久损伤的概率。采 取的主要防护措施如下(l)整体屏蔽减少辐射。(2)采用冗余设计。 (3)减少使用Half-latch。 (4)采用余数判断法检测法、奇偶校验等 对关键运算结果进行检验。
以上对本发明所提供的基于多DSP并行处理的大容量图像数据 实时压縮设备及方法进行了详细介绍,本文中应用了具体个例对本发 明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理 解本发明的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处, 综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于多DSP并行处理结构的大容量图像数据实时压缩设备,其特征在于包括基于多个DSP并行结构的图像压缩处理单元、基于FPGA的设备管理单元,所述FPGA的数据输入端通过相连的高速接口接收图像数据,所述DSP与FPGA之间通过HPI接口、GPIO接口和McBSP串口相连,所述FPGA还连接有FLASH程序存储单元。
2. 根据权利要求1所述的基于多DSP并行处理结构的大容量图 像数据实时压縮设备,其特征在于将多DSP以菊花链方式串接在 一起形成一个JTAG仿真链,在连接在所述FPGA上。
3. 根据权利要求2所述的基于多DSP并行处理结构的大容量图 像数据实时压縮设备,其特征在于所述各DSP的各JTAG引脚连 接到FPGA,所述FPGA同时连接有JTAG接口仿真器。
4. 根据权利要求1或2或3所述的基于多DSP并行处理结构的 大容量图像数据实时压縮设备,其特征在于:所述高速接口采用LVDS 接口单元。
5. 根据权利要求1或2或3所述的基于多DSP并行处理结构的 大容量图像数据实时压縮设备,其特征在于所述FPGA还连接有多 片外部数据缓存单元。
6. —种采用如权利要求1中所述设备实现数据压縮的方法,其特 征在于包括如下步骤图像数据经过FPGA并行进入各DSP;各DSP压縮后的码流并行输出到FPGA; FPGA做并串转换后串行输出。
全文摘要
本发明涉及信息处理领域,特别涉及基于多DSP并行处理的大容量图像数据实时压缩设备及方法,采用多DSP并行处理结构完成大容量图像数据的实时压缩,根据任务分配和数据耦合方式,选择FPGA作为数据转换和DSP管理器件,将相机输出的图像数据并行进入数据压缩机的各DSP,FPGA基本不做处理。各DSP压缩后的码流并行输出到FPGA,FPGA做并串转换后串行输出,因此各DSP之间基本没有耦合。该设备具有数据处理能力强、并行性能好、可靠性高、易于扩展的优点,除可应用于一般实时图像压缩场合外,重点是可应用于卫星遥感、高空摄影等图像输入码速率高以及对重建图像质量、设备可靠性等方面有特殊要求的场合。
文档编号G06T1/00GK101360245SQ20081021124
公开日2009年2月4日 申请日期2008年9月19日 优先权日2008年9月19日
发明者杜列波, 杨建伟, 王继东, 罗武胜, 肖学敏, 冰 胡, 鹏 魏, 琴 鲁 申请人:中国人民解放军国防科学技术大学