第二次作业

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

2.利用程序huff_enc和huff_dnc进行以下操作

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

所给资料code截图:

由code可得到如下表:

文件名 源文件大小(KB) 压缩后大小(KB) 压缩比
Sena 64KB 57KB 89.06%
Sensin 64KB 61KB 95.31%
Omaha 64KB 58KB 90.62%

(b)编写一段程序,得到相邻像素之差,然后利用huffman对差值图像进行编码。

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

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

              =0.411+0.186+0.505+0.216+0.50

              =1.818 bit

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

                    a1:010

                    a2:0111

                    a3:00

                    a4:0110

                    a5:1

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

                     

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

                               =1.83 bit

                   冗余度l-H

                               =1.83-1.818

                               =0.012 bit

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

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

             (1)按照概率的大小顺序将信号源符号排列。

              (2)将出现概率最小的进行相加,并对其中的一个赋“1”,另一个赋“0”(可自定义),相加得到的结果再次按照这种方式与其它的比较进行相加,最后得到概率相加为1结束。

                 

       (b)最小方差过程。

            P(a4)=0.35

            P(a2)=0.3

            P(a3)=0.25

            P(a1)=0.1

            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.568bits/symbol

            平均码长:

             L=0.1*3+0.3*3+0.25*2+0.35*1

               =1.85bits/symbol

              冗余:

              L-H=1.282bits/symbol

                  最小方差:

                  S2=0.1(3-1.282)2+0.3(3-1.282)2+0.25(2-1.282)2+0.35(1-1.282)2

                      =1.337

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

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

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

     EARTH的一阶熵:

    OMAHA的一阶熵:

 

  BERK的一阶熵:

 

SENA.IMG的一阶熵

SENSIN.IMG的一阶熵

GABE.RAW的一阶熵

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

  GABE.RAW的一阶熵的为

GABE.RAW的二阶熵:

对比GABE文件的一阶熵和二阶熵得出,二阶熵比一阶熵要小。

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

   GABE.RAW差熵

对比(b)中文件 GABE.RAW的一阶熵和二阶熵,可以发现差熵比一阶熵与二阶熵都要大。

原文地址:https://www.cnblogs.com/luodandan/p/4784764.html