多媒体技术实验—图像压缩编码
一、实验目的
1.了解有关数字图像压缩的基本概念,了解几种常用的图像压缩编码方式;
2.进一步熟悉JPEG编码与离散余弦变换(DCT)变换的原理及含义;
3.掌握编程实现离散余弦变换(DCT)变换及JPEG编码的方法;
4.对重建图像的质量进行评价。
二、实验原理
1、图像压缩基本概念及原理
图像压缩主要目的是为了节省存储空间,增加传输速度。
图像压缩的理想标准是信息丢失最少,压缩比例最大。
不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。
压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。
应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:
(1)无损压缩编码种类
哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。
(2)有损压缩编码种类
预测编码,DPCM,运动补偿;
频率域方法:正交变换编码(如DCT),子带编码;
空间域方法:统计分块编码;
模型方法:分形编码,模型基编码;
基于重要性:滤波,子采样,比特分配,向量量化;
(3)混合编码
JBIG,H.261,JPEG,MPEG等技术标准。
2、JPEG 压缩编码原理
JPEG是一个应用广泛的静态图像数据压缩标准,其中包含两种压缩算法(DCT 和DPCM),并考虑了人眼的视觉特性,在量化和无损压缩编码方面综合权衡,达到较大的压缩比(25:1以上)。
JPEG既适用于灰度图像也适用于彩色图像。
其
中最常用的是基于DCT变换的顺序式模式,又称为基本系统。
JPEG 的压缩编码大致分成三个步骤:
(1)使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图。
(2)使用加权函数对DCT系数进行量化,该加权函数使得压缩效果对于人的视觉系统最佳。
(3)使用霍夫曼可变字长编码器对量化系数进行编码。
3、离散余弦变换(DCT)变换原理
离散余弦变换(DCT)是一种实数域变换,其变换核为实数余弦函数,图像处理运用的是二维离散余弦变换,对图像进行DCT,可以使得图像的重要可视信息都集中在DCT的一小部分系数中。
二维DCT变换是在一维的基础上再进行一次DCT变换,公式如下:
11
(0.5)(0.5)
(,)()()(,)cos cos
()
N N
i j
i j
F u v c u c v f i j u v
N N
u
c u
u
ππ
==
++
⎡⎤⎡⎤
=⎢⎥⎢⎥
⎣⎦⎣⎦
=
=
≠
∑∑
(1)
f为原图像,经DCT 变换之后,F为变换矩阵。
(0,0)
F是直流分量,其他为交流分量。
上述公式可表示为矩阵形式:
(0.5)
(,)()cos
T
F AfA
j
A i j c i i
N
π
=
+
⎡⎤
=⎢⎥
⎣⎦
(2)
其中A是变换系数矩阵,为正交阵。
逆DCT 变换:
(,)(,)
T
f i j A F u v A
=
(3)
这里我们只讨论两个N相等的情况,即图像为方形(行列数相等),在实际应用中对不是方阵的数据都应先补齐再进行变换的。
4、图象质量评价
保真度准则是压缩后图象质量评价的标准。
客观保真度准则:原图象和压缩图象
之间的均方根误差或压缩后图象的均方根信噪比。
主观保真度准则:极好、良好、通过、勉强、低劣、不能用。
客观保真度准则 新旧图像的均方误差
(4)
均方根误差
(5)
把压缩后图像表示成原图像和噪声的叠加
(6) 均方信噪比
(7)
三、实验内容及步骤
读取一张大小为512x512的灰度图像(或彩色图像,并将其灰度化) 实验一:
1) 把图像分解成若干个8x8的子块; 2) 对每个子块分别作DCT 变换;
3) 保留变换后的直流分量,将交流分量全部清零; 4) 使用逆DCT 变换,得到新的图像,观察图片变化。
实验二:
1) 直接对整张原图像做DCT 变换; 2) 保留直流分量,交流分量全部清零;
3) 再用逆DCT 变换,得到新的图像,观察图片变化,注意与实验一结果的区别。
实验三:
1) 直接对整张原图像做DCT 变换; 2) 保留直流分量;
3) 尝试保留有限个交流分量的个数;
4) 直到逆DCT 变换以后的图像可以达到可观察的效果,与实验一结果作比较。
对以上三个实验中逆DCT 变换后所获得的图像做质量评价。
()()()11
11
2
200
00
,/,N N N N ms x y x y SNR f x y e x y ----=====∑∑∑∑()()11
22
2001,,N N x y e f x y g x y N --===-⎡⎤⎣⎦∑∑rms e =()()(),,,f x y g x y e x y =+
四、实验结果与分析原图:
实验一:
灰度图:
DCT变换后:
质量评价:
均方根误差=0.0688,均方信噪比=35.2072,客观保真度较好,图片较模糊。
实验二:
灰度图:
DCT变换后:
质量评价:
均方根误差=0.3411,均方信噪比=1.4305,客观保真度非常差,图片全灰,由于DCT变换时只保留了直流分量又没有分块,故保留的信号相对原图来说极少,信号大量丢失,信噪比很低。
实验三:
灰度图:
DCT变换后:
质量分析:
均方根误差=0.0745,均方信噪比=29.9949,这是保留了频域左上角32*32区域后所得的结果,可以发现较实验二比较图像已大为改观,由于保留了部分交流分量,图像的信噪比较实验二有较大提升。
与实验一相比,对512*512图像,分成8*8子块但是只保留子块直流分量情况,类似于全图直接DCT取频域内共64*64散点区域,所以实验三结果的客观保真度与实验一的仍有一定差距。
对于全图直接DCT,保留的交流分量越多,图像效果越好:
32*32:
64*64:
128*128:
256*256:
随着保留的交流分量的增加,图像的均方根误差越来越小,均方信噪比越来越高,图像的客观保真度越来越好。