8、数据压缩编码方法解析

数据压缩编码方法解析

1. Kraft - MacMillan不等式

Kraft - MacMillan不等式与明确的可变长度编码相关。它包含两部分:
- 第一部分表明,对于一个明确的可变长度编码,若有n个长度为$L_i$的编码,则$\sum_{i = 1}^{n} 2^{-L_i} \leq 1$。
- 第二部分则反之,给定一组满足上述等式的正整数$(L_1, L_2, \cdots, L_n)$,存在一个明确的可变长度编码,使得$L_i$为其各个编码的长度。

1.1 与熵的关系

编码长度$L_i$可表示为$L_i = -\log_2 P_i + E_i$,其中$E_i$是$L_i$比熵多出的长度。由此可得$2^{-L_i} = 2^{(\log_2 P_i - E_i)} = \frac{P_i}{2^{E_i}}$。当所有额外长度相同时($E_i = E$),Kraft不等式表明$1 \geq \sum_{i = 1}^{n} \frac{P_i}{2^{E}} = \frac{\sum_{i = 1}^{n} P_i}{2^{E}} = \frac{1}{2^{E}}$,即$2^{E} \geq 1$,所以$E \geq 0$。这意味着明确的编码具有非负的额外长度,其长度大于或等于由熵确定的长度。

1.2 示例

  • 等长二进制编码 :对于n个等长二进制编码,每个编码的长度$L_i = \log_2 n$,Kraft - MacMillan和为$\sum_{i = 1}^{n} 2^{-L_i} = \sum_{i = 1}^{n} 2^{-\log_2 n}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值