编码位向量的有效方法?

时间:2012-10-13 22:21:51

标签: performance optimization encoding bitmap bitvector

目前使用行程长度编码来编码位向量,当前运行时间是 2log(i),其中是运行的大小。还有另一种方法可以将其归结为log(i)吗? 感谢。

1 个答案:

答案 0 :(得分:6)

编码位向量的最有效方法是隔离位源的任何特定属性。如果它是完全随机的,则没有明显的增益(实际上,完全随机的比特流不能以任何方式压缩)。

如果您可以在比特流中找到属性,则可以尝试定义一组矢量,这些矢量将定义矢量空间的基础。在这种情况下,结果将非常有效。

我们需要有关您的比特流的更多详细信息。


(编辑)

了解前一个声明的更多细节: “完全随机的比特流不能以任何方式压缩”

如果通过“压缩”我们的意思是“变换/压缩流”加上“矢量基础定义”加上减压计划。但在大多数情况下,解压缩程序(通常也是矢量库)都嵌入在客户端软件中。因此,只需要“压缩流”。

关于这一点的一个很好的解释(和有趣的故事)是Patrick Craig 5000$ compression challenge

更加科学theory of information, especially entropy section

最后一个,the full story

但无论解决方案是什么,如果你有一个未知数量的未知流来压缩你就不会做任何事情。你必须找到一种模式。