Issuu on Google+

Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

JPEG 图像压缩与重建及其仿真实现 陆景鹏 1,王宁 1,温静 1,陈喆 2,李冬梅 3 1. 北京工业大学,北京 100124 2. 武汉大学,武汉 430079 3. 天津理工大学,天津 300384 摘 要:目前,大多数的压缩图像都采用基于 DCT 变换的 JPEG 标准,JPEG 不仅适合于彩色图像的压缩,同时也适合于灰度 图像的压缩。压缩比影响着图像的质量,评价图像质量的标准通常用图像的峰值信噪比(PSNR)。本文通过实验来说明以上问 题,同时说明了彩色图像比灰度图像更适合图像压缩。 关键词:JPEG;压缩;重建;PSNR

Compression and Reconstruction of JPEG Image and Its Simulation Jingpeng Lu*1 , Ning Wang 1 , Jing Wen1, Zhe Chen 2, Dongmei Li3 1. Beijing University of Technology Beijing, China, 100022 2. WuHan University, Wuhan, China, 430079 3. Tianjin University of Technology, Tianjin, China, 300384

Email: ljpdb@163.com Abstract: Many images are compressed by JPEG standard based on Discrete Cosine Transform (DCT). JPEG is suitable for color image as well as the gray image. Different compression ratios result in different image qualities which are evaluated by the peak signal to noise ratio (PSNR). This paper Illustrate the above problems through a serial of experiments. In addition, the experiments show that true-color image is more suitable for JPEG than gray image. Key words: JPEG; Compression; Restruction; PSNR

1 引言 JPEG 是常见的一种图像格式,它由国际标准化组织(International Standardization Organization, ISO)和国际电 话电报咨询委员会(International Telegraph and Telephone Consultative Committee, CCITT)建立并开发的,它是一个 国际数字图像压缩标准。它用有损失压缩方式去除冗余的图像和彩色数据,获得极高的压缩率的同时展现十分丰富 生动的图像[1]。目前,日常生活中大部分的数字图像是以压缩格式进行存储和传输的,其中静态图像以 JPEG 压缩 标准最为普及,如网络上使用的图片和普通数码相机的照片,几乎都是以 JPEG 压缩格式存储和传输的[2]。因此, 对 JPEG 图像的研究具有重大的现实意义。 基于离散余弦变换的编码方法是 JPEG 标准的核心内容,JPEG 标准主要有以下 4 种操作方法[3]: (1) 顺序编码:每一个图像按照从左到右,从上到下的顺序扫描,一次性扫描就可完成编码。 (2) 累进编码:图像编码在多次扫描中完成。累进编码传输时间长,接收端接收到的图像是经过多次扫描,由 粗糙到清晰的累进过程。 (3) 无失真编码:通过预测编码方式,提供一个无失真的编码模式,保证解码之后,完全精确的恢复图像采样 值,它的压缩比要低于有失真压缩编码方法。 (4) 分层编码:图像在多个空间分辨率进行编码。当信道传送速率慢,接收端显示器分辨率也不高的情况下, 只需做低分辨率解码,不必进行高分辨率解码。 由于实际应用的多样性和复杂性,JPEG 标准分为基本系统(BS)和扩展系统(ES) 。基本系统包括基于 DCT

SJIE Apr. 2012 Vol.2 No.2 PP.52-57 www.sjie.org © 2011 American V-King Scientific Publishing, LTD | 52


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

变换的失真编码和基于预测法的无失真编码;扩展系统主要是为各种特殊应用而设置,其中最主要的有两种编码方 法:累进 DCT 编码和分层编码。在 JPEG 压缩标准的实际应用中,许多硬件编码器和商用 JPEG 软件仅支持以顺序 编码的基本工作模式,所以本文以顺序编码为主介绍 JPEG 基本算法。

2 JPEG 压缩算法 基于 DCT 变换的有损压缩算法主要分为以下几部分 [2]:颜色模型转换和采样、图像分块、DCT 变换、量化、Z 字形排序、直流系数(DC)进行差分脉冲调制(DPCM)编码,交流系数进行行程长度(RLE)编码、熵编码。JPEG 压缩过程如图 1 所示 [4]。 DC霍夫曼表

DC系数 输 入 图 像

色 彩 转 换

图 像 分 块 Y

U

DCT

块间DPCM

压 缩 数 据

量 化

V

AC系数

Z字形扫描

IDCT

霍夫曼编 码

AC霍夫曼表

量化表

恢复的图像数据

霍夫曼编 码

反量化

解码

量化表

码表

图 1 JPEG 压缩解压过程

2.1 颜色模型转换和采样 首先,应该转换图像的颜色空间从 RGB 到 YCbCr,Y 部分代表图像的亮度信息,Cb,Cr 代表图像的色度信息。 根据人眼的生物特性,相对于色度信息,人眼能更好的分辨亮度信息。通过这个原理,能够更好的设计编码方式, 更有效率的压缩图像。转换成 YCbCr 颜色空间,使下一步减 Cb 和 Cr 元素的像素点成为可能,YCbCr 缩减采样后 的比率通常是 4:4:4(YCb,Cr 采样点无缩减) ,4:2:2(Y 无缩减,Cb,Cr 水平方向缩减为原来的一半) ,4:1:1(Y 无缩减,Cb,Cr 水平和垂直方向缩减为原来的一半) 。对于后面的压缩过程,Y,Cb,Cr 分开采用类似的压缩过程 进行处理[5]。

2.2 图像分块 颜色转换和采样后,将图像分成 8×8 的像素块。许多研究表明,15 到 20 个像素之后,像素间的相关性开始下 降,在平衡了计算量和相关性之后,JPEG 压缩算法通常选用 8×8 的像素块作为标准。

2.3 DCT 变换 在 JPEG 的数据压缩过程中,首先要进行一次离散余弦变换,离散余弦变换的作用是把图片里的点和点之间的 规律呈现出来以方便压缩。以 8×8 的像素块为单位进行离散余弦变换,变换后图像中的低频分量都集中在左上角, 高频分量则都分布在右下角。因为低频分量通常包含了图像的主要信息,相比之下高频分量就没那么重要了,所以 可以通过忽略高频分量来达到压缩的目的。 53 | SJIE Apr. 2012 Vol.2 No.2 PP.52-57 www.sjie.org © 2011 American V-King Scientific Publishing, LTD


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

DCT 变换公式:

F u, v  

7 7 2i  1u cos 2 j  1v  1 C u C v     f i, j  cos  4 16 16  i 0 j 0 

(1)

IDCT 变换公式:

2i  1u cos 2 j  1v  1 7 7 f i, j   C u C v    F u, v cos 4 16 16  u  0 v  0

(2)

2.4 量化 量化是图像质量损失的主要原因。为了达到压缩数据的目的,对 DCT 系数 F(u, v)需作量化处理。量化处理 是一个多到一的映射,它是造成 DCT 编解码信息损失的根源。在 JPEG 标准中采用线性均匀量化器。量化定义为, 对 64 个 DCT 变换系数 F(u, v)除以量化步长 Q(u, v)后四舍五入取整。即量化器步长是量化表的元素,量化表 元素随 DCT 变换系数的位置而改变,量化表的尺寸也是 64,与 64 个变换系数一一对应。量化表中的每一个元素 值为 1 至 255 之间的任意整数,其值规定了对应位置变换系数的量化器步长。 不同频率的余弦函数对视觉的影响不同,量化处理在一定的主观保真度图像质量的前提下,可根据不同频率的 视觉阈值来选择量化表中的元素值的大小。根据心理视觉加权函数得到亮度量化表和色度量化表,同一像素的亮度 量化表和色差量化表不同值。DCT 变换系数 F(u, v)除以量化表中对应位置的量化步长,其幅值下降,动态范围 变窄, 高频系数的零值数目增加。 设 DCT 系数的量化步长为 Quv( u, v =0,1,…,7) 量化后系数为 Fquv( u, v =0,1,…,7) , 则量化可以定义为下面的式子:

Fquv  round (

Fuv ) Quv

(3) AC系数开始

AC系数结束

图 2 亮度量化表

图 3 色度量化表

图4

Z 字型排序表

由于经过离散余弦变换之后,图像的低频分量会集中在左上角。为了保证低频分量先出现,高频分量后出现。 同时这种方法也能增加行程中连续“0”的个数。Z 字型排序后,就把一个二维的 8×8 矩阵变成了一个一维的 1×64 的矢量,并满足频率较低的系数放在矢量的顶部的要求。

2.5 编码 (1)8×8 图像块经过 DCT 变换之后得到的 DC 直流系数有两个特点:一是值比较大,二是相邻 8×8 图像块的 DC 系数值变化不大。根据这些特点,JPEG 算法使用了差分脉冲调制编码(DPCM)技术对相邻图像块之间量化 DC 系数的差值 DIFF(DC(i)-DC(i-1))进行编码,从而提高压缩比。量化后,AC 系数的特点是 1×64 矢量中包含有 许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。JPEG 使用了 1 个字节的高 4 位来表示连续“0”的个数,而使用它的低 4 位来表示编码下一个非“0”系数所需要的位数, 跟在它后面的是量化 AC 系数的数值。 (2) 熵编码:熵编码可以对 DPCM 编码后的直流 DC 系数和 RLE 编码后的交流 AC 系数作进一步的压缩。JPEG SJIE Apr. 2012 Vol.2 No.2 PP.52-57 www.sjie.org © 2011 American V-King Scientific Publishing, LTD | 54


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

标准具体规定了两种熵编码方式:Huffman 编码和算术编码。JPEG 基本顺序编码解码器具体规定用 Huffman 编码, 但 JPEG 本身并没有限制具体使用哪种编码方式。在 JPEG 有损压缩算法中,使用霍夫曼编码器来减少熵。使用霍 夫曼编码器的理由是可以使用很简单的查表方法进行编码。压缩数据符号时,霍夫曼编码器对出现频度比较高的符 号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。 JPEG压 缩 重 建 图 像

原图像

(a)

(b)

JPEG压 缩 重 建 图 像

JPEG压 缩 重 建 图 像

(c)

(d)

图 5 (a)原始灰度图像(b)压缩比为 11.3119 的重建图(c)压缩比为 18.9332 的重建图 (d)压缩比为 32.2659 的重建图

实验数据如下表所示: 表 1 8 位灰度 lena 图像的实验数据 压缩比

峰值信噪比(PSNR)(db)

主观评价图像变化情况

2.8366

43.6483

无失真

5.5191

38.5245

无失真

8.6359

36.0576

无明显变化

11.3119

34.7304

亮度变暗

15.7842

33.1689

亮度变暗

18.9332

32.3281

细节损失,图像变模糊

22.0641

31.5278

失真

28.5323

30.1235

失真

32.2659

29.3639

失真

55 | SJIE Apr. 2012 Vol.2 No.2 PP.52-57 www.sjie.org © 2011 American V-King Scientific Publishing, LTD


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering

(a)

(b)

(c)

(d)

图 6 (a)原始真彩图像(b)压缩比 12.3666 的重建图像(c)压缩比 25.3688 的重建图像 (d)压缩比 44.2014 的重建图像 表2

24 位真彩色 lena 图像的实验数据

压缩比

峰值信噪比(PSNR)(db)

主观评价图像变化情况

2.9787

40.8520

看不出变化

4.9033

37.7928

看不出变化

8.3013

35.8889

看不出变化

12.3666

34.7028

看不出变化

20.0672

33.3316

看不出明显变化

25.3688

32.6327

细节损失

31.4158

31.8760

细节损失,图像变模糊

38.7405

30.8924

失真

44.2014

30.2347

失真

3 仿真实现 文中选取了 512×512 大小的 8 位灰度 lena 图和 512×512 大小的 24 位真彩色 lena 图,分别对其做了 JPEG 压缩 与重建,并分析了重建图像的质量,文中采用了图像的峰值信噪比(PSNR)作为图像质量评价的客观标准。由以 SJIE Apr. 2012 Vol.2 No.2 PP.52-57 www.sjie.org © 2011 American V-King Scientific Publishing, LTD | 56


Xin Xi Gong Cheng Qi Kan

Scientific Journal of Information Engineering 上两个表得到压缩比与峰值信噪比的关系曲线,如图所示:

44 灰度图像 彩色图像

42

峰 值 信 噪 比 (PSNR)

40 38 36 34 32 30 28 26

0

5

10

15

20 25 图像压缩比

30

35

40

45

图 7 压缩比与 PSNR 的关系曲线图

4 总结 本文首先介绍了 JPEG 压缩算法,然后对标准灰度和彩色的 lena 图像做了实验仿真, 并对实验数据进行了分析。 从表 1、表 2 和图 7 可以得出以下几点: (1)压缩比越大,图像的峰值信噪比越低,图像质量就越差。(2)彩色图 像数据的曲线斜率明显低于灰度图像的曲线斜率,这说明彩色图像比灰度图像更适合 JPEG 压缩。 (3)图像的峰值 信噪比在 30db 以下时,就会产生明显的失真。 参考文献 [1]

张益贞, 刘滔. Visual C++实现 MPEG/JPEG 编解码技术[M]. 北京: 人民邮电出版社, 2004.

[2]

王新年, 张涛. 数字图像压缩技术实用教程[M]. 北京: 机械工业出版社, 2009.

[3]

钟玉琢, 蔡莲红, 李树青. 多媒体计算机技术基础及应用[M]. 北京: 高等教育出版社, 2004.

[4]

左飞, 万晋森, 刘航. Visual C++数字图像处理开发入门与编程实践[M]. 北京: 电子工业出版社, 2008.

[5]

郝杰, 吴元清, 郑榕. 实用多媒体技术及其 C 语言实现[M]. 北京: 电子工业出版社, 1995.

【作者简介】 陆景鹏,男,汉,在读硕士研究生,研究方向:数字图像处理。2009 至今就读于北京工业大学。 Email: ljpdb@163.com。

57 | SJIE Apr. 2012 Vol.2 No.2 PP.52-57 www.sjie.org © 2011 American V-King Scientific Publishing, LTD


Compression and Reconstruction of JPEG Image and Its Simulation