摘 要: 对CCSDS算法进行了优化,提出了OCPC算法。该算法采用两种预测模式根据像素点位置自适应地选择预测方法,并且编码采用Golomb Rice编码方法,编码中仍然采用自适应编码K的计算方法。最后对OCPC算法的压缩特性进行了验证,取得了优越的压缩性能。
关键词: 图像压缩;CCSDS图像压缩算法;OCPC算法
高光谱遥感是指在光谱从紫外到中红外波段范围内将其划分为许多非常窄而且连续的波段来进行采集的遥感系统,获得的图像具有很高的光谱分辨率[1]。海量的高光谱数据给传输带来了巨大的压力,研究低复杂度、低存储和高性能的高光谱图像压缩编码方法是高光谱成像技术的重要研究课题。本文主要针对高光谱图像的无损压缩进行了相关领域的研究,并对空间数据系统咨询委员会(CCSDS)最新发布的CCSDS高光谱图像无损压缩算法标准进行优化。
1 CCSDS算法简介
CCSDS无损压缩算法包括图1所示的两个功能模块,一个模块是预测器模块,用来减少高光谱图像数据冗余;另一个模块是编码器模块,对降低冗余后的数据进行编码[2-3]。
预测器的核心就是局部和的选取和局部差的选择。局部和的计算决定了预测模式,精简模式预测中选择的预测方法为列向局部和,如图2(a)所示;全模式预测中采用的是邻域预测像素点选取规则,可以选择的预测方法为周边局域和,如图2(b)所示。
2 CCSDS算法的优化
针对高光谱图像的谱间相关性和空间相关性,为了取得较好的压缩性能,本文提出优化组合预测编码OCPC(Optimized Combination Processing Coding)算法进行高光谱图像的无损压缩。这种优化的无损压缩算法根据当前像素点的位置进行预测模式的自适应选择,计算预测值与真实像素值之间的差分结果,并将差分结果进行Golomb Rice编码后输出。OCPC算法有效地解决了图像边界预测问题,取得了更好的压缩特性。
2.1 预测器的优化
OCPC算法的核心就是两种预测模式和Golomb Rice编码,图4所示为OCPC算法的整个体系结构。
OCPC算法中预测器包含精简模式预测和全模式预测两种预测模式。精简模式预测用于处理高光谱图像中的第一行、第一列和最后一列像素值;全模式预测用于处理高光谱图像中其他区域的像素值。该算法的处理流程如下。
(1)输入高光谱图像数据,判断当前像素点位置,若当前位置为第一行、第一列或者最后一列,则跳至步骤(7);否则,计算全模式Z谱段周边局部和,并得到?滓z,y,x。
(2)由步骤(1)计算的局部和和输入图像值可得到中心局部差和周边局部差,这里要得到P个谱段的中心局部差值,因此要对谱段进行判定,直到Z-P个谱段中心局部差全部获取为止。
(3)由步骤(2)得到的P个中心局部差和3个周边局部差可得到局域差矢量。
(4)为了得到每个元素均为整数的局部差矢量,需要对其进行加权,由此计算出预测中心局部差z(t)。
(5)由步骤(4)的预测中心局部差对权重进行权重更新,得到实时的权重更新矢量。
(6)预测误差映射器负责对步骤(5)的预测中心局部差进行预测误差映射。
(7)精简模式预测P个谱段的列向局部和,得到P个谱段的中心局域差,由P个中心局部差元素得到局域差矢量,然后对该矢量进行加权,由此计算出预测中心局部差,预测中心局部差一方面由预测误差映射器进行预测误差映射,另一方面用于权重更新,预测误差映射用于后续的编码。
(8)计算K值,对预测误差映射值进行Golomb Rice编码,压缩码流输出。
3 OCPC算法的压缩特性验证
根据上述优化处理后的OCPC算法,本节对该算法用C语言实现,并在VC++ 6.0开发平台上对高光谱图像进行测试,包括无损压缩与解压缩处理,输出压缩后的码流数据与重建后的图像[5-6],同时得到压缩比,并与优化前的CCSDS无损压缩算法和JPEG-LS压缩算法进行无损压缩效果对比。
基于C语言的OCPC算法的总体实现框架如下,ReducedMode( )为精简模式预测编码函数,FullMode( )为全模式预测编码函数。
for(y==0;y<Ny;y++)
for(x==0;x<Nx;x++)
{
if(y==0‖x==0‖x==Nx-1)
ReducedMode(src,dst,height,width,bands);
else if
FullMode(src,dst,height,width,bands);
end if;
}
通过VC++ 6.0平台对该算法的C程序进行编译、链接和运行,生成.exe可执行文件。在PC命令行处调用可执行文件,对图5(a)中的高光谱图像进行压缩处理,本次压缩处理采用10个预测谱段进行预测编码处理。为了验证该算法的压缩性能,特针对图5(a)压缩处理后的数据进行解压缩处理,得到解压后的输出图像,如图5(b)所示。在MATLAB软件上通过重建的图像与原图像的对比可知,解压后的图像能够完全恢复原图像,验证了OCPC算法对高光谱图像无损压缩的可行性。
为了更客观地评价优化处理后的OCPC算法的无损压缩性能,另外选取3幅位宽为16 bit的Aviris星载遥感图像,并对其进行无损压缩处理。将OCPC算法与CCSDS算法和JPEG-LS算法压缩进行比较, 3种算法压缩效果对比如表2所示。
从表2可以看出,采用JPEG-LS算法指标可以实现7.56 bit/像素的压缩效果,优化前CCSDS算法可实现4.94 bit/像素的压缩效果,OCPC算法可实现4.52 bit/像素的压缩效果,表明OCPC算法均优于其他两种算法标准。特别说明,JPEG-LS无损压缩算法在去除空间相关性方面效果较好,只针对图像进行单谱段独立压缩,由于高光谱图像的谱间相关性要远远高于空间相关性,因此这里JPEG-LS算法的压缩效果与CCSDS算法压缩效果差距较大。
本文主要优化了基于CCSDS最新发布的CCSDS高光谱图像无损压缩标准,提出了高光谱图像无损压缩算法OCPC算法。通过测试结果发现,CCSDS算法的压缩特性具有在不影响图像解压效果下多谱段预测编码的压缩性能均优于单谱段独立压缩达到的性能,并且OCPC算法的压缩性能得到提升。
参考文献
[1] 童庆禧, 张兵, 郑兰芳. 高光谱遥感——原理技术和应用[M].北京:高等教育出版社,2006.
[2] Lossless Multispectral & Hyperspectral Image Compression. Recommendation for space data systems standards[S]. CCSDS 123.0-B-1.Blue Book.Issue 1.Washington D.C,CCSDS,May,2012:14-40.
[3] PEN S Y,PHILIPPE A. The new CCSDS image compression recommendation[C]. IEEE Aerospace Conference,2005:4138-4145.
[4] 胡栋. 静止图像编码的基本方法与国际标准[M]. 北京:北京邮电大学出版社,2003.
[5] 郑永奇,焦铸,韩玉霞. 压缩感知图像重构中矩阵互相关性的研究[J]. 微型机与应用,2013,32(5):46-49.
[6] 张晓玲,沈兰荪. 高光谱图像的无损压缩研究进展[J].测控技术,2004,23(5):23-27.