数据压缩模型简介
【摘要】:自从香农提出信息论奠定数据压缩的理论基础以来,五十年多来,人们先后提出了很多算法以尽可能的接近压缩极限------熵。本文拟从预测模型、统计模型、字典模型、变换模型、分形模型、模型基等角度出发,大致以时间为序,让大家对图形压缩算法有个大体的了解以及对图象压缩的发展有个总体的把握!
一、图象压缩的理论基础
数据压缩的理论基础是C. E. Shannon提出的信息论,作为数据压缩的一个重要分支,图象压缩自然也以此理论为基础!
信息论认为:任何信息都存在冗余,冗余大小与信息中每个符号(数字、字母或单词)的出现概率或者说不确定性有关。Shannon借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”,并给出了计算信息熵的数学表达式:
考虑用 0 和 1 组成的二进制数码为含有 n 个符号的某条信息编码,假设符号 Fn 在整条信息中重复出现的概率为 Pn,则该符号的熵也即表示该符号所需的二进制位数为:
En = - log2( Pn )整条信息的熵也即表示整条信息所需的二进制位数为:
E = ∑knEn
这个“信息熵”就是人们一直在追求的数据压缩的理论极限!
二、图象压缩算法
具体到图像而言,一幅图像存在数据冗余和主观视觉冗余,我们的压缩方式就是从这两方面着手来开展的。
1)因为有数据冗余,当我们将图像信息的描述方式改变之后,可以压缩掉这些冗余。
2)因为有主观视觉冗余,当我们忽略一些视觉不太明显的微小差异,可以进行所谓的“有损”压缩。
五十多年来,人们从不同的角度出发,不断认识上述两条数据压缩思路,先后设计了若干算法,我们按照思路的不同,把这些算法归结为以下几个模型:预测模型、统计模型、字典模型、变换模型、分形模型、模型基,下面将分别展开叙述:
1、预测模型:
首先我们介绍下预测模型的设计思路:
由于图像中局部区域的象素是高度相关的,去除相邻象素之间的相关性,只对新的信息进行编码,这样能达到压缩的目的。举个简单的例子,因为象素的灰度是连续的,所以在一片区域中,相邻象素之间灰度值的差别可能很小。如果我们只记录第一个象素的灰度,其它象素的灰度都用它与前一个象素灰度之差来表示,就能起到压缩的目的。如248,2,1,0,1,3,注意这里的2是根据第一个灰度值248预计的,1又是根据我们刚预计的灰度值预计的,以后操作类似,如果我们所做的预计是正确的,即这6个象素的灰度是248,250,251,