摘要: 提出了一种面向海量遥感图像高速压缩应用需求的多现场可编程门阵列( FPGA,Field-Programmable Gate Array) ,即处理器设计方案,包括针对压缩任务中模块间松耦合和模块内强关联的问题,提出了混合式多FPGA 并行处理器结构; 给出了包含数据均衡分发和码流规则回收的压缩处理机制,提高了同构FPGA 的并行效率,确保压缩处理过程的正确性; 给出了支持处理器故障和链路故障的结构容错模型,保证压缩处理过程的可靠性; 给出了基于分布式外部存储与高速串行总线的多FPGA 通信策略,满足海量遥感图像高速压缩的通信要求。 实验结果表明: 单片同构FPGA 的并行效率达93. 5%; 应用系统的硬件压缩结果与软件压缩结果一致,计算吞吐率达1. 6 Gbit /s 以上,并具有高可靠性。
随着遥感技术的飞速发展及空间传感器分辨率的不断提高,遥感数据量成倍增加,已达到Gbit级甚至更高的计量单位; 此外,遥感设备在空间环境温度、气压、宇宙射线等因素的影响下,故障率较高。 针对上述应用条件,遥感图像压缩处理系统应具备高效处理、可靠运行、高速通信3 个基本要求。 目前实现图像压缩的硬件处理系统可分为3类: ① 采用全定制专用集成电路( ASIC,Application Specific Integrated Circuit) ,它对算法进行单独硬件处理,具有外部RAM 和外围接口,能获得良好的处理效果,满足高速通信的要求,现有图像处理ASIC 芯片( 如AD 公司的ADV212)得到了很好的应用[1],但无军品级和宇航级,可靠性方面存在隐患,不适合用于遥感设备; ②采用通用数字信号处理( DSP,Digital SignalProcessing) ,DSP 具有先进的哈佛和流水结构,适于计算的乘加单元和优化的内部结构设计,使其得到了优异的处理性能,是遥感压缩中较好的解决方案[2],但由于DSP 外围接口性能的限制,DSP 间的数据交互以及任务分配协调困难,难以满足高速通信的要求; ③采用半定制现场可编程门阵列( FPGA,Field-Programmable Gate Array) ,FPGA 相当于可编程ASIC,又比DSP 内部资源丰富,可以达到较大的数据吞吐量,且保密性好,适合于遥感压缩设备,但现有的FPGA 方案多为特定的结构,只解决了中低数据量的快速压缩,无法满足海量遥感图像的高速压缩应用要求。
因此,本文提出一种基于多FPGA 的压缩处理器结构,包括4 片Virtex-5 FPGA 和2 片Spartan-3 FPGA,针对该结构分别给出了高并行压缩处理机制、容错性设计以及高速通信策略。 并将此结构应用于遥感图像高速压缩系统中,压缩性能达到1.6 Gbit /s 以上。
1 遥感图像压缩任务概述
海量遥感图像压缩任务需采用高速高保真的压缩算法。 压缩算法应尽可能地保持图像细节,保证弱小目标不丢失,同时应结构简单、易于硬件流水和并行处理,具体采用基于小波变换和基于上下文的位平面预测编码并算术编码的压缩算法。 该算法一方面利用基于小波域中纹理失真敏感性模型的视觉量化方法,不均匀量化各频带各系数块,提升了恢复图像的主观质量; 另一方面通过改进位平面预测模型,利用系数块内及块间的多维相关性,进一步提升了熵编码的效率。 因此,在高倍压缩条件下与JPEG2000 相比,该算法能够实现目标无畸变、无明显失真、小目标不丢失,能将PSNR 值提高0.5 ~ 0.7 dB. 另外,由于采用了定点化的小波变换和无乘操作的熵编码,该算法仅有简单的整数运算和移位操作,压缩速度快、易于数字逻辑电路高速实现。
基于上述算法的遥感图像压缩任务从功能上可划分为数据获取、压缩处理和码流输出3 个模块,压缩处理模块又可分为小波变换、量化、预测、位平面编码和算术编码5个单元,如图1 所示。
由图1 可得知,该遥感图像压缩任务具有2个特点: ①3 个模块的处理任务是串行执行,模块间耦合性弱; ②压缩处理模块执行步骤复杂,各单元间数据关联性强,通信重叠性高。