统计编码方法:从可变长度码到前缀码的深入解析
1. 可变长度码
在数据编码中,可变长度码是一种重要的编码方式。我们先考虑四个符号 (a_1)、(a_2)、(a_3) 和 (a_4)。当它们在数据串中出现的概率相等,均为 (0.25) 时,数据的熵为 (-4(0.25 \log_2 0.25) = 2)。这意味着平均每个符号至少需要 2 比特来表示,我们可以简单地为这些符号分配四个 2 比特的代码,即 00、01、10 和 11。由于概率相等,冗余度为零,数据无法压缩到每个符号 2 比特以下。
然而,当四个符号以不同的概率出现时,情况就有所不同了。例如,(a_1) 大约占数据的一半,(a_2) 和 (a_3) 概率相等,(a_4) 很少出现。此时,数据的熵为 (-(0.49 \log_2 0.49 + 0.25 \log_2 0.25 + 0.25 \log_2 0.25 + 0.01 \log_2 0.01) \approx 1.57),平均每个符号所需的最小比特数降至 1.57。
| 符号 | 概率 | 代码 1 | 代码 2 |
|---|---|---|---|
| (a_1) | 0.49 | 1 | 1 |
| (a_2) | 0.25 | 01 | 01 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



