首页 > 代码库 > 140705010032 张少威 第3次作业

140705010032 张少威 第3次作业

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

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

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

     答:表格如下: 

文件名源文件压缩后文件压缩比
SENA64.0KB56.1KB87.66%
SINAN64.0KB60.2KB94.06%
OMAHA64.0KB57.0KB89.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.求这个信源的霍夫曼码;

       答:表格如下:

字母概率码字
a10.15001
a20.040000
a30.2601
a40.050001
a50.51

    

 

 

 

 

 

    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次作业