- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 霍夫曼编码-举例(续) 该霍夫曼码的平均码长 从编码表可以看出,霍夫曼是即时码,从右图的码树中也可以清楚看出。 * 霍夫曼编码并不唯一 霍夫曼编码方法非唯一,原因: 每次对信源缩减时,赋予信源最后两个概率最小的符号,用0和1是可以任意的; 对信源进行缩减时,两个概率最小的符号合并后的概率与其它信源符号的概率相同时,这两者在缩减信源中进行概率排序时,其位置放置次序可以任意。 * 另一种霍夫曼编码 合并后的概率与其它信源符号的概率相同时,改变这两者在缩减信源中的排序,可以得到另一种霍夫曼编码。 * 另一种霍夫曼编码(续) 该霍夫曼码的平均码长 编码效率与前一种霍夫曼码的效率相同。 但后一种编码的码长方差 方差比第一种方法小,即码长变化小,简单,易实现。故在霍夫曼编码过程中,对缩减信源符号以概率重新排列时,应使合并符号尽量靠前,可使合并符号重复编码次数减少,使短码得到充分利用。 * r元霍夫曼码 二进制霍夫曼码的编码方法可以很容易推广到r进制的情况。只是编码过程中构成缩减信源时,每次都是将r个概率最小的符号合并,并分别用0, 1, …, (r-1)码符号表示。 例 设有离散无记忆信源 码符号集X=(0,1,2),试构造一种三进制霍夫曼码。 * r元霍夫曼码-举例 编码过程见下表,其中信源s9是增补的,令其概率为零. * r元霍夫曼码-举例(续) r3元霍夫曼编码 * 霍夫曼编码-总结 霍夫曼编码是用概率匹配方法进行的信源编码,它有两个明显特点: 1、编码方法保证了概率大的符号对应于短码,概率小的符号对应于长码,充分利用了短码; 2、每次缩减信源的最后二个码字总是最后一位不同,从而保证了霍夫曼码是即时码。 * 3、费诺编码 * 费诺编码-举例 * 费诺编码-举例(续) * 4、游程编码与游程变换 前面三种方法针对无记忆信源,对于有记忆信源的编码效率不高,一般采用其它编码。如:游程编码。 二元序列:…000101110010001… “0”游程、“1”游程;游程长度L(0)、L(1) 多元序列/游程长度序列: 游程变换规定游程序列从“0”开始,是可逆变换。它减弱了二元序列的相关性。对变换后的多元序列可采用其它编码方法,比如:哈夫曼编码。 多元序列也可以变换成游程序列,但是需要增加标志位,可能会抵消压缩编码得到的好处,意义不大。 * 游程序列的概率特性 若二元序列的概率特性已知,可计算出游程序列的概率特性。 假设二元序列为独立序列,则 0游程长度概率:p[L(0)]= p0 L(0)-1 p1 ; 0游程长度的熵:H[L(0)]=H(p0 )/ p1 ; 0游程序列的平均长度:l0=E[L(0)]=1/ p1 p[L(1)]= p1 L(1)-1 p0 ; H[L(1)]=H(p0 )/ p0 ; l1=E[L(1)]=1/ p0 p0和p1分别为二元序列中 “0”和“1”的概率 H(X) = { H[L(0)]+ H[L(1)] } / (l0+l1) = H(p0 ) = H(p1 ) * 0/ 1游程长度的概率:p[L(0)]、 p[L(1)] * 平均游程长度:E[L(0)]、 E[L(1)] * 0/ 1游程长度的熵:H[L(0)]/ H[L(1)] * 原二元序列的熵H(X) 0游程序列的熵与1游程序列的熵之和除以它们的平均游程长度之和。 H(X) = { H[L(0)]+ H[L(1)] } / (l0+l1) = { H(p0 ) /p1 + H(p0 ) /p0 } / (1/ p1 +1/ p0 ) = H(p0 ) = H(p1 ) 游程变换后符号熵没有变。 当0游程和1游程的编码效率都很高时,采用游程编码的效率也会高。 * 相关性二元序列的游程变换 若原二元序列是二阶马氏链,由它变换而来的游程序列将也是独立序列。 0游程:10X; 1游程:01X 对于高阶马氏链,若阶数大于2,经变换的游程序列将不再是独立序列。 如三阶马氏链:Y10X→一阶马氏链 一般k阶马氏链,由之变换而来的游程序列将为k-2阶马氏链。 通过游程变换可有效的解除或减弱二元序列的相关性,再对游程长度进行编码可达到较高的编码效率。 * 游程长度与码字之间的 码表 取适当值n,游程长度为1, 2, …, 2n-1, 2n,所有大于2n者,都按2n处理。 所有长度大于等于2n的游程,只有一个码字C,需要按右表进一步区分。 当游程长度大于或等于2n+1时,需要两个或两个以上的C 。概率小,码字长。 0游程和1游程应分别编码,建立各自的码字和码表。码字可重复,
您可能关注的文档
最近下载
- 铜绿假单胞的治疗药物选择.ppt VIP
- ASCO300系列开路切换自动转换开关ATS.doc VIP
- ASCO300系列.pdf VIP
- 项目一集控运行职业岗位认知课件.pptx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(25).nRF52840的硬件测试.docx VIP
- Nordic 系列:nRF52840 (基于 Cortex-M4)_(16).nRF52840的硬件设计指南.docx VIP
- 医疗器械说明书:迈瑞麻醉机WATO+EX-55,65_使用说明书V_1.1中文.pdf
- GMC96B钢轨打磨列车手册.pdf VIP
- 南京三合宅课件.ppt VIP
- 猩红热护理查房.pptx VIP
文档评论(0)