基于小波变换的预测四叉树图像压缩及解压方法

文档序号:7626883阅读:276来源:国知局
专利名称:基于小波变换的预测四叉树图像压缩及解压方法
技术领域
本发明涉及一种图像压缩及解压方法,尤其是涉及一种基于小波变换的预测四叉树图像压缩方法及其对应的解压方法。
背景技术
小波变换由于具有很强的去相关能力,在图像压缩方面得到了广泛的应用。图像经小波变换后,能够产生如图1所示的多频带结构,图1为图像经三级小波分解后的频带结构图,其中HL1、HH1、LH1是最高频成份,HL2、HH2、LH2次高频成份,HL3、HH3、LH3是次低频成份,LL是最低频成份。图像经小波变换后各频带内部以及各频带之间的变换系数还存在一定的相关性,如何利用这种相关性,是基于小波变换图像编码的关键。目前基于小波变换的图像编码多采用比特平面技术,它是逐次量化、渐进编码的方法。对于变换的小波系数,先把其排列在比特面上,优先编码所有小波系数高比特位。如果一个小波系数在此比特面是为1,则称这个小波系数在此比特平面变为重要系数。比特面平面至高到低移动,实际是对小波系数进行逐渐细化过程。进行比特面编码必须设法编码三类信息,即位置信息、系数符号信息和系数幅度信息。其中的符号信息可通过一个比特记录,幅度信息记录通过移动比特平面自动完成,位置信息的记录往往影响是一个编码器性能关键。1999年Munteanu等人提出了基于四叉树分裂的方法来记录位置信息,通过对编码块不断进行四叉树分裂,只至孤立出重要系数,这样只需记录分裂的次数即可确定重要系数的位置,取得了不错的压缩性能,其具体实现可见文章IEEE Trans.Inform.Technol.Biomed.,1999,Vol.3,176-185。2002年P.SchelKens提出了限制四叉树的方法,对编码块进行四叉树分裂,但当编码块的面积小于一个设定值后,不再分裂,而是对块进行基于上下文的算术编码进行编码,减少了分裂的次数,使编码性能有了进一步提高,其具体实现可见文章IEEE Trans.Medical Imaging,2002。
如前所述,图像的小波系数之间有很强的相关性,在同一频带内,如果一个小波系数在当前比特平面为重要系数,则其八邻域内的小波系数在下一个比特平面上为重要系数的概率很大,八邻域关系如图2所示,图中C为一小波系数,其八邻域如图中阴影区域。在不同的频带内,如果空间小波树中的一个节点上的系数为重要系数,则其子节点上系数为重要系数的概率也很大,空间小波树与父子节点的关系如图3所示,图像中的某一区域经小波变换后在各频带内对应的小波系数可以用空间小波树来表示,如图3.1中的箭头指示的区域,空间小波数可能3.2表示。在空间小波树中,称在较低频率的子带中的系数为在较高频率子带中的系数的父节点,如在图3.2中,节点1为节点2、3、4的父节点,节点2为节点5、6、7、8的父节点。

发明内容
本发明的目的在于提出基于小波变换的预测四叉树图像压缩及解压方法,能在高压缩比的条件下得到好的图像质量。
为实现上述目的,首先对图像进行小波变换,然后对小波系数进行分块编码,采用四叉树分割算法,动态的调整编码块的大小,充分利用了带内小波系数间的相关性,同时在编码的过程中加入了预测过程,用上一比特平面的重要系数在当前比特面对其邻域和子节点系数进行预测,将上一比特平面的重要系数的邻域和子节点系数从块中取出,单独编码,从而实现对块的裁剪,以使块的形状更符合实际的情况;最后熵编码采用的了基于上下文的算术编码。
本发明压缩方法的具体步骤包括第一步、小波正变换对待编码的图像进行二维小波正变换,得到图像的小波系数图像;第二步、初始化确定最高的比特平面,将当前比特平面置为最高的比特平面;确定最小块阈值;将整个小波系数图像作为一个编码块,为这一编码块建立空的可能重要系数链表和重要系数链表,可能重要系数链表将在预测过程中用来记录先待预测的小波系数,重要系数链表将用来记录重要系数;将上述编码块加入编码块链表中;第三步、细化过程在当前比特平面上,对编码块链表中每一个编码块,编码其重要系数链表中系数当前位,如果当前位为1,输出1至熵编码,否则输出0至熵编码;第四步、预测过程在当前比特平面上,对编码块链表中每一个编码块,检查块中每一个系数,如果在其八邻域中有重要系数或其父节点为重要系数,将这个小波系数从编码块中去除,添加到可能重要系数链表中,当对编码块中所有系数检查完后,编码可能重要系数链表中的每一个小波系数的当前位,如果当前位为1,输出1至熵编码器,编码这个系数的符号位,将这一小波系数从可能重要系数链表去除,加入到重要系数链表;如果这一小波系数当前位为0,输出0至熵编码器;第五步、分裂过程在当前比特平面上,检查编码块链表中每一个编码块,如果这个编码块中的总的系数个数大于预先设定的最小块阈值,而且编码块中有重要系数,则对这个编码块进行四叉树分裂;将分裂得到的四个子块加入编码块链表中,输出1至熵编码器,否则输出0至熵编码器;第六步、清除过程在当前比特平面上,如果这个编码块中的总的系数个数小于等于一个预先设定的最小块域值,按Z字形顺序编码块中的每一个小波系数,若当前小波系数为重要系数,输出1至熵编码器,编码此系数的符号位,将这一小波系数从编码块中去除,加入到重要系数链表;若当前小波系数为不重要系数,则输出0至熵编码器;第七步、移动比特平面,置移动后比特平面为前比特平面减1,如果移动后比特平面小于零,编码结束;否则,重复第三步至第七步。
本发明的熵编码器采用基于上下文的算术编码;在熵编码器中采用四组不同的上下文编码模型分别为分裂模型,用于编码分裂过程中的输出;细化模型,用于编码细化过程中的输出;重要性模型,用于编码系数的重要性;符号模型,用于编码系数的符号位。
本发明解压方法的具体步骤包括第一步、初始化确定最高的比特平面,将当前比特平面置为最高的比特平面;确定最小块阈值;将整个小波系数图像作为一个编码块,建立并置空其可能重要系数链表、重要系数链表;将这一编码块加入编码块链表中;第二步、细化过程对编码块链表中的每一个编码块,在当前比特平面上,解码每一个重要系数的当前位,从熵编码器输出一比特,如果输出为1,置当前解码系数的当前位为1,否则置当前解码系数的当前位为0;第三步、预测过程对编码块链表中的每一个编码块,在当前比特平面上,检查每一个系数,如果在其八邻域中有重要系数或其父节点为重要系数,将这个小波系数从编码块中去除,添加到可能重要系数链表中,当对编码块中所有非重要系数检查完后,解码可能重要系数链表中的每一个小波系数的当前位,从熵编码器中输出一比特,如果输出为1,置当前解码系数的当前位为1,解码这个系数的符号位;如果输出为0,置当前解码系数的当前位为0;将这一小波系数从可能重要系数链表去除,加入到重要系数链表;第四步、分裂过程对编码块链表中的每一个编码块,在当前比特平面上,如果这个编码块中的总的系数个数大于一个预先设定的最小块域值,从熵编码器中输出一个比特,如果输出为1,则对这个编码块进行四叉树分裂,将分裂得到的四个子块加入编码块链表中;第五步、清除过程对编码块链表中的每一个编码块,在当前比特平面上,如果这个编码块中的总的系数个数小于等于一个预先设定的最小块域值,按Z字形顺序解码块中的每一个小波系数,从熵编码器重输出一比特,如果输出为1,置当前解码系数的当前位为1,解码此系数的符号位。如果输出为0,置当前解码系数的当前位为0;将这一小波系数从编码块中去除,加入到重要系数链表;第六步移动比特平面,置移动后比特平面为前比特平面减1,如果移动后比特平面小于零,解码结束;否则,重复第二步至第六步;第七步小波逆变换对解码得到的小波系数图像进行二维小波逆变换,得到解码图像。
通过对比实验表明,本发明方法的压缩性能较传统的四叉树方法(SQP)、限制四叉树方法(QT_L)以及等级树方法(SPIHT)均有不同程度的提高。(见表1)表1本发明方法与其它方法在相同PSNR(dB)下比特率(bpp)比较

与现有技术相比具有以下的优点1、本发明利用小波系数图像频带内部与频带间相关性,属于带内编码与带间编码的混合。在同一频带内将系数分块,随比特面的移动,将块由大到小进行四叉树分裂,以期最大限度的利用块内系数的相关性,克服了固定大小编码块的不足。
2、本发明编码的过程中加入了预测过程,用上一比特平面的重要系数在当前比特面对其邻域和子节点系数进行预测,将上一比特平面的重要系数的邻域和子节点系数从编码块中取出单独编码,从而实现对编码块的裁剪,减少了编码块的分裂次数,提高了编码性能。
3、本发明中的熵编码采用的了基于上下文的算术编码,提出了四种上下文编码模型,进一步提高了编码性能。


图1为图像经小波正变换后的频带结构示意图;图2为八邻域示意图;图3-1、图3-2为空间小波树与父节点关系示意图;图4为本发明压缩方法的流程图;图5为本发明压缩方法中初始化流程图;图6为本发明压缩方法中细化过程流程图;图7为本发明压缩方法中预测过程流程图;图8为本发明压缩方法中分裂过程流程图;图9为本发明压缩方法中清除过程流程图;图10为本发明解压方法的流程图;图11为本发明解压缩方法中初始化流程图;图12为本发明解压缩方法中细化过程流程图;图13为本发明解压缩方法中预测过程流程图;图14为本发明解压缩方法中分裂过程流程图;图15为本发明解压缩方法中清除过程流程图;图16编码符号位流程图;图17解码符号位流程图;图18Z字形扫描顺序示意图。
具体实施例方式
图像压缩方法包括下面七个步骤(见图4)第一步、小波正变换对待编码的图像进行二维小波正变换,得到图像的小波系数图像;第二步、初始化确定最高的比特平面Pmax,Pmax=log2|Cmax|,Cmax为模最大的小波系数,将当前比特平面Pcur置为Pmax,确定最小块阈值Tarea,将整个小波系数图像作为一个编码块,为这一编码块建立空的可能重要系数链表(LPC)和重要系数链表(LSC),可能重要系数链表(LPC)将在预测过程中用来记录先待预测的小波系数,重要系数链表(LSC)将用来记录重要系数。将上述编码块加入编码块链表(LQ)中;第三步、细化过程在当前比特平面Pcur上,对编码块链表LQ中每一个编码块,编码其重要系数链表(LSC)中系数当前位,如果当前位为1,输出1至熵编码的细化模型S2,否则输出0至熵编码的细化模型S2。具体流程如图6。
第四步、预测过程在当前比特平面Pcur上,对编码块链表LQ中每一个编码块,检查块中每一个系数,如果在其八邻域中有重要系数或其父节点为重要系数,将这个小波系数从编码块中去除,添加到可能重要系数链表(LPC)中,当对编码块中所有系数检查完后,编码可能重要系数链表(LPC)中的每一个小波系数的当前位,如果当前位为1,输出1至熵编码器的重要性模型S3,编码这个系数的符号位,(符号位编码流程如图16),将这一小波系数从可能重要系数链表(LPC)去除,加入到重要系数链表(LSC)。如果这一小波系数当前位为0,输出0至熵编码器的重要性模型S3,具体流程如图7。
第五步、分裂过程在当前比特平面Pcur上,检查编码块链表LQ中每一个编码块,如果这个编码块中的总的系数个数大于预先设定的最小块阈值Tarea,而且编码块中有重要系数,则对这个编码块进行四叉树分裂。将分裂得到的四个子块加入编码块链表(LQ)中,输出1至熵编码器的分裂模型S1,否则输出0至熵编码器的分裂模型S1。具体流程如图8。
第六步、清除过程在当前比特平面Pcur上,如果这个编码块中的总的系数个数小于等于一个预先设定的最小块域值Tarea,按Z字形顺序编码块中的每一个小波系数(Z字形扫描顺序如图18),若当前小波系数为重要系数,输出1至熵编码器的重要性模型S3,编码此系数的符号位(符号位编码流程如图16),将这一小波系数从编码块中去除,加入到重要系数链表(LSC)。若当前小波系数为不重要系数,则输出0至熵编码器重要性模型S3。具体流程如图9。
第七步、移动比特平面,置移动后比特平面为前比特平面减1(移动后Pcur=前Pcur-1),如果移动后比特平面小于零,编码结束;否则,重复第三步至第七步。
上述算术编码上下文m的计算如下对于分裂模型S1上下文 符号 为取整。
对于细化模型S2、重要性模型S3上下文m=当前编码系数的八邻域和父节点中所有重要系数的个数。
对于符号模型S4上下文m=当前编码系数的八邻域和父节点中所有正重要系数的个数。
与上述图像压缩方法对应的图像解压法包括下面七个步骤(见图10)第一步、初始化确定最高的比特平面Pmax,将当前比特平面Pcur置为Pmax。确定最小块阈值Tarea。将整个小波系数图像作为一个编码块,建立并置空其可能重要系数链表(LPC)、重要系数链表(LSC)。将这一编码块加入编码块链表(LQ)中。具体流程如图11。
第二步、细化过程对LQ中的每一个编码块,在当前比特平面Pcur上,解码每一个重要系数的当前位。从熵编码器的细化模型S2输出一比特,如果输出为1,置当前解码系数的当前位为1,否则置当前解码系数的当前位为0,具体流程如图12。
第三步、预测过程对编码块链表LQ中的每一个编码块,在当前比特平面Pcur上,检查每一个系数,如果在其八邻域中有重要系数或其父节点为重要系数,将这个小波系数从编码块中去除,添加到可能重要系数链表(LPC)中,当对编码块中所有非重要系数检查完后,解码可能重要系数链表(LPC)中的每一个小波系数的当前位,从熵编码器的重要性模型S3输出一比特,如果输出为1,置当前解码系数的当前位为1,解码这个系数的符号位(符号位解码流程如图17)。如果输出为0,置当前解码系数的当前位为0。将这一小波系数从可能重要系数链表(LPC)去除,加入到重要系数链表(LSC),具体流程如图13。
第四步、分裂过程对编码块链表LQ中的每一个编码块,在当前比特平面Pcur上,如果这个编码块中的总的系数个数大于一个预先设定的最小块域值Tarea,从熵编码器的分裂模型S1中输出一个比特,如果输出为1,则对这个编码块进行四叉树分裂,将分裂得到的四个子块加入编码块链表(LQ)中, 具体流程如图14。
第五步、清除过程对LQ中的每一个编码块,在当前比特平面Pcur上,如果这个编码块中的总的系数个数小于等于一个预先设定的最小块域值Tarea,按Z字形顺序解码块中的每一个小波系数(Z字形扫描顺序如图18),从熵编码器重要性模型S3输出一比特,如果输出为1,置当前解码系数的当前位为1,解码此系数的符号位(符号位解码流程如图17)。如果输出为0,置当前解码系数的当前位为0。将这一小波系数从编码块中去除,加入到重要系数链表(LSC),具体流程如图15。
第六步移动比特平面,置移动后比特平面为前比特平面减1,如果移动后比特平面小于零,解码结束;否则,重复第二步至第六步;第七步小波逆变换对解码得到的小波系数图像进行二维小波逆变换,得到解码图像。
上述解压过程采用与编码压缩过程相同的的熵编码器。
权利要求
1.一种基于小波变换的预测四叉树图像压缩方法,其特征在于首先对图像进行小波变换,然后对小波系数进行分块编码,采用四叉树分割算法,动态的调整编码块的大小,充分利用了带内小波系数间的相关性,同时在编码的过程中加入了预测过程,用上一比特平面的重要系数在当前比特面对其邻域和子节点系数进行预测,将上一比特平面的重要系数的邻域和子节点系数从块中取出,单独编码,从而实现对块的裁剪,以使块的形状更符合实际的情况;最后熵编码采用的了基于上下文的算术编码。
2.根据权利要求1所述的基于小波变换的预测四叉树图像压缩方法,其特征在于包括以下具体步骤第一步、小波正变换对待编码的图像进行二维小波正变换,得到图像的小波系数图像;第二步、初始化确定最高的比特平面,将当前比特平面置为最高的比特平面;确定最小块阈值;将整个小波系数图像作为一个编码块,为这一编码块建立空的可能重要系数链表和重要系数链表,可能重要系数链表将在预测过程中用来记录先待预测的小波系数,重要系数链表将用来记录重要系数;将上述编码块加入编码块链表中;第三步、细化过程在当前比特平面上,对编码块链表中每一个编码块,编码其重要系数链表中系数当前位,如果当前位为1,输出1至熵编码,否则输出0至熵编码;第四步、预测过程在当前比特平面上,对编码块链表中每一个编码块,检查块中每一个系数,如果在其八邻域中有重要系数或其父节点为重要系数,将这个小波系数从编码块中去除,添加到可能重要系数链表中,当对编码块中所有系数检查完后,编码可能重要系数链表中的每一个小波系数的当前位,如果当前位为1,输出1至熵编码器,编码这个系数的符号位,将这一小波系数从可能重要系数链表去除,加入到重要系数链表;如果这一小波系数当前位为0,输出0至熵编码器;第五步、分裂过程在当前比特平面上,检查编码块链表中每一个编码块,如果这个编码块中的总的系数个数大于预先设定的最小块阈值,而且编码块中有重要系数,则对这个编码块进行四叉树分裂;将分裂得到的四个子块加入编码块链表中,输出1至熵编码器,否则输出0至熵编码器;第六步、清除过程在当前比特平面上,如果这个编码块中的总的系数个数小于等于一个预先设定的最小块域值,按Z字形顺序编码块中的每一个小波系数,若当前小波系数为重要系数,输出1至熵编码器,编码此系数的符号位,将这一小波系数从编码块中去除,加入到重要系数链表;若当前小波系数为不重要系数,则输出0至熵编码器;第七步、移动比特平面,置移动后比特平面为前比特平面减1,如果移动后比特平面小于零,编码结束;否则,重复第三步至第七步。
3.根据权利要求1所述的基于小波变换的预测四叉树图像压缩方法,其特征在于所述熵编码器采用基于上下文的算术编码;在熵编码器中采用四组不同的上下文编码模型分别为分裂模型,用于编码分裂过程中的输出;细化模型,用于编码细化过程中的输出;重要性模型,用于编码系数的重要性;符号模型,用于编码系数的符号位。
4.一种基于小波变换的预测四叉树图像解压缩方法,其特征在于包括以下具体步骤第一步、初始化确定最高的比特平面,将当前比特平面置为最高的比特平面;确定最小块阈值;将整个小波系数图像作为一个编码块,建立并置空其可能重要系数链表、重要系数链表;将这一编码块加入编码块链表中;第二步、细化过程对编码块链表中的每一个编码块,在当前比特平面上,解码每一个重要系数的当前位,从熵编码器输出一比特,如果输出为1,置当前解码系数的当前位为1,否则置当前解码系数的当前位为0;第三步、预测过程对编码块链表中的每一个编码块,在当前比特平面上,检查每一个系数,如果在其八邻域中有重要系数或其父节点为重要系数,将这个小波系数从编码块中去除,添加到可能重要系数链表中,当对编码块中所有非重要系数检查完后,解码可能重要系数链表中的每一个小波系数的当前位,从熵编码器中输出一比特,如果输出为1,置当前解码系数的当前位为1,解码这个系数的符号位;如果输出为0,置当前解码系数的当前位为0;将这一小波系数从可能重要系数链表去除,加入到重要系数链表;第四步、分裂过程对编码块链表中的每一个编码块,在当前比特平面上,如果这个编码块中的总的系数个数大于一个预先设定的最小块域值,从熵编码器中输出一个比特,如果输出为1,则对这个编码块进行四叉树分裂,将分裂得到的四个子块加入编码块链表中;第五步、清除过程对编码块链表中的每一个编码块,在当前比特平面上,如果这个编码块中的总的系数个数小于等于一个预先设定的最小块域值,按Z字形顺序解码块中的每一个小波系数,从熵编码器重输出一比特,如果输出为1,置当前解码系数的当前位为1,解码此系数的符号位。如果输出为0,置当前解码系数的当前位为0;将这一小波系数从编码块中去除,加入到重要系数链表;第六步移动比特平面,置移动后比特平面为前比特平面减1,如果移动后比特平面小于零,解码结束;否则,重复第二步至第六步;第七步小波逆变换对解码得到的小波系数图像进行二维小波逆变换,得到解码图像。
全文摘要
本发明公开了一种基于小波变换的预测四叉树图像压缩及解压方法,首先对图像进行小波变换,然后对小波系数进行分块编码,采用四叉树分割算法,动态的调整编码块的大小,充分利用了带内小波系数间的相关性,同时在编码的过程中加入了预测过程,用上一比特平面的重要系数在当前比特面对其邻域和子节点系数进行预测,将上一比特平面的重要系数的邻域和子节点系数从块中取出,单独编码,从而实现对块的裁剪,以使块的形状更符合实际的情况;最后熵编码采用的了基于上下文的算术编码。本发明能在高压缩比的条件下得到好的图像质量。
文档编号H04N7/26GK1637782SQ0314043
公开日2005年7月13日 申请日期2003年9月8日 优先权日2003年9月8日
发明者冯前进, 陈武凡 申请人:中国人民解放军第一军医大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1