第二次作业

---恢复内容开始---

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

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

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

      答:

图像名 压缩前 压缩后 压缩率
sena.img 64kb 56.1kb 87.65625%
sinan.img 64kb 60.2kb 94.0625%
mana.img 64.kb 57.0kb 89.0625%

sena压缩率:87.65625%

sinan压缩率:94.0625%

mana压缩率:89.0625%

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.15*log20.15+0.04*log20.04+0.26*log20.26+0.045*log20.05+0.50*log20.50)=0.548bit/symbol

(b)这个信源的霍夫曼码是A{a1,a2,a3,a4,a5}={110,1111,10,1110,0}

(c)平均码长:l=0.15*3+0.04*4+0.26*2+0.05*4+0.50*1=1.83bit/symbol

5.一个符号集A{a1,a2,a3,a4},其概率为p(a1)=0.1,p(a2)=0.3,p(a3)=0.25,p(a4)=0.35,使用以下过程找出霍夫曼码:

(a)本章概述的第一过程;

!     以空码开始;

!!    计算所有符号的频率/概率;

!!!   对所有符号按其概率排序;将符号集合划为两个概率差异最小集合;

!!!!  在第一个集合的码字前加‘0’,在第二个集合的码字前加‘1’;

!!!!!  对划分得到的两个子集递归编码,直到每个集合不能再被划分。

(b)最小方差过程。

答:这个信源的霍夫曼码是A{a1,a2,a3,a4}={001,001,00,1}

平均码长是:l=0.1*3+0.3*2+0.25*3+0.35*1=1.85

H=-(0.1*log20.1+0.3*log20.3+0.25*log20.25+0.35*log20.35)=0.568bit/symbol

冗余:l-H=2-0.568=1.282bit/symbol

方差:S2=0.1*(3-1.1.282)2+0.3*(3-1.282)2+0.25*(2-1.282)2+0.35*(1-1.282)2=1.337

原文地址:https://www.cnblogs.com/wym444/p/4784857.html