zoukankan      html  css  js  c++  java
  • 第二作业——肖祥英

    P66

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

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

    给出以上每一试验得出的文件大小,并解释其差别。

    答:根据文件程序调试结果如下图所示:

    文件名

    压缩前

    压缩后

    压缩率

    Sena

    64

    57

    89%

    Sensin

    64

    61

    95%

    Omaha

    64

    58

    90%

    所以压缩率一般是越小越好,但是压得越小,解压时间就越长。

    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*(log2(0.15))-0.04*(log2(0.04))-0.26 *(log2(0.26))-0.05*(log2(0.05))-0.50*(log2(0.50))=1.83

    (b)根据上述的概率得:

    字母

    概率

    码字

    a1

    0.15

    000

    a2

    0.04

    0010

    a3

    0.26

    01

    a4

    0.05

    0011

    a5

    0.50

    1

       (c)L=0.15*3+0.04*4+0.26*2+0.05*4+0.5*1=1.83

            L-H=0

    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)一、为每个字符创建一个集合

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    a1

    0.1  

    a2    

    0.3    

    a2

    0.3    

    a3       

    0.25

    a3

    0.25

    a4       

    0.35

    a4

    0.35

    二、根据集合的概率对集合进行排序(升序)

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    a1

    0.1  

    a2    

    0.3    

    a3

    0.25 

    a3       

    0.25

    a2

    0.3

    a4       

    0.35

    a4

    0.35

    三、对最前面集合的字母的码字中插入前缀 ‘1’

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    1

    a1

    0.1  

    a2    

    0.3    

    a3

    0.25 

    a3       

    0.25

    a2

    0.3

    a4       

    0.35

    a4

    0.35

    四、对第二个集合中字母的码字中插入前缀‘0’

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    1

    a1

    0.1  

    a2    

    0.3    

    a3

    0.25 

    a3       

    0.25

    0

    a2

    0.3

    a4       

    0.35

    a4

    0.35

    五、合并最前面的两个集合

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    1

    a1a3

    0.35

    a2    

    0.3    

    a2

    0.3

    a3       

    0.25

    0

    a4

    0.35

    a4       

    0.35

    六、根据集合的概率对集合进行排序(升序)

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    1

    a2

    0.3

    a2    

    0.3    

    a1a3

    0.35

    a3       

    0.25

    0

    a4

    0.35

    a4       

    0.35

    七、对最前面集合的字母的码字中插入前缀 ‘1’

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    1

    a2

    0.3

    a2    

    0.3    

    1

    a1a3

    0.35

    a3       

    0.25

    0

    a4

    0.35

    a4       

    0.35

    八、对第二个集合中字母的码字中插入前缀‘0’

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    01

    a2

    0.3

    a2    

    0.3    

    1

    a1a3

    0.35

    a3       

    0.25

    00

    a4

    0.35

    a4       

    0.35

    九、合并最前面的两个集合

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    01

    a1a2 a3

    0.65

    a2    

    0.3    

    1

    a4

    0.35

    a3       

    0.25

    00

    a4       

    0.35

    十、根据集合的概率对集合进行排序(升序)

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    01

    a4

    0.35

    a2    

    0.3    

    1

    a1a2 a3

    0.65

    a3       

    0.25

    00

    a4       

    0.35

    十一、对最前面集合的字母的码字中插入前缀 ‘1’

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    01

    a4

    0.35

    a2    

    0.3    

    1

    a1a2 a3

    0.65

    a3       

    0.25

    00

    a4       

    0.35

    1

    十二、对第二个集合中字母的码字中插入前缀‘0’

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    001

    a4

    0.35

    a2    

    0.3    

    01

    a1a2 a3

    0.65

    a3       

    0.25

    000

    a4       

    0.35

    1

    十三、合并最前面的两个集合

    字母        

    概率        

    码字

    集合

    集合的概率

    a1       

    0.1  

    001

    a1a2a3a4

    a2    

    0.3    

    01

    a3       

    0.25

    000

    a4       

    0.35

    1

      则平均码长l=0.1*3+0.3*2+0.25*3+0.35*1=2;

    P66

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

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

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

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

    文件名

    一阶熵

    二阶熵

    差分熵

    BERK

    7.151537

     6.705169

    8.976150 

    EARTH

    4.770801

    2.568358 

    3.962697 

    GABE

    7.116338

     6.654578

     8.978236

    OMAHA

    6.942426

     4.488626

     6.286834

    SENA

    6.834299

    3.625204 

    3.856899 

    SENSIN

    7.317944

    4.301673 

    4.541547 

     

     

     

     

     

     

     

     

     

     

     

     

    答:(a)BERK、EARTH、GABE图像的一阶熵分别为 7.151537、4.770801、7.116338;

            OMAHA、SENA、SENSIN语音的一阶熵分别为6.942426、6.834299、7.317944。

        (b)EARTH图像的二阶熵为2.568358,一阶熵为4.770801。可以明显看出一阶熵比二阶熵大。

        (C)EARTH图像的一阶熵为4.770801,二阶熵为2.568358,差分熵为3.962697,我们可以看出差分熵在一阶熵和二阶熵之间。

     

  • 相关阅读:
    洛谷-P5729 【深基5.例7】工艺品制作
    洛谷-P5728 【深基5.例5】旗鼓相当的对手
    洛谷-P5727 【深基5.例3】冰雹猜想
    洛谷-P1720 月落乌啼算钱
    洛谷-P4956 [COCI2017-2018#6] Davor
    洛谷-P1075 质因数分解
    洛谷-P1420 最长连号
    洛谷-P1307 数字反转
    回调地址
    OAuth 2.0
  • 原文地址:https://www.cnblogs.com/tiant/p/4794107.html
Copyright © 2011-2022 走看看