一种多谱段遥感图像实时解压缩器的控制方法转让专利

申请号 : CN201710337215.6

文献号 : CN107046647B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张天序钟胜王岳环颜露新刘小妹李雁斌张玉山

申请人 : 华中科技大学

摘要 :

本发明公开了一种多谱段遥感图像实时解压缩器的控制方法,实时解压缩器包括解压缩处理单元和控制模块,解压缩处理单元包括多个解压缩处理板;控制模块通过PCIE接口与各个解压缩处理板连接,控制模块通过网口与格式化器连接;包括S1:采用并行的方式接收卫星下发的多谱段遥感压缩码流;S2:采用并行的方式对多谱段遥感压缩码流进行解压缩处理;S3:采用并行的方式将解压后的多谱段遥感图像输出发送。本发明采用多路并行多线程处理,提高数据输入输出数量,减少系统延迟时间;控制模块中设计自我故障诊断、定位、追踪功能,利用机箱上的显示设备提供足够的输出信息给维修人员做判断。另外在机箱正面设置测试接口,方便检修人员对系统运行状况进行维护。

权利要求 :

1.一种多谱段遥感图像实时解压缩器的控制方法,实时解压缩器包括解压缩处理单元和控制模块,解压缩处理单元包括多个解压缩处理板;控制模块通过PCIE接口与各个解压缩处理板连接,控制模块通过网口与格式化器连接;其特征在于,包括下述步骤:S1:采用并行的方式接收卫星下发的多谱段遥感压缩码流;

S2:采用并行的方式对所述多谱段遥感压缩码流进行解压缩处理;

S3:采用并行的方式将解压后的多谱段遥感图像输出发送;

步骤S1中,通过扫描短波码流数据接收线程,扫描中波码流数据接收线程和凝视波段码流数据接收线程同时接收所述多谱段遥感压缩码流;

各个码流数据接收线程的实现步骤相同,具体包括:

S11实时解压缩器中的控制模块向格式化器发起连接请求;并判断连接是否成功,若是,则根据实时解压缩器与格式化器之间的通信协议发出请求;否则,断开与格式化器的连接,并实时发送与格式化器的连接请求,当格式化器重新启动时实现重连;

S12当格式化器收到所述实时解压缩器发送的请求后,判断实时解压缩器是否合法登陆,若是,则发送多谱段遥感压缩码流;否则,格式化器向实时解压缩器发送拒绝帧;

S13实时解压缩器接收格式化器发送的多谱段遥感压缩码流。

2.如权利要求1所述的控制方法,其特征在于,步骤S13具体为:S131实时解压器的控制模块采用多路并行的方式接收多谱段遥感压缩码流;

S132控制模块对多谱段遥感压缩码流进行解包处理,根据包头信息判断是否出错,若是,则给出错误提示信息;若否,则将接收到的码流数据存入对应的不同数据流的第一级数据缓存区。

3.如权利要求1所述的控制方法,其特征在于,步骤S2具体为:S21实时解压器采用多路并行的方式将所述多谱段遥感压缩码流写入至解压缩处理单元中对应的解压缩处理板;

S22判断对应压缩码流接收循环缓存区中是否有数据,若是,则读入与所述解压缩处理板匹配的长度的压缩码流数据,并写入至对应的解压缩处理板;若否,则等待;

S23解压缩处理单元对压缩码流数据进行解压缩处理后,控制模块将解码图像数据读出并存入第二级数据缓存区;

S24控制模块对解码图像数据进行分包处理后获得还原后的相机格式数据并存入第三级数据缓存区。

4.如权利要求3所述的控制方法,其特征在于,所述第三级数据缓存区包括五个数据缓存区,其中两个数据缓存区用于存储扫描短波图像数据中左、右半场图像,两个数据缓存区用于存储扫描中波图像数据分左、右半场图像,一个数据缓存区用于存储凝视解压缩数据。

5.如权利要求4所述的控制方法,其特征在于,步骤S24具体为:S241从第二级数据缓存区中读取一部分数据;

S242通过类型标识进行类型判断,若为帧头辅助信息,则取固定长度数据进行转换拼位,并拆分成左、右两个部分存入左右路数据缓存存储区;

若为帧尾辅助信息,则取不同固定长度数据进行转换拼位,并拆分成左右两个部分存入左右路数据缓存存储区;

若为扫描图像左半场一行,则进行左行辅助头判断,若为左行辅助头,则对固定长度数据进行转换拼位,将数据存入左路数据缓存存储区;否则,继续搜索左行辅助头,进入步骤S243;

若为扫描图像右半场一行,则进行右行辅助头判断,若为右行辅助头,则对固定长度数据进行转换拼位,将数据存入右路数据缓存存储区;否则,继续搜索右行辅助头,进入步骤S243;

其中,类型包括帧头辅助信息、帧尾辅助信息、扫描图像左半场一行或右半场一行;

S243通过搜索行辅助头信息来寻找行辅助头,若找到,则对固定长度数据进行转换拼位,并将数据存入对应的左、右路数据缓存存储区;若没有找到,则结束并返回至步骤S241。

6.如权利要求1-5任一项所述的控制方法,其特征在于,步骤S3具体为:S31格式化器向实时解压缩器发起连接请求;并判断连接是否成功,若是,则根据实时解压缩器与格式化器之间的通信协议发出请求;否则,断开与格式化器的连接;

S32当实时解压缩器收到格式化器所发送的请求后,判断格式化器是否合法登陆,若是,则发送解压后的多谱段遥感图像;否则,实时解压缩器向格式化器发送拒绝帧;

S33实时解压缩器向格式化器发送解压后的多谱段遥感图像。

7.如权利要求6所述的控制方法,其特征在于,步骤S31具体为:S311实时解压缩器的控制模块采用5路监听守护线程,分别对应扫描短波左路发送端口、扫描短波右路发送端口、扫描中波左路发送端口、扫描中波右路发送端口、以及凝视波发送端口;

S312当格式化器与控制模块连接成功时,启动对应的5个解压图像数据发送线程;5路监听线程会一直处于守护状态;

S313当格式化器主动断开与解压缩服务器的连接,5个解压数据发送线程会终止,监听线程开始执行并实现重连。

8.如权利要求6所述的控制方法,其特征在于,步骤S33具体为:S331实时解压器的控制模块采用五路并行的图像数据发送线程,判断发生图像缓存区中是否有数据,若是,则发送与格式化器协议长度的数据到对应的图像端口;否则,等待。

说明书 :

一种多谱段遥感图像实时解压缩器的控制方法

技术领域

[0001] 本发明属于卫星遥感图像数据处理领域,具体涉及到一种对卫星遥感多谱段压缩编码的数据完成实时解码的智能控制方法与系统。

背景技术

[0002] 卫星遥感图像随着传感器分辨率大幅提高,遥感图像数据量和计算机运算量将随之大幅增加,卫星将压缩码流数据传回地面的方式大多采用的是通过无线电信道,所以,对于地面接收系统的技术难点是如何接收处理如此高速率、大数据量、大动态变化流量的下发的数据。
[0003] 空间遥感技术在军事侦察、气象预报、地质勘察等方面的广泛应用,使人们对星上数据压缩系统提出了更高的要求,既要保证原始图像的恢复质量,又要在满足编解码实时性的同时尽可能地提高压缩比,即高保真、高压缩率和高速度,使得星上压缩方式更加多样化,同时也使得码流数据量变化幅度宽,实时解压缩器为星上压缩单元对应设备,星上压缩方式的多样性,以及数据量增幅不断变化对地面实时解压缩设备也提出更高的要求。
[0004] 地面接收到星上传输下来的实时压缩码流数据,需要进行实时解码恢复出原始数据。整个地面运控系统会接收来自卫星的多路多谱段压缩码流,包括双波段凝视红外图像与可见光图像、大幅面扫描中波图像(包含大气透过波段数据)、以及大幅面扫描短波图像,然后地面运控系统的解压缩服务器要根据星上数据压缩单元的压缩方式,反向解压恢复出原始数据,最后回传至地面运控系统的格式化器。所以,如何实时的对卫星上下发的多谱段遥感压缩图像数据进行解压恢复,使得在整个地面运控系统中负责数据流交换,处理与控制的软件设计就显得尤为重要。
[0005] 实时解压缩器为地面运控系统的一个主要组成部分,是星上数据压缩单元的对应设备,它负责接收地面运控系统中格式化器输出的压缩码流数据,依据数据压缩单元的压缩方式,实时完成解压工作,然后将解压缩图像数据回传至地面运控系统的格式化器。所以,实时解压缩器对实现卫星压缩多光谱图像数据智能控制和处理,对地面上数据的接收与处理系统都有着重大意义。

发明内容

[0006] 针对现有技术的缺陷,本发明的目的在于提供一种多谱段遥感图像实时解压缩器的控制方法,旨在解决对卫星下发的高速率、大数据量、大动态变化流量、及多种压缩模态的多谱段遥感图像,实现实时数据接收、解压和发送的问题。
[0007] 本发明提供了一种多谱段遥感图像实时解压缩器的控制方法,实时解压缩器包括解压缩处理单元和控制模块,解压缩处理单元包括多个解压缩处理板;控制模块通过PCIE接口与各个解压缩处理板连接,控制模块通过网口与格式化器连接;包括下述步骤:
[0008] S1:采用并行的方式接收卫星下发的多谱段遥感压缩码流;
[0009] S2:采用并行的方式对所述多谱段遥感压缩码流进行解压缩处理;
[0010] S3:采用并行的方式将解压后的多谱段遥感图像输出发送。
[0011] 更进一步地,步骤S1中,通过扫描短波码流数据接收线程,扫描中波码流数据接收线程和凝视波段码流数据接收线程同时接收所述多谱段遥感压缩码流。
[0012] 更进一步地,各个码流数据接收线程的实现步骤相同,具体包括:
[0013] S11实时解压缩器中的控制模块向格式化器发起连接请求;并判断连接是否成功,若是,则根据实时解压缩器与格式化器之间的通信协议发出请求;否则,断开与格式化器的连接,并实时发送与格式化器的连接请求,当格式化器重新启动时实现重连;
[0014] S12当格式化器收到所述实时解压缩器发送的请求后,判断实时解压缩器是否合法登陆,若是,则发送多谱段遥感压缩码流;否则,格式化器向实时解压缩器发送拒绝帧;
[0015] S13实时解压缩器接收格式化器发送的多谱段遥感压缩码流。
[0016] 更进一步地,步骤S13具体为:
[0017] S131实时解压器的控制模块采用多路并行的方式接收多谱段遥感压缩码流;
[0018] S132控制模块对多谱段遥感压缩码流进行解包处理,根据包头信息判断是否出错,若是,则给出错误提示信息;若否,则将接收到的码流数据存入对应的不同数据流的第一级数据缓存区。
[0019] 更进一步地,步骤S2具体为:
[0020] S21实时解压器采用多路并行的方式将所述多谱段遥感压缩码流写入至解压缩处理单元中对应的解压缩处理板;
[0021] S22判断对应压缩码流接收循环缓存区中是否有数据,若是,则读入与所述解压缩处理板匹配的长度的压缩码流数据,并写入至对应的解压缩处理板;若否,则等待;
[0022] S23解压缩处理单元对压缩码流数据进行解压缩处理后,控制模块将解码图像数据读出并存入第二级数据缓存区;
[0023] S24控制模块对解码图像数据进行分包处理后获得还原后的相机格式数据并存入第三级数据缓存区。
[0024] 更进一步地,所述第三级数据缓存区包括五个数据缓存区,其中两个数据缓存区用于存储扫描短波图像数据中左、右半场图像,两个数据缓存区用于存储扫描中波图像数据分左、右半场图像,一个数据缓存区用于存储凝视解压缩数据。
[0025] 更进一步地,步骤S24具体为:
[0026] S241从第二级数据缓存区中读取一部分数据;其中,“一部分”具体可以根据实际数据长度来确定,例如1M数据或者几百K数据;
[0027] S242通过类型标识进行类型判断,若为帧头辅助信息,则取固定长度数据进行转换拼位,并拆分成左、右两个部分存入左右路数据缓存存储区;
[0028] 若为帧尾辅助信息,则取不同固定长度数据进行转换拼位,并拆分成左右两个部分存入左右路数据缓存存储区;
[0029] 若为扫描图像左半场一行,则进行左行辅助头判断,若为左行辅助头,则对固定长度数据进行转换拼位,将数据存入左路数据缓存存储区;否则,继续搜索左行辅助头,进入步骤S243;
[0030] 若为扫描图像右半场一行,则进行右行辅助头判断,若为右行辅助头,则对固定长度数据进行转换拼位,将数据存入右路数据缓存存储区;否则,继续搜索右行辅助头,进入步骤S243;
[0031] 其中,类型包括帧头辅助信息、帧尾辅助信息、扫描图像左半场一行或右半场一行;
[0032] S243通过搜索行辅助头信息来寻找行辅助头,若找到,则对固定长度数据进行转换拼位,并将数据存入对应的左、右路数据缓存存储区;若没有找到,则结束并返回步骤S241。
[0033] 更进一步地,步骤S3具体为:
[0034] S31格式化器向实时解压缩器发起连接请求;并判断连接是否成功,若是,则根据实时解压缩器与格式化器之间的通信协议发出请求;否则,断开与格式化器的连接;
[0035] S32当实时解压缩器收到格式化器所发送的请求后,判断格式化器是否合法登陆,若是,则发送解压后的多谱段遥感图像;否则,实时解压缩器向格式化器发送拒绝帧;
[0036] S33实时解压缩器向格式化器发送解压后的多谱段遥感图像。
[0037] 更进一步地,步骤S31具体为:
[0038] S311实时解压缩器的控制模块采用5路监听守护线程,分别对应扫描短波左路发送端口、扫描短波右路发送端口、扫描中波左路发送端口、扫描中波右路发送端口、以及凝视波发送端口;
[0039] S312当格式化器与控制模块连接成功时,启动对应的5个解压图像数据发送线程;5路监听线程会一直处于守护状态;
[0040] S313当格式化器主动断开与解压缩服务器的连接,5个解压数据发送线程会终止,监听线程开始执行并实现重连。
[0041] 更进一步地,步骤S33具体为:
[0042] S331实时解压器的控制模块采用五路并行的图像数据发送线程,判断发生图像缓存区中是否有数据,若是,则发送与格式化器协议长度的数据到对应的图像端口;否则,等待。
[0043] 本发明的有益效果体现在以下几个方面:
[0044] (1)稳定性高;本系统在地面运控系统测试使用中,实时解压缩服务器在正常的工作状态下,即和格式化器进行数据交换通信的过程中,如果格式化器突然断开,解压缩服务器软件就不会出现死机现象,或者导致软件崩溃。而是不断监听等待格式化器重连,当格式化器重启启动时,又可以显示正常数据通信,实时解压缩软件无需人的干预,控制软件稳定性高。
[0045] (2)容错性好;在系统出现故障时能够捕获错误交操作者处理,对实时解压缩器处理板工作状态异常能自动切换至备份板
[0046] (3)实时性好;采用多路并行多线程处理技术,提高数据输入输出数量,减少系统延迟时间;控制模块中设计自我故障诊断、定位、追踪功能,利用机箱上的显示设备提供足够的输出信息给维修人员做判断。另外在机箱正面设置测试接口,方便检修人员对系统运行状况进行维护。
[0047] (5)人机交互界面友好;用户通过解压缩服务器软件的操控平台,既可简单方便的操控整个系统,而且又能实时的、直观的看到解码状态信息。通过人机交互可以选存所要分析处理的压缩数据和解压缩图像数据,更加便于后续对压缩编解码算的研究。也可通过日志追溯测试过程出现问题时间点。

附图说明

[0048] 图1实时实时解压缩器物理设计组成框图;
[0049] 图2运控系统中实时实时解压缩器工作流程;
[0050] 图3实时实时解压缩器服务器模块功能划分图;
[0051] 图4解压缩服务器向格式化器申请压缩码流流程图;
[0052] 图5格式化器向解压缩服务器申请解压缩图像数据码流流程图;
[0053] 图6数据流多线程控制流图;
[0054] 图7压缩码流接收流程图;
[0055] 图8压缩码流转发处理板流程图;
[0056] 图9解压缩图像数据分包流程图;
[0057] 图10解压缩图像数据发送流程图;
[0058] 图11解压缩处理单元输出左右路无序示意图;
[0059] 图12解压缩图像数据解析分包处理流程;
[0060] 图13解压缩与格式化器网络重连功能示意图。

具体实施方式

[0061] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0062] 本发明提供一种多谱段遥感图像实时解压缩器的控制方法,实现对卫星下发的高速率,大数据量卫星压缩图像的实时解压缩功能。并已经研制出一款实时解压缩器设备,以配合完成星上压缩单元压缩码流的解压缩任务。
[0063] (1)本发明能实现对卫星下发的高速率、大数据量、多速率变化的多光谱压缩数据智能接收处理,并研制出一套完整的实时解压缩器的控制模块。
[0064] (1-1)多谱段遥感图像实时解压缩器包括解压缩处理单元,通过PCIE接口与控制模块实现数据交互。为了保证解压缩工作的实时性,该系统采用专用硬件设备来完成三路压缩码流的解压处理。
[0065] (1-2)实时解压缩器主要外部接口包含交流电源输入接口、人机交互界面、压缩码流输入接口、解压缩图像数据输出接口、以及监控的通信接口。
[0066] (2)本发明提供了一套完整的数据分析和处理流程。解压缩处理单元是实时解压缩器的核心部件,主要完成三路压缩码流的实时解压缩工作;实时解压缩器中的控制模块,主要提供解压缩处理流程控制、实时解压缩器运行状态监控和实时解压缩器软件更新等功能。
[0067] (2-1)控制模块负责压缩码流数据接收、与解压缩处理单元间的通信,控制码流采集过程,检测解压缩状态,实现三路解压缩数据的比对、分析、统计,分析卫星下发的多波段光谱图像编码方式和相关卫星信息,并通过PCI-E总线接口接收解压缩处理单元输出的解压缩图像数据,然后从万兆以太网接口输出。
[0068] (2-1)用户可以通过控制模块获取当前实时解压缩器的工作状态,获取已解压缩图像相关的结果信息,如误码率、压缩比等。在必要情况下,控制模块可以提供存储功能,操作者可以直接通过人机交互界面调用已存储的部分解压缩图像,或查看部分实时解压缩图像。
[0069] (3)本发明提供一种智能的高速率、大动态变化的数据流控制方法。卫星下发的压缩码流数据在实时解压缩器中的流向控制,压缩码流通过三路虚拟信道,经千兆以太网接口输入到控制模块,再通过PCI-E接口写到解压缩处理单元,经过解压缩处理单元解压后,再经PCI-E接口读出到控制模块,控制模块再将解压缩图像从万兆以太网接口输出。
[0070] (3-1)实时解压缩器中的控制模块的研制难点在于处理数据量大,对实时性要求高,要求在输入码率达到300Mbps时,输出码流达到600Mbps,同时系统延迟时间控制在100ms内,即第一个压缩码流数据输入开始到第一个解压缩图像数据输出的时间不超过
100ms,这就要求数据传输尽量快,对于总线传输速度有很高要求。
[0071] (3-2)PCI-E是主流的总线技术并且支持快速的数据传输。PCIExpress×8总线单向传输带宽可达到2GB/s。可以满足服务器与实时解压缩器的控制模块之间的数据交换要求。
[0072] (4)本发明具备高速率传输高可靠性和解压处理能力的实时性。
[0073] (4-1)为保证高速数据高可靠传输,采用TCP/IP协议进行可靠传输。物理层采用光纤传输,以保证长距离传输的可靠性。对比UDP协议,TCP/IP协议通过握手机制、CRC校验来保证数据的可靠性。
[0074] (4-2)实时解压缩器的控制模块需要接收高达300Mbps高速率输入的大数据量数据。该数据包括了双波段凝视红外图像与可见光图像、大幅面中波扫描图像(含大气透过波段数据)、以及大幅面短波扫描图像(含大气透过波段数据)。如此高的输入数据率和数据量决定了单路解压单元采用串行处理的方式是难以胜任该项工作的。
[0075] (4-3)卫星数据压缩单元在完成星上相机载荷多路数据实时压缩功能时,分别针对双波段凝视红外图像与可见光图像、大幅面中波扫描图像(包含大气透过波段数据)、以及大幅面短波扫描图像三路图像数据输入,采用了独立的处理通道并行地完成数据压缩功能。因此,综合考虑到大数据量图像数据处理需求和对应的卫星数据压缩单元工作方式,实时解压缩器对各类数据的处理也采用并行处理的方式进行。
[0076] (4-4)为了保证实时性,我们采用硬件设备对压缩码流进行解压缩,通过采用三组FPGA处理单元并行处理,分别完成扫描短波及相关大气透过波段、扫描中波及相关大气透过波段和凝视三路图像的解压缩工作。
[0077] (5)本发明系统业务功能模块划分清晰明了。
[0078] (5-1)压缩码流的接收与转发模块
[0079] 该模块主要完成三路码流的接收与转发,包括双波段凝视红外图像、可见光图像,大幅面中波扫描图像(包含大气透过波段数据),大幅面短波扫描图像(包含大气透过波段数据)。三路数据分三个线程通过千兆网卡从Socket的三个数据端口输入,然后通过PCI-E接口转发给三块解压缩处理板。
[0080] (5-2)解压码流的分帧与分包模块
[0081] 实时解压缩器中的控制模块接收来自解压缩处理单元处理后的解压缩数据,将具有特定格式的图像数据转换成一般格式的图像数据并分出完整的每一帧图像数据,最后按照预先和格式化器商定的协议,分成固定格式的发送包,有序的发送给格式化器。
[0082] (5-3)故障检测切换模块
[0083] 检测解压缩处理板卡的工作状态,一旦解压缩处理板卡发生故障,能够定位到出错板卡并将出错板卡的工作切换至备份板。
[0084] (6)本发明系统人机交互界面模块划分友好。
[0085] (6-1)解压缩参数显示模块:输出压缩过程采用的参数信息;
[0086] (6-2)参数设置模块:实时解压缩器的控制模块与格式化器之间的连接控制以及控制模块与解压缩处理板卡之间的连接控制;
[0087] (6-3)离线功能测试模块:使用本地存储压缩码流,对单块板卡进行功能测试,解码功能验证;
[0088] (6-4)解码状态主动上报模块;
[0089] (6-5)日志输出显示模块:记录用户操作记录,随时跟踪用户使用痕迹,以便发生突发事件时查找和定位问题。同时输出系统与格式化器、板卡之间的连接状态以及反馈信息等,方便用户掌握实时解压器的工作状态;
[0090] (6-6)解压图像实时显示模块:实时显示每一帧解压图像,以便用户直观掌握解压工作的情况和结果。
[0091] 下面结合附图和具体实施例对本发明作进一步说明。
[0092] (1)如图1所示,为实时解压缩器物理组成简图。实时解压缩器包括解压缩处理单元和控制模块两个部分,解压缩处理单元是由3块FPGA硬件逻辑板卡和1块备份板卡组成,实现解码功能,分别是对双波段凝视红外图像、可见光图像,大幅面中波扫描图像(包含大气透过波段数据),大幅面短波扫描图像(包含大气透过波段数据)三大类数据图像。实时解压器的控制模块主要负责整个解压缩过程数据流的处理和数据的分析。
[0093] 实时解压器通过千兆以太网与接收、发射分系统的总控部件进行通信,接收控制指令并反馈状态信息。通过万兆网将解压后的大数据量发送给其他设备。
[0094] 解压缩处理单元的四块解压缩处理板是相互独立的,并行工作,完成各自解压工作。正常状态下,只有凝视图像解压缩处理板,中波扫描图像解压缩处理板,短波扫描图像解压处理板,3块板卡在同时工作,只有当中波扫描图像解压缩处理板或短波扫描图像解压处理板其中一块板卡出现故障则会将故障板卡处理任务交给备份板。
[0095] 解压缩处理单元电路通过PCI-E总线接口与控制模块进行数据交换,达到实时性解码。
[0096] (2)如图2所示,为该发明的一个应用实施实例,实时解压缩器在整个卫星遥感图像处理系统中的重要位置和使用价值。实时解压缩器是星上多谱段遥感图像实时压缩单元的地面系统对应设备,编码后的压缩码流经过星上综合处理器,数据传送单元,信号调试发送,再经过无线信道,传输到地面,由地面接收控制模块进行无线信号接收解调,信道解密解码,最后由格式化器传送到实时解压缩器,实时完成卫星探测数据的无/近无损解压处理,还原成相机格式数据。对于实时解压缩器,输入到输出,是数据几倍放大的过程,处理如此巨大的数据流,需要很好的数据流控制方法和系统,才能实时完成解压任务。
[0097] 格式化器通过千兆网端口多路输入图像压缩码流给解压缩设备,解压缩设备在低延迟下完成解压任务,通过万兆网端口多路输出解压后相机格式的图像数据,回传给格式化器。要求在输入码率达到300Mbps时,输出码流达到600Mbps,同时系统延迟时间控制在100ms内。
[0098] (3)如图3所示,为实时解压缩器的控制模块各功能划分。
[0099] 实时解压器的控制模块主要功能包括:
[0100] (3-1)与格式化之间数据接收与发送,通过TCP/IP传输协议,多线程并行接收压缩码流和多线程并行分包发送解压缩图像数据。
[0101] (3-2)与解压缩处理单元数据流的写入和读出,将接收的的压缩码流处理后,把码流数据通过PCI-E的DMA写操作多线程并行写入对应处理波段的板卡中。同时,通过PCI-E的DMA读操作多线程并行读出对应板卡解码输出数据,交由控制模块处理。
[0102] (3-3)与监控器间的交互,解码状态信息通过UDP协议实时发送反馈给监控器。
[0103] (3-4)实时解压器的控制模块还提供了一些辅助测试功能模块,包括日志显示模块,能实时记录测试状态和提示各种错误、警告信息;图像显示模块,可以显示解码后的图像;解码参数显示模块,实时的将解码图像的相关编码信息告诉给用户;离线功能测试模块,可用于问题排故,和系统功能更新测试。
[0104] (4)与格式化器是之间采用TCP通信。数据源端采用TCP服务器端模式,数据接收端采用TCP客户端模式。即:在传输压缩码流时,格式化器为服务器,实时解压缩器为客户端;在传输解压缩数据时,格式化器为客户端,实时解压缩器为服务器。由客户端向服务器端发出数据申请帧,申请数据,服务器端接收申请后,开始发送数据。实时解压缩器与格式化器TCP通信流程如图4和图5所示。
[0105] (4-1)当格式化器作为服务器端,实时解压器器作为客户端,实时解压器的控制模块向格式化器申请压缩码流流程图如图4所示。
[0106] ①格式化器与实时解压缩器开始运行;
[0107] ②实时解压缩器中的控制模块向格式化器发起连接请求;
[0108] ③实时解压缩器中的控制模块判断连接是否成功,若是,则根据实时解压缩器与格式化器之间的通信协议发出请求;否则,断开与格式化器的连接,并实时发送与格式化器的连接请求,当格式化器重新启动时实现重连;
[0109] ④当格式化器收到所述实时解压缩器发送的请求后,判断实时解压缩器是否合法登陆,若是,则发送多谱段遥感压缩码流;否则,格式化器向实时解压缩器发送拒绝帧[0110] (4-2)当实时解压缩器作为服务器端,格式化器作为客户端,式化器向解压缩服务器申请解压缩图像数据码流流程图如图5所示。
[0111] ①格式化器与实时解压缩器开始运行;
[0112] ②实时解压缩器开始在万兆网口监听,格式化器向实时解压缩器发起连接请求;
[0113] ③格式化器进行判断,是否连接成功,若连接成功,则向实时解压缩器发起包申请帧接收;否则,断开与实时解压缩器连接,释放对应端口;
[0114] ④实时解压器开启监听,等待格式化器发送数据包申请帧。当实时解压缩器收到格式化器所发送的申请帧,判断格式化器是否合法登陆,若是,则发送解压后的多谱段遥感图像;否则,实时解压缩器向格式化器发送拒绝帧。
[0115] (5)多路线成并行处理机制,如图6所示,实时解压缩器采用三块解压缩处理板分别解压缩三路数据,分别为扫描短波数据,扫描中波数据,凝视数据。三路数据的处理是互不影响的,所以可以并行处理,提升系统的工作效率和吞吐率。多线程模块是为了满足解压缩的实时性而设计的。
[0116] (5-1)数据处理过程总共采用17个线程:三个线程负责从格式化器接收压缩码流,三个线程负责将压缩码流转发给对应的解压缩板;三个线程负责从解压缩板接收解压缩数据;三个线程负责对解压缩数据进行分类处理;五个线程负责将相机数据分包发送给格式化器。
[0117] (5-2)为提高数据接收效率,在压缩码流接收去包头处理和执行写DMA操作之间加入第一级缓存,将码流接收及写DMA操作由该缓存拆分成两个线程,采用该种设计方法可以避免应输入码率瞬间提高而导致接收短溢出问题。同时,可以保证往PCIE进行写DMA操作时写入的数据是定长且为2KB的整数倍技术指标要求。
[0118] (5-3)在硬件数据处理和解压图像数据网网络端口发送之间新增加两级缓存,增加5个数据发送线程,将扫描波段的左右路发送过程分离开来,相互独立,可以提高输出码率和减少系统延时,使解压缩图像显示,左右半场之间几乎可以同步,不会出现左右半场图像显示的延迟。
[0119] (6)如图7所示,并行接收上游格式化器发来的压缩码流处理流程。
[0120] (6-1)通过TCP/IP通信协议,三路并行线程通过三个虚拟信道端口接收三路不同的压缩码流数据,三个接收数据线程相互独立,并行运行,提高网络数据接收速率。
[0121] (6-2)对接收到的数据进行处理-解包,解析包头信息(包头信息为实时解压缩器与格式化器间协议数据包信息),根据包头信息判断是否出错,若出错,给出错误提示信息;否则,将接收到的码流数据存入对应的不同数据流的数据缓存区内,等待PCIE的DMA写操作线程读取数据。
[0122] (6-3)多路接收数据线程只负责数据接收和解包操作,并行运行,可以大大提高网络数据接收效率。
[0123] (7)如图8所示,并行将接收到的压缩数据进行PCIE接口转发到对应处理板。整个系统是个流水线过程,压缩码流转发处理线程,也是三路并行处理。
[0124] (7-1)判断对应压缩码流接收第一级数据缓存区中是否有数据,若有,则读入固定长度压缩码流数据,通过PCIE接口转发给对应处理板;否则,等待。
[0125] (8)解压缩处理板解压后的图像数据,需要输出给格式化器,形成一个数据流回路。解压缩处理单元完成解压功能后,解压缩服务器控制模块会将解码图像数据通过PCIE接口进行DMA读操作,将数据读出,并将数据存入第二级数据缓存区中。。由于解压缩处理单元输出的解码数据不是最终的还原图像格式,需要进行分包处理,分包具体流程见(10),分包流程见图9所示。
[0126] (8-1)解压缩处理单元的解压数据读取。对于实时解压缩器,为提高数据处理效率,解压数据输出分包过程也是三路线程并行处理,读取第二级数据缓存区中的数据并进分包处理的,将扫描短波图像数据分左右半场图像存入对应待发数据缓存区;将扫描中波图像数据分左右半场图像存入对应待发数据缓存区;将凝视解压缩数据存入凝视待发数据缓存区。待发数据缓存区为第三级数据缓存区。整个过程为流水线过程。
[0127] (9)图10显示的是五路并行的图像数据发送线程,已经提到过,加压过程是一个数据由扫到多的过程,为适应不同程度的压缩比模式,提高解码输出能力,采用并行发送处理,流水线操作,各模块互不干扰,高效运行。五路数据发送数据线程过程相同,判断第三级数据缓存区中是否有数据,如果有数据,则发送固定长度的数据到对应的图像端口;否则,循环等待。
[0128] (10)解压图像数据解析分包,将解压缩处理单元输出的扫描中波和扫描短波数据进行分包处理,分左右半场发送。分包处理流程如图12所示。
[0129] 输入:解压缩处理单元解码后输出数据。
[0130] 处理:对输入数据进行解析分包。
[0131] 输出:相机格式图像数据。
[0132] 详细设计:从解压缩处理板接收到的解码数据并不是相机格式的数据,扫描图像数据没有分左右半场,解压缩板接收到的解压缩数据是左右路无序的,如图11所示。
[0133] 为了将硬件输出色解压数据按包有序的发送给格式化器,需要将无序的数据进行分类处理,形成有序的左右路图像数据。所以需要对硬件输出数据进行解析分包处理。
[0134] (10-1)解压缩处理单元扫描解码数据分为三种类型(帧头辅助信息作为类型a,帧尾辅助信息作为类型b,扫描图像左半场或右半场图像的一行作为类型c),每16bit的数据表示一个像素中,低10bit为图像数据,第11,12位是数据类型标志,高4bit是为了凑成16bit而补的,进行数据分类处理是需要剔除数据通过每16bit数据的第11,12位进行辨别,a和b数据类型对应01,c数据类型中的左半场数据对应10,c数据类型中的右半场数据对应
11。
[0135] (10-2)有效数据段输出顺序:第一帧图像的帧头(类型a)最先输出,紧接着较长时间都是在输出扫描图像的左半场或右半场的一行(类型c),是左半场还是右半场是随机的,但不会出现连续来很多行左半场数据或右半场数据的情况,至多也只会连着有几行。当输出了11635行右半场数据后,接下来输出的是一段帧尾+填充(类型b)的数据,至此第一帧数据输出结束。然后开始输出第二帧,格式与第一帧相同,再按此过程输出后续的所有帧。
[0136] (10-3)具体解析分包步骤如下,流程如图1所示:
[0137] ①从第二级数据缓存区中读取一部分数据;
[0138] ②通过类型标识进行类型判断。若为类型a或b,执行③操作,进行帧辅助头和帧辅助尾信息判断;若为类型c且为扫描图像左半场一行,执行操作④,进行左行辅助头信息判断;若为类型c且为扫描图像右半场一行,执行⑤操作,进行右行辅助头信息判断。
[0139] ③进行帧辅助头和帧辅助尾信息判断,若为帧头辅助信息,则取固定长度数据进行转换拼位,并拆分成左、右两个部分存入左右路数据缓存存储区;若为帧尾辅助信息,则取不同固定长度数据进行转换拼位,并拆分成左右两个部分存入左右路数据缓存存储区;
[0140] ④若为扫描图像左半场一行,则进行左行辅助头判断,若为左行辅助头,则对固定长度数据进行转换拼位,将数据存入左路数据缓存存储区;否则,继续搜索左行辅助头,进入步骤⑥。
[0141] ⑤若为扫描图像右半场一行,则进行右行辅助头判断,若为右行辅助头,则对固定长度数据进行转换拼位,将数据存入右路数据缓存存储区;否则,继续搜索右行辅助头,进入步骤⑥。
[0142] ⑥通过搜索行辅助头信息来寻找行辅助头,若找到,则对固定长度数据进行转换拼位,并将数据存入对应的左、右路数据缓存存储区;若没有找到,则结束并返回至步骤①。
[0143] (11)实时解压缩器的控制模块与格式化器网络重连功能实现,如简图13所示。
[0144] 实时解压器的控制模块与格式化器网络连接存在问题是,控制模块能自动连接到格式化器,并且接受格式化器的连接。实时解压器的控制模块既是客户端也是服务器端。
[0145] (11-1)实时解压器的控制模块和格式化器之间是双向连接:控制模块在千兆网端口接收格式化器发送的压缩码流时,是作为客户端连接格式化器;控制模块通过万兆网端口向格式化器发送解压缩图像数据时,是作为服务器端,处于监听状态等待格式化的连接。所以当与格式化器间千兆网连接或万兆网连接出现问题时,实时解压器的控制模块应能恢复正常连接。而不会出现当连接失败或者是当格式化器主动断开连接时软件出现卡死现象。
[0146] (11-2)本发明设计中添加了5个监听线程,分别对应扫描短波左路发送端口、扫描短波右路发送端口、扫描中波左路发送端口、扫描中波右路发送端口、以及凝视波发送端口。当格式化器与解压缩服务器连接成功,则会启动对应的5个解压图像数据发送线程。TCP监听线程会处于守护状态。当格式化器主动断开与解压缩服务器的连接,5个解压数据发送线程会终止,并执行监听线程,实现重连。
[0147] (11-3)3个断开重连功能,当格式化器断开连接,扫描短波码流数据接收线程,扫描中波码流数据接收线程,凝视波段码流数据接收线程,会在各种的接收端口不断连接格式化器,当格式化器重新启动时,可以实现重连。
[0148] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。