问一个lzma的问题
网上google到一段话,lzma则是在huffman编码的时候,不再是考虑全局的概率,而是引入Markov链,当前的字符为a,则下一个字符为b的概率为p。
以前学过霍夫曼,现在忘记些了。我记得霍夫曼是根据 字符 在字符串中出现的概率来区分表示。出现概率大的字符,会用比较短的编码表示,字符概率出现比较小的,则使用长编码表示。
首先弱弱的表示一下,本人算法和数学功底差很多。不敢去step by step lzma之类的算法代码。所以在这和大家讨论下。
有这么个问题:
1,huffman在数据压缩的时候,应该是强耦合的。那么在压缩算法进行时,岂不是要多次扫描整个数据流?不知道huffman在压缩时大概会怎么做?
2,lzma的这句话没看懂。他是不是对已经做好huffman压缩的数据,再次做一个简单的编码,编码为两种?一种是a,另一种是b?
求有研究的高人解释