专利名称:高光谱遥感图像的无损压缩编码器及其译码器的制作方法
技术领域:
本发明涉及一种用于高光谱遥感图像的无损压缩编码器和译码器,属移动通信信源编码领域。
背景技术:
遥感是一种远离目标,通过识别目标发射或辐射的电磁波而判定、测量并分析目标性质的技术,广泛应用于军事侦查、资源探测、粮食估产和灾难预防等各个方面。遥感图像就是从远离地球的不同高度的遥感平台上,使用光谱传感器接收来自地球表层各类地物的各种信息而构成的图像。多光谱图像是指利用多光谱传感器对同一对象(区域或目标) 在多个窄光谱波段范围上获得的图像,它记录了成像地物在多个光谱波段的响应特性。成像光谱技术是从上世纪80年代初发展起来的遥感技术,它将成像与光谱技术结合起来,能够在连续光谱段上对同一地物同时成像,在探测物体空间特征的同时,又将每个空间像元色散形成几十到数百个窄波段、带宽为几个nm至20nm的连续光谱覆盖带,具有高空间和光谱分辨率、超多波段和图谱合一等特点。利用这种技术既能够对目标成像,又可以测量目标物波谱特性。由于成像光谱仪产生的光谱图像具有极高的光谱分辨率,因此也称之为高光谱图像。随着成像光谱仪的普及应用,高光谱遥感图像的空间、谱间和时间分辨率越来越高,使得成像光谱数据量急剧增长,对海量数据进行有效地压缩成了遥感技术发展中迫切需要解决的一个问题。一方面,成像光谱数据获取代价非常昂贵,又具有长期的保存价值; 另一方面,高光谱遥感图像的最终用途可能是不断变化的,而有损压缩将会丢失一些对进一步处理非常有用的信息,并且不能从压缩码流中恢复原始数据,因此,无损压缩方法对于高光谱图像的应用有着特殊重要的意义。虽然连续色调静止图像无损/接近无损压缩标准JPEG-LS能够实现无损压缩,并且有着很好的压缩性能。但是算法只消除空间相关性,没有很好地利用高光谱遥感图像的谱间相关性,并且算法复杂度高,很难实现实时处理,不易于硬件实现。
发明内容
本发明针对现有高光谱遥感图像压缩技术存在的不足,提供一种能够在降低硬件实现复杂度的条件下实现压缩性能接近JPEG-LS压缩比的高光谱遥感图像的无损压缩编码器,同时提供一种能够从该编码器的压缩码流中恢复出原始数据的译码器。本发明的高光谱遥感图像的无损压缩编码器采用以下技术解决方案该高光谱遥感图像的无损压缩编码器,包括预测差分模块、熵编码模块、输出控制模块,各模块间是串行关系,由同一时钟信号CLKl控制,并且由同一复位信号RESETl控制所有模块进入复位状态;预测差分模块是数据输入模块,同时完成预测和差分功能;熵编码模块的功能是针对预测差分值进行无失真的熵编码;输出控制模块将码字经移位器处理后写入输出缓冲区;当复位信号RESETl从高电平变为低电平的期间,编码器系统中的所有
3模块被初始化为复位状态,再向各个模块发送同步时钟信号CLKl ;预测差分模块在每个时钟周期读入一个16位的原始数据,然后判断数据位置并且根据不同的位置选择不同的预测方式,接着将原始数据与预测数据进行差分运算,得到预测差分数据;通过熵编码器对得到的差分数据进行非等长编码;待编码码流累积到32位甚至超过32位时,通过输出控制模块将其打包成32位有效数据并且输出,当图像所有数据编码完成后,剩余码流不能恰好凑足32位时,需要在模块内部自动补零至32位输出,完成一幅图形的压缩编码。预测方式包括边缘检测预测和梯度调节预测。输出缓冲区是一个长度为52位的存储空间,高32位用于存放每次准备输出数据, 低20位是保护空间,存放当写入数据超出32位时未能输出地剩余片段。用于上述编码器压缩码流恢复原始数据的译码器采用以下技术解决方案该译码器包括输入控制模块、熵译码模块和预测差分模块,各模块间是串行关系, 由同一时钟信号CLK2控制,并且由同一复位信号RESET2控制所有模块进入复位状态;输入控制模块在时钟信号的控制下,将32位待译码字读入输入缓冲区;熵译码模块是一个熵译码器,内有个40位的输入缓存区,低20位用来存放从输入控制模块读入的数据,高20位用来存放之前读入的还没译出的剩余数据,每译出一个数据,则令剩余的数据移向最高位,当缓存区内的剩余码字不够译出一个数据时,则向输入控制模块发送一个时钟信号,让其输出一个20位的数据到译码模块;预测差分模块的输入是12位数据,其功能是完成除第一波段或第一列以外数据的预测差分;当复位信号RESET2从高电平变为低电平的期间,译码器系统中的所有模块被初始化为复位状态,再向各个模块发送同步时钟信号CLK2 ;输入控制模块在每个时钟周期都会读入一个32位数据并将其分解;通过熵译码器将非等长码流译成预测差分数据;在预测差分模块内判断待译数据的位置并且根据不同的位置选择不同的预测方式,最后将预测差分数据与预测值通过加法器无失真恢复出原始图像数据。译码和编码的过程是非常对称的,译码完全是编码的逆过程。也就是说,译码器和编码器使用相同的基本过程,模块相同但处理次序相反。本发明编码器具有低复杂度,能够在降低硬件复杂度的条件下实现较好的压缩性能,同时提供的译码器能够从该编码器的压缩码流中恢复出原始数据,实现了将读入连续压缩码流无失真恢复出12位原始图像数据。
图1是本发明中编码器的模块结构图。图2是本发明中编码器的工作流程图。图3是本发明中编码器的第一种预测方式因果模型图。图4是本发明中编码器的第二种预测方式关联模型图。图5是本发明中译码器的模块结构图。图6是是本发明中译码器的工作流程图。
具体实施例方式本发明的高光谱遥感图像的无损压缩编码器实现了将读入的16位图像数据进行压缩编码输出连续的压缩码流,编码器的模块结构如图1所示,其内部包括预测差分模块、
4熵编码模块、输出控制模块,各模块间是串行关系,由同一时钟信号CLKl控制,流水作业, 并且由同一复位信号RESETl控制所有模块进入复位状态。编码器的各模块工作之前,在复位信号RESETl从高电平变为低电平的期间,所有模块都被初始化为复位状态,再向各个模块发送同步时钟信号CLKl ;接下来编码器各模块的串行工作流程如图2表示,分为三步1、在每个时钟周期通过预测差分模块读入一个16 位的原始数据,然后判断数据位置并且根据不同的位置选择不同的预测方式,接着将原始数据与预测数据进行差分运算,得到预测差分数据。2、通过熵编码器对得到的差分数据进行非等长编码。3、待编码码流累积到32位甚至超过32位时,通过输出控制模块将其打包成32位有效数据并且输出。另外需要特别注意的是,当图像所有数据编码完成后,此时剩余码流可能不能恰好凑足32位,需要在模块内部自动补零至32位输出,这样就完成了图形的压缩编码。下面从各个模块出发,详细介绍高光谱遥感图像的无损压缩编码过程。(1)预测差分模块预测差分模块是编码器的数据输入模块,同时完成预测和差分功能,是编码器的核心模块。在时钟信号的每个上升沿,模块读入一个16位的图像数据,并自动舍弃低四位无效数据。同时三个内部计数器自动加一记录当前被编码数据所在的波段、行和列数。这里需要注意的是对于高光谱遥感图像,为了更好的利用图像空间和谱间相关性,图像数据输入的顺序是先输入第一个波段的第一行,接着是第二个波段的第一行,然后是第三个波段的第一行,交叉输入直到波段总数为止。每个波段随后的行按照类似的方式交叉输入。如果当前数据处在第一波段或第一列时,模块直接输出当前12位数据;否者如果处在第二波段或第二列或最后一列时,模块输出当前数据与经过预测方式一得到的预测值的差分值;其他位置则输出当前数据与经过预测方式二得到的预测值的差分值。差分运算是有符号减法,因此差分结果应当扩充一位符号位,但考虑到编码器输入数据的高度相关性,预测结果与当前数据应十分接近,即差分结果接近零,因此仍保持数据宽度12,高位为符号位,负数用反码表示。在硬件实现上,首先判断减数与被减数大小,由此判断若相减为负数则直接相减得到结果再减一,也就是将补码转换为反码,否则直接相减。所述预测方式一也称为边缘检测预测(Median Edge Detector MED),它是一个非线性自适应预测器,预测器所采用的因果模型如图3所示,其思想是根据因果模板中待编码像素X的领域像素A、B、C,基于简单的中值边缘检测法,进行垂直与水平边界的检测,从而优选当前待编码像素X的预测值。即在当前像素X的左侧出现竖直边缘时选择上方领域点预测,在上方出现水平边缘时选择左侧领域点预测,在没有发现明显的边缘时则选择较平均的(A+B-C)作为预测值。这是一个复杂度低而预测效果好的自适应预测器,采上述预测器的模型可以表示如下,其中&表示像素X的预测值。
权利要求
1.一种高光谱遥感图像的无损压缩编码器,其特征是包括预测差分模块、熵编码模块、输出控制模块,各模块间是串行关系,由同一时钟信号CLKl控制,并且由同一复位信号 RESETl控制所有模块进入复位状态;预测差分模块是数据输入模块,同时完成预测和差分功能;熵编码模块是针对预测差分值进行无失真的熵编码器;输出控制模块将码字经移位器处理后写入输出缓冲区;当复位信号从高电平变为低电平的期间,编码器系统中的所有模块被初始化为复位状态,再向各个模块发送同步时钟信号CLKl ;预测差分模块在每个时钟周期读入一个16位的原始数据,然后判断数据位置并且根据不同的位置选择不同的预测方式,接着将原始数据与预测数据进行差分运算,得到预测差分数据;通过熵编码器对得到的差分数据进行非等长编码;待编码码流累积到32位甚至超过32位时,通过输出控制模块将其打包成32位有效数据并且输出,当图像所有数据编码完成后,剩余码流不能恰好凑足32位时,需要在模块内部自动补零至32位输出,完成一幅图形的压缩编码。
2.根据权利要求1所述的高光谱遥感图像的无损压缩编码器,其特征是所述预测方式包括边缘检测预测和梯度调节预测。
3.根据权利要求1所述的高光谱遥感图像的无损压缩编码器,其特征是所述输出缓冲区是一个长度为52位的存储空间,高32位用于存放每次准备输出数据,低20位是保护空间,存放当写入数据超出32位时未能输出地剩余片段。
4.一种用于权利要求1所述高光谱遥感图像的无损压缩编码器的译码器,其特征是 包括输入控制模块、熵译码模块和预测差分模块,各模块间是串行关系,由同一时钟信号 CLK2控制,并且由同一复位信号RESET2控制所有模块进入复位状态;输入控制模块在时钟信号的控制下,将32位待译码字读入输入缓冲区;熵译码模块是一个熵译码器,内有个40 位的输入缓存区,低20位用来存放从输入控制模块读入的数据,高20位用来存放之前读入的还没译出的剩余数据,每译出一个数据,则令剩余的数据移向最高位,当缓存区内的剩余码字不够译出一个数据时,则向输入控制模块发送一个时钟信号,让其输出一个20位的数据到译码模块;预测差分模块的输入是12位数据,其功能是完成除第一波段或第一列以外数据的预测差分;当复位信号RESET2从高电平变为低电平的期间,译码器系统中的所有模块被初始化为复位状态,再向各个模块发送同步时钟信号CLK2 ;输入控制模块在每个时钟周期都会读入一个32位数据并将其分解;通过熵译码器将非等长码流译成预测差分数据; 在预测差分模块内判断待译数据的位置并且根据不同的位置选择不同的预测方式,最后将预测差分数据与预测值通过加法器无失真恢复出原始图像数据。
全文摘要
本发明提供了一种高光谱遥感图像的无损压缩编码器及其译码器,编码器包括预测差分模块、熵编码模块、输出控制模块,各模块间是串行关系,由同一时钟控制;预测差分模块是数据输入模块,同时完成预测和差分功能;熵编码模块是针对预测差分值进行无失真的熵编码器;输出控制模块在时钟信号的控制下,将码字经移位器处理后写入输出缓冲区。译码和编码的过程是非常对称的,译码完全是编码的逆过程,译码器和编码器使用相同的基本过程,模块相同但处理次序相反。本发明编码器具有低复杂度,能够在降低硬件复杂度的条件下实现较好的压缩性能,译码器能够从该编码器的压缩码流中恢复出原始数据。
文档编号H04N7/26GK102170568SQ20111005911
公开日2011年8月31日 申请日期2011年3月11日 优先权日2011年3月11日
发明者王旭叶, 马丕明 申请人:山东大学