统计编码方法:自适应算术编码与QM编码器详解
1. 算术编码的理论极限
在信息论中,对于符号串 $s$,其概率为 $P(s)$,编码所需的位数 $b$ 满足不等式:
$2 ≤ 2bP(s) < 4$,由此可推出 $1 - \log_2 P(s) ≤ b < 2 - \log_2 P(s)$。
随着符号串 $s$ 变长,其概率 $P(s)$ 减小,$-\log_2 P(s)$ 变为一个大的正数。从极限角度看,$b$ 趋近于 $-\log_2 P(s)$。这就解释了为什么算术编码原则上可以将符号串压缩到其理论极限。
2. 自适应算术编码
2.1 算术编码的可扩展性特点
算术编码有两个特点使其易于扩展:
- 编码依赖累积频率 :主要编码步骤为
Low := Low + (High - Low + 1)LowCumFreq[X] / 10;
High := Low + (High - Low + 1)HighCumFreq[X] / 10 - 1;
这意味着为了编码符号 $X$,编码器需要知道该符号及其上一个符号的累积频率。同时,只要编码器和解码器达成一致,每次编码时 $X$ 的频率(或等价的概率)可以改变。
- 符号顺序无关紧要 :符号在表中的顺序不重要,在编码过程中甚至可以交换符号顺序,只要编码器和解码器以相同方式操作即可。
2.2 自适应算术编码的工作原理
自适
超级会员免费看
订阅专栏 解锁全文
947

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



