- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字典技术
第五章 字典技术
5.1概论
在之前的两章,我们看见,假设产生一系列独立字符的信源的编码技术。由于大多数信源在开始时都是相关的,编码步骤通常在解相关步骤之前。在本章中,我们将着眼于把结构融合到数据的技术,以增加其压缩量。这些技术—静态和自适应的(或动态的)—建立了经常出现的模式列表,并通过发送在列表中它们对应的索引来编码这些模式。对于产生相当频繁的相对小模式的信源,它们是最有用的,诸如文字源和计算机命令。我们讨论了的文本压缩,现代通信和图像压缩的应用。
5.2介绍
在许多应用中,信源的输出包括了再生格式。一个典型的例子是一个文本源中的某些格式或字不断地复发。另外,还有一些特定的格式根本就不会发生,或者如果他们发生,那也发生得很稀少。例如,我们可以确信这个词Limpopo!在存在的文本源中发生在一个非常小的部分。
一个非常合理的方法来编码这种信源就是把频繁发生的格式保持为一个列表,或者字典。当这些格式出现在源输出时,它们通过字典的一个参考被编码。如果模式没有出现在字典中,然后它可以使用一些其他低效率的方法进行编码。实际上,我们把输入分割为两大类,频繁出现的格式和不常发生的格式.对于频繁类出现的模式,这种技术是有效的,因此,字典的大小必须远小于所有可能格式的数目。
假设我们有一个特定的文本,它由四个字符, 26个小写的英文字母和后面的标点符号的三个字符组成。假设我们的源字母表由26个小写英文字母和之后的标点符号—逗号,句号,感叹号,问号,分号和冒号组成。换言之,输入字母表的大小为32。如果我们一次可以编码文本源的一个符号,同样的方式处理可能的事件,我们将需要每字符5位。处理所有同样可能的32^4(= 2^20= 1,048,576)四个字符的模式,我们有一个分配20位代码到每四个字符模式的符号。现在,让我们把256种最有可能的四个字符模式转换成字典。转换原则如下所示:每当我们想发送在字典中已存在的模式,我们将发送一个1-位的标志,也就是说,在由一个8位的指数所对应字典的条目后发出一个0。如果这个模式不在字典中,我们将在20位编码的格式后发出一个1。如果我们遇到的模式不在字典中,我们实际上将使用比原来的计划更多的比特,是21个而不是20。但是,如果它在字典中,我们仅仅发送9位。我们的方案实用性将取决于我们遇到的字在字典中所占的百分比。我们可以通过计算每个模式的平均比特数来了解关于我们的计划的效用。如果从字典中遇到一个格式的概率为p,则每个格式R的平均比特数由下式给出:
R = 9p+21(1- p) = 21-12p. 【5.1】
对于这个等式很有用。当p=0.084发生时,R的值应该小于20.这看起来不像一个很大的数。然而,注意到,如果以相同的方式发生,从字典中遇到一个格式的概率将小于0.00025!
我们不只是希望有一个以同样可能的方法进行编码的,略好于头脑简单的方法编码的方案,我们想尽可能多的提高性能。为了要做到这一点,p应该尽可能的大。这意味着,我们应该慎重地选择最有可能出现在字典条目的模式。要做到这一点,我们必须有一个源输出结构的不错的主意。如果对于我们没有这些可用的信息优于这样一个特定的源输出的编码,当我们在编码的时候,我们需要以某种方式获得这些信息。如果我们觉得我们有足够的先验知识,我们可以使用一个静态的方法,如果没有,我们可以采取一种自适应性的方法。我们将在本章看到这两种方法。
5.3静态字典
当相当多的信源先验知识可用时,选择一个静态字典的技术是最合适的。此技术是特别适合于在特定的应用程序中使用。例如,如果该任务压缩了一所大学的学生记录,静态字典的方法可能是最好的。这是因为我们提前知道某些词,如“名称”和“学号”,会出现在几乎所有的记录里。其他词,如“大二”,“学分”等,也经常会出现。根据大学的不同的位置,社会安全号码中的某些数字更有可能发生。例如,在内布拉斯加州,大部分学生的学号开头的数字505。事实上,大部分数字将是一个经常性发生的。在这种情况下,根据含有的重复格式上的静态辞典设计一个压缩计划是高效率的。同样的,有可能在基于字典的编码方案的一些其他的情况下,一个特定的应用程序或特定的静态数据将是最有效的。应当指出,他们的设计仅仅为了应用程序和数据在这些计划中将运行地很好。如果这些计划要用于不同的应用程序,它们可能导致数据的膨胀,而不是压缩。
很少具体到一个单一的应用程序的静态字典技术叫做双字母组合的编码。我们在下一节中描述它。
5.3.1 双字母组合的编码
静态字典编码的较常见的形式之一是双字母组合的编码。在这种形式的编码中,正如字典可容纳的一样,许多双字符后的字典包含了信源字母的所有符合的形式叫做连字的字典。例如,假设我们要构造一个由双字母组合的所有可打印的ASCII字符编码的,大小为25
文档评论(0)