第二次作业

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

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

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

      答:

文件名 压缩前大小 压缩后大小 压缩比
SINAN 64K 61K 95.31%
SENA 64K 57K 89.06%
OMAHA 64K 58K 90.63%

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.15log20.15-0.04log20.04-0.26log20.26-0.05log20.05-0.50log20.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.818(bits)

        

(b)  

 

(c)平均码长   l=1*0.5+2*0.26+3*0.15+4*0.05+4*0.04

                      =1.02+0.65+0.16

                      =1.83(bits)

        冗余度=l-H=1.83-1.818=0.012(0.66%)

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)

(b)

 码字:a1:11,   a2:01,  a3:10, a4:00。

第一种过程的平均码长:

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

=0.35+0.6+0.75+0.3

=2(bits)

码长方差:S12=0.35(1-2)2+0.3(2-2)2+0.25(3-2)2+0.1(3-2)2

                   =0.35+0.35

                   =0.7

最小方差霍夫曼编码平均码长为:

l2=2*0.1+2*0.25+2*0.3+2*0.35

=0.2+0.5+0.6+0.7

=2(bits)

码长方差为:S22=(0.1+0.25+0.3+0.35)(2-2)2

                      =0

因为S1>S2,所以最小方差霍夫曼编码比第一种编码更好。

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

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

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

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

       答:

文件名 一阶熵 二阶熵 差分熵
SENA.IMG 6.834299  3.625204   3.856899 
SENSIN.IMG 7.317944  4.301673   4.541547
OMAHA.IMG 6.942426  4.488626  6.286834
EARTH.IMG 4.770801  2.568358   3.962697 
GABE.RAW 7.116338  6.654578  8.978236
BERK.RAW 7.151537  6.705169  8.976150 
 test.txt  4.315677  3.122731  6.099982
原文地址:https://www.cnblogs.com/suyun/p/4784700.html