计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000 Vol.17 No.3 P.59-61




基于四叉树分割和多分辨率相关的快速小波分形编码
陈晓棠　余英林
摘　要：提出一种基于四叉树分割和多分辨率相关的快速小波分形编码算法。在对图象小波变换后进行四叉树分割编码的过程中，利用小波变换的多分辨率分析特性，在多分辨率相关的基础上，对分形匹配搜索域进行自适应调整。实验结果证明该算法的有效性：压缩比和信噪比下降很少，编码时间只需十秒钟左右。
关键词：小波变换 分形编码 四叉树分割 多分辨率相关
1　引言
　　分形编码在90年代初因其高的压缩比和压缩潜力在图象编码的研究中倍受青睐。分形编码是基于图象局部与整体之间的相似性，利用局部的定义域块经过包括收缩、旋转变换、尺度变换在内的仿射变换，来替代整体中的值域块的迭代搜索的过程。由于分形压缩的编码时间和解码时间很不平衡，编码时间很长，而解码时间很短。而且，由于通常的分形编码采用基于方块的匹配搜索，所以恢复图象存在方块效应，影响视觉质量。近年来，随着对小波研究的深入，小波变换对图象的多分辨率描述逐渐引起了图象编码研究人员的关注，对利用小波进行图象编码展开了研究，并取得了一些成果(如Shapiro[4]的零树编码)。但在小波编码的算法中，由于没有充分利用小波多分辨率图象之间的相似性，所以压缩比有待提高。而我们注意到，这种相似性正是分形编码要达到高压缩比的基础。所以，将分形和小波结合起来编码，充分利用两者的优点，是我们研究分形和小波混合编码算法的初衷。由于在混合编码中，同样存在着搜索域的匹配问题，因此，编码时间较长仍然是该编码算法的瓶颈之一。本文提出的算法，正是为力图有效解决这一问题而提出的。
　　本文共分为几部分，第二、三、四部分分别介绍算法的基本原理。第五部分是本算法的实验结果，表明在整个系统的编码时间很短时，仍能保持较高的压缩比和信噪比。
2　图象的多分辨率小波分解
　　小波变换具有描述非平稳图象信号的本领和适应人的视觉系统特性的良好品质，其最大特点是能够多分辨率地描述图象信号，并将图象信号分解为一组多尺度子带图象，分解后各子带图象相对平稳，易于编码。我们采用Mallat提出的塔式多分辨率分解算法(文献[1])。得到的小波图象的各个子带分别对应了原图象在不同尺度和不同分辨率下的高频细节分量，以及一个对原始图象的低频分量。从多分辨率分析的角度来看，这些子带之间存在相关性。如对各高频分量，由于它们是图象同一边缘，轮廓和纹理信息在不同方向、不同分辨率下由细到粗的描述，所以在频带中对应边缘、轮廓的相对位置都应是相同或相近的。这种空间位置上的相似性和相关冗余，为我们在小波域内进行分形编码提供了便利。
　　另外，对图象进行金字塔小波变换后，它具有如下性质。
　　设I，J为两幅图象，大小都为2r×2r，K=I-J为误差图象，则经过r层金字塔小波变换后有：
K(r)i=Iri-J(r)i,(I=0,1,2,…,r) (证明略)
　　我们令I为原图象，J为原图象减去均值以后的灰度图象，K为均值图象，则对I，J，K作小波变换之后，各子带之间有如下关系：I的最低频子带的系数等于K和J的最低频子带系数之和；K的其余各级子带系数值均为零，即均值图象不存在高频分量；I和J的其余各级子带系数相等。因此，我们可以将小波域内的分形编码视为传统空域的去均值后的分形编码，即在编码过程中不考虑偏置因子(因为值为零)。这样计算分形码时只有尺度因子，可以简化计算，加速编解码过程。
　　同时，由于对信号进行小波变换后，将信号分解为不同方向和不同分辨率上的子带图象，各个子带分别进行分形预测，这就相当于一个自动块分类器，将方块分类到各个子带上，所以可以简化计算，加快编码过程。
3　原理简述
3.1　方块分形编码原理
　　分形编码是利用IFS系统来提取图象中自然存在的自相似性，用图象中的一个子块经过仿射变换W来逼近图象中的另一子块，从而达到分形压缩的目的。W可以是平移、旋转、对称、灰度变换等数学运算。在解码时，利用拼贴定理，从任意的起始图象经过反复迭代快速重建原来的压缩图象。其基本步骤如下：
　　(1)将图象分割为互不重叠的B×B大小的子图象Ri。
　　(2)用大小为D×D (D和B均是正整数)的截取窗口在原图象ψ上分别沿水平方向(步长为δh)和垂直方向(步长为δv)移动以形成定义域块Dj，而Dj的集合形成搜索域。
　　(3)对各值域块Ri，在整个搜索域寻找与Ri最佳匹配的Di，从而得到与Ri对应的分形码(包括位置信息dx，dy，旋转对称变换A，尺度因子S，偏置因子σ)存储该分形码即可。
　　(4)解码过程为对任意初始图象，根据分形码对其进行仿射变换的过程。该过程要通过反复迭代以保证其收敛。
3.2　基于四叉树分割的小波分形混合编码算法
　　四叉树分解在分形编码中较为常用。它作为一种自适应的图象分割的方法，主要是对那些平滑区域块和能在阈值范围内被分形编码的图象块进行粗略匹配，用较大的块来表示，而对灰度急剧变化的不能在阈值范围内分形编码的方块，继续将其细分为四个小的子块进行分形编码，直到在误差许可范围内为止。这样，根据不同区域的内容，自适应的调整方块的大小，可保证在压缩比和图象质量之间取得较好的折衷。
　　我们将上述思想应用到小波分形编码过程中，得到编解码算法如下。
　　1)编码算法
　　①将图象做五级小波分解。
　　②标量量化保存第五级分解得到的最低频子带LL0和同级各子带LH0，HL0，HH0。
　　③对其余各级子带，进行分形编码。设最大四叉树分解级数为3，最小值子块大小为2×2，每一级的定义域块取自上级同方向子带。定义域块大小和值域块大小一致，搜索步长为待匹配子块大小的一半。对每一值域块，在对应的定义域块中搜索匹配块，若误差小于预定的门限值，则置标志位为1，表明该块不用进行四叉树分割，并保存标志位和分形码。否则，置标志位为0，保存，并对其四叉树分割的各个子块进行分形编码，此时的定义域块也要相应进行四叉树分割，然后再进行搜索匹配。如此直到达到最大级数或不能再分为止。值得注意的是，在最后一级不能再分割时，我们不用保留标志位，以节约存储空间。
　　2)解码算法
　　①在解码时，首先恢复LL0，LH0，HL0，HH0子带的小波系数。
　　②对LH1，HL1，HH1子带进行分形解码。以上级的HL0，LH0，HH0为定义域块范围，读出分形码，由标志位为0或1判断，是对当前块进行分形解码，还是对其各级子块分别进行解码。
　　③对LH2，HL2，HH2～LHn，HLn，HHn的各子带的解码如2中进行，定义域块均取自上级同方向子带。④将解码后的小波系数进行小波逆变换，得到恢复图象。
4　进一步的加速算法
　　我们的加速编码基于以下多分辨率相关的假设：假定待编码图象为F，大小为2M×2M，将F进行1：2n (n=1，2，...)抽样得到的缩小的低分辨率图象G，大小为2n-1M×2n-1M。对图象G编码，若以(x，y)为起始点的最佳匹配映射的起始点为(x1，y1)，则对图象F编码时，以(2nx，2ny)为起始点的编码方块的最佳匹配映射，在一定误差门限的限制下，在(2n-1x1，2n-1y1)的δ邻域内概率较大。据我们实验统计，以五级小波分解后分形匹配为例，在以第一级分形匹配的(dx，dy)对应的该级子带(2dx，2dy)为中心的2邻域内概率近70%，3邻域内近80%，而到第四级分形匹配时，在其4邻域内的概率均达到90%以上。因此，根据此假定带来的误差在算法中是可以允许的。我们后面的实验也证实了这一点。而由前知道，对图象做小波分解后，可得到大小依次为1：2n的分辨率由低到高的多分辨率图象，这样我们利用小波多分辨率分析的特点，在搜索过程中将多分辨率相关假定结合进去，是很自然的一个想法。
　　另外，根据文献[7]的原理，我们可以将初始的搜索窗限制在待匹配子块(值域块)的邻域附近，若在误差范围内不匹配，则再将它进一步四叉树分割。
　　因此，我们在多分辨率相关的基础上，采用如上四叉树分割算法，提出如下编码算法：
　　(1)将图象五级分解，得到LL0，LH0，HL0，HH0，LH1，HL1，HH1共16个子带。
　　(2)对LL0，LH0，HL0，HH0子带，采用8比特标量量化，或经过DPCM编码，以保证其量化精度，因为它对恢复图象的质量影响极大。
　　(3)对LH1，HL1，HH1子带图象进行分形编码，置初始子块大小为8×8，四叉树分割深度为三级，在上级子带同样大小的定义域块集合中进行全搜索，以保证下一级匹配的精度。
　　(4)对其它各级子带编码。若上一级的同大小子块已编码(标志位为1)，则以其分形码中dx，dy所对应的定义域块为中心，在其δ1邻域内搜索。若未编码(标志位为0)，则在该子块位置(rx，ry)的δ2邻域范围内搜索。其后的过程同于上述四叉树分割算法。当匹配误差小于误差阈值时，置标志位为1，停止分割，否则置标志位为0。并对其四叉树分割子块进行分形编码，此时定义域块大小也要进行四叉树分割，即定义域块集合也要调整大小。值得注意的是，误差门限以及δ1δ2随着子带的分辨率和子带的方向不同而不同，分辨率越高，误差门限越大，δ1δ2的取值范围越广，垂直方向和对角方向的误差门限高于水平方向。这样做，可以对低分辨率的重要系数细匹配，而相对不重要的系数粗匹配。此外，当子块四叉树分割后，其邻域大小也应进行相应的调整。
　　解码过程完全同于四叉树分割的解码算法，可不做任何调整。
5　实验结果及分析
　　对512×512×8的Lena图象做如上实验，实验平台为PII300，邻域值的大小根据具体要求设定。本文权衡各相关因素，选取邻域，并随分解深度的增加而增大一倍。各级子带的阈值大小由实验来不断调整，不同方向不同分解级的子带其阈值也相应的不同。这样可以根据各级子带系数的重要性不同，合理降低其匹配精度。实验原始图象和恢复图象如图1所示。表1列出了不同阈值时的四叉树分割算法和进一步加速算法的结果(未进行熵编码)。若进行熵编码，则数据量还可以进一步压缩。

图1　实验图象和恢复图象
表 1 实验结果列表

四叉树分割四叉树分割结合多分辨率相关
信噪比
(dB)压缩比
(倍)编码时间
(秒)文件长度
(bytes)信噪比
(dB)压缩比
(倍)编码时间
(秒)文件长度
(bytes)
131.3330.2075868030.928.1616.59310
230.5038.3350683930.1436.9012.37105
329.6046.7641.2560629.6442.5610.56159
429.2150.2735.2521529.3849.059.55438
528.2761.2326.7428128.0461.117.84290

6　结论 
　　由此可见，本文的算法还是比较有效的。编码时间大大加快，压缩比和信噪比稍有减少。这是因为缩小搜索域后，找不到误差范围内在搜索域外的最佳匹配块，所以要进行四叉树分割继续搜索，这样就增加了需存储的信息，导致压缩比会轻微降低。与同类方法相比，例如相对于基于块分类的加速算法，本文在压缩比和信噪比方面占有优势，且保持图象质量不太受影响，而编码时间也可以和其它方法相比，本文结果没有采用熵编码如算术编码等，如果采用，还可以进一步提高压缩比。
本文获国家自然科学基金69972076资助
本文获广东省自然科学基金资助
陈晓棠(华南理工大学 广州 510641)
余英林(华南理工大学 广州 510641)
参考文献
1 S. Mallat. A Theory for Multiscale Signal Decomposition: the Wavelet Representation. IEEE Trans, Patt. Anal and Mach, Intell. 1989.11 pp.674～693
2 Y. Zhang and L. M. Po, Speeding Up Fractal Image Encoding By Wavelet-Based Block Classification. Electronics Letters Vol. 32. No. 23 pp. 2140～2141. Nov. 1996
3 Y. Fisher. Fractal Image Compression - Theory and Applications to Digital Images, Springer-Verlag, New York, 1994
4 Jerome M. Shapiro. Embeded Image Coding Using Zerotrees of Wavelet Coeffients, IEEE Trans. on Signal Processing, 1993, No. 12
5 R. Rinaldo and G. Calvagno. Image Coding by Block Prediction of Multiresolution Subimages, IEEE Trans. on Image Processing, 1995, No. 7
6 张 覃, 陈 刚, 金以文. 基于金字塔正交小波分解的快速分形图象编码. 电子学报, Vol.26, No.8, Aug. l998
7 王 舟, 余英林. 一种新的分形图象编码方法, 通信学报, 1996, 17(3). pp84～90
8 房育栋, 余英林. 快速分形图象压缩编码. 电子学报, Vol.24, No.1, 1996, pp28～33
9 谢 鑫, 马争鸣. 基于小波分解的分形预测编码. 中国图象图形学报, Vol.4, No.3, 1999, pp223～228
收稿日期：1999年10月1日
