好文档 - 专业文书写作范文服务资料分享网站

信息论编码报告算术编码

天下 分享 时间: 加入收藏 我要投稿 点赞

基于Matlab的算术编码的研究

摘要

算术编码属信源编码信源编码又分为离散编码和持续编码,算术编码也属于离散编码。本文对算术编码的编码理论和译码理论做了详细的分析,并依照理论知识在Matlab中搭建算术编码的系统,实现了对算术编码的整个进程的重现。算术编码所需参数很少,不像哈弗曼编码那样需要一个专门大的码表和大的存储来存储计算进程的计算值。可是算术编码的计算复杂性相对较大。 关键词:算术编码、Matlab

1、 课题研究背景及意义

在一个紧缩系统中,不管是有损紧缩仍是无损紧缩,编码往往是必需的环节。算术编码在数据紧缩中,提供了一种有效去除冗余度的机制,是一种到目前为止编码效率最高的统计熵编码方式,它比闻名的Huffman编码效率提高10%左右,可是由于其编码复杂性和实现技术的限制和一些专利权的限制,因此并非像Huffman编码那样应用普遍。国外对算术编码的研究较多,取得了许多重要的应用,但大多都有专利爱惜,如JPEG,JPEG2000,JBIG中均采纳了算术编码;国内的研究相对较少,应用不是很普遍,至今了解的人还不是很多。

其实在 Shannon 最先提出信息论后不久,Elias 就提出了大体的算术编码的方式,1987 年 Witten 等人在文献中提出了算术编码在数据紧缩方面的应用,指出其比 Huffman 编码具有更好的紧缩效率,它能够在不要求概率散布形式的情形下表现出良好的性质,这使得算术编码在数据紧缩方面取得普遍应用及研究。可是另一方面,包括 Huffman

编码在内的初期编码模式都是采纳固定的码字来表示每一个需要编码的符号,而从加密的角度来看这些算法都是利用简单的字母替换,即用一个符号或字符串替换另一个符号或字符串,因此都很容易被破解,不能提供真正意义上的数据平安。相反,算术编码并非是采纳固定码字来表示每一个符号,它的紧缩模式是将一段消息用一个[0,1)的真子集(子区间)来表示,而那个区间被初始化为[0,1),而且每编码一个符号区间就缩小一次。使每一个新区间都能唯一地表示一段消息。它能够依照所利用的模型,保证用一段无穷逼近信息熵的比特数来传输消息。

2、 算术编码大体思想

2.1 算术编码大体思想

算术编码是60年代提出提出一种编码概念,一直到1976年才有其有效技术的相关介绍,它的大体原理是:将待编码的信息数据看做是多个符号组成的符号序列,将被编码信息数据的符号序列表示成实数0和1之间的一个距离(Interval)。不管信息有多长,其输出仅仅是一个数,而且是一个介于0和1之间的二进制小数。信息越长,编码表示它的距离越小,表示这一距离所需的二进制位越多。例如算术编码对某条信息的符号序列输出为11,那么它表示小数,也即十进制数。

算术编码用到的两个大体参数:符号的概率和它的编码距离。

信源符号的概率决定紧缩编码的效率,也决定编码进程中信源符号的距离,而这些距离包括在0到1之间,编码进程中的距离决定符号紧缩后的输出。

给定事件序列的算术编码步骤如下:

(1) 编码器在开始时将“当前距离”[L,H]设置为[0,1]; (2) 对每一个事件编码器按步骤(a)和(b)进行处置:

(a) 编码键当前距离分为子距离每一个事件一个;

(b) 一个子距离的大小与下一个将显现的事件的概率成比例,编码

器选择的子距离对应于下一个确切发生的事件,并使它成为新的当前距离。

(3)最后输出的“当前距离”的下边界确实是给定事件序列的算术编码。

信息论编码报告算术编码

基于Matlab的算术编码的研究摘要算术编码属信源编码信源编码又分为离散编码和持续编码,算术编码也属于离散编码。本文对算术编码的编码理论和译码理论做了详细的分析,并依照理论知识在Matlab中搭建算术编码的系统,实现了对算术编码的整个进程的重现。算术编码所需参数很少,不像哈弗曼编码那样需要一个专门大的码表和大的存储来存储计算进程的计算值。可是算术编码的计算复杂
推荐度:
点击下载文档文档为doc格式
995rx81l2x036aw5tvxo0daes3y30z00x1x
领取福利

微信扫码领取福利

微信扫码分享