zoukankan      html  css  js  c++  java
  • 第二次作业

     

     
     

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

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

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

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

    (c) 使用adap_huff重复(a)和(b)。

         

    文件名 压缩前 压缩后 压缩比
    SENA.IMG 64.0 KB (65,536 字节) 56.1 KB (57,503 字节) 88%
    SINAN.IMG 64.0 KB (65,536 字节) 60.2 KB (61,649 字节) 94%
    OMAHA.IMG 64.0 KB (65,536 字节) 57.0 KB (58,374 字节) 89%

    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= -  P(a1)log2P(a1) - P(a2)log2P(a2) - P(a3)log2P(a3) - P(a4)log2P(a4) - P(a5)log2P(a5) 

                                      = - 0.15 * log2 (0.15) - 0.04 * log2 (0.04) - 0.26 * log2 (0.26) - 0.05 * log(0.05) - 0.5 * log2 (0.5)

                                      =0.411+0.1856+0.5044+0.216+0.5

                                       =1.817(bits)

               (b)这个信源的霍夫曼编码为:

                                                    

    字母 码字
    a1  110
    a2 1111 
    a3 10
    a4  1110
    a5  0

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

                                                 l=0.15*3+0.04*4+0.26*2+0.05*4+0.5*1

                                                  =1.83(bits)

                     (b)中代码的冗余度为:

                                              l-H=0.013(bits)

    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)这个信源的一种霍夫曼码为:(1)

                                                                

    字母 码字
    a1 010
    a2 00
    a3  011
    a4 1
                   这个信源的另一种霍夫曼码为:(2)
    字母 码字
    a1 00
    a2 10
    a3 01
    a4 11
                      第(1)种的平均码长为:l1=0.1*3+0.3*2+0.25*3+0.35*1=2(bits)
                      第(2)种的平均码长为:l2=0.1*2+0.3*2+0.25*2+0.35*2=2(bits)
     

           (b)  第(1)种的最小方差为:S1=0.1*(3-2)2+0.3*(2-2)2+0.25*(3-2)2+0.35*(1-2)2=0.7

                      第(2)种的最小方差为:S2=0.1*(2-2)2+0.3*(2-2)2+0.25*(2-2)2+0.35*(2-2)2=0

                      所以综上所述,虽然两种霍夫曼码的平均码长都相同,但是第(2)种霍夫曼码才是最小方差树。

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

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

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

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

          (a)根据已知代码得到本书配套的数据集中几个图像和语音文件的一阶熵为:

    文件名 一阶熵
    BERK.RAW 7.151537
    EARTH.IMG 4.770801
    GABE.RAW 7.116338
    OMAHA.IMG 6.942426
    SENA.IMG 6.834299
    SENSIN.IMG 7.317944

                 (b)本书配套的数据集中几个图像和语音文件的二阶熵为:

                                      

    文件名 二阶熵
    BERK.RAW 6.705169
    EARTH.IMG 2.568358
    GABE.RAW 6.654578
    OMAHA.IMG 4.488626
    SENA.IMG 3.625204
    SENSIN.IMG 4.301673
                     据(a)(b)可看出一阶熵比二阶熵大很多。

    (c)对于(b)中所用的图像文件,其相邻像素之差的熵为:

    文件名 差熵
    BERK.RAW 8.976150
    EARTH.IMG 3.962697
    GABE.RAW 8.978236
    OMAHA.IMG 6.286834
    SENA.IMG 3.856989
    SENSIN.IMG 4.541547
          据(a)(b)(c)可以看出(.IMG)格式的差熵位于一阶熵与二阶熵之间,而(.RAW)格式的差熵比其一阶熵与二阶熵都大。
    没有量的积累,哪来质的飞跃。
  • 相关阅读:
    汇编语言(王爽 第三版)实验十四
    汇编语言(王爽 第三版)实验十三
    汇编语言(王爽 第三版)实验十二
    汇编语言(王爽 第三版)实验十一
    汇编语言(王爽 第三版)实验十
    汇编语言(王爽 第三版)实验九
    汇编语言(王爽 第三版)实验七
    android SQLite数据库的基本操作
    Android异步处理系列文章四篇之四 AsyncTask的实现原理
    Android异步处理系列文章四篇之三
  • 原文地址:https://www.cnblogs.com/zjlh/p/4785035.html
Copyright © 2011-2022 走看看