你能解释一下如何从lz77转换为huffman吗?

时间:2017-09-24 20:07:33

标签: gzip huffman-code lz77

你能解释一下如何从lz77转换为huffman,如下图所示?

example

2 个答案:

答案 0 :(得分:1)

易:

在第一步中,您的输出基本上是3个数字:

  1. prev index
  2. 要重复的字符数
  3. 下一个字符(无论是ascii还是unicode)
  4. 算法要求您预先指定滑动窗口。这意味着你知道最多(1)和(2)有多大。 换句话说,您知道将占用多少位(1)和(2)。 由于(3)本质上也是一个固定长度字母表的字符,你也知道(3)的位长

    这意味着简单地连接它们是安全的。 因此,第一个算法的输出可以被认为是输出一个比特序列,其中序列中的每个项目都有一个固定的长度。

    这是应用霍夫曼的理想选择。

    当然没有提到具体细节,你可以从很多选项中进行选择。

    • 规范化的霍夫曼表
    • 1左侧分支vs 0左侧分支
    • 合并类似计数的项目时的优先级

    因此,我无法轻易解释您所显示的确切输出值。 但我希望我至少可以解释如何从A到B。

答案 1 :(得分:0)

你做不到。显示的编码很好,具象。不是文字的。符号A,B和C都被编码为单个位0.显然,这对解码端来说不是很有用。