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

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

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

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

           答:表格如下: 

    文件名 源文件 压缩后文件 压缩比
    SENA 64.0KB 56.1KB 87.66%
    SINAN 64.0KB 60.2KB 94.06%
    OMAHA 64.0KB 57.0KB 89.06%

       

     

     

     

        (b) 编写一段程序,得到相邻像素之差,然后利用huffman对差值图像进行编码

             答:

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

             答:由题目可知:P(a1)=0.15,P(a2)=0.04,P(a3)=0.26,P(a4)=0.05,P(a5)=0.50

             所以: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.82(bits)

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

           答:表格如下:

    字母 概率 码字
    a1 0.15 001
    a2 0.04 0000
    a3 0.26 01
    a4 0.05 0001
    a5 0.5 1

        

     

     

     

     

     

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

           答:平均码长   l=1*0.5+2*0.26+3*0.15+4*0.05+4*0.04

                                =1.83(bits)

                  冗余度      l-H=1.83-1.818=0.012

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

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

           答:表格如下:

    符号 概率 码字
    a1 0.1 000
    a2 0.3 01
    a3 0.25 001
    a4 0.35 1

        

     

     

     

     

        (b)最小方差过程

           答:表格如下:

    符号 概率 码字
    a1 0.1 11
    a2 0.3 01
    a3 0.25 10
    a4 0.35 00

            

     

     

     

     

     

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

         答:第一种过程与第二种过程的平均码长均为: l=1*0.35+2*0.3+3*0.25+3*0.1=2(bits)

           第一种过程码长方差:S12=0.35(1-2)2+0.3(2-2)2+0.25(3-2)2+0.1(3-2)2=0.7

           最小方差过程码长方差:S22=(0.1+0.25+0.3+0.35)(2-2)2=0

           由上述计算结果可知,在平均码长值相等的情况下,最小方差法的码长方差较小,因此第二种过程更易实现。

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

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

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

           答:运算结果如表格所示:

    文件名 一阶熵 二阶熵 差分熵
    SENSIN.IMG 7.317944 4.301673 4.541547
    SENA.IMG 6.834299 3.625204 3.856899
    OMAHA.IMG 6.942426 4.488626 6.286834
    GABE.RAW 7.116338 6.654578 8.978236
    EARTH.IMG 4.770801 2.568358 3.962697
    BERK.RAW 7.151537 6.705169 8.976150
    text.txt 4.315677 3.122731 6.099982

     

         

     

     

     

     

     

     

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

           答:由上表格的数据可知,图像文件的一阶熵都要比其二阶熵要大。

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

           答:对于img格式的图像文件,其差分熵都处于一阶熵与二阶熵之间;对于raw以及txt格式的文件,其差分熵都比其一阶熵与二阶熵要大。

  • 相关阅读:
    ffplay 一些好玩的filter
    ffmpeg加文字水印并控制水印显示时间或显示周期
    学习笔记之redux
    vue的一些常识代码规范(小小总结)
    使用computed和watch实现子组件监听父组件的变量变化
    vuex实现状态管理的具体操作
    scss使用总结
    vue的key值引发渲染错位的血案
    mp-vue实现小程序回顶操作踩坑,wx.pageScrollTo使用无效填坑
    git 的一些指令 (遇到再补充)
  • 原文地址:https://www.cnblogs.com/wannuexiaoze/p/4787939.html
Copyright © 2011-2022 走看看