第二次作业

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

3.10 项目与习题:

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

  (a)Sena、Sinan和Omaha图像时行编码。给出以上每一试验得出的文件大小,并解释其差别。

 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)计算这个信源的熵。

       (b)求这个信源的霍夫曼码。

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

      (a):

      解:由题意知:信源的熵(H)为:

             H=0.15*log20.15+0.04*log20.04+0.26*log20.26+0.05*log20.05+0.50*log20.50

               = 2.368 bit/符号

       (b)求这个信源的霍夫曼码:

    (b):

      解: 首先按概率的降序排列{a5,a3,a1,a4,a2}

           把最低的两个归为新的信源符号 概率相加

           从根节点不断往下依次分配0,1
          
 顺序如下:a2 a4最先归为新信源符号a1.  p=0.09
          a1.   a1再归为新信源符号a2.    p=0.24
          a2.  a3归为新的信源符号a3.     p=0.5
          只剩a3.   a5 结束
         分配如下:给a5 编码0      a3.编码1
                          a3 0            a2. 1
                          a1 0            a1. 1
                          a4 0            a2 1
        故信源的霍夫曼编码如下:a5 0; a3 10;a1 110;a4 1110;a2 1111;其图如下:

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

      解:平均码长L=1*0.5+2*0.26+3*0.15+4*0.05+4*0.04=1.83

           冗余度:H-L=2.368-1.83=0.538

  5  一个符号集A={a1, a2, a3, a4,},其概率为P(a1)=0.1,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35,使用以下过程找出一种霍夫曼码: 解释这两种霍夫曼码的区别。

       (a)本章概述的第一种过程  (b)最小方差过程。

        (a)本章概述的第一种过程 :

       解:首先把各字符出现的概率从小到大排列:P(a1)=0.1,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35,

选出最小的概率的两个分别赋值0  、1并把概率相加,再把概率和与剩下的几个进行相比,再选择最小两个赋值0、1并相加,

以次循环这样的过程直到完成,其最终结果如下 

(b)最小方差过程

解:P(a1)=0.1,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35

       A={a1, a2, a3, a4,}={001,001,00,1}

            H=-0.1* log2*0.1-0.3* log2*0.3-0.25* log2*0.25-0.35* log2*0.35

              =0.57bits

平均码长:L=0.1*3+0.3*3+0.25*2+0.35*1

                =1.85bits

冗余度: L-H=1.28bits

 最小方差过程: S2=0.1(3-1.282)2+0.3(3-1.282)2+0.25(2-1.282)2+0.35(1-1.282)

                         =1.337

二、 参考书《数据压缩导论(第4版)》Page 30   6

6.在本书配套的数据集中有几个图像和语音文件。

(a)编写一段程序,计算其中一些图像和语音文件的一阶熵。

(b)选择一个图像文件,并计算其二阶熵。试解释一阶熵与二阶熵的区别。

(c)对于(b)中所用的图像文件,计算其相邻像素之差的熵,试解释你的发现。

解:

 (a)编写一段程序,计算其中一些图像和语音文件的一阶熵结果分别如下:

  图像的一阶熵:

        语音文件的一阶熵:

      (b)选择一个图像文件,并计算其二阶熵,试解释一阶熵与二阶熵的区别:

       一阶熵:

       二阶熵: 

发现:图像文件的二阶熵值比一阶熵值小得多。

(c)对于(b)中所用的图像文件,计算其相邻像素之差的熵,试解释你的发现:

联系(b)中图像文件,在计算各阶熵结果如下:

原文地址:https://www.cnblogs.com/mlx-886/p/4784765.html