全局压缩方法和通用压缩方法有什么区别?

数据挖掘 分类 算法 编码
2021-10-04 03:40:58

我了解压缩方法可能分为两大类:

  1. 全球的
  2. 当地的

第一组工作与正在处理的数据无关,即它们不依赖于数据的任何特征,因此不需要对数据集的任何部分执行任何预处理(在压缩本身之前)。另一方面,本地方法分析数据,提取通常可以提高压缩率的信息。

在阅读其中一些方法时,我注意到一元方法不是通用的,这让我感到惊讶,因为我认为“全局性”和“普遍性”指的是同一件事。一元方法不依赖于数据的特征来产生其编码(即,它是一种全局方法),因此它应该是全局/通用的,不是吗?

我的主要问题:

  • 通用方法和全局方法有什么区别?
  • 这些分类不是同义词吗?
1个回答

考虑以下数据块:

1010010110100101

通用- 这些是与数据无关的通用压缩算法。游程编码的粗略版本属于这一类。优点是压缩和解压都非常快。缺点是根据要压缩的数据可能效果极差。

1111111111111111 -> 16 1(幸运案例)

1010010110100101 -> 1010010110100101(不吉利的情况)

本地- 此方法将考虑固定长度的较小段,例如 4,查找模式并压缩它们。例如。此数据仅包含这两种类型的模式 - 1010 和 0101。这些模式可以表示为 0 和 1,整体数据将是表示映射的表格,类似于 0101。这有可能导致更小的压缩大小。

1010010110100101 -> 1010 0101 1010 0101 -> 0101 (0=1010,1=0101)

全局- 此方法将查看整个数据并找到最佳/更好的模式来压缩数据。示例数据仅包含一个模式 10100101 并将其与映射表一起表示为 00。这有可能获得尽可能小的压缩大小,但也是计算量最大的。

1010010110100101 -> 10100101 10100101 -> 00 (0=10100101)