多媒体技术 || 自适应的霍夫曼编码与原始的霍夫曼编码的比较
第一题:
(a) 自适应的霍夫曼编码与原始的霍夫曼编码相比什么优点:
- 原始的Huffman算法给出了一种静态的编码树构造方案,要求在实际编码之前统计被编码对象中符号出现的几率,并据此进行编码树的构造。所以应用此方案时必须对输入符号流进行两遍扫描,而在大多数多媒体应用中数据分布的先前统计数据是不可行的。
- 另外,静态编码树构造方案不能对符号流的局部统计规律变化做出反应,因为它从始至终都使用完全不变的编码树。而自适应Huffman编码不需要事先构造Huffman树,而是随着编码的进行,逐步构造Huffman树。同时,这种编码方案对符号的统计也动态进行,随着程序的运行,同一个符号的编码可能发生改变(变得更长或更短)。
- 再者就静态编码在储存或传输Huffman编码结果之前,还必须先储存或传输Huffman编码树,自适应霍夫曼编码则不需要,这大大节省了内存开销。
(b)
(i)接收到的后续几个字母是什么
接收到的后续的几个字母分别是 b(01) a(01) c(00 10) c(101)
(推导过程同第二问)
(ii)画出接收每一个后续字母后的自适应霍夫曼树
fig 1
fig 2
fig 3
fig 4
推导过程:
步骤 | 字符 | 分析 |
---|---|---|
一 | 01 | 从7-11图定位到01为b,然后b的权值+1,此时b的节点权值变为3>a(2),b与a交换位置,huffman树变为fig1 |
二 | 01 | 从fig1定位到01为a,然后a权值+1,此时a的节点权值变为3=b(3),树的节点不做变动,huffman树变为fig2 |
三 | 00 10 | 根据fig2定位到00是new,意味着有新字符的加入,然后根据下面的10知道新加入的字符是c,然后用包含c和new的子树替换旧的new节点,然后将a的父节点的权值+1变为4>b(3),与b交换位置,得到fig3 |
四 | 101 | 根据fig3定位到c,然后将相应的节点权值分别+1,发现没有需要置换的节点和子树,得到fig4 |
多媒体技术 || 自适应的霍夫曼编码与原始的霍夫曼编码的比较相关推荐
- JPEG编码过程中的霍夫曼编码
JPEG编码过程中的霍夫曼编码 jpeg文件中的霍夫曼编码分两个部分对DC系数编码和对AC系数的编码. DC系数的编码 编码过程 DC系数的编码由两部分组成, huffman 编码的bitlen + ...
- 数据结构哈夫曼树实现26个英文字符的编码和译码
数据结构哈夫曼树实现26英文字符的编码和译码 那么首先什么是哈夫曼树?(知道的略过,直奔下面代码就好!) 在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编 ...
- 香农费诺编码 c语言实现,对于香农编码、费诺编码和哈夫曼编码,编码方法惟一的是()。...
问题标题 对于香农编码.费诺编码和哈夫曼编码,编码方法惟一的是(). 2019-8-15来自ip:15.170.14.227的网友咨询 浏览量:533 手机版 问题补充: 题目类型:[填空题] 对于香 ...
- 哈夫曼树的生成及哈夫曼编码
首先构造哈夫曼树结构体,初始化哈夫曼树的四个无符号整型域,输入文本,统计各个字符的权值,然后构建哈夫曼树,从根到叶子逆向求哈夫曼树的编码. #include"stdio.h" #i ...
- 【算法学习笔记】哈夫曼树的构建和哈夫曼编码的实现代码
介绍 哈夫曼(Haffman)这种方法的基本思想如下: ①由给定的n个权值{W1,W2,-,Wn}构造n棵只有一个叶子结点的二叉树,从而得到一个二叉树的集合F={T1,T2,-,Tn}. ②在F中选取 ...
- 手机号段对应地区编码_漫画:“哈夫曼编码” 是什么鬼?
在上一期,我们介绍了一种特殊的数据结构 "哈夫曼树",也被称为最优二叉树.没看过的小伙伴可以点击下方链接: 漫画:什么是 "哈夫曼树" ? 那么,这种数据结构究 ...
- 前缀编码是什么?哈夫曼编码是什么?
前缀编码: 如果在一个编码方案中,任何一个编码都不是其他任何编码的前缀(最左子串),则称该编码是前缀编码. 如上图,不等长编码方案1是前缀编码: 分析如下: 在不等长编码方案1中,a,b,c,d为四个 ...
- 数据结构学习记录——哈夫曼树(什么是哈夫曼树、哈夫曼树的定义、哈夫曼树的构造、哈夫曼树的特点、哈夫曼编码)
目录 什么是哈夫曼树 哈夫曼树的定义 哈夫曼树的构造 图解操作 代码实现 代码解析 哈夫曼树的特点 哈夫曼编码 不等长编码 二叉树用于编码 哈夫曼编码实例 什么是哈夫曼树 我们先举个例子: 要将百分制 ...
- java哈夫曼编码与译码_哈夫曼树与编码译码实现
标签: 一.哈弗曼树的基本概念. 哈夫曼树,又称最优树,是一类带权路径长度最短的树.下面有几个概念: (1)路径. 树中一个结点到另一个结点之间的分支构成这两个结点之间的路径. (2)路径长度. 路径 ...
最新文章
- p40 升级鸿蒙,等了这么久,我的P40终于可以升级鸿蒙系统了
- [Linux][Hadoop] 将hadoop跑起来
- Fabric 架构和概念
- 数字证书格式详细说明【转】
- centos php 开启libgdgd_CentOS搭建PHP环境
- 【转】0.SharePoint服务器端对象模型 之 序言
- R_多元相关和回归分析
- 找不到可安装的ISAM
- 让Oracle跑得更快 ——博文视点大讲堂34期活动圆满结束
- 数百GitHub私有代码库被黑客清空:不交赎金就公开源码!
- 博客园 文章和随笔区别 (转
- 基于linux下的在线电子词典
- 聊聊实际使用的电源转化电路,分享一些不同场合下的转3.3V电路
- 烽火服务器安装系统,烽火服务器进入bios配置
- 【论文阅读】POI2Vec: Geographical Latent Representation for Predicting Future Visitors
- 基于区块链的分布式金融网络
- 曲线运动与万有引力公式_高中物理必修一知识点总结:曲线运动万有引力
- Redis-----什么是Redis?
- 位置与地图(二)地图的使用以及标注地图
- 如何成为DBA,如何成为高级DBA