信息论第二次作业——数据压缩算法的实现班别:1307011班学号:13070110009姓名:黄丹丹一、实验目的:通过该实验,利用香农编码-费诺编码和霍夫曼编码实现图像数据压缩
二、实验原理:1、香农-费诺编码首先,将信源符号以概率递减的次序排列进来,将排列好的信源符号划分为两大组,使第组的概率和近于相同,并各赋于一个二元码符号”0”和”1”
然后,将每一大组的信源符号再分成两组,使同一组的两个小组的概率和近于相同,并又分别赋予一个二元码符号
依次下去,直至每一个小组只剩下一个信源符号为止
这样,信源符号所对应的码符号序列则为编得的码字
译码原理,按照编码的二叉树从树根开始,按译码序列进行逐个的向其叶子结点走,直到找到相应的信源符号为止
之后再把指示标记回调到树根,按照同样的方式进行下一序列的译码到序列结束
如果整个译码序列能够完整的译出则返回成功,否则则返回译码失败
2、霍夫曼编码霍夫曼编码属于码词长度可变的编码类,是霍夫曼在1952年提出的一种编码方法,即从下到上的编码方法
同其他码词长度可变的编码一样,可区别的不同码词的生成是基于不同符号出现的不同概率
生成霍夫曼编码算法基于一种称为“编码树”(codingtree)的技术
算法步骤如下:(1)初始化,根据符号概率的大小按由大到小顺序对符号进行排序
(2)把概率最小的两个符号组成一个新符号(节点),即新符号的概率等于这两个符号概率之和
(3)重复第2步,直到形成一个符号为止(树),其概率最后等于1
(4)从编码树的根开始回溯到原始的符号,并将每一下分枝赋值为1,上分枝赋值为0
三、实验环境matlab7
1四、实验内容1、对于给定的信源的概率分布,用香农-费诺编码实现图像压缩2、对于给定的信源的概率分布,用霍夫曼编码实现图像压缩五、实验过程1
香农-费诺编码编码1functionc=shannon(p)%p=[0