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

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

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

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

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

    (c) 使用adap_huff重复(a)和(b)。

    解:(a)

        图片Sena、Sensin和Omaha的原图大小均为64.0KB,压缩后Sena、Sensin和Omaha的图片大小分别为56.1KB、60.2KB、57.0KB,所以几张图片的压缩比分别为:87.7%、94.1%、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(s)=0.15*log20.15+0.04*log20.04+0.26*log20.26+0.05*log20.05+0.50*log20.50

                   = 2.368 bit/

    (b)这个信源的霍夫曼码如下:

    a1 110;a2 1111;a3 10;a4 1110 ;a5 0

    (c)平均长度:L=1*0.5+2*0.26+3*0.15+4*0.05+4*0.04=1.83

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

    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)

    把各字符出现的概率从小到大排列:P(a1)=0.1,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35,对划分得到的两个子集递归编 码,直到每个集合不能再被划分。

    (b)

    第一种方法的方差S12=0.35*(1-2)2+0.3*(2-2)2+(0.25+0.1)*(3-2)2=0.7

    第二种方法的方差S22=(0.35+0.1+0.3+0.25)*(2-2)2=0

    第二种编码比较实用,因为方差小,变化不大、

    6.

    在配套的数据集中有几个图像和语音文件。

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

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

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

    解:(a)

    由代码调试得:EARTH.IMG=4.770801bit/字符; DMAHA.IMG=6.942426bit/字符; SENA.IMG=6.834299bit/字符;SENSIN.IMG=7.317944bit/字符; BERK.RAW=4.315677bit/字符; GABE.RAM=3.856989bit/字符;

    (b)由(a)知图片EARTH.IMG的一阶熵为4.770801bit/字符,图片EARTH.IMG的二阶熵为2.568358bit/字符,所以二阶熵出现概率较低

    (c)相邻像素之差的熵为:4.7770801-2.568358=2.2087221bit/字符;所以该图片位于一阶熵和二阶熵之间。

  • 相关阅读:
    winform
    winform窗口应用程序回顾
    API OpengGL属性函数
    API OpengGL几何变换函数
    API OpenGL输出土元函数及相关子程序
    glut进行显示窗口管理(基本API)
    BLL层
    新闻表存贮过程
    重构的数据库助手类
    新闻表操作类
  • 原文地址:https://www.cnblogs.com/shihuiyun/p/4785099.html
Copyright © 2011-2022 走看看