《数据压缩》第三次作业

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

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

          (a)对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.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:001

                    a2:0000

                    a3:01

                    a4:0001

                    a5:1

            (c). (b)中代码的平均长度为:

                     L=0.15*3+0.04*4+0.26*2+0.05*4+0.50*1=1.83 

                    冗余度为:L-H(A)=1.83-1.818=0.012。

                    

 

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

         答:因为为了使用不固定的码长表示单个字符,编码必须符合“前缀编码”的要求,即较短的编码决不能是较长编码的前缀。

         要构造符合这一要求的二进制编码体系,二叉树是最理想的选择。

posted on 2016-09-27 22:04  彭云  阅读(176)  评论(0)    收藏  举报