快速压缩高光谱信号的矢量量化方法

文档序号:7814923阅读:180来源:国知局
快速压缩高光谱信号的矢量量化方法
【专利摘要】本发明针对高光谱图像数据量巨大,提出了一种快速压缩高光谱信号的矢量量化方案。对矢量数据的各分量按离散度进行重新排序,提取矢量数据的前几维分量组成训练矢量集,余下分量组成余下矢量数据,对训练矢量集进行聚类训练;再利用训练矢量数据的编码索引对余下矢量数据直接进行归类;将训练矢量数据的码书和余下矢量数据的码书重组,得到矢量数据的最终码书,完成高光谱图像的压缩编码。本发明使矢量的大部分能量集中在低维部分,仅仅提取矢量数据低维部分进行训练,空间复杂度得到很大减小。不仅能保证图像恢复质量基本不变、大量缩小压缩过程的空间复杂度,还能达到大幅度降低各类计算量,快速高效完成高光谱图像压缩的目标。
【专利说明】快速压缩高光谱信号的矢量量化方法

【技术领域】
[0001] 本发明属于高光谱遥感图像处理领域,具体涉及一种快速压缩高光谱信号的矢量 量化方案。

【背景技术】
[0002] 随着光学技术与传感技术的发展,在二十世纪八十年代,高光谱遥感技术应运而 生。这一技术利用具有高光谱分辨率的成像光谱仪进行对地观测,产生一组将光谱信息和 图像信息合二为一的三维高光谱图像。高光谱图像的每个光谱波段对应观测场景一幅完整 的二维图像,用于把握物质空间结构,而场景中的每个像素点可以提取出一条连续的光谱 曲线,用于确定地物性质。所以利用高光谱图像能精确地实现地物分类、目标检测和异常检 测,在地质、环境、水文、大气、农业、军事等方面具有重要的应用价值。
[0003] 但是在信息量丰富的同时,高光谱图像也具有数据量庞大的特点。高光谱图像的 波段数往往达到数百个,光谱分辨率达到纳米级,如果每个像素灰度值用2字节存储,那么 一幅大小为614X512X224的高光谱图像,大约需要140Mbit的存储空间。尤其,随着成 像光谱技术的不断发展,光谱分辨率还在不断提高,高光谱图像的数据量还将继续增加,因 此,研究出快速有效的高光谱图像压缩方法显得十分迫切。
[0004] 高光谱图像的特征最为突出的是图像的相关性。高光谱图像的相关性包括两个方 面:空间相关性和谱间相关性。空间相关性指每个光谱波段内某一像素与其相邻像素之间 的相似性;谱间相关性是指图像同一空间位置像素与相邻波段像素有相似性。高光谱图像 涉及的目标大,空间相关性较普通二维图像低,而高光谱图像不同波段涉及的地面目标相 同,谱间相关性高,而且谱间相关性强于空间相关性。
[0005] 矢量量化技术压缩比高、编解码简单,是一种快速有效的数据压缩手段。矢量量化 的原理是把数据划分为数据块,直接对数据块进行量化,而不需要去相关处理。基于矢量量 化的压缩方案理论上是以信息的高阶熵为下限,能在高压缩率和平均最小失真间获得最佳 折衷。
[0006] 矢量量化编码由两大关键技术组成:码书设计和码字搜索。码书设计指寻找最优 码书,使恢复图像与原始图像之间的失真达到最小,以保证重构图像获得较好的质量;码字 搜索指快速地找到与输入矢量最匹配的码字。矢量量化的主要问题是其较高的压缩复杂性 度,尤其是码书产生的过程,其计算量随着矢量维数的增加呈指数增长。所以,矢量快速搜 索算法这一领域一直是比较活跃的,不断有新的算法出现。
[0007] 矢量量化中码书设计的经典算法是1980年由Linde、Buzo、Gray三人提出的 LBG (Linde Bazo Gray)算法。它不需要事先知道输入矢量的概率分布,通过训练矢量集和 一定的迭代算法来逼近最优的再生码本。LBG算法的思想是:①随意选取N个训练矢量作 为码矢量;②由这N个码矢量对所有的训练矢量进行划分,即分成N个集合,使每个集合中 的矢量,都是与各码矢量距离中,与对应的码矢量的距离最小的;③由这N个集合的重心, 得到N个新的码矢量;④如果这些码矢量与原来的码矢量变化不大(收敛),就完成码书的 训练,否则重新进行②、③。图1为传统的LBG方法流程框图。LBG算法的思想比较简单,但 是其对初始码书依赖性强,计算量大。


【发明内容】

[0008] 本发明针对现有高光谱图像压缩方案,在获得较高的图像恢复质量时,计算复杂 度高的问题,提出了一种快速压缩高光谱信号的矢量量化方案。该方案能在保证图像恢复 质量几乎不变的情况下,大幅度降低计算复杂度,快速高效地实现高光谱图像的压缩。
[0009] -种快速压缩高光谱信号的矢量量化方法,包括步骤:读取高光谱图像数据,截取 部分转化为2维的矢量数据并分割成Μ个小部分,其中,Μ是2到9之间的一个整数,对分割 出的各部分矢量数据分别进行Hadamard变换;对Hadamard变换域的各部分矢量数据分别 作离散度排序得到各部分离散度排序后的矢量数据(B 1D、B2D,一,BM);提取离散度排序后矢 量数据行矢量的前η维分量组成训练矢量集(B 1T、B2T,…,BMT),剩下的k-n维分量组成对应 部分的余下矢量数据(B 1K、B2K,…,BMK),其中,n = log2(k),k = 2n为该部分矢量数据行矢量 的总维数;对训练矢量集(B1T、B2T,…,B MT)分别进行训练,得到矢量量化最后一次迭代产生 的各部分训练矢量码书(Yldie、Y 2die,···,¥"&)和对应的训练矢量码字索引(Ildie、I2die,…, IMdie);根据最后一次迭代产生的训练矢量码书和对应的训练矢量码字索引计算余下矢量 数据的码书,将训练矢量码书和余下矢量码书重组连接,通过离散度反排序和hadamard反 变换恢复出空域完整码书;打包空域完整码书和对应的空域完整码字索引,存储或传输。其 中,B m代表第Μ部分离散度排序后的矢量数据,BMT代表第Μ部分训练矢量集,BMK代表第Μ 部分余下矢量数据,YMdie、IMdie分别代表最后一次迭代产生的第Μ部分训练矢量码书和第Μ 部分训练训练码码字索引。
[0010] 分割矢量数据具体包括:读取3维高光谱图像数据,截取部分相同空间位置的像 素值转化为2维的矢量数据并分割为Μ个小部分,Μ最好取2到9之间的一个整数,分割原 则为:每部分的矢量维数都为2η或最接近2η,维数不为2η的部分通过末尾补零使其维数为 最接近2 η,各部分矢量维数之和尽量接近原矢量维数,其中,η为不小于5的正整数。所述 离散度排序具体为:将行矢量某一维分量的最大值减去最小值得到差值获取行矢量该维分 量的离散度,将离散度值分别按照降序排序,得到对应的排序索引作为各部分矢量数据的 离散度排序索引,按照离散度排序索引将对应的各部分矢量数据的行矢量分量重排序,得 到离散度排序后的各部分矢量数据(B 1D、B2D,…,Β")。提取训练矢量集具体为:提取离散 度排序后的各部分矢量数据的前η维分量组成对应部分的训练矢量集(Β 1Τ、Β2Τ,…,ΒΜΤ), 其中,η = log2(k),k = 2η为该部分矢量数据行矢量的维数。对训练矢量集(Β1Τ、Β2Τ,…, ΒΜΤ)进行训练具体为:按照行矢量第一维分量值的大小对各部分训练矢量进行升序排序, 排序索引作为各部分矢量排序索引,按照各部分矢量排序索引重新排序各部分训练矢量, 将排序后的训练矢量按照码书大小进行平均分组,依次选取每组第一个矢量组成初始码 书,分组号作为初始码字索引;根据初始码书和初始码字索引搜索训练矢量对应的最佳匹 配码字,并将训练矢量划分到对应的胞腔中,记录对应的码字索引,直到所有矢量训练完 成,更新码书,以各胞腔的质心代替原来胞腔对应的码字。计算余下矢量数据(Β 1Κ、Β2Κ,…, 码书具体为:按照最终训练矢量码字索引(Ι1Τ、Ι 2Τ,…,ΙΜΤ)分别把对应部分余下矢量 数据(Β1Κ、Β2Κ,…,Β ΜΚ)中的行矢量依次分配到对应的胞腔中,以各胞腔质心作为对应胞腔 余下矢量数据的最终余下矢量码字(Y1K、Y2K,…,Y"R)。所述搜索最佳匹配码字具体包括如 下步骤:①根据训练矢量X的第1维分量Xi、当前码字t的第1维分量Yf根据公式A = (XiU2获取第一维分量差平方Di,如果Di彡Dmin,且Xi彡Yy排除码字Yi (i = 1,…,j), 如果Di彡Dmin,且&彡Y#时,排除码字Υ, (i = j,…,N),否则执行步骤②;②根据公式:

【权利要求】
1. 一种快速压缩高光谱信号的矢量量化方法,其特征在于,读取高光谱图像数据,截 取转化为2维的矢量数据并分割成M部分,对分割出的各部分矢量数据分别进行哈达玛 Hadamard变换;对Hadamard变换域的各部分矢量数据分别作离散度排序得到矢量数据 (B1D、B2D,…,Bm);提取矢量数据行矢量的前n维分量组成训练矢量集(B1T、B2T,…,BMT),其 中,n=log2(k),k为该部分矢量数据行矢量的维数;对训练矢量集(B1T、B2T,…,Bmt)分别 进行训练,得到矢量量化最后一次迭代产生的各部分训练矢量码书(Yldi6、Y2di6,…,YMdi6)和 对应的训练矢量码字索引(Ildie、I2die,…,IMdie);计算余下矢量数据的码书,将训练矢量码 书和余下矢量码书重组连接,通过离散度反排序和hadamard反变换恢复出空域完整码书; 打包空域完整码书和对应的空域完整码字索引,存储或传输,其中,Bm代表第M部分离散度 排序后的矢量数据,Bmt代表第M部分训练矢量集,Bmk代表第M部分余下矢量数据,YMdie、IMdie 分别代表最后一次迭代产生的第M部分训练矢量码书和第M部分训练矢量码字索引。
2. 根据权利要求1所述的方法,其特征在于,分割矢量数据具体包括:读取3维高光谱 图像数据,截取部分相同空间位置的像素值转化为2维矢量数据并按照2 n的原则将矢量数 据分割为M个小部分,分割原则为:每部分的矢量维数都为2n,维数不为2n的部分通过末尾 补零使其维数为最接近2n,各部分矢量维数之和等于原矢量维数。
3. 根据权利要求1所述的方法,其特征在于,所述离散度排序具体为:将行矢量某一维 分量的最大值减去最小值得到差值获取行矢量该维分量的离散度,将离散度值分别按照降 序排序,得到对应的排序索引作为各部分矢量数据的离散度排序索引,按照离散度排序索 引将对应的各部分矢量数据的行矢量分量重排序,得到离散度排序后的各部分矢量数据。
4. 根据权利要求1所述的方法,其特征在于,对训练矢量集(B1T、B2t,…,Bmt)进行训 练具体为:按照行矢量第一维分量值的大小对各部分训练矢量进行升序排序,排序索引作 为各部分矢量排序索引,按照各部分矢量排序索引重新排序各部分训练矢量,将排序后的 训练矢量按照码书大小进行平均分组,依次选取每组第一个矢量组成初始码书;根据初始 码书和初始码字索引搜索训练矢量对应的最佳匹配码字,并将训练矢量划分到对应的胞腔 中,记录对应的码字索引,直到所有矢量训练完成,更新码书,以各胞腔的质心代替原来胞 腔对应的码字。
5. 根据权利要求1所述的方法,其特征在于,计算余下矢量数据码书具体为:按照训练 矢量码字索引(I1T、I2T,…,Imt)分别把对应部分余下矢量数据(B1K、B2K,…,Bme)中的行矢 量依次分配到对应的胞腔中,以各胞腔质心作为对应胞腔的余下矢量数据的余下矢量码字 Ydi,根据余下矢量码字构建余下矢量数据码书。
6. 根据权利要求4所述的方法,其特征在于,搜索最佳匹配码字具体包括如下 步骤:①根据训练矢量X的第1维分量X1、当前码字t的第1维分量Yf根据公式: D1 = (X1-Yjl)2获取第一维分量差平SD1,如果D1SDmin,且X1SYjl,排除码字Yi(i= 1,…,j),如果D1彡Dmin,且X1Ujl,排除码字Yi(i=j,…,N),否则执行步骤②;②根据 公式:
计算训练矢量X的方差Vx、码字t的方差VY,根据 公式
确定变量D2,若不等式D2 >Dmin成立则排除码字Yp③根据公式
M计算训练矢量X与当前码字t的累积失真,如 Dq (X,Yj)彡Dmin成立,排除码字Yj,否贝IJ把训练矢量X戈Ij分至IJ对应的胞腔中,其中,Xi为训练 矢量X的第i维分量,Y#为码字t的第i维分量,n为训练矢量的维数,Dmin为当前最小失 真,N为码书尺寸。
7.根据权利要求1-5其中之一所述的方法,其特征在于,将训练矢量码书和余下矢量 码书重组连接具体为:按最终训练矢量码字在前,最终余下矢量码字在后的顺序,把相同序 号的最终训练矢量码字和最终余下矢量码字连接起来,合并重组成2"维的完整码书。
【文档编号】H04N19/94GK104244018SQ201410484027
【公开日】2014年12月24日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】陈善学, 郑文静, 张佳佳, 杨亚娟 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1