- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PPM Prediction with partial string matching PPM PPM是一种复杂而巧妙的压缩方法,最初由J.Cleary 和 I.Witten 开发,随后由 A.Moffat 加以扩展和实现。其编码器保持着一个统计模型:每输入下一个符号S,就给它分配一个概率P,然后把S送给自适应算术编码器,按概率P编码。 简单统计模型 最简单的统计模型,就是根据符号已出现的次数给它赋予一个概率。假设已经输入和编码了1217个符号,其中字母q出现了34次。如果下一个符号是q,那么其概率就是34/1217,然后q的计数值加1。下一次q再出现时的概率就是35/t,其中t是已输入符号的总数。 基于上下文的统计模型 另一个是基于上下文的统计模型。其想法是给某符号分配概率时不仅根据它的出现频率,而且根据它已经出现过的上下文。例如在典型的英文文本中u出现的概率约为2%,然而一旦出现了一个q,则下一个字母是u的概率就超过了99%。 基于上下文的静态模型 基于上下文的静态模型始终使用相同的概率,它包含一个静态表,表中有字母表的所有可能的双字母(或3、或更多字母组合)的概率,并利用该表生成当上下文是C时符号S的概率P(S|C),可以将这个表看作是行列分别为S、C的一个静态频率表。 问题是: 实际输入流的统计特性与用于构造该表的数据相差甚远,导致扩展。 零概率问题。 N阶自适应的模型 一个自适应的基于上下文的模型也维持着一个概率表,表中存放着字母表中所有可能的N+1字母组合的概率。随着更多符号的输入,该表不断更新,使得概率能与压缩中的特定数据相适应。 这种模型比静态模型更慢更复杂。 N阶模型 理论上N越大,概率估计越准确。然而N大有以下缺点: 对前N个输入流中的符号,如何编码?如直接写入就降低了总体压缩效率。 大的N值可能会有太多的可能上下文,一般地,上下文数目为A**N,呈指数增长。 很长的上下文保留了老数据的自然信息。若模型能使新数据重要性变高,老数据的重要性降低,可取得更好的压缩。短的上下文有这种效果。 一个3阶模型的问题 假设使用3阶上下文,单词here出现过几次,单词there未出现过,假定现在出现的是there中的r,而3阶上下文the后r的概率为0,3阶上下文模型的做法自然是可以直接把r不经压缩地写入压缩流。 然而,如果利用前面的2阶上下文he后面r已经出现多次,可以获得更好的效果。 PPM原理 PPM的中心思想是利用有效的短上下文知识:如果一个长上下文出现了0概率,就切换到一个较短的上下文。 PPM先从N阶上下文开始,搜索已出现过的上下文C(N个符号)后跟符号S,如果没有,就切换到N-1阶再试,…。 一个例子 假设:当前的3阶上下文串the,已经出现了27次,后跟r(11)、s(9)、n(6)、m(1次)。编码器给它们分配的概率分别为:11/27, 9/27, 6/27, 1/27. 如果下一个输入的符号是r,以概率11/27送给算术编码器,然后将各概率分别更新为:12/28, 9/28, 6/28, 1/28. 如果下一个读入的符号是a?上下文the中a的概率为0,如果二阶上下文he中a的概率为26/54,则把概率26/54送给算术编码器。 如果符号S从未出现过,PPM就切换到称为-1阶上下文的模型,分配给S一个固定的概率。 另一个例子:xyzzxyxyzzx 后z ,4阶模型 PPM解码器 编码器根据下一个符号是什么决定是否转向较短的上下文,但解码器不知道。 PPM的做法是引入转义符号,当编码器决定转向较短上下文时,先输出转义符号(算术编码),这样,解码器解码出转义符号时,也知道了使用较短的上下文。 所以最坏的情形:第一次遇见S,编码器需连续发出N+1个转义符号,一直切换到-1阶上下文。 assanissimassa 二阶以下的上下文和计数 assanissimassa 当前上下文为sa,有以下4种典型情况: 下一个符号n, 压缩编码需1位 下一个符号s, 压缩编码需2.32位 下一个符号m, 压缩编码需6.57位 下一个符号d, 压缩编码需9.05位 排除 当从2阶上下文切换到一阶时,可以利用2阶上下文中的信息来排除一阶关系中的一些不可能的情形,从而增加1阶上下文的概率,因而改善了压缩。 如上例中情形2,后跟s, 由于sa后没有s, 转到1阶上下文a, 因为不可能是n, 所以概率从2/5上升到了2/4。 情形4,后跟d,由于排除,转义符号的概率得到提升,也可以用较少的位数进行编码。 琩齳蘦彟稁軓砚棄苗歓溰峭辻鳮綩钏柇侣飹脼鶡爪蚸澲磸株裔翌歱蹴若吥璘岝笌湗萛滄该漼黈繙饉鰀璯丢欒飓刷壾羜玍赭妒斁簞摲玁娸踠牞蜺濪揈濱輖欅仙誸涕坺淖锝獔輠飖酷愰跬拓岐梬枳痪憀囬梂臱砡汈瞲濨瀑年葘捀庎壣拔緩嵞祪成朜席愼島经揶犖碀顧缫閡
原创力文档


文档评论(0)