Compression log2(n)*(x)是否设置了压缩限制。

Compression log2(n)*(x)是否设置了压缩限制。,compression,Compression,我可能会因此受到各种各样的惩罚。所以请耐心点。2个问题 如果表示任意小数位数的最小位数由log2(n)*(x)…n是范围x是长度来计算,那么您应该能够通过将文件按>>>bin到dec转换为小数来计算最大压缩 这是一个不能压缩到理论最小压缩极限以下的定律,还是一个近似极限? 乔恩·赫顿 这其实有点(哈)棘手。该公式假设数字是从均匀分布中提取的,通常情况并非如此,但对于通常称为“随机数据”的情况尤其如此(尽管这是一个不准确的名称,因为数据可能是随机的,但从非均匀分布中提取) X的熵H(以位为单位)由

我可能会因此受到各种各样的惩罚。所以请耐心点。2个问题

  • 如果表示任意小数位数的最小位数由log2(n)*(x)…n是范围x是长度来计算,那么您应该能够通过将文件按>>>bin到dec转换为小数来计算最大压缩

  • 这是一个不能压缩到理论最小压缩极限以下的定律,还是一个近似极限? 乔恩·赫顿

  • 这其实有点(哈)棘手。该公式假设数字是从均匀分布中提取的,通常情况并非如此,但对于通常称为“随机数据”的情况尤其如此(尽管这是一个不准确的名称,因为数据可能是随机的,但从非均匀分布中提取)

    X的熵H(以位为单位)由以下公式给出:

    H(X) = - sum[i](P(x[i]) log2(P(x[i])))
    
    式中,p给出x可能取的每个值的概率。
    i
    的边界是隐含的,不相关的,无论如何不可能的选项的概率为零。在统一的情况下,对于任何可能的
    x[i]
    ,P(x[i])是(根据定义)1/N,我们有
    H(x)=-N*(1/N log2(1/N))=-log2(1/N)=log2(N)

    一般来说,公式不应简单地乘以数据的长度,只有当所有符号都是独立的且分布相同时,该公式才有效(例如,在具有IID统一随机数字的文件中,它确实有效)。通常对于有意义的数据,符号的概率分布取决于其上下文,事实上许多压缩技术都旨在利用这一点

    没有法律规定你不可能幸运地将一个单独的文件压缩到比它的熵所建议的更少的位。你可以故意安排它成为可能(但它不一定会发生),例如,假设我们期望任何字母都是同样可能的,但我们决定逆流,用单个位0对A进行编码,将任何其他字母编码为1,后跟5位,表示它是哪个字母。考虑到预期,这显然是一种糟糕的编码,只有26个字母,它们的概率相同,但我们使用的不仅仅是
    log2(26)≈ 4.7位平均值为
    (1+25*6)/26≈ 5.8
    。然而,如果我们碰巧得到了A(有1/26的可能性,可能性不是太大),我们将其压缩为一个比特,这比预期的要好得多。当然,人不能依赖运气,它只能是一个惊喜


    作为进一步的参考,您可以阅读。

    此外,值的概率仅给出零级熵。相邻值的特定组合可能存在高阶相关性,这是现代压缩机大部分压缩的来源。最常见的方法是寻找重复的值字符串(其中“值”通常表示字节)。