第二次作业

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

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

给出以上每一次实验得出的文件大小,并解释其差别。

文件名   压缩前(kb) 压缩后(kb)   压缩比

SENA      64             57      89.1%

SINAN     64             61      95.3%

OMAHA    64             58      90.6% 

差别:字符冗余度不一样,压缩比不一样。

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=-0.15*log20.15-0.04*log20.04-0.26*log20.26-0.05*log20.05-log20.5

             =0.41+0.19+0.51+0.22+0.5

             =1.83 bits

     b)   a1:100   a2:0000  a3:10  a4:1000  a5:1

    c)   I=3*0.15+4*0.04+2*0.26+4*0.05+1*0.5

          =1.83 bits

         冗余度=I-H=0 bits

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):  a1:010   a2:11  a3:  101   a4:0

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

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

     b):码字:a1:00  a2:10  a3: 01  a4:11

         l=2(因为码长都一样)

        同理可得 S2=0

     很明显,第二种方法优于第一种。因为它的结构更简单。

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

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

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

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

  解   a):文件名               一阶熵            二阶熵          相邻像素之差的熵

            EARTH.IMG       4.770801        2.568358     3.962627

            BERK.RAW       7.151537

            GABE.RAW      7.116338

            OMAHA.IMG     6.942426

            SENA.IMG       6.834299

            SENSIN.IMG    7.317944

    由数值可知一阶熵比二阶熵和差分熵都大,可知考虑相邻像素之间的影响所计算出来的熵要小得多,而二阶熵比差分熵更小则说明差分熵计算的比二阶熵更全面。

         

原文地址:https://www.cnblogs.com/zhoujingang/p/4784759.html