多DSP+FPGA在卫星遥感图像压缩系统中的应用

时间:2011-08-26

 

  信息时代带来了"信息爆炸",使数据量大增,因此,无论传输或存储都需要对数据进行有效的压缩。在遥感技术中,各种航天探测器采用压缩编码技术,将获取的巨大信息送回地面。图像压缩是数据压缩技术在数字图像上的应用,它的目的是减少图像数据中的冗余信息从而用更加高效的格式存储和传输数据。图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。笔者提出一种多DSP+FPGA的硬件设计结构,使用DSP取代FPGA完成算法,而仅用一个FPGA进行管理和控制。该硬件设计成本较低。

  1 基于双正交叠式变换的低复杂度图像压缩方法

  1.1 双正交重叠变换的快速整数实现

  在有损压缩中,通常先对图像矩阵进行正交/双正交变换,使能量分布集中,表示更为稀疏。离散余弦变换(DCT)由于具有良好的去相关效果,并且存在相应的快速算法,应用广泛。双正交重叠变换继承了DCT 计算简便、存储要求低的特点,同时克服了DCT的块效应。这里以LBT为蓝本提出双正交重叠变换的快速整数实现算法,所有系数均采用分母为2的幂、分子为整数的分数近似,从而使整个变换过程只需要整数加法和位移运算。图1给出了一维binLBT的实现流程,二维变换按先行后列的顺序分别进行一维变换。

  离散余弦变换(Discrete Cosine Transform,简称DCT变换)是一种与傅立叶变换紧密相关的数学运算。在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出余弦变换,因此称之为离散余弦变换。离散余弦变换(DCT)是N.Ahmed等人在1974年提出的正交变换方法。它常被认为是对语音和图像信号进行变换的方法。为了工程上实现的需要,国内外许多学者花费了很大精力去寻找或改进离散余弦变换的快速算法。由于近年来数字信号处理芯片(DSP)的发展,加上专用集成电路设计上的优势,这就牢固地确立离散余弦变换(DCT)在目前图像编码中的重要地位,成为H.261、JPEG、MPEG 等国际上公用的编码标准的重要环节。

  

一维binLBT的实现流程 www.elecfans.com

 

  1.2 零树编码的简化与改进

  SPIHT作为一种高效零树编码方法,对位平面进行了集合划分,将大量的非重要位0集中到几个具有特定模式的集合里面,并对含有重要位的此类集合进行划分,直至将集合划分为具体的元素。LBT系数块中存在着类似零树结构。图2中给出了模仿小波变换中树结构的LBT块变换中的零树划分方法,其中每一个线框对应着一个系数,实线则将64个系数分为10个子带。由于块变换具有集中能量的作用,系数的能量由左上到右下逐渐减少。

  

 

  在每一子带中,首先使用Golomb方法编码,再将其输出码流输入到MQ编码器,进行下一步的编码。零树编码过程应用了零树结构中父子节点间的相关性,需要在已知父节点的情况下定位它的子节点。因此,在LBT系数输出后进入编码器前,利用线性索引的方法对LBT系数重新排序,将其放置在一维数组里。

  2 并行多DSP+FPGA的硬件设计方案

  2.1 系统硬件整体框图

  FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA.因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。

  数据压缩系统硬件总体框图如图3所示。2x-1路串行CCD数据通过LVDS接口多路并行进入FPGA进行时序转换,每个DSP通过两个串口以EDMA方式从FPGA读取两路相机数据并缓存、压缩编码,整个数据压缩系统需要x个DSP并行处理。压缩后码流数据通过串口输出到FPGA,FPGA重新缓存、组帧、时序转换后输出到固存设备。码流数据输出、遥控指令输入、遥测信号输出和电源的接口均通过底板总线和数传综合处理器连接。

  

 

  2.2 器件选择

  数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是值得称道的两大特色。

  DSP选择TMS320C6416,它是TI公司于2000年推出的一款具有C64XX系列新内核的高性能DSPs芯片。TMS320C6416采用一种高性能的先进的VLIW(非常长指令字)结构,其内部具有8个并行处理单元。因单指令字长为32位,8个指令可组成长达256位的指令包,由内部专门的指令分配模块同时分配到8个处理单元同时运行。因此在600MHz主频时,TMS320C6416的处理能力高达4800MIPS(百万条指令/秒)。TMS320C6416电压为1.2V,外围电压为3.3V,主频为400MHz"1GHz,并且在600MHz主频下,能够提供833B级器件。

  FPGA选用X2V3000-5FG676C,该型号属于Xlinix公司的Virtex-II系列,300万门,676个管脚中包括484个I/O管脚。Xlinix FPGA的基本特点是由可配置逻辑块(CLB)、输入/输出块(IOB)以及可编程互连资源组成,另外还包括三态缓冲器、全局时钟缓冲器和边界扫描逻辑。CLB中包含有查找表(LUT)、寄存器和进位逻辑,IOB中包含DDR寄存器。存储器资源主要包括分布式SelectRAM/ROM以及18KB的块状SelectRAM.

  2.3 接口设计

  线阵CCD相机图像灰度数据以串行方式及LVDS信号电平输出。为了便于DSP串口接收,由FPGA进行电平转换,并依据相关串行协议进行时序转换。而压缩图像编码则经DSP串口输出,由FPGA进行电平转换,并依据压缩机输出接口时序进行相应的转换。

  遥控机输出线有指令线、地线,在使用端上拉。指令整形输出后如需要负脉冲可再外加反相器或在FPGA内部实现。遥测接口分为模拟遥测、数字遥测和数据遥测三部分,模拟遥测主要针对电源(5V、1.5V、1.4V等)进行遥测,遥测输出电平为0~5V;数字遥测主要对分机中关键器件工作状态进行遥测,遥测输出电平为TTL电平;数据遥测主要对内部运行状态进行遥测。

  3 压缩算法在DSP实现中的关键技术及并行处理

  3.1 C6000系列CPU结构与流水线

  C6000系列CPU采用哈佛结构,指令取指与执行可以并行运行。程序总线宽度为256bit,每取指操作都是取8条指令,成为一个取指包。取指、指令分配和指令译码都具备每周期读取并传递8条32位指令的能力。C64xx系列CPU有两个数据通路A和B,每个通路有4个功能单元(。L、。S、。M和。D),不同的8个功能单元中的指令均可并行执行。

  现代微处理器把指令分成几个子操作,每个子操作在微处理器内部可由不同的部件来完成。在同一时间内,可有多条指令交迭地在不同部件内处理,这种工作方式就是"流水线"(pipeline)工作方式。TMS320C6000的特殊结构可使多个指令包(每包多8条指令)交迭地在不同部件内处理,大大提高了微处理器的吞吐量。

  3.2 数据类型转换与数据溢出问题

  TMS320C6000系列DSP的数据打包处理技术,可以使用宽长度的存储器对短字长的数据访问,这样可使编译出的代码性能显着提高。压缩算法在DSP实现中,采用short代替int来存储图像像素值和变换后的系数,并确保不会产生数据溢出。

  

 

  对|T|的每一行求和,为2.8284.进行行列两次变换,终变换系数为图像像素值的8倍。当图像像素占8位或10位时,包括符号位1位,16位存储变换系数不会溢出。

  3.3 并行计算

  压缩算法软件结构如图4所示。

  

 

  各子函数采用汇编语言编写,在C6000系列DSP中优化代码的关键是如何实现代码的并行。针对C64XX系列处理器的指令特点,采取以下并行处理措施:

  (1)双通路。处理系数平均安排,分别分布在A、B两通路;

  (2)数据打包处理技术。用LDW和STW读取和存储两个16位系数;

  (3)半字操作指令。每条指令处理两个16位系数;

  (4)多功能单元。两通路内各8个系数的计算充分利用L、S、M和D四个功能单元。

  4 实验结果与结论

  以一组40幅中科院遥感所提供的1024×1024×8图像为样本,用4:1和8:1两种压缩比,对遥感图像压缩系统样机进行测试。测试结果如下:

  (1)压缩比为4:1时,PSNR平均40dB以上,38dB;压缩比为8:1时,PSNR平均35dB以上,32dB。

  (2)对1024×1024×8图像,压缩比为4:1时,单DSP处理时间在64ms以下;压缩比为8:1时,单DSP处理时间在48ms以下,为优化前时间的1/30。

  (3)单DSP内部RAM能满足2路相机数据及中间系数缓存要求;

  (4)单路功耗在0.5W以下,整机功耗不足15W。

  结果表明,数据压缩系统设计合理,实际工作能满足图像质量和高速实时处理要求。但从人工判图的结果看,8:1压缩时,算法小目标保持情况不如JPEG2000。系统目前已进入初样阶段,希望在算法尤其是编码算法上继续研究并优化,进一步提高图像质量。

 


  
上一篇:无线信息设计在通用操作系统EPOC的应用
下一篇: TMS320LF2407在PWM整流技术中的应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料