图像压缩编码

图像压缩编码

物电学院 114班 11223313 戚善桃

摘要:随着科学技术的发展, 图像压缩技术越来越引起人们的关注。为此从众多的图像压缩编码标准中选取了基于DCT 变换的JPEG 图像压缩编码算法进行研究,并通过对比分析各种软件特性选取了MATLAB 进行实验仿真。

首先说明了图像压缩在现代通信中的必要性和可行性,然后讲述了MATLAB 及其图像处理工具箱的相关知识,并对基于DCT 变换的JPEG 图像压缩算法进行了详细的研究,重点介绍了JPEG 压缩编码的具体过程和方法 ,详细介绍了编码中DCT 变换、量化、熵编码和霍夫曼编码等模块的原理和数学推导以及各模块的功能分析。最后应用MATLAB 进行了实验仿真并分析结果得出结论。

实验结果表明基于DCT 变换的JPEG 图像压缩方法简单、方便, 既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB 仿真出来的结果较好的反应了其编码算法原理。

关键词 JPEG 图像压缩;DCT ;MATLAB ;图像处理工具箱

1. 引言

图像压缩编码的理论算法

基于DCT 的JPEG 图像压缩编码理论算法 基于DCT 编码的JPEG 编码压缩过程框图,如图1-1所示。

图1-1基于D C T 编码的J P E G 压缩过程简化图

上图是基于DCT 变换的图像压缩编码的压缩过程,解压缩与上图的过程相反。

在编码过程中,首先将输入图像颜色空间转换后分解为8×8大小的数据块,然后用正向二维DCT 把每个块转变成64个DCT 系数值,其中1个数

值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT 系数进行量化,最后将变换得到的量化的DCT 系数进行编码和传送,这样就完成了图像的压缩过程。

2. 数字图像的介绍

2.1 图像编码技术发展历史

1948年提出电视信号数字化后,图像压缩编码的研究工作就宣告开始了。在这项技术发展的早期,限于客观条件,仅对帧内预测法和亚取样内查复原法进行研究,对视觉特性也做了一些极为有限但可贵的研究工作。1966年J.B.O Neal对比分析了DPCM 和PCM 并提出了用于电视的实验数据。1969年进行了线性预测编码的实际实验。1969年举行首届图像编码会议。70年代开始进行了帧间预测编码的研究。80年代开始对运动估值和模型编码进行研究[3]。

进入90年代,ITU-T 和ISO 制定了一系列图像编码国际建议,如H.261、JPEG 、MPEG-1、H.262、H.263、MPEG-4等。

变换编码是1968年H.C.Andrews 等人提出的,采用的是二维离散傅立叶变换,此后相继出现用其他变换方法的变换编码,其中包括二维离散余弦变换。

2.2 图像编码技术的现状

经过几十年的发展,图像编码技术业已成熟,一些国际建议的制定极大地推动了图像编码技术的实现和产业化,从而推动图像编码技术以更快的速度发展,目前的研究方向有两个:

(1) 更好地实现现有的图像编码国际建议。 研制出集成度更高、性能更好的图像编码专用芯片,使编码系统成本更低、可靠性更高。解决好现有的图像编码系统开发中的技术问题。例如:提高图像质量、提高抗码能力等。

(2) 对图像编码理论和其他图像编码方法的研究。 目前已经提出和正在进行研究的图像编码方法有:多分辨率编码、基于表面描述的编码、模型编码、利用人工神经网络的编码、利用分形几何的编码、利用数学形态学的编码等等。

3. MATLAB 及其图像处理工具箱

如果应用高级语言(如Basic ,C ,Fortran) 编写仿真程序来实现这一基于DCT 的图像压缩编码算法比较麻烦,而且仿真效果也不是十分理想。本文主要应用

MATLAB 发布的图像处理工具箱中的相关函数和命令来实基于DCT 的图像压缩编码理论算法的仿真。

MATLAB 语言是由美国MathWorks 公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。MATLAB 中的数字图像是以矩阵形式表示的,矩阵运算的语法对MATLAB 中的数字图像同样适用,这意味着MATLAB 强大的矩阵运算能力对用于图像处理非常有利。

图像处理工具箱(Image Processing Toolbox)提供了一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可进行图像压缩、空间转换、图像增强、特征检测、降噪、图像分割和图像配准等功能。工具箱中大部分函数均以开放式 MATLAB 语言编写,这意味着可以检查算法、修改代码和创建自定义函数。本文利用MATLAB 图像处理工具箱对基于DCT 的JPEG 图像压缩编码理论算法进行仿真,实验证明该软件功能强大,语言简洁易学,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。 下面图像数字化仿真试验:

基于DCT 的图像压缩技术:

%设置压缩比

cr = 0.5 % cr = 0.5为2:1压缩,cr = 0.125 为8:1压缩

%读入并显示原始图像

initialimage = imread('lena512.jpg' );

I = rgb2gray(initialimage);

initialimage = double(I)/255;

figure(1);

imshow(initialimage);

%对图像进行DCT

t = dctmtx(8);

dctcoe = blkproc(initialimage,[8 8],'P1*x*P2',t,t');

coevar = im2col(dctcoe,[8 8],'distinct' );

coe = coevar;

[y,ind] = sort(coevar);

[m,n] = size(coevar);

%舍去不重要的系数

snum = 64 - 64*cr;

for i = 1 : n

coe(ind(1:snum),i) = 0;

end

b2 = col2im(coe,[8 8],[512 512 ],'distinct' );

%对截取后的变换系数进行DCT 逆变换

i2 = blkproc(b2,[8 8],'P1*x*P2', t',t);

%显示压缩图像

figure(2)

imshow(i2);

%计算均方根误差

e = double (initialimage) - double(i2);

[m , n] = size(e);

erms = sqrt(sum(e(:).^2)/(m*n));

erms

4. 小结

相关技术日新月异的进步,使得数字图像相关技术的应用越来越广泛。数字图像以其较之于传统文字信息大得多的信息量,更加符合人们接受信息的习惯的特点,已经渗透到社会生活的各个方面。

数字图像的固有缺陷是其特别巨大的数据量,与传输网络有限的传输能力形成了一对矛盾,成为制约数字图像应用的瓶颈。因此数字图像的压缩编码与传输是非常有实际使用价值的热点研究问题。本文通过研究设计一个基于DCT 变换的图像压缩编码的matlab 实现,得到了下面的结论:

论文叙述的图像压缩编码算法,采用了JPEG 的核心离散余弦变换算法。DCT 是正交变换,它可以将8*8图像的空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT 产生的系数很容易被量化,因此能获得好的块压缩;DCT 算法的性能很好,它有快速算法,因此它在软件中容易实现;而且DCT 算法是对称的,所以利用逆DCT 算法可以用来解压缩图像。

仿真结果说明了压缩比增大时,图像的质量会降低,并且图像的信噪比会变小。利用MATLAB 仿真软件来实现离散余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。

主要参考文献:

[1] 吕世良,曲仕敬。基于DCT 的图像压缩及MATLAB 实现。科技技术信息IT 技术论坛:2008(14):402

[2] 李世军。JPEG 压缩编码算法的仿真实现。湖南工程学院学报(自然版),2002

(9):7~9

[3] 沙磊,叶霞。利用离散余弦变换进行图像压缩与编码的方法。成都理工学院报1997(7):109~114

[4] 王芳,汪伟。JPEG2000图像压缩标准及其应用。光盘技术2006(1):57

~59

图像压缩编码

物电学院 114班 11223313 戚善桃

摘要:随着科学技术的发展, 图像压缩技术越来越引起人们的关注。为此从众多的图像压缩编码标准中选取了基于DCT 变换的JPEG 图像压缩编码算法进行研究,并通过对比分析各种软件特性选取了MATLAB 进行实验仿真。

首先说明了图像压缩在现代通信中的必要性和可行性,然后讲述了MATLAB 及其图像处理工具箱的相关知识,并对基于DCT 变换的JPEG 图像压缩算法进行了详细的研究,重点介绍了JPEG 压缩编码的具体过程和方法 ,详细介绍了编码中DCT 变换、量化、熵编码和霍夫曼编码等模块的原理和数学推导以及各模块的功能分析。最后应用MATLAB 进行了实验仿真并分析结果得出结论。

实验结果表明基于DCT 变换的JPEG 图像压缩方法简单、方便, 既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB 仿真出来的结果较好的反应了其编码算法原理。

关键词 JPEG 图像压缩;DCT ;MATLAB ;图像处理工具箱

1. 引言

图像压缩编码的理论算法

基于DCT 的JPEG 图像压缩编码理论算法 基于DCT 编码的JPEG 编码压缩过程框图,如图1-1所示。

图1-1基于D C T 编码的J P E G 压缩过程简化图

上图是基于DCT 变换的图像压缩编码的压缩过程,解压缩与上图的过程相反。

在编码过程中,首先将输入图像颜色空间转换后分解为8×8大小的数据块,然后用正向二维DCT 把每个块转变成64个DCT 系数值,其中1个数

值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT 系数进行量化,最后将变换得到的量化的DCT 系数进行编码和传送,这样就完成了图像的压缩过程。

2. 数字图像的介绍

2.1 图像编码技术发展历史

1948年提出电视信号数字化后,图像压缩编码的研究工作就宣告开始了。在这项技术发展的早期,限于客观条件,仅对帧内预测法和亚取样内查复原法进行研究,对视觉特性也做了一些极为有限但可贵的研究工作。1966年J.B.O Neal对比分析了DPCM 和PCM 并提出了用于电视的实验数据。1969年进行了线性预测编码的实际实验。1969年举行首届图像编码会议。70年代开始进行了帧间预测编码的研究。80年代开始对运动估值和模型编码进行研究[3]。

进入90年代,ITU-T 和ISO 制定了一系列图像编码国际建议,如H.261、JPEG 、MPEG-1、H.262、H.263、MPEG-4等。

变换编码是1968年H.C.Andrews 等人提出的,采用的是二维离散傅立叶变换,此后相继出现用其他变换方法的变换编码,其中包括二维离散余弦变换。

2.2 图像编码技术的现状

经过几十年的发展,图像编码技术业已成熟,一些国际建议的制定极大地推动了图像编码技术的实现和产业化,从而推动图像编码技术以更快的速度发展,目前的研究方向有两个:

(1) 更好地实现现有的图像编码国际建议。 研制出集成度更高、性能更好的图像编码专用芯片,使编码系统成本更低、可靠性更高。解决好现有的图像编码系统开发中的技术问题。例如:提高图像质量、提高抗码能力等。

(2) 对图像编码理论和其他图像编码方法的研究。 目前已经提出和正在进行研究的图像编码方法有:多分辨率编码、基于表面描述的编码、模型编码、利用人工神经网络的编码、利用分形几何的编码、利用数学形态学的编码等等。

3. MATLAB 及其图像处理工具箱

如果应用高级语言(如Basic ,C ,Fortran) 编写仿真程序来实现这一基于DCT 的图像压缩编码算法比较麻烦,而且仿真效果也不是十分理想。本文主要应用

MATLAB 发布的图像处理工具箱中的相关函数和命令来实基于DCT 的图像压缩编码理论算法的仿真。

MATLAB 语言是由美国MathWorks 公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。MATLAB 中的数字图像是以矩阵形式表示的,矩阵运算的语法对MATLAB 中的数字图像同样适用,这意味着MATLAB 强大的矩阵运算能力对用于图像处理非常有利。

图像处理工具箱(Image Processing Toolbox)提供了一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可进行图像压缩、空间转换、图像增强、特征检测、降噪、图像分割和图像配准等功能。工具箱中大部分函数均以开放式 MATLAB 语言编写,这意味着可以检查算法、修改代码和创建自定义函数。本文利用MATLAB 图像处理工具箱对基于DCT 的JPEG 图像压缩编码理论算法进行仿真,实验证明该软件功能强大,语言简洁易学,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。 下面图像数字化仿真试验:

基于DCT 的图像压缩技术:

%设置压缩比

cr = 0.5 % cr = 0.5为2:1压缩,cr = 0.125 为8:1压缩

%读入并显示原始图像

initialimage = imread('lena512.jpg' );

I = rgb2gray(initialimage);

initialimage = double(I)/255;

figure(1);

imshow(initialimage);

%对图像进行DCT

t = dctmtx(8);

dctcoe = blkproc(initialimage,[8 8],'P1*x*P2',t,t');

coevar = im2col(dctcoe,[8 8],'distinct' );

coe = coevar;

[y,ind] = sort(coevar);

[m,n] = size(coevar);

%舍去不重要的系数

snum = 64 - 64*cr;

for i = 1 : n

coe(ind(1:snum),i) = 0;

end

b2 = col2im(coe,[8 8],[512 512 ],'distinct' );

%对截取后的变换系数进行DCT 逆变换

i2 = blkproc(b2,[8 8],'P1*x*P2', t',t);

%显示压缩图像

figure(2)

imshow(i2);

%计算均方根误差

e = double (initialimage) - double(i2);

[m , n] = size(e);

erms = sqrt(sum(e(:).^2)/(m*n));

erms

4. 小结

相关技术日新月异的进步,使得数字图像相关技术的应用越来越广泛。数字图像以其较之于传统文字信息大得多的信息量,更加符合人们接受信息的习惯的特点,已经渗透到社会生活的各个方面。

数字图像的固有缺陷是其特别巨大的数据量,与传输网络有限的传输能力形成了一对矛盾,成为制约数字图像应用的瓶颈。因此数字图像的压缩编码与传输是非常有实际使用价值的热点研究问题。本文通过研究设计一个基于DCT 变换的图像压缩编码的matlab 实现,得到了下面的结论:

论文叙述的图像压缩编码算法,采用了JPEG 的核心离散余弦变换算法。DCT 是正交变换,它可以将8*8图像的空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT 产生的系数很容易被量化,因此能获得好的块压缩;DCT 算法的性能很好,它有快速算法,因此它在软件中容易实现;而且DCT 算法是对称的,所以利用逆DCT 算法可以用来解压缩图像。

仿真结果说明了压缩比增大时,图像的质量会降低,并且图像的信噪比会变小。利用MATLAB 仿真软件来实现离散余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。

主要参考文献:

[1] 吕世良,曲仕敬。基于DCT 的图像压缩及MATLAB 实现。科技技术信息IT 技术论坛:2008(14):402

[2] 李世军。JPEG 压缩编码算法的仿真实现。湖南工程学院学报(自然版),2002

(9):7~9

[3] 沙磊,叶霞。利用离散余弦变换进行图像压缩与编码的方法。成都理工学院报1997(7):109~114

[4] 王芳,汪伟。JPEG2000图像压缩标准及其应用。光盘技术2006(1):57

~59


相关内容

  • 计算机图像处理概述
  • 计算机图像处理 结 课 作 业 姓名:李 晓 通 学号:10360217 班级:10级信管2班 联系方式:[1**********] 目录 一.图像处理的基本概念„„„„„„„„„„„„„„„„„„„ 3 二.数字图像压缩编码技术的产生及发展过程„„„„„„„„„„ 3 三.图像数据压缩原理„„„„ ...

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

  • 图像编码--霍夫曼编码
  • 编号: 题 目 名 称 图像编码--霍夫曼编码 学 生 姓 名 学 号 学 院 信息科学与工程学院 专 业 年 级 2009级通信一班 指 导 教 师 职 称 老师 填 写 时 间 2012年10月27日 摘 要 进入21世纪,人类已步入信息社会,新信息技术革命使人类被日益增多的多媒体信息所包围,这 ...

  • 多媒体技术基础及应用课后答案(新)
  • 第一章 习题及解答 一.选择题 1. 下列选项不属于感觉媒体的是: D . A. 音乐 B. 香味 C. 鸟鸣 D. 乐谱 2. 下列选项属于表示媒体的是: D A. 照片 B.显示器 C.纸张 D.条形码 3. 下列选项属于显示媒体的是: B A.图片 B.扬声器 C.声音 D.语言编码 4. 下 ...

  • 信源编码和信源解码
  • 信源编码和信源解码 字.符号.图形.图像.音频.视频.动画等各种数据本身的编码通常称为信源编码,信源编码标准是信息领域的基础性标准.无论是数字电视.激光视盘机,还是多媒体通信和各种视听消费电子产品,都需要音视频信源编码这个基础性标准. 大家用电脑打字一定很熟悉,当你用WORD 编辑软件把文章(DOC ...

  • 基于矢量量化编码的数据压缩算法的研究与实现
  • 2.3矢量量化的相关概念10 2.4矢量量化的关键技术及技术指标13 第三章矢量量化的算法研究16 3.1矢量量化码书设计算法的研究16 3.1.1经典的LBG 算法16 3.1.2MD 算法18 3.1.3码书设计算法比较19 3.2码字搜索算法20 3.2.1基于不等式的快速码字搜索算法20 3 ...

  • 香农编码c++
  • <科学研究方法>课程学术报告 数字图像信源压缩之香农编码实现(基于VS2013C++) 陆顺杰 三年级 电子信息工程 1142051154 摘要: 本文首先介绍了数字图像信源压缩的必要性,然后讨论了各种编码的特性,最后基于VS2013C++实现对N信源符号的香农编码. 引言: 在数字图像 ...

  • 数字图像处理论文
  • 数字图像处理课程报告 基于DCT 的数字图像压缩及matlab 实现 一. 概述 姓名:学号:班级: 随着信息时代的到来和计算机网络技术的发展,人们需要存储.处理和传输的信息越来越多,而图像作为这些信息的重要表现形式,其具有数据量大.带宽宽等特点,这就给图像的存储.处理和传输带来了很大的困难尤其是图 ...

  • 视频编码标准的发展概括:从H.261到H.264
  • 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促使了许多视频编码标准的产生.ITU-T与ISO/IEC是制定视频编码标准的两大组织,ITU-T的标准包括H.261.H.263.H.264,主要应用于实时视频通信领域,如会议电视:MPEG ...