分形压缩

分形压缩 (Fractal Compression)又名碎形压缩,是一种有损数据压缩(失真压缩)的方法,是一种以碎形为基础的图像压缩,适用于纹理及一些自然影像。

当需要压缩的影像自身存在部分相似性,则适用分型压缩。这些图案的共同特性为,虽然人眼会觉得图片看起来复杂无比,但实际上图片却只包含非常低的资讯量,因此可以经过一个简单的算法产生。分形算法将这些图片转换为名为“分形编码”的数据资料,此种密码用来重新建立加密(压缩)过的图档。

简而言之,分形压缩就是利用自我相似缩小来压缩,解压缩则反之,是利用自我相似放大来解压缩。

理论基础

在数学领域中,分形影像的压缩可以用迭代函数系统来描述。

二元影像

二元图片可被视为一个R2的子集合,一个迭代函数系统被定义为许多由平面R2对映至R2的收缩(contraction)转换所成的集合,即t1,…,tn

T={ti: R2 → R2 | i=1,2,…,n}

此种转换集定义了一个(巨)转换,转换对像则是二元影像f0,二元影像f0表示成点所成的集合。

一个重要的事实是:如果所有的ti都具备收缩性,则T具备收缩性,而且T也有定点。

T的定点便是最后的收敛二元影像 

因此, ,以此类推可求得 

令|T|表T的定点,则T的定点(集)可以表示成:  

T的定点也是唯一的。也就是说,不管起始的二元影像为何,我们可以重复地将T应用在他上面并且在最后收敛到一张固定的二元影像(定点)。因此,T本身就决定了一张二元影像。

总结来说,给定一张输入二元影像f0,应用迭代函数系统T一次,则可得到 ,应用两次则得到 。他的定点是 ,与起始二元影像f0昰什么完全无关,只决定于T。

灰阶影像

灰阶影像与二元影像的最大不同处在于灰阶影像比二元影像多了一个维度。我们可以将一张二元影像表示成许多平面上的点所成的集合,每一个点代表它在影像中是黑色,没在集合内的点则属于背景的白色。

因此,可以将一张二元影像表示成{(xi,yi)|(xi,yi)的颜色为黑色},换句话说,我们可以将一张二元影像表示成许多位置(平面上的x座标语y座标)所成的集合,而收缩性(两个点的位置愈来愈靠近)与定点(收敛到某一个特定位置的点)等定义也都是针对位置而言。灰阶影像则不然,它除了位置之外,还多了一项灰阶值,换句话说,它必须表示成{(xi,yi,zi)|zi=f(xi,yi),为(xi,yi)点的灰阶值}。

这么一来,转换的收缩性既要满足两点的位置变靠近也要满足两点的灰阶值也变接近,这样子的转换会使分形压缩变复杂。

由于自然灰阶影像的自我相似性不是全面的,而是局部的,因此所采用的编码方法实际上允许将转换的收缩性着重在灰阶值的接近,至于位置的变靠近则由于算法的设计自然满足。转换的定点,当然就是解码所得到的影像。

特色

使用分形压缩,由于需要搜寻影像自身的相似性,加密过程需经过大量的运算,所需的计算量非常庞大,但解码则是非常迅速。此种加密和解密的差异性令分形压缩无法实际广为应用,尤其当影片需要由影碟或文件上下载时,分形压缩更显劣势。

在普遍的压缩率下,约莫50:1,分形压缩提供和离散余弦转换(DCT)相似的结果,例如JPEG。在高压缩率下分形压缩可提供高品质,对压缩率高达170:1的卫星图而言,分形压缩的结果是可以被接受的。在合理的压缩时间范围下,分形视讯影片压缩率可达到25:1~244:1的压缩率。

相关条目