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

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

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

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

    答案:

    压缩前图像名称 压缩后名称 压缩前大小 压缩后大小 压缩比 
    SENA.IMG sena.huff 64.0KB(65,536字节) 56.1KB(57,503字节)  87.6%
    SENSIN.IMG sensin.huff 64.0KB(65,536字节) 60.2KB(61,649字节)  94.1%
    OMAHA.IMG omaha.huff 64.0KB(65,536字节) 57.0KB(58,374字节)  89.1%

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

             =2.368bit

    (b)霍夫曼编码:a1的霍夫曼编码为001

                       a2的霍夫曼编码为0000

                       a3的霍夫曼编码为01

                       a4的霍夫曼编码为0001

                       a5的霍夫曼编码为1

    (c)平均码长为L

        L=P(a1)*l(a1)+P(a2)*l(a2)+P(a3)*l(a3)+P(a4)*l(a4)+P(a5)*l(a5)

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

        =1.83比特/符号

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

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

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

        答:(1)将每个符号出现的概率大小按照从小到大的顺序从上到下排列。

            (2)将最小的两个符号的概率相加,并继续这一步骤,始终将较高的概率分支放在下部,得到新的概率。

            (3)再将得到的这个新的概率放到剩下的符号的概率中进行比较重复步骤1、2,直到最后相加的概率为1。

            (4)再进行步骤1、2的时候,在每对组合中的指定为0,下部指定为1。

            (5)画出每个信源符号概率到1处的路径,记下沿路径的1和0。

            (6)对于每个信源符号都写出1、0序列,则从右到左就得到霍夫曼编码。

             所以此符号集的霍夫曼编码是:a1的霍夫曼编码为110,

                                                   a2的霍夫曼编码为10,

                                                   a3的霍夫曼编码为111,

                                                   a4的霍夫曼编码为0,

                   平均码长L=2比特/符号。

    (b)最小方差过程。

     答:此符号集的熵H=-P(a1)log2(P(a1))-P(a2)log2(P(a2))-P(a3)log2(P(a3))-P(a4)log2(P(a4))

                              = -0.1*log2(0.1) -0.3*log2(0.3) -0.25*log2(0.25) -0.35*log2(0.35)

                              =0.57比特/符号

           a1的霍夫曼编码为110,

           a2的霍夫曼编码为10,

           a3的霍夫曼编码为111,

           a4的霍夫曼编码为0,

        平均码长L=3*0.1+2*0.3+3*0.25+1*0.35=2比特/符号

       冗余度为:H-L=2-0.57=1.43

      方差S2=0.1*(3-1.43)2+0.3*(2-1.43)2+0.25*(3-1.43)2+0.35*(1-1.43)2

               =1.0249

      解释这两种霍夫曼码的区别。

    数据导论压缩第30页第六题:

    一阶熵:

     二阶熵为:

    差分熵为:

     

    图像名称 一阶熵 二阶熵 差分熵
    BERK.IMG  7.151537    6.705169  8.976150 
    EARTH.IMG  4.770801  2.568358  3.962697
    GABE.IMG  7.116338  6.654578  8.978236
    OMAHA.IMG   6.942426  4.488626   6.286834
    SENA.IMG   6.834299  3.625204  3.856899
    SENSIN.IMG   7.317944   4.301673  4.541547
    test.txt  4.315677  3.122731  6.099982
  • 相关阅读:
    【LOJ】#3034. 「JOISC 2019 Day2」两道料理
    vue学习笔记(七)组件
    vue学习笔记(五)条件渲染和列表渲染
    vue学习笔记(一)入门
    JavaScript学习总结之函数
    JavaScript学习总结之对象的深拷贝和浅拷贝
    javascript学习总结之Object.assign()方法详解
    ES6学习总结之变量的解构赋值
    ES6学习总结之let和const命令
    javascript学习总结之Object.keys()方法详解
  • 原文地址:https://www.cnblogs.com/zouhongjiao/p/4784836.html
Copyright © 2011-2022 走看看