首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >泄气法推理

泄气法推理
EN

Stack Overflow用户
提问于 2016-09-28 23:36:09
回答 2查看 203关注 0票数 0

为什么LZ77在第二次传递时使用赫夫曼编码,而不是LZW?他们的组合有什么是最优的吗?如果是这样的话,LZ77输出的本质是什么,它比LZW或其他方法更适合于Huffman压缩?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-29 01:34:13

LZW试图利用重复的字符串,就像您称之为LZ77的第一个“阶段”。然后,它做了一个糟糕的熵编码的信息。LZW已经被更现代的方法完全取代了。(除了它在GIF格式中的遗留用途。)一旦LZ77生成了一个文字和匹配列表,LZW就没有什么可利用的了,然后它将为该信息制作一个几乎完全无效的熵编码器。

票数 0
EN

Stack Overflow用户

发布于 2016-09-28 23:42:06

马克·阿德勒最好回答这个问题。

关于LZ77和赫夫曼是如何一起工作的细节需要更仔细的研究。一旦原始数据被转换成字符串和特殊的长度、距离对,这些元素必须用Huffman代码表示。 虽然这不是,重复,而不是标准术语,我们称之为点开始读比特“拨号音”。毕竟,在我们的类比中,拨号音是您可以开始指定一系列数字的地方,这些数字将最终映射到特定的电话。所以一开始就叫“拨号音”。在这个拨号音中,有三种情况之一:字符、长度-距离对或块的末尾。由于我们必须能够分辨出它是什么,所有可能的字符(“文字”)、表示可能长度范围的元素(“长度”)和一个特殊的块结束指示符都被合并到一个字母中。这个字母表就成了赫夫曼树的基础。距离不需要包含在这个字母表中,因为它们只能在长度之后直接出现。一旦文字已被解码,或长度-距离对解码,我们在另一个“拨号音”点,我们又开始阅读。如果我们得到了块结束符号,当然,我们要么位于另一个块的开头,要么位于压缩数据的末尾。 长度码或距离码实际上可能是表示基值的代码,后面跟着形成要添加到基值的整数的额外位数。 ..。

把整件事都读下来。

长话短说。LZ77提供重复消除。Huffman编码提供了位压缩。它也在维基上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39759195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档