LZW压缩算法

时间:2019-05-11 03:26:11

标签: compression lzw

在Wikipedia上阅读有关LZW的信息,我已经考虑过关注。

我们正处于编码过程的开始,用于一个字节字符串的代码0-255,用于写入编码文件的下一个代码大小为9:

(每个字符串的位数),(字符串的插槽范围):
8,0..255
9,256..511
10,512..1023

但是为什么我们不能(有见识,例如,代码的大小为9),重复使用以前的代码并整理出像金字塔这样的字典:

vector<vector<CodeString>> dictionary(maxCodeLen - 7);

并将其初始化为

dictionary[0](256);
dictionary[1](512);
dictionary[2](1024);

并根据当前代码的大小选择特定字符串的代码(例如10101010和010101010是不同的代码),解码器可以通过增加当前大小的代码(确定金字塔中的数组)并从每个代码的开头开始对其进行解码金字塔中的数组。

因此,由于启用了有价值的9,10,11大小的代码,我们可以通过LZW算法实现更好的速度/大小比。

为什么不申请?

0 个答案:

没有答案