无损压缩算法研究与实现论文.doc
I无损压缩算法研究与实现摘要随着计算机技术和网络技术的发展,人们需要存储和传播的数据越来越多。这些数据占用了大量的磁盘空间和网络带宽。然而数据中又存在着许多冗余信息,因此我们可以通过压缩数据来减少存储数据占用的磁盘空间和网络传输时所占用的带宽。数据压缩分为无损压缩和有损压缩,数据在压缩前和解压缩后的内容不发生任何变化的压缩被称为无损压缩。经过多年的发展出现了许多的无损数据压缩算法,我们比较研究了多种无损压缩算法,得出了每一种算法的优缺点。本系统使用MicrosoftVisualC+6.0进行了开发。按照LZW算法压缩原理,完成了压缩函数和解压缩函数的编写,实现了文件的无损压缩和解压缩。关键字无损压缩解压缩LZWIIResearchingandImplementingofLosslessCompressionAlgorithmsABSTRACTAlongwiththedevelopmentofcomputertechnicalandnetworktechnology,thedatathatpeopleneedtostockandpropagateismoreandmore.Thesedatashaveoccupiedplentyofdiskspacesandnetworkbandwidthes.Howeverindata,thereisalsoalotofredundancies,thereforewemaydecreasethediskspaceofdataoccupationandthebandwidthwithnetworkoccupiedontransmitthroughcompressdatatostock.Datacompressiondividesintolosscompressionandlosslesscompression,datareconcilesbeforereducingtoreducerearcontentthecompressionthatdoesnotoccuranychangeiscalledaslosslesscompression.Throughlongdevelopmenthasarisenalotoflosslessdatacompressedalgorithms,wehavecomparevariousrelativelylosslesscompressionalgorithm,hasreachedtheadvantageanddisadvantageofeachkindofalgorithm.ThissystemisusedMicrosoftVisualC+6.0developed.AccordingtoLZWalgorithms,wehaveaccomplishedtheCompressesfunctionandDecompressesfunction,andrealizeslosslesscompressionanddecompressfile.Keyword:LosslesscompressionDecompressLZW3目录摘要.IABSTRACT.II引言.1第1章系统需求分析.21.1功能需求.21.2性能需求.21.3无损压缩算法的简介和比较.31.3.1LZ77算法.31.3.2LZSS算法.51.3.3LZ78算法.71.3.4LZW算法.101.3.5各种算法的比较.161.4本课题的目标.181.5系统开发环境.18第2章系统设计.192.1系统结构.192.2压缩文件格式的设计.212.3开发方法的说明.212.4各模块设计.222.5算法分析.25第3章系统的实现.283.1系统界面和主要功能.283.2测试.34第4章结论.36致谢.38参考文献.39附录:主要源程序.411引言数据中间常存在一些多余成分,既冗余度。如在一份计算机文件中,某些符号会重复出现、某些符号比其他符号出现得更频繁、某些字符总是在各数据块中可预见的位置上出现等,这些冗余部分便可通过采用一定的模型和编码方法,降低这种冗余度。冗余度压缩是一个可逆过程,因此叫做无失真压缩,或称保持型编码。在计算机以及网络中,常常存在数据量大,而无法进行操作的情况,这时就需要对这些数据进行压缩,通过压缩可以使数据量大大减少,能够充分利用有限的网络带宽和磁盘空间。这就要进行无损压缩算法研究和实现。