一种基于K‑L变换误差空间拆分的图像数据压缩方法与流程

文档序号:12628345阅读:327来源:国知局

本发明属于数字图像处理技术领域,具体涉及一种基于K-L变换误差空间拆分的图像数据压缩方法。



背景技术:

近年来,随着计算机技术、通信网络技术和多媒体技术的飞速发展,人类创造出来的数字图像数量正以惊人的速度增长。另一方面,随着RGB图像获取设备分辨率的不断提高、面阵的不断增大以及多光谱图像获取设备的出现,单幅图像的数据量也在不断攀升。大数据量的图像信息给存储器的存储能力、计算机的处理能力和通信信道的传输能力带来了极大的挑战。很显然,仅依靠增加存储器的存储容量、改进计算机的处理速度、提升通信信道的带宽来解决这个问题是不现实的,因此,为更有效地存储、处理和传输这些图像数据,有必要对图像数据压缩技术开展深入研究。

一般图像信息中含有大量的冗余信息,如图像灰度级自然码编码引起的编码冗余、图像像素间相关性引起的空间冗余、视频图像序列间相关性引起的时间冗余、图像纹理结构间相似性引起的结构冗余、多光谱图像波长间相关性引起的维度冗余等等。正是由于这些冗余信息的存在,图像数据压缩才得以实现。图像数据压缩的目的就是对含有冗余成分的图像原数据按一定的规则进行变换和组合,从而去除或减少原数据中的冗余成分,达到以尽可能少的比特数来表征原图像数据,同时又尽可能好的复原图像的质量,使其符合预定应用场合的要求。

当前,图像数据压缩技术已逐步形成较为独立的技术体系,成为数字图像处理领域一个重要的分支,受到研究者们越来越多的关注。依据技术原理的不同,可将图像压缩技术分为统计编码、预测编码和变换编码三类。其中,正交变换编码技术可改变图像数据的能量分配,有效去除数据间的相关性。而统计编码技术根据图像数据的概率分布特性分配可变码长,使平均码长接近于熵,是一种无损压缩技术,主要面向图像数据中的编码冗余压缩,常用在正交变换后面作进一步压缩。

K-L变换,也称为PCA变换或霍特林变换,是一种线性正交变换,采用线性变换将相关的图像数据映射到新的正交空间,完全去除图像数据间的相关性,并对数据的能量进行集中化重新分配。通常,K-L变换后,少数主成分维度上将集中绝大部分的能量,故可用能量高度集中的低维空间近似地表征高维空间,达到图像数据压缩的目的。然而,用低维空间表征原始的高维空间将不可避免的产生压缩误差,特别是由于图像数据统计分布的不理想性,还会出现误差较大的显著像素点,影响图像视觉质量。因此,有必要采取一定原则,先对高维误差空间进行拆分,再用低维空间表征,不仅能在相同压缩比下降低图像压缩的整体误差,也能大幅度降低显著像素点产生的较大压缩误差。



技术实现要素:

本发明的目的是针对图像像素的统计分布特性,提供一种基于K-L变换误差空间拆分的图像数据压缩方法,在给定压缩比的情况下,进一步提升压缩图像质量。

本发明的技术方案为对K-L变换的误差空间进行优化拆分,使每个子空间中所有像素点到其重心距离的平方和最小,具体包括以下步骤:

一种基于K-L变换误差空间拆分的图像数据压缩方法,其特征在于,包括以下步骤:

步骤1,输入待压缩的图像数据,依据图像类型对数据进行重组,排列为P×Q的矩阵A,并计算矩阵A每行的直流分量,即每行的均值,具体以下公式:

<mrow> <msub> <mi>Mean</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>Q</mi> </munderover> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> <mi>Q</mi> </mfrac> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>..</mn> <mo>,</mo> <mi>P</mi> </mrow>

其中,ai,j为矩阵A在(i,j)位置处的元素值。Meani为矩阵A中第i行所有元素的直流分量值(均值)。

步骤2,去除矩阵A每行的直流分量,得到去除直流分量后的新矩阵去除方法基于公式:

<mrow> <msub> <mover> <mi>a</mi> <mo>&OverBar;</mo> </mover> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>Mean</mi> <mi>i</mi> </msub> </mrow>

其中,为矩阵中(i,j)位置处的元素。

步骤3,对实施K-L变换,得到按降序排列的特征值向量L和相应的特征向量矩阵V;

步骤4,由矩阵V获得在正交变换空间中的系数矩阵W,并依据特征值向量L的累积权重对系数矩阵W进行截取处理;

步骤5,将截取舍弃成分进行空间分类拆分,划分为k部分,得到矩阵A分类拆分后的k个子矩阵A1,A2,...,Ak;

步骤6,对拆分后的k个子矩阵A1,A2,...,Ak重做K-L变换,依据步骤1—步骤4,得到每个子矩阵的直流分量以及截取留下成分的特征向量矩阵和系数矩阵;

步骤7,对步骤6得到的系数矩阵进行量化和编码,同时对步骤6得到的直流分量和特征向量矩阵进行编码。

步骤8,对步骤7得到的编码数据进行保存或传输。

在上述的基于K-L变换误差空间拆分的图像数据压缩方法,所述步骤1所述的重组依据图像类型的不同分为以下三种情况:

情况一:输入为M×N的灰度图像数据,将原图分为m×n的小块,则行方向上的图像块数目为r=M/m,列方向上的图像块数目为c=N/n。对图像块按列相接进行排列,变为P×Q的矩阵A,其中,P=m*n,Q=r*c;

情况二:输入为M×N×3的三通道彩色图像数据,则可将每个通道看作是一个M×N的灰度图像数据进行重组。

情况三:输入为M×N×P的多光谱图像,P为多光谱图像的光谱维方向。则可对每个像素点的光谱作为列方向,重组成P×Q的矩阵A,其中,Q=M*N;

在上述的基于K-L变换误差空间拆分的图像数据压缩方法,步骤5所述的空间拆分采用K-means聚类实现。

在上述的基于K-L变换误差空间拆分的图像数据压缩方法,步骤4所述的截取可通过预设阈值Thr实现。先计算特征值降序排列的向量L=[l1,l2,...,lP]的累积权重,即:

<mrow> <msub> <mi>weight</mi> <mi>j</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>j</mi> </munderover> <msub> <mi>l</mi> <mi>i</mi> </msub> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>P</mi> </munderover> <msub> <mi>l</mi> <mi>k</mi> </msub> </mrow> </mfrac> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>P</mi> </mrow>

找其累积权重恰等于或大于预设阈值Thr的最小整数r,即r满足:

r=min{j|weightj≥Thr,j=1,2,...,P}

取系数矩阵W的前r个成分作为截取留下成分,构成近似表征高维空间的低维空间;余下的P-r个成分为截取舍弃成分。

在上述的基于K-L变换误差空间拆分的图像数据压缩方法,步骤5用K-means聚类法对步骤4所得截取舍弃成分进行基于欧几里德距离的分类拆分,划分为k部分。其中,K-means聚类法原理可参考文献[Gan G,Ma C,Wu J.Data clustering:theory,algorithms,and applications[M].Siam,2007]。

在上述的基于K-L变换误差空间拆分的图像数据压缩方法,步骤6中,重复操作步骤1—4,对步骤5获到的k个子矩阵做K-L变换,得到每个子矩阵的直流分量以及截取留下成分的特征向量矩阵和系数矩阵;

在上述的基于K-L变换误差空间拆分的图像数据压缩方法,步骤7所述的量化是把步骤6所得的变换系数映射到整数集上,有均匀量化和非均匀量化两种方法:均匀量化是指量化的整数集是等步长取值;非均匀量化是指量化的整数集是非等步长取值,多为指数级步长取值。量化值的数目称为量化级数,一般为2的整数次幂。

在上述的基于K-L变换误差空间拆分的图像数据压缩方法,步骤7所述的编码方法有定长编码和变长编码两种:定长编码是数据编码最简单的方式,即给每个量化后的系数赋予等长的码字;变长编码则通过给出现概率大的系数赋予较短的码字,改变码字长度达到压缩数据冗余目的。

本发明从空间拆分的思路出发,采用K-means聚类算法,对经K-L变换后截取舍弃成分进行空间聚类拆分,达到降低图像数据压缩误差的目的。与现有技术相比,在相同压缩比下,本发明不仅能降低图像压缩的平均均方根误差,也能大幅降低原始K-L变换压缩误差较大的视觉显著像素点。总而言之,本发明压缩性能良好,同一压缩比下图像的客观保真度和主观保真度更加优良。

附图说明

图1为本发明实施例的流程图。

具体实施方式

以下结合附图对本发明的具体实施过程作进一步说明。

如图1所示,本发明实施例主要包括以下过程:

1)输入待压缩的图像数据,依据图像类型对数据进行重组,排列为P×Q的矩阵A。

根据输入图像的类型,本实施例进行以下处理:

若输入为M×N的灰度图像数据,本实施例将原图分为8×8的小块,则行方向上的图像块数目为r=M/8,列方向上的图像块数目为c=N/8。对图像块按列相接进行排列,变为P×Q的矩阵A,其中,P=64,Q=r*c;

若输入为M×N×3的三通道彩色图像数据,本实施例将每个通道看作一个M×N的灰度图像数据进行重组。将每个通道分别分为8×8的小块,则行方向上的图像块数目为r=M/8,列方向上的图像块数目为c=N/8。对每个通道的图像块按列相接进行排列,变为P×Q的矩阵A,其中,P=64,Q=r*c;

若输入为M×N×P的多光谱图像,P为多光谱图像的光谱维方向,一般在波长400nm-700nm内以10nm间隔取样,即P=31。本实施例以每个像素点的光谱维为矩阵A的列方向,将多光谱图像重组成P×Q的矩阵A,其中,Q=M*N;

2)计算该矩阵A每行的直流分量(即均值)。

本实施例中,按如下公式计算矩阵A每行的直流分量:

<mrow> <msub> <mi>Mean</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>Q</mi> </munderover> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mrow> <mi>Q</mi> </mfrac> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>..</mn> <mo>,</mo> <mi>P</mi> </mrow>

其中,ai,j为矩阵A在(i,j)位置处的元素值。Meani为矩阵A中第i行所有元素的直流分量值(均值)。

3)去除矩阵A每行的直流分量,得到去除直流分量后的新矩阵其计算如下:

<mrow> <msub> <mover> <mi>a</mi> <mo>&OverBar;</mo> </mover> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>a</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>Mean</mi> <mi>i</mi> </msub> </mrow>

其中,为矩阵中(i,j)位置处的元素。

4)对实施K-L变换,得到按降序排列的特征值向量L和相应的特征向量矩阵V。

本实施例中,对矩阵实施K-L变换的过程按参考文献[Gonzalez R C,Woods R E.Digital image processing,3rd edition[M].Prentice Hall,2002]所述,得到按降序排列的特征值向量L=[l1,l2,...,lP]和特征向量矩阵V=[v1,v2,...,vP]。其中,l1≥l2≥,...,≥lP;v1,v2,...,vP为与特征值l1,l2,...,lP相对应的特征向量。

5)依据矩阵V获得矩阵在变换空间中的系数矩阵W。

本实施例中,用如下公式获得矩阵的变换系数矩阵W:

<mrow> <mi>W</mi> <mo>=</mo> <msup> <mi>V</mi> <mi>T</mi> </msup> <mover> <mi>A</mi> <mo>&OverBar;</mo> </mover> </mrow>

其中,VT表示矩阵V的转置矩阵。

6)依据特征值向量L的累积权重对系数矩阵W进行截取处理;

本实施例中,特征向量L的累积权重计算公式如下:

<mrow> <msub> <mi>weight</mi> <mi>j</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>j</mi> </munderover> <msub> <mi>l</mi> <mi>i</mi> </msub> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>P</mi> </munderover> <msub> <mi>l</mi> <mi>k</mi> </msub> </mrow> </mfrac> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>P</mi> </mrow>

本实施例中,设置截取阈值Thr为96%。取累计权重weightr≥96%时的最小r值作为截取依据,即r满足:

r=min{j|weightj≥96%,j=1,2,...,P}

取系数矩阵W的前r个成分作为截取留下成分,构成近似表征高维空间的低维空间;余下的P-r个成分为截取舍弃成分。

7)对实施步骤6)的截取舍弃成分进行空间分类拆分,划分为k部分,得到矩阵A分类拆分后的子矩阵A1,A2,...,Ak;

本实施例中,采用参考文献[Gan G,Ma C,Wu J.Data clustering:theory,algorithms,and applications[M].Siam,2007]所述的K-means聚类原理,将截留舍弃成分按欧几里德距离进行分类,划分为5部分,标记每类的样本序号,依据样本序号对矩阵A中的样本进行拆分。

8)对5个子矩阵重复操作2)—6),得到每个子矩阵的直流分量以及截取留下成分的特征向量矩阵和系数矩阵。

本实施例中,对拆分后的5个子矩阵A1,A2,...,Ak重做K-L变换,依据2)—6),得到每个子矩阵的直流分量以及截取留下成分的特征向量矩阵和系数矩阵。

9)对8)得到的系数矩阵进行量化和编码。

本实施例中,采用均匀量化对系数矩阵进行量化。根据系数对应的特征值不同,采用不同的量化步长。对应特征值较大的系数采用较小的量化步长,对应特征值较小的系数采用较大的量化步长。

本实施例中,对量化后的系数矩阵采用可变码长编码中的Huffman编码技术,原理参考文献[Gonzalez R C,Woods R E.Digital image processing,3rd edition[M].Prentice Hall,2002]。

10)对8)得到的直流分量和特征向量矩阵进行编码。

本实施例中,对8)得到的直流分量编码采用固定码长的8bit编码。

本实施例中,对8)得到的特征向量矩阵编码采用同9)一样的Huffman编码技术,原理参考文献[Gonzalez R C,Woods R E.Digital image processing,3rd edition[M].Prentice Hall,2002]。

11)对9)和10)得到的编码数据进行保存或传输。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1