国外星上数据压缩算法发展研究
2014-03-13北京空间科技信息研究所
徐 冰(北京空间科技信息研究所)
国外星上数据压缩算法发展研究
徐 冰(北京空间科技信息研究所)
星上数据压缩技术是与对地观测卫星相伴产生的。近年来,随着新型遥感技术的快速发展,以及用户对遥感图像质量需求的日益提高,对地观测卫星所获取的图像分辨率也在不断提高。在这样的发展情况下,海量的高分辨率对地观测卫星图像数据对数传系统形成了巨大的压力,也直接影响了卫星对地观测的时效性。为解决这个问题,国外的对地观测卫星(特别是高分辨率对地观测卫星)普遍采用了星上数据压缩技术,在满足成像质量的前提下,进行可控的数据压缩处理,以满足卫星数据传输和星上存储的要求。
1 星上数据压缩算法的基本原理
从原理上说,无论是星上数据压缩,还是日常电子设备中的数据压缩,其目的都是以尽可能有效的方式将原有信息转换成另一种表现形式,使得数据源的每个信号用尽可能少的数据来表示,并在解码时尽可能近乎无误地恢复出原来的输入信号。从信息论的角度看,数据压缩的本质可以看作是去除数据中冗余信息的过程。根据统计,数据冗余信息包括空间冗余、时间冗余、信息熵冗余、结构冗余、知识冗余和视觉冗余等。
数据压缩算法大体上可分为两类:无损压缩和有损压缩。星上数据压缩算法也遵循这种分类方法。
无损压缩采用了不丢失信息的压缩算法,主要基于信息熵原理进行编码,能够精确地获得压缩前的图像数据。目前常用的无损压缩算法包括霍夫曼编码、游程编码、二进制信源编码、算术编码和无损预测编码等。无损压缩可从压缩数据准确无误地恢复原始图像,但压缩比不高。
有损压缩所得到的数据与原数据并不完全相同,存在一定的差值,但具有较高的压缩比。在很多情况下,损失一部分特定的图像信息,并不会对图像的判读造成重要影响,用有限的损失获得压缩性能方面较大的提升,常常是一种有效的数据压缩应用方法。从信息论的角度看,有损压缩不仅去掉了数据中的冗余信息,同时也删除了其中的不相干信息,因此有损压缩不能精确地恢复原始图像数据,而只能对图像数据进行近似重构,前提是这种重构所带来的误差并不影响人对原始数据所表达的信息的理解。有损压缩算法主要包括有损预测编码、变换编码和矢量量化编码等。
2 国外星上数据压缩算法简介
星上数据压缩系统的关键在于核心压缩算法的选取。目前,国外已发射的对地观测卫星系统主要采用的压缩算法包括差分脉冲调制编码(DPCM)压缩算法、赖斯(RICE)算法、离散余弦变换(DCT)压缩算法以及离散小波变换(DWT)压缩算法等。
DPCM算法
DPCM压缩算法属于有损压缩的预测编码法,其基本思想是用已经传送的前一个抽样值来预测当前抽样值,对其真值与预测值的差值进行编码。误差主要包括预测误差、量化误差和系统误差。与其他熵压缩算法相比,DPCM算法失真小,易于硬件实现,但压缩效率相对较低,对信道噪声很敏感,易产生误差扩散。
20世纪80年代中期,法国开发了固定码长的一维DPCM压缩算法,并成功应用到斯波特-1~4卫星上,压缩比为1.33∶1。其基本原理是每3个像素中,第1个像素完整传送(8bit),而后2个像素采用前后2个完整传送的像素平均值进行预测,之后对这2个像素的真值与预测值的差值进行非均一量化,采用5bit进行编码。
后来,伊士曼柯达(Eastman Kodak)公司基于DPCM压缩算法开发了可变码长的自适应差分脉冲调制编码(ADPCM)压缩算法,压缩比有所提高,该压缩算法采用带宽压缩(BWC)特定用途集成电路(ASIC),即BWCP进行实现。BWCP具有2种工作模式,一种是固定码长输出,另一种是可变码长输出。美国于1999年发射的第一代商业遥感卫星伊科诺斯-2采用了ADPCM压缩算法,压缩比为4.25∶1。此后美国发射的快鸟-2和世界观测-1卫星也都采用了ADPCM压缩算法。
RICE算法
伊科诺斯-2卫星
国外典型对地观测卫星的星上数据压缩算法
RICE算法是一种无损压缩算法,属于预测编码法,由美国航空航天局(NASA)的罗伯特·赖斯(Robert Rice)博士于20世纪90年代初最先提出。1997年CCSDS正式公布了卫星数据无损压缩建议标准,基于RICE基本算法提出了CCSDS-LDC无损压缩算法,该算法在编码方案中增加了2个低熵编码选项。
RICE压缩编码由预处理器和自适应熵编码器两部分组成。其基本思想是输入的数据流先处理成数据块,再由预处理器根据数据特性对数据块进行预处理,然后使用自适应熵编码器进行压缩编码,最终选择最短长度的编码数据作为输出。RICE压缩算法的主要特点是可动态地根据数据特性实时调整编码方式,具有较高的编码效率,且硬件实现复杂度也较低。
国外有很多卫星任务都使用了CCSDS-LDC无损压缩算法。例如,美国于2000年发射的“多光谱热成像卫星”(MTI)和地球观测-1卫星都采用了CCSDS-LDC算法进行无损数据压缩,采用ASIC集成电路进行实现,“多光谱热成像卫星”的压缩比为2.5∶1。
DCT算法
DCT压缩算法属于变换编码方法,其基本思想是对图像进行DCT可逆变换,将原图像从空间域映射到变换域,对变换域中得到的变换系数进行量化和编码。因DCT变换后,大部分的图像能量都集中于少数低频变换系数上,因此对低频和高频变换系数分别量化,可达到数据压缩的目的。
基于DCT的压缩理论,国外已经提出了多种压缩算法。其中,JPEG国际图像压缩标准就是以DCT理论为核心的压缩算法。目前,JPEG和其他基于DCT的压缩算法已经应用于许多空间任务中,特别是对地观测任务。
苏联1988年发射的福布斯-1(Fobos-1)探测器最早使用了固定码长的DCT压缩算法,实现了压缩比为4、8和12的离线软件压缩,但受当时处理技术的限制,压缩一幅208×144的图像约需1h。2002年,法国发射了斯波特-5卫星,采用了可变码长的DCT压缩算法,全色压缩比为2.8∶1,多光谱压缩比为2.28∶1。
斯波特-5卫星及其数据压缩装置(右)
斯波特-5星上图像压缩框图
斯波特-5卫星的数据压缩装置将来自有效载荷的7种数据流分成3个通道进行压缩,每个通道最后都输出45.5Mbit/s的比特流,然后再进行格式化、编码和加密,最后存储在固态存储器中。
此外,2008年发射的“泰国地球观测系统”卫星也采用了DCT压缩算法,压缩比为2.8∶1或3.7∶1。印度发射的制图卫星-1和2都采用了基本的JPEG压缩算法,压缩比达到3.2∶1。德国2008年发射的“快眼”卫星星座也采用JPEG压缩算法进行实时压缩,无损压缩比为2∶1,有损压缩比为10∶1。日本2006年发射的“先进陆地观测卫星”(ALOS),星上全色立体测绘遥感相机获取的数据采用JPEG有损压缩算法,压缩比为4∶1或8∶1;先进可见光和近红外辐射计-2获取的数据采用近无损DPCM算法,压缩比为1.33∶1。
法国经研究发现,DCT压缩算法在压缩比大于3时,图像数据恢复后将会出现“块赝像”,主要是去相关器在高压缩比下带来的缺陷。因此,DCT算法只适用于压缩比低于3的情况,也就是说为了不出现“块赝像”,8bit量化的图像数据,压缩后每像元必须大于3bit。
DWT算法
DWT压缩算法是法国针对DCT压缩方法存在的问题,而开发出的一种新型变换编码方法。与DCT变换编码方法相比,DWT具有良好的时频特性和多分辨率特性,同时获得图像整体的低频和高频分量,能量分布更集中,而且还包括重要的图像边缘信息,在高压缩比的情况下可以获得更好的重建图像质量。
昴宿星-HR卫星及其数据压缩装置(右)
基于DWT的压缩理论,国外已经提出了多种压缩算法。其中,JPEG2000国际图像压缩标准就是以DWT理论为核心的压缩算法。与基于DCT理论的JPEG标准相比,JPEG2000不仅可获得更高的压缩比,而且还提供了感兴趣区域(ROI)压缩新特性,使得我们可以根据图像各部分的重要性来对图像各部分进行不同压缩比的压缩。
法国于2011年发射的昴宿星-HR卫星就使用了DWT压缩算法,采用ASIC实现小波图像压缩模块(WICOM),模块中包括去相关DWT模块、位平面编码器和存储器。昴宿星-HR卫星的全色图像以2.5bit/像素进行压缩,压缩比为4.8∶1,多光谱图像以2.8bit/像素进行压缩,压缩比约为4.3∶1,速率最高达25兆像素/s。该小波图像压缩模块利用小波图像压缩算法实现了接近于JPEG2000标准的压缩性能,而在硬件实现上,又不会像JPEG2000标准复杂度过高。另外,该小波图像压缩模块采用抗辐射加固设计。
尽管DWT压缩算法比DCT压缩算法可以获得更高的压缩比,但是当压缩比过高时,DWT压缩算法也会出现“块赝像”,主要是由于低复杂度区域高值量化产生的模糊效应,限制了DWT算法的压缩性能。
法国国家空间研究中心(CNES)作为JPEG2000标准委员会的成员,针对将JPEG2000压缩标准应用于星上压缩,从2000年开始开展了一系列JPEG2000抗辐射硬件研究工作,经研究发现,该算法利用现有硬件技术实现过于复杂,主要是因为算术编码器和处理最优截断点的码率分配程序难于实现。
3 压缩算法比较分析
目前,国外对地观测卫星主要采用DPCM、RICE、DCT和DWT压缩算法进行星上数据压缩。从算法本质来说,DPCM和RICE属于预测编码,DCT和DWT属于变换编码;从计算复杂度来说,DPCM和RICE原理简单,易于硬件实现,DCT和DWT变换计算复杂度较高,硬件实现困难;从压缩比角度来说,DPCM和RICE压缩比较低,而DCT和DWT压缩比较高。而对于DCT和DWT两种变换压缩算法来说,DCT算法复杂度较低,但压缩比也较低,而DWT算法复杂度较高,但压缩比较高,但二者有共同缺点,在达到较高压缩比时,图像恢复后均会出现“块赝像”,导致图像质量严重下降。
在星上数据压缩算法选取方面,应综合考虑多项因素,包括算法复杂度、硬件实现困难度、压缩比要求、卫星数据传输和存储能力等。例如,美国从“伊科诺斯”卫星到“世界观测”卫星,都采用原理简单、易于硬件实现的ADPCM压缩算法,一部分原因是其星上数据存储和数据下传能力较强,因此放宽了对星上压缩算法的要求。“世界观测”卫星的星上存储容量为2.2Tbit,X频段数据传输速率达到800Mbit/s。
而法国作为星上数据压缩领域的技术引领者,一直在研究和开发最新型的星上数据压缩算法,并将其应用到实用卫星上进行验证。法国最新发射的“昴宿星”采用DWT压缩算法,对星上数据进行高效压缩,降低了对星上数据存储和数据下传能力的要求。“昴宿星”的星上存储容量仅为600Gbit,X频段数据传输速率为465Mbit/s。区域相关系数上移,使其位于比背景区域较高的比特平面上,在编码过程,这些上移的ROI系数将先被编码,生成的比特流位于整个数据比特流的最前面,而比特平面较低的背景区域像素将被舍弃。在图像恢复后,不仅保留了ROI区域信息,还保留了一部分背景区域信息,整体图像质量较高。最大位移法适合于将云作为非ROI区域的情况,配合云判别技术实现ROI区域压缩,可保留ROI区域的图像信息,但不保留背景区域(云区域)的图像信息。最大位移法是一般位移法的特例,其位移因子的选择必须使ROI区域的最小系数大于背景区域的最大系数。
无论是一般位移法还是最大位移法,其关键技术都在于如何生成ROI掩模。经过小波变换后ROI信息就会分散到变换系数中去,掩模用于确定哪些变换系数与ROI信息有关应该保留,反之舍弃。
4 选择性星上压缩算法
除了研究这些基本的压缩算法外,国外还在研究选择性压缩方法,即ROI压缩算法,其基本思想是首先对图像数据进行检测,确定感兴趣区域和非感兴趣区域,然后对感兴趣区域进行较低压缩比的压缩,对非感兴趣区域进行较高压缩比的压缩。遥感卫星获取的数据量极大,而检测方法过于复杂,很难准确确定ROI区域和非ROI区域。但光学图像中的云信息可以看作是无用数据,利用云判别技术剔除云区域,剩余图像数据将被认为是感兴趣区域进行压缩。近年来,法国国家空间研究中心一直在研究星上云判别技术,开发星上云判别硬件模块。
JPEG2000标准中定义了两种ROI压缩算法,分别是一般位移法(Scaling)和最大位移法(Maxshift),这两种方法应用领域不同,各具优缺点。一般位移法能够适当保留背景图像质量,适合于无法准确判别感兴趣区域的情况。一般位移法的主要原理是选择一个适当的位移因子,将ROI
5 结束语
目前,国外已经将星上数据压缩作为缓解高分辨率卫星图像数据存储和下传压力的有效手段,并开发了众多星上数据压缩算法,这些算法各具优缺点。从发展方向来看,国外逐渐从计算复杂度低、压缩比低的压缩算法向计算复杂度高、压缩比高的压缩算法过渡。DWT压缩算法能够实现较高的压缩比,但算法和硬件的复杂度较高,需要较长的运算时间。因此,随着计算机技术和高速超大规模集成电路,特别是小波变换专用ASIC芯片技术的迅速发展,离散小波变换有望成为未来星上数据压缩的一种热点发展方向,但这些新型算法虽然性能先进,仍存在一系列工程化实现的问题亟待解决,比如空间环境适应性问题、计算复杂度降低和快速算法实现问题、高性能星载数据处理硬件等等。另外,选择性星上数据压缩以及智能化星上处理技术能够根据不同用户对遥感数据的不同需求在轨快速生产产品,有效提高下传数据的利用率,因此将成为未来星上数据处理领域的另一个发展方向。