第二次作业

本文通过实例讲解了霍夫曼编码的应用,包括图像压缩比率计算、霍夫曼码生成及平均长度与冗余度计算等。同时对比了不同霍夫曼编码方法的区别,并分析了图像文件的一阶熵、二阶熵与差熵。

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

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

图像压缩前 压缩后压缩比
SENA64kb 57kb0.89
OMAHA64kb 58kb0.90
SINAN64kb 61kb0.95

 

 

 

 

(b) 编写一段程序,得到相邻之差,然后利用huffman对差值图像进行编码。

 

 

一个信源从符号集A={a1, a2, a3, a4, a5}中选择字母,概率为P(a1)=0.15=3/20,P(a2)=0.04=1/25,P(a3)=0.26=13/50,P(a4)=0.05=1/20,P(a5)=0.50=1/2。

(a)计算这个信源的熵。

(b)求这个信源的霍夫曼码。

(c)求(b)中代码的平均长度及其冗余度。

        (a)

H(a)=-∑P(x)logP(x) 

        =0.15*log220/3 + 0.04*log225+ 0.26*log250/13+0.05*log220 +0.5*log22

 

   (b)

先将其排序(升序)

a5   0.50

a3   0.26

a1   0.15

a4    0.05

a2    0.04

 

 

 

(c)

平均长度=0.15*3+0.04*4+0.26*2+0.05*4+0.5*1=1.83bits

冗余度=平均长度-H(a)=1.83-1.8=0.03bits

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)

P霍夫曼码
a1( 0.1) 110
a2( 0.3)   10
a3( 0.25) 111
a4( 0.35)     0

 

 

 

 

 

(b) 

P霍夫曼码
a1( 0.1)  00
a2( 0.3)  10
a3( 0.25)  01
a4( 0.35)  11

  

 

 

 

 

 

参考书《数据压缩导论(第4版)》Page 30

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

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

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

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

图像一阶熵二阶熵差熵
EARTH 4.770801 2.5683583.962697
OMAHA 6.942426 4.4886266.286834
SENA 6.834299 3.6252043.856989
SENSIN 7.317944 4.3016734.541547
BERK 7.151537 6.7051698.976150
GABE 7.116338 6.6545788.978236

 

 

 

 

 

 

 

 

 (1)以上三个文件都是图片类型的文件,也就是说它们的文件类型相同,并且它们的文件大小也相同,但是从表格中可以看出,文件类型、文件大小相同的文件,它们的一阶熵、二阶熵、差分熵并不一定相同。

(2)一阶熵与二阶熵相差近似为3 ,差熵与一阶熵相差不大。

转载于:https://www.cnblogs.com/nieguilin/p/4800480.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值