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

    ---恢复内容开始---

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

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

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

          答:

    图像名 压缩前 压缩后 压缩率
    sena.img 64kb 56.1kb 87.65625%
    sinan.img 64kb 60.2kb 94.0625%
    mana.img 64.kb 57.0kb 89.0625%

    sena压缩率:87.65625%

    sinan压缩率:94.0625%

    mana压缩率:89.0625%

    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.045*log20.05+0.50*log20.50)=0.548bit/symbol

    (b)这个信源的霍夫曼码是A{a1,a2,a3,a4,a5}={110,1111,10,1110,0}

    (c)平均码长:l=0.15*3+0.04*4+0.26*2+0.05*4+0.50*1=1.83bit/symbol

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

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

    !     以空码开始;

    !!    计算所有符号的频率/概率;

    !!!   对所有符号按其概率排序;将符号集合划为两个概率差异最小集合;

    !!!!  在第一个集合的码字前加‘0’,在第二个集合的码字前加‘1’;

    !!!!!  对划分得到的两个子集递归编码,直到每个集合不能再被划分。

    (b)最小方差过程。

    答:这个信源的霍夫曼码是A{a1,a2,a3,a4}={001,001,00,1}

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

    H=-(0.1*log20.1+0.3*log20.3+0.25*log20.25+0.35*log20.35)=0.568bit/symbol

    冗余:l-H=2-0.568=1.282bit/symbol

    方差:S2=0.1*(3-1.1.282)2+0.3*(3-1.282)2+0.25*(2-1.282)2+0.35*(1-1.282)2=1.337

  • 相关阅读:
    [BZOJ1415]聪聪和可可
    [POJ2096]Collecting Bugs
    开博第一天
    实现CSS样式垂直水平完全居中
    Vue中独立组件之间数据交互
    python Template中substitute()的使用
    eclipse 编辑 python 中文乱码的解决方案
    java Math.random()随机数的产生
    java文件读写的两种方式
    My way on Linux
  • 原文地址:https://www.cnblogs.com/wym444/p/4784857.html
Copyright © 2011-2022 走看看