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

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

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

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

          答:

    文件名 压缩前大小 压缩后大小 压缩比
    SINAN 64K 61K 95.31%
    SENA 64K 57K 89.06%
    OMAHA 64K 58K 90.63%

    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.15log20.15-0.04log20.04-0.26log20.26-0.05log20.05-0.50log20.50

                   =0.15*2.737+0.04*4.644+0.26*1.943+0.05*4.322+0.50*1

                   =0.411+0.186+0.505+0.216+0.5

                   =1.818(bits)

            

    (b)  

     

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

                          =1.02+0.65+0.16

                          =1.83(bits)

            冗余度=l-H=1.83-1.818=0.012(0.66%)

    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)

    (b)

     码字:a1:11,   a2:01,  a3:10, a4:00。

    第一种过程的平均码长:

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

    =0.35+0.6+0.75+0.3

    =2(bits)

    码长方差:S12=0.35(1-2)2+0.3(2-2)2+0.25(3-2)2+0.1(3-2)2

                       =0.35+0.35

                       =0.7

    最小方差霍夫曼编码平均码长为:

    l2=2*0.1+2*0.25+2*0.3+2*0.35

    =0.2+0.5+0.6+0.7

    =2(bits)

    码长方差为:S22=(0.1+0.25+0.3+0.35)(2-2)2

                          =0

    因为S1>S2,所以最小方差霍夫曼编码比第一种编码更好。

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

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

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

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

           答:

    文件名 一阶熵 二阶熵 差分熵
    SENA.IMG 6.834299  3.625204   3.856899 
    SENSIN.IMG 7.317944  4.301673   4.541547
    OMAHA.IMG 6.942426  4.488626  6.286834
    EARTH.IMG 4.770801  2.568358   3.962697 
    GABE.RAW 7.116338  6.654578  8.978236
    BERK.RAW 7.151537  6.705169  8.976150 
     test.txt  4.315677  3.122731  6.099982
  • 相关阅读:
    Demystifying ASP.NET MVC 5 Error Pages and Error Logging
    分享一个异步任务在遇到IO异常时支持递归回调的辅助方法
    ENode 2.0
    CQRSES架构介绍
    工欲善其事,必先利其器
    写了一个简单的NodeJS实现的进程间通信的例子
    谈一下关于CQRS架构如何实现高性能
    h5可伸缩布局方案
    Android总结之WebView与Javascript交互[转]
    Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法[转]
  • 原文地址:https://www.cnblogs.com/suyun/p/4784700.html
Copyright © 2011-2022 走看看