信息论大作业2要点.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息论大作业2要点

信息论大作业 一、实验目的 1、通过实验进一步理解霍夫曼编码、算术编码和LZ编码原理和方法 2、熟悉matlab编程和GUI界面的设计 二、实验原理 1、赫夫曼(Huffman)编码是1952年提出的,是一种比较经典的信息无损熵编码,该编码依据变长最佳编码定理,应用Huffman算法而产生。Huffman编码是一种基于统计的无损编码。 设信源X的信源空间为: 其中,,现用二进制对信源X中的每一个符号(i=1,2,…N)进行编码。 根据变长最佳编码定理,Huffman编码步骤如下: (1)将信源符号xi按其出现的概率,由大到小顺序排列。 (2)将两个最小的概率的信源符号进行组合相加,并重复这一步骤,始终将较大的概率分支放在上部,直到只剩下一个信源符号且概率达到1.0为止; (3)对每对组合的上边一个指定为1,下边一个指定为0(或相反:对上边一个指定为0,下边一个指定为1); (4)画出由每个信源符号到概率1.0处的路径,记下沿路径的1和0; (5)对于每个信源符号都写出1、0序列,则从右到左就得到非等长的Huffman码。 Huffman编码的特点是: (1)Huffman编码构造程序是明确的,但编出的码不是唯一的,其原因之一是两个概率分配码字“0”和“1”是任意选择的(大概率为“0”,小概率为“1”,或者反之)。第二原因是在排序过程中两个概率相等,谁前谁后也是随机的。这样编出的码字就不是唯一的。 (2)Huffman编码结果,码字不等长,平均码字最短,效率最高,但码字长短不一,实时硬件实现很复杂(特别是译码),而且在抗误码能力方面也比较差。 (3)Huffman编码的信源概率是2的负幂时,效率达100%,但是对等概率分布的信源,产生定长码,效率最低,因此编码效率与信源符号概率分布相关,故Huffman编码依赖于信源统计特性,编码前必须有信源这方面的先验知识,这往往限制了哈夫曼编码的应用。 (4)Huffman编码只能用近似的整数位来表示单个符号,而不是理想的小数,这也是Huffman编码无法达到最理想的压缩效果的原因。 举例说明: 一串信号源S={s1,s2,s3,s4,s5}对应概率为p={0.40,0.30,0.15,0.10,0.5},按照递减的格式排列概率后,根据第二步,会得到一个新的概率列表,依然按照递减排列,注意:如果遇到相同概率,合并后的概率放在下面! 最后概率最大的编码为0,最小的编码为1。 所以,编码结果为: s1=1 s2=00 s3=010 s4=0110 s5=0111 2、算术编码是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,对每个符号进行编码。而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0?≤?n??1.0)的小数n。所以用两个基本的参数:符号的概率和它的编码间隔。信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔,而这些间隔包含在0到1之间。 算术编码的算法思想如下: ?(1) 对一组信源符号按照符号的概率从大到小排序,将[0,1)设为当前分析区间。按信源符号的概率序列在当前分析区间划分比例间隔。 ?(2)检索“输入消息序列”,锁定当前消息符号(初次检索的话就是第一个消息符号)。找到当前符号在当前分析区间的比例间隔,将此间隔作为新的当前分析区间。并把当前分析区间的起点(即左端点)指示的数“补加”到编码输出数里。当前消息符号指针后移。 ?(3)仍然按照信源符号的概率序列在当前分析区间划分比例间隔。然后重复第 二步。直到“输入消息序列”检索完毕为止。 (4)最后的编码输出数就是编码好的数据。 3、LZ 编码原理简介: 1965 年苏联数学家Kolmogolov 提出利用信源序列的结构特性来编码。 而两位以色列研究者J.Ziv 和A.Lempel 独辟蹊径,完全脱离Huffman 及算术编码的设计思路,创造出了一系列比Huffman 编码更有效,比算术编码更快捷的通用压缩算法。将这些算法统称为LZ 系列算法。 Ziv 和Lempel 于1977 年提出了LZ77 算法[Ziv Lempel (1977)]。1984年,二人又提出了改进算法,后被命名为LZ78[Ziv Lempel (1978)]。1984年,T.A.Welch 提出了LZ78 算法的一个变种,即LZW 算法[ Welch (1984)]。1990 年后,T.C.Bell 等人又陆续提出了许多LZ 系列算法的变体或改进版本[ Bell 等(1990)]。 LZ 系列算法用一种巧妙的方式将字典技术应用于通用数据压缩领域,而且,可以从理论上证明LZ 系列算法同样可以逼近信息熵的极限。 以LZ78

文档评论(0)

1520520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档