摘 要:PPM算法是一种文本无损压缩算法。它同广泛应用的WinZip相比具有很高的压缩比。后者主要应用了L-Z算法。而后者之所以能够 得到广泛的应用主要是由于其易用性以及简单性。这正是PPM算法主要的缺点。PPM*算法对PPM算法进行了改进,提高了压缩率,并且使 所需内存大大减少。用按照PPM*C算法编制的软件应用于图像压缩领域,效果同WinZip以及另一种压缩算法L-Z-W相比要好。
关键词:PPM;PPM*;图像压缩
数据的无损压缩原先主要应用在文本领域。但随着计算 机应用的日益广泛,大量的其他数据需要保存,其中许多数 据,如医用图像,必须无损地进行压缩。现在的无损压缩主 要有两种形式:一种是统计模型;另一种是字典模型。PPM 属于前者,它开始是为文本压缩而提出的。但实际上,在计 算机中无论是文本还是别的文件,都是以二进制的形式存储 的。因此,就像WinZip一样,PPM算法可以用于其他文件 形式的压缩,包括图像。 PPM (Prediction by Partial Matching)是一种上下文统计 模型技术。它根据输入字符串中一定长度的上下文后面字符 出现的次数,得出每个上下文的预测概率,然后利用多个上 下文模型来得出输入字符出现的概率,最后根据该概率用算 术编码对该字符进行编码。而且PPM是一种自适应技术,每 个上下文模型的预测概率将会随着输入字符串的改变而随时 改变。 PPM数据压缩算法在1984年由Cleary & Witten提出。由 于PPM压缩算法性能优于其他的压缩算法,具有很高的压缩 率,在过去10年中已经成了无损压缩的性能标准。其他算 法,如LZ算法,虽然现在使用比较普遍,但主要是因为其 简单性和快速性。其压缩性能不能跟PPM压缩算法相比。 1 PPM算法 根据最近输入的字符,来预测即将输入的下一个字符, 可以达到数据压缩的目的。PPM就是利用了这种方法。利用 最近输入的几个字符(叫做上下文模型),来预测下一个字 符。其中,上下文模型的长度k可以从0到已输入字符的最大 长度km不等。 对于k长度的上下文模型来说,首先要计算在已输入字 符串中,每个k长度的子串后面不同的字符出现的次数,然 后可以得到该上下文模型的预测概率。预测概率主要用于计