码迷,mamicode.com
首页 > 其他好文 > 详细

140705010032 张少威 第3次作业

时间:2016-09-20 12:11:50      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

一、 参考书《数据压缩导论(第4版)》  Page 66

  2、 利用程序huff_enc和huff­_dec进行以下操作(在每种情况下,利用由被压缩图像生成的码本)。

    (a) 对Sena、Sensin和Omaha图像进行编码。

     答:表格如下: 

文件名 源文件 压缩后文件 压缩比
SENA 64.0KB 56.1KB 87.66%
SINAN 64.0KB 60.2KB 94.06%
OMAHA 64.0KB 57.0KB 89.06%

 

 

 

 

 

  4、一个信源从符号集A={a1, a2, a3, a4, a5}中选择字母,概率为P(a1)=0.15,P(a2)=0.04,P(a3)=0.26,P(a4)=0.05,P(a5)=0.50。

    a.计算这个信源的熵;

       答:由题目可知:P(a1)=0.15,P(a2)=0.04,P(a3)=0.26,P(a4)=0.05,P(a5)=0.50

         所以:H = -(  0.15 * log0.15 ) - ( 0.04 * log0.04 ) - ( 0.26 * log0.26 ) - ( 0.05 * log0.05 ) - ( 0.50 * log0.50 )

                    = 0.15 * 2.737 + 0.04 * 4.644 + 0.26 * 1.943 + 0.05 * 4.322 + 0.50 * 1

                    = 0.411 + 0.186 + 0.505 + 0.216 + 0.5

                    = 1.82 (bits)

    b.求这个信源的霍夫曼码;

       答:表格如下:

字母 概率 码字
a1 0.15 001
a2 0.04 0000
a3 0.26 01
a4 0.05 0001
a5 0.5 1

    

 

 

 

 

 

    c.求(b)中代码的平均长度及其冗余度。

       答:平均码长   l = 1 * 0.5 + 2 * 0.26 + 3 * 0.15 + 4 * 0.05 + 4 * 0.04

                          = 1.83(bits)

              冗余度   l - H = 1.83 - 1.818

                  = 0.012

二、思考:为什么压缩领域中的编码方法总和二叉树联系在一起呢?

    为了使用不固定的码长表示单个字符,编码必须符合“前缀编码”的要求,即较短的编码决不能是较长编码的前缀。要构造符合这一要求的二进制编码体系,二叉树是最理想的选择。

 

三、选做:试将“Shannon-Fano”编程实现。

140705010032 张少威 第3次作业

标签:

原文地址:http://www.cnblogs.com/zhangshaowei/p/5888087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!