数据压缩方法:上下文树加权与字典法解析
在数据处理领域,数据压缩是一项关键技术,它能够减少数据存储空间并提高传输效率。本文将深入探讨两种重要的数据压缩方法:上下文树加权(Context-Tree Weighting,CTW)和字典法。
上下文树加权(CTW)方法
基本原理
无论输入流是文本、像素、声音还是其他形式,都可以将其视为二进制字符串。理想的压缩效果(即达到或接近字符串熵的压缩)需要根据已输入的比特来准确预测下一个比特的值。在实际应用中,我们通常利用过去的历史信息来估计下一个比特为 1 的概率。
CTW 方法从给定的比特串 (b_{t}^{1} = b_{1}b_{2} \cdots b_{t}) 及其前 (d) 个比特 (c_{d} = b_{-d} \cdots b_{-2}b_{-1})(即 (b_{t}^{1}) 的上下文)开始。这两个字符串构成输入流。该方法基于上下文构建深度为 (d) 的树,树的每个节点对应 (c_{d}) 的一个子串。
输入并检查第一个比特 (b_{1}):
- 若 (b_{1}) 为 1,更新树以包含 (c_{d}b_{1}) 的子串,并计算在上下文 (c_{d}) 下 (b_{1}) 为 1 的概率。
- 若 (b_{1}) 为 0,以不同方式更新树,并计算在相同上下文下 (b_{1}) 为 0 的概率。
然后将 (b_{1}) 及其概率发送到算术编码器,接着处理 (b_{2})。上下文比特以原始格式写入压缩流。
上下文树的深度 (d) 在整个压缩过程中固定,其取值应根据输入比特之间的预期相关性来确定。若比特之间相关性高,较小的 (d)
超级会员免费看
订阅专栏 解锁全文
5959

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



