基于四叉树的分形图像压缩编码算法的C++实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:shizex
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文首先介绍了分形图像压缩的基本理论,如迭代函数系统,拼贴定理等。然后重点研究了基于四叉树的分形图像压缩编码算法。最后通过编写代码实现此算法,并与基本的分形图像压缩算法进行试验比较,进行总结。
  关键词:分形图像压缩;迭代函数系统;固定分块分形图像压缩;四叉树分形图像压缩
  中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)35-2220-03
  Based on Quadtree Fractal Image Compression Algorithm for Research and Implementation
  JIANG Yu-sheng, SHAO Wei, DING Lan-xin
  (College of Communication Engineering, Chongqing University, Chongqing 400044, China)
  Abstract: This paper first introduced the basic theory of the fractal image compression ,such as iteration function system(IFS), collage theorem, and so on. And then focus on the Quadtree based on the fractal image compression algorithm. Finally realizes this algorithm through the compilation code, and carries on the experiment with the basic fractal image compression algorithm to compare, carries on the summary.
  Key words: fractal image compression; iteration function system; fixed piecemeal fractal image compression; quadtree fractal image compression
  
  1 引言
  
  1973年,曼德勃罗(B.B.Mandelbrot)首次提出了分维和分形几何的设想。由于不规则现象在自然界是普遍存在的,因此分形几何又称为描述大自然的几何学[1]。分形几何建立以后,很快就引起了许多学科的关注,这是由于它不仅在理论上,而且在实用上都具有重要价值。特别随着计算机技术的发展,分形思想和方法在模式识别、自然图像的模拟、信号处理等各个领域都取得了巨大的成功。
  1988年,Barnsley对几幅图像进行分形压缩编码,获得了1000:1的压缩比,虽然这只是对特定的图像而言,但足以显示分形技术在图像编码方面的巨大潜力[2]。1990年Jacquin利用图像间的相似性,提出了一种可用计算机完全自动实现的分形图像编码算法,为分形图像编码的研究带来了一次质的飞跃。自Jacquin之后,分形图像编码引起了世界各国研究人员的广泛兴趣和关注,成为目前编码研究的热点。
  
  2 分形图像压缩编码理论
  
  分形图像压缩是一种利用自相识性特点的图像压缩方法。为了达到压缩的目的,Barnsley使用吸引子模型的二维仿射变换描绘原始图像。在分形图像压缩的过程中,他提出迭代函数系统和拼贴定理。目前,这一理论已成为分形图像压缩的理论基础。
  压缩映射:变换是指将一个空间上的点根据某种事先定义的法则,使之与另一个空间上的点相对应,变换有时也称为映射。从一个空间x1到另一个空间x2的变换通常记为f :x1→x2。设w:X→X是度量空间(x,d)上的一个映射,其中X∈R2是豪斯道夫距离。如果存在一个常数s(0  不动点定义:如果存在xw∈X,使得w(xw)=xw,则称xw为压缩映射w的不动点。压缩变换存在唯一不动点,且不动点可以通过迭代得到。
  压缩映射定理:设w:X→X是完备度量空间(X,d)上的压缩映射,则存在惟一的不动点xw∈X,对任何x∈X,序列{won(x):n=1,2,…}收敛于xw。即 Ax∈X。
  迭代函数系统:完备度量空间(X,d)与压缩因子分别为s1,s2,…sn的n个压缩映射wn,构成了一个迭代函数系统(IFS)。其压缩因子为s=max{s1,s2,…sn},一个IFS可以表示为{X:w1,w2,…,wn}。
  拼贴定理:设(X,d)是完备的度量空间,给定集合L∈H(X)及数ε>0。如果能选取到一个IFS{X:wj,j=1,2,…,n},其压缩因子为s(0,则有:。A为该IFS的不动点(又称吸引子)。
  3 四叉树分形图像压缩编码
  根据第二节的定理,可以得出:一幅具有自相似的图像可以由一组压缩变换表示,而这组压缩变换的吸引子就是该图像的编码结果。但是,能将整幅图像进行上述“自身复制”压缩变换w,取决于图像本身的自相似性质 ,并不总是存在。而且,许多图像并不总是单一的景物,比如一副自然风光图,画面中可能有天空的白云,山峦,树木,河流等。这种图像如果有自相似性,一般也基本是分别存在画面内的各个对象自身之中,所以,对于这种图像采用 分形编码就必须先把原图分割成几个不同的对象,然后再对每个对象提取码,而这种分割一般需要人机交互才能完成,而且费时费力,难以实时实现。
  1990年,Jacqain 提出了全自动的分形图像压缩算法——固定分块分形图像压缩[2],该方法以局部的仿射变换代替全局的仿射变换,基于图像的分块,首先把原始图像分割成一个个尺寸为k×k的不重叠方形像块,称为值域块,记为R1,R2,…, ;同时又把原图分割成若干尺寸为L×L的可以重叠的方形D2像块D1,D2,…, ,称为定义域块。规定定义域块的尺寸大于值域块的尺寸,即L>K,一般取L=2K。通过搜索匹配得到图像的 。图1所示为分块分形图像压缩编码系统框图[5]。
  固定分块分形图像编码的缺点在于寻找Ri和Di两者的匹配时非常耗时,在图像还原的时候,还将出现“方块效应”,会影响图像的还原质量。
  1991年,Fisher 对该方法进行改进,提出了四叉树分形图像编码方法。它具有分块灵活性高,压缩比率高的优点,是目前分形图像压缩编码中的主要方法。下面我们将重点介绍四叉树分形图像编码方法[3-4]。
  四叉树方法是一种自适应分块方法。它将图像表示成一棵四叉树,树根就是原图像本身。除叶节点外,树中每个节点均有4个子节点,分别对应于原图像(或图像块)4个象限的子块。
  其分割原理如图2所示[6]。
  图像自适应分块的目的是将图像合理地划分成不同尺寸的R块,使任意一块都能找到合适的D块与之相应。这样图像中粗糙的部分能以较大的图像块进行变换压缩,提高压缩比;而图像中精细的部分以较小的图像块进行变换压缩,保证较高的图像还原质量。和经典的固定分块分形图像编码相比,四叉树方法能进一步提高压缩比。
  为保证图像质量同时减少分块数,一般在分割图像之前,设定四叉树最大和最小深度以及最大允许误差,即设定最小和最大R块尺寸及寻找匹配块标准。用四分法按设定的最小深度级分割图像。针对图像中与该深度级对应的每一方块图像找其最佳匹配块。如找到,则标为R,对应的匹配块记为D,并且不再对该方块进行细分。如某图像方块在指定误差下没有找到最佳匹配块,则把该子块细分成等大小的四块。再对这四个分块分别找其匹配块。该过程不断进行,直到设定的最大深度级。
  具体实现步骤如下[7]:
  Step 1、将原始图像分成四个大小相同的方块,判断每个方块是否满足一致性标准。
  Step 2、设定划分的深度范围,即值域块所允许的最大与最小尺寸。
  Step 3、如果满足划分的最小深度范围就不再继续分裂(即使没有达到一致性标准);否则如果不满足一致性标准就再细分成四个方块,并对细分得到的方块作深度范围和一致性检验。
  Step 4、重复Step 3,直到所有的方块都满足一致性标准才结束。
  经过以上方法进行分解后,其最终的值域块的集合可能包含多种不同尺寸的方块。虽然从理论上来说,如果块的大小取1×1或2×2或N×N,是可行的,在分形图像压缩中显然是不合适的。因此,在实际中我们常取最小块为4×4,最大块 (N/2)×(N/2)。
  
  4 四叉树分形编码的实现及分析
  
  在本为中,我们根据四叉树分形编码的算法,利用C++Builder6.0编写程序代码,分形编码的流程图如3所示,并将一幅256×256的cat的BMP彩色图像进行试验。试验测试平台:CPU为celeron 1.66G,RAM为1.0G,操作系统为:Windows XP professional。测试图像如图4所示,
  我们利用固定分块分形图像压缩编码进行测试结果如图5所示。
  
   原始图像 解码图像 原始图像解码图像
  图4 四叉树分形编码测试图像 图5 固定分块分形图像压缩编码测试图像
  表1给出了两种不同方法下测试结果的比较:
  表1 固定分块与四叉树测试结果的比较
  
  从以上的比较可看出,本文编写的基于四叉树的分形图像压缩程序代码与固定分块的分形图像编码相比,无论从压缩比还是压缩时间和信噪比上,都有了很大的改进,而且从测试图像上可以看出,解码图像的质量也有了很大的改善。
  
  5 结论
  
  虽然基于四叉树的分形图像压缩有了一定的改善,但仍然存在以下缺点:恢复图像中仍然有较为严重的方块效应;在压缩时,运算量较大,压缩时间较长。而造成这种的原因为:没有考虑图像的内容和含义,只进行盲目的方块分割,从而导致较高压缩比时出现严重的方块效应;人眼视觉系统(HVS)没有充分考虑。
  根据以上分析,我们可以进行针对性的改进,从而得到更好的压缩效果。相信经过不断的努力,基于分形的图像压缩方法将有着更好的发展前景。
  
  参考文献:
  [1] Barnsley M F,Hurd L P.Fractal image compression[M].Wellesley:AK Peters Ltd,1993.
  [2] Jacquin A E.image coding: a review[J].Proceeding of the IEEE,1993,81(10):1451-1465.
  [3] Fisher Y.Fractal image compression[M].Fractals,1994.
  [4] Fisher Y.Fractal image compression theory and appplication[M].Springer-Verlag,NewYork,1995.
  [5] 张春田,苏育挺,张静.数字图像压缩编码[M].北京:清华大学出版社,2006
  [6] 董云朝,陈贺新.基于四叉树的自适应门限分形图像IFS压缩方法[J].中国图像图形学报,2000,5(11).
  [7] 郑运平,陈传波.一种基于新型四叉树的快速分形图像压缩算法[J].小型微型计算机系统,2007,28(8).
其他文献
摘要:概述了Office操作題自动阅卷的两种方式,并分析优缺点。在现有方法的基础上进行改进,基于C#开发平台,利用VBA技术分析操作结果,针对每个试题编写相应的阅卷程序段,形成程序段与试题的对应关系,提高阅卷方法的效率及准确率。  关键词:自动阅卷;Office;C#;VBA;Excel
期刊
摘要:Agent技术是近年来备受人们关注的软件开发技术。由于它的众多有用属性如自治性、自主性、自适应性等特性,使得人们对它的研究越来越多。基于Agent的这些技术和理论优势,结合作者单位管理系统的实际需求,提出了“应用多Agent技术于高校教研资源管理的设想”研究题目。  关键词:Agent;调度;协作  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2190-
期刊
摘要:针对OWL在表示约束和规则方面的缺陷,提出了对OWL的一种扩充方案:在OWL上面再建立一层RRL,并在RRL中定义属性值的区间约束表示本体,使得OWL在用RRL层扩充以后可以方便地表示属性值的区间约束。  关键词:语义Web;本体;OWL;约束;规则  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2196-03  RRL:an Extension to
期刊
摘要:作为一种新兴的近距离、低功耗通信技术,ZigBee具有不同于其他通信技术的技术特点。同时,ZigBee自身的技术特点决定了这门技术的应用。  关键词:近距离;低功耗;ZigBee的特点;ZigBee的应用  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2274-02  Research on the Characteristics and Use of
期刊
摘要:随着信息的膨胀和网络的普及,那种只能对单一数据庫进行访问的方式已不能满足需要,人们增加了处理分布式数据库的需求。文中通过一个分布式数据库查询系统的解决方案,探讨了.NET技术框架、结构原理、相关配置;通过详述实现技术,说明了使用该技术可以快速地构建分布式数据库查询的方案。  关键词:.NET;应用程序域;远程对象;分布式数据库
期刊
摘要:该文介绍了计划体系在ERP系統中地位、作用以及计划体系在ERP系统设计实施过程中常遇缺陷对常遇问题进行了分析,并提出解决方案,阐述了计划体系在BRP的核心地位,以及MPS,MRP核心计划在整个计划体系的作用以及运作模式,最后总结了ERP实施过程中的难点提出了几点解决方案。  关键字:计算机管理;企业资源计划;BRP;MPS;MRP
期刊
摘要:近年来,随着计算机图形學和计算机技术的发展,计算机可视化技术的不断普及,创建“虚拟世界”也不断掀起热潮,而建立具有真实感的三维场景是建设“虚拟世界”的重要一步。本文主要介绍了使用OpenGL实现三维场景的程序框架,以及在开发过程中的关键问题和解决方  关键词:可视化;OpenGL;三维建模
期刊
摘要:可伸缩矢量图形技术(Scalable Vector Graphics,SVG)是计算机多媒体技术研究的核心问题之一。设计和实现了一种基于JAVA环境的SVG图形运算器,利用SVG动态显示特性,将运算结果函数以矢量图形形式输出给终端用户。分析了该运算器的设计原理,给出了软件具体的实现过程。说明了其可行性与有效性。  关键词:JAVA;SVG;图形运算器;矢量图形  中图分类号:TP37文献标识
期刊
摘要:分布式拒绝服务(DDoS)攻击是目前黑客经常采用而难以防范的攻击手段。文章介绍了SYN Flood攻击及防御的基本原理和技术,详细分析了几种基于SYN Cookie的防御方法,最后,對几种方法进行了相应的试验比较。  关键词:DDoS;TCP/IP;SYN Flood;SYN Cookie
期刊
摘要:从数据库布局和数据库实现的不同角度简要阐述了SQL Server数据库性能的优化策略,以及各种优化策略的利与弊。  关键词:数据库;RAID;規范化:索引;视图
期刊