• 第二次作业


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

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

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

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

    答: 

    文件名 压缩前文件大小 压缩后文件大小 压缩比
    Sena 64KB 56.1KB 87.66%
    Sinan 64KB 60.2KB 94.06%
    Omaha 64KB 57KB 89.06%

    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) =1*0.15*(-log20.15)+1*0.04*(-log20.04)+1*0.26*(-log20.26)+1*0.05*(-log20.05)+1*0.50*(-log20.05)

                 =0.547

           (b)  将概率按从大到小的顺序排列为:

                P(a5)=0.50

                P(a3)=0.26

                P(a1)=0.15

                P(a4)=0.05

                P(a2)=0.04

               对其进行划分:

               所以这个信源的霍夫曼码为:

                                            a5     0

                                            a3     10

                                            a1     110

                                            a4     1110

                                            a2     1111

          (c)平均长度: l=1*0.5+2*0.26+3*0.15+4*0.05+4*0.04

                               =1.83 (bit/pel)  

               冗余度:r=Hmax(x)-H(x)=logm-H(x)

                            =logm-H(x)

                            =1.83-0.547

                            =1.283(bit/pel)  

    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、将信号源的符号按照概率的大小按从大到小的顺序排列。

                 2、然后将出现概率最小的进行合并相加,并对其中的一个赋“1”,另一个赋“0”,相加得到的结果在与其它的比较。

                 3、重复“2”的过程直到最后两个符号的概率相加得1位置

          (b)  将概率按从大到小的顺序排列为:

                P(a4)=0.35

                P(a2)=0.3

                P(a3)=0.25

                P(a1)=0.1

                 对其进行划分:

     

            所以这个信源的霍夫曼编码为:

                                            a4     0

                                            a2     10

                                            a3     110

                                            a1     111

           (b)最小方差:

            因为

               熵: H=-(0.1* log2*0.1+0.3* log2*0.3+0.25* log2*0.25+0.35* log2*0.35)

                       =0.568bits/symbol

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

                        =1.85(bit/pel)  

           冗余度:r=Hmax(x)-H(x)=logm-H(x)

                            =logm-H(x)

                            =1.85-0.568

                            =1.282(bit/pel)

     最小方差过程:

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

                            =1.337

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

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

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

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

            答:(a)程序代码是老师提供的,由程序计算出文件中的一些图像和语音文件的一阶熵分别为:

    文件名

    一阶熵
     EARTH.IMG 4.770801bit/字符;
     GABE.RAM 7.116338bit/字符;
    BERK.RAW 7.151537bit/字符;
    OMAHA.IMG 6.942426bit/字符;
     SENA.IMG 6.834299bit/字符; 
    SENSIN.IMG 7.317944bit/字符;

     

      

     

    (b)选择图像文件OMAHA.IMG。其一阶熵为: 6.942426  

     

    其二阶熵为:4.488626 

        

     从上面我们可以清楚的看到,该图片的一阶熵和二阶熵比较,二阶熵要小,因

    此文件经过二阶压缩处理要比一阶压缩处理要好,减少存储空间。

    (c)图像文件OMAHA.IMG的差分熵为:6.286834

    由(b)中可知差分熵位于一阶熵和二阶熵之间,但与一阶熵比较接近,因此我们如果要选择压缩方

    法的话我觉得因该选择二阶熵            

  • 相关阅读:
    js预编译
    JS防抖和节流模式的实际应用
    常见的几种数组去重的方法,总有一种适合你~
    调用微信扫一扫功能,踩坑'invalid signature'
    如何快速的vue init 属于自己的vue模板?
    如何做到在webpack打包vue项目后,在外部动态修改配置文件
    vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序克隆clone
    js解析URL参数
    vue复选框 模拟checkbox多选全选,vue页面加载屏蔽花括号
    js毫秒转换天时分秒/动态倒计时
  • 原文地址:https://www.cnblogs.com/lanxuetianya/p/4784737.html
Copyright © 2020-2023  润新知