一. 统计编码概述
– 根据图像像素灰度值出现的概率的分布特性而进行的压缩编码叫统计编码。
– 熵与平均码字长度
• 1)H(d) < R(d)时,一定可以设计出某种平均码字长更短的无失真编码方法。
• 2)平均码字长小于H(d)的无失真编码方法不存在。
– 熵编码
• 使编码后的图像的平均码字长度尽可能接近图像的熵H。
• 基本思路是:概率大的灰度级用短码字,概率小的,用长码字。
二. 统计编码方法
– 1. 行程编码(RLE编码)
• (1)基本原理
– 通过改变图像的描述方式,来实现压缩。将一行中颜色值相同的相邻像素用一个计数值和该颜色值来代替。
• (2)举例说明
aaaabbbccdeeeeefffffff (共228=176 bits) 4a3b2c1d5e7f (共128=96 bits)
• (3)应用分析
– 适合行程较长的图像,一般不单独使用。
** – 2. Huffman 编码(熵编码)
– 基本原理:
• 为了达到更大的压缩率,提出了一种方法,就是将在图像中出现频率大的像素值给一个比较短的编码,将出现频率小的像数值给一个比较长的编码。**
– 算法:
• 1)将灰度级按概率大小进行排序(降序),每个灰度级作为一个叶子结点,形成一棵树;
• 2)将两个根节点概率最小的树,合并(规则:这两个结点构造一个双亲结点,双亲结点的概率大小是两者之和);重复1) 2), 直到只有一个树为止;
• 3)设所有左后代为0,右后代为1。
– 特点:
• 优点:即时码;最优码。
• 缺点:当需要对大量符号进行编码时,构造最优霍夫曼
码的计算量会很大。
3. Shannon-Fano编码
• 算法:
• 1)将灰度级概率按非递增排序;
• 2)按概率之和相近或相等原则将灰度级集
一分为二;
• 3)将以上分割准则递归地应用到灰度级子集,直至最终子集只有一个灰度级为止;
• 4)在分割过程中,分别给所分得的两个子集赋予0和1。