CN103209328B - 多源卫星图像实时在线处理技术方法及装置 - Google Patents
多源卫星图像实时在线处理技术方法及装置 Download PDFInfo
- Publication number
- CN103209328B CN103209328B CN201310135768.5A CN201310135768A CN103209328B CN 103209328 B CN103209328 B CN 103209328B CN 201310135768 A CN201310135768 A CN 201310135768A CN 103209328 B CN103209328 B CN 103209328B
- Authority
- CN
- China
- Prior art keywords
- image
- data
- satellite
- compression
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Abstract
本发明公开一种多源卫星图像实时在线处理技术方法和装置,综合使用计算机网络技术,计算机并行技术,计算机多线程技术以及图像处理技术进行多源卫星图像实时在线处理,其卫星图像处理速度快,计算资源利用效率高,数据包吞吐率大。首先在高速网络上接收数据包,并将接收到的数据包组织成图像;然后对组织好的图像数据进行解析,并对解析后的图像进行存储格式转换和处理;继而对处理后的图像数据进行压缩;最后将压缩后的图像数据分包发送回高速网络。
Description
技术领域
本发明涉及计算机网络、多线程、并行和图像处理技术,具体地说,就是以计算机并行技术和图像处理技术为基础,以计算机网络和多线程技术为辅助对多源卫星图像进行实时在线处理。
背景技术
在各行各业的计算处理中,实时处理是大势所趋,实时处理中最关键的技术是计算机并行技术。实现计算机并行的技术有很多,其中最主要有数据并行和任务并行,数据并行技术主要是将数据分块,按块进行并行处理,之后将分块数据进行合并;任务并行技术是将本来顺序执行或者不同的执行顺序,通过一定的变换后同时执行;数据并行和任务并行没有明显的区分界限,有些既可以归为数据并行也可以归为任务并行。卫星图像具有数据量大,处理时间长的特点,并且进行卫星图像的实时在线处理又是很多行业应用的迫切需求;同时很多应用都需要多源卫星图像数据的联合,所以进行多源卫星图像实时处理是这些应用的基础。目前,尚没有关于多源卫星实时在线处理的文献报道。
发明内容
本发明公开一种技术方法及装置,综合使用计算机网络技术,计算机并行技术,计算机多线程技术以及图像处理技术进行实时在线卫星图像处理。
本发明的基本思路为:首先在高速网络上接收数据包,并将接收到的数据包组织成图像;然后对组织好的图像数据进行解析,并对解析后的图像进行存储格式转换和处理;继而对处理后的图像数据进行压缩;最后将压缩后的图像数据分包发送回高速网络。
本发明实现的多源卫星图像实时在线处理系统的技术方案,流程如图1所示,具体包含如下步骤:
A数据接收:实时接收高速网络中的卫星图像数据包,并进行实时组包,形成完整的图像;
B图像处理,完成图像解析、图像存储格式转换、图像去噪、图像自适应增强等功能;
C图像压缩,完成图像的实时在线无损压缩;
D图像发送,将压缩后的图像数据进行分包,并通过高速网络发送出去。
上述实施步骤的特征在于:
步骤A数据接收,可动态设置接收卫星图像类型的数量,系统根据设置值初始化相同数量的卫星图像数据包链表和组包线程;数据包和卫星图像数据包链表都包含卫星图像类型标志,系统根据接收到数据包的卫星图像类型标志将数据包加入到对应的卫星图像数据包链表 中。组包时每个线程都锁住自己处理的卫星图像数据包链表,防止新插入数据包破坏卫星图像数据包链表的整体结构;每个线程只负责对自己内部的卫星图像数据包链表进行组包,各线程之间没有关联。
步骤B图像处理,进行图像解析时需要获取图像各类属性信息,包括:数据格式、图像宽高、图像分辨率、图像卫星类型、图像元数据。卫星图像进行解析时设置一次解析的数据量为卫星图像位数和中央处理器缓存大小的公倍数;同时,完成图像存储格式转换,将特殊以10位存储数据格式的卫星图像转换成16位格式存储的的卫星图像;卫星图像去噪、图像自适应增强处理算法全部采用OpenMP(Open Multi-Processing开放多处理)技术进行分块并行化改造,分块技术采用按行分块的模式。
步骤C图像压缩,对分块处理后的卫星图像使用OpenMP技术进行并行压缩,压缩算法采用哈弗曼无损压缩算法。
步骤D图像发送,卫星图像发送时采用分包发送的策略,将卫星图像分为N包,其前N-1包大小相等,第N包为前N-1发送完后剩余的数据。
相应的,一种多源卫星图像实时在线处理装置,包括:
图像接收单元,用于实时接收高速网络发来的图像数据包,并进行实时组包,形成完整的图像。
图像处理单元,用于完成在线的实时图像处理,主要包括:图像解析、图像数据存储格式转换功能、图像去噪、图像自适应增强。
图像压缩单元,用于完成图像的实时在线无损压缩。
图像发送单元,用于将压缩后的图像数据进行分包,并通过高速网络发送出去。
此外,还包括了给本装置发送数据的模拟发送单元和接收本装置发送数据的模拟接收单元。
本发明的优点是:通过使用计算机多线程技术,将不同卫星图像组包处理放在不同的线程中,可以增加同时接收组包的卫星图像类型数,提高了总的数据包吞吐率;使用OpenMP技术对图像处理和图像压缩算法进行并行化改造,大大提高了卫星图像处理和压缩速度;图像解析时,充分利用图像数据位数和中央处理器缓存的大小,有效增加缓存的命中率,提高了图像解析的速度;该方法实现简单,易于移植。
附图说明
图1多源卫星图像实时在线处理系统流程图
图2数据包结构示意图
图3卫星图像数据包链表结构示意图
图4数据组包技术流程图
图5图像最小单元解析示意图
图6图像按行分块示意图
图7压缩后的图像数据结构示意图
图8多源卫星图像实时在线处理装置示意图
具体实施方式
现在结合附图,描述本发明的一种具体实施方式。
结合多源卫星图像实时在线处理系统流程如图1和“发明内容”中的具体描述,本发明技术方案的主要步骤是:数据接收;图像处理;图像压缩;图像发送以及模拟发送和接收软件的实现。
步骤A数据接收。系统根据设置的卫星图像类型数进行初始化,其设置的卫星类型数取值范围为[1,16],根据设置值初始化相同数量的接收卫星图像数据包链表和组包线程,并将不同的链表放入不同的线程中,其中每个线程处理一个链表。初始化后在高速网络上等待并接收数据包,之后解析接收到的数据包,最后按解析出的卫星图像类型将数据包放入对应的链表。其中解析后的数据包结构示意图如图2所示,第一个元素为卫星图像类型,1个字节表示,其取值范围为[1,16],分别表示不同类型的卫星图像;第二个元素为数据包标志,表示数据包的分包情况,1个字节表示,其取值范围为[1,3],1表示图像第一包,2表示图像中间包,3表示图像最后一包;第三个元素为数据包顺序编号,4个字节的无符号整型表示,其取值范围为[0,65535],对每一类卫星图像数据包进行顺序计数,循环使用;第四个元素为图像顺序编号,4个字节表示的无符号整型,其值从0开始,对每一类卫星图像进行顺序计数,循环使用;第五个元素为图像数据包数,为该类型的卫星图像分包数,2个字节的无符号整型表示;第六个元素为数据包数据长度,4个字节的无符号整型表示,表示该数据包有多少字节的数据;第七个元素为图像数据包的数据,该数据包小于60K字节。接收卫星图像数据包的链表结构示意图如图3所示,第一个元素为卫星图像类型,1个字节表示,与图2的第一个元素相同;第二个元素为当前数据包数,即链表当前已经加入数据包的数量,4个字节的无符号整型表示;第三个元素为图像数据包数,4个字节无符号整型表示,与图2的第五个元素相同;第四个元素为数据池,即数据包接收时,在内存中数据包存储的地方,数据包以链表的方式存放。
数据组包过程是将卫星图像数据包链表中的数据包组织成一幅完整的图像,每个线程各自负责自己链表的组包,各线程之间没有关联。其组包技术流程如图4所示,首先对卫星图 像数据包链表的当前数据包数进行判断,看当前数据包数是否大于或等于图像数据包数,如果小于则结束,不进行组包,大于或等于则开始锁住链表,进行组包;将链表中的数据包按数据包顺序编号进行排序,根据数据包顺序编号在[0,65535]之间循环计数的特点,需要将数据包顺序编号小于图像数据包数的值都加上65536之后再排序;排序之后判断是否有连续N包,其第1包的标志为1,第N包的标志为3,其中N为图像数据包数,如果没有则结束,有则将连续N包的数据拷贝在一起,即构成了一幅完整的图像。
步骤B图像处理。图像处理包括三个步骤,图像解析、图像数据格式转换以及图像实时处理。
图像解析。对组织好的卫星图像进行解析,即获取卫星图像各类属性信息,包括:数据格式、图像宽高、图像分辨率、图像卫星类型、图像元数据等属性信息。
图像数据格式转换,可以针对特殊以10位存储数据格式的卫星图像进行实时转换。原始卫星图像数据按10位格式连续存储,图像数据格式转换主要是将10位卫星图像解析成16位卫星图像。解析时充分考虑原始图像位数10和中央处理器缓存大小(64字节)的关系,将一次解析的数据设置为(64*8*10)=5120位,即640个字节。在图像解析的过程中,又考虑到5个字节40位数据刚好是4个10位数据,所以将原始卫星图像数据按5字节组成最小解析单元进行解析,如图5所示,图5下方是40位数据连续存储示意图,解析时按10位顺序连接就构成了一个完整的10位数据,40位数据可以解析成4个10位数据,解析后将每个10位数据存放在2字节即16位的内存空间中,16位数据的高6位补零。
图像实时处理。图像处理算法都采用按行分块的方式进行并行,其分块方式如图6所示。首先将图像数据按行分成与中央处理器核心数相等的块,之后分别使用OpenMP并行技术将每一块数据调度到不同的中央处理器核心上进行处理,其分块和处理过程都不改变块在原卫星图像中的空间位置,所有子块并行处理完成后依然是一整幅图像。以下为各图像处理算法的实现。
图像去噪,图像去噪使用中值滤波算法,中值滤波算法的步骤为:
(1)用3*3大小的模板在图像中遍历,将模板的中心分别与图像除上下左右最外层之后的像素点分别对应;
(2)对落入模板中的图像像素数据求取中值;
(3)使用(2)求出的中间值代替模板中心对应的图像像素值。
图像自适应增强:自适应增强采用设置固定极亮极暗裁切比的线性拉伸算法,其裁切比都设置为5%,图像自适应增强步骤为:
(1)统计图像的灰度直方图;
(2)根据图像的灰度直方图去掉图像极亮的5%和极暗的5%;
(3)将图像线性拉伸到0到1023之间,16位图像真实有值的部分只有10位,即最大值为1023。
步骤C图像压缩。图像压缩时采用按行分块的方式进行并行,其分块方式如图6所示。首先将图像数据按行分成与CPU核心数量相等的块,之后分别使用OpenMP并行技术将每一块数据调度到不同的CPU核心上进行压缩,压缩完成后再将数据组织在一起,组织后的图像数据结构示意图如图7所示,第一个元素为图像压缩时的分块数M,第二个元素为图像压缩前的大小,之后还有3M个元素,其中前2M个元素分别依次为第一块数据压缩前的大小,第一块数据压缩后的大小,直到第M块数据压缩前的大小,第M块数据压缩后的大小,后M个元素为压缩后的M个数据区,分别存储压缩后的M块数据,从第一块到第M块依次存储。压缩算法使用无损的哈弗曼压缩,哈弗曼压缩的实现为,首先对数据进行遍历,构建哈弗曼树,然后对哈弗曼树的叶子节点进行编码,最后使用该编码对数据再进行遍历替换。
步骤D图像发送。将图像数据分包进行发送,分包后每包图像数据结构与图2所示的图像数据包结构示意图相同,图像分包时也采用如图6所示的按行分块模式,不同类型的卫星图像都按60KB进行分包,其前N-1包大小都是60KB,第N包的大小为剩余量。数据包结构中的第一个元素卫星图像类型为对应接收该图像时的卫星图像类型;第二个元素数据包标志为第一包标志为1,中间包标志为2,最后包标志为3;第三个元素数据包顺序编号是对每一类卫星图像分别进行编号,从0开始,到65535之后再开始继续使用0,循环使用;第四个元素图像顺序编号与接收到的图像顺序编号相同,其编号方式也是从0开始,到65535之后再开始继续使用0,循环使用;第五个元素图像数据包数为图像数据按60KB进行分包的数量;第六个元素图像数据长度为前N-1包都是60K字节长度,只有第N包为剩余量;最后一个元素填入对应的分包块数据。数据分包发送时的网络协议采用用户数据报协议。
本发明的实施例还相应提供一种多源卫星图像实时在线处理装置,如图8所示,包括:
图像接收整理单元401,用于实时接收高速网络发来的图像数据包,并进行实时组包,形成完整的图像。
图像处理单元402,用于完成图像解析、图像数据存储格式转换功能、图像去噪、图像自适应增强。
图像压缩单元403,用于完成图像的实时在线无损压缩。
图像发送单元404,用于将压缩后的图像数据进行分包,并通过高速网络发送出去。
进一步,本发明还包括模拟发送单元405和模拟接收单元406。模拟发送单元配置多源卫星图像实时在线处理装置的接收地址、多源卫星的种类,并使用步骤D中的图像发送技术, 图像数据直接从磁盘中读取,通过网络向本发明装置发送数据。模拟接收单元使用步骤A中的技术实现,最后将组织好的图像数据写入磁盘。
本发明的一个实施例在一个32核心的集群上实现,其图像处理速度快,CPU利用效率高,数据包吞吐率大。
本发明所述具体实施方式可以使本领域的技术人员更全面地理解本发明,但不以任何方式限制本发明。因此,本领域技术人员应当理解,仍然对本发明进行修改或者等同替换;而一切不脱离本发明的精神和技术实质的技术方案及其改进,均应涵盖在本发明专利的保护范围中。
Claims (5)
1.多源卫星图像实时在线处理技术方法,其特征在于包含如下步骤:
A图像接收:实时接收高速网络发来的卫星图像数据包,根据数据包的卫星图像数据类型将数据包加入到对应的卫星图像数据包链表中,每个线程负责处理一类卫星图像数据包链表,将接收到的数据包组织成一幅完整的图像;
B图像处理:对接收到图像数据进行图像解析、图像存储格式转换、图像实时处理,图像解析包含解析数据格式、图像宽高、图像分辨率、图像卫星类型,图像存储格式转换是将10位连续存储的数据转换为16位双字节存储的数据,图像实时处理包含图像去噪和自适应增强;
C图像压缩:使用并行哈夫曼算法完成图像的实时在线无损压缩,对图像处理后的多源卫星图像数据压缩采用经过OpenMP和多线程两层优化的并行哈夫曼算法,OpenMP并行对各分块数据独立建立哈夫曼树,设计数据存储结构记录数据分块数、分块前总的数据大小、各分块数据压缩前的大小及压缩后的大小;
D图像发送:将压缩后的图像数据进行分包,并通过高速网络发送出去,在设置的接收卫星图像类型数量大于1时,处理后需要发送的数据流路数也大于1,对多路数据流按照先到先发送和待发送数据量最多优先的原则控制数据流的发送顺序,根据待发送数据总量和发送缓冲区的大小实时调整发送速率;
其中多源是指卫星图像的类别多,并且多源数据的接收、处理、压缩和发送都基于集群且多源数据之间的处理过程互不相关。
2.根据权利要求1中所述多源卫星图像实时在线处理技术方法,其特征在于:步骤A图像接收采用多线程技术进行图像数据的并行接收和组包,并根据动态设置的卫星图像数实例化对应数量的多线程,接收和组包过程中每个线程只负责处理自己对应的卫星图像数据。
3.根据权利要求1中所述多源卫星图像实时在线处理技术方法,其特征在于:步骤B图像处理中的图像解析根据中央处理器的位数、图像位数和字节位数将待解析的数据进行二级划分,并按第一级的数据划分策略进行OpenMP分块并行处理,第一级将数据划分为640字节大小,第二级将第一层的640字节数据再按5字节进行划分。
4.根据权利要求1中所述多源卫星图像实时在线处理技术方法,其特征在于:步骤B图像实时处理中的图像去噪和自适应增强算法,步骤C中的哈夫曼无损压缩算法,都采用多线程+OpenMP的两层并行体系结构进行并行化实现,其中多线程用于卫星图像类别的大粒度并行,OpenMP用于卫星图像数据内部的细粒度并行。
5.多源卫星图像实时在线处理技术装置,其特征在于包含如下单元:
图像接收单元:实时接收高速网络发来的卫星图像数据包,根据数据包的卫星图像数据类型将数据包加入到对应的卫星图像数据包链表中,每个线程负责处理一类卫星图像数据包链表,将接收到的数据包组织成一幅完整的图像;
图像处理单元:对接收到图像数据进行图像解析、图像存储格式转换、图像实时处理,图像解析包含解析数据格式、图像宽高、图像分辨率、图像卫星类型,图像存储格式转换是将10位连续存储的数据转换为16位双字节存储的数据,图像实时处理包含图像去噪和自适应增强;
图像压缩单元:使用并行哈夫曼算法完成图像的实时在线无损压缩,对图像处理后的多源卫星图像数据压缩采用经过OpenMP和多线程两层优化的并行哈夫曼算法,OpenMP并行对各分块数据独立建立哈夫曼树,设计数据存储结构记录数据分块数、分块前总的数据大小、各分块数据压缩前的大小及压缩后的大小;
图像发送单元:用于将压缩后的图像数据进行分包,并通过高速网络发送出去,在设置的接收卫星图像类型数量大于1时,处理后需要发送的数据流路数也大于1,对多路数据流按照先到先发送和待发送数据量最多优先的原则控制数据流的发送顺序,根据待发送数据总量和发送缓冲区的大小实时调整发送速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310135768.5A CN103209328B (zh) | 2013-04-19 | 2013-04-19 | 多源卫星图像实时在线处理技术方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310135768.5A CN103209328B (zh) | 2013-04-19 | 2013-04-19 | 多源卫星图像实时在线处理技术方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103209328A CN103209328A (zh) | 2013-07-17 |
CN103209328B true CN103209328B (zh) | 2017-02-22 |
Family
ID=48756395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310135768.5A Active CN103209328B (zh) | 2013-04-19 | 2013-04-19 | 多源卫星图像实时在线处理技术方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103209328B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874962B (zh) * | 2017-03-13 | 2020-09-01 | 上海普适导航科技股份有限公司 | 多源卫星数据的融合方法及装置 |
CN110049201B (zh) * | 2019-04-08 | 2020-10-20 | 浙江大华技术股份有限公司 | 图像传输方法及系统、图像发送设备、存储装置 |
CN111212265A (zh) * | 2020-01-13 | 2020-05-29 | 四川中科友成科技有限公司 | 一种光电设备双通道显示控制系统 |
CN113242264B (zh) * | 2021-07-09 | 2021-09-24 | 中国人民解放军国防科技大学 | 一种对大容量数据进行压缩存储的方法和系统 |
CN113819928B (zh) * | 2021-10-27 | 2022-06-07 | 北京微纳星空科技有限公司 | 一种姿态信息的确定方法、确定装置和星敏感器 |
CN114519035A (zh) * | 2022-01-19 | 2022-05-20 | 上海卫星工程研究所 | 高速卫星遥测处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201259552Y (zh) * | 2008-08-05 | 2009-06-17 | 徐梦溪 | 遥感图像处理和环境参数测量实验设备 |
CN101640803A (zh) * | 2009-09-04 | 2010-02-03 | 中国科学技术大学 | 一种用于多光谱图像的渐进的分布式编解码方法及装置 |
CN101982976A (zh) * | 2010-09-29 | 2011-03-02 | 中国科学院国家天文台 | 一种对线阵立体相机实时数据进行显示的系统 |
CN102932696A (zh) * | 2012-09-29 | 2013-02-13 | 西安空间无线电技术研究所 | 一种星载高速数据复接器系统及实现方法 |
-
2013
- 2013-04-19 CN CN201310135768.5A patent/CN103209328B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201259552Y (zh) * | 2008-08-05 | 2009-06-17 | 徐梦溪 | 遥感图像处理和环境参数测量实验设备 |
CN101640803A (zh) * | 2009-09-04 | 2010-02-03 | 中国科学技术大学 | 一种用于多光谱图像的渐进的分布式编解码方法及装置 |
CN101982976A (zh) * | 2010-09-29 | 2011-03-02 | 中国科学院国家天文台 | 一种对线阵立体相机实时数据进行显示的系统 |
CN102932696A (zh) * | 2012-09-29 | 2013-02-13 | 西安空间无线电技术研究所 | 一种星载高速数据复接器系统及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103209328A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103209328B (zh) | 多源卫星图像实时在线处理技术方法及装置 | |
CN105120293B (zh) | 基于cpu和gpu的图像协同解码方法及装置 | |
CN103858433B (zh) | 分层熵编码及解码 | |
CN104869398B (zh) | 一种基于cpu+gpu异构平台实现hevc中的cabac的并行方法 | |
KR20210086420A (ko) | 신경망 데이터 처리 장치, 방법 및 전자 장비 | |
CN109117950A (zh) | 基于人工智能设备的分层稀疏张量压缩方法 | |
CN106454354B (zh) | 一种avs2并行编码处理系统及方法 | |
CN107105266A (zh) | 一种png图像的解码方法、装置及系统 | |
CN105897587B (zh) | 一种数据包分类方法 | |
CN202931289U (zh) | 一种硬件lz77压缩实现系统 | |
CN101739223A (zh) | 一种通过虚拟打印实现文档格式转换的方法及系统 | |
CN103095305A (zh) | 一种硬件lz77的压缩实现系统及方法 | |
CN105302915B (zh) | 基于内存计算的高性能数据处理系统 | |
CN103905819B (zh) | 基于多级树集合分裂编码的系统及其实现方法 | |
CN105306951A (zh) | 数据压缩编码的流水线并行加速方法及其系统架构 | |
CN104952088A (zh) | 一种对显示数据进行压缩和解压缩的方法 | |
US11620250B2 (en) | Systems and methods for data transfer over a shared interface | |
CN116614492A (zh) | 基于物联网多样数据源的实验室统一数据采集平台 | |
CN109615067B (zh) | 一种卷积神经网络的数据调度方法及装置 | |
CN117097906B (zh) | 一种区域医疗资源高效利用的方法及系统 | |
CN101616327A (zh) | 多dsp核框架以及快速并行视频信号处理的方法 | |
CN110324668A (zh) | 图像块编码中的变换方法、解码中的反变换方法及装置 | |
CN105023021A (zh) | 一种基于主方向模板的特征匹配方法 | |
CN103312577B (zh) | 一种处理mac数据的方法及装置 | |
CN102123275A (zh) | 一种视频分量数据信息获取及提取的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |