多媒体通信设计.doc





《多媒体通信设计.doc》由会员分享,可在线阅读,更多相关《多媒体通信设计.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流多媒体通信设计.精品文档.目录目录1摘要2Abstract31. 设计要求42. JPEG图像压缩原理52.1图像压缩技术简介52.2JPEG图像压缩基本原理62.1.1 颜色空间转换以及图像分量采样62.1.2离散余弦变换(DCT)92.2.3 系数量化102.2.4 Zigzag扫描排序112.2.5 DC系数调制编码122.2.6AC系数调制编码132.2.7 霍夫曼编码152.3 JPEG压缩要求162.4 JPEG解码原理163. 基于MATLAB的算法实现213.1 JPEG压缩设计213.2基于DCT变换系统设计223.3 量化
2、程序设计233.4 Z扫描系统设计243.4 霍夫曼编码设计254. 仿真265. 总结286. 参考文献29附录130附录233摘要图像的数字化表示使得图像信号可以高质量地传输,并便于图像的检索、分析、处理和存储。但是数字图像的表示需要大量的数据,必须进行数据的压缩。因此图像压缩编码技术的研究显得特别有意义,也正是由于图像压缩编码技术及传输技术的不断发展、更新,推动了现代多媒体技术应用的迅速发展。本设计在研究JPEG压缩编码对图像数据压缩的基本原理的基础上,设计了JPEG仿真方案和程序实现流程,根据流程图编写了JPEG压缩编码的仿真程序,并利用MATLAB软件对仿真程序进行了调试,验证了JP
3、EG压缩编码对图像数据压缩的可行性。通过运行JPEG仿真程序输出了原图像,重建图像,以及二者的差值图像,通过直观比较,发现经过JPEG仿真程序压缩后的图像仍有很好的视觉效果。通过对输出的压缩比,峰值信噪比等参数的研究,科学的论证了JPEG压缩编码对图像数据巨大的压缩效果以及良好的压缩质量。实验结果表明基于DCT 变换的JPEG 图像压缩方法简单、方便,既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB仿真出来的结果较好的反应了其编码算法原理。关键词:JPEG,DCT,MATLAB,图像压缩AbstractDigital images that make high-quality
4、 image signal can be transmitted, and to facilitate image retrieval, analysis, processing and storage. But the digital images that require large amounts of data, the data must be compressed. Therefore, image compression coding technology research is particularly meaningful, and because the image com
5、pression technology and transmission technology continues to develop, update and promote the application of modern multimedia technology to develop rapidly. I have JPEG compression in-depth study on the basic principles of image data compression based on JPEG emulator hands drawn flow chart, flow ch
6、art was prepared according to JPEG compression simulation program, and the simulation program using MATLAB software was debugged to verify the JPEG compression of image data compression is feasible. Simulation program by running the output of the original JPEG image, reconstructed image, and the dif
7、ference between the two images, by visual comparison, found through simulation program compressed JPEG image is still very good visual effects. Compression ratio on the output peak signal to noise ratio and other parameters of the study, scientific proof of the JPEG image data compression coding of
8、the great compression and good compression quality. Keywords:JPEG, Huffman, DCT, quantization, MATLAB simulation1. 设计要求图像通信之前需要进行数据量压缩,编程实现JPEG图像压缩标准的主要环节,完成压缩和解压过程,计算压缩比。要求:将彩色图像进行颜色空间转换、对不同的颜色分量进行不同的采样、对于3个分量进行88的DCT变换、对DCT系数矩阵按照JPEG推荐的量化表进行量化;对量化后的系数进行Z形扫描,最后进行熵编码,形成码流,计算比特数,和压缩比。解压从量化后的DCT系数表开始逆
9、向进行。通过分析知道本次设计要求主要是对图像进行压缩处理,涉及了JPEG图像压缩的环节,掌握其过程原理。2. JPEG图像压缩原理2.1图像压缩技术简介图像压缩是减少表示数字图像时需要的数据量图像数据的压缩基于两点:(1)图像信息存在着很大的冗余度,数据之间存在着相关性,如相邻像素之间色彩的相关性等。(2)人眼是图像信息的接收端。因此,可利用人的视觉对于边缘急剧变化不敏感(视觉掩盖效应),以及人眼对图像的亮度信息敏感、对颜色分辨率弱的特点实现高压缩比,而解压缩后的图像信号仍有着满意的主观质量。1.图像压缩的基本原理图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像
10、中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。信息时代带来了“信息爆炸”,使数据量大增,因此,无论传输或存储都需要对数据进行有效的压缩。在遥感技术中,各种航天探测器采用压缩编码技术,将获取的巨大信息送回地面。图像压缩是数据压缩技术在数字图像上的应用,它的目的是减少图像数据中的冗余信息从而用更加高效的格式存储和传输数据。2.图像压缩基本方法图像压缩可以是有损数据压缩也
11、可以是无损数据压缩。对于如绘制的技术图、图表或者漫画优先使用无损压缩,这是因为有损压缩方法,尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的扫描图像等这些有价值的内容的压缩也尽量选择无损压缩方法。有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的),这样就可以大幅度地减小位速。无损图像压缩方法有:行程长度编码熵编码法如 LZW 这样的自适应字典算法有损压缩方法有:将色彩空间化减到图像中常用的颜色。所选择的颜色定义在压缩图像头的调色板中,图像中的每个像素都用调色板中颜色索引表示。这种方法可以与 抖动(en:dithering)一起使用以模糊颜
12、色边界。色度抽样,这利用了人眼对于亮度变化的敏感性远大于颜色变化,这样就可以将图像中的颜色信息减少一半甚至更多。变换编码,这是最常用的方法。首先使用如离散余弦变换(DCT)或者小波变换这样的傅立叶相关变换,然后进行量化和用熵编码法压缩。分形压缩(en:Fractal compression)。2.2JPEG图像压缩基本原理输入图像色彩转换图像分块Dct量化dc系数 ac系数块间DPCMZ字型扫描Huffman编 码Huffman编 码DC哈夫曼表压缩数据AC哈夫曼表解 码码 表反量化量化表IDCT恢复的图像数据量化表图2-1JPEG图像压缩基本原理图2.1.1 颜色空间转换以及图像分量采样工具
13、箱用RGB图像中直接描述颜色,或者在索引图像中间接描述颜色,此时,彩色映射使用RGB格式来储存。然而,还有其他的色彩空间(又称彩色模型),他们的应用有时会更加方便或更加恰当。其中包括NTSC、YCbCr、HSV、CMY、CMYK和YUV色彩空间。NTSC色彩空间:NTSC彩色制式在美国用于电视系统。这种形式的有点是灰度信息和彩色信息是分离的,所以同一个信号既可以用于彩色电视,又可以用于黑白电视机。在NTSC制式中,图像数据是有三部分组成的:亮度Y、色调I和饱和度Q,其中字母YIQ选择常常是按照惯例进行的。亮度分量描述灰度信息的,其他俩个分量携带电视信号的彩色信息。YIQ这几个分量都是利用如下变
14、换从一副RGB分量中得到的:Y=0.229R+0.587G+0.114BI=0.596R-0.274G-0.322BQ=0.211R-0.523G+0.312B (式2-1)根据以上可以得到rgb2ntsc可执行这样的变换yiq_image=rgb2ntsc(rgb_image)同上理:IPT函数ntsc2rgb用于实现ntsc转换为RGB:rgb_image=ntsc2rgb(yiq_image)YCbCr彩色空间:YCbCr1Cb是蓝色分量和一个彩色空间广泛用于数字电视。在这种格式中,亮度信息单个分量Y来表示,彩色信息用俩个色差Cb和Cr来储存。分量Cb是蓝色分量和一个参考值的差,分量Cr
15、是红色分量和一个参考值的差。JPEG采用的是YCrCb颜色空间,而BMP采用的是RGB颜色空间,要想对BMP图片进行压缩,首先需要进行颜色空间的转换。YCrCb颜色空间中,Y代表亮度,Cr,Cb则代表色度和饱和度(也有人将Cb,Cr两者统称为色度),三者通常以Y,U,V来表示,即用U代表Cb,用V代表Cr。RGB和YCrCb之间的转换关系如下所示: Y = 0.299R+0.587G+0.114B Cb = -0.1687R-0.3313G+0.5B+128Cr = 0.5R=0.418G-0.0813B+128 (式2-2) 一般来说,C 值 (包括 Cb Cr) 应该是一个有符号的数字,
16、但这里通过加上128,使其变为8位的无符号整数,从而方便数据的存储和计算。 R = Y+1.402(Cr-128) G = Y-0.34414(Cb-128)-0.71414(Cr-128)B = Y+1.772(Cb-128) (式2-3)通过以上的算法可以得到转换函数ycbcr_image=rgb2ycbcr(rgb_iage)输入的图像可以是uint8类、uint16类或者double类。输出图像和输出图像是相同类别。YUV色彩空间:YUV色彩空间和YCrCb类似,其计算方法如下:Y = 0.299*R + 0.587*G + 0.114*B;U = -0.147*R - 0.289*G
17、 + 0.436*B;V = 0.615*R - 0.515*G - 0.100*B; (式2-4)数据分块采样:在彩色图像中,JPEG分别压缩图像的每个彩色分量。虽然JPEG可以压缩通常的红绿蓝分量,但在YCbCr空间的压缩效果会更好。这是因为人眼对色彩的变化敏感,因而对色彩的编码可以比对亮度的编码粗糙些。这主要体现在不同的采样频率和量化精度上,因此,编码前一般先将图像从RGB空间转换到YCbCr空间。研究发现,人眼对亮度变换的敏感度要比对色彩变换的敏感度高出很多。因此,我们可以认为Y分量要比Cb,Cr分量重要的多。在BMP图片中,RGB三个分量各采用一个字节进行采样,也就是我们常听到的RG
18、B888的模式;而JPEG图片中,通常采用两种采样方式:YUV411和YUV422,它们所代表的意义是Y,Cb,Cr三个分量的数据取样比例一般是4:1:1或者4:2:2(4:1:1含义就是:在2x2的单元中,本应分别有4个Y,4个U,4个V值,用12个字节进行存储。经过4:1:1采样处理后,每个单元中的值分别有4个Y、1个U、1个V,只要用6个字节就可以存储了)。这样的采样方式,虽然损失了一定的精度但也在人眼不太察觉到的范围内减小了数据的存储量。当然,JPEG格式里面也允许将每个点的U,V值都记录下来;由于后面的DCT变换是是对8x8的子块进行处理的,因此,在进行DCT变换之前必须把源图象数据
19、进行分块。源图象中每点的3个分量是交替出现的,先要把这3个分量分开,存放到3张表中去。然后由左及右,由上到下依次读取8x8的子块,存放在长度为64的表中,即可以进行DCT变换。注意,编码时,程序从源数据中读取一个8x8的数据块后,进行DCT变换,量化,编码,然后再读取、处理下一个8*8的数据块。1 2 5 63 4 7 8Y矩阵 Cb Cr1 2 3 8 16 M 8 M/2 8 M/2 8M/2 8M/2图2-2矩阵分块图2.1.2离散余弦变换(DCT)DCT(Discrete Cosine Transform,离散余弦变换),是码率压缩中常用的一种变换编码方法。任何连续的实对称函数的傅里叶
20、变换中只含有余弦项,因此,余弦变换同傅里叶变换一样具有明确的物理意义。DCT是先将整体图像分成N*N的像素块,然后针对N*N的像素块逐一进行DCT操作。需要提醒的是,JPEG的编码过程需要进行正向离散余弦变换,而解码过程则需要反向离散余弦变换。正向离散余弦变换计算公式:反向离散余弦变换计算公式:DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规律在频域上减少量化比特数,达到
21、压缩的目的。图像经DCT变换以后,DCT系数之间的相关性就会变小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉
22、这些系数不会对重建图像的质量产生较大影响。因此,利用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小。则进行变换之前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多媒体 通信 设计

限制150内