【问题标题】:Decoding a huffman table fast快速解码霍夫曼表
【发布时间】:2016-06-03 10:46:27
【问题描述】:

我有一个大小为 400 MB 的霍夫曼编码字节数组。霍夫曼标记都是可能的 4 位值 (0-15)。我必须在 1 分钟内解码它。我需要一种有效的解码方式。在处理器速度为 2.8 Ghz 的 16gb ram windows 系统中。我可以在 1 分钟内完成吗?

【问题讨论】:

  • 你说的没有道理。您应该有 256 个不同的霍夫曼令牌,而不是 16 个。您认为“令牌具有所有可能的长度”(1 到 15 位)吗?令牌可以比这更长。每秒解码 7 MB 或每字节 400 个周期将表明代码性能很差。
  • 我的意思是叶值将是 0-15(4 位值)。
  • Fx8150 cpu 单线程解码(最大编码为 4 位)用 C++ 语言编写时速度为 45MB/s。

标签: decoding huffman-code


【解决方案1】:

在我使用了四年的 2 GHz i7 处理器上,使用 zlib 的 inflate 解压缩器只用了大约 8 秒,只给了按 4:1 压缩到 400 MB 的 Huffman 编码输入。

所以是的,你应该能够比一分钟做得更好

【讨论】:

  • 既然你显然不知道如何拼写“你”,那么霍夫曼解码对你来说可能太难了。什么是“ds”?无论如何,您可以查看zlib 中的膨胀代码,了解如何进行基于表的快速霍夫曼解码。
  • 谢谢。 ds 我的意思是数据结构。
猜你喜欢
  • 1970-01-01
  • 2011-01-15
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多