高光谱遥感数据处理系统体系架构
从系统的可重复利用性出发,尽可能对功能模块进行切分,一方面便于系统集成和升级,另方面尽 可能提高系统稳定性。HIPAS从功能上划分了四层,另外增加了内存管理层。各层的功能相对独立,模块通过接口相互调用,而内存管理进行了特别的设计便于处理海量数据(理论上不受大小限制)和对系统内存提供保护,大大增加了防止系统崩溃的能力。
基础层提供缓冲区内存管理如感兴趣区域和内存块,支持海量数据处理。第一层是海量影像数据管理层,包括影像管理器和光谱库管理器,针对高光谱特有的海量数据的管理设计,该层也支持复杂的遥感属性参数数据和地理属性数据的管理。第二层是专业数学函数库层,对系统涉及的专业算法都将直接调用该层提供的科学计算功能,尤其是涉及矩阵的运算与快速并行处理算法。第三层是专业功能层,负责高光谱专业功能部分处理模块,如预处理,光谱分析,生物化学参量提取等。第四层是可视化表现层,包括视窗和光谱曲线可视化显示和交互,同时该层提供对矢量部分的支持。HIPAS 设计采用了功能和表现界面分离的策略,有利于系统的进一步扩展和跨平台的支持,其中核心算法严格采用标准C+ +库。
在分析比较目前主流外存储体系结构的基础上,为避免HPAS在文件管理上的不足,我们对HPSV.的设计做了特别考虑。吸收ENV开放式外存储体系,采用数据和地理编码信息分离的存储方式,在影像数据存储文件部分增加了必要的恢复信息,避免用户在地理编码头文件丢失的情况下能够自行恢复头文件,有效地避免了对数据文件灾难性的破坏,而且可以对数据文件做安全性验证.增加系统的稳定性。同时,针对高光谱影像数据波段多(数百甚至上千个波段)、覆盖面广的特点,系统必须具备处理海量影像数据(几百甚至上干G)的能力,而且便于用户在般PC 机上使用。为了保证在有限的内存条件下满足可观的处理效率,必须对存储结构作特别考虑,这里采用分块处理的设计思想。
目前典型的分块策略有按行分块、按列分块和按固定大小(正方形)分块三种。其他分块策略比较少见。从实现的角度来说,三种分块策略复杂度基本一致,但第三种分块策略需要处理行列数不能整除块大小的情况,般采取用特殊字符填充不能整除部分的处理方式,在数据I/0部分需要增加识别并清除额外填充字符的操作。按照正方形分块的优点是速度快,易于实现浏览以及漫游与方向无关性。同时,这种分块策略满足小波变换的金字塔式结构的存储策略,容易和外存储体系紧密联系,实现满足人体视觉特征的任意分辨率快速查询与浏览。目前,采用这种分块策略的主要以ERDASTM为代表,但是它在不能整除的情况下增加了系统开销,也增加外存储体系的复杂度和开销。以ERDAST为例,在每个图层波段中同时存储分级影像,以牺牲外存储空间的方式来换取浏览速度的增加,在影像特别巨天(几百G甚至以TG为单位)的条件下不一定是最合适的方式。
分块策略需要考虑的因素有操作复杂度,处理速度和效率以及存储开销。HIPAS中所有的输入图像都被分成几乎同样大小的块单元,包括空间维的和光谱维的,以确保所有的图像情况都能被处理。整个图像由许多小块重建而成,这将使系统能够处理大型图像。在理论上,图像的大小将不受限制,块的大小可由用户指定。如果用户指定的大小不能恰好被n倍的图像行大小所整除,那么就取小于用户指定大小并且最接近的整数,这个整数除单波段的大小得到的结果加1取整,所得数除单波段的大小即为块大小。