跳转到内容

数据压缩/推断压缩

来自维基教科书,开放世界中的开放书籍

推断压缩

[编辑 | 编辑源代码]

推断压缩背后的理念是,由于算法及其创建者事先不知道源数据,但压缩可以针对不同类型的数据进行优化,因此它们将基于类型推断的过程进行压缩。这个过程主要是动态的和非确定性的,包括将源数据的部分读入缓冲区(嗅探),并执行一些测试以推断其类型/特征,以决定要应用哪种压缩算法。这种选择通常是基于规则的(在算法中预先定义的)。

当然,这在如何执行推断方面提供了一些自由度,一些算法可以使用文件扩展名(如果存在)或甚至仅仅使用文件头(使用文件类型标识符,如 魔数文件标识符字符串)来识别一些众所周知的文件格式。然后,它们将使用这些信息来优化猜测过程,以确定最佳的压缩方案。例如,LHA 和 LHZ 压缩算法包含许多压缩规则,允许根据不同文件类型的规则基础差异进行动态优化。

根据一些限制和要求(例如速度和内存使用情况),规则库选择可以是动态的,例如基于非对称压缩方案,该方案将允许进行多次推断,并让它们竞争,以查看哪个压缩方案将对数据进行最佳压缩。

基本理念是,您越能准确推断出文件类型,您就能越紧密地使用特定于该类型数据的压缩规则对其进行压缩。通过针对数据的精确性质进行调整,压缩通常可以生成的文件大小明显小于仅近似数据类型的技术。例如,假设莎士比亚文本(大量常见英语单词)的压缩方案可能不适用于股票市场表格(显示公司股票代码、收盘价等的表格)。

马尔可夫模型

[编辑 | 编辑源代码]

我们将在后面的章节中更详细地讨论马尔可夫模型,马尔可夫模型

数据差分

[编辑 | 编辑源代码]

我们将在后面的章节中更详细地讨论数据差分,数据差分


华夏公益教科书