当前位置:文档之家› 数字图像处理DCT

数字图像处理DCT

基于DCT图像压缩技术研究及仿真题目:基于DCT的图像压缩技术研究与仿真实现院系名称:国际学院专业班级:电子信息工程技术07级03班学生姓名:梁岑学号:20073930304指导教师:朱春华教师职称:讲师2010摘要离散余弦变换(Discrete Cosine Transform,简称DCT)常被认为是对语音和图像信号进行变换的最佳方法。

为了工程上实现的需要,国内外许多学者花费了很大精力去寻找或改进DCT的快速算法。

由于近年来DSP的发展,加上专用集成电路设计上的优势,这就牢固地确立DCT在目前图像编码中的重要地位,成为H.261、JPEG、MPEG等国际上公用的编码标准的重要环节。

MATLAB是由美国Math-Works公司推出的用于数值计算和图形处理的科学计算软件,它集数值分析、矩阵计算、信号处理和图形显示多种功能于一体,构成了一个方便的界面友好的用户环境。

MATLAB中的图像处理工具箱是许多基于MATLAB技术计算环境的函数包的集合,图形功能完备。

本文主要讨论了DCT变换方法,并讨论了应用MATLAB中的图像处理工具箱中的相关函数和命令,利用C语言来实现离散余弦变换的图像压缩算法的仿真。

关键词:离散余弦变换(简称DCT);MATLAB;VC6.0,DCT变换方法;图像处理;图像压缩;仿真目录1 绪论 (6)2 图像压缩基本原理及模型 (8)2.1图像压缩基本原理 (8)2.1.1图像压缩的基本思想 (8)2.1.2图像压缩的方法 (8)2.2图像压缩系统流程图 (9)2.3分析图像压缩的主要模块 (10)2.3.1色度空间转换 (10)2.3.2离散余弦变换 (10)2.3.3量化编码 (11)2.3.4“Z”字型扫描 (12)2.3.5编码及解码 (12)2.4图像数据压缩的目 (13)2.5图像压缩的基本模型 (15)3 离散余弦变换的C语言及MATLAB混合仿真 (16)3.1离散余弦变换(DCT) (16)3.2M ATLAB的功能 (17)3.3离散余弦变换的M ATLAB仿真 (18)结论 (23)附录 (22)1 绪论进入21世纪,人类已步入信息社会,新信息技术革命使人类被日益增多的多媒体信息所包围,这也正好迎合了人类对要示提高视觉信息的需求。

多媒体信息主要有三种形式:文本、声音和图像。

从信息传输的发展史(电报、电话、传真、收音机、电视机直至现在的网络)可以看出,人们逐渐将信息传输的重点从声音转向图像,然而图像是三种信息形式中数据量最大的,这给图像的传输和存储带来了极大的困难。

例如,一幅640×480分辨率的24位真彩色图像的数据量约为900kb;一个100Mb的硬盘只能存储约l00幅静止图像画面。

对于如此巨大的数字图像数据量,如果不经过压缩,不仅超出了计算机的存储和处理能力,而且在现有的通信信道的传输速率下,是无法完成大量多媒体信息实时传输的,数字图像高速传输和存贮所需要的巨大容量已成为推广数字图像通信和最大障碍。

因此,为了存储、处理和传输这些数据,必须进行压缩。

图像压缩之所以能够进行压缩是因为原始图像数据是高度相关的,存在很大的数据冗余。

数字图像包含的冗余信息一般有以下几种:空间冗余、时间冗余、信息熵冗余、统计冗余、结构冗余、视觉冗余以及知识冗余等。

图像压缩算法就是要在保证图像一定的重建质量的同时,尽可能多的去除这些冗余信息,以达到对图像压缩的目的。

离散余弦变换(DCT)离散余弦变换(DCT)是N.Ahmed等人在1974年提出的正交变换方法。

它常被认为是对语音和图像信号进行变换的最佳方法。

由于近年来数字信号处理芯片(DSP)的发展,加上专用集成电路设计上的优势,这就牢固地确立离散余弦变换(DCT)在目前图像编码中的重要地位,成为H.261、JPEG、MPEG等国际上公用的编码标准的重要环节。

在视频压缩中,最常用的变换方法是DCT,DCT被认为是性能接近K-L变换的准最佳变换,变换编码的主要特点有:(1)在变换域里视频图像要比空间域里简单。

(2)视频图像的相关性明显下降,信号的能量主要集中在少数几个变换系数上,采用量化和熵编码可有效地压缩其数据。

6(3)具有较强的抗干扰能力,传输过程中的误码对图像质量的影响远小于预测编码。

通常,对高质量的图像,DMCP要求信道误码率,而变换编码仅要求信道误码率。

MATLAB是由美国Math-Works公司推出的用于数值计算和图形处理的科学计算软件,它集数值分析、矩阵计算、信号处理和图形显示多种功能于一体,构成了一个方便的界面友好的用户环境。

MATLAB中的图像处理工具箱是许多基于MATLAB技术计算环境的函数包的集合,图形功能完备,本文主要讨论了图像压缩的原理并讨论了应用MATLAB2007中发布的图像处理工具箱中的相关函数和命令来实现离散余弦变换的图像压缩算法的仿真。

72 图像压缩基本原理及模型2.1 图像压缩基本原理2.1.1图像压缩的基本思想任何压缩机制的基本思想都是除去数据中存在的相关性。

所谓相关性,就是能够根据给出的一部分数据来判断出相邻的数据。

图像压缩的根本思想就是去除图像数据中存在的相关性,即去除图像数据中能根据其他数据推算得到的数据。

2.1.2图像压缩的方法目前,图像压缩的方法较多,其分类方法视出发点不同也有差异。

常见的分类法有:(1)冗余度压缩法。

该方法的核心是基于统计模型,减少或完全去除源数据中的冗余,同时保持信息不变。

如把图像数据中出现概率大的灰度级以短码表示,概率小的灰度级用相对长码表示,处理的平均码长必然短于未编码压缩前的平均码长。

在解码过程中,可以根据相应的规则或算法,将冗余量插入到图像数据中,严格恢复原图像,实现编码与解码的互逆。

因此,冗余编码压缩又称之为无损压缩或无失真压缩,通常用于文本文件的压缩。

著名的哈夫曼(Huffman)编码、香农(Shannon)编码就属于这一类。

(2)熵压缩法。

这是一种以牺牲部分信息量为代价而换取缩短平均码长的编码压缩方法。

由于其在压缩过程中允许丢失部分信息,所以图像还原后与压缩前不会完全一致,故人们将这种压缩称为有损压缩。

该压缩机制的优点是可以得到比无损压缩高得多的压缩比,但它只能用于可以用近似数据代替原始数据,而这种相近数据又是容易被压缩的情况。

在实际应用中无损压缩更为流行,主要是由于它的压缩比较大,且效果很好。

82.1.3图像压缩标准统一的国际标准是不同国家地区和厂商的产品能够相互兼容和协调的基础。

有关图像压缩编码已有的国际标准(或建议),如H.261建议、JPEG标准、MPEG-1、MPEG-2标准和H.263标准等,涉及到二值图像压缩传真、静态图像传输、可视电话、会议电视、VCD、DVD、常规数字电视、高清晰度电视、多媒体可视通信、多媒体视频点播与传输等应用领域。

2.2图像压缩系统流程图基于DCT算法的图像压缩是有损的。

简单地说,它就是把大量的数据简化为较小的、真正有意义的数据,删除只带有极少视觉效果的信息,并且根据数据出现的概率大小选择不同码长的码字来表示。

由于人眼对亮度信息比较敏感,而对颜色的反应相对较弱,所以可以通过色度空间转化,把三基色(RGB)表示的图像转换为由色度亮度(YCbCr)表示的图像,然后对视觉效果影响不大的色度信息进行二次采样,使输入编码器的信息量先减少一半,然后对各分量分成8×8象素块,这些块以特定顺序输入编码器,系统流程图如图2.1所示。

图 2.1 基于DCT的编码器系统流程图910图像编码器的具体工作步骤为:首先通过前向余弦变换,使每块的真正有用信息集中到块的左上角,然后进行量化,使数值的精确度减小并使数值较小的数据变为零,Z 形扫描可以增加零游程的长度,使哈夫曼编码更有效,最后通过哈夫曼编码得到编码数据流。

2.3分析图像压缩的主要模块2.3.1色度空间转换目前,很多原始图像象素都以RGB 三基色表示,通过色度空间转换,将RGB 三基色图像转换为CCIR601推荐的彩色空间。

这彩色空间由3个分量Y(亮度)、Cb(蓝色度)、Cr(红色度)组成,分别可由RGB 三基色以下列关系得到:Y=0.299R+0.587G+0.114BCb =-0.168 7R-0.331 3G+0.5B+128 Cr =0.5R-0.418 7G-0.081 3B+128同样,在解码端可以通过下列关系恢复RGB 值: R=Y+1.402(Cr-128)G=Y-0.344 14(Cb-128)-0.714 14(Cr-128) B=Y+1.772(Cb-128) 2.3.2离散余弦变换离散余弦变换(DCT)是一种与离散傅立叶变换紧密相关的正交变换,8×8的二维离散余弦变换可以将图像的空间表达式转换到频率域,只用少量的数据点来表达图像,用f(x,y)表示8×8的图像块象素值,F(u,v)表示二维离散余弦变换后的值,具体表达式如下:(2.1)()()()()()()⎥⎦⎤⎢⎣⎡Ω+Ω+=∑∑==70701612cos 1612cos ,41,x y v u v y u x y x f C C v u F11 其反变换如下式:(2.2)其中,(2.3)二维离散余弦变换核具有可分离性,即可以先对每行进行一维离散余弦变换,再对每列进行一维离散余弦变换,因此,二维离散余弦变换可表示为:(2.4)(2.5)如果直接按照公式计算,其计算量很大,所以,实际应用中普遍采用快速傅立叶变换(FFT)算法来实现离散余弦变换的快速算法。

2.3.3量化编码数据压缩中的量化处理,不是对A/D 转换量化,而是对正交变换后的数据进行量化处理,量化输入值的动态范围很大,而量化的输出只能取有限个整数,量化后的数值用较少的比特数便可表示。

量化处理总是把一批输入量化到一个输出级上,这样降低了数值的精度,但减少了数据量。

DCT 的输出系数中,左上角的数据表示低频分量,人眼比较敏感,应该用较高的精度来表示,而右下角的数据可以用较低的精度来表示,因此,我们可以定义一个量化()()()()()()()()⎥⎦⎤⎢⎣⎡Ω+Ω+=∑∑==70701612cos 1612cos,41,x y v u v u v y u x y x F C C C C y x F ()()()()⎪⎩⎪⎨⎧===其他情况当10u 22v C C v u ()()()()⎥⎦⎤⎢⎣⎡Ω+=∑=701612cos ,21,x u u x v x G C v u F ()()()()⎥⎦⎤⎢⎣⎡Ω+=∑=701612cos ,21,y u u x v x G C v u G表对不同的数据采用不同的量化等级,这个量化表可以根据期望的压缩比进行调整,一般来说,量化表元素值越大压缩比越大,当然图像失真度也越大。

相关主题