当前位置:首页 > 经典书库 > 工程师手册

JPEG静态图像压缩标准

书籍:工程师手册

出处:按学科分类—工业技术 企业管理出版社《工程师手册》第959页(3030字)

1.JPEG的主要内容

国际标准化组织提出的草案是“多灰度静止图像的数字压缩编码”(JPEG),目前在多媒体领域得到广泛的采用。其主要内容是:

(1)基本系统(baseline system)提供顺序扫描重建的图像,实现信息有丢失的图像压缩,而重建图像的质量要达到难以观察图像损伤的要求。它采用8×8像素自适应DCT算法,量化以及哈夫曼型的熵编码器。

(2)扩展系统(extended system)选用累进工作方式,编码过程采用具有自适应能力的算术编码。

(3)无失真的预测编码,采用帧内预测编码及哈夫曼编码,可保证重建图像与原始图像数据完全相同。

2.JPEG标准算法应用目标

(1)可在一定范围调节图像压缩比及其相应的图像保真度,解码器可参数化,使用户应用时可以选择其压缩比、质量比。

(2)可应用于任何连续色调数字源图像(不限制图像的尺寸、色彩级差、像素宽度比等条),不限制图像的景象内容。

(3)可在一定能力的CPU上实现所要求的功能,有易于操作的复杂计算软件,并用可接受的硬件实现高性能要求的应用。

(4)具有以下4种运行模式:

——顺序编码:从左到右、从上到下扫描信号,为每个图像元素编码。

——累进编码:对变换时间长的扫描器,按由粗到细的过程,以复合扫描顺序进行图像编码。

——无损编码:保证准确恢复图像所有样本值的图像编码。与有损模式相比,其压缩比低。

——分层编码:以多种分辨率进行图像编码,可直接获得低分辨率图像,重建复原全图。

3.JPEG两种基本压缩算法

JPEG定义了两种基本压缩算法:一种是基于空间线性预测技术,即差分脉冲调制(DPCM)的无失真压缩算法;另一种是基于离散余弦变换(DCT)的有失真压缩算法。

(1)基于DPCM的无失真编码

为了满足无失真压缩的要求,JPEG选用了一个简单的空间线性预测技术(DPCM)算法,其编码器处理步骤如图6.2.4-1所示。

图6.2.4-1 无失真压缩编码器框图

这种编码方法有硬件容易实现和重建图像质量好的优点。图6.2.4-2示出一个有三个邻域采样值(a、b、c)的示意图。以x′表示x的预测值,x为该点的实际值,从x-x′得到一个差值,再对差值进行无失真的熵编码。预测值可以从图6.2.4-3中选1、2、3为一维预测,4、5、6、7为二维预测。对于中等复杂的彩色图像,无失真编码解码可达2:1的压缩比。

图6.2.4-2 3邻域预测图

图6.2.4-3 无失真编码预测值

(2)基于离散余弦变换(DCT)的有失真压缩编码

该算法包括两个不同层次的系统:其一为基本系统(baseline system),采用顺序工作方式编码,只采用哈夫曼编码,解码只能存储两套哈夫曼表;而另一个增强系统,采用累进工作方式,它是基本系统的扩充和增强,采用了有适应能力的算术编码。图6.2.4-4给出了编码过程,图6.2.4-5给出了解码过程。

图6.2.4-5 基于DCT的解码过程

图中表示的是一个单分量(图像灰度)图像的压缩编码和解码过程。对于彩色图像,可以看成是对多个分量进行压缩和解压缩。

①离散余弦变换(DCT)。JPEG采用的是8×8大小的子块的二维离散余弦变换DCT(Discrete Cosine Transform)。在编码器的输入端,首先把原始图像顺序地分割成一系列8×8的子块,设原始图像的采样精度为P位,是无符号整数,然后把(0,2p-1)范围的无符号整数变成[-2p-1,2p-1-1]范围的有符号整数,以此作为离散余弦正变换(Forward DCT)的输入。

在解码器输出端,经离散余弦反变换IDCT(Inverse DCT)后又得到一系列8×8块的图像数据块,将其数值范围由[-2p-1,2p-1-1]再变回[0,2p-1]范围内的无符号整数,即获得重构的图像。

下面给出8×8FDCT和8×8IDCT的数学定义表达式:

正变换:

逆变换:

从二维DCT的计算公式看出,它们具有可分离的变换特性,所以二维DCT可分解成行向的一维DCT计算和列向的一维DCT计算的组合运算。

②量化处理。为了达到压缩数据的目的,对DCT系数F(ux)需作量化处理。量化处理是一个多到一的映射,它是造成DCT编解码信息失真的主要根源。

③DC系数的编码和AC系数的行程编码。64个变换系数经量化处理后,坐标u=υ=0是直流分量DC系数,即64个空域图像采样值的平均值,相邻8×8块之间的DC系数有强的相关性,JPEG中对DC系数采用DPCM编码,其余63个AC交流系数采用行程编码。

(3)熵编码。为了进一步达到压缩数据的目的,需要对DC码和AC行编码的码字再作基于统计特性的熵编码。JPEG建议使用两种熵编码方法,即哈夫曼(Huffmen)编码和自适二进制算术编码(adaptive Binary Arithmetic Coding)。

压缩比和图像质量。基于DCT的JPEG算法对于中等复杂程度的彩色图像的压缩比与恢度图像的质量关系,如表6.2.4-1所示。

表6.2.4-1 压缩比与质量相关图

分享到: