第三次作业

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

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

 答:

图片名称 压缩前 压缩后 压缩比
sena 64.0KB 56.1KB 87.6%
sensin 64.0KB 60.2KB 94.1%
Omaha 64.0KB 57.0KB  89.1%

 

 

 

 

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)P(a1)=0.15,P(a2)=0.04,P(a3)=0.26,P(a4)=0.05,P(a5)=0.50

            H(x)=-Σp(ai)logp(ai)

              H(x)=-p(a1)log2p(a1)-p(a2)log2p(a2)-p(a3)log2p(a3)-p(a4)log2p(a4)-p(a5)log2p(a5)

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

               =1.82bit

       (b)      a1的霍夫曼编码为001

                a2的霍夫曼编码为0000

                a3的霍夫曼编码为01

                a4的霍夫曼编码为0001

                a5的霍夫曼编码为1

                霍夫曼码:

字母 概率 码字 码长
a1 0.15 110 3
a2 0.04 1111 4
a3 0.26 10 2
a4 0.05 1110 4
a5 0.5 0 1

           

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

                           =1.83(bit/pel)

 

       冗余度:L-H=1.83-1.82=0.01

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

答:为了使用不固定的码长表示单个字符,编码必须符合“前缀编码”的要求,即较短的编码决不能是较长编码的前缀。要构造符合这一要求的二进制编码体系!

posted @ 2016-09-28 08:29  年轻即为界  阅读(113)  评论(0)    收藏  举报