现在的位置: 首页 > 综合 > 正文

数据压缩的前级编码

2012年09月14日 ⁄ 综合 ⁄ 共 373字 ⁄ 字号 评论关闭

在一些数据文件中, 两字节数据发生重复的概率比较大。对于这种文件, 可以使用类似于Huffman编码的方法进行前级压缩。

出现概率大的以1字节编码, 出现概率小的以2字节编码。 因为以字节为单位编码, 所以编码后的数据不影响接下来的数据压缩。

步骤:

1. 以两字节为单位, 统计数据出现的概率, 并且出现概率从大到小排列。

2. 统计文件中出现的两字节数据的个数, 并在映射表预留0xFFFF开始向下的数据个数大小的空间。

3. 因为数据个数一般小于0xFFFF, 计算单字节编码个数: ((0xFFFF - 数据个数) >> 8) - 1, 出现概率从大到小建立单字节映射。

4. 单字节映射以外的数据以双字节方式映射。

     注: 双字节编码的高字节和单字节编码不重复。

5. 遍历数据文件, 按照映射表编码。

经过确认, 对于双字节重复比较多的数据, 经过前级编码后, 再通过lzss压缩, 能获得更高的压缩率。

抱歉!评论已关闭.