实用软件第07章 压缩工具软件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用软件第07章 压缩工具软件.ppt

第7章 压缩工具软件 Huang Xu School of Computer Science Technology Soochow University E-mail:huangxu_sd@163.com 什么是文件压缩 压缩 我们通常所说的压缩工具,顾名思义就是使文件变小的程序,其原理是将文件重新编码使之变小,使得便于存储和发布。 市面上各式的压缩程序,例如早期的ARJ,现在流行的WinZip,Linux上使用的Gzip都是利用同样的原理,简单地说也就是把文件中的重复数据用更简洁的方法表示。最简单的例子,一个文件中有1000个数字2,那么这将占用1KB的数据空间,如果用压缩算法就可以用1000 2来表示,那么它只需要5个字节的数据空间,压缩比达到200倍。当然我们实际使用的压缩算法往往远比这个例子复杂。 什么是文件压缩 编码方式可以分成两种类型: 无损压缩:    无损压缩是指使用压缩后的数据进行重构(或者叫做还原,解压缩),重构后的数据与原来的数据完全相同,用于要求重构的信号与原始信息完全一致的场合。一个很常见的例子是磁盘文件的压缩。根据目前的技术水平,无损压缩算法一般可以把普通文件的数据压缩到原来的1/2至1/4。 什么是文件压缩 有损压缩:    有损压缩相对来说可以达到更大的压缩比,但是这种优势是以牺牲与原始数据的一致性来达到的。在这里使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不会使人对原始资料表达的信息造成误解。有损压缩适用于重构信号不一定非要和原始信号完全相同的场合,例如,图像和声音的压缩就可以采用有损压缩,因为其中包含的数据往往多于我们的视觉系统和听觉系统所能接收的信息,丢掉一些数据不至于对声音或者图像所表达的意思产生误解,但可以大大提高压缩比。 什么是文件压缩 作为两种不同的压缩方法,有损压缩和无损压缩用于不同类型不同要求的数据,无好坏之分。 一幅图像里有几个像素点的误差基本不影响我们对内容的理解,而一个报表里几个数据的差异会引出完全不同的结果,因此我们在选择压缩方法的时候就要有针对性。 第七章主要介绍的是针对磁盘文件夹的无损压缩,要求还原后的文件与原文件完全一致,所以以下提到的压缩仅指无损压缩。 压缩比的极限 压缩比的极限 在实际使用中,人们往往期望压缩后的文件越小越好,也就是压缩比越大越好,那么对于同一个文件,究竟可以压缩到多少呢?是不是可以无限压缩下去呢?答案是否定的。 那么极限是多少呢?这个问题可以从信息论的奠基人克劳德.香农(Claude E Shannon,1916—2001)在1948年发表的著名论文《通讯的数学理论》中得到答案。 在信息论中香农借用了热力学中的一个名词熵(Entropy)来表示事物中真正含有的信息量,人们不可能用少于熵的比特数来确切表达一事物,所以这一概念已成为所有无损压缩的标准和极限。我们所研究的无损压缩算法就是达到或接近“熵”的编码方法,而熵就是我们所能压缩到的极限。 无损压缩编码 无损压缩编码 目前用得最多和技术最成熟的无损压缩编码技术包括 统计编码 词典编码 统计编码 统计编码的基本思想是:主要针对无记忆信源,根据信息码字出现概率的分布特征而进行压缩编码,寻找概率与码字长度间的最优匹配。 常用的统计编码有游程编码、Huffman编码和算术编码三种。其压缩模型都是基于对信息中单个字符出现频率的统计而设计的,直到20世纪70年代末期,这种思路在数据压缩领域一直占据着统治地位。 无损压缩编码 词典编码 但是有许多场合,人们开始时并不知道要编码数据的统计特性,也不一定允许人们事先知道它的统计特性。因此,人们提出了许许多多的数据压缩方法,试图用来对这些数据进行压缩编码,以尽可能地在实际编码过程中获得最大的压缩比。这些技术统称为通用编码技术。词典编码技术就属于这一类。 词典编码的根据是数据本身包含有重复代序列这个特性。例如,文本文件和位图图像就具有这种特性。词典编码法的种类很多,归纳起来分为两类。 无损压缩编码 第一类的想法是意图查找正在压缩的字符序列是否在前面的输入数据中出现过,如果是则用指向早期出现的字符串的“指针”替代重复的字符串。 这类编码中的所有算法都是以色列计算机专家莱姆培尔(Abraham Lempel)和兹夫(Jakob Ziv)在1977年开发和发表的算法(LZ77算法)为基础的。此算法的一个改进算法是由斯托尔(Storer)和舍曼斯基(Szymanski)在1982年开发的,称为LZSS算法。 无损压缩编码 第二类算法的想法是意图从输入的数据中创建一个“短语词典”。编码数据过程中当遇到已经在词典中出现的“短语”时,编码器就输出这个词典中的短语的“索引号”,而不是短语本身。 莱姆培尔和兹夫在1978年首次发表了介绍这种编码方法的文章,称

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档