新型加密压缩软件的实现毕业论文(2)
2014-03-16 01:08
导读:2.2 压缩算法与压缩软件 信息压缩最直接的理解就是利用一种技术把信息表达中的冗余信息剔除,使压缩后的信息基本能够代表未压缩信息,从而提高信息
2.2 压缩算法与压缩软件
信息压缩最直接的理解就是利用一种技术把信息表达中的冗余信息剔除,使压缩后的信息基本能够代表未压缩信息,从而提高信息的存储效率。信息的表达基本都存在着一定的冗余度,通过采用一定的模型和编码方法,可以降低这种冗余度。因此,可以说压缩就等于模型(在压缩程序中,用来处理输入信息,计算符号的概率并决定输出哪个或哪些代码的模块叫做模型)加编码(对某一个符号该用多少位二进制数进行编码)。模型和编码两个模块相互是具有独立性,模型又有静态模型和自适应模型。
压缩通常分为有损压缩和无损压缩两种。有损压缩就是压缩后的信息与原信息之间存在一定的差异,无损压缩就是压缩后的信息经过还原过程后,与原信息之间没有任何差异。有损压缩一般用于多媒体压缩,在满足一定压缩比要求的同时,满足人们视觉或听觉感官的完美要求,这两个要求相辅相成,此消彼长,但主要取决于目标存储介质的存储量大小。本文讨论无损压缩。
数据压缩起源于四十年代由 Claude Shannon 首创的信息论,它的基本概念是信息究竟能被压缩到多小?这个概念借用了热
力学中的名词"熵"( Entropy )来表示一条信息中真正需要编码的信息量。
D.A.Huffman 于 1952 年第一次发表了他的论文"最小冗余度代码的构造方法"(A Method for the Construction of Minimum Redundancy Codes)。60 年代、70 年代乃至 80 年代的早期,数据压缩领域几乎一直被 Huffman 编码及其分支所垄断。
1977 年,以色列人 Jacob Ziv 和 Abraham Lempel 发表了论文"顺序数据压缩的一个通用算法"(A Universal Alogrithem for Sequential Data Compression)。他们提出的两个压缩技术被称为 LZ77 和 LZ78。简单地说,这两种压缩方法的思路完全不同于从 Shannon 到 Huffman 到算术压缩的传统思路,人们将基于这一思路的编码方法称作"字典"式编码。字典式编码不但在压缩效果上大大超过了 Huffman,而且,对于好的实现,其压缩和解压缩的速度也异常惊人。随后Terry Welch 提出的LZW 算法继承了 LZ77 和 LZ78 压缩效果好、速度快的优点,在算法描述上更容易被人们接受,成为了UNIX 世界的压缩程序标准。
本文来自中国科教评价网 目前,基于字典方式的压缩已经有了一个被广泛认可的标准,从古老的 PKZip 到现在的 WinRAR,特别是随着 Internet 上文件传输的流行,ZIP 格式、RAR格式成为了事实上的标准,没有哪一种通用的文件压缩、归档系统不支持它们。
编写压缩程序往往不能对数据的整个字节进行处理,而是要按照二进制位来读写和处理数据,因此对数据压缩时的速度是比较慢的。算术压缩可以表示小数个二进制位,并由此可以接近无损压缩的熵极限。算术编码实际上采用了化零为整的思想来表示小数个二进制位的。
目前,常