2. 大庆油田有限责任公司第三采油厂地质大队, 黑龙江 大庆 163318
2. Geological Team Oil Recovery Plant No.3 Daqing Oilfield Co., Ltd., Daqing 163318, China
按照能否精确重建图像分类,图像压缩有无损压缩和有损压缩两种方式。有损压缩放弃某些人眼容易忽略的信息,达到比较高的压缩比,因而得到广泛应用。无损压缩只是消除了冗余度,而没有任何信息的损失。无损压缩能够达到的压缩比十分有限,因此无损压缩仅应用在相对珍贵或者获取成本高昂的图像保存中,例如珍贵文献的数字资源,医学或遥感图像。但随着电子行业和网络的发展,人们对高品质图像的需求日益增长,日常生活中,人们希望能够完整保存某些有纪念意义的照片。在科学研究中,人们希望把能够记录时代信息的图像完整保存起来,为后世或后来的研究保留完整的资料。但图像资料数据量庞大,存储这些资料给存储设备和网络传输常来很大的压力,只有无损压缩技术的发展才可解决。
无损压缩是没有任何信息损失的压缩,即100%重建原图像,无损压缩极限受其信息熵决定。即对于8位图像,最大压缩比为8/H(x),H(x)为图像信息熵。图像的信息熵不一样,同一种算法对不同的图像压缩比是不一样的。常见的无损压缩方法有预测编码、熵编码和LZW编码等。无损图像压缩算法是上述几种算法的组合,或再辅以某种正交变换。文献[1]系统地评估了以下几种无损压缩算法。但这几种方法都只是针对某一类图像压缩有效,为此联合图像专家组(JPEG)制定了无损压缩标准:JPEG-LS。JPEG-LS综合了预测编码,游程编码以及熵编码,虽然对某一类图像的压缩效果不一定最好,但具有最广泛的实用性。 1 JPEG-LS的编码原理
JPEG-LS依赖于预测编码技术和差值预测环境自适应编码技术,预测编码和环境自适应编码两种技术都涉及到邻域的概念,邻域是当前编码的样本集,用来构建预测结果或者为当前样本值的环境编码。JPEG-LS采用的上下文建模的因果模板(causal template)如图 1所示。图像样本以光栅顺序逐一编码,从图像的左上角开始到右下角[2]。
![]() | 图 1 JPEG-LS的因果模板 Fig. 1 Causal template of the JPEG-LS algorithm |
对任意给定样本x[n1,n2]≡x[n]编码时,该邻域包括

为方便起见,通常把当前抽样值和其邻近值分别简写为x[n]和xa,xb,xc,xd。
2 JPEG-LS的编码说明
对于当前像素x,首先利用其周围相关的像素a,b,c,d计算其三个梯度,根据梯度决定该局部区域是平滑区域还是规则(Regular)区域,如图 2所示,对于前者采用游程(Run-Length)编码,对于后者采用规则模式处理(Regular model)。JPEG-LS的核心就是对Regular model下的编码进行处理[3]。
![]() | 图 2 简单编码流程 Fig. 2 The simplified encoding flowchart |
当对图像数据的第一行进行编码时,xb,xc,xd不存在,如图 1所示,这三个值设为0;在当前数据位于行头或行尾时,xa,xc,xd不存在,xa,xd取xb得重建值Rb,xb取上一行的xa得重建值Ra。如图 3所示,方框内为待编码的图像数据。
![]() | 图 3 图像数据边界处理示例 Fig. 3 An example of the image-edge processing |
Regular model模式下编码包括固定预测(fixed predictor),自适应校正(adaptive correction)以及对预测残差的 Golomb编码。 固定预测是通过像素x周围的相关像素a,b,c进行预测,预测函数为

表示定义。
通过预测得到像素x的预测值Px,预测误差包括两部分,一部分为其整数部分(bias),一部分为小数部分(shift),通过自适应校正得到没有整数部分的残差。这一步是通过自适应校正(adaptive correction)来实现的,也称去除整数偏差(bias cancellation)。这一步利用上下文参数(context)通过递归反馈的方式实现[4]。
上下文所需要的参数有A,B,C,N,分别用来存储累计的预测误差大小的总和,预测偏差(小数部分)的总和,预测修正误差的正值(整数部分)以及每个对应上下文在编码过程中预测残差发生的次数。A和N用来更新Golomb编码器参数k,N和B用来更新C码中的校验值[3]。上下文A[0,1,…,TOT_CONTEXTS],B[0,1,…,TOT_CONTEXTS],C[0,1,…,TOT_CONTEXTS],N[0,1,…,TOT_CONTEXTS]的索引个数TOT_CONTEXTS 对于A和N中取(93+1)/2=366,B和C中取(93-1)/2=364。上下文参数A,B,C,N需要初始化,之后在对每一像素进行编码过程中不断进行更新和反馈。上下文的索引值选取3个梯度的量化加权和,因此,上下文本质上是反映当前像素点局部区域的活动情况。对3个梯度量化越细,上下文个数越多。根据对称量化区域的概率相等,即

最后对经过固定预测以及自适应校正预测后的残差用Golomb编码,Golomb编码本质上是对单边几何分布的熵编码。Golomb编码首先要选择最佳的编码参数k,其生成编码的平均码长是最短的,在JPEG-LS中k值依赖于上下文并且自适应地改变。对经过固定预测和自适应校正后的预测偏差Errva映射到正整数区间,以便进行Golomb编码。映射函数为

码流分两部分,一部分为预测残差对2k 的商unary,用unary个0再加一个1;另一部分为预测残差对 2k的模,用其二进制表示[6]。
因此,JPEG-LS压缩编码过程主要分三个部分,自适应校正(adaptive correction),平坦区域的游程编码(run-length coding),规则模式下的Golomb编码。其中最主要的还是自适应校正(adaptive correction),具体体现在上下文参数A,B,C,N在编码过程中的自动迭代更新。解码过程和编码相似,根据事先配置的梯度量化表,上下文参数表以及初始化像素值,逐位解码,解码也要根据情况分析是采用游程解码还是规则模式的Golomb解码。对于Golomb解码是边解码边更新上下文参数A,B,C,N。图 4是JPEG-LS的编码流程图。
![]() | 图 4 JPEG-LS编码流程图Fig. 4 The encoding process of the JPEG-LS algorithm |
计算当前像素的梯度值时,需要该像素周围像素值。一般采用扩边方法,即上边扩一行,左扩一列,右扩一列,如图 3所示。
3 实验分析
选用八幅8比特标准灰度图像(512×512)对JEPG-LS进行分析验证。八幅图像如图 5(a)~(h)所示。可以看出图 5中(a)Barbara、(b)Goldhill、(d)Baboon的内容细节信息较为丰富,含有大量的纹理信息,较难获得较高压缩比;(c)Bridge的细节信息较少,图像内容较为简单,一般来说能获得较好的压缩比;(e)Boats和(f)Lena是图像处理人员常用的测试图像,纹理信息和结构信息均较为适中,很具有代表性。
![]() | 图 5 八幅标准灰度图像 Fig. 5 Eight standard gray images |
测试硬件环境为ThinkPad T400,操作系统为Windows XP SP3,软件环境为Visual Studio 6.0,C语言编程。经测试图 5图像JPEG-LS算法的无损压缩比和程序运行时间,得到结果如表 1所示。
|
|
表 1 JPEG-LS算法的压缩比和运行时间 Tab. 1 The compression ratio and running time of the JPEG-LS algorithm |
从实验结果可以看出,JPEG-LS对各类图像都有良好的压缩性能,图像内容越简单,能够获取的压缩比也越高,压缩解压缩所需运行时间也越少,图像内容越丰富,压缩也比较困难,相应耗费的时间也较多。
表 2中信息熵和压缩极限只是对图像信息熵和图像压缩极限的粗略估计,信息熵是通过整数小波变换所得小波系数的一阶熵,由于小波变换不能完全消除图像像素间的相关性,实际上图像的信息熵要低于我们计算的熵[7]。但从中也可看出JPEG-LS算法在建模和编码两个方面都做得极好,因而JPEG-LS能够达到更高的压缩比。
|
|
表 2 图像的信息熵估算 Tab. 2 The estimation of the information entropy of the images |
本文对无损压缩算法JPEG-LS的算法原理,实现过程中所需的细节技术做了深入的研究,用C编程语言实现了JPEG-LS压缩算法,并选取大量的标准灰度图像进行实验。实验结果表明:该算法对各类图像均具有良好的压缩性能,压缩比可以达到或超越通过正交变换的各类压缩算法,而且计算的时间消耗低,能够满足人们日常应用的时间需求。
| [1] | SAVAKIS A E.Evaluation of lossless compression methods for gray scale document images[C]//Proceedings 2000 International Conference on Image Processing.Vancouver,BC:IEEE,2000:136-139. |
| [2] | TAUBMAN D S,MARCELLIN M W.JPEG 2000 image compression fundamentals,standards and practice[M].Heidelberg:Kluwer Academic Publishers,2002. |
| [3] | 艾 飞,徐伯庆,孙国强.光学图像的DSP压缩处理[J].光学仪器,2009,31(2):48-51. |
| [4] | JIANG J,GUO B,YANG S Y.Revisiting the JPEG-LS prediction scheme[J].IEE Proceedings-Vision.Image and Signal Processing,2000,147(6):575-580. |
| [5] | 李恒建,王连海,张家树.基于JPEG-LS的高效掌纹图像安全编码算法[J].计算机科学,2013,40(9):141-146. |
| [6] | WEINBERGER M J,SEROUSSI G,SAPIRO G.The LOCO-I lossless image compression algorithm:principles and standardization into JPEG-LS[J].IEEE Transactions on Image Processing,2000,9(8):1309-1324. |
| [7] | WEINBERGER M J,SEROUSSI G,SAPIRO G.The LOCO-I lossless image compression algorithm:principles and standardization into JPEG-LS[J].IEEE Transactions on Image Processing,2000,9(8):1309-1324. |
2014, Vol. 36
Issue (4): 315-318,322






