“本页固定有限字母表上的离散无记忆源(DMS):$X 1,X 2,\ldots$ IID 服从 $P X$,单字母熵为 $H(X)$,并以 $2$ 为对数底。把 $X^n$ 看作一个超符号,考…”
形式陈述 ​
设源字母表为有限集合
把每个源符号映成有限字。码长
把
无失真逐符号码有三层常用条件:
- 非奇异(nonsingular):
在单个符号上单射; - 唯一可译(uniquely decodable):
在任意有限源串上单射; - 前缀自由(prefix-free):没有一个码字是另一不同码字的前缀。
它们满足严格层级
反向一般都不成立。在标准串联模型中,前缀码与即时码是同一个层级,而不是两层不同条件。
长度
直觉
固定长度码给每个符号同样多的位置;变长码则让高概率符号走短路径、低概率符号走长路径,从而降低分布加权的平均长度。节省的前提是串联后仍能恢复边界与原符号,否则“短”只是把歧义藏进码流。
块码把
层级的证明机制 ​
前缀码从左到右遇到第一个完整码字时就能确定首符号,删去它后归纳解析余串,因此唯一可译。唯一可译当然要求长度一的源串映射互异,所以必然非奇异。下面的反例说明两条逆命题都失败。
例子与边界
可复算例:平均长度 ​
对概率
码长为
同一映射用于另一分布时,平均长度会改变;码本本身不带“1.9 bit”这一属性。
两个严格反例 ​
集合 010 可解析为 0|10 或 01|0,因此不是唯一可译。集合 0 是 01 的前缀,读到 0 时还不能立即输出。于是三层条件不能混用。
空码字只适合单符号源;若还有另一代码字,空字会成为它的前缀并让任意串联产生歧义。码本、概率模型和文件头的传输成本也不包含在
若源有记忆,逐符号码忽略跨符号相关性;若允许重构误差,目标也不再是唯一恢复,而要另行指定失真度与容许失真。两种改变都超出这里的无失真逐符号层级。
推论与应用
前缀码提供即时解析,Kraft–McMillan 不等式刻画整数码长的可行性,Huffman 算法在已知有限分布的逐符号前缀码中最小化
有损源编码、通用编码和有记忆信源仍沿用“编码器—译码器—性能准则”的框架,但分别要补上失真、未知分布或熵率假设;不能把逐符号 Huffman 的结论直接搬过去。
参考资料
- Thomas M. Cover and Joy A. Thomas, Elements of Information Theory, 2nd ed., Wiley, 2006, §§5.1–5.4.
- Robert G. Gallager, Information Theory and Reliable Communication, Wiley, 1968, §§3.2–3.4.
- Claude E. Shannon, “A Mathematical Theory of Communication,” Bell System Technical Journal 27, 1948, Part I, §§9–10.