• 第二次作业


    一、 参考书《数据压缩导论(第4版)》Page 66   2,4,5

    3.10 项目与习题:

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

      (a)Sena、Sinan和Omaha图像时行编码。给出以上每一试验得出的文件大小,并解释其差别。

     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)为:

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

                   = 2.368 bit/符号

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

        (b):

          解: 首先按概率的降序排列{a5,a3,a1,a4,a2}

               把最低的两个归为新的信源符号 概率相加

               从根节点不断往下依次分配0,1
              
     顺序如下:a2 a4最先归为新信源符号a1.  p=0.09
              a1.   a1再归为新信源符号a2.    p=0.24
              a2.  a3归为新的信源符号a3.     p=0.5
              只剩a3.   a5 结束
             分配如下:给a5 编码0      a3.编码1
                              a3 0            a2. 1
                              a1 0            a1. 1
                              a4 0            a2 1
            故信源的霍夫曼编码如下:a5 0; a3 10;a1 110;a4 1110;a2 1111;其图如下:

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

          解:平均码长L=1*0.5+2*0.26+3*0.15+4*0.05+4*0.04=1.83

               冗余度:H-L=2.368-1.83=0.538

      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,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35,

    选出最小的概率的两个分别赋值0  、1并把概率相加,再把概率和与剩下的几个进行相比,再选择最小两个赋值0、1并相加,

    以次循环这样的过程直到完成,其最终结果如下 

    (b)最小方差过程

    解:P(a1)=0.1,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35

           A={a1, a2, a3, a4,}={001,001,00,1}

                H=-0.1* log2*0.1-0.3* log2*0.3-0.25* log2*0.25-0.35* log2*0.35

                  =0.57bits

    平均码长:L=0.1*3+0.3*3+0.25*2+0.35*1

                    =1.85bits

    冗余度: L-H=1.28bits

     最小方差过程: S2=0.1(3-1.282)2+0.3(3-1.282)2+0.25(2-1.282)2+0.35(1-1.282)

                             =1.337

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

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

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

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

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

    解:

     (a)编写一段程序,计算其中一些图像和语音文件的一阶熵结果分别如下:

      图像的一阶熵:

            语音文件的一阶熵:

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

           一阶熵:

           二阶熵: 

    发现:图像文件的二阶熵值比一阶熵值小得多。

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

    联系(b)中图像文件,在计算各阶熵结果如下:

  • 相关阅读:
    PHP之简单实现MVC框架
    socket泄露的问题
    gdb 调试多线程
    MMAP和DIRECT IO区别
    三年回首:C基础
    定时器管理:nginx的红黑树和libevent的堆
    strsep和strtok_r替代strtok
    缓存穿透和缓存失效
    mmap为什么比read/write快(兼论buffercache和pagecache)
    B+Tree和MySQL索引分析
  • 原文地址:https://www.cnblogs.com/mlx-886/p/4784765.html
Copyright © 2020-2023  润新知