离散余弦变换DCT的实现与研究_第1页
离散余弦变换DCT的实现与研究_第2页
离散余弦变换DCT的实现与研究_第3页
离散余弦变换DCT的实现与研究_第4页
离散余弦变换DCT的实现与研究_第5页
已阅读5页,还剩13页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信专业课程设计一课 程 设 计(论 文)设计(论文题目:信源编码中压缩算法DCT变换函数的研究姓 名_ _ 学 号_ _班 级_ _ 学 院_ _指导教师_ _年 月 日太原科技大学课程设计(论文)任务书学院(直属系): 时间: 年 月 日学 生 姓 名指 导 教 师设计(论文)题目信源编码中压缩算法DCT变换函数的研究主要研究内容用DCT变换实现图像压缩,先根据理论部分设计程序代码,然后再在Matlab软件中运行程序,并进行性能分析。研究方法主要运用实验法与观察法,通过编写程序实现对图像的DCT变换,观察图像结果进而实现对DCT变换的研究。主要技术指标(或研究目标利用DCT变换编码方法进行

2、图像压缩,提高信息传输的有效性及通信质量。教研室意见教研室主任(专业负责人)签字: 年 月 日 目 录摘 要 II第1章 绪论 - 1 -第2章 DCT变换概述 - 2 -2.1 DCT函数介绍 - 2 -2.2 DCT变换介绍 - 2 - - 2 - - 3 - - 4 -第3章 程序运行及结果分析. - 5 -3.1 程序代码 - 5 -3.2 运行结果分析 - 7 -第4章 结论 - 11 -参考文献 - 12 -信源编码中压缩算法DCT变换函数的应用摘 要图像压缩是关于用最少的数据量来表示尽可能多的原图像的信息的一个过程。对于图像来说,如果需要进行快速或实时传输以及大量存储,就需要对图

3、像数据进行压缩,在同等的用心容量下如果图像数据压缩后再传输,就可以传输更多的图像信息,也就可以增加通信的能力。变换编码是把图像中的各个像素从一种空间变换到另一种空间然后针对变换后的信号进行量化与编码操作的一种图象压缩编码技术。本实验实现的是用DCT变换实现图像压缩,先根据理论部分设计程序代码,然后再在Matlab软件中运行程序,然后进行相关的性能分析。在离散变换中,最佳变换也是K-L变换。其正交矢量系和变换矩阵可根据输入矢量各分量间的相关系数来求。最后,对设计结论进行了简单的总结。关键词:图象压缩 变换编码 DCT JPEG第1章 绪论离散余弦变换(DCT for Discrete Cosin

4、e Transform是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换(DFT for Discrete Fourier Transform,但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数,在有些变形里面需要将输入或者输出的位置移动半个单位(DCT有8种标准类型,其中4种是常见的。最常用的一种离散余弦变换的类型是下面给出的第二种类型,通常我们所说的离散余弦变换指的就是这种。它的逆,也就是下面给出的第三种类型,通常相应的被称为反离散余弦变换,逆离散余弦变换或者IDCT。 有两个相

5、关的变换,一个是离散正弦变换(DST for Discrete Sine Transform,它相当于一个长度大概是它两倍的实奇函数的离散傅里叶变换;另一个是改进的离散余弦变换(MDCT for Modified Discrete Cosine Transform,它相当于对交叠的数据进行离散余弦变换。改进的离散余弦变换(Modified Discrete Cosine Transform, MDCT)是一种与傅立叶变换相关的变换,以第四型离散余弦变换(DCT-IV)为基础,重叠性质如下:它是应用于处理较大的资料集合,当连续的资料区块中,当前的资料区块跟后续的资料区块有重叠到的情形;即当前资料

6、区块的后半段与下一个资料区块的前半段为重叠的状态。这样的重叠情形,除了具有离散余弦变换(Discrete Cosine Transform, DCT)的能量压缩特性外,也使这种变换在应用于信号压缩时更引人注目。因为它有助于避免由于资料区块边界所产生的多余资料。因此,这种变换可应用于MP3,AC-3, ogg vorbis,和AAC的音频压缩等方面。第2章 DCT变换概述2.1 DCT函数介绍常用的信源编码方法有算术编码、矢量量化、预测编码和变换编码等多种方法,变换编码就是经变换后的信号的样值能更有效地编码,也就是通过变换来解除或减弱信源符号间的相关性,再将变换后的样值进行标量量化,或采用对于独

7、立信源符号的编码方法,以达到压缩码率的目的。在实用中常用离散余弦变换(DCT),尤其是对视频图像信号,其统计特性接近一阶马尔可夫链,离散余弦变换的正交矢量近似于相应的K-L变换的正交矢量。余弦变换的完备正交归一函数是 (2-1 ,t (2-2对这些函数在(0,T)内取N个样值,即得离散余弦变换矩阵的元为 (2-3 (2-4分别可得变换和反变换的矩阵形式。2.2 DCT变换介绍基于DCT(离散余弦变换)压缩编码算法是有失真的压缩编码,图2.1为DCT变换编码原理图。RGB/YUV编码量化DCT原图像 YVU/RGBIDCT解量化解码压缩图像图2.1 DCT变换编码原理图DCT变换编码的主要步骤是

8、:颜色空间转换,正向离散余弦变换(FDCT),量化,熵编码(哈达码编码和算术编码)。1) 颜色空间转换和采样JPEG压缩只支持Y颜色模式,其中Y代表亮度,代表色度,所以在将彩色图像进行数据压缩之前必须对颜色模式进行转换,将RGB模式转为Y模式。转换可通过计算下述公式完成:Y=0.299R+0.587G+0.114B (2-5)=-0.169R-0.331G+0.5B (2-6=0.5R-0.4187G-0.0813B (2-7对转换后的数据进行采样,采样比例一般是4:2:2或4:1:1。经过采样后的图像数据的色度数据比原来减少了一半。选择这样的采样方式是因为人的视觉对亮度要比对色度更敏感,而重

9、建后的图像与原图的差异是人的视觉所不易察觉到的。2)DCT变换在进行DCT变换之前,先把图像分成88的子块。将用P位表示的图像数据(一般用8位表示一个像素的颜色分量),即在0,范围内表示的无符号整数,变成范围内表示的有符号数,作为DCT变换的输入量。经过DCT变换,将空域中表示的图像数据转换到频域中进行表示,并获得N个变换系数。变换公式为 (2-8逆DCT变换公式为 (2-9其中, 其他输出系数排列按Zig-zag排序,其中直流量为DC系数,交流量为AC系数。排列中越往后0越多。3)量化为了达到进一步压缩数据的目的,需要对DCT系数进行量化。在JPEG中采用了线性均匀量化器,为减少比较数,增加

10、零值,JPEG分别对Y,U,V的不同系统有不同量化间隔Q(u,v,并提供了亮度与色度两张量化表。4)熵编码根据信息论的原理,可以找到最佳数据压缩编码的方法,数据压缩的理论极限是信息熵。如果要求编码过程中不丢失信息量,即要求保存信息熵,这种信息保持编码叫熵编码,是根据消息出现概率的分布特性而进行的,是无损数据压缩编码。根据输入熵编码器表格的符号节点的加权值和与其相邻的其它节点的加权值对哈夫曼树进行有效的变换,从而提高压缩效率;利用八字形树旋转和准旋转对哈夫曼树进行有效的变换,从而使输入符号的加权值具有与现在输入的视频数据最合适的值,缩短变换表格的时间。可以查看相关的码表进行熵编码。2.4 实验部

11、分本实验实现的是用DCT变换实现图像压缩,先根据理论部分设计程序代码,然后再在Matlab软件中运行程序,在离散变换中,最佳变换也是K-L变换。其正交矢量系和变换矩阵可根据输入矢量各分量间的相关系数来求,而不用解积分方程,即只需要相关矩阵的特征值和特征矢量。容易验证经过K-L变换后的输出矢量的相关系数为零,即能完全解除输出矢量间的线性相关性,且各分量的方差就是各特征值,它们各不相等,下降很快。这样在实际编码时,就可以根据压缩编码的要求,不传送方差很小的那些分量,提高传输速率。还有很多离散变换,如正反变换矩阵都相同的离散哈尔变换和离散沃尔什变换;广泛用于电视信号编码的斜变换和多重变换;小波变换等

12、。在实际应用中,需要根据信源特性来选择变换方法以达到解除相关性、压缩码率的目的。当信源的统计特性很难确知时,可用各种变换分别对信源进行变换编码,然后用实验或计算机仿真来计算这些参数。第3章 程序调试及运行结果分析3.1 程序代码I=imread(cameraman.tifI=im2double(I %转换图像矩阵为双精度型。J=dct2(I;T=dctmtx(8 %产生二维DCT变换矩阵a1=16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 57 69 56;14 17 22 29 51 87 80 62;18 22

13、37 56 68 109 103 77;24 35 55 64 81 104 113 92;49 64 78 87 103 121 120 101;72 92 95 98 112 100 103 99 ;for i=1:8:200for j=1:8:200P=I(i:i+7,j:j+7;K=T*P*T;I2(i:i+7,j:j+7=K;K=K./a1; %量化K(abs(K0.03=0;I3(i:i+7,j:j+7=K;endendfigure;imshow(I2;title(DCT变换后的频域图像; %显示DCT变换后的频域图像for i=1:8:200for j=1:8:200P=I3(i

14、:i+7,j:j+7.*a1; %反量化K=T*P*T;I4(i:i+7,j:j+7=K;endendfigure;imshow(I4;title(复原图像;B=blkproc(I,8,8,P1*x*P2,T,T %计算二维DCT,矩阵T及其转置是DCT函数P1*X*P2的参数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 %二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个B2=

15、blkproc(B,8 8,P1.*x,mask %只保留DCT变换的10个系数I2=blkproc(B2,8 8,P1*x*P2,T,T %重构图像figureimshow(Ititle(原始图像;figureimshow(I2;title(压缩图像;figureimshow(J;figuremesh(J %画出J的立体网状图colorbar(horiz %在水平条方向用不同的颜色表示曲面的高度3.2 运行结果分析执行程序产生的二维DCT变换矩阵T如下:T =0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.35360.4904 0.415

16、7 0.2778 0.0975 -0.0975 -0.2778 -0.4157 -0.49040.4619 0.1913 -0.1913 -0.4619 -0.4619 -0.1913 0.1913 0.46190.4157 -0.0975 -0.4904 -0.2778 0.2778 0.4904 0.0975 -0.41570.3536 -0.3536 -0.3536 0.3536 0.3536 -0.3536 -0.3536 0.35360.2778 -0.4904 0.0975 0.4157 -0.4157 -0.0975 0.4904 -0.27780.1913 -0.4619 0.

17、4619 -0.1913 -0.1913 0.4619 -0.4619 0.19130.0975 -0.2778 0.4157 -0.4904 0.4904 -0.4157 0.2778 -0.0975图3.1 cameraman的原始图像图3.2 DCT变换后的频域图像分析:通过矩阵a1只对图像左上角的一部分进行了DCT变换后的频域处理。图3.3 复原图像分析:对图3.2左上角变换后的频域图像进行反量化得到复原图像,因此复原图像就只有原图像的左上角一部分。图3.4 压缩图像分析:只保留DCT变换的10个系数,运用逆DCT变换,对图像进行重构,从而得到原图像的压缩图像。图3.5 二维离散余弦变

18、换图像分析:直接运用函数dct2对原图像进行二维离散余弦变换。图3.6 二维离散余弦变换的立体网状图分析:在图中的最下面一行表示在水平条方向用不同的颜色表示曲面的高度,根据图3.5显示的二维离散余弦变换图像知在图像的左上角曲面的高度有所不同,因此在图像左上角部分的立体网状图呈现出图3.6的情况。第4章 结论本次的课程设计是Matlab语言的实现,目的是掌握Matlab语言在工程设计中的基本应用。Matlab语言的应用是非常广泛的,就本次学习过程中,首先从基本的语言语法入手,然后再逐渐深入。在本次课程设计中,我选择的比较接近自己专业应用范围,也是大学学过的信息论与编码中信源编码压缩算法DCT函数变换应用的设计。好能让自己更好的掌握专业知识和Matlab语言在通信专业中的应用。就语言本身而言,在老师的指导下,很快入了门。和学过的其它像C语言一样,Matlab语言相对简单,但是应用程度上,此语言非常广泛,在学习时主要研究某一方面会很快喜欢上这个语言。在这次实验设计中,滤波器的设计方法选择上,要根据实际的心电图高频干扰去分析所要设计的数字滤波器的指标,在慢慢去设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论