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

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

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

    图像 压缩前 压缩后
    Sena 64KB 56.1KB
    Sinan 64KB 60.2KB
    Omaha 64KB 57.0KB



     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)计算这个信源的熵。

          解:H=-P(a1)*log2* P(a1)- P(a2)*log2* P(a2)-P(a3)*log2* P(a3)-P(a4)*log2* P(a4)-P(a5)*log2* P(a5

                 =-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

                 =0.55 bits

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

          解:A={a1, a2, a3, a4, a5}

                   ={110,1111,10,1110,0}

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

          解:

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

                   =1.83  bits/symbol

     冗余度: L-H=1.282bits/symbol

     5  一个符号集A={a1, a2, a3, a4,},其概率为P(a1)=0.1,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35,使用以下过程找出一种霍夫曼码: 解释这两种霍夫曼码的区别。

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

    解:(l)将信号源的符号按照出现概率递减的顺序排列。

         (2)将两个最小出现概率进行合并相加,得到的结果作为新符号的出现概率。 

         (3)重复进行步骤1和2直到概率相加的结果等于1为止。

         (4)在合并运算时,概率大的符号用编码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

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

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

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

    解:如图所示

    图像名 一阶熵的值
    OMAHA.IMG 6.942426
    EARTH.IMG 4.770801
    SENA.IMG 6.834299
    SENSIN.IMG 7.317944
    BERK.RAW 7.151537
    GABE.RAW 7.116338

           

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

          解:对于图像文件 SENSIN.IMG的一阶熵的值为 7.317944

                                  SENSIN.IMG的二阶熵的值为 2.568358  

                        由此我们可以比较得出图像的一阶熵的值比二阶熵的值要大。图像文件经过二阶压缩要比一阶压缩要好,这样可以增大压缩度,减少存储空间。  

           

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

         解:图像文件 SENSIN.IMG,一阶熵的值:  7.317944; 二阶熵的值:2.568358 ; 差分熵的值:4.749586

         我们可以看出差分熵的值介于一阶熵和二阶熵之间,差分熵是更好的压缩算法。

         

         

       

  • 相关阅读:
    Android开发 ViewConfiguration View的配置信息类
    Android 开发 倒计时功能 转载
    Android 开发 关于7.0 FileUriExposedException异常 详解
    Android 开发 实现文本搜索功能
    Android 开发 Activity里获取View的宽度和高度 转载
    Android 开发 存储目录的详解
    Android 开发 Fresco框架点击小图显示全屏大图实现 ZoomableDraweeView
    Android 开发 将window变暗
    Android 开发 DisplayMetrics获取Android设备的屏幕高宽与其他信息
    Android 开发 DP、PX、SP转换详解
  • 原文地址:https://www.cnblogs.com/why17303-/p/4784758.html
Copyright © 2011-2022 走看看