用于数据压缩的字节配对

时间:2012-09-13 19:06:48

标签: algorithm compression

有关数据压缩的字节配对的问题。如果字节配对将两个字节值转换为单个字节值,则将文件分成两半,然后获取一个gig文件并重复使用16次将其缩小为62,500,000。我的问题是,字节配对真的很有效吗?是否创建了5,000,000次迭代循环,保守,高效?我想要一些反馈和一些精辟的意见。


戴夫,我读到的是:
“美国专利局不再授予永动机专利,但最近在数学上不可能的过程中授予至少两项专利:压缩真正的随机数据。” 我没有推断专利局实际上在考虑我在询问什么。我只是评论“数学上不可能的过程”的概念。如果有人以某种方式创建了一种方法,即将“单个”数据字节作为8个单独字节数据的占位符,那么这将是专利的考虑因素。现在,关于8比1压缩方法在数学上是不可能的,它在数学上是不可能的,但可以创建一系列规则和条件。只要存在介质上存储数据的8位或16位表示规则,就有办法操纵反映当前方法的数据,或者通过新的思维方式创建数据。

1 个答案:

答案 0 :(得分:5)

一般来说,正如你所描述的那样,“递归压缩”是海市蜃楼:压缩实际上并不是这样的。

首先,您应该意识到所有压缩算法都有可能扩展输入文件而不是压缩它。您可以通过一个简单的计数参数来证明这一点:请注意,任何文件的压缩版本必须与任何其他文件的压缩版本不同(或者您将无法正确解压缩该文件)。此外,对于任何文件大小N,都有固定数量的可能大小为<=N的文件。如果任何大小为> N的文件可压缩为<= N大小,那么当“压缩”时,大小为<= N的相同数量的文件必须扩展为大小>N

其次,“真正随机”的文件是不可压缩的。压缩有效,因为压缩算法希望接收具有某种可预测规则的文件。但是,“真正随机”的文件根据定义是不可预测的:每个随机文件都与相同长度的每个其他随机文件一样,因此它们不会压缩。

实际上,您有一个模型可以将某些文件视为比其他文件更可能;要压缩此类文件,您希望为输入文件选择较短的输出文件,这些文件更有可能。 Information theory告诉我们压缩文件的最有效方法是为每个输入文件P分配一个长度为~ log2(1/P)位的输出文件。这意味着,理想情况下,给定长度的每个输出文件大致等概率,就像“真正随机”文件一样。

在给定长度的完全随机文件中,每个文件的概率为(0.5)^(#original bits)。上面的最佳长度是~ log2(1/ 0.5^(#original bits) ) = (#original bits) - 也就是说,原始长度是你能做的最好的。

因为良好压缩算法的输出几乎是随机的,所以重新压缩压缩文件会让你几乎没有收获。由于次优的建模和编码,任何进一步的改进都是有效的“泄漏”;此外,压缩算法倾向于扰乱他们没有利用的任何规律性,进一步压缩这种“泄漏”更加困难。


关于这个主题的更长时间的阐述,有许多这类失败命题的例子,请参阅comp.compression FAQ。 “递归压缩”的主张突出。