有哪些典型的无损压缩比?

信息处理 压缩 信息论
2022-01-14 00:23:39

一位客户试图向我发送 250 GB 的文件。在尝试了各种共享数据的方式后,他给我发了一个只有 4 GB 大小的压缩文件夹。对我来说,这听起来像是太多的压缩——我不认为当我压缩东西时,我缩小了超过 20% 的大小。

在实践中会看到哪些典型的无损压缩比?(或者,一个范围。)

更新:我意识到无法猜测实际信息内容是不可能的,所以也许这是一个措辞不当的问题。我不能分享客户的数据。但是查看XML文件,有很多重复的短语,例如

<thing>
    <property="1" value="2" />
    <property="3" value="4" />
    <property="5" value="6" />
    <property="7" value="8" />
    <property="9" value="10" />
    <property="11" value="12" />
    <property="13" value="14" />
</thing>

这看起来确实很可压缩。

2个回答

这实际上取决于数据中有多少冗余。如果所有 250GB 都只是“0”,那么您可以获得极好的压缩水平。

此页面显示了一些英文文本压缩的结果。它使用各种技术压缩了 2,988,578 字节的文本。前三名分别是:330,571 (88.94%)、333,759 (88.83%) 和 352,722 (88.20%)。

将此与您的情况联系起来:这意味着 250GB 将(最多)压缩为 27.65GB。

那么也许数据中有很多空白的、重复的补丁?


更新:

根据您的编辑,这是另一篇研究 XML 压缩率的论文结果(图 8;下面的屏幕截图)是他们似乎看到压缩率从 1(无)到最大约 50。这表明您怀疑客户的 62.5 比 1(250 比 4)压缩率是正确的。

在此处输入图像描述

我关于压缩的调查论文“高速缓存和主内存系统中数据压缩的架构方法调查”表明,一般基准测试中的大多数实用技术都实现了约 2 倍的压缩率,有些甚至高达 4 倍,尽管潜力更大(例如,在某些情况下约 16 倍)例)存在(见第 2.2 节)。没有充分发挥潜力的原因是具有较高压缩比的技术也具有较高的开销(例如消耗功率的额外硬件、大量额外处理等),或者它们可能不够通用(例如压缩全为零的文件)。