我正在阅读有关数据压缩算法和数据压缩的理论限制。最近,我遇到了一种称为“组合熵编码”的压缩方法,该方法的主要思想是将文件编码为文件中显示的字符,它们的频率以及文件代表的这些字符排列的索引。
这些文档可能有助于解释此方法:
https://arxiv.org/pdf/1703.08127
http://www-video.eecs.berkeley.edu/papers/vdai/dcc2003.pdf
https://www.thinkmind.org/download.php?articleid=ctrq_2014_2_10_70019
但是,在第一个文档中,我读到了通过使用这种方法,他们可以将某些文本压缩到小于Shannon限制(他们没有考虑节省字符频率所需的空间和节省元数据所需的空间。文件的数据)。我考虑了一下,发现这种方法对很小的文件不是很有效,但另一方面,它对于大文件可能很好用。实际上,我对这个算法或Shannon限制并不十分了解,我只知道它是每个字符的概率之和乘以概率的倒数的。
所以我有一些问题:
这种压缩方法是否真的将文件压缩到小于Shannon限制?
是否有任何压缩算法将文件压缩到小于Shannon限制(据我所知,对这个问题的回答是“否”)?
是否存在将文件压缩到小于Shannon限制的压缩方法?
如果组合编码确实压缩了超出Shannon限制的文件,难道不能一次又一次地压缩文件,直到达到所需的文件大小?