更可能出现的结果用更少表示
固定等长码不区分符号常见与罕见。熵编码利用概率分布,让更可能的结果平均消耗较少比特,同时保证编码后的内容能够恢复。二进制熵H=-Σp log₂p描述给定分布的平均信息量,相关界限讨论的是模型下的期望成本。
对于逐符号的唯一可译码,平均码长不能低于该分布的熵。这不表示每一份具体文件都恰好达到H乘长度,也不表示短消息或罕见消息必须比原来更短;头部、结束约定和模型本身都有成本。
码字分配与区间细分
Huffman编码把符号放在二叉树叶子,得到逐符号的前缀码,优化加权平均的整数码长。算术编码则逐次缩小消息所对应的区间,不要求每个输入符号独占一个整数长度的码字,因此两者的组织单位不同。
编码器与解码器需要一致的概率或频率信息。固定模型可以事先共享或随消息发送;自适应模型则按双方都能重现的规则更新,不能让编码端悄悄使用解码端不知道的历史。
编码器的效率受概率模型限制
若编码按分布q安排长度,真实来源却服从p,模型失配就会带来额外平均比特。理想码长近似负对数概率时,这部分额外成本与相对熵D(p∥q)有关;因此更复杂的编码器并不能自动补救错误的概率判断。
单字符频率也不等于消息的全部规律。上下文模型、字典或可逆变换可以先暴露重复结构,再交给熵编码;改善模型与改善比特编码是相关但不同的工作。比较时还应计算模型存储、运行时间与内存,而不是只比较编码主体。