压缩技术实验编码..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
压缩技术实验编码.

实验一 统计编码 实验目的 熟悉统计编码的原理 掌握r元Huffman编码的方法; 了解Huffman编码效率及冗余度的计算; 二、 实验原理 霍夫曼编码, 又称最佳编码,根据字符出现概率来构造平均长度最短的变长编码。 Huffman编码步骤: (1)把信源符号xi(i=1,2,…,N)按出现概率的值由大到小的顺序排列; (2)对两个概率最小的符号分别分配以“0”和“1”,然后把这两个概率相加作为一个新的辅助符号的概率; (3)将这个新的辅助符号与其他符号一起重新按概率大小顺序排列; (4)跳到第2步,直到出现概率相加为1为止; (5)用线将符号连接起来,从而得到一个码树,树的N个端点对应N个信源符号; (6)从最后一个概率为1的节点开始,沿着到达信源的每个符号,将一路遇到的二进制码“0”或“1”顺序排列起来,就是端点所对应的信源符号的码字。 以上是二元霍夫曼编码。如果是r元霍夫曼编码,则应该如何做呢? 在HUFFMAN编码方案中,为出现概率较小的信源输出分配较长的码字,而对那些出现可能性较大的信源输出分配较短的码字。为此,首先将r个最小可能的信源输出合并成为一个新的输出,该输出的概率就是上述的r个输出的概率之和。重复进行该过程直到只剩下一个输出为止。信源符号的个数q与r必须满足如下的关系式: q = (r-1) n + r n为整数 如果不满足上述关系式,可通过添加概率为零的信源符号来满足。这样就生成了一个树,从该树的根节点出发并将0、 1……分别分配给任何r个来自于相同节点的分支,生成编码。可以证明用这种方法产生的编码在前向树类编码中具有最小的平均长度。 举例:对于取值为u={u1,u2,u3,u4,u5,u6}其相应的概率为p={0.1,0.3,0.05,0.09,0.21,0.25}的信源,试设计一个3元HUFFMAN码,求出码子的平均长度与编码效率。 注:因为是3元编码,所以每次3个概率值相加。 码字的平均长度 L=2×0.1+1×0.3+3×0.05+3×0.09+2×0.21+1×0.25=1.59 信源的熵 H(u)= (0.1×log2(0.1)+ 0.3×log2(0.3)+ 0.05×log2(0.05)+ 0.09×log2(0.09)+ 21×log2(0.21)+ 0.25×log2(0.25)=2.3549 编码效率 Q=0.9345 用MATLAB实现该编码的方法可用下面的矩阵来说明: 20 u1 0.1① 0.3 ② 0.3 ⑤ 0.3⑤ 0.3③ 0.45① 1 1 u2 0.3② 0.25⑥ 0.25④ 0.25④ 0.25② 0.3③ 211 u3 0.05③ 0.21⑤ 0.21③ 0.21③ 0.45① 0.25② 212 u4 0.09④ 0.1① 0.1② 0.14① 22 u5 0.21⑤ 0.09④ 0.14 ① 0.1② 0 u6 0.25⑥ 0.05③ 0. ⑦ 0 ⑦ 注:每次3个数加完后,重新按序分配编号,在按概率值重新排序,再进行下次加数。 7 3 4 1 5 6 2 m= 2 1 3 4 5 0 0 2 3 1 0 0 0 0 注:m中每一行为按概率值重新排序后的编号列,一共三次概率值排序;单箭头表示两次排序中的概率值并未参加加数,未改变;多箭头表示箭头所指向的多项概率值相加后得到箭头源的概率值。 210 211 212 20 22 0 1 c= 20 21 22 0 1 0 1 2 注:c为编码矩阵,从最后一行开始,因为是3元编码,故按0、1、2开始编码。根据m中的箭头,单箭头不变,多箭头根据箭头源每上一层则箭头源编码后再加一位,同一层中加的位数按0、1、2顺序添加。 m矩阵第I(I1)行中的‘1’记录了合并后的信源符号在新信源中的位置。 实验步骤 输入初始概率分布p和码元数r; 检查是否满足q = (n-1)r + r (q为输入信源的个数),如果不满足则补零使之满足; 排序得m矩阵 根据m矩阵获得c矩阵 从c矩阵中取出最后的码字矩阵h并计算平均码长和编码效率。 实验仪器 1计算机; 2 MA

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档