分形图像压缩的算法.docx
- 文档编号:11571172
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:36
- 大小:119.08KB
分形图像压缩的算法.docx
《分形图像压缩的算法.docx》由会员分享,可在线阅读,更多相关《分形图像压缩的算法.docx(36页珍藏版)》请在冰豆网上搜索。
分形图像压缩的算法
大学本科学生毕业设计
—分形图像压缩的算法
二零一二年六月
中文摘要
分形图像编码方法是近十年来诞生并发展起来的一种新型图像压缩方法,它将图像编码为一组收缩映射,由这组收缩映射的不动点近似待编码对象。
借助自可变换性特征有效地消除了图像表达上的数据冗余,具有编码效率高、与分辨率无关、解码算法简单等潜在优势,已成为当今国际上图像编码领域中令人瞩目的研究方向。
本课题旨在以分块迭代函数系统为基础,研究分形图像编码的理论、方法和实现技术,探讨其工作机理,评价其能力,弥补其缺陷,设计并实现高效的图像压缩/解压算法,为多媒体智能软件系统提供有效的工具。
本文阐述了分形理论应用在图像压缩领域的基本原理和实现该算法的关键技术,介绍了具有代表性的各种图像压缩的新方法,阐明了各个方法的优劣,最后简要总结了分形图像压缩的改进方法以及未来的发展趋势
关键词:
图像压缩,分形,算法
ABSTRACT
Fractalimagecoding,whichisalsocalledattractorimagecoding,isaemergentmethodofimagecompressionduringthelastdecade.Itcodesimagesascontractionmapsofwhichthefixedpointsapproximatetotheimages.Redundancyinimagesareefficientlyexploitedviatheself-transformabilityontheblockwisebasis.Owingtoitshighcompressionratio,goodimagequality,andresolution-independenceofthedecodedimage,fractalimagecodinghasbeenattractingmuchattention,andbeingconsideredtobepromisingintherealmofimagecompression
Thispaperaimsatgivingacompreheresearchonthetheory,methodology,andimplementationtechniquesoffractalimagecodingundertheiteratedfunctionsystems,developingasetofefficientcoding/decodingalgorithmstosupportmultimediasoftwareapplications.
Thispaperexpoundsthebasicprincipleoftheapplicationoffractalintheimagecompressionfieldtheoryandkeytechnologyofthisalgorithm,thispaperintroducesallkindsoftypicalnewmethodofimagecompression.Itcomparedtheadvantagesanddisadvantagesofeverymethod,andfinallysummarizedtheimprovementandthefuturedevelopmenttrendofthefractalimagecompressionmethod.
Keywords:
ImageCompressing,Fractal,algorithm
第一章绪论
十多年前,在计算机图形学中分形技术被用来模拟自然景象,其中最常用的思想便是迭代函数系统(IFS)和递归迭代函数系统(RIFS)。
Barnsley首先看到迭代函数系统对模拟自然景象(如云图、树和叶子)的潜力。
IFS方法在数字图像压缩理论和应用上得到越来越多的关注,成为当今图像压缩领域中最新的方法之一.Barnsley和Sloan指出,分形图像压缩技术能获得很高的压缩比。
Jacquin首先实现了完全自动的分形压缩编码算法,给分形图像压缩技术带来突破性进展。
分形图像压缩技术是在此算法基础上逐渐发展,成为当今图像压缩的一个新领域。
“分形”一词译于英文Fractal,系分形理论的创始人曼德尔布罗特(B.B.Mandelbrot)于1975年由拉丁语Frangere一词创造而成,词本身具有“破碎”和“不规则”两个含义,主要是给自然界中存在的大量的不规则的支离破碎的复杂图形的命名。
1982年Mandelbrot用创造性的思维形成了以分数维、自相似性及无限可分为特点的、以迭代计算来描述的分形集合概念。
从图像处理的角度而言,在许多自然图像中确实存在某种形式的分形子相似性,这就自然地产生了把分形概念用于图像编码的思想。
1988年Barnsley首先利用图像整体与局部的自相似性,提出了一种应用迭代函数系统理论实现的分形图像压缩编码。
1990年Jacquin创造性地利用图像块之间的相似性,提出了一种可由计算机完全自动实现的分形图像编码算法,为分形图像编码的研究带来了一次质的飞跃,使利用分形编码进行图像压缩的方法开始进入实用阶段。
1992年底,美国微软公司成功研制了一张“MicrosoftEncarta”光盘.它仅用600Mbytes,就存贮了大量的文字数据、长达7h的声像资料、100部动画片、800张彩色地图和1000幅逼真的风景照片。
这张光盘的研制采用了分形图像压缩技术。
此技术以迭代函数系统为基础,采用了与常规技术不同的思想,能达到很好的压缩效果,目前,这一技术已引起了学者们的浓厚兴趣与深入研究,显示了广阔的应用前景。
第二章分形图像编码的相关介绍
分形编码算法是一种有损图像压缩技术。
它是图像压缩的重要数学工具,有着广阔的应用前景。
分形图像压缩是以迭代函数系统(IFS)为理论基础,即用自然景物的自相似性来进行数据压缩。
分形图像压缩算法具有高压缩比、任意尺度下的重构、快速编码等优越性。
此项研究由M.Barnsley于1988年首先提出,他成功地给予迭代函数系统的分形图像压缩应用于计算机图形学上,对航空图像进行压缩编码,并获得了1000:
1的压缩比。
但其算法有很大的局限性,最主要的缺陷就是编码过程需要人工干预。
一、分形图像编码的基本原理
分形压缩的基本原理是利用分形几何中的自相似性原理来进行图象压缩。
所谓自相似性就是指无论几何尺度如何变化,景物的任何一小部分的形状都与较大部分的形状极其相似。
分形用于图像编码,总的来说可以分为两大类。
一类可称作分形模型图像压缩编码,即事先对一类景物建立分形模型。
编码时针对具体事物提取必要的分形参数,编码传送,实现压缩;另一类可称为IFS分形图像压缩编码,即利用迭代,得到原始图像的一个近似。
后一种实现方法简单,应用较为广泛。
目前,图像压缩方法已有近百种,但是,压缩效果、压缩比以及编码、解码时间还不能满足当前信息时代的要求。
传统的压缩算法一般已经成了定式,发展潜力不大,而分形图像压缩的思想新颖,潜力很大,在(人工干预条件下)压缩比达到10000:
1时,解码图像还有很好的视觉效果,是一个很有发展前途的压缩方法。
到目前为止,用数学系统去解析地研究分形最成功的是函数迭代系统(IteratedFunctionSystem,简称IFS),它既包含了确定性过程又包含了随机过程。
对现实世界中的图像集合引入Hausdorff度量,使其形成一个完备的度量空间,它的每个点既表示一幅图像,又是欧氏空间的一个紧子集。
✧Hausdorff距离空间该距离空间被认为是分形所在的空间,而分形之间的距离也正是由这种Hausdorff距离度量的。
✧仿射变换定义:
一个变换w:
R2—>R2的形式为:
w(x1,x2)=(ax1+bx2+e,cx1+dx2+f)
其中a,b,c,d,e,f均为实数,则称w为二维仿射变换,在直角坐标系中,我们可以写成如下形式:
(1)
实际上这是一种最广泛的线性变换,设矩阵
(2)
则A的意义可分解为旋转,伸缩,扭曲,反演等。
(3)
如果已知原图及其变换图我们可以求出其中的仿射变换系数,这只要确定原图上三点和变换图上三点即可,我们可以列出以下方程:
a*x1+b*y1+e=r1(4)
a*x2+b*y2+e=r2(5)
a*x3+b*y3+e=r3(6)
c*x1+d*y1+f=s1(7)
c*x2+d*y2+f=s2(8)
c*x3+d*y3+f=s3(9)
由以上六方程可求出a、b、c、d、e、f。
分形图像压缩的理论基础是迭代函数系统(IFS)定理、收缩映像定理和拼贴定理。
一个迭代函数系统由一个完备的度量空间和其上的一组收缩映像组成。
✧收缩映像定理函数空间中的每一个收敛映像都有一个固定点,使函数空间中的每一个点经过这个收缩映像的连续作用后.形成的点列收敛于这个固定点。
✧迭代函数系统定理每个迭代函数系统都可以构成函数空间中的一个收缩映射。
于是,我们得到结论,每个迭代函数系统都决定一幅图像。
一般我们用仿射变换来表示这些映射。
✧拼贴定理
给定一幅图像I,可以选择N个收缩映像,这幅图像经过N个变换得到N个象集.每个象集都是一块小图像。
如果这N个小图像拼贴起来的图像与图像I之间的距离任意小,则这N个收缩映像构成的迭代函数系统所决定的图像就任意地接近图像I。
这就告诉了我们寻找迭代函数系统的方法。
二、分形图像编码的实现步骤
整个图像压缩的过程可以分成两大部分,一是编码过程,一是解码过程。
在分形压缩中,前者主要基于拼贴定理,这个过程中要考虑图像的灰度分布,以及概率求取的策略。
后者主要是随机迭代问题。
(一)编码主要步骤
1.分割成适当的块
这可以借助于传统的图像处理技术,如边缘检测,频谱分析,纹理分析等,当然也可以使用分数维的方法。
分割出的每部分可以是一棵树,一片云等;也可能稍微复杂一些,如一片海景,它包括泡沫、礁石、雾震等;一般这每一部分都有比较直观的自相似性特征。
2.IFS编码求取
每一部分求其IFS编码,这就要借助拼贴定理了,同时也是人要参与的地方,在这个过程中有一些必须注意的地方。
1)每一块的“拷贝”必须小于原块,这是为了保证仿射变换的收缩性,至于每个拷贝的大小要根据各块图像的性质来确定。
2)用于拼贴的每个拷贝之间最好为不相连或紧相邻的。
而不要重叠或者有空缺。
这一点对概率的确定很重要,它影响到重构图像的不变测度。
所以对有重叠或空缺时,这部分的“质量”在计算中不能复用或者简单地丢弃,并最终要保证的成立。
3.仿射变换的概率设定
拼贴的过程不仅要保证吸引子的形状,也要考虑到每块区域灰度分布的情况,拼贴结束时要求出各个pi,Barnsley等人采取的方法仍然是下式:
(10)
其中Tm表示某一分割后的图像块,这种方法有较快的计算速度,这种定义实际上是建立在均匀测度的假设上的,即吸引子上相同大小的区域有相同的“质量”。
但是这在对实际的灰值图像处理过程中并不总是成立的,往往是经过某个仿射变换后的区域可能面积很大,但包含的总的灰度能量可能很小;反之某些小区域却有较大的灰度能量。
为此,一般的方法是对灰度能量多的区域干脆多重叠几个相同的仿射变换。
这在解码的过程中可能造成的一个结果是重构图中存在伪灰度现象;同时在随机迭代重构时总的步数也没有确定地给出,只能“足够大”,最后再把灰度归一化到[0,255]。
为此,我们在拼贴的过程中重新定义了概率的求取,令图像块Tm能量为Qm:
(11)
f(i,j)表示点(i,j)处的图像灰度,则可定义概率:
(12)
其中分子表示Tm经wi变换后区域中的能量。
这时的pi应该说可以很好地反映出了图像内部灰度分配的信息,它还可以指导图像重构,即对每一图像块重构时总的随机迭代次数就可以设为该块的总能量Qm,而每一次迭代生成点的灰度能量为为1个单位。
此时概率pi计算稍微比前一种方法麻烦些,在计算中可以用wi(Tm)与Tm的逻辑与来获得wi(Tm)区域的能量。
(二)解码主要步骤
分形的解码步骤很简单,可以用任意的图像作为初始图像,经过存储的相应的迭代函数的若干次迭代就可以准确的恢复原图。
三、分形图像压缩的发展方向
在1990年,Jaquin提出了基于块的分形图像压缩算法。
虽然该算法的压缩比低于M.Barnsley,但是他的编码过程可自动进行。
因此此算法已经成为这一研究方向的典型代表。
Jacquin发展了IFS理论,提出了局部迭代函数理论(PIFS),他在此理论基础上提出了一种基于方块划分的分形图像压缩方案,在其方案中首先将原始图像划分为固定大小的方块,然后对每一块,通过反射变换在原始图像的紧缩图像中寻找最相似的部分。
这些操作可由计算机自动完成,他为分形图像压缩的研究带来了一次质的飞跃。
Jacquin提出的方案为分形压缩编码的研究注入了生机和活力,使分形编码成为目前编码研究的热点。
目前分形编码方案大致有三个发展方向:
加快分形的编解码速度、提高分形的编码质量、基于分形序列图像的编码。
(一)加快分形的编码速度
编码速度慢一直是分形编码实用化的最大障碍,下面分析Jacquin编码方案的计算复杂度。
对于一个C×C大小的图像,假设值域子块大小为K×K,定义域子块大小为2K×2K,则该图像共有C2/K2个值域子块,(C-K+1)2个定义域子块。
在Jacquin的方案中,一个值域子块和一个定义与子块之间的相似性的计算量与K2成正比,而对于每一个值域子块,编码计算量与(C-K+1)2/K2呈线性关系,所以,对于一幅图像来说,其编码复杂度与(C-K+1)2*K2*C2/K2=(C-K+1)2*C2成正比,因此,分形编码的计算复杂度为O(C4)。
所以,减少搜索、加快编码速度是研究的热点之一。
Jacquin根据子块的复杂度将其分成四类,对每个值域子块,仅在其同类的定义域子块中进行搜索;D.Saupr采用多维最近邻搜索方法代替传统分形编码中序列的匹配过程,其搜索匹配时间按指数级增长;K.F.Loe等将Jacquin方案中使用的分类器替换成模糊分类器,并使用遗传算法进行优化,该算法比未分类的编码方案快40%左右;C.K.Lee和W.K.Lee通过对匹配块之间关系的研究发现,如果两子块的自身方差相差太远,则这两个子块不可能相似,由此可去除许多不必要的匹配过程,提高压缩速度10倍以上;MinXue等将传统编码方案中每个值域子块匹配的串行操作转换为并行操作,计算复杂度下降,缩短了压缩的时间。
(二)提高分形编码质量
目前,提高分形编码质量的方法有三种:
采用混合编码方案、改进分割方案、改进灰度逼近能力等。
提高编码质量的方法是对传统的分割方法进行改进。
Jacquin使用两次分割,在提高编码质量的同时,又避免压缩比下降太多。
随后又有许多学者对上述方法继续进行改进,提出了四象限的划分方法,是分形压缩的质量和压缩速度有了较大的提高,是目前较为实用的压缩方法。
目前国内外研究者还提出了基于区域的分割方案。
在分形编码中常用的灰度逼近式为w(z)=s*z+t,可把灰度逼近式变为w(z)=t(z),t(z)可为任意形式,可以为二次以上的多项式,有效提高了编码效果,改进图像质量。
(三)分形序列图像编码
在实际应用中,序列图像较静态图像有着更广阔的应用,而且由于时间维的引入,编码方法也有新的变化[5],因此,序列图像编码是图像编码研究的热点之一。
1994年,加拿大学者Lazar等人发表了一篇论文,加入了时间维,将Jacquin的分形编码从二维变换直接推广到三维,并直接借用静态图像的分形编码方案,但这样没有充分利用桢间的相似性,压缩性能不佳。
此后,又有人提出了自矢量量化的序列图像编码方案,但图像恢复质量、压缩比及编码实时上仍不是很理想。
因此分形序列图像编码是当今分形压缩编码的一个重要方向。
第三章分形与其他技术相结合的改进方案
分形图像压缩编码的应用已经深入到人类活动的各个方面,并已取得了令人瞩目的成果。
分形图像压缩既考虑局部与局部,又考虑局部与整体之间的相关性,适合于自相似或自仿射的图像压缩;分形图像压缩解码时能放大到任意大的尺寸,且保持精细的结构;在高压缩比的情况下,分形图像压缩自动编码能有很高的信噪比和很好的视觉效果。
但是对于编码虽然有许多的改进措施,但是搜索匹配时间过长还是不能满足许多实际的需要,基于此,近两年来,很多学者和专家把分形与其它的技术和工具、方法混合编码取得了很好的效果。
常用的混合方案有与小波变换结合编码、与DCT变换结合编码、与加权有限自动机结合编码、与向量量化结合编码、与遗传算法结合编码、与FFT算法结合编码、与非线性模型结合编码、与算术结合编码。
近10年来,人们对于自适应块状分形编码进行了不懈的研究,提出了以上若干改进算法,这些算法在不影响视觉效果的条件下,大大减少了编码时间。
而且在高压缩比和解码图像任意放大方面,比现有的静态图像国际压缩标准JPEG好得多,已经开始显露出它的优势。
分形图像编码方法的实际应用也初见端倪,如分形图像压缩解码速度很快,当前已经适合于一次写入、多次读出的文档。
一、提高压缩比和编码效果常用的改进方法
(一)改进分割的方法
有基本四叉树分割法、基于HV分割法。
这两种分割方法都是将图像分割成矩形。
而图像块的相似性未必都落在矩形内。
代替水平或垂直剖分而采用的分割方法有基于三角形分割法、基于六边形分割法、基于边界分割法、基于菱形分割法、基于多边形分割法。
(二)改进覆盖式方法
覆盖式方法有快速覆盖式分形压缩方法和四叉树重组QR算法两种它们都是采用通过合并值域块来提高压缩比。
前者要求合并后不一定规则,后者合并后则是规则的。
(三)提高显示效果的后处理法
分形图像压缩对值域块独立编码,这不能保证块与块之间的连接是光滑的,常有块效应出现,人的眼睛对此比较敏感。
消除块效应的一个常用方法是后处理,一般采用加权平均法。
二、DCT与分形混合编码
自从分形图像压缩作为一种实用的方法由Jacquin首次提出以来,大多数关于分形图像压缩的研究都集中在时间域进行,为了提高编码性能,一些变换域变换编码方法相继由Barthel等提出。
其中离散余弦变换(Discreteconsinetransformationg),余弦调制滤波器组(Cosinemodulatedfilterbanks)和小波变换等应用最为广泛,小波变换与分形的结合在上面已经作了简要地介绍。
在这里我们介绍一下DCT与分形的混合编码方案。
分形图像编码的原理是要寻找一组收敛的仿射变换来重建图像,利用同一图像中一部分描述另外一部分,即利用图形的自相似性来减少图像的冗余度。
频域变换的一个突出优点就是他的能量紧凑特性,一幅图像经过频域变换后,总能量没有变化,但能量的分布却发生了变化。
能量将集中在它的低频部分,而高频部分所占的能量非常少,能量的这种分布对分形压缩十分有利,因为分形图像压缩的主要过程是对同样大小的图像块进行能量匹配,经过频域变换后,高频部分在能量匹配过程中产生的误差很小,基本可以忽略不计,这就等于减少了匹配块的大小,从而减小了匹配误差。
去相关能力最强的是K-L变换,但由于其难以实现,人们转而寻找能实时处理的次最佳变换,离散余弦变换就是其中的一种。
近年来的研究表明,离散余弦变换是一种最接近最佳的正交变换,性能接近K-L变换。
主要编码步骤:
(1)设原图像的大小为N*N,首先把它划分为(N/8)2块大小为8*8的区块(rangeblock),对所有的作DCT变换,得到一个N*N的区图像(rangimage)。
接着,将原图像在划分为(N/16)2块16*16的域块(Domainblock),对所有的域块作DCT变换,然后再经过变换后的16*16图像块中取出他的左上角8*8的块,这些块按照原图的顺序组成一个域块库。
之所以只取图像左上角是因为域块在经过变换后,主要信息都保存在低频区,对应于图像块的左上角,而高频区所占的能量相对较少,在以后的匹配中,起的作用很小。
因此,在构成域块时,我们只取左上角与区块同样大小的一部分。
(2)接下来则是利用图像的自相似性进行分形压缩,其实质是寻找一组仿射变换,即块匹配过程。
它与时域的块匹配过程完全相同。
但由于图像经过频域变换后,具有与时域不同的特点,因此在具体的实现方法上存在着一些差别。
首先:
图像在经过DCT变换后,能量集中到低频部分,特别是它的直流分量,占据了整幅图像能量的很大一部分,这就使得我们必须对它们单独处理,而不把它带入块匹配的过程中。
在匹配过程中,均值分量也就不再需要。
在DCT域分形编码中,我们是将这些直流分量直接作差分之后再进行量化、熵编码。
这样做不仅减少了块匹配的误差,而且在解码时,在第一次迭代过程中,就可以得到直流分量,从而加快了解码的收敛速度。
其次,图像块在经过DCT变换后,能量分布具有一定的规律,不同于在时域中的杂乱无章的分布,因此在块匹配过程中,旋转所带来的性能上的改进将变得非常小,与此同时,它却增加了所需的比特数,降低了压缩比。
所以我们建议在DCT分形压缩的块匹配过程中,我们不采用旋转因子。
(3)经过块匹配之后,将阈块的位置信息和仿射变换的系数(这里只有收敛因子)进行熵编码,以进一步提高压缩比。
编码算法可以选用哈夫曼编码或是算术编码。
为了加快编码速度,降低编码的复杂性,有人提出了选择性块匹配的编码方案,也就是对那些平坦块不去进行块匹配,而是把它的直流分量直接编码输出。
感兴趣的读者可以参阅相关的文献介绍,在这里由于篇幅有限,就不多做介绍。
三、小波分形混合图像编码
小波图像编码和分形图像编码是两种不同的图像编码方法。
其中,小波图像编码是把图像分解成不同的空间方向和不同分辨率的子带图像,人们可以根据需要,对不同子带图像采用不同的量化策略来进行编码[6];而分形图像编码则适用于自相似性较强的图像。
可惜的是,一般的自然图像自相似性并不是很强,但是经过小波变换后的图像,其相同方向但不同分辨率的子带图像却具有较强的相似性[5,10]。
因此,人们可以利用这种相似性,结合分形编码的方法来进行编码,以大幅度地提高图像编码的压缩比。
因此,小波分形混合图像编码已成为今后的发展趋势。
经过多级小波变换,一幅图像被分解为一系列尺度、方向、空间局部变化的子带。
由于小波变换能获得很好的空间-频率多分辨率表示,而且在低频处有很好的频率特性,在高频处有很好的空间选择性,因此符合人类的视觉特性[11],能量主要集中在低频子图像。
而且同方向不同分辨率的子带间具有相似性,可以利用分形,二者优势互补,给二者进行混合编码提供了条件。
在传统的分形图像编码中,由于寻找最佳匹配块需要进行大量计算,从而编码时间过长,而利用小波分解后,图像块所具有的独特空间-频率特性,可以构造较好的分类和搜索方法,因而大大加快了分形编码的速度。
四、提高编码和解码速度的方法
(一)提高编码速度
在编码过程中最耗时的是搜索最佳匹配的定义域块,要提高编码速度,就必须缩小搜索范围,且保证最佳匹配落在该范围之内。
其改进方法有:
1.分类法:
搜索最佳匹配计算量很大,占用了编码的大部分时间,因而限制了它的实际应用。
为了缩短搜索时间,在匹配之前按照图像的特征如中值、方差、矩和其它感知或统计的几何
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 压缩 算法