[0030] 为了便于技术人员理解本发明的技术方案,现结合说明书附图和实施例对本发明的技术方案作进一步详细描述。
[0031] 本发明提出了一种基于方向双四元数滤波器组的图像压缩方法,本发明所采取的技术方案如下:
[0032] 结合图1,基于方向双四元数滤波器组的图像压缩方法包括如下步骤:
[0033] 步骤S1:对原始待压缩的图像进行预处理,即将原始待压缩的图像用双四元数形式进行表征,得到图像f(x,y),变量x和y的取值范围是:x=1,2,...,M,y=1,2,...,N,其中M和N为正整数,分别是图像的行数和列数,为了便于后续方向双四元数滤波器组的子带分解,M和N的值应为2的整数次幂。
[0034] 步骤S1中使用双四元数对原始待压缩图像表征的数学公式为:
[0035] 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
[0036] 其中fR(x,y)、fG(x,y)和fB(x,y)分别为彩色图像的R、G和B颜色分量,i、j、k和I分别为双四元数的虚数单位,其运算规则为:
[0037] i2=‑1,j2=‑1,k2=‑1,I2=‑1,ij=k,jk=i,ki=j。
[0038] 步骤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;
[0039] 需要注意的是,图2是一维方向双四元数分析滤波器组的结构图,为了使其能够处理二维图像,本发明采用张量积形式来实现二维操作,具体是通过先处理图像f(x,y)的行并进行T下采样,然后再处理图像的列并进行T下采样,通过这一方法来实现最终的图像滤波操作。图2中符号“↓T”表示T下采样。图2中的滤波系数为:
[0040]
[0041] 方向双四元数分析滤波器组由两组滤波系数构成,分别是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频带滤波系数。
[0042] 图2所示的方向双四元数分析滤波器组本质上是一种对偶冗余滤波器组,每一个频带对应一个二维图像的具体方向。例如,当T=8时,使用方向双四元数分析滤波器组所得到的8个子带频域图像,F1(u,v)着重体现水平方向上图像的频域信息,F2(u,v)着重体现45°方向上图像的频域信息,以此类推,相邻两个频带方向相差45°,F8(u,v)着重体现315°方向上图像的频域信息。需要注意的是,上述滤波系数均为长度为n的四元数值数组,在本实施例中,n的取值为10,具体如下:
[0043] h1(n)=(0 ‑0.01 0.01 0.08 0.08 ‑0.69 0.69 ‑0.08 ‑0.08 0)·(i+j+k)[0044] h2(n)=(0 ‑0.08 0.08 0.69 0.69 0.08 ‑0.08 0.01 0.01 0)·(i+j+k)[0045] h2T‑1(n)=(0.01 0.01 0.08 0.08 0.69 0.69 0.08 ‑0.08 0 0)·(i+j+k)[0046] h2T(n)=(0 0 ‑0.08 ‑0.08 0.69 ‑0.69 0.08 0.08 0.01 ‑0.01)·(i+j+k)[0047] g1(n)=(0 ‑0.08 ‑0.08 0.69 ‑0.69 0.08 0.08 0.01 ‑0.01 0)·(i+j+k)[0048] g2(n)=(0 0.01 0.01 ‑0.08 0.08 0.69 0.69 0.08 ‑0.08 0)·(i+j+k)[0049] g2T‑1(n)=(0 0 ‑0.08 0.08 0.69 0.69 0.08 ‑0.08 0 0)·(i+j+k)
[0050] g2T(n)=(‑0.01 0.01 0.08 0.08 ‑0.69 0.69 ‑0.08 ‑0.08 0 0)·(i+j+k)[0051] 对于第2频带到第T‑1频带的滤波系数可以采用传统的M通道滤波器组理论方法得到,即使用依次移位和多相分解实现,这里不再一一赘述。需要注意的是,本发明所提及的滤波系数区别于传统的滤波系数之处是滤波系数的值为四元数,并且F1(u,v)和FT+1(u,v)中对应位置元素构成一个双四元数,以此类推,FT(u,v)和F2T(u,v)对应位置元素也构成一个双四元数,而传统的滤波系数值为一个实数。
[0052] 步骤S3:对每一个子带频域图像{Fm(u,v)|m=1,2,...,2T}进行量化编码。需要注意的是,每一个子带频域图像Fm(u,v)均是一个四元数值矩阵,每一个矩阵元素对应一个频域系数,针对频域系数,按照图3所示的阈值有效扫描流程图来对频域系数进行编码,具体扫描流程如下:
[0053] 首先判断当前扫描是否有效,如果是无效,即当前被扫描的频域系数(以下简称系数)已经被编码,直接跳出循环,扫描下一个系数;如果是有效,即当前被扫描的系数还没有被编码,则进入下一个流程,判断当前系数的实部和虚部分量是否大于阈值A。如果是,还需要进一步判断系数的符号,即进一步判断该系数的每一个分量是正数还是负数,对于正数对其进行编码并标记为正有效值PS,对于负数对其进行编码并标记为负有效值NS。以上步骤是对一个系数的扫描,对于子带频域图像Fm(u,v)的每一个元素按照逐行逐列的形式进行判断。一个子带域图像Fm(u,v)扫描完毕后再扫描其余的子带域图像,最终得到一个编码后的子带频域图像。
[0054] 在本方法中,阈值A的取值为5。阈值越大,压缩率越高,但是解压缩后图像的失真程度越高。因此阈值的选择是一个折中问题,取决于实际的需求。
[0055] 步骤S4:将量化编码后的数据(即{Fm(u,v)|m=1,2,...,2T})进行存储输出得到压缩后的图像。这一步骤和传统的压缩算法所采用的方法相同,这里不再详细阐述。
[0056] 为了能够从压缩后的图像数据中恢复出原始图像,还需进行如下步骤;
[0057] 步骤S5:将压缩图像量化解码来还原出子带频域图像{Fm(u,v)|m=1,2,...,2T}。本步骤实际上是步骤S3的逆过程,这里不再进一步展开叙述。需要说明的是,经过步骤S3的量化编码后,部分图像信息已经被破坏掉了,这个就是所谓的量化误差,这是绝大多数图像压缩过程中都存在的,只要在人眼视觉接受的范围内(即人眼无法察觉出解压缩的图像存在明显的失真)是允许存在的。实际上,步骤S3和步骤S5和传统压缩算法所使用的方法大致相同,唯一的不同是传统压缩算法进行量化编码的系数是一个实数,而本发明中所涉及到的量化编码的系数是一个四元数,这也将导致具体编码过程中的特殊性。
[0058] 步骤S6:使用方向双四元数综合滤波器组对步骤S5中所还原出来的子带频域图像进行反变换并得到双四元数形式的彩色图像。方向双四元数综合滤波器组如图4所示,具体的滤波系数为:
[0059]
[0060] 方向双四元数综合滤波器组的滤波系数SF是通过分析滤波系数AF进行四元数希尔伯特变换获得,在离散条件下,以 为例,可以由h1(n)与 进行卷积运算得到:
[0061] 类似的,我们可以得到 和
[0062] 步骤S7:提取步骤S6中双四元数形式彩色图像的实部或虚部分量来获取解压缩图像。
[0063] 应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。