1

假设我们有一堆数字从大偏移量中增加小值

例如偏移量 = 123456789

我们的号码是:123456790 123456791 123456793 123456796 123456799 123456804

如果我们从这些数字中减去偏移量,我们得到 1 2 4 7 10 15

这些数字将与 8 个字节的其他数据一起存储,总共 12 个其他字节,然后一组 10000 个将被压缩为一个块

因此,如果我们将这些数字存储为 32 位整数并对其进行压缩,如果我们使用第二组数字,它们的压缩效果会更好吗?还是因为它们包含相同数量的熵,它们将完全一样地压缩?

因为我的工作立即响应是第二组将更好地压缩,因为在第二组中的 32 位数字中会有很多零,但是熵是相同的(我认为)所以典型的压缩算法不会无论如何都要弄清楚这一点并产生类似的压缩比?

最终,我认为我必须尝试一下才能看到结果是什么,但我很想事先弄清楚。

4

1 回答 1

3

这称为增量编码。根据您的数据的具体情况,这可能会为您提供更好的压缩。也有可能获得更直接的节省:例如,如果您确定相邻元素之间的差异永远不会超出 0-255 范围,您可以将增量存储为单个字节而不是 32 位整数.

于 2011-04-07T02:57:06.247 回答