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

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

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

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

    文件名   压缩前(kb) 压缩后(kb)   压缩比

    SENA      64             57      89.1%

    SINAN     64             61      95.3%

    OMAHA    64             58      90.6% 

    差别:字符冗余度不一样,压缩比不一样。

    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.05*log20.05-log20.5

                 =0.41+0.19+0.51+0.22+0.5

                 =1.83 bits

         b)   a1:100   a2:0000  a3:10  a4:1000  a5:1

        c)   I=3*0.15+4*0.04+2*0.26+4*0.05+1*0.5

              =1.83 bits

             冗余度=I-H=0 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):  a1:010   a2:11  a3:  101   a4:0

               L=3*0.1+0.3*2+0.25*3+1*0.35=2

                S2=0.1*(3-2)2+0.3*(2-2)2+0.25*(3-2)2+0.35*(1-2)2=0.7

         b):码字:a1:00  a2:10  a3: 01  a4:11

             l=2(因为码长都一样)

            同理可得 S2=0

         很明显,第二种方法优于第一种。因为它的结构更简单。

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

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

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

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

      解   a):文件名               一阶熵            二阶熵          相邻像素之差的熵

                EARTH.IMG       4.770801        2.568358     3.962627

                BERK.RAW       7.151537

                GABE.RAW      7.116338

                OMAHA.IMG     6.942426

                SENA.IMG       6.834299

                SENSIN.IMG    7.317944

        由数值可知一阶熵比二阶熵和差分熵都大,可知考虑相邻像素之间的影响所计算出来的熵要小得多,而二阶熵比差分熵更小则说明差分熵计算的比二阶熵更全面。

             

  • 相关阅读:
    AnyChart图表控件使用指南(四)
    AnyChart图表控件使用指南(五)
    路由器相关
    PHP 实现导出CSV格式文件
    Node.js与Golang使用感受与小结【一】
    Node.js与Golang使用感受与小结【三】JS异步流程控制(序列模式、并发模式、有限并发模式)
    Node.js与Golang使用感受与小结【二】
    js BOM操作
    新建 indexedDB 数据库并插入数据
    vue2项目中引用外部js文件
  • 原文地址:https://www.cnblogs.com/zhoujingang/p/4784759.html
Copyright © 2011-2022 走看看