基于DCT的图像压缩编码算法的MATLAB实现

合集下载

基于DCT和小波变换的图象压缩及Matlab实现

基于DCT和小波变换的图象压缩及Matlab实现
方 差 的若 干 个 D T系 数 , 压缩 做 到 在 最 合 理 地 近 似 原 图象 的 C
按其含 有图象信息及其对 图象主观质量 影响的重要程度顺 序 排列起来 ,那 么 ,删除一些 不重要 的系数将 不会对重 建图象
质量发 生重大的影 响,从而达到压缩 的 目的 。本文采用 的两
种压缩方法都是变频域编码 。
( )M ta 二 a Ib相关 功能 及 函数介 绍
贺 勤 ,张亚 东 ,田 勇
( . 昌学院数 学科 学 学院 ,河 南 许 昌 4 10 ;2江西农 业大学 ,江西 南昌 3 0 4 ) 1 许 600 . 305
【 摘 要】文章介 绍基于 DC 变 ( T 换 离散余 弦变换) 和小波变换的 图象数据压缩技术 , 并对其进行 Maa tb实现 , l 分析 Maa tb l
( )图象压 缩 技术 简介 一
随着数字 技术和因特 网的发展 ,各种 形式的多媒体数 字 作品也得 到了迅猛 的增长 。数字媒体有着 许多模拟媒体无 可 比拟 的优 点,例如 ,数字信 号很容易进行编 辑处理 ,可 以方 便 、便 宜、无失真 的被 复制 。但是在数 字信 号传输 的过程 中 却存在传输 带宽与数据量之 间的矛盾 ,越 是清晰度等方面 要 求 高的数字图片数据量 越大 ,传输时 间长,这就需要 图象压 缩技术来帮忙处理这个 问题 。 图象压 缩要 解 决 的问题 是如 何最 大 限度 地 压缩 图象 数 据 ,并保 证利用这些数据 所重建 的图象是用户能够接 受的 。 图象压缩 和编 码根据解 压重建后 的图象和 原始图象之 间是否 具有 误差分为无损和 有损压缩 、编码 两大类 。前者用 与要求 重建后 图象严格地和 原始图象保持相 同的情况 ,后者 则适 合

基于DCT变换的图像压缩技术的研究

基于DCT变换的图像压缩技术的研究

本科毕业设计论文题目:基于DCT变换的图像压缩技术的研究专业名称:学生姓名:指导教师:毕业时间:毕业一、题目基于DCT变换的图像压缩技术的研究二、指导思想和目的要求指导思想:图像信息给人们以直观、生动的形象,成为人们获取外部信息的重要途径。

然而数字图像具有极大的数据量。

在目前的计算机系统条件下,若图像信息不经过压缩,则会占用信道,传输速率变慢,而且传输成本变得昂贵,这对图像的储存、传输及使用都非常不利,同时也阻碍了人们对图像的有效获取和使用。

因此,图像压缩技术的重要性也越来越高,在学习、生产、生活等方面的作用也越来越显著,对图像进行压缩成为图像研究领域的重要课题。

目的要求:基于DCT变换的图像压缩技术,首先介绍图像压缩的基本原理及方法,然后了解离散余弦变换的性质以及JPEG图像压缩算法,最后从DCT 变换、量化以及熵编码三个过程进行详细论述,利用MATLAB仿真软件实现基于DCT变换的图像压缩,去除冗余数据,节约文件所占的码字,降低原始图像数据量,解决图像数据量巨大的问题,以达到对图像进行压缩的目的。

三、主要技术指标图像的质量评价方法主要有两种:一种是主观评价,另一种是客观评价。

主观评价直接反映人眼的视觉感受,主要从亮度、色调、饱和度和细节分辨等方面入手,但因观察者个体差异、人力成本较高等原因而存在许多不足之处。

通常客观评价的方法应用更广泛。

常用的客观评价方法和标准有压缩比(CR)和峰值信噪比(PSNR)两种。

再根据不同的量化系数得到不同的压缩比和峰值信噪比。

x,和标准图像f0()y x,的大小是M⨯N,常用客观评价指标定设待评价图像f()y义如下:x,/f0()y x,不同的量化系数压缩比也不同(量化系数分压缩比:r=f()y别为:1、3、5、10、15等)由于量化系数不同得到的峰值信噪比也不同,根据均方差得出峰值信噪比。

均方差: MSE =()[]()[]}{()[]∑∑∑∑-=-=-=-=-10102010x 10y 20,,,M x N y M N y x f y x f Q y x f Q 式中,运算符Q []∙表示在计算前,为使计算值与人眼视觉感受一致而进行的某种预处理,如对数处理、幂处理等。

基于DCT的JPEG图像压缩编码算法的MATLAB实现

基于DCT的JPEG图像压缩编码算法的MATLAB实现
式 在解 码过程 中 , 先对 已编码 的量 子化 的 D T系数进 行 解 码 , C 然后 求 逆量 化 并把 D T系数 转 化为 8×8样 C 本像块 ( 使用二 维 D T反变换 )最后 将操 作完 成 后 的块 组 合 成一 个 单一 的 图像 . 样 就 完成 了图像 的压 缩 C , 这
维普资讯
第1 第 1 5卷 期
20 年 3 02 - 月
J u a fZ i gWa l U iesy o r l } a ni nv ri n o n t
浙 江万里学院学报

b , o】
Ma 2 0 r 02
文章 编号 :6 1 2o2o ]l 0 2 —0. 17 —25 io 2o 一 08 4 -
和解 压过程 .
12 结 合 M T  ̄ 53仿 真对上 述算法 的几点 解释 . A LB. 12 1 离散 余 弦 变挟 ( c ) D r 定义
二维 D T的解 析式定 义 可 以由下式表示 : C
F f= (yF, 等 ( ) ( )N ) ( ) c o , 0 ,,O o s
D T系数值 , 中 1 数 值是 直 流 ( C 系数 , 8×8空域 图像 子块 的平 均值 , 余 的 6 C 其 个 D) 即 其 3个 是交 流 ( c 系 A ) 数, 接下 来对 D T系数进 行量 化 , 将变 换得到 的量 比的 D T系数进 行编码 和传 送 , 成压 缩后 的图像 格 C 最后 C 形
二维 D T反变换 (D T 解析 式定 义可 以表示 为 : C IC )
几 =m, 啬 击 o ) +
+ m cs o
c o s
os o
+ os 等 m.o ) c

基于DCT变换的图像压缩技术的研究答辩稿

基于DCT变换的图像压缩技术的研究答辩稿
信和计算机系统中,但是图像数据的一个显著特点就是 信息量大。具有庞大的数据量,若不经过压缩,不仅超 出了计算机的储存和处理能力,而且在现有的通信信道 传输速率下,是无法完成大量多媒体信息实时传输的。

选题的意义
为了更有效的存储、处理和传输这些图像数据,必须对 其进行压缩
课题研究方法
本文对于图像压缩的方法主要用于离散余弦变换 定义:离散余弦变换(Discrete Cosine Transform,简称DCT) 利用傅立叶变换的性质,采用图像边界褶翻将图像变换为偶函数 形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项。
其反变换如下式:
二维离散余弦变换核具有可分离性,即可以先对每行进行 一维离散余弦变换,再对每列进行一维离散余弦变换,因 此,二维离散余弦变换可表示为:
基于DCT的编码器系统流程图
基于DCT编码的JPEG压缩过程简化图
DCT系数量化的均衡量化器
量化DCT系数的编排及序号表
系数AC编码格式
10级本科毕业设计答辩
基于DCT变换的图像压缩技术的研究

专 学
业:通信工程 生:蔡滨滨
指导教师:李颖华 LOGO
论文的结构及主要内容
第一部分:选题背景以及研究意义 第二部分:课题研究方法 第三部分:本文研究流程图 第四部分:课题结论
第五部分:致


选题的背景:
随着信息技术的发展,图像信息被广泛应用于多媒体通
压缩比与图像质量的关系
程序流程图
程序流程图
调用dct2和idct2来实现二维离散余弦变换及其反变换
DCT变换后图像
仿真结果如图示
量化系数个数不同的图像的压缩比(CR) 和峰值信噪比(PSNR)

matlab实验,图像变换域分析(dct变换和小波变换)

matlab实验,图像变换域分析(dct变换和小波变换)

实验一 图像DCT 变换一、实验目的1.了解DCT 处理图像的基本知识;2.掌握用matlab 将对图像进行DCT 变换。

二、实验内容1.对图像进行DCT 处理;2.显示变换后的图像的三维的频谱; 3.对matlab 代码进行一定的文字说明;三、实验原理离散余弦变换(Discrete Cosine Transform ,DCT )是一种实数域变换,其变换核为实数余弦函数。

对一幅图像进行离散余弦变换后,许多有关图像的重要可视信息都集中在DCT 变换的一小部分系数中。

因此,离散余弦变换(DCT )是有损图像压缩JPEG 的核心,同时也是所谓“变换域信息隐藏算法”的主要“变换域(DCT 域)”之一。

因为图像处理运用二维离散余弦变换,所以直接介绍二维DCT 变换。

一个矩阵的二维DCT 定义如下:首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT 变换,接着再对DCT 系数进行量化、编码和传输;接收者通过对量化的DCT 系数进行解码,并对每个图像块进行的二维DCT 反变换。

最后将操作完成后所有的块拼接起来构成一幅单一的图像。

对于一般的图像而言,大多数DCT 系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。

因此,利用DCT 进行图像压缩确实可以节约大量的存储空间。

在实验中,先将输入的原始图像分为8*8块,然后再对每个块进行二维DCT 变换。

MATLAB 图像处理上具箱中提供的二维DCT 变换及DCT 反变换函数如下。

基于DCT 的JPEG 图像压缩编码理论算法过程框图如下:上图是基于DCT 变换的图像压缩编码的压缩过程,解压缩与上图的过程相反。

四、实验代码及结果close all;原始图像数据分成8*8的小块DCT 变换 量化器量化表熵编码器 码表压缩数据I=imread('222.jpg'); %读入原图像文件I=rgb2gray(I);%将原图像转换成灰色图像I1=dct2(I);%对原图像进行二维DCT变换fs=fftshift(I1);%将直流分量移到频谱中心subplot(121);imshow(I);title('灰色图像');%显示灰色图像subplot(122);imshow(log(abs(I1)),[]),colorbar;title('图像经DCT变换后能量分布情况') %显示经过dct变换后能量分布;figure(2);mesh(fs);title('三维频谱');%显示三维频谱五、实验结果分析图像经DCT变换后能量主要分布在左上角,右下角能量分布较低。

(完整版)DCT变换与KLT变换在图像压缩中的应用

 (完整版)DCT变换与KLT变换在图像压缩中的应用

DCT变换与KLT变换在图像压缩中的应用专业:电子与通信工程学号:16213026 16213024姓名:目录1 报告简介 (1)2 算法原理 (1)2.1 DCT算法原理 (1)2.2 KLT算法原理 (3)3 仿真分析 (5)3.1 DCT仿真分析 (5)3.2 KLT仿真分析 (7)5 总结 (8)参考文献 (9)附录:MATLAB代码 (10)DCT变换与KLT变换在图像压缩中的应用1 报告简介随着数据化时代的开启,图像压缩技术越来越成熟并且应用越来越广泛,本文在研究近年来图像压缩一般方法的基础上,介绍了基于DCT变换的图像压缩的基本原理及其实现步骤,以及扩展研究了KL变换的图像压缩方法,并使用MATLAB,针对同一幅原始图像进行不同方法的压缩比较,给出了实验仿真结果。

本论文首先提出了用MATLAB来实现DCT变换的数字图像压缩技术, 方法简单,快速,且误差小。

然后介绍了KLT图像压缩编码的具体过程和方法。

最后分析了图像经过2种压缩方法时,图像质量的变化情况。

2 算法原理2.1 DCT算法原理DCT变换利用傅立叶变换的性质。

采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。

DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。

变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。

在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。

我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。

图像经DCT变换以后,DCT系数之间的相关性就会变小。

而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。

从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。

基于二维DCT的图像压缩编码及其实现

基于二维DCT的图像压缩编码及其实现

基于二维DCT的图像压缩编码及其实现作者:李春霞来源:《现代电子技术》2008年第16期摘要:DCT变换是图像压缩的一项重要技术,如何准确、快速进行图像压缩一直是国内外研究的热点。

主要介绍基于DCT变换的图像压缩编码算法,给出具体的实现方法和步骤,并用Matlab进行了算法仿真。

实验结果表明,该算法实现简单,在很大压缩范围内,都能得到很好的重建图像质量,满足不同场合要求不同图像质量的实际需要。

这里利用Matlab做仿真实验,方法简单、速度快且误差小,大大提高了图像压缩的效率和精度。

关键词:图像压缩;DCT变换;Matlab仿真;峰值信噪比中图分类号:TP391 文献标识码:B 文章编号:1004373X(2008)1615703Image Compression Coding and Implementation Based on 2DDCTLI Chunxia(College of Electric and Information Engineering,Shaanxi University of Science & Technology,Xi′an,710021,China)Abstract:The DCT transform is an important technique in the field of image compression.How to compress the image accurately and fast has been a research focus both at home and abroad all the time.This paper mainly introduces the algorithm of the image compress coding based on DCT,and shows details of realization.Then the algorithm is simulated by Matlab.Simulation experiments show that the algorithm is simple to realize.The reconstructed images are of good quality satisfying the demands of different image quality on various occasions under the circumstances of very large compression range.The innovation spot of this paper is that the method doing experiments with Matlab is simple,rapid and with little error.It can improve the efficiency and precision of the image compression greatly.Keywords:image compression;DCT transform;Matlab simulation;peak signal to noise ratio在信息世界迅猛发展的今天,图像传输已成为一项重要内容,而传输信息量的大小是影响传输速度的重要因素之一。

基于DCT变换的图像压缩算法

基于DCT变换的图像压缩算法

基于DCT变换的图像压缩算法图像处理技术一直是计算机科学的热门领域之一,其中基于DCT变换的图像压缩算法因其高效性和广泛应用而备受关注。

本文将探讨基于DCT变换的图像压缩算法的原理及其在实际应用中的表现。

一、原理概述DCT变换是一种将时域信号转换为频域信号的数学方法,被广泛应用于信号处理和图像压缩中。

在图像处理中,DCT变换被用于将一个N×N的图像块转换为N×N的系数矩阵,其中每个系数表示该图像块在特定空间频率上的响应。

基于DCT变换的图像压缩算法的原理是将图像分为若干个N×N的图像块,然后将每个图像块使用DCT变换转换为系数矩阵。

由于在图像中,高频分量的取值通常较小,而低频分量的取值通常较大,因此使用系数矩阵中的高频分量可以有效地压缩图像数据。

二、实际表现基于DCT变换的图像压缩算法在实际应用中表现良好。

例如,在数字摄像机、移动电话摄像头和医学成像设备中,都广泛采用了基于DCT变换的图像压缩算法。

此外,在图像传输和存储中,也经常使用基于DCT变换的图像压缩算法。

在实际应用中,基于DCT变换的图像压缩算法的主要优点是压缩比高、压缩速度快、重建质量好。

此外,基于DCT变换的图像压缩算法还可以进行可逆压缩和不可逆压缩,具有高容错性和灵活性。

三、应用举例在数字摄像机中,基于DCT变换的图像压缩算法被广泛传播和应用。

数字摄像机通常具有高分辨率和高帧速率的优点,但其生产成本较高。

因此,数字摄像机厂家采用基于DCT变换的图像压缩算法,以在不降低图像质量的情况下降低数据传输量。

在移动电话摄像头中,基于DCT变换的图像压缩算法同样被广泛采用。

由于移动电话摄像头的处理能力和存储能力较低,因此使用基于DCT变换的图像压缩算法有助于节省存储空间和传输带宽。

在医学成像设备中,基于DCT变换的图像压缩算法同样得到了广泛应用。

医学成像设备拍摄出的图像质量要求较高,因此使用基于DCT变换的图像压缩算法可以保证图像质量,同时降低数据传输量。

图像JPEG压缩的matlab实现

图像JPEG压缩的matlab实现

图像JPEG压缩的matlab实现图像JPEG压缩的matlab实现图像JPEG压缩的matlab实现作者姓名:专业名称:信息⼯程指导教师:讲师摘要随着现代经济的发展,影像风暴已经席卷了我们的⽇常⽣活,图像对于⼈们已经息息相关。

⼈们对计算机实时处理图像的要求就相对有所提⾼。

现在我们就⾯对⼀个问题,如何在保证图像质量的前提下,同时能够考虑到实时性和⾼效性就成了⼀个⼤家关注的问题。

那么对图像数据信息进⾏必要的压缩,以便能够保证图像的快速存储和传输。

但是,我们通常看到的图像是⼀种重要的⼆维信号,所以它本⾝就包含⾮常庞⼤的数据量,为了快速存储和实时传输,就必须对图像信息进⾏相应的压缩处理。

新兴的数学⼯具是局域DCT变换是⼀种新兴的数学⼯具,在现在社会中,图像压缩技术现在正受到⼤量的关注与研究。

本次课题设计在分析近年来,在图像处理领域,对图像压缩普遍⽅法的基础之上,充分学习和分析了基于DCT变换的图像压缩的相关编码及其基本原理和实现步骤。

简单概述了图像压缩的基本原理以及发展现状和⽅向,全⾯分析了DCT变换算法以及思路,提出了采⽤DCT变换压缩的依据和优势。

本⽂同时也介绍了图像压缩过程的重要步骤——编码量的⽅法和原理。

为了⽅便简单,将使⽤MATLAB2010实现JPEG图像压缩的仿真。

在论⽂最后,将介绍仿真的过程以及仿真结果说明,阐述⽤MATLAB来实现离散余弦变换的图像压缩的基本过程,并总结相关⽅法的优缺点。

同时也将充分展⽰压缩前后的图像,并做相应的⽐较。

关键词:图像压缩DCT matlab仿真AbstractWith the development of modern economy, the storm has swept through the image of our daily life, people have been closely related to the image for the. People's requirements on image real-time processing is relatively improved. Now we face a problem, how to guarantee the quality of the image, at the same time can be old enough considering the real-time and efficiency has become an issue of concern. This information is certain to image compression and processing has become a very important link. However, the image is an important signal, due to the large amount of data, while the storage and transmission of the compressed. New mathematical tools are discrete cosine transform is a new mathematical tool, based on the discrete cosine transform image compression technology is now being a lot of attention and research.In this paper, based on the analysis of the general methods of image compression in recent years, the basic principles and implementation steps of image compression based on DCT transform are also discussed. In this paper, the principle and development of image compression are introduced briefly, and the DCT transform algorithm is analyzed and compared with other compression methods. The basis of DCT transform compression is proposed. The final step of the image compression process is to encode the quantized image. This. We use MATLAB6.5 to realize the simulation of JPEG image compression. The simulation results show that using MATLAB to achieve the image discrete cosine transform compression method is simple, fast, small error advantages, greatly improves the efficiency and accuracy of image compression.Keywords: DCT ,matlab,simulation image, compression⽬录图像JPEG压缩的matlab实现........................................................ I 摘要. (I)Abstract.......................................................................................... II ⽬录. (III)前⾔ (1)1 绪论 (3)1.1论⽂研究背景及意义 (3)1.2 JPEG图像的发展历史及简介 (4)1.3 JPEG图像在DCT中压缩的作⽤ (5)1.4 本⽂研究的主要内容 (6)2 图像压缩编码原理 (7)2.1 DCT变换的来源 (7)2.2基于DCT的JPEG图像压缩编码步骤 (8)2.3图像压缩处理技术基本理论 (9)3 图像压缩的MATLAB实现 (12)3.1离散余弦变换的定义及原理 (12)3.2离散余弦变换的算法实现 (13)3.3图形⽤户界⾯介绍 (14)3.3.1图像⽂件读取 (15)3.3.2图像⽂件输出 (16)4 运⾏结果及分析 (18)4.1 程序流程图 (18)4.2 MATLAB仿真结果 (19)4.3 实验结果及分析 (20)总结 (23)参考⽂献 (25)致谢 (26)附件1 图像JPEG压缩的matlab程序 (27)前⾔在当今,⼈们⼤多都都已经迈⼊了信息化的社会,信息交换技术已经发展出不同的形式,主要的信息分为三种形式:1.⽂字2.⾳频3.图像。

基于MATLAB的DCT变换及其在图像压缩中的应用

基于MATLAB的DCT变换及其在图像压缩中的应用

际上彩 色、 灰度 、 静止图像的第一个 国际标准 。 在编码过程 中, E J G算法 P 首先将 R B分量转化为亮度分量和色差分量, G 然后将图像分解为 8 8 X 的像素块, 对这个 8 8 × 块进行二维离散余弦变换 , 每个块就产生 了 6 4 个 D T系数, 中一个是直流( c系数, C 其 D) 它表示 了 8 输入矩阵全部值 8 X 的平均数 , 其余 6 个 系数为交流 (c系数 , 来对 D T系数 进行量 3 A) 接下 C 化, 最后将量化的 D T系数进行 编码, C 就形成 了压缩 后的图像格式 。在
前 言
现今, 大量的图像 与视频信息都是 以压缩数据格式进行存储和传输 的。D TDsr e o n as r C (i e s e r f m离散余 弦变换) 目 应用最 为广泛 c tC i T n o 是 前 的多媒体数据压缩技术之一。随着 多媒体 和互联 网的发展, 不仅要求大 量存储和传输图像 ,而且往往要求在保证质量 的前提下 以较小 的空间 存储 图像和 以较少的 比特率传输 图像 , 因此最好采用合适 的方法对图像 进行压缩和编码, 以便于图像 的存储 和传输 。对 图像压缩编码的研究属 于信息论中信源编码范畴 ,其主要宗 旨是利用 图像信号 的统计 特性 及 人类视觉的生理及心理学特性对 图像信号进行高效编码 , 研究数据 并 压缩技术 ,以解决数据量大的问题 。图像压缩编码 的 目的和意义就在
图像压缩 即去除多余数据。以数学 的观点来看 , 图像压缩过程实际 上就是将二维像素阵列变换为一个在统计上无关联 的数据集合 。 因此 , 图像压缩是指 以较少的比特有损或无损地表示原来 的像素矩阵的技术, 也称 图像编码 。 11图像 压 缩 的 基 本 方 法 . 图像 压 缩 可 以 是 有 损 数 据 压 缩 也 可 以是 无 损 数 据 压 缩 。对 于 如 绘 制 的技术图 、图表或者漫画优先使用无损压缩 。这是 因为有损 压缩 方 法, 尤其是在低的位速条件下将会 带来压缩失真 。 如医疗图像 或者用 于 存档 的扫描图像等这些有价值的内容的压缩也应尽量选择无损压缩 方 法。 有损方法非常适合于 自然 的图像 , 例如一些应用中图像的微小损 失 是可 以接受的( 有时是无法感知 的)这样就可 以大幅度地减小位速。 , 无损图像压缩方法有 : 程长度编码 , 编码法 ( L w 这样 的 自 行 熵 如 Z 适 应 字 典 算 法 )有损 压 缩 方 法 有 : 1将 色 彩 空 间 化 减 到 图像 中 常用 的 ; () 颜 色 。( ) 抽 样 。( ) 换 编 码 。( ) 形 压 缩 (reacmpes n 。 2 色度 3变 4分 Fat o rsi ) l o 1 . 止 图像 编 码 的 国 际标 准 JE 2静 PG

基于DCT的图像压缩编码算法的MATLAB实现

基于DCT的图像压缩编码算法的MATLAB实现

摘要跟着科学技巧的成长,图像紧缩技巧越来越引起人们的存眷.为此从浩瀚的图像紧缩编码尺度中拔取了基于DCT变换的JPEG图像紧缩编码算法进行研讨,并经由过程比较剖析各类软件特点拔取了MATLAB进行试验仿真.起首说清楚明了图像紧缩在现代通讯中的须要性和可行性,然后讲述了MATLAB及其图像处理对象箱的相干常识,并对基于DCT变换的JPEG图像紧缩算法进行了具体的研讨,重点介绍了JPEG紧缩编码的具体进程和办法 ,具体介绍了编码中DCT变换.量化.熵编码和霍夫曼编码等模块的道理和数学推导以及各模块的功效剖析.最后运用MATLAB进行了试验仿真并剖析成果得出结论.试验成果标明基于DCT变换的JPEG图像紧缩办法简略.便利,既能包管有较高的紧缩比,又能包管有较好的图像质量,运用MATLAB仿真出来的成果较好的反响了其编码算法道理.症结词JPEG图像紧缩;DCT;MATLAB;图像处理对象箱目录摘要IAbstract ..................................................................................... 错误!未界说书签. 第1章绪论11.1课题布景 (1)1.1.1 离散余弦变换 (2)1.1.2 猜测技巧 (3)1.2图像紧缩技巧的成长和近况 (3)1.2.1 图像编码技巧成长汗青 (3)1.2.2 图像编码技巧的近况 (4)1.3MATLAB及其图像处理对象箱 (4)第2章图像紧缩编码理论算法62.1DCT变换的思惟起源 (6)2.2基于DCT的JPEG图像紧缩编码步调 (8)2.2.1 色彩空间的转换和采样 (8)2.2.2 二维离散余弦变换 (9)2.2.3 DCT系数的量化 (12)2.2.4 量化系数的编排 (13)2.2.5 DC系数的编码 (14)2.2.6 AC系数的编码 (15)2.2.7 构成位数据流 (16)2.2.8 DCT变换在图像紧缩中的运用 (19)2.3代码实现错误!未界说书签.第1章绪论1.1 课题布景跟着信息技巧的成长,图像信息被普遍运用于多媒体通讯和盘算机体系中,但是图像数据的一个明显特色就是信息量大.具有宏大的数据量,假如不经由紧缩,不但超出了盘算机的存储和处理才能,并且在现有的通讯信道的传输速度下,是无法完成大量多媒体信息及时传输的,是以,为了更有效的存储.处理和传输这些图像数据,必须对其进行紧缩,是以有须要对图像紧缩编码进行研讨.因为构成图像的各像素之间,无论是在程度偏向照样在垂直偏向上都消失着必定的相干性,是以只要运用某种图像紧缩编码办法提取或者削减这种相干性,就可以达到紧缩数据的目标[1].数字图像的冗余重要表示在以下几种情势:空间冗余:规矩物体和规矩布景的概况物理特点都具有相干性,数字化后表示为数字冗余.例如:某图片的画面中有一个规矩物体,其概况色彩平均,各部分的亮度.饱和度邻近,把该图片作数字化处理,生成位图后,很大数量的相邻像素的数据是完全一样或十分接近的,完全一样的数据当然可以紧缩,而十分接近的数据也可以紧缩,因为恢复后人亦分辨不出它与原图有什么差别,这种紧缩就是对空间冗余的紧缩.时光冗余:序列图像(如电视图像和活动图像)和语音数据的前后有着很强的相干性,经常包含着冗余.在播出该序列图像时,时光产生了推移,但若干幅画面的统一部位没有变更,变更的只是个中某些地方,这就形成了时光冗余.统计冗余:空间冗余和时光冗余是把图像旌旗灯号看作概率旌旗灯号时所反响出的统计特点,是以,这两种冗余也被称为统计冗余.编码冗余:同样长度的编码可以暗示不合的信息.构造冗余:类似的,对称的构造假如都加以记载就消失构造冗余.常识冗余:由图像的记载方法与人对图像的常识差别而产生的冗余.人对很多图像的懂得与某些基本常识有很大的相干性.很多纪律性的构造,人可以由先验常识和布景常识得到.而盘算机存储图像时还得把一个个像素信息存入,这就形成冗余.视觉冗余:视觉体系对于图像场的留意长短平均和非线性的,视觉体系不是对图像的任何变更都能感知.所谓的图像紧缩编码技巧就是对要处理的图像数据按必定的规矩进行变换和组合, 从而达到以尽可能少的数据流(代码)来暗示尽可能多的数据信息.在浩瀚的图像紧缩编码尺度中,JPEG(Joint Photographic Experts Group)格局是一种称为结合图像专家组的图像紧缩格局,它实用于不合类型.不合分辨率的黑色和诟谇静止图像[2].在JPEG图像紧缩算法中,一种是以离散余弦变换(DCT,Discrete Cosine Transform)为基本的有损紧缩算法,另一种是以猜测技巧为基本的无损紧缩算法.离散余弦变换DCT变换运用傅立叶变换的性质.采取图像鸿沟褶翻将像变换为偶函数情势,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换.DCT编码属于正交变换编码方法,用于去除图像数据的空间冗余.变换编码就是将图像光强矩阵(时域旌旗灯号)变换到系数空间(频域旌旗灯号)长进行处理的办法.在空间上具有强相干的旌旗灯号,反应在频域上是在某些特定的区域内能量经常被分散在一路,或者是系数矩阵的散布具有某些纪律.我们可以运用这些纪律在频域上削减量化比特数,达到紧缩的目标.图像经DCT变换今后,DCT系数之间的相干性就会变小.并且大部分能量分散在少数的系数上,是以,DCT变换在图像紧缩中异常有效,是有损图像紧缩国际尺度JPEG的焦点.从道理上讲可以对整幅图像进行DCT变换,但因为图像各部位上细节的丰硕程度不合,这种整体处理的方法后果不好.为此,发送者起首将输入图像分化为8*8或16*16块,然后再对每个图像块进行二维DCT 变换,接着再对DCT系数进行量化.编码和传输;吸收者经由过程对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换.最后将操纵完成后所有的块拼接起来构成一幅单一的图像.对于一般的图像而言,大多半DCT系数值都接近于0,所以去掉落这些系数不会对重建图像的质量产生较大影响.是以,运用DCT进行图像紧缩确切可以勤俭大量的存储空间.在试验中,先将输入的原始lena图像分为8*8块,然后再对每个块进行二维DCT变换.MATLAB图像处理上具箱中供给的二维DCT变换及DCT反变换函数如下.dct2实现图像的二维离散余弦变换.其语法格局为:(1)B=dct2(A) 返回图像A的二维离散余弦变换值,其大小与A雷同且各元素为离散余弦变换的系数B(K1,k2).(2)B=dct2(A,in,n)或B=dct2(A,[m,n]) 假如m和n比图像A大,在对图像进行二维离散余弦变换之前,先将图像A补零至m*n假如m和n比图像A 小.则进行变换之前,将图像A剪切.idct2可以实现图像的二维离散余弦反变换,其语法格局为:B=idct2(A);B=idct2(A,m,n)或B=idct2(A,[m,n]).1.1.2 猜测技巧它是运用空间中相邻数据的相干性,运用曩昔和如今消失过的点的数据情形来猜测将来点的数据.通经常运用的办法是差分脉冲编码调制(DPCM)和自顺应差分脉冲编码调制(ADPCM).1.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等人提出的,采取的是二维离散傅立叶变换,此后接踵消失用其他变换办法的变换编码,个中包含二维离散余弦变换.1.2.2 图像编码技巧的近况经由几十年的成长,图像编码技巧业已成熟,一些国际建议的制订极大地推进了图像编码技巧的实现和财产化,从而推进图像编码技巧以更快的速度成长,今朝的研讨偏向有两个:(1) 更好地实现现有的图像编码国际建议. 研制出集成度更高.机能更好的图像编码专用芯片,使编码体系成本更低.靠得住性更高.解决好现有的图像编码体系开辟中的技巧问题.例如:进步图像质量.进步抗码才能等.(2) 对图像编码理论和其他图像编码办法的研讨. 今朝已经提出和正在进行研讨的图像编码办法有:多分辨率编码.基于概况描写的编码.模子编码.运用人工神经收集的编码.运用分形几何的编码.运用数学形态学的编码等等.1.3 MATLAB及其图像处理对象箱假如运用高等说话(如Basic,C,Fortran)编写仿真程序来实现这一基于DCT的图像紧缩编码算法比较麻烦,并且仿真后果也不是十分幻想.本文重要运用MATLAB宣布的图像处理对象箱中的相干函数和敕令来实基于DCT的图像紧缩编码理论算法的仿真.MATLAB说话是由美国MathWorks公司推出的盘算机软件,经由多年的慢慢成长与不竭完美,现已成为国际公认的最优良的科学盘算与数学运用软件之一,它集数值剖析.矩阵运算.旌旗灯号处理和图形显示于一体,构成了一个便利的.界面友爱的用户情形,并且还具有可扩大性特点.MATLAB中的数字图像是以矩阵情势暗示的,矩阵运算的语法对MATLAB中的数字图像同样实用,这意味着MATLAB壮大的矩阵运算才能对用于图像处理异常有利.图像处理对象箱(Image Processing Toolbox)供给了一套全方位的参照尺度算法和图形对象,用于进行图像处理.剖析.可视化和算法开辟.可进行图像紧缩.空间转换.图像加强.特点检测.降噪.图像朋分和图像配准等功效.对象箱中大部分函数均以凋谢式MATLAB 说话编写,这意味着可以检讨算法.修正源代码和创建自界说函数.本文运用MATLAB图像处理对象箱对基于DCT 的JPEG图像紧缩编码理论算法进行仿真,试验证实该软件功效壮大,说话简练易学,对象箱具有丰硕的技巧支撑并集成了该范畴专家的聪明,运用简略而后果优越.第2章图像紧缩编码理论算法2.1 DCT变换的思惟起源旌旗灯号的变换剖析办法中,平日是经由过程一组恰当的基函数对旌旗灯号进行分化,得到旌旗灯号在变换域的暗示办法,运用旌旗灯号在变换域中某些特点趋于分散的特色来提取其特点从而进行剖析.自1822年傅立叶(Fourier)揭橥“热传导解析理论”以来,傅立叶变换一向是旌旗灯号处理范畴中运用最普遍.后果最好的一种剖析手腕.但傅立叶变换只是一种纯频域的剖析办法,它在频域的定位性是完全精确的(即频域分辨率最高),而在时域无任何定位性(或分辨才能),也即傅立叶变换所反应的是全部旌旗灯号全体时光下的整体频域特点,而不克不及供给任何局部时光段上的频率信息.事实上,在我们生涯中的罕有旌旗灯号平日都具有非安稳的性质,即其频域性质都是随时光而变更的.对这一类旌旗灯号用傅立叶变换进行剖析,固然可以知道旌旗灯号所包含有哪些频率信息,但不克不及知道这些频率信息具体出如今哪个时光段上,是以不克不及供给关于旌旗灯号完全的信息.可见,傅立叶变换不实用于提取局部时光段(或刹时)的频域特点信息[4].提出了有名的Gabor变换.,,,然后再进行傅立叶变换.在Gabor变换的基本上,为了顺应不合问题的须要,进一步成长了多种情势的窗口函数,如矩形窗.汉宁窗.哈明窗等,这一类加窗的傅立叶变换统称为短时傅立叶变换(STFT).STFT从本质上讲,是用窗函数截取原始旌旗灯号的一个待剖析段进行傅立叶变换,因而可以描写旌旗灯号在某一局部时光段上的频率信息.今朝,STFT在很多范畴获得了普遍的运用,但因为STFT的界说决议了其窗函数的大小和外形均与时光和频率无关,一旦选定窗口就保持固定不变,晦气于剖析时变旌旗灯号.现实上一般的高频旌旗灯号中断时光较短,而低频旌旗灯号中断时光较长,是以我们期望对于高频旌旗灯号采取小时光窗,对于低频旌旗灯号采取大时光窗进行剖析.在进行旌旗灯号剖析时,这种变时光窗的请求同STFT的固准时窗(窗不随频率而变更)的特点是相抵触的[5].离散余弦变换(DCT)从本质上是一种变换剖析办法,要在变换时最大的去除剖析旌旗灯号的相干性提取其特点,就必须恰当的构造一组基函数,这组基函数以某种情势类似于我们所要暗示的数据,甚至具有与数据雷同的相干构造.在我们日常生涯中常碰到的旌旗灯号在空间域和频域都具有相干性.在空间上相隔较近的样值间的相干性比相隔较远的大的多,而在频域上平日呈带状.为了剖析和暗示如许的旌旗灯号,我们须要基函数在空间域和频域是局域性的.因为离散余弦函数的频域分辨率与时域分辨率成反比,刚好与现实旌旗灯号长时低频.短时高频的特点相吻合,既能准肯定位旌旗灯号的突发跳变,又能掌控旌旗灯号的整体变更率.由此可见,离散余弦变换是一种比较幻想的进行旌旗灯号处理的数学对象[6].图像紧缩编码的理论算法.(1)基于DCT的JPEG图像紧缩编码理论算法基于DCT编码的JPEG 编码紧缩进程框图,如图2-1所示.上图是基于DCT变换的图像紧缩编码的紧缩进程,解紧缩与上图的进程相反.在编码进程中,起首将输入图像色彩空间转换后分化为8×8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,个中1个数值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交换(AC)系数,接下来对DCT 系数进行量化,最后将变换得到的量化的DCT 系数进行编码和传送,如许就完成了图像的紧缩进程.在解码进程中,形成紧缩后的图像格局,先对已编码的量子化的DCT 系数进行解码,然后求逆量化并把DCT 系数转化为8×8样本像块(运用二维DCT 反变换),最后将操纵完成后的块组合成一个单一的图像.如许就完成了图像的解压进程.2.2 基于DCT 的JPEG 图像紧缩编码步调2.2.1 色彩空间的转换和采样JPEG 文件运用的色彩空间为1982年推举的电视图像数字化尺度CCIR 601(现为ITU-RB T.601).在这个色彩空间中,每个分量.每个像素的电平划定为255级,用8位代码暗示.JPEG 只支撑YCbCr 色彩模式.个中Y 代表亮模式转换到YCbCr 模式,用下组公式.JPEG 是以8×8的块为单位来进行处理的,因为人眼对亮度Y 的迟钝度比色度CbCr 的迟钝度大的多,所以采取缩减取样的方法,平日采取YUV422取样,图2-2所示.图2-2Y U V 422取样示意图即对于16×16的块,Y 取4个8×8的块,CbCr 各取2个8×8的块.也有YUV411方法,Y 取4个8×8的块,CbCr 各取1个8×8的块.YUV422取样方法,数据削减1/3.YUV411取样方法,数据削减1/2.缩减取样一般采取图2-3所示办法.图2-3 紧缩取样示意图2.2.2 二维离散余弦变换在傅里叶级数睁开式中,假如被睁开的函数是实偶函数,那么,其傅里叶技巧中只包含余弦项,在将其离散化由此可导出余弦变换,或称之为离散余弦变换(DCT,Discrete Cosine Transform)[7].式中式中JPEG 采取的是8×8大小的子块的二维离散余弦变换.在编码器的输入端,把原始图像次序地朋分成一系列8×8的子块,子块的数值在-128到127之间.采取余弦变换获得64个变换系数[8].变换公式,如式(2-5)所示.()()()()7712121,,cos cos 41616x y x y F u v c u c v f x y u v ππ==++⎛⎫⎛⎫= ⎪ ⎪⎝⎭⎝⎭∑∑(2-5)式中,7,,1,0,,, =v u y x .⎪⎩⎪⎨⎧====其它10,021)()(v u v c u c在MATLAB 的图像处理对象箱中,可以直接挪用dct2和idct2来实现二维离散余弦变换及其反变换.(1) dct2dct2函数实现图像的二维离散余弦变换,其语法为: F=dct2(f) 运行下列程序: f=imread('cameraman.tif'); f=im2double(f); F=dct2(f);subplot(121),imshow(f,[ ]);subplot(122),imshow(log(1+20*abs(F)),[ ]); 运行成果如图2-4所示.图2-4图像显示及图像DCT 变换后频谱显示由运行成果可知,DCT 变换具有能量分散的性质,数据分散在左上角.是以进行图像紧缩时离散余弦变换矩阵可以舍弃右下角的高频数据.(2) idct2 idct2函数实现图像的二维离散余弦逆变换,其语法为: F=idct2(f)在MATLAB图像处理对象箱中,有一个对图像进行块操纵的函数blkproc,运用这个函数,可以直接实现图像一系列8×8子块的DCT变换.其语法格局为:B = blkproc(A,[m n],fun, parameter1,,parameter2, ...)B = blkproc(A,[m n],[mborder nborder],fun,...)B = blkproc(A,'indexed',...)[m n]是指图像以m*n为分块单位,对图像进行处理(如8像素*8像素) Fun:运用此函数对分离对每个m*n分块的像素进行处理parameter1, parameter2:要传给fun函数的参数mborder nborder:对每个m*n块高低进行mborder个单位的扩充,阁下进行nborder个单位的扩充,扩充的像素值为0,fun函数对全部扩充后的分块进行处理.如下列程序:I = imread('cameraman.tif');fun = idct2;J = blkproc(I,[8 8],fun);imagesc(J), colormap(hot)8×8的图像经由DCT变换后,其低频分量都分散在左上角,高频分量散布在右下角(DCT变换现实上是空间域的低通滤波器).因为该低频分量包含了图像的重要信息(如亮度),而高频与之比拟,就不那么重要了,所以我们可以疏忽高频分量,从而达到紧缩的目标.将高频分量去掉落,这就要用到量化,它是产生信息损掉的根源.这里的量化操纵,就是将某一个值除以量化表中对应的值.因为量化表左上角的值较小,右上角的值较大,如许就起到了保持低频分量,克制高频分量的目标.JPEG运用的色彩是YUV格局.我们提到过,Y分量代表了亮度信息,UV分量代表了色差信息.比拟而言,Y分量更重要一些.我们可以对Y采取细量化,对UV采取粗量化,可进一步进步紧缩比.所以上面所说的量化表平日有两张,一张是针对Y的,一张是针对UV的.DCT系数的量化量化是对经由DCT变换后的频率系数进行量化,其目标是减小非“0”系数的幅度以及增长“0”值系数的数量,它是图像质量降低的最重要原因.对于基于DCT的JPEG图像紧缩编码算法运用如图2-6所示的平均量化器进行量化,量化步距是按照系数地点的地位和每种色彩分量的色调值来肯定.因为人眼对亮度旌旗灯号比对色差旌旗灯号更迟钝,是以运用了表2-1所示的种量化表.此外,因为人眼对低频分量的图像比对高频分量的图像更迟钝,是以表中的左上角的量化步距要比右下角的量化步距小[9].亮度和色度因为代表的图像的信息量不合,亮度代表了图像的低频分量,色度代表了图像的高频分量,要分离对亮度和色度进行量化,所以量化表也是不合的.JPEG紧缩色度和亮器量化表如表2-1所示.量化会产生误差,上图是分解大量的图像测试的试验成果,对于大部分图像都有很好的成果.表中可以看出,高频部分对应的量化值大,目标就是将高频部分编程接近于0,以便今后处理.JPEG可以在紧缩比和图像质量间作弃取.办法就是转变量化值.假如量化值放大一倍,则有更多的系数量化为0,进步了紧缩比.2.2.4 量化系数的编排经由DCT变换后,低频分量分散在左上角,个中F(0,0)(即第一行第一列元素)代表了直流(DC)系数,即8×8子块的平均值,要对它单独编码.因为两个相邻的8×8子块的DC系数相差很小,所以对它们采取差分编码DPCM,可以进步紧缩比,也就是说对相邻的子块DC系数的差值进行编码.8×8的其它63个元素是交换(AC)系数,采取行程编码[10].所以量化后的系数要从新编排,目标是为了增长中断的“0”系数的个数,就是“0”的游程长度,办法是按照Z字形的式样编排.DCT变换后低频分量多呈圆形辐射状向高频率衰减,是以可以算作按Z 字形衰减.是以,量化系数按Z字形扫描读数,如许就把一个8×8的矩阵变成一个1×64的矢量,频率较低的系数放在矢量的顶部.量化后的DCT系数的编排如图2-7所示.图2-7 量化DCT系数的编排量化后的DCT系数的序号如表2-2所示.表2-2 量化DCT系数的序号0 1 5 6 14 15 27 282 4 7 13 16 26 29 423 8 12 17 25 30 41 439 11 18 24 31 40 44 5310 19 23 32 39 45 52 5420 22 33 38 46 51 55 6021 34 37 47 50 56 59 6135 36 48 49 57 58 62 63DC系数的编码8×8子块的64个变换系数经量化后,按直流系数DC和交换系数AC分成两类处理.坐标u=v=0的直流系数DC本质上就是空域图像中64个像素的平均值.图像块经由DCT变换之后得到的DC直流系数有两个特色,一是系数的数值比较大,二是相邻8×8图像块的DC系数值变更不大.依据这个特色,JPEG算法运用了差分脉冲调制编码技巧.差分脉冲编码调制(DPCM,Differential Pulse Code Modulation),是一种对模仿旌旗灯号的编码模式,先依据前一个抽样值盘算出一个猜测值,再取当前抽样值和猜测值之差作为编码用.此差值称为猜测误差.抽样值和猜测值异常接近(因为相干性强),猜测误差的可能取值规模比抽样值变更规模小.所以可用少几位编码比特来对猜测误差编码,从而降低其比特率.这是运用减小冗余度的办法,降低了编码比特率.是以,对DC系数编码进行差分脉冲编码就是对相邻图像块之间量化DC系进行编码,即对相邻块之间的DC系数的差值.DC采取差值脉冲编码的重要原因是因为在中断色调的图像中,其差值多半比原值小,对差值进行编码所需的位数,会比对原值进行编码所需的位数少很多.例如差值为5,它的二进制暗示值为101,假如差值为-5,则先改为正整数5,再将其二进制转换成1的补数即可.所谓1的补数,就是将每个Bit若值为0,便改成1;Bit为1,则变成0.差值5应保存的位数为3,列出差值所应保存的Bit数与差值内容的对比.在差值前端别的参加一些差值的霍夫曼码值,例如亮度差值为5(101)的位数为3,则霍夫曼码值应当是100,两者衔接在一路即为100101.2.2.6 AC系数的编码DCT变换所得系数除直流系数之外的其余63个系数称为交换系数(AC 系数).量化AC系数的特色是1×64矢量中包含有很多“0”系数,并且很多“0”是中断的,是以运用异常简略和直不雅的游程长度编码(RLE)对它们进行编码.所谓行程编码(Run-Length Encoding)就是指仅存储一个像素值以及具有雷同色彩的像素数量标图像数据编码方法,或称游程编码,经常运用RLE(Run-Length Encoding)暗示.该紧缩编码技巧相当直不雅和经济,运算也相当简略,是以解紧缩速度很快.RLE紧缩编码尤其实用于盘算机生成的图形图像,对削减存储容量很有后果[11].63个AC系数采取行程编码的方法进行编码的格局如图2-8所示.也即在AC01到AC63中,找出每一个非零的AC值,将其暗示成(NN/SS)VV的情势,个中:NN暗示该AC值前的0的个数.而SS.VV与DC的界说一样.假如中断的非0超出15个时,增长一个扩大字节:(15/0)暗示中断16个0.别的如有一串0延长到AC63,一律用(0/0)暗示停止.图2-8 AC 编码格局对于AC 系数,有两个符号.符号1为行程和尺寸,即上面的(RunLength,Size).(0,0)和(15,0)是两个比较特别的情形.(0,0)暗示块停止标记(EOB),(15,0)暗示ZRL,当行程长度超出15时,用增长ZRL 的个数来解决,所以最多有三个ZRL(3×16+15=63).符号2为幅度值(Amplitude).对于DC 系数,也有两个符号.符号1为尺寸(Size);符号2为幅度值(Amplitude).对于AC 系数,符号1和符号2分离进行编码.零行程长度超出15个时,有一个符号(15,0),块停止时只有一个符号(0,0).对符号1进行Huffman 编码(亮度,色差的Huffman 码表不合).对符号2进行变长整数VLI 编码.举例来说:Size=6时,Amplitude 的规模是-63~-32,以及32~63,对绝对值雷同,符号相反的码字之间为反码关系.所以AC 系数为32的码字为100000,33的码字为100001,-32的码字为011111,-33的码字为011110.符号2的码字紧接于符号1的码字之后.对于DC 系数,Y 和UV 的Huffman 码表也不合.2.2.7 构成位数据流JPEG 编码的最后一个步调是把各类标识表记标帜代码和编码后的图像数据构成一帧一帧的数据,如许做的目标是为了便于传输.存储和译码器进行译码,如许的组织的数据平日称为JPEG 位数据流(JPEGbitstream)[12].举个例子来解释上述进程.下面为8×8的亮度(Y)图像子块经由量化后的系数,如表2-3所示.第一字节第二字节。

基于DCT量化的彩色图像盲水印算法及其MATLAB实现

基于DCT量化的彩色图像盲水印算法及其MATLAB实现
分量 为 d
计算量化值 入 o n (x/ ) =r d dy 8 。其 中 ru d为四舍五入取 u on
整 函数 ,8为预 先 设 定 的量 化 步 长 。 记 置乱 后 的 水 印 图像 为 w +,修 改 各 块 A 经 D T变换 C
后的D C分量 :
二 、水 印 置 乱
… }
% { …源自E ’ ^







实用第一 智慧密集
… … … … … … … … … … … … … … … … … … … … … .…
基于 D T C 量钧 彩色图像盲水印算法 M TA A L B实现 | -



本 文提 出一 种基 于小波 变换和 D T变换 的彩 色图像盲 水 印算 法。将 载体 彩 色 图像 C
水印在嵌入 之前 ,需 要进行置 乱处理 ,以增强算 法健壮 性 。图像置乱就是 利用某种算 法将一 幅图像各像素 的次序打 乱 ,但像素的总个数不变,直方 图不变 ,使一 幅图像变得 “ 面
目全 非 ” 。 图像 置乱 方 法 有 Anl 变 换 、幻方 变 换 、Hle 曲 rod i r bt 线 变 换 、Cn a ow y游戏 等 。文 献 中多 见 的是 A nl 换 。 A o ro d变 n d rl 变换 简 单 易行 ,置 乱 效 果较 好 ,并 且 具有 周 期 性 ,变 换 一 定次
将 P由 R B色彩空间转换到 YQ空间 ,取其 Y分量 ,记 G I
P 为。 v
将 P 进行一级小波分解 ,取其低频逼近 图像 P ,将 P 分 v
成 ij 8 × 个 ×8的小 块 A ( =12 . .; =1 2 .j。 X , , .iY , . .)

基于DCT的图像压缩编码算法及Matlab实现

基于DCT的图像压缩编码算法及Matlab实现

基于DCT的图像压缩编码算法及Matlab实现电子与信息工程学院信号与信息处理刘厚鹏1030092090基于DCT的图像压缩编码算法及Matlab实现一.DCT介绍离散余弦变换(Discrete Cosine Transform,简称DCT变换)是一种与傅立叶变换紧密相关的数学运算。

在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出余弦变换,因此称之为离散余弦变换。

二.基于DCT的图像压缩编码算法的表述在编码过程中,首先将输入图像分解为8⨯8大小的数据块,然后用正向二维DCT,把每个块转变成64个DCT系数值,其中1个数值是直流(DC)系数,即8⨯8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT系数进行量化,最后将变换得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式.在解码过程中,先对已编码的量子化的DCT系数进行解码,然后求逆量化并把DCT系数转化为8⨯8样本像块(使用二维DCT反变换),最后将操作完成后的块组合成一个单一的图像.这样就完成了图像的压缩和解压过程.三.Matlab实现应用MATLAB仿真实现中,主要是在解析式定义基础上采用二维DCT变换的矩阵式定义来实现的.MATLAB仿真实现过程:I=imread('1.tif');I=im2double(I);T=dctmtx(8);B=blkproc(I,[8 8],'P1*x*P2',T,T');mask=[1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];B2=blkproc(B,[8 8],'P1.*x',mask);I2=blkproc(B2,[8 8],'P1*x*P2',T',T);imshow(I)title('原始图像')figure;imshow(I2)title('压缩后的图像')四:压缩结果:原始图像:压缩后的图像五:结论数字图像的固有缺陷是其特别巨大的数据量,与传输网络有限的传输能力形成了一对矛盾,成为制约数字图像应用的瓶颈。

Matlab技术图像压缩算法

Matlab技术图像压缩算法

Matlab技术图像压缩算法图像压缩是数字图像处理中的一项重要技术,它通过减少图像数据的冗余性,实现图像数据的压缩和存储。

在实际应用中,我们常常需要在保证图像质量的前提下,尽可能减少图像的存储空间和传输带宽。

Matlab作为一种功能强大的科学计算软件,提供了一系列图像压缩的算法和工具,本文将介绍一些常用的Matlab技术图像压缩算法。

一、离散余弦变换(DCT)算法离散余弦变换是一种广泛应用于图像压缩的算法。

DCT算法将图像分解为一系列互不相关的频域分量,通过对这些分量进行量化和编码,实现图像的压缩。

在Matlab中,可以使用dct2函数对图像进行离散余弦变换。

首先,需要将原始图像转换为灰度图像,然后将像素值缩放到(-127,127)的范围内。

接下来,可以使用dct2函数对图像进行离散余弦变换,得到图像的频域分量。

在量化阶段,可以选择不同的量化步长来控制图像的压缩比。

较大的量化步长将导致更高的压缩比,但同时也会引入更多的失真。

在编码阶段,可以使用Huffman编码等技术对量化后的系数进行编码,进一步减小图像的存储空间。

二、小波变换(Wavelet Transform)算法小波变换是另一种常用的图像压缩算法。

相比于离散余弦变换,小波变换能够更好地捕捉到图像的局部特征,提供更高的压缩效果。

在Matlab中,可以使用wavedec2函数对图像进行小波变换。

首先,需要将原始图像转换为灰度图像,然后对图像进行小波分解。

分解得到的低频分量和高频分量之间存在一种层次结构,可以选择保留较低频的分量来实现不同程度的压缩。

在重构阶段,可以使用waverec2函数将图像的小波分量进行重构,得到压缩后的图像。

与DCT算法类似,小波变换也可以通过量化和编码来进一步减小图像的存储空间。

三、向量量化(Vector Quantization)算法向量量化是一种基于聚类的图像压缩算法。

它将图像分成多个不重叠的区域,然后将每个区域表示为一个固定长度的向量。

基于DCT变换的数字图像压缩技术及其Matlab实现

基于DCT变换的数字图像压缩技术及其Matlab实现
1 离 散 余弦 变换 的概 念
1 1 一 维 离散 余 弦 正 反 变 换 的 公 式 .
N I -
)一 ( c F足 一2 fn o ( ) ∑ ) s


k 一 0, 2, , 1, … Ⅳ 一 1
( 1)
蓦 s

k 一 0, 2, , 1, … Ⅳ ~ 1
Ab t a t s r c :Th o t o e h o o y o CM ( i g ec n r l ir c mp t r s wi e y u e n h o eo h s t c n l g s t e e c n r l c n l g fS t S n l o to c o o M u e )i d l s d a d t e c r ft i e h o o y i h
维普资讯
《 现代 电子技 术 》 0 2年 第 9期 总 第1 0期 20 4
收 稿 日期 : 2 0 0 — 1 0 2— 7 1
基于 D T变 换的 数字 图像压 缩技 术及其 Malb实现 C t a
Di ia m a e Co pr s i n Te hn o y Ba e ic e e Co i e Tr ns or g t lI g m e s o c ol g s d on D s r t s n a f m
1 陈 粤初 . 片及 应用 系 统设 计 与实 践 .北 京 :北京 单
航 空航 天 大学 出版 社 ,1 9 92 2 何立 民.单 片机 应 用 系统设 计 .北 京 : 京航 空航 北
天 大 学 出 版 社 , 1 9 98
系统 的原理 构成 、软件 设计 、硬件 设 计 以及 系 统 调试 方法 的要 点 是 十分必 要 的 。根 据工 作 经验 ,前 面叙 述 的系 统调 试 方法将 会有 助 于 从事 这方 面工 作 的技 术人

基于APIDCT和自适应霍夫曼编码的静态图像压缩算法论文

基于APIDCT和自适应霍夫曼编码的静态图像压缩算法论文

第一章绪论1.1 课题背景及研究意义通信,是指人与人、人与客观事物之间凭借某种媒介建立的联系进行的信息传递或交流。

人们存储、记录或传输信息的需求随着社会生产力的发展,越来越难以满足。

尤其是近些年复数个摄像头合成的图片像素急剧增加,日常生活中使用的图片存储占用的空间和传输时消耗的时间也急剧增加。

传统媒介主要包括收音机等,不能集声音、图像、动画等各种方式于一身,其传送、储存信息的能力不足。

而随着科技的发展,人们迫切的需要寻求一个能满足自身各类需求的新媒介。

为了能够大量且快速地储存、记录和传输通信所需要的信息,并满足图像质量高、传输速度快和设备稳定可靠的需求,信息需要在传输和存储时进行压缩,在接受和读取时进行解压。

图像是日常生活中最常用的携带信息的重要载体,包含了对象的很多信息,也更容易给人深刻印象。

但图像占的空间原比文字等方式大很多。

为了解决图像的传输问题,可以使图像数字化,以解决图像的传输和存储时占用的空间和耗费的时间。

此种方法把难以直接处理的图像信息转换为便于处理的数字信号,同时在压缩时去除在人的视觉系统对与图像质量影响很小的的高频信息,有损压缩可以缩小需要处理的数据量,进而提高处理、传输和存储的效率,并且能保证传输质量。

正是因为编码压缩技术的日益进步,图像信息的快速传输和低占用存储才得以实现。

图像的数据文件格式有很多,如BMP、TIFF、GIF、PNG、JPEG等。

BMP (位图)几乎不进行压缩,是目前常用的操作系统中的标准图像文件格式,这种格式占用存储空间过大,只在单机上较为流行;TIFF(标签图像文件格式)格式灵活应用广泛,但格式复杂;;PNG是GIF和TIFF文件格式派生的无损压缩格式,增加了二者不具备的特性;JPEG由于其拥有较高的压缩比,被广泛应用于各类场合,但其存在失真的缺点。

1.2 国内外研究现状图像变换是图像压缩的关键技术之一,其本质就是将原处于图像空间的图像由空间域通过某种变换改变为转换域图像,再利用变换后的图像便于分析的特性来进行处理。

如何使用Matlab进行图像压缩与解压

如何使用Matlab进行图像压缩与解压

如何使用Matlab进行图像压缩与解压1.引言图像是数字时代中不可或缺的一部分,它们在各种领域中扮演着重要角色,如电视、电影、医学和计算机视觉等。

然而,随着图像质量和分辨率的提升,图像的文件大小也大幅增加,对存储和传输带来了不小的挑战。

为解决这一问题,图像压缩技术应运而生。

本文将介绍如何使用Matlab进行图像压缩与解压,以提升图像的存储和传输效率。

2.图像压缩的基本原理图像压缩的目标是通过减少图像文件的大小来节省存储空间和传输带宽。

它通常分为有损压缩和无损压缩两种类型。

有损压缩通过牺牲一部分图像细节来减小文件大小,而无损压缩则保持图像的完整性。

本文主要讨论有损压缩方法。

有损压缩的主要原理是通过利用图像的冗余性和视觉感知特性来去除冗余信息和减少图像细节。

常见的有损压缩方法有基于变换的压缩和基于预测的压缩。

其中,基于变换的压缩方法利用离散余弦变换(DCT)或小波变换等将图像转换成频域表示,然后通过量化和熵编码等步骤来减少数据量。

基于预测的压缩方法则通过对图像中的像素进行预测,并对预测误差进行编码来减小数据量。

3.使用Matlab进行图像压缩Matlab是一种功能强大的数学软件,也是进行图像处理和压缩的理想选择。

Matlab提供了丰富的图像处理工具箱,使我们能够轻松地实现图像压缩算法。

首先,我们需要将图像加载到Matlab中。

通过使用imread函数,我们可以将图像文件读取为一个矩阵。

```matlabimage = imread('image.jpg');```然后,我们可以使用不同的压缩算法对图像进行压缩。

以基于DCT的压缩为例,我们可以使用dct2函数将图像转换为频域表示。

```matlabdct_image = dct2(image);```接下来,我们可以对频域表示的图像进行量化。

量化是将图像的频域系数映射到一组有限的离散值的过程。

可以通过设计一个量化矩阵来控制图像的压缩比率。

Matlab中的数字图像编码方法

Matlab中的数字图像编码方法

Matlab中的数字图像编码方法随着数字图像处理技术的不断发展,数字图像编码变得越来越重要。

而Matlab 作为一种强大的数学软件,提供了许多数字图像编码方法的实现。

本文将介绍一些常见的Matlab中的数字图像编码方法,并讨论它们的原理及应用。

一、JPEG图像编码JPEG是一种常用的基于DCT(离散余弦变换)的图像压缩方法。

其基本原理是将图像分块,并对每个分块进行离散余弦变换。

通过舍弃高频系数,可以实现图像的有损压缩。

在Matlab中,可以使用JPEG编码库实现JPEG图像编码。

这种编码方法被广泛应用于数字图像的存储和传输。

二、JPEG2000图像编码JPEG2000是JPEG的一种改进版本,采用了基于小波的图像压缩技术。

与JPEG相比,JPEG2000具有更高的压缩比和更好的视觉质量。

在Matlab中,可以使用JPEG2000编码库实现JPEG2000图像编码。

这种编码方法在医学图像、卫星图像等领域有着广泛的应用。

三、Run-Length编码Run-Length编码是一种简单有效的无损图像压缩技术。

其原理是统计连续出现的像素值的个数,然后将像素值和个数进行编码。

在Matlab中,可以使用rle编码函数实现Run-Length编码。

这种编码方法常用于二值图像和灰度图像的压缩。

四、Huffman编码Huffman编码是一种根据字符出现频率制定的可变长度编码方法。

其原理是通过构建霍夫曼树,将出现频率较高的字符用较短的编码表示,出现频率较低的字符用较长的编码表示。

在Matlab中,可以使用huffmanenco和huffmandeco函数实现Huffman编码。

这种编码方法常用于对图像的灰度级进行编码。

五、LZW编码LZW编码是一种无损的字典编码方法,常用于无损图像压缩。

其原理是通过利用字典表存储已出现的字符和对应的编码,从而实现对连续出现的字符序列进行编码。

在Matlab中,可以使用lzwenco和lzwdeco函数实现LZW编码。

基于DCT图像压缩及MATLAB实现

基于DCT图像压缩及MATLAB实现

大学本科生毕业设计(论文)基于DCT的图像压缩及MATLAB实现学院(系):专业班级:学生姓名:指导教师:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。

本人完全意识到本声明的法律后果由本人承担。

作者签名:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

本学位论文属于1、保密囗,在年解密后适用本授权书2、不保密囗。

(请在以上相应方框内打“√”)作者签名:年月日导师签名:年月日本科生毕业设计(论文)任务书学生姓名:专业班级:指导教师:工作单位:设计(论文)题目:基于DCT的图像压缩及MATLAB实现设计(论文)主要内容:论文阐述DCT(离散余弦变换)的图像压缩基本理论,以及用MATLAB实现DCT 的图像压缩方法。

重点讨论基于DCT图像压缩的方法,并在MATLAB环境下进行仿真实验,与其他图像压缩方法进行比较,总结其优缺点以及基于DCT的图像压缩技术的现实意义。

要求完成的主要任务:1.掌握图像压缩的基本原理;2.掌握DCT基本原理;3.分析基于DCT的图像压缩编码理论;4.在MATLAB环境下,对基于DCT图像压缩进行仿真实验;5.总结基于DCT的图像压缩技术的现实意义;6.要求阅读相关的参考文献不少于15篇,其中英文文献不少于3篇,翻译与选题相关的英文参考文献不少于2万印刷符;7.按照学校的论文撰写规范,正确、按时的完成论文。

必读参考资料:1.《数字图像处理(第二版)》,冈萨雷斯著,阮秋琦译,电子工业出版社2.《数字图像处理与压缩编码技术》,黄贤武、王加俊、李宗华著,电子科技大学出版社3.《MATLAB及在电子信息课程中的应用(第3版)》,陈怀琛、吴大正、高西全著,电子工业出版社指导教师签名:系主任签名:院长签名(章)本科生毕业设计(论文)开题报告目录摘要.............................................................................................................................................................. I Abstract .......................................................................................................................................................... II 1 绪论. (1)1.1 图像压缩的必要性 (1)1.2离散傅里叶变换(DFT)与离散余弦变换(DCT)的比较 (3)2 图像压缩的基本原理 (4)2.1 图像压缩的基本思想 (4)2.2 图像压缩的基本原理模型 (4)3 DCT编码算法 (7)3.1 一维DCT (7)3.2 二维DCT (9)3.3 一维DCT快速算法 (10)4 DCT系数的量化 (16)5 MA TLAB实现 (19)5.1 MA TLAB语言的特点 (19)5.2 MA TLAB的功能 (19)5.3 离散余弦变换的MA TLAB实现 (20)6 图像压缩中DCT算法和其他算法的比较 (24)6.1 KLT和DCT两种算法的比较 (24)6.2 小波变换和DCT两种算法的比较 (25)6.3 算法比较总结 (27)7 利用DCT进行图像压缩的优缺点 (27)小结 (29)参考文献 (30)致谢 (31)摘要本文对DCT的算法原理进行了分析,利用二维DCT对图像进行压缩,并使用MATLAB软件进行压缩过程的仿真,之后将DCT和其他的压缩算法进行比较,总结其优缺点,所得结果具有重要的理论价值和现实意义。

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

. I摘要随着科学技术的发展,图像压缩技术越来越引起人们的关注。

为此从众多的图像压缩编码标准中选取了基于DCT变换的JPEG图像压缩编码算法进行研究,并通过对比分析各种软件特性选取了MATLAB进行实验仿真。

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

最后应用MATLAB进行了实验仿真并分析结果得出结论。

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

关键词JPEG图像压缩;DCT;MATLAB;图像处理工具箱. .. I目录摘要 (I)Abstract ....................................................................... 错误!未定义书签。

第1章绪论. (1)1.1课题背景 (1)1.1.1 离散余弦变换 (2)1.1.2 预测技术 (3)1.2图像压缩技术的发展和现状 (3)1.2.1 图像编码技术发展历史 (3)1.2.2 图像编码技术的现状 (4)1.3MATLAB及其图像处理工具箱 (4)第2章图像压缩编码理论算法 (6)2.1DCT变换的思想来源 (6)2.2基于DCT的JPEG图像压缩编码步骤 (8)2.2.1 颜色空间的转换和采样 (8)2.2.2 二维离散余弦变换 (9)2.2.3 DCT系数的量化 (12)2.2.4 量化系数的编排 (14)2.2.5 DC系数的编码 (15)2.2.6 AC系数的编码 (16)2.2.7 组成位数据流 (18)2.2.8 DCT变换在图像压缩中的应用 (20)2.3代码实现 .......................................................... 错误!未定义书签。

. .. I第1章绪论1.1 课题背景随着信息技术的发展,图像信息被广泛应用于多媒体通信和计算机系统中,但是图像数据的一个显著特点就是信息量大。

具有庞大的数据量,如果不经过压缩,不仅超出了计算机的存储和处理能力,而且在现有的通信信道的传输速率下,是无法完成大量多媒体信息实时传输的,因此,为了更有效的存储、处理和传输这些图像数据,必须对其进行压缩,因此有必要对图像压缩编码进行研究。

由于组成图像的各像素之间,无论是在水平方向还是在垂直方向上都存在着一定的相关性,因此只要应用某种图像压缩编码方法提取或者减少这种相关性, 就可以达到压缩数据的目的[1]。

数字图像的冗余主要表现在以下几种形式:空间冗余:规则物体和规则背景的表面物理特性都具有相关性,数字化后表现为数字冗余。

例如:某图片的画面中有一个规则物体,其表面颜色均匀,各部分的亮度、饱和度相近,把该图片作数字化处理,生成位图后,很大数量的相邻像素的数据是完全一样或十分接近的,完全一样的数据当然可以压缩,而十分接近的数据也可以压缩,因为恢复后人亦分辨不出它与原图有什么区别,这种压缩就是对空间冗余的压缩。

时间冗余:序列图像(如电视图像和运动图像)和语音数据的前后有着很强的相关性,经常包含着冗余。

在播出该序列图像时,时间发生了推移,但若干幅画面的同一部位没有变化,变化的只是其中某些地方,这就形成了时间冗余。

统计冗余:空间冗余和时间冗余是把图像信号看作概率信号时所反应出的统计特性,因此,这两种冗余也被称为统计冗余。

编码冗余:同样长度的编码可以表示不同的信息。

结构冗余:相似的,对称的结构如果都加以记录就出现结构冗余。

知识冗余:由图像的记录方式与人对图像的知识差异而产生的冗余。

人对许多图像的理解与某些基础知识有很大的相关性。

许多规律性的结构,人. .. I可以由先验知识和背景知识得到。

而计算机存储图像时还得把一个个像素信息存入,这就形成冗余。

视觉冗余:视觉系统对于图像场的注意是非均匀和非线性的,视觉系统不是对图像的任何变化都能感知。

所谓的图像压缩编码技术就是对要处理的图像数据按一定的规则进行变换和组合, 从而达到以尽可能少的数据流(代码)来表示尽可能多的数据信息。

在众多的图像压缩编码标准中,JPEG(Joint Photographic Experts Group)格式是一种称为联合图像专家组的图像压缩格式,它适用于不同类型、不同分辨率的彩色和黑白静止图像[2]。

在JPEG图像压缩算法中,一种是以离散余弦变换(DCT,Discrete Cosine Transform)为基础的有损压缩算法,另一种是以预测技术为基础的无损压缩算法。

1.1.1 离散余弦变换DCT变换利用傅立叶变换的性质。

采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。

DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。

变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。

在空间上具有强相关的信号,反映在频域上是在某些特定的区域能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。

我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。

图像经DCT变换以后,DCT系数之间的相关性就会变小。

而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。

从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。

为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT 变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT 系数进行解码,并对每个图像块进行的二维DCT反变换。

最后将操作完成. .. I后所有的块拼接起来构成一幅单一的图像。

对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。

因此,利用DCT进行图像压缩确实可以节约大量的存储空间。

在实验中,先将输入的原始lena图像分为8*8块,然后再对每个块进行二维DCT变换。

MATLAB图像处理上具箱中提供的二维DCT变换及DCT反变换函数如下。

dct2实现图像的二维离散余弦变换。

其语法格式为:(1)B=dct2(A) 返回图像A的二维离散余弦变换值,其大小与A相同且各元素为离散余弦变换的系数B(K1,k2)。

(2)B=dct2(A,in,n)或B=dct2(A,[m,n]) 如果m和n比图像A大,在对图像进行二维离散余弦变换之前,先将图像A补零至m*n如果m和n 比图像A小。

则进行变换之前,将图像A剪切。

idct2可以实现图像的二维离散余弦反变换,其语法格式为:B=idct2(A);B=idct2(A,m,n)或B=idct2(A,[m,n])。

1.1.2 预测技术它是利用空间中相邻数据的相关性,利用过去和现在出现过的点的数据情况来预测未来点的数据。

通常用的方法是差分脉冲编码调制(DPCM)和自适应差分脉冲编码调制(ADPCM)。

1.2 图像压缩技术的发展和现状1.2.1 图像编码技术发展历史1948年提出电视信号数字化后,图像压缩编码的研究工作就宣告开始了。

在这项技术发展的早期,限于客观条件,仅对帧预测法和亚取样查复原法进行研究,对视觉特性也做了一些极为有限但可贵的研究工作。

1966年J.B.O Neal对比分析了DPCM和PCM并提出了用于电视的实验数据。

1969年进行了线性预测编码的实际实验。

1969年举行首届图像编码会议。

70年代开始进行了帧间预测编码的研究。

80年代开始对运动估值和模型编码进行研究[3]。

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

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

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

研制出集成度更高、性能更好的图像编码专用芯片,使编码系统成本更低、可靠性更高。

解决好现有的图像编码系统开发中的技术问题。

例如:提高图像质量、提高抗码能力等。

(2) 对图像编码理论和其他图像编码方法的研究。

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

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

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

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

MATLAB 中的数字图像是以矩阵形式表示的,矩阵运算的语法对MATLAB中的数字. .. I图像同样适用,这意味着MATLAB强大的矩阵运算能力对用于图像处理非常有利。

图像处理工具箱(Image Processing Toolbox)提供了一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。

可进行图像压缩、空间转换、图像增强、特征检测、降噪、图像分割和图像配准等功能。

工具箱部分函数均以开放式MATLAB 语言编写,这意味着可以检查算法、修改源代码和创建自定义函数。

本文利用MATLAB图像处理工具箱对基于DCT的JPEG图像压缩编码理论算法进行仿真,实验证明该软件功能强大,语言简洁易学,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。

. .. I. .第2章 图像压缩编码理论算法2.1 DCT 变换的思想来源信号的变换分析方法中,通常是通过一组适当的基函数对信号进行分解,得到信号在变换域的表示方法,利用信号在变换域中某些特征趋于集中的特点来提取其特征从而进行分析。

相关文档
最新文档