香农范诺编码原理
霍夫曼(Huffman)编码属于码词长度可变的编码类,是霍夫曼在1952年提出的一种编码方法,即从下到上的编码方法。
同其他码词长度可变的编码一样,可区别的不同码词的生成是基于不同符号出现的不同概率。
生成霍夫曼编码算法基于一种称为“编码树”(coding tree)的技术。
算法步骤如下:
(1)初始化,根据符号概率的大小按由大到小顺序对符号进行排序。
(2)把概率最小的两个符号组成一个新符号(节点),即新符号的概率等于这两个符号概率之和。
(3)重复第2步,直到形成一个符号为止(树),其概率最后等于1。
(4)从编码树的根开始回溯到原始的符号,并将每一下分枝赋值为1,上分枝赋值为0。
以下这个简单例子说明了这一过程。
1).字母A,B,C,D,E已被编码,相应的出现概率如下:
p(A)=0.16, p(B)=0.51, p(C)=0.09, p(D)=0.13, p(E)=0.11
2).C和E概率最小,被排在第一棵二叉树中作为树叶。
它们的根节点CE的组合概率为0.20。
从CE到C的一边被标记为1,从CE到E的一边被标记为0。
这种标记是强制性的。
所以,不同的哈夫曼编码可能由相同的数据产生。
3).各节点相应的概率如下:
p(A)=0.16, p(B)=0.51, p(CE)=0.20, p(D)=0.13
D和A两个节点的概率最小。
这两个节点作为叶子组合成一棵新的二叉树。
根节点AD的组合概率为0.29。
由AD到A的一边标记为1,由AD到D的一边标记为0。
如果不同的二叉树的根节点有相同的概率,那么具有从根到节点最短的最大路径的二叉树应先生成。
这样能保持编码的长度基本稳定。
4).剩下节点的概率如下:
p(AD)=0.29, p(B)=0.51, p(CE)=0.20
AD和CE两节点的概率最小。
它们生成一棵二叉树。
其根节点ADCE的组合概率为0.49。
由ADCE到AD一边标记为0,由ADCE到CE的一边标记为1。
5).剩下两个节点相应的概率如下:
p(ADCE)=0.49, p(B)=0.51
它们生成最后一棵根节点为ADCEB的二叉树。
由ADCEB到B的一边记为1,由ADCEB到ADCE的一边记为0。
6).图03-02-2为霍夫曼编码。
编码结果被存放在一个表中:
w(A)=001, w(B)=1, w(C)=011, w(D)=000, w(E)=010
图03-02-2 霍夫曼编码例
霍夫曼编码器的编码过程可用例子演示和解释。
下面是另一个霍夫曼编码例子。
假定要编码的文本是:
"EXAMPLE OF HUFFMAN CODE"
首先,计算文本中符号出现的概率(表03-02-2)。
表03-02-2 符号在文本中出现的概率
符号
概率
E
2/25
X
1/25
A
2/25
M
2/25
P
1/25
L
1/25
O
2/25
F
2/25
H
1/25
U
1/25
C
1/25
D
1/25
I
1/25
N
2/25
G
1/25
空格
3/25
最后得到图03-02-3所示的编码树。
图03-02-3 霍夫曼编码树
在霍夫曼编码理论的基础上发展了一些改进的编码算法。
其中一种称为自适应霍夫曼编码(Adaptive Huffman code)。
这种方案能够根据符号概率的变化动态地改变码词,产生的代码比原始霍夫曼编码更有效。
另一种称为扩展的霍夫曼编码(Extended Huffman code)允许编码符号组而不是单个符号。
同香农-范诺编码一样,霍夫曼码的码长虽然是可变的,但却不需要另外附加同步代码。
这是因为这两种方法都自含同步码,在编码之后的码串中都不需要另外添加标记符号,即在译码时分割符号的特殊代码。
当然,霍夫曼编码方法的编码效率比香农-范诺编码效率高一些。
采用霍夫曼编码时有两个问题值得注意:①霍夫曼码没有错误保护功能,在译码时,如果码串中没有错误,那么就能一个接一个地正确译出代码。
但如果码串中有错误,那怕仅仅是1位出现错误,也会引起一连串的错误,这种现象称为错误传播(error propagation)。
计算机对这种错误也无能为力,说不出错在哪里,更谈不上去纠正它。
②霍夫曼码是可变长度码,因此很难随意查找或调用压缩文件中间的内容,然后再译码,这就需要在存储代码之前加以考虑。
尽管如此,霍夫曼码还是得到广泛应用。
“稀疏”的意思?
稀疏 词语名称: 稀疏 词语解释: 1.亦作"稀疎"。
2.不稠密。
3.犹言冷落,疏远。
稀 : 稀 xī 事物中间距离远、空隙大,与“密”相对,稀疏。
稀落(lu?)。
稀客。
依稀。
浓度小,含水分多,
疏 shū 去掉阻塞使通畅:疏导。
疏通。
疏浚。
疏解(ji?)。
分散:疏散。
仗义疏财。
事物间距离大目前最常用的字符编码方式
汉字的常用编码有三种:输入码、机内码、输出码:输入码:汉字输入码的分类: 汉字是一种拼音,象形和会意文字,本身具有十分丰富的音,形,义等内涵.经过许多的中国人多年的潜心研究,形成了种类繁多的汉字输入码,至今为止,已有好几百种汉字输入码的编码方案问世,其中已经得到了广泛使用的也达几十种之多.按照汉字输入的编码元素取材的不同,可将众多的汉字输入码分为如下三类: 1,拼音码:以汉字的汉语拼音为基础,以汉字的汉语拼音或其一定规则的缩写形式为编码元素的汉字输入码统称为拼音码. 2,拼形码:以汉字的形状结构及书写顺序特点为基础,按照一定的规则对汉字进行拆分,从而得到若干具有特定结构特点的形状,然后以这些形状为编码元素"拼形"而成汉字的汉字输入码统称为拼形码. 3,音形码:这是一类兼顾汉语拼音和形状结构两方面特性的输入码,它是为了同时利用拼音码和拼形码两者的优点,一方面降低拼音码的重码率,另一方面减少拼形码需较多学习和记忆的困难程度而设计的.音形码的设计目标是要达到普通用户的要求,重码少,易学,少记,好用.音形码虽然从理论上看很具有吸引力,但在具体设计时尚存在一定的困难.自然码是一种适应而较广的音形码. 4,序号码:这是一类基于国标汉字字符集的某种形式的排列顺序的汉字输入码.将国标汉字字符集以某种方式重新排列以后,以排列的序号为编码元素的编码方案即是汉字的序号码. 常用的有:拼音和五笔两种,教程重点讲述五笔字型汉字输入法. 机内码:在设备和信息处理系统内部存储、处理、传输汉字用的代码。
目前用的机内码是:大陆GB2313-80字符集,GB 代表国标( Guo Biao),即「国家标准」的简称。
收入汉字6763个,符号715个,总计7478个字符。
GBK字符集,GB2312-80,GB 2312-80 的扩展、延伸,“ K”代表扩展 Kuozhan,收入21003个汉字,882个符号,共计21885个字符。
GB18030字符集GB18030字符集,包含GBK字符集、CJK Ext-A 全部6582个汉字,共计27533个汉字。
台湾BIG-5字符集,中文大五码。
是于1984年由台湾财团法人信息工业策进会和五间软件公司创立,故称大五码。
此五公司为:宏碁 、神通 、佳佳, 零壹 、及大众 。
收入13060个繁体汉字,808个符号,总计13868个字符,目前普遍使用于台湾、香港地区。
也是台湾大多数字体/字型的字数。
输出码:汉字的输出主要是指汉字字形的输出,48 X 48点阵的一个汉字要用 288字节来表示.
易探云产品限时秒杀&QQ音乐典藏活动正在进行中!购买易探云香港/美国云服务器送QQ音乐绿钻豪华版1年,价值180元,性价比超级高。目前,有四大核心福利产品推荐:福利一、香港云服务器1核1G2M,仅218元/年起(香港CN2线路,全球50ms以内);福利二、美国20G高防云服务器1核1G5M,仅336元/年起(美国BGP线路,自带20G防御);福利三、2G虚拟主机低至58.8元/年(更有免费...
Megalayer 商家主营业务是以独立服务器和站群服务器的,后来也陆续的有新增香港、菲律宾数据中心的VPS主机产品。由于其线路的丰富,还是深受一些用户喜欢的,有CN2优化直连线路,有全向国际线路,以及针对欧美的国际线路。这次有看到商家也有新增美国机房的VPS主机,也有包括15M带宽CN2优化带宽以及30M带宽的全向线路。Megalayer 商家提供的美国机房VPS产品,提供的配置方案也是比较多,...
搬瓦工和Vultr哪个好?搬瓦工和Vultr都是非常火爆的国外VPS,可以说是国内网友买的最多的两家,那么搬瓦工和Vultr哪个好?如果要选择VPS,首先我们要考虑成本、服务器质量以及产品的售后服务。老玩家都知道目前在国内最受欢迎的国外VPS服务商vultr和搬瓦工口碑都很不错。搬瓦工和Vultr哪个稳定?搬瓦工和Vultr哪个速度快?为了回答这些问题,本文从线路、速度、功能、售后等多方面对比这两...
稀疏编码为你推荐
rbf神经网络rbf神经网络的隐含层节点数是怎么样确定的策略组怎样打开组策略???qq号查询现成的qq号和密码查询天融信防火墙天融信下一代防火墙有那些特点和优势?inode智能客户端我的电脑上inode智能客户端连接网络时,提示~服务器没有响应,请确认当前认证网卡已连接到合适的网rownumbersql server 2005中row_number怎么用民生电商陆金所、民生电商哪个更适合投资?色库赤峰中色库博红烨锌业有限公司就是冶炼厂在 赤峰的 什么地方,一 人知道吗???清除电脑垃圾怎么删除电脑垃圾?什么是SOA什么是中子刀?您了解吗?
网站虚拟主机空间 域名备案流程 荷兰服务器 42u机柜尺寸 申请个人网页 中国智能物流骨干网 太原联通测速平台 vip购优汇 idc资讯 hostloc 免费申请网站 vip域名 如何注册阿里云邮箱 香港亚马逊 1元域名 视频服务器是什么 上海电信测速网站 东莞服务器托管 wordpress中文主题 博客域名 更多