本发明涉及图像处理技术领域,更进一步涉及图像压缩技术领域中在JPEG2000图像压缩系统中实现的一种基于双正交不变集多小波的图像压缩方法。本发明可用于各种数字静止图像压缩编码。
背景技术:
随着多媒体和网络技术的发展和应用,传统的图像压缩算法已不能满足实际应用的要求,为此国际标准组织于2000年11月制定了静止图像压缩的新标准JPEG2000。该新标准采用基于小波变换技术的率失真优化截取内嵌码块编码算法(EBCOT),取得了较好的图像压缩效果。但是JPEG2000系统需要定点和浮点两套系统来实现5/3和9/7小波变换。西安电子科技大学拥有的在其专利技术申请“实现JPEG2000图像压缩的定点小波变换方法”(专利申请号:201210148213,公开号:CN102685501B)中公开了一种实现JPEG2000图像压缩的定点小波变换方法。该方法引入BIBO增益控制方法,使用9/7小波BIBO增益来确定小波变换中间值的存储位深,使用5/3小波BIBO增益来确定9/7提升小波变换量化参数的选择方式及量化方式,节省了JPEG2000系统存储资源和运行时间。但是该专利技术存在的不足之处是,由于该专利技术采用的5/3小波和9/7小波都是单小波,每层小波变换仅可得到4个不同方向上的特征,小波变换后能量和熵的集中程度也不高,而且小波变换时需要对图像进行边界延拓导致边界失真,不利于分块处理和并行加速。柳薇和陈冬丽在论文“基于多小波变换的图像编码算法研究”(中山大学学报(自然科学版)2011年5期第50页到53页)中提出了一种基于多小波变换的图像编码算法方法。该方法将各种常用的多小波基,结合EBCOT(最佳截断嵌入码块编码)算法,对灰度图像进行压缩编码。这种方法虽然取得了一定的压缩效果,但是,该方法仍然存在的不足是,该方法仅给出了2乘2的简单的多小波基,很难体现出多小波同时具有的对称性、短支撑性、正交性和高阶消失矩性质,而且压缩编码算法运算复杂度没有改善与JPEG2000相当。
技术实现要素:
本发明的目的在于克服上述已有技术的不足,提供一种JPEG2000图像压缩系统中基于双正交不变集多小波变换实现方法。本发明采用一组具有对称、紧支、正交的和高阶消失矩特性的4乘4的双正交不不变集多小波滤波器矩阵,对图像先进行行变换再进行列变换,变换计算时采用内积的方法。本发明不需要边界延拓,避免了边界失真,有利于分块处理和并行加速,而且本发明在取得了与传统卷积下采用方法同样的效果的同时算法复杂度却是传统方法的四分之一,另外本发明对图像变换后能量和熵集中程度高具有更大的稀疏性,有利于后续的压缩编码。为实现上述目的,本发明的方法包括如下步骤:(1)输入图像数据:在JPEG2000图像压缩系统中输入待压缩的二维图像数据;(2)DC电平位移:对输入的待压缩的二维图像数据进行DC电平位移,得到0对称分布的DC电平位移后的图像数据;(3)组成滤波器矩阵:将每个双正交不变集多小波滤波器和作为矩阵的一行,组成4乘4的滤波器矩阵;(4)双正交不变集多小波变换层数初始化;(5)扩展图像的高和宽:(5a)判断DC电平位移后图像的高是否为4的倍数,若是,则执行步骤(5c),否则,执行步骤(5b);(5b)对DC电平位移后图像的高进行边界对称扩展,使扩展后图像的高是4的倍数;(5c)判断DC电平位移后图像的宽是不是4的倍数,若是,则执行步骤(6),否则,执行步骤(5d);(5d)对图像的宽进行边界对称扩展,使扩展后图像的宽是4的倍数,得到扩展后图像;(6)双正交不变集多小波行变换:(6a)分别将扩展后图像的行序号k和行变换图像的行序号m初始化为1;(6b)将滤波器矩阵第一行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第一个元素,k表示扩展后图像的行序号,m表示行变换图像的行序号;将滤波器矩阵第一行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第二个元素;依此类推,将滤波器矩阵第一行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第i+1个元素,i表示图像元素序号,i的取值范围是W表示扩展后图像的宽度;(6c)将滤波器矩阵第二行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,k表示图像的行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第二行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素;依此类推,将滤波器矩阵第二行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,i表示图像元素序号,i的取值范围是(6d)将滤波器矩阵第三行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,k表示图像的行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第三行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素;依此类推,将滤波器矩阵第三行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,i表示图像元素序号,i的取值范围是(6e)将滤波器矩阵第四行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,k图像的表示行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第四行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素;依此类推,将滤波器矩阵第四行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,i表示图像元素序号,i的取值范围是(6f)分别将扩展后图像的行序号k和行变换图像的行序号m加1;(6g)判断加1后的扩展后图像的行序号k是否等于扩展后图像的高度,若是,则得到行变换图像,执行步骤(7),否则,执行步骤(6b);(7)双正交不变集多小波列变换:(7a)分别将扩展后图像的列序号n和列变换图像的列序号r初始化为1;(7b)将滤波器矩阵第一行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第一个元素,n表示图像的列序号;将滤波器矩阵第一行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第二个元素;依此类推,将滤波器矩阵第一行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第i+1个元素,i表示图像元素序号,i的取值范围是L表示扩展后图像的高度;(7c)将滤波器矩阵第二行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第二行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素;依此类推,将滤波器矩阵第二行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,i表示图像元素序号,i的取值范围是(7d)将滤波器矩阵第三行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第三行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素;依此类推,将滤波器矩阵第三行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,i表示图像元素序号,i的取值范围是(7e)将滤波器矩阵第四行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第四行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素;依此类推,将滤波器矩阵第四行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,i表示图像元素序号,i的取值范围是(7f)分别将扩展后图像的列序号n和列变换图像的列序号r加1;(7g)判断加1后的扩展后图像的列序号n是不是等于扩展后图像的宽度,若是,则得到双正交不变集多小波变换图像,执行步骤(8),否则,执行步骤(7b);(8)更新图像:将正交不变集多小波变换图像在范围的高和在范围内的宽的部分,作为DC电平位移后图像;(9)将双正交不变集多小波的变换层数减1;(10)判断减1后双正交不变集多小波变换层数是否是零,若是,得到扩展后图像的多层双正交不变集多小波变换系数,则执行步骤(11),否则,执行步骤(5);(11)量化系数:将扩展后图像的多层双正交不变集多小波变换系数量化;(12)算术编码:利用JPEG2000图像压缩系统中标准的基于上下文的位平面算术编码模块对小波变换后的系数进行处理,得到算术编码的码流;(13)率失真优化:利用JPEG2000图像压缩系统中标准的率失真优化截取模块对算术编码的码流进行率失真优化截取,记录截取点信息;(14)组织码流:JPEG2000图像压缩系统中标准的码流组织模块使用截取点信息,对算术编码的码流进行码流组织,得到JPEG2000的压缩码流。本发明与现有技术相比较,具有如下优点:第一,由于本发明采用了4乘4的双正交不变集多小波滤波器矩阵,每次双正交不变集多小波滤波变换可以得到16个不同方向上的特征,克服了现有技术中单小波每层小波变换仅可得到4个不同方向上的特征的缺点,使得本发明具有更多方向表示图像的优点。第二,由于本发明双正交不变集多小波滤波器矩阵的特点和变换计算时采用了内积的方法,克服了现有技术中单小波变换能量和熵的集中程度不高的缺点,使得本发明具有更好的压缩性能的优点。第三,由于本发明双正交不变集多小波滤波器矩阵的特点和变换计算时采用了内积的方法,克服了现有技术中单小波变换时需要对图像进行边界延拓导致边界失真,不利于分块处理和并行加速的缺点,使得本发明具有快速实现压缩的优点。第四,由于本发明4乘4的双正交不变集多小波滤波器矩阵的特点和变换计算时采用了内积的方法,克服了现有技术中2乘2简单的多小波基压缩编码算法运算复杂度高的缺点,使得本发明具有算法复杂度降低,节约运算时间,快速实现压缩的优点。附图说明图1是本发明的流程图。具体实施方式下面结合附图1对本发明的实现步骤做详细的描述。步骤1.输入图像数据。在JPEG2000图像压缩系统中输入待压缩的二维图像数据,像素值采用1~16位比特。步骤2.DC电平位移。对输入的待压缩的二维图像数据进行DC电平位移,得到0对称分布DC电平位移后的图像数据。步骤3.组成滤波器矩阵。将每个双正交不变集多小波滤波器和作为矩阵的一行,组成4乘4的滤波器矩阵如下式所示:其中,H4×4表示4乘4的双正交不变集多小波滤波器矩阵。双正交不变集多小波滤波器H4×4是根据CharlesA.Micchelli和YueshengXu在文章“ReconstructionandDecompositionAlgorithmsforBiorthogonalMultiwavelets”中建立的具有自仿映射特性的双正交不变集多小波理论,以具有自仿射性的三角区域为支撑区间,以其上的常数函数为尺度函数,构建出了一组具有对称、紧支、正交的双正交不不变集多小波滤波器。该滤波器矩阵具有最短的支集长度,没有支集重叠部分,在作小波分解后能精确重构,无边界失真效应,在应用时避免了边界延拓,便与分块处理和并行加速。步骤4.双正交不变集多小波变换层数初始化。双正交不变集多小波变换一般不超过3层,通常取1层或者2层,故一般将双正交不变集多小波变换层数初始化为1或者2。步骤5.扩展图像的高和宽。(5a)判断DC电平位移后图像的高是否为4的倍数,若是,则执行步骤(5c),否则,执行步骤(5b)。(5b)对DC电平位移后图像的高进行边界对称扩展,使扩展后图像的高是4的倍数。(5c)判断DC电平位移后图像的宽是不是4的倍数,若是,则执行步骤6,否则,执行步骤(5d)。(5d)对图像的宽进行边界对称扩展,使扩展后图像的宽是4的倍数,得到扩展后图像。将DC电平位移后图像的高和宽对称扩展为4的倍数是指,使扩展后的图像的高和宽都能被4整除,扩展的行数或者列数在1到3的范围内。步骤6.双正交不变集多小波行变换。(6a)分别将扩展后图像的行序号k和行变换图像的行序号m初始化为1。(6b)将滤波器矩阵第一行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第一个元素,k表示扩展后图像的行序号,m表示行变换图像的行序号;将滤波器矩阵第一行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第二个元素;依此类推,将滤波器矩阵第一行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第i+1个元素,i表示图像元素序号,i的取值范围是W表示扩展后图像的宽度。(6c)将滤波器矩阵第二行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,k表示图像的行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第二行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素;依此类推,将滤波器矩阵第二行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,i表示图像元素序号,i的取值范围是(6d)将滤波器矩阵第三行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,k表示图像的行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第三行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素;依此类推,将滤波器矩阵第三行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,i表示图像元素序号,i的取值范围是(6e)将滤波器矩阵第四行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,k图像的表示行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第四行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素;依此类推,将滤波器矩阵第四行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第个元素,i表示图像元素序号,i的取值范围是(6f)分别将扩展后图像的行序号k和行变换图像的行序号m加1。(6g)判断加1后的扩展后图像的行序号k是否等于扩展后图像的高度,若是,则得到行变换图像,执行步骤7,否则,执行步骤(6b)。步骤7.双正交不变集多小波列变换。(7a)分别将扩展后图像的列序号n和列变换图像的列序号r初始化为1。(7b)将滤波器矩阵第一行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第一个元素,n表示图像的列序号;将滤波器矩阵第一行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第二个元素;依此类推,将滤波器矩阵第一行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第i+1个元素,i表示图像元素序号,i的取值范围是L表示扩展后图像的高度。(7c)将滤波器矩阵第二行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第二行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素;依此类推,将滤波器矩阵第二行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,i表示图像元素序号,i的取值范围是(7d)将滤波器矩阵第三行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第三行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素;依此类推,将滤波器矩阵第三行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,i表示图像元素序号,i的取值范围是(7e)将滤波器矩阵第四行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第四行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素;依此类推,将滤波器矩阵第四行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第个元素,i表示图像元素序号,i的取值范围是(7f)分别将扩展后图像的列序号n和列变换图像的列序号r加1。(7g)判断加1后的扩展后图像的列序号n是不是等于扩展后图像的宽度,若是,则得到双正交不变集多小波变换图像,执行步骤8,否则,执行步骤(7b)。步骤8.更新图像。将正交不变集多小波变换图像在范围的高和在范围内的宽的部分,作为DC电平位移后图像。步骤9.将双正交不变集多小波的变换层数减1。步骤10.判断减1后双正交不变集多小波变换层数是否是零,若是,得到扩展后的图像的多层双正交不变集多小波变换系数,则执行步骤11,否则,执行步骤5。这种双正交不变集多小波变换过程利用了双正交不变集多小波滤波器的特点采用了内积的方法,从而获得了变换效果与传统卷积下采用方法同样,算法复杂度却是传统方法的四分之一的优点,而且变换后能量和熵集中程度高具有更大的稀疏性,有利于后续的压缩编码。步骤11.量化系数。将扩展后的图像的多层双正交不变集多小波变换系数量化,量化时利用JPEG2000图像压缩系统的国际标准ISO/IEC15444-1:2000的量化过程。由于每层双正交不变集多小波变换的原图像的16个不同方向上的特征,而每层每层9/7小波变换只能得到原图像的4个不同方向上的特征,为了能利用JPEG2000图像压缩系统中标准的量化过程,可以把双正交不变集多小波变换与9/7小波变换做一个对应。对应时主要把双正交不变集多小波变换与9/7小波变换的低频部分对应起来就可以,其他方向可以根据需要进行对应。步骤12.算术编码。利用JPEG2000图像压缩系统中标准的基于上下文的位平面算术编码模块对小波变换后的系数进行处理,得到算术编码的码流。步骤13.率失真优化。利用JPEG2000图像压缩系统中标准的率失真优化截取模块对算术编码的码流进行率失真优化截取,记录截取点信息。步骤14.组织码流。JPEG2000图像压缩系统中标准的码流组织模块使用截取点信息,对算术编码的码流进行码流组织,得到JPEG2000的压缩码流。由于得到的JPEG2000的压缩码流,小波变换部分采用的是双正交不变集多小波变换,所以这个JPEG2000的压缩码流进行解压时,小波反变换部分也相应的需要采用双正交不变集多小波反变换。