首页 > 代码库 > 第三次作业

第三次作业

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

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

  解:对Sena、Sensin、Omaha图像进行编码的表如下:

             图像文件名               压缩前             压缩后          压缩比

              Sena                     64KB              56.1KB        1.14

              Sensin                   64KB              60.2KB        1.06

              Omaha                  64KB               57.0KB       1.12

 

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(A)=-0.15log20.15 -0.04log20.04 -0.26log20.26 -0.05log20.05 -0.50log20.50

                        =0.411+0.186+0.505+0.216+0.50

                        =1.818 (bit/字符)

(b)将概率由大到小排列为:a5,a3,a1,a4,a2

              a1:001

               a2:0000

               a3:01

               a4:0001

               a5:1

 (c)   平均长度:  l=0.15*3+0.04*4+0.26*2+0.05*4+0.50*1=1.83  (bits)

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

 

3.为什么压缩领域中的编码方法总和二叉树联系在一起呢?

答:因为在数据压缩领域中进行编码时,为了能够使用不固定长度的码表示单个字母,即使用最优前缀编码,

编码必须满足前缀编码的要求,前缀编码的要求是较短的编码不能使较长编码的前缀,要构造满足此要求的

编码,二叉树是最好的选择。所以压缩领域中的编码方法总和二叉树联系在一起。

第三次作业