搜索
您的当前位置:首页正文

CCSDS与JPEG2000图像压缩算法结构的对比分析

来源:赴品旅游
第12卷2010年6月 第6期 撬 ◎’ V0lI12 No.6 June.2010 CCSDS与JPEG20OO图像压缩 算法结构的对比分析 史承兴,雷婷 (西安电子科技大学电子工程学院,陕西 西安710071) 摘 要:介绍了空间数据咨询委员会于2o05年l1月提出的CCSDS图像压缩算法。并将其与当 前流行的JPEG20o0图像压缩算法在结构上进行了对比分析,指出了CCSDS ̄像压缩算法可以 改进的地方。 关键词:CCSDS;JPEG2000;图像压缩;算法结构 0引言 变换则可实现无损压缩。经过三级离散小波变换 (DWr)后,图像被分为十个子带,分别记为LL3, 随着航空航天技术的发展.人类也加快了对 LH3,HL3,HH3,LH2,HL2,HH2,LH1,HL1和 太空探索的脚步,从而对空间图像的实时性、高 HH,,图2所示是DWT后的数据重排格式。 效性传输提出了更高的要求.也加大了对压缩性 能良好且复杂度低的图像压缩算法的需求。在这 1.2位平面编码(BPE) 一形势下,CCSDS组织于2005年11月发布了一套 小波变换后。每64个小波变换系数组成一个 用于空间领域的图像压缩算法标准,该算法主要 编码块(Block),每块包括一个唯一来自最低频 定位于太空飞行器上的高速设备。因而不需要复 带(L )的系数(称为直流系数DC)和63个交流 杂的算法知识背景就可以理解并应用。 系数(AC)。按LHm、HIJm和HH 子带各自不同尺 度上的对应关系,AC系数又由三个家族组成, 1 CCSDS图像压缩算法简介 可用Fn表示(n=0,1,2),图2所示为其格式。 CCSDS算法是一种基于离散小波变换的图像 将若干个由小波系数进行重排得到的编码块 可以组成一个编码段(Segment),每个编码段中 压缩算法,CCSDS图像压缩算法的编、解码的基 的编码块可按照光栅扫描顺序选定。在CCSDS算 本结构如图1所示。 法中,编码段中的数据通常以群(gaggle)为单位 位平面编码 码流文件 进行统一编码,并分别对动态门限截断(或称为 ●___●____-__-___一 存储或传输 逐次逼近量化方法(SAQ))后的DC系数进行Rice ・——-1离散小波逆变换卜一— 位平面解码}.-—_叶码流文件I 编码。同时对AC系数进行系数字的映射及熵编 图1 CCSDS像压缩算法的基本结构图 码。编码后的每个编码段内形成一种嵌入式的码 1.1离散小波变换 流数据格式,这种数据格式支持码流的渐进传 输,同时可以实现码率控制。 CCSDS图像数据压缩标准建议书中采用的是 重构图像的质量和压缩比与每个编码段内的 9/7双正交浮点离散小波变换和9/7整数离散小波 编码最大字节数直接相关。与JPEG2000中的优化 变换。其中9/7双正交浮点离散小波变换可实现 截断算法不同,CCSDS算法各段编码后的码流最 较高压缩效率的有损压缩;而9/7整数离散小波 大字节数可以直接根据压缩前确定的压缩码率 (Bit per pixel,bpp)计算,且各编码段内的最大 收稿日期:20o9—12—16 狮脚.eca cn 2010.6电子元器件主用 89 第12卷第6期 电子元器件主硐 Vo1.12 No.6 2010年6月 Electronic Component&Device Applications June.20l0 DC系数 父系数P 口 图 彳系 L ‘ : …父系数P 父系数P n 圈 、系 数( 囹 囟 j TH HH, 寻系 . 子系数G 圈…一 ‘' L】 ]}  ● HH】 IILI h系 数( I 孙系数Q 家庭 瘟 凌 潮 LH HH。 图2 DWT后的数据重排格式 字节数相同。当段内码流的数据量达到最大字节 DWT均为Daubechies f 9,71滤波器。这在 数后,即可针对该段编码的阶数进入下一个编码 JPEG2O00已用提升方案实现,而在CCSDS算法中 段的编码操作。未编人码流的数据可在解码时进 尚未实现提升方案。另外,两种算法标准中所要 行估计补偿。 求的DWT变换级数也不相同,CCSDS图像压缩算 解码过程为编码过程的逆过程,这里不再赘 瓣圈瓣圜 法是按三级二维DWT来对图像进行变换的,测试 述 结果表明,CCSDS算法的小波变换级数从三级到 四级时,其PSNR提高不超过0.5 dB,从三级到五 2 CCSDS与JPEG2000算法的结构比较 级至多提高0.63 dB。而实现大的分解级数的复杂 度非常高.与PSNR的提高相比得不偿失。故在 2.1变换域编码 JPEG2000中并没有严格规定DWT的级数,而是 变换域编码就是将通常在时域或空域描述的 根据实际情况在1~5级之间进行选定。 信号变换到另外一些正交矢量空间中进行编码, 并使变换域中描述的各信号分量之间的相关性减 2.2图像的预处理 小或互不相关。从而使其比变换前的能量更加集 CCSDS图像压缩算法标准中并没有规定对小 中,达到更好的压缩效果。变换域编码的另一个 波变换前的图像采取任何预处理措施,但在 优点是抗误码能力较强。正是由于DWT具有良好 JPEG2000算法的小波变换前则进行了两个预处理 的能量聚集特性,所以,这两种算法都采用DWT 过程:一是对所需编码的图像进行分块处理;二 来获得较高的压缩性能和抗误码能力。CCSDS无 是对分块后的图像进行直流平移。JPEG2o00中的 损图像压缩算法采用9/7整数DWT,而JPEG2000 分块处理有利于增强算法的抗误码性能,但也相 则采用5,3整数DWT。两种算法所采用的浮点 应降低了压缩性能。JPEG2000的预处理采用的直 90 电子元器件主硐2010.6 w ̄trw.ecd ̄cl't 第12卷第6期 2010年6月 鼹恭 Vo1.12 No.6 June.2010 流平移也可以在CCSDS中实现。即对CCSDS算法 进行小波变换前的源图像进行直流平移后再进行 DWT变换。实现预处理后,可对lena图像进行测 试,测试结果如表1所列(编码段大/J ̄S=64)。从 表1中可以看出.对源图像进行直流平移后的重 建图像质量要比不进行直流平移预处理的图像重 建质量略高。本文使用峰值信噪比fPSNR)和结 D0 H0 D2 V0 X Vl Dl H1 D3 图3 X的八领域格式 需要考虑如图3所示的当前位的八领域,如果八 领域内有1。则认为该系数在当前位平面是重要 的.并进入重要性编码通道。而当八领域全为0 构相似度(SSIM)评估算法效果。 时,该系数则是不重要的,即进入清零通道编 表l 直流平移前后的测试结果对比 码。 从以上对两种算法的重要性判断可以看出: CCSDS算法的重要性系数判断复杂度较低,它不 需要判断其八领域在当前位平面的比特值,而只 考虑系数本身。但由于该算法采用编码块的数据 组织方式.而一个系数的八领域的系数可能来自 不同的子带,其幅值大小必然存在较大差别,若 2-3小波系数的处理 再像JPEG2000中系数重要性判断一样判断八领域 在CCSDS图像压缩算法中,首先将DWT后的 的情况,这无疑是一种徒劳,而且会降低算法压 小波系数矩阵重排成编码块(block)的形式,每 缩性能,同时也会增加算法的复杂度。 个编码块由来自LH3、HL3和HH3子带的3个父系 2.5熵编码的效果 数,12个子系数和48个孙系数组成。完成编码块 的重排后,就可进行编码段(segment)划分,即 JPEG2000中采用的MQ算术编码,是一种用 将S个连续的block组成一个编码段。后面的编码 于二进制数据的自适应算术编码。是算术编码的 一过程在编码段间独立进行,这样重排之后.无疑 种变形形式,其编码器框图如图4所示。假如 会增强CCSDS图像压缩算法的抗误码能力.也提 输入信号为D、CX,其中D为二进制码字,CX为 高了算法的压缩性能。而JPEG2000在DWT后, 码字对应的上下文,则输出信号为CD。 并没有进行小波系数的重排,而是直接对子带内 的数据进行编码。 2.4重要性系数的扫描方式 图4 MQ算术编码器框图 在CCSDS图像压缩算法中,AC系数编码时, MQ算术编码以递归概率间隔细分为基础。 对系数字的映射可以看作是系数重要性的判断过 随着每个二进制码字的判决,当前概率间隔被细 程。对一个AC系数而言,其扫描方式是从最高 分为两个子间隔:大概率符号fLPS1子间隔和小 位平面到最低位平面,即类型值为2之前的位平 概率符号fMPS)子间隔。MQ算术编码器的MPS 面都可以认为是重要的,需要进行系数字的映 子间隔在上,LPS子间隔在下。当MPS被编码时。 射。而一旦系数字类型值变为1.则在接下来的 LPS的子间隔被加到码流中:而当LPS被编码时。 位平面上,该系数就不再是重要性数据,而作为 码流保持不变。解码流程与此类似,当每个二进 当前AC的精细位写入码流中,即可认为是 制码字被判定后。码流中就应减去编码时加到码 JPEG2000中所讲述的不重要性系数。在 流中的间隔 JPEG2000中,位平面对系数的重要性的判断是按 在CCSDS算法中,AC系数采用的熵编码是查 如下方式进行的:如果该系数的当前比特值为1, 表法的编码方式,也就是将AC系数的映射字通 则认为该系数在当前位平面是重要的,其当前位 过查表法进行熵编码,这样处理能降低算法的复 进入幅值精炼编码;而如果当前比特值为0。则 杂度。但也会使熵编码达不到预期的效果。且压 W/Ar/O.ecd ̄c//,2010.6电子元嚣件主用 91 第12卷第6期 电手元嚣件主用 Electronic Component&Device Applications V0l|12 No.6 20l0年6月 June.2010 缩性能不够理想,这是因为用来进行熵编码的表 JPEG2000采用压缩后率失真优化fPCRD— 格中的映射都是由经验所得,并不是对所有图像 都通用。 opt)算法:即从每一个编码块的截断点中选取一 些符合率失真优化的截断集合。然后让所有编码 块的截断集合中元素所对应的失真和长度斜率按 从大到小排列,这样的编码块码流组合在任意比 特率下都具有最佳率失真。 其实,CCSDS图像压缩算法中的编码段就相 当于JPEG2000中的编码块,CCSDS算法在压缩后 本文对CCSDS图像压缩算法中的AC系数的熵 编码进行了测试,以观察去除AC系数熵编码后 的算法压缩性能的变化情况。其测试结果如图5 所示。 羹 ∞ 。 曩 姆 v0∞  图5 AC系数炳编码效果测试结果 从图5中可以看出,在AC系数编码阶段所用 的查表法编码的效果和不加熵编码的效果相差很 小,尤其在高倍压缩时,两者几乎一致。在低倍 压缩时,两者相差约为O,2~0.3 dB。而在 JPEG2000中。MQ编码器的效果远比熵编码的效 果好得多。因此可以考虑使用一种复杂度低而压 缩效果良好的熵编码方法来代替这里的查表熵编 码方法.这样就能改善CCSDS算法中AC熵编码的 效果,从而获得更高的压缩效率。 2.6编码后码流的组织 JPEG2000和CCSDS产生的码流均为嵌人式码 流.这种数据格式支持数据的渐进传输,可以实 现对码率的控制。码率控制的目的是为了在已定 码率的前提下寻求各编码块的截断点,使得由量 化和截断引入的误差达到最小。码率控制涉及量 化、熵编码和码流组织三部分。对于量化,可以 使量化步长根据要求的压缩率反复调整以达到目 标码率,这是一种交互式控制方法,可在熵编码 结束后.根据已定的最优原则生成各个码块的嵌 入式码流。 92 电子无器件主用2010.6 www.ecda.cn 的码流是平均分配的。它首先根据源图像大小和 压缩比计算出压缩后的总码流大小,而后根据编 码中采用的编码段总数,对总的码流进行平均分 配,使每个编码段编码后的码流大小相等。在 CCSDS算法中进行这样的处理是因为每个编码段 的信息量大小基本一致,小波变换后的系数重排 可使每个编码段都包含有l0个子带中的系数。严 格的讲,每个编码段的信息量总是有差别的,因 此。也可以考虑采用类似于JPEG20o0中率失真的 方式来组织码流,但这样无疑又会增加算法的复 杂度。 3结束语 通过以上对CCSDS和JPEG2000图像压缩算法 的结构对比分析可以看出,CCSDS比JPEG2000的 算法复杂度低得多,在以芯片和嵌入式系统为代 表的资源受限系统越来越普及的今天.CCSDS图 像压缩算法必将得到广泛应用。 参考文献 【1】 CCSDS.Image Data Compression.Blue Book[Sl,CCS- DS122.0一B—1.20O5. [2】IS0仃EC JTCl,sC29 G 1 N 2412,The JPEG-2000 Still Image Compression Standard【S】,ISO/IEC,2001 [3 3】CCSDS.Image Data Compression.Green Book Is】,CCS— DS122.0-B一1.20o7. [4] Z.Wang,A.C.Bovik,H.R.Sheikh,etc.Image quality assessment:From eiio'r visibiliyt to structural similarity. IEEE Transaction on Image Processing[Jl,2004,13(4): 60o一612 【5】D.Taubman”Hish Performance Scalable Image Com— preesion With EBCOT”,Processing.IEEE Int。Confer- ence Image Processing【J】,Vo1.III,343 ̄348,October 1999 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top