一种保持目标信息的压缩方法和系统转让专利

申请号 : CN201710212403.6

文献号 : CN106998472B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 颜露新蔡昔张天序陈立群张玉山钟胜

申请人 : 华中科技大学

摘要 :

本发明公开了一种保持目标信息的压缩方法和系统,其中方法包括:采集原始图像,对原始图像进行去最大中值处理,得到去最大中值图像;对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,记录疑似目标点所在像素点的行信息和列信息,得到并记录疑似目标点所在的子块图像的位置;对原始图像将疑似目标点所在的子块图像记为无损子块图像,进行无损压缩,将其他子块图像记为有损子块图像,进行有损压缩,得到保持目标信息的压缩图像。本发明在保持目标信息的前提下人工操作简单实现复杂度低、实时性高、处理速度快。

权利要求 :

1.一种保持目标信息的压缩方法,其特征在于,包括以下步骤:

(1)采集原始图像,读取图像的行信息和列信息,将原始图像划分为N个子块图像;

(2)对原始图像进行去最大中值处理,得到去最大中值图像;

(3)对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,否则检测结果为该像素点不是疑似目标点;

(4)记录疑似目标点所在像素点的行信息和列信息,得到并记录疑似目标点所在的子块图像的位置;

(5)对原始图像将疑似目标点所在的子块图像记为无损子块图像,将其他子块图像记为有损子块图像;将无损子块图像的微损度设置为0,将有损子块图像的微损度设置为1、2、

3中的任意一个,微损度为1时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-

1、0、或1;微损度为2时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-2、-1、

0、1或2;微损度为3时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-3、-2、-

1、0、1、2或3;

(6)对无损子块图像进行无损压缩,对有损子块图像进行有损压缩,得到保持目标信息的压缩图像;所述步骤(3)中阈值为th’=k*σ,其中,σ为去最大中值之后的图像的标准差;k为标准差倍数。

2.一种保持目标信息的压缩系统,其特征在于,包括以下模块:

图像划分模块,用于采集原始图像,读取图像的行信息和列信息,将原始图像划分为N个子块图像;

去最大中值模块,用于对原始图像进行去最大中值处理,得到去最大中值图像;

疑似目标点检测模块,用于对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,否则检测结果为该像素点不是疑似目标点;

疑似目标点位置记录模块,用于记录疑似目标点所在像素点的行信息和列信息,得到并记录疑似目标点所在的子块图像的位置;

损度记录模块,用于对原始图像将疑似目标点所在的子块图像记为无损子块图像,将其他子块图像记为有损子块图像;将无损子块图像的微损度设置为0,将有损子块图像的微损度设置为1、2、3中的任意一个,微损度为1时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-1、0、或1;微损度为2时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-2、-1、0、1或2;微损度为3时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-3、-2、-1、0、1、2或3;图像压缩模块,用于对无损子块图像进行无损压缩,对有损子块图像进行有损压缩,得到保持目标信息的压缩图像;

所述阈值为th’=k*σ,其中,σ为去最大中值之后的图像的标准差;k为标准差倍数。

说明书 :

一种保持目标信息的压缩方法和系统

技术领域

[0001] 本发明属于图像压缩领域,更具体地,涉及一种保持目标信息的压缩方法和系统。

背景技术

[0002] 近年来我国在外太空探索和对地观测等空间应用领域正处于高速发展阶段,传感器的性能也随之得到了极大的提升,红外遥感影像不论是在时间、空间分辨率还是在光谱分辨率上都不断提高,高分辨率大幅面红外遥感数据的原始数据率达到数Gbits。红外遥感数据量日益庞大,使得有限的信道带宽和数据存储容量与传输大量遥感数据之间的矛盾日益突出。显然,数据压缩技术是解决这一问题的一个有效途径。在弱小目标的红外监视图像数据压缩系统中,弱小目标信息尤为重要,其余信息重要性相对较低,因此如何在保持弱小目标信息的同时提升压缩性能,是改善压缩比的关键。
[0003] 一般说来,图像分辨率越高,相邻采样点的相关性越高,数据冗余度也越大。对遥感数据进行压缩,有利于节省通信信道和存储容量,提高信息的传输和存储速率;数据压缩之后有利于实现保密通讯,提高系统的整体可靠性。特别地,遥感数据的极为宝贵且获取不易,因此在对遥感数据压缩时无损/近无损压缩起到了极为重要的作用。同时,在军事应用领域,实时性是遥感数据获取、传输和处理的首要指标,因此对遥感数据的压缩处理还必须满足高实时性的要求。再者,星上空间极为复杂而恶劣,电路易因单粒子翻转等出错,而星地链路则易收天气状况影响,在恶劣天气下易产生信道误码,因此压缩系统必须具有极高的可靠性。

发明内容

[0004] 针对现有技术的以上缺陷或改进需求,本发明提供了一种保持目标信息的压缩方法和系统,其目的在于采用了有损压缩和无损压缩两种压缩结合的方式来达到更可靠、更高效的压缩模式,由此解决图像压缩中,有损压缩会损失弱小目标区的信息,而无损压缩的压缩比不高的技术问题。
[0005] 为实现上述目的,按照本发明的一个方面,提供了一种保持目标信息的压缩方法,包括以下步骤:
[0006] (1)采集原始图像,读取图像的行信息和列信息,将原始图像划分为N个子块图像;
[0007] (2)对原始图像进行去最大中值处理,得到去最大中值图像;
[0008] (3)对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,否则检测结果为该像素点不是疑似目标点;
[0009] (4)记录疑似目标点所在像素点的行信息和列信息,得到并记录疑似目标点所在的子块图像的位置;
[0010] (5)对原始图像将疑似目标点所在的子块图像记为无损子块图像,将其他子块图像记为有损子块图像;
[0011] (6)对无损子块图像进行无损压缩,对有损子块图像进行有损压缩,得到保持目标信息的压缩图像。
[0012] 进一步的,步骤(3)中阈值为th’=k*σ,其中,σ为图像的标准差;k为标准差倍数。
[0013] 按照本发明的另一个方面,提供了一种保持目标信息的压缩系统,包括以下模块:
[0014] 图像划分模块,用于采集原始图像,读取图像的行信息和列信息,将原始图像划分为N个子块图像;
[0015] 去最大中值模块,用于对原始图像进行去最大中值处理,得到去最大中值图像;
[0016] 疑似目标点检测模块,用于对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,否则检测结果为该像素点不是疑似目标点;
[0017] 疑似目标点位置记录模块,用于记录疑似目标点所在像素点的行信息和列信息,得到并记录疑似目标点所在的子块图像的位置;
[0018] 损度记录模块,用于对原始图像将疑似目标点所在的子块图像记为无损子块图像,将其他子块图像记为有损子块图像;
[0019] 图像压缩模块,用于对无损子块图像进行无损压缩,对有损子块图像进行有损压缩,得到保持目标信息的压缩图像。
[0020] 进一步的,阈值为th’=k*σ,其中,σ为图像的标准差;k为标准差倍数。
[0021] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0022] (1)能够自动检测出弱小目标的位置,并对包含目标的子块进行无损压缩,保持了弱小目标信息,同时对不包含目标的子块进行有损压缩,从而大大提升了压缩比,减小了数据传输带宽的压力。
[0023] (2)硬件实现复杂度低,操作简单,可以达到高效的压缩模式。
[0024] (3)在一帧图像内检测和压缩同时进行,采用了流水设计,具有很高的实时性,由此达到极高的处理速度,适合硬件实现。
[0025] (4)采用了检测弱小目标后,根据子块是否包含了弱小目标而对该子块进行选择无损或微损的压缩模式,并且该系统的实现复杂度低、实时性高、处理速度快,取得了提升压缩比、保持弱小目标信息、人工操作简单、适合红外监测环境实现等一系列的有益效果。

附图说明

[0026] 图1是一种保持目标信息的压缩方法的流程图;
[0027] 图2是去最大中值模块中八个方向示意图;
[0028] 图3是去最大中值结果输出子模块的操作示意图;
[0029] 图4是传统的计算阈值的示意图;
[0030] 图5是第一检测子模块的操作示意图;
[0031] 图6是第一记录子模块的操作示意图;
[0032] 图7是疑似目标点位置信息输入图像缓存模块示意图;
[0033] 图8是图像缓存模块的操作示意图;
[0034] 图9是损度标记模块的操作示意图。

具体实施方式

[0035] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0036] 如图1所示,一种保持目标信息的压缩方法,包括以下步骤:
[0037] (1)采集原始图像,读取图像的行信息和列信息,将原始图像划分为N个子块图像;
[0038] (2)对原始图像进行去最大中值处理,得到去最大中值图像;
[0039] (3)对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,否则检测结果为该像素点不是疑似目标点;
[0040] (4)记录疑似目标点所在像素点的行信息和列信息,得到并记录疑似目标点所在的子块图像的位置;
[0041] (5)对原始图像将疑似目标点所在的子块图像记为无损子块图像,将其他子块图像记为有损子块图像;
[0042] (6)对无损子块图像进行无损压缩,对有损子块图像进行有损压缩,得到保持目标信息的压缩图像。
[0043] 进一步的,步骤(3)中阈值为th’=k*σ,其中,σ为图像的标准差;k为标准差倍数。
[0044] 按照本发明的另一个方面,提供了一种保持目标信息的压缩系统,包括以下模块:
[0045] 图像划分模块,用于采集原始图像,读取图像的行信息和列信息,将原始图像划分为N个子块图像;
[0046] 去最大中值模块,用于对原始图像进行去最大中值处理,得到去最大中值图像;
[0047] 疑似目标点检测模块,用于对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,否则检测结果为该像素点不是疑似目标点;
[0048] 疑似目标点位置记录模块,用于记录疑似目标点所在像素点的行信息和列信息,得到并记录疑似目标点所在的子块图像的位置;
[0049] 损度记录模块,用于对原始图像将疑似目标点所在的子块图像记为无损子块图像,将其他子块图像记为有损子块图像;
[0050] 图像压缩模块,用于对无损子块图像进行无损压缩,对有损子块图像进行有损压缩,得到保持目标信息的压缩图像。
[0051] 进一步的,阈值为th’=k*σ,其中,σ为图像的标准差;k为标准差倍数。
[0052] 实施例1
[0053] 一种保持目标信息的压缩系统,包括以下模块:
[0054] 图像划分模块,用于采集原始图像,读取图像的行信息和列信息,确定图像幅面大小,本实施例使用的图像幅面为行数R=11635、列数C=6528;将原始图像划分为N个子块图像,得到分块参数,通过分块参数来读入分块行数和分块列数,有8×32、8×64、16×32和16×64四种分块参数可选,其中默认参数为8×32分块,分块参数在压缩过程中可改变但在一帧图像中保持不变,在JPEG-LS常规编码模式中一个分块是最小的编码单元。
[0055] 去最大中值模块,用于根据图像处理窗口模块进行去最大中值处理,得到去最大中值图像;
[0056] 进一步的,去最大中值模块的具体实现方式为:以实时的5×5的图像处理窗口的中心点为实时处理像素点,求8个方向上的像素的中间值,然后找出8个中间值的最大值即为最大中值,将实时处理像素减去相应的最大中值。
[0057] 图像处理窗口的具体实现包括:图像处理窗口模块,用于采集原始图像,将串行输入的图像像素进行缓存得到并行输出的图像像素,生成5×5图像处理窗口;
[0058] 进一步的,图像处理窗口模块包括第一图像处理窗口子模块和第二图像处理窗口子模块,
[0059] 第一图像处理窗口子模块,用于将输入进来的非连续的像素进行缓存,由于输入图像像素并不是连续的,而生成5×5图像处理窗口时需要每行像素连续,这样才能5行图像像素并行输出,从而正确生成图像处理窗口,因此需要,通过FIFO(first input first output,一种先进先出的像素缓存器)自带的计数器(data_count)来进行像素计数,当计数器达到6528时开始从FIFO连续读出6528个图像像素,同时FIFO保持继续写入,当一行图像像素读完后再次对data_count进行判断,若data_count≥6528,则读出一行图像像素,反之则继续等待;
[0060] 第二图像处理窗口子模块,用于得到并行输出的图像像素,为了生成5×5图像处理窗口,本实施例采用串联FIFO的形式来产生并行的5行图像像素,具体的,依次为FIFO1、FIFO2、FIFO3、FIFO4,data_row0为写入FIFO1读出后再写入FIFO2读出后再写入FIFO3然后读出再写入FIFO4,最后由FIFO4读出的一行图像像素;data_row1为写入FIFO1读出后再写入FIFO2读出后再写入FIFO3,最后由FIFO3读出的一行图像像素;data_row2为写入FIFO1读出后再写入FIFO2再由FIFO2读出的一行图像像素;data_row3为写入FIFO1后由FIFO1读出的一行图像像素;data_row4为最新输入到该模块的一行图像像素,将连续的像素经过FIFO移位操作、缓存形成一个同一列5个像素并行输出的结构,在每一行的输入端各自增加一个控制逻辑,将一行连续的五个像素并行输出,即可进一步形成一个5×5的图像处理窗口,图像处理窗口随着每个像素的输入而逐步向右平移,从而可实现对图像像素进行去最大中值处理的流水结构。
[0061] 进一步的,去最大中值模块包括单方向中值判断子模块、最大中值判断子模块、像素坐标计算子模块和去最大中值结果输出子模块。
[0062] 单方向中值判断子模块,用于以实时处理像素为中心,根据生成的5×5的图像处理窗口,如图2所示,将图像处理窗口分为8个方向,将各方向上像素做比较,分别求出8个方向上的中间值;
[0063] 最大中值判断子模块,用于将单方向中值判断子模块得到的8个单方向上的中间值两两作比较得到4个较大值,再将这4个值两两作比较得到2个较大值,最后将这两个值中的较大值输出,作为当前像素去最大中值处理的最大中值;
[0064] 像素坐标计算子模块,用于根据像素有效信号,来计算像素的坐标,得到像素具体的行信息和列信息得到像素的坐标,并随像素一起输入去最大中值结果输出子模块;
[0065] 去最大中值结果输出子模块,用于根据输入像素的坐标检测其是否位于边界区域,如图3所示,即判断像素所在行数是否属于顶、底2行,所在列数是否属于左、右2列,若当前像素为边界像素,则输出的去最大中值结果置零,若当前像素不属于边界像素,则将当前像素值减去最大中值判断子模块计算的最大中值,即去最大中值处理,并将结果输出,得到去最大中值后的图像。
[0066] 疑似目标点检测模块,用于对去最大中值之后的图像中所有像素点进行检测,当去最大中值之后的图像中的像素点处的像素值大于等于阈值,检测结果为该像素点为疑似目标点,否则检测结果为该像素点不是疑似目标点;
[0067] 其中,阈值计算的具体实现包括:
[0068] 阈值计算模块,用于对去最大中值后的图像进行计算得到图像的标准差,然后根据图像的标准差求阈值;
[0069] 如图4所示,传统的计算阈值的方法为,对去最大中值后的图像进行计算得到图像的标准差,然后依据概率准则根据目标背景特性求出门限,计算公式为:
[0070] th=k*σ+μ
[0071] 其中,th为阈值;μ为图像的均值;σ为图像的标准差;k为标准差倍数。
[0072] 本发明中,由于检测的目标是弱小目标,所以为了增加相邻像素的相对差异,采取用去最大中值之后的图像像素与阈值作比较,因此取阈值th’=k*σ,这样可以简化计算,提高检测疑似目标点的速度和准确率。
[0073] 阈值计算模块包括标准差计算子模块和阈值更新子模块,
[0074] 标准差计算子模块,用于根据去最大中值处理后的像素值,计算一帧图像的标准差,其又可细化为乘法器1(计算坐标信息位第i行第j列像素的平方值P2(i,j))、累加器(计算图像各像素的平方和∑∑P2(i,j))、乘法器2(用来计算k2*(∑∑P2)的值)、除法器(计算(k2*(∑∑P2))/(R*C)的值)、开平方计算单元(对除法器的结果开平方,结果为k*σ)。由于标准差σ的值很小,为了减小计算中的误差,此处根据公式,将k的值提前计算进去,从而将计算中的值扩大,这样由像素位宽造成的误差就可以减小。
[0075] 特别的在FPGA(Field Programmable Gate Array,现场可编程门阵列)实现中,由于ISE(Xilinx公司的FPGA开发软件)的IP核(intellectual property core,知识产权核)中除法器的位宽最大只有32bits,而k2*(∑∑P2、)有55bit,这样直接做除法则无法实现,且调用除法器比较耗费资源,因此本发明采用了一种近似的方法来替代除法。
[0076] 具体的,由于R*C=11623*6528=75953280,
[0077] 则(k2*(∑∑P2))/(R*C)=(k2*(∑∑P2))*(1/75953280)
[0078] k为标准差系数,P代表像素值,R代表行数,C代表列数
[0079] 由于ISE中做乘法比做除法要简单的多,而除以2的幂的时候可以直接采取移位操n作来等效,根据这种特点可将除法转换为乘法,再寻找一个值M/2用来逼近1/75953280,就可以将原先的除法计算等效成乘法计算加上移位操作。本发明中取7/229来逼近1/
75953280,因此可将(k2*(∑∑P2))/(R*C)转换为(k2*(∑∑P2)*7)/229来取得一个近似值,从而简化计算,节省资源。
[0080] 阈值更新子模块,用于检测第一帧图像时,由于阈值计算还没完成,因此需要设定一个初始阈值,本发明中设定为5,当一帧图像的阈值计算结束后,会对阈值寄存器进行一次更新,并将该阈值用作下一帧图像疑似目标点检测的阈值,这样可以保持阈值跟随图像的变化而更新,提高检测的准确性。
[0081] 疑似目标点检测模块包括读取分块参数子模块、第一检测子模块和第二检测子模块
[0082] 读取分块参数子模块,用于通过分块(block_size[1:0])参数来读入分块行信息和列信息,有8×32、8×64、16×32和16×64四种分块参数可选,其中默认参数为8×32分块,读入分块参数后,记录分块行数(8行或16行)信息;
[0083] 第一检测子模块,如图5所示,用于输入经过去最大中值处理后的像素,根据有效信号来记录当前像素的列数信息,将每一个像素值和阈值进行比较,若该像素值大于阈值,则判断该像素点为疑似目标点,然后将该点的所在列数坐标信息输出;
[0084] 第二检测子模块,用于在检测的同时对像素个数进行计数,设定分块行数中所有的像素(8×6528或16×6528)为一组像素,当检测完一组像素即检测到第(8或16)行的第6528个像素时,输出一个done(完成)信号来表示一组像素检测完成。
[0085] 疑似目标点位置记录模块,用于读取去最大中值之后的图像的行信息和列信息,记录疑似目标点所在像素点的行信息和列信息,对去最大中值之后的图像进行分块处理得到多个子块图像,得到并记录疑似目标点所在的子块图像的位置;
[0086] 疑似目标点位置记录模块包括第一记录子模块和第二记录子模块,[0087] 第一记录子模块,如图6所示,用于定义一个204bit的疑似目标点位置记录寄存器,204为一行像素分块数的最大值,读入分块大小参数,根据输入的疑似目标点坐标计算该点属于第几个分块并将位置记录寄存器中对应的该bit位置1;
[0088] 第二记录子模块,用于持续的记录一组像素中所有的疑似目标点位置,得到整组像素的疑似目标点位置,输出到后续微损度装配模块,根据一组像素检测完之后生成的done信号将位置记录寄存器清0,等待记录下一组像素中的疑似目标点。
[0089] 损度标记模块,用于对原始图像将疑似目标点所在的子块图像记为无损子块图像,将其他子块图像记为有损子块图像;
[0090] 损度标记模块还包括:图像缓存模块,用于缓存原始图像,当得到疑似目标点位置信息后,将原始图像输入至装配模块;
[0091] 图像缓存模块的具体实现方式为:如图7所示,经过检测的像素当得到疑似目标点位置信息后需要进入到图像缓存模块,图像缓存模块操作示意图如图8所示,缓存输入的图像像素,根据done信号成组输出像素,便于后续微损度装配,采用外部单口SRAM(随机静态存储器)来缓存像素。
[0092] 图像缓存模块包括第一图像缓存子模块、第二图像缓存子模块和第三图像缓存子模块,
[0093] 第一图像缓存子模块,用于将输入的10bit图像像素经过FIFO后以20bit位宽存到外部SRAM中,等待像素检测完成后生成的done信号;
[0094] 第二图像缓存子模块,用于读入分块参数,计算一组像素的总像素个数;
[0095] 第三图像缓存子模块,用于收到done信号后,通过控制状态机来跳转将SRAM中缓存的20bit像素经过FIFO读出,位宽为10bit,数量为一组像素的像素个数(分块行数的总像素个数),同时在读出像素的时候设定行间隔和行有效信号,便于后续编码模块使用。输出完一组像素后状态机调回初始态继续等待下一个done信号,这样能保证SRAM读出与写入像素的速度保持相等,流水操作,避免造成像素丢失。
[0096] 损度标记模块的具体实现方式为:接收图像缓存模块输出的数据,并根据done信号更新记录疑似目标点的寄存器;如图9所示,根据疑似目标点的位置属于的分块,来对缓存的数据进行微损度的装配,对包含疑似目标点的分块微损度设置为0,其余分块按照预设值设置,预设值取1、2、3中的任意一个;将装配微损度后的像素输出到图像压缩模块。
[0097] 微损度预设值NEAR反映了压缩码流解压缩后恢复的图像与原图像逐像素值之差。NEAR=1时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-1、0、或1;NEAR=2时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-2、-1、0、1或2;NEAR=3时,压缩码流解压缩后恢复的图像与原图像逐像素对比之差为-3、-2、-1、0、1、2或3;NEAR=0时,压缩码流解压缩后恢复的图像与原图像逐像素对比,像素的值完全一致,即为无损模式。
[0098] 图像压缩模块,用于对无损子块图像进行无损压缩,对有损子块图像进行有损压缩,得到保持目标信息的压缩图像,根据子块图像的微损度对原始图像进行图像分块压缩,微损度为0时进行无损压缩,微损度为预设值时进行有损压缩,得到保持目标信息的压缩图像。
[0099] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。