JPEG编码与解码的设计与实现

2018-11-20 17:31

毕 业 论 文

JPEG编码与解码的设计与实现

摘 要

多媒体技术正在迅速发展,应用领域在不断的拓广。如今在Internet上,传统基于字符界面的应用逐渐被能够浏览图像信息的WWW(World Wide Web)方式所取代。WWW尽管漂亮,但是也带来了一个问题:图像信息的数据量过大,本来就已经非常紧张的网络带宽变得更加不堪重负。压缩技术就变得更加至关重要。

压缩的理论基础是信息论。从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,去掉确定的信息(可推知的),也就是用一种更接近信息本质的描述来代替原有冗余的描述。图像压缩一般通过改变图像的表示方式来达到,因此压缩和编码是分不开的。

本文的实际意义是利用开发工具VC++6.0开发一个用来进行图像转换的软件。该软件利用离散余弦变换、熵编码、Huffman编码等图像压缩技术可以把bmp图像转换成jpeg图像,即进行图像的压缩。转换后的图像与原图像相比,效果几乎一样,可大小却缩小了很多。所以该软件达到了预期的目的和效果。

关键字:离散余弦变换,熵编码,Huffman编码,bmp,jpeg

2

目 录

摘 要 ..................................................................... 2 1. 绪 言 ................................................................. 2 1.1. 图像压缩的意义 .......................................................... 2 1.2. JPEG的发展历史 ......................................................... 2 2. 压缩技术理论及原理算法介绍 ............................................... 4 2.1. Jpeg压缩标准 ........................................................... 4 2.2. Jpeg模型与算法流程 ..................................................... 6 2.3. 离散余弦变换 ............................................................ 7 2.4. 熵编码 ................................................................. 13 2.4.1. 熵 .................................................................. 13 2.4.2. 熵编码原理 .......................................................... 14 2.5. Huffman编码 ........................................................... 19 2.6. Jpeg文件的格式 ........................................................ 22 2.6.1. 色度空间 ............................................................ 22 2.6.2. JPEG文件格式 ....................................................... 23 2.7. Bmp文件格式 ........................................................... 28 3. 开发工具及开发平台简介 .................................................. 36 3.1. 理解VC工程 ............................................................ 36 3.2. DLL的介绍 ............................................................. 37 3.2.1. 静态链接和动态链接 .................................................. 37 3.2.2. 调用约定 ............................................................ 37 3.2.3. DLL的封装方法 ...................................................... 38 4. JPEG编解码的VC实现 .................................................... 39 4.1. 实现JPEG压缩编解码的CJpeg类 .......................................... 39 4.2. JPEG压缩编解码程序的实现 .............................................. 46 4.3. 封装方便BMP转换成JPEG的API函数 ...................................... 52 致 谢 ................................................................... 53 附 录 ...................................................................... 54 参 考 文 献 ................................................................ 57

1

1. 绪 言

1.1. 图像压缩的意义

由于图像和视频本身的数据量非常大,给存储和传输带来了很多不便,所以图像压缩和视频压缩得到了非常广泛的应用。比如数码相机、USB摄像头、可视电话、视频点播、视频会议系统、数字监控系统等等,都使用到了图像或视频的压缩技术。随着微电子技术和计算机技术日新月异的发展,数字技术在各个领域得到广泛应用,在此基础上网络技术孕育而生。网络的出现使我们进入了全球一体化的信息时代。网络中传递的语音、图形、图像、数据等多种媒体的传输、处理、存储、检索技术成为网络技术的重要组成部分,而压缩编码是网络技术中基础性技术。 1.2. JPEG的发展历史

JPEG 全名为 Joint Photographic Experts Group,它是一个在国际标准组织(ISO)下从事静态图像压缩标准制定的委员会。JPEG是1992年CCITT正式通过的连续色调静止图象压缩标准。JPEG可以进行无损压缩,也可以进行有损压缩。最常见的就是有损压缩的方法,即JPEG标准中的Baseline,其压缩过程可分为颜色模式转换及采样、DCT变换、量化、编码几部分。它制定出了第一套国标静态图像压缩标准:ISO 10918-1 就是我们俗称的 JPEG 了。由于JPEG优良的品质,使得它在短短的几年内就获得极大的成功,目前网站上百分之八十的图像都是采用JPEG的压缩标准。JPEG使用了有损压缩格式,这就使它成为迅速显示图像并保存较好分辨率的理想格式。也正是由于JPEG格式可以对扫描或自然图像进行大幅度的压缩,利于储存或通过调制解调器进行传送,所以在Internet上得到了广泛的应用。

JPEG格式有一个特殊的变种,名为 “Progressive JPEG”。在创建Progressive JPEG 文件肘,数据是这样安排的:在装入图像时,开始只显示一个模糊的图像,随着数据的装入,图像逐步变得清晰。 JPEG格式的主要不足之处也正是它的最大优点。也就是说,有损压缩算法将JPEG只局限于显示格式,而且每次保存JPEG格式的图像时都会丢失一些数据。因此,通常只在创作的最后阶段以JPEG格式保存一次图像即可。

然而,随著多媒体应用领域的激增,传统JPEG压缩技术已无法满足人们对多媒体图像资料的要求。因此,更高压缩率以及更多新功能的新一代静态图像压缩技术 JPEG 2000 就诞生了。JPEG 2000 正式名称为 “ISO 15444” ,同样是由JPEG 组织负责制定。自1997年三月开始筹划,但这几年间,在算法选取问题上耽误了不少时间,人们普遍预计要到2000年十二月JPEG2000才能制定完成,但在3 月的东京的一个会议上,可

2

能是由于数字照相机厂商们施加压力,规定基本编码系统的最终协议草案提前出台,终于不用改名为 JPEG2001 了。[1]

JPEG2000的原理: JPEG 2000 与传统 JPEG 最大的不同,在于它放弃了 JPEG 所采用的以离散馀弦转换(Discrete Cosine Transform) 为主的区块编码方式,而改采以小波转换(Wavelet transform) 为主的多解析编码方式。小波转换的主要目的是要将图像的频率成分抽取出来。

JPEG2000的优点:

1、JPEG2000 作为JPEG升级版,高压缩(低码率)是其目标,其压缩率比 JPEG 高约 30% 左右。

2、JPEG2000 同时支持有损和无损压缩,而 JPEG 只能支持有损压缩。因此它适合保存重要图片。

3、JPEG2000 能实现渐进传输,这是JPEG2000的一个极其重要的特征。这也就是我们对 GIF 格式图像常说的“渐现”特性。它先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示,而不必是像现在的 JPEG 一样,由上到下慢慢显示。

4、JPEG2000 支持所谓的“感兴趣区域”特性,你可以任意指定图像上你感兴趣区域的压缩质量,还可以选择指定的部份先解压缩。这样我们就可以很方便的突出重点了。

JPEG2000的应用:

JPEG 2000的应用领域可概略分成两部分,一为传统JPEG的市场,像打印机,扫描仪,数码相机等,一为新兴应用领域,像网网络传输,无线通讯,医疗图像等。目前对 JPEG 2000 热情最大的是那些数字照相机厂商。JPEG 2000和JPEG 相比优势明显,且向下兼容,取代传统的JPEG格式指日可待。

JPEG 2000是正在制定的静止图像压缩的新国际标准。由于其功能强大,效率卓越,受到计算机界人士的广泛关注。

3


JPEG编码与解码的设计与实现.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:青岛版三年级上册平移与旋转备课

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: