本发明属于图像处理技术领域,具体涉及一种基于方向双四元数滤波器组的图像压缩方法。
背景技术:
数字图像在消费数码、医学影像、卫星遥感和视频会议等领域有着广泛的应用。实际上,各种成像设备所获取的图像都是经过压缩处理的,否则单幅图像所占用的存储空间会很大。以单反相机为例,一幅3600万像素的非压缩图像所占用的存储空间是108mb,一张16gb的存储卡大约只能存储150张非压缩图像。而采用图像压缩算法处理过后,上述3600万像素的图像所占用的存储空间一般不超过10mb,一张16gb的存储卡大约能存储两千张图片。因此,压缩图像可以极大地节省存储空间,提升数据传输效率。图像压缩方法的好坏直接影响到后续实际的工程应用。
经典的图像压缩方法有熵压缩方法、预测压缩方法、变换压缩方法和神经网络压缩方法等。熵压缩方法是一类利用数据的统计信息进行压缩的无语义数据流无损编码方法。预测压缩方法是利用图像的相邻像素值具有较强的相关性这一特点进行预测压缩编码。变换压缩方法是采用适当的离散正交变换(例如离散余弦变换、离散小波变换等)将图像从空域变换到频域,通过对变换系数的处理来实现压缩编码。神经网络压缩方法是模仿人的视觉系统某些局部的初级定位功能,并将其应用到图像压缩编码领域。
上述图像压缩方法各有优缺点。熵压缩方法的效率稍微差一点,但是该方法的优点是无损压缩。预测压缩方法中,图像被当成概率统计中的一个“随机过程”,通过已知像素的灰度值来预测当前像素的灰度值,这种预测是有误差的。预测压缩方法的优点是算法易于硬件实现,缺点很明显,它对图像中的噪声很敏感,会产生误码扩散,压缩率比较低。变换压缩方法通过正交变换将图像变为线性无关的一组系数,通过保留少数系数来实现图像压缩的目的。但变换压缩方法的计算复杂度往往较高。神经网络压缩方法是一种仿生压缩方法,通过模拟人脑处理信息的方式来实现压缩,该方法的缺点是计算复杂度高,很难用硬件来实现,目前也只停留在软件代码层面。
上述4类方法还有一个共同的缺点,即它们处理彩色图像的方式是分通道实现的。也就是说,上述方法将彩色图像的r、g和b颜色通道分别看成一幅灰度图像,针对灰度图像进行压缩编码。这种处理方式没有考虑彩色图像各颜色分量间的内在联系,直接影响到彩色图像的色彩还原性,容易出现色彩还原失真。因此,如何实现彩色图像的整体压缩编码就显得尤为重要,具有非常重要的研究意义和实用价值。
技术实现要素:
针对现有技术中存在的问题,本发明提供了一种基于方向双四元数滤波器组的图像压缩方法,本发明所采取的技术方案如下:
基于方向双四元数滤波器组的图像压缩方法,包括如下步骤:
步骤s1:对原始待压缩图像进行预处理,即将原始待压缩的图像用双四元数形式进行表征,得到图像f(x,y),变量x和y的取值范围是:x=1,2,...,m,y=1,2,...,n,其中m和n为正整数,分别是图像的行数和列数;
步骤s2:使用方向双四元数分析滤波器组对图像f(x,y)进行变换处理,得到不同方向的共计2t个子带频域图像{fm(u,v)|m=1,2,...,2t},变量u和v的取值范围是:u=1,2,...,m/2,v=1,2,...,n/2;
步骤s3:对每一个子带频域图像{fm(u,v)|m=1,2,...,2t}进行量化编码;
步骤s4:将量化编码后的数据进行存储输出得到压缩后的图像;
为了能够从压缩后的图像数据中恢复出原始图像,还需进行如下步骤:
步骤s5:将压缩图像进行量化解码来还原出子带频域图像;
步骤s6:使用方向双四元数综合滤波器组对步骤s5中所还原出来的子带频域图像进行反变换并得到双四元数形式的彩色图像;
步骤s7:提取步骤s6中双四元数形式彩色图像的实部或虚部分量来获取解压缩图像。
优选地,所述步骤s1中使用双四元数对原始待压缩图像表征的数学公式为:
f(x,y)=(fr(x,y)·i fg(x,y)·j fb(x,y)·k) (fr(x,y)·i fg(x,y)·j fb(x,y)·k)·i
其中fr(x,y)、fg(x,y)和fb(x,y)分别为彩色图像的r、g和b颜色分量,i、j、k和i分别为双四元数的虚数单位,其运算规则为:
i2=-1,j2=-1,k2=-1,i2=-1,ij=k,jk=i,ki=j。
优选地,所述步骤s2中方向双四元数分析滤波器组的滤波系数为:
优选地,所述步骤s3中的量化编码由阈值有效扫描完成。
优选地,所述步骤s6中方向双四元数综合滤波器组的滤波系数为:
与现有技术相比,本发明具有的有益效果是:本发明采用双四元数形式对彩色图像进行表征,使用方向双四元数分析滤波器组对图像进行子带分解,有效地提取出图像中的有用信息并进行量化编码,后续采用双四元数综合滤波器组还原出原始彩色图像,本方法在图像压缩的全过程中始终将彩色图像的三个颜色分量作为一个整体来处理,有效地克服了色彩还原失真的问题,适合于推广使用。
附图说明
图1为本发明的实施步骤框图;
图2为本发明中方向双四元数分析滤波器组结构图;
图3为本发明中阈值有效扫描流程图;
图4为本发明中方向双四元数综合滤波器组结构图。
具体实施方式
为了便于技术人员理解本发明的技术方案,现结合说明书附图和实施例对本发明的技术方案作进一步详细描述。
本发明提出了一种基于方向双四元数滤波器组的图像压缩方法,本发明所采取的技术方案如下:
结合图1,基于方向双四元数滤波器组的图像压缩方法包括如下步骤:
步骤s1:对原始待压缩的图像进行预处理,即将原始待压缩的图像用双四元数形式进行表征,得到图像f(x,y),变量x和y的取值范围是:x=1,2,...,m,y=1,2,...,n,其中m和n为正整数,分别是图像的行数和列数,为了便于后续方向双四元数滤波器组的子带分解,m和n的值应为2的整数次幂。
步骤s1中使用双四元数对原始待压缩图像表征的数学公式为:
f(x,y)=(fr(x,y)·i fg(x,y)·j fb(x,y)·k) (fr(x,y)·i fg(x,y)·j fb(x,y)·k)·i
其中fr(x,y)、fg(x,y)和fb(x,y)分别为彩色图像的r、g和b颜色分量,i、j、k和i分别为双四元数的虚数单位,其运算规则为:
i2=-1,j2=-1,k2=-1,i2=-1,ij=k,jk=i,ki=j。
步骤s2:使用图2所示方向双四元数分析滤波器组对图像f(x,y)进行变换处理,得到不同方向的共计2t个子带频域图像{fm(u,v)|m=1,2,...,2t},变量u和v的取值范围是:u=1,2,...,m/2,v=1,2,...,n/2;
需要注意的是,图2是一维方向双四元数分析滤波器组的结构图,为了使其能够处理二维图像,本发明采用张量积形式来实现二维操作,具体是通过先处理图像f(x,y)的行并进行t下采样,然后再处理图像的列并进行t下采样,通过这一方法来实现最终的图像滤波操作。图2中符号“↓t”表示t下采样。图2中的滤波系数为:
方向双四元数分析滤波器组由两组滤波系数构成,分别是h1(n),h2(n),...,h2t(n)和g1(n),g2(n),...,g2t(n),这两组滤波系数是对偶的。其中,h1(n)和h2(n)对应第1频带滤波系数,以此类推,h2t-1(n)和h2t(n)对应第t频带滤波系数。相应地,g1(n)和g2(n)是第t 1频带滤波系数,g2t-1(n)和g2t(n)是第2t频带滤波系数。
图2所示的方向双四元数分析滤波器组本质上是一种对偶冗余滤波器组,每一个频带对应一个二维图像的具体方向。例如,当t=8时,使用方向双四元数分析滤波器组所得到的8个子带频域图像,f1(u,v)着重体现水平方向上图像的频域信息,f2(u,v)着重体现45°方向上图像的频域信息,以此类推,相邻两个频带方向相差45°,f8(u,v)着重体现315°方向上图像的频域信息。需要注意的是,上述滤波系数均为长度为n的四元数值数组,在本实施例中,n的取值为10,具体如下:
h1(n)=(0-0.010.010.080.08-0.690.69-0.08-0.080)·(i j k)
h2(n)=(0-0.080.080.690.690.08-0.080.010.010)·(i j k)
h2t-1(n)=(0.010.010.080.080.690.690.08-0.0800)·(i j k)
h2t(n)=(00-0.08-0.080.69-0.690.080.080.01-0.01)·(i j k)
g1(n)=(0-0.08-0.080.69-0.690.080.080.01-0.010)·(i j k)
g2(n)=(00.010.01-0.080.080.690.690.08-0.080)·(i j k)
g2t-1(n)=(00-0.080.080.690.690.08-0.0800)·(i j k)
g2t(n)=(-0.010.010.080.08-0.690.69-0.08-0.0800)·(i j k)
对于第2频带到第t-1频带的滤波系数可以采用传统的m通道滤波器组理论方法得到,即使用依次移位和多相分解实现,这里不再一一赘述。需要注意的是,本发明所提及的滤波系数区别于传统的滤波系数之处是滤波系数的值为四元数,并且f1(u,v)和ft 1(u,v)中对应位置元素构成一个双四元数,以此类推,ft(u,v)和f2t(u,v)对应位置元素也构成一个双四元数,而传统的滤波系数值为一个实数。
步骤s3:对每一个子带频域图像{fm(u,v)|m=1,2,...,2t}进行量化编码。需要注意的是,每一个子带频域图像fm(u,v)均是一个四元数值矩阵,每一个矩阵元素对应一个频域系数,针对频域系数,按照图3所示的阈值有效扫描流程图来对频域系数进行编码,具体扫描流程如下:
首先判断当前扫描是否有效,如果是无效,即当前被扫描的频域系数(以下简称系数)已经被编码,直接跳出循环,扫描下一个系数;如果是有效,即当前被扫描的系数还没有被编码,则进入下一个流程,判断当前系数的实部和虚部分量是否大于阈值a。如果是,还需要进一步判断系数的符号,即进一步判断该系数的每一个分量是正数还是负数,对于正数对其进行编码并标记为正有效值ps,对于负数对其进行编码并标记为负有效值ns。以上步骤是对一个系数的扫描,对于子带频域图像fm(u,v)的每一个元素按照逐行逐列的形式进行判断。一个子带域图像fm(u,v)扫描完毕后再扫描其余的子带域图像,最终得到一个编码后的子带频域图像。
在本方法中,阈值a的取值为5。阈值越大,压缩率越高,但是解压缩后图像的失真程度越高。因此阈值的选择是一个折中问题,取决于实际的需求。
步骤s4:将量化编码后的数据(即{fm(u,v)|m=1,2,...,2t})进行存储输出得到压缩后的图像。这一步骤和传统的压缩算法所采用的方法相同,这里不再详细阐述。
为了能够从压缩后的图像数据中恢复出原始图像,还需进行如下步骤;
步骤s5:将压缩图像量化解码来还原出子带频域图像{fm(u,v)|m=1,2,...,2t}。本步骤实际上是步骤s3的逆过程,这里不再进一步展开叙述。需要说明的是,经过步骤s3的量化编码后,部分图像信息已经被破坏掉了,这个就是所谓的量化误差,这是绝大多数图像压缩过程中都存在的,只要在人眼视觉接受的范围内(即人眼无法察觉出解压缩的图像存在明显的失真)是允许存在的。实际上,步骤s3和步骤s5和传统压缩算法所使用的方法大致相同,唯一的不同是传统压缩算法进行量化编码的系数是一个实数,而本发明中所涉及到的量化编码的系数是一个四元数,这也将导致具体编码过程中的特殊性。
步骤s6:使用方向双四元数综合滤波器组对步骤s5中所还原出来的子带频域图像进行反变换并得到双四元数形式的彩色图像。方向双四元数综合滤波器组如图4所示,具体的滤波系数为:
方向双四元数综合滤波器组的滤波系数sf是通过分析滤波系数af进行四元数希尔伯特变换获得,在离散条件下,以
步骤s7:提取步骤s6中双四元数形式彩色图像的实部或虚部分量来获取解压缩图像。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
1.一种基于方向双四元数滤波器组的图像压缩方法,其特征在于,具体步骤如下:
步骤s1:对原始待压缩的图像进行预处理,即将原始待压缩的图像用双四元数形式进行表征,得到图像f(x,y),变量x和y的取值范围是:x=1,2,...,m,y=1,2,...,n,其中m和n为正整数,分别是图像的行数和列数;
步骤s2:使用方向双四元数分析滤波器组对图像f(x,y)进行变换处理,得到不同方向的共计2t个子带频域图像{fm(u,v)|m=1,2,...,2t},变量u和v的取值范围是:
u=1,2,...,m/2,v=1,2,...,n/2;
步骤s3:对每一个子带频域图像{fm(u,v)|m=1,2,...,2t}进行量化编码;
步骤s4:将量化编码后的数据进行存储输出得到压缩后的图像;
为了能够从压缩后的图像数据中恢复出原始图像,还需进行如下步骤:
步骤s5:将压缩图像进行量化解码来还原出子带频域图像;
步骤s6:使用方向双四元数综合滤波器组对步骤s5中所还原出来的子带频域图像进行反变换并得到双四元数形式的彩色图像;
步骤s7:提取步骤s6中双四元数形式彩色图像的实部或虚部分量来获取解压缩图像。
2.如权利要求1所述的基于方向双四元数滤波器组的图像压缩方法,其特征在于:所述步骤s1中使用双四元数对原始待压缩图像表征的数学公式为:
f(x,y)=(fr(x,y)·i fg(x,y)·j fb(x,y)·k) (fr(x,y)·i fg(x,y)·j fb(x,y)·k)·i
其中fr(x,y)、fg(x,y)和fb(x,y)分别为彩色图像的r、g和b颜色分量,i、j、k和i分别为双四元数的虚数单位,其运算规则为:
i2=-1,j2=-1,k2=-1,i2=-1,ij=k,jk=i,ki=j。
3.如权利要求1所述的基于方向双四元数滤波器组的图像压缩方法,其特征在于:所述步骤s2中方向双四元数分析滤波器组的滤波系数为:
其中,滤波器系数的值均为四元数。
4.如权利要求1所述的基于方向双四元数滤波器组的图像压缩方法,其特征在于:所述步骤s3中的量化编码由阈值有效扫描完成。
5.如权利要求1所述的基于方向双四元数滤波器组的图像压缩方法,其特征在于:所述步骤s6中方向双四元数综合滤波器组的滤波系数为:
其中,滤波器系数的值均为四元数。
技术总结