基于改进LZO的高灵敏度图像无损压缩方法

2017-07-15 13:32杨帅
智能计算机与应用 2017年3期

杨帅

摘要:针对测控装备图像传输中无损压缩的问题,提出了一种基于改进IZO(Lempel-Ziv-Oberhumer)的高灵敏度图像无损压缩方法。分析了无损压缩算法原理,根据高灵敏度图像特点,利用中值边缘预测消除空间冗余,改进IZO算法流程。试验表明:改进算法无损压缩效率高,性能稳定,能够满足任务图像实时无损的传输需求。

关键词:无损压缩;LZO算法;预测编码;图像传输

0引言

近年来,空间目标监测与轨道预报任务日益增多,光电测控设备以其测量精度高和中高轨探测能力强的特点在这个领域中扮演重要角色。随着设备远程控制与无人值守的需求愈加强烈,能够在远端接收高灵敏度相机采集到的实时任务图像成为光电测控领域的一项技术难题。为保证空间目标在任务图像中被准确识别和定位,图像传输过程中既要保证实时性,同时要求保留所有图像细节,即无损传输。以25 Hz采集分辨率为1 k×1 k的8 bit高灵敏度图像为例,每秒钟产生的图像数据量为200 Mbit,对现有通讯链路信道带宽带来较大的传输压力,数据在不经压缩处理的情况下很难实现实时传输。为此,本文分析了无损压缩算法原理和高灵敏度图像特点,提出一种基于改进LZO的高灵敏度图像无损压缩方法。通过实验,分析了该方法的压缩性能,为任务图像的实时无损传输提供了理论基础。

1图像压缩

1.1无损压缩算法

无损压缩算法就是利用原始数据中的冗余信息,采用特定的编码机制,尽可能地消除这些冗余,使用更少的数据位元来表示信息,并且在对压缩后的数据解压还原时能够保证所有信息不受损失,完全恢复压缩前的数据。目前无损压缩技术根据压缩原理可以划分为两类:一类是基于统计频率的无损压缩算法,这类算法不考虑原始数据的内部关联性,单纯统计字符频率来对信息进行编码,包括Huffman编码、游程编码(RLC)和算术编码等;另一类是基于字典查询的无损压缩算法,区别于前一类算法,既不预先统计频率,也不使用变长位元数编码,而是采用类似于字典查询的方式,建立统一的索引规则,自适应地建立”词条”,对重复出现的字符串使用”索引”来表示。这类算法考虑了数据间的关联性,压缩前原始数据关联性越高,压缩效果越好。

区别于文本或其他形式数据,高灵敏度图像的一个突出特点就是图像中任何一个像素点都不是孤立的,并与周围临近的像素之间存在一定的关联性。如图1中所示,分别为一帧月球图像和一帧某星团图像,观察2幅图像的灰度值可以发现,在绝大范围的背景区域中,像素值相近或相等;在目标成像的局部范围内,像素值变化趋势一致。基于字典的压缩算法能够充分考虑图像数据之间的相关性,重复数据索引距离越短,压缩效率越高,并且支持边载人数据边编码压缩,在速度上更具优势,是图像实时无损压缩的最佳选择。

自1977年Abraham Lempel和Jacob Ziv两人发表IZ77算法以来,几乎所有的字典类压缩算法均是从LZ系列算法演变而来。其中,1984年Terry Welch发明的基于IZ78改进的LZW算法和1996年Oberhumer提出的针对压缩速度优化的IZO算法最具代表性且使用最为广泛。IZW算法与IZO算法压缩原理上根本区别在于:IZO放弃使用最大匹配長度来进行字符串搜索,而使用相对最长的原则,通过hash算法寻找匹配字符串,大幅度地提高压缩速度;而LZW方面,面对新输入的字符都要建立对应的索引,在扩充字典并出现位置占用时,只能依赖偏移寻找存储位置,并且待处理的数据越多,需要建立的索引越大,最终造成压缩速度的下降。