JPEG2000图像压缩标准及其关键算法(精)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JPEG2000图像压缩标准及其关键算法

周宁汤晓军徐维朴

(西安交通大学人工智能与机器人研究所西安710049)

摘要:JPEG2000是为适应不断发展的图像压缩应用而出现的新的静止图像压缩标准。阐述了JPEG2000图像编码系统的实现过程, 对其中采用的基本算法和关键技术进行了描述,介绍了这一新标准的特点及应用场合,并对其性能进行了分析。

关键词:JPEG2000; 图像压缩;离散小波变换; 速率控制;感兴趣区域

1 引言

随着多媒体应用领域的快速增长和网络的不断发展,传统的JPEG压缩技术已无法满足人们对数字化多媒体图像资料的要求,一种功能更强大、效率更卓越的静止图像压缩标准被提到制定日程上,这就是JPEG2000。

JPEG(Joint Photographic Experts Group)是在国际标准化组织(ISO)领导之下制定静态图像压缩标准的委员会,第一套国际静态图像压缩标准ISO 10918-1(JPEG)就是该委员会制定的。由于JPEG优良的品质,使他在短短几年内获得了极大的成功,被广泛应用于互联网和数码相机领域,网站上80%的图像都采用了JPEG压缩标准。然而,目前的JPEG静止图像压缩标准,具有中端和高端比特速率上的良好的速率畸变特性,但在低比特率范围内,将会出现很明显的方块效应,其质量变得不可接受。JPEG不能在单一码流中提供有损和无损压缩,并且不能支持大于64×64 K的图像压缩。同时,尽管当前的JPEG标准具有重新启动间隔的规定,但当碰到比特差错时图像质量将受到严重的损坏。

针对这些问题,自1997年3月起,JPEG图像压缩标准委员会开始着手制定新一代的图像压缩标准以解决上述问题。2000年3月的东京会议,确定了彩色静态图像的新一代编码方式JPEG2000图像压缩标准的编码算法。

JPEG2000系统分为下列7个部分:

①JPEG2000图像编码系统;

②扩充(给①的核心定义添加更多的特征和完善度);

③运动JPEG2000;

④一致性;

⑤参考软件(目前包含Java和C实现);

⑥复合图像文件格式(用于文件扫描和传真应用程序);

⑦对①的最小支持(技术报告)。

①为完全被认可的ISO标准,定义了核心压缩技术和最小文件格式,②~⑥定义压缩和文件格式的扩充。其中,①已经制定完成,其余部分还在制定过程中。本文所讨论的JPEG2000标准就是基于第1部分的。

2 JPEG2000系统的特点

JPEG2000以其特有的优点弥补了现行JPEG标准的不足。离散小波变换算法中,图像可以转换成一系列可更加有效存储像素模块的子带,因此,JPEG2000格式的图像压缩比可在现在的JPEG基础上再提高10%~30%,而且压缩后的图像显得更加细腻平滑。也就是说,在网上观看采用JPEG2000压缩的图像时,不仅下载速率比采用JPEG格式的快近30%,而且品质也将更好。对于目前的JPEG标准,在同一个压缩码流中不能同时提供有损和无损压缩,而在JPEG2000系统中,通过选择参数, 能够对图像进行有损和无损压缩,可满足图像质量要求很高的医学图像、图像库等方面的处理需要。现在网络上的JPEG图像下载时是按“块”传输的,因此只能逐行地显示,而采用JPEG2000格式的图像支持渐进传输(Progressive Transmission),这就允许图像按照所需的分辨率或像素精度进行重构,用户根据需要,对图像传输进行控制,在获得所需的图像分辨率或质量要求后,便可终止解码,而不必接收整个图像的压缩码流。由于JPEG2000采用小波技术,利用其局部分辨特性,在不解压的情况下,可随机获取某些感兴趣的图像区域(ROI)的压缩码流,对压缩的图像数据进行传输、滤波等操作。

3 JPEG2000图像编解码系统

本节主要介绍JPEG2000图像编解码系统。其编码器和解码器的框图如图1所示。

在编码器中,首先对源图像进行前期预处理,对处理的结果进行离散小波变换,得到小波系数。然后对小波系数进行量化和熵编码,最后组成标准的输出码流(位流)。解码器是编码器的反过程,首先对码流进行解包和熵解码,然后是反向量化和离散小波反变换,对反变换的结果进行后期处理合成,就得到重构的图像数据。尽管JPEG2000编解码过程与JPEG类似,但是对于每一步的具体实现两者却有非常大的差异。编码过程的一般步骤如下:

(1) 将有多个颜色分量组成的图像分解成单一颜色分量的图像。分量之间存在一定的相关性,通过分解相关的分量变换,可减少数据间的冗余度,提高压缩效率;

(2) 分量图像被分解成大小统一的矩形片——图像片。图像片是进行变换和编解码的基本单元;

(3) 每一个图像片进行小波变换。产生多级系数图像。这些不同级数的系数图像可以重构出不同分辨率的图像;

(4) 多级分解的结果是由小波系数组成的多个子带。他们表示图像片中局部区域(而不是整幅图像)的频率特性;

(5) 对系数子带进行量化,并且组成矩形数组的“码块”;

(6) 对一个码块中的系数位平面(也就是一个码块中整个系数中具有同样权值的那些位)进行熵编码;

(7) 相对于图像的背景区域,可以对感兴趣区域进行更高质量的编码;

(8) 通过在位流中加入掩码来增加抗干扰性;

(9) 在每一个码流的最前部都有一个头结构,他描述的是源图像的属性,各种分解情况和编码风格。这个头结构可以用来进行定位、抽取、译码和重构图像,得到的图像可以具有所期望的分辨率、重现精度、感兴趣的区域或是其他特性。

编码过程主要分为以下几个过程:预处理、核心处理和位流组织。预处理部分包括对图像分片、直流电平(DC)位移和分量变换。核心处理部分由离散小波变换、量化和熵编码组成。位流组织部分则包括区域划分、码块、层和包的组织。

3.1 预处理

(1)图像分片

分片指的是把源图像分割成相互不重叠的矩形块——图像片,每一个图像片作为一个独立的图像进行压缩编码。编码中的所有操作都是针对图像片进行的。图像片是进行变换和编解码的基本单元。图像的分片降低了对存储空间的要求,并且由于他们重构时也是独立进行的,所以可以用来对图像的特定区域而不是整幅图像进行解码。当然,图像分片会影响图像质量。比较小的图像片会比大图像片产生更大的失真。图像分片在低比特率表示图像的时候所造成的图像失真会更加严重。

(2)DC电平位移

在对每一图像片进行正向离散小波变换之前,都要进行直流电平位移。目的是在解码时,能够从有符号的数值中正确恢复重构的无符号样本值。直流电平位移是对仅有无符号数组成的图像片的像素进行的。电平位移并不影响图像的质量。在解码端,在离散小波反变换之后,对重构的图像进行反向直流电平位移。

(3)分量变换

JPEG2000支持多分量图像。不同的分量不需要有相同的比特深度,也不需要都是无符号或有符号数。对于可恢复(无损)系统,唯一的要求就是每一个输出分量图像的比特深度必须跟相应输入分量图像的比特深度保持一致。

相关文档
最新文档