文档详情

信息论哈夫曼编码算术编码lz编码.pdf

发布:2017-10-05约6.02千字共18页下载文档
文本预览下载声明
信息论实验报告 实验人:邓放 学号:2012302257 2014年11月21 日 一、实验目的 1、掌握哈夫曼编码算法的基本原理;要求对图片进行哈夫曼编码。 2、掌握算术编码算法的基本原理;要求对图片进行算术编码。 3 LZ LZ 、掌握 算法的基本原理;要求对图片进行 编码。 二、实验原理 1、哈夫曼编码 l)将信号源的符号按照出现概率递减的顺序排列。(注意,一定要递减) 2)将最下面的两个最小出现概率进行合并相加,得到的结果作为新符号的出 现的概率。 3)重复进行步骤1和2直到概率相加的结果等于1为止。 4)在合并运算时,概率大的符号用编码0表示,概率小的符号用编码1表示。 5)记录下概率为1处到当前信号源符号之间的0,l序列,从而得到每个符 号的编码。 下面我举个简单例子: 一串信号源S={s1,s2,s3,s4,s5}对应概率为p={40,30,15,10,5},(百 分率) 按照递减的格式排列概率后,根据第二步,会得到一个新的概率列表,依然 按照递减排列,注意:如果遇到相同概率,合并后的概率放在下面! 最后概率最大的编码为0,最小的编码为1。如图所示: 所以,编码结果为 s1=1 s2=00 s3=010 s4=0110 s5=0111 霍夫曼编码具有如下特点: 1) 编出来的码都是异字头码,保证了码的唯一可译性。 2) 由于编码长度可变。因此译码时间较长,使得霍夫曼编码的压缩与还原相当 费时。 3) 编码长度不统一,硬件实现有难度。 4) 对不同信号源的编码效率不同,当信号源的符号概率为2的负幂次方时,达 到100%的编码效率;若信号源符号的概率相等,则编码效率最低。 5) 由于0与1的指定是任意的,故由上述过程编出的最佳码不是唯一的,但其 平均码长是一样的,故不影响编码效率与数据压缩性能。 2、算术编码 根据信源可能发现的不同符号序列的概率,把[0,1]区间划分为互不重叠的子 区间,子区间的宽度恰好是各符号序列的概率。这样信源发出的不同符号序列将 与各子区间一一对应,因此每个子区间内的任意一个实数都可以用来表示对应的 符号序列,这个数就是该符号序列所对应的码字。显然,一串符号序列发生的概 率越大,对应的子区间就越宽,要表达它所用的比特数就减少,因而相应的码字 就越短。 P(S,a )P(S)p(S)Pr r  1  L log   p(S)  3、LZ编码 设信源符号集A={a1,a2,…,aK}共K个符号,设输入信源符号序列为u=(u1,u2,…, uL)编码是将此序列分成不同的段。分段的规范为:尽可能取最少个相连的信源符号,并保 证各段都不相同。 开始时,先取一个符号作为第一段,然后继续分段。若出现与前面相同的符号时,就再 取紧跟后面的一个符号一起组成一个段,使之与前面的段不同。这些分段构成字典。当字典 达到一定大小后,再分段时就应查看有否与字典中的短语相同,若有重复就添加符号,以便 与字典中短语不同,直至信源序列结束。 编码的码字由段号加一个符号组成。设u构成的字典中的短语共有M (u)个。若编码 为二元码,段号所需码长n= 「logM (u) 「(注:代表上取整符号),每个符号需要的码长 为log[M (u)] 。单符号的码字段号为0,非单字符的码字段号为除最后一个符号外字典中相 同短语的段号。 例如,设U={a1,a2,a3,a4},信源序列为a1,a3,a2,a3,a2,a4,a3,a2,a1,a4, a3,a2,a1,共13位,字典如表所示: 三、实验结果 1.哈夫曼 2.算术编码 Gui界面 3.Lz编码 四.代码 哈夫曼: clc clear closeall; %定义HufData/Len为全局变量
显示全部
相似文档