公务员期刊网 论文中心 正文

数据压缩算法电讯技术论文

数据压缩算法电讯技术论文

1.常用数据压缩算法

1.1Huffman编码

哈夫曼编码是无损压缩当中最好的方法。它使用预先二进制描述来替换每个符号,长度由特殊符号出现的频率决定。基本的原理是为每个符号找到新的二进制表示,从而通常符号使用很少的位,不常见的符号使用较多的位。

1.2LZW压缩算法

LZW是Lempel—Ziv—Welch的缩写,主要用于图像数据压缩.对于简单平滑图像且噪声小的信号源具有较高的压缩比,并且其压缩和解压缩速度也比较快。

1.3算数编码

Huffman编码解决的是整数位编码问题,而这一点有时可能成为一个问题。例如,如果一个字符的概率是1/3,则编码该字符的最优位数是1.6位左右但Huffman编码却必须给代码指定1位或2位,而无论哪一种选择都将导致比理论上可能的长度更长的压缩信息。

1.4PPM数据解压缩算法

PPM(PredictionbyPartialMatching)是一种上下文统计模型技术。它根据输入字符串中一定长度的上下文后面字符出现的次数,得出每个上下文的预测概率,然后利用多个上下文模型来得出输入字符出现的概率,最后根据该概率用算术编码对该字符进行编码。根据最近输入的字符,来预测即将输入的下一个字符,可以达到数据压缩的目的。PPM就是利用了这种方法。利用最近输入的几个字符(叫做上下文模型),来预测下一个字符。其中,上下文模型的长度k可以从0到已输入字符的最大长度k不等。对于k长度的上下文模型来说,首先要计算在已输入字符串中,每个k长度的子串后面不同的字符出现的次数,然后可以得到该上下文模型的预测概率。预测概率主要用于计算在该上下文模型后面输入字符出现的概率,以便于用算术编码对该字字符进行编码。这样每个不同长度的上下文模型可以得到相应的预测概率。因为每个模型具有不同的k值。在计算输入字符出现的概率时,一般都是从最长的模型开始的。对于某个k长度的模型来说,当输入的字符已经被该上下文模型预测出时,该输入字符出现的概率就是预测概率。而当一个新字符,也就是说该上下文模型不能预测出的字符出现时,输入字符出现的概率就无法得到,也就不能对该字符进行编码。这时,就需要用到”跳转”(Esc)概率将不同长度上下文模型各自的预测概率联系起来。”跳转”概率就可以将模型从k跳f,lk一1,看k一1长度的模型能不能预测出该字符。如果可以,该字符的概率就是”跳转”概率k一1模型的预测概率;如果不能,”跳转”过程将一直进行直到某个模型可以预测出该字符。有了”跳转”机制以后,某个字符的预测概率就由可以预测出该字符模型和它以前的所有模型中的”跳转”概率来决定。为了保证无论出现什么字符,最后”跳转”过程都能结束,最低长度的模型中必须包括字母表中所有的字符。根据计算”跳转”概率的方法不同,PPM算法有很多类型,有A,B,C,D,P等形式。

2.词库压缩程序的设计和实现

2.1选择PPMD算法为词库解压缩算法的依据

根据计算”逃避”或“跳转”概率的方法不同,PPM算法有很多类型,有A,B,C,D,P等形式。PPMD算法在运行时,对内存的要求不是特别高,运行速度比较快。PPMD算法的阶数可以取1-16的阶数。当阶数落在2-3范围时的压缩率跟ZIP,BZIP2可比较,阶数在4-6范围之内时,压缩率比ZIP,BZIP2快,而且运行速度比ZIP,BZIP2快。在高阶数范围8-16之内时,PPMD算法各方面的表现极为突出。因此,在此系统的词库压缩程序中使用了PPMD算法,并且把阶数选为16。2.2词库压缩程序的设计设计词库压缩程序思路:使用Dao技术操作数据库。当用户选择某数据库时,首先检查次数据库是否包含名称为DictTag和Tags的两个数据表。当用户选择某个数据表时检查该表是否符合压缩程序的要求。若不符合,则提示给用户。选择好压缩的数据表之后,首先对数据进行分析。在分析过程中主要完成单词和解释字符串的长度,写入压缩文件时使用的数据包编号的计算等。压缩后的词库的名称填写,源语言和目标语言的选择,排序规则的选择等。其中,排序表必须为Excel文件,而且表的结构也要符合规定。生成词库文件时,首先读取单词和单词的长度和解释的长度,先把这些写入文件,然后再把单词解释部分压缩后写入词库文件。

3.小结

对数据压缩技术进行了论述,还有提出了基于PPMD算法的词库压缩程序的设计和实现过程。