• 第二次作业


    参考书《数据压缩导论(第四版)》   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格式的文件,其差分熵都比其一阶熵与二阶熵要大。

  • 相关阅读:
    SpringBoot读取Resource下文件的几种方式(十五)
    Springboot+vue前后端分离文件上传、下载方式及与Spring的异同(十四)
    springboot多个service互相调用的事务处理(十三)
    Bigdecimal用法
    Linux常见wenti
    informix常见问题
    Spring-boot常见问题(十二)
    浅析VO、DTO、DO、PO的概念、区别和用处(八)
    Tbase读写分离与分库分表
    函数的节流和抖动
  • 原文地址:https://www.cnblogs.com/wannuexiaoze/p/4787939.html
Copyright © 2020-2023  润新知