符号编码

符号编码(symbol coding)是对信源产生的每个符号逐个分配码字的编码方式,其核心要求是编码后的序列能够被唯一译码(uniquely decodable)。在保证唯一可译性的所有编码方案中,前缀码(prefix code)具有特殊地位——没有任何一个码字是另一个码字的前缀,这使得解码过程可以逐符号即时完成,无需向前搜索。

唯一可译码要求码字的任意有限长序列都能被唯一地分割为原始符号序列。对于符号编码而言,唯一可译性是一个基本约束。Kraft-McMillan 定理在此给出了强有力的结论:任何唯一可译码的码长必然满足 Kraft 不等式 ;反过来,任意满足 Kraft 不等式的码长组合都可以被某个前缀码实现。这意味着在编码效率的意义上,前缀码已经达到了唯一可译码的理论极限——不需要考虑更复杂的非前缀码方案,因为前缀码不比任何唯一可译码差。

实际构造符号编码时,常用的前缀码包括 Huffman 编码和 Shannon 编码。Huffman 编码通过贪心合并操作构造最优前缀码,在给定概率分布下平均码长最小;Shannon 编码则基于累积概率分布提供系统化的构造方法。两者的平均码长都满足 。符号编码是数据压缩系统的基础,被广泛应用于文本压缩(如 ZIP)、图像压缩(如 JPEG)和通信系统的信源编码环节中。

链接到

  • 上一个知识点:4.9 块编码
  • 下一个知识点:无(本章最后一个知识点)