压缩二进制文件

时间:2020-04-14 01:11:03

标签: algorithm compression

如果给我们一个长度为n的二进制文件,其中每个位独立地是一个概率为1/3的比特,否则为零。我们要构建一种方法,使压缩序列的预期长度比Shannon的下限大10%(对于所有足够大的n)。 我的下限是0.918。我尝试使用大小为2的元组,但是通过霍夫曼编码,它的预期长度为1.88。我朝正确的方向前进吗?

  • 如果我们想获得3%的保证金怎么办?

2 个答案:

答案 0 :(得分:2)

香农熵的界限是每个输入位0.918个输出位。

如果只写给定的位,则每个输入位将花费1个输出位。

已经 小于界限10%,因此不需要压缩。

答案 1 :(得分:1)

您可以使用Arithmetic compressorRangecoder

其中有Arithmetic compressor的代码说明和Rangecoder的开源实现。

我个人建议使用Rangecoder,因为它工作最快,并且从未获得专利(算术压缩器的专利已过期)。