视频和遥测数据的数据搜索、解析和同步的制作方法

文档序号:7913830阅读:146来源:国知局
专利名称:视频和遥测数据的数据搜索、解析和同步的制作方法
技术领域
本发明涉及在时间上定位结构化文件或者结构化数据流内的数据,并且更具体地涉及定位编码视频序列内与帧的时间关联的帧。另外,本发明涉及用于同步遥测数据与对应的编码视频数据的系统和方法以及用于解析数据的方法。
背景技术
现有技术中已知的是MPEG编码视频,例如MPEG-2编码视频。为了提供某种搜索 机制,DVD视频将编码视频序列划分为章。DVD系统的用户能够在视频节目的章之间移动并且能够按章来进行搜索,但是用户不能够访问节目内特定时间的特定帧。通常,为了找到MPEG传输流内的特定帧,将需要解码整个MPEG传输流并且然后能够定位与特定回放时间关联的帧。因此,将需要对视频进行完全的渲染。在现有技术中,已知的是,获取遥测数据并且执行同时的航空照相/摄像。为了可用于基于地图的渲染,需要使遥测数据和视频图像同歩。在通常的视频获取系统中,使用MPEG视频协议和其它视频压缩协议。因为帧数据被压缩并且没有按照时间编制索引,因此不能够如上所述地直接获取用于每个视频帧的准确的时间位置。因此,对于可用的实时和基本上实时的系统来说,需要下述方法,该方法用于快速地定位压缩视频序列内与特定媒体回放时间关联的视频帧,从而视频帧能够与获取的遥测数据同步,从而在地图上渲染获取的视频帧。数据解析是已知的技木。解析通常要求创建解析树,其中标志,即预定义的数据单词被识别且放置在解析树中。然后能够对解析树进行回溯以确定识别出的单词的语法。在其中存在需要解析并且还需要同步的大量流形式的数据的实时应用中,传统的解析算法不是有效的。

发明内容
在本发明的第一实施方式中,提供了一种系统,该系统能够解析遥测数据和对应的视频数据,其中基于诸如时间戳的时间信息同步遥测和视频数据。遥测数据和视频数据最初是未同步的并且其数据是通过单独的装置分别获取的。获取装置可以位于航空器内或者附接到航空器。系统接收遥测数据流或者文件以及视频数据流或文件并且输出一系列同步的视频图像和遥测数据。因此,存在与每个视频图像关联的遥测信息。可以以与视频数据不同的速率获取遥测数据。結果,可以对遥测数据进行插值或外推以创建对应于每个视频图像的遥测数据。本系统实时地进行操作,从而从航空器获取的数据能够显示在地图上。这样的系统能够在战地条件下使用,以提供关于部队移动的实时可视信息。另外,可以捕获来自航空器的流形式的视频和遥测数据并且将其作为文件存储到存储器。遥测数据和视频数据然后能够在以后的时间被取回、解析和同步,并且对视频数据进行空间转换以在显示装置上进行渲染。系统能够允许用户选择用于显示的时间段。例如,航空器可能在飞行期间获取了几百英里的图像,并且用户可能仅对选择的区域感兴趣。因此,用户能够选择期望航空器经过感兴趣的区域的时间段并且该图像信息将会显示在地图上,并且没有显示视频文件中其它获取的信息。遥测数据解析器从获取装置或者从存储器中存储的文件获取KVL(关键字值长度)格式的数据。解析器不要求逐位地进行分析并且将跳过无效数据而无需回溯分级语法树。相反地,对字节信息进行分析以找到已知的关键字序列。关键字值指定符合关键字的数据的类型。解析器定位用于遥测数据的时间戳,并且如果遥测数据处于指定的时间段内,则保存该数据并且将其存储到存储器。基于遥测文件或流内的关键字值,能够识别对于特 定时间段要求的遥测数据并且将其存储到已知的数据库结构中。如果用于遥测数据的时间戳没有处于要求的时间段内,则该数据被丢弃并且解析器继续而没有将该数据添加到解析 树。因此,解析器是串行的而不是分级解析器。解析器通过将关键字与已知的关键字值进行比较来验证关键字并且基于校验和验证遥测数据。如果数据是无效的,则解析器将移动到下一字节的信息,丢弃无效数据,并且将开始搜索下一关键字值。这与现有技术的将执行逐位的分析并且如果遇到无效数据则需要回溯分级解析树的解析器相反。结果,解析器能够实时地进行操作,同时对具有数万或数十万分组的流或文件进行操作,其中每个分组对应于关键字长度值组合。在需要实时解析的情况下,遥测数据解析器可以利用一系列关键字解析具有关联格式的遥测数据或其它数据。遥测数据解析器可以实施为计算机可读介质上的用于在计算机上操作的计算机程序,实施为诸如专用集成电路(ASIC)或者场可编程门阵列(FPGA)的电子装置,或者可以包括电子器件和计算机代码的组合。被压缩的视频数据的数据搜索模块使用过滤器来定位压缩数据的大致时间戳。数据搜索模块也可以被称为视频帧提取模块。如果压缩数据为包括展现时间戳(PTS)的MPEG,H. 264或者其它格式,则过滤器定位PTS头并且提取表示回放的近似开始媒体时间的时间戳。过滤器将丢弃不具有接近或处于要求的时间段内的时间戳的任何PTS头的压缩数据。当过滤器定位接近或者处于要求的时间段内的时间戳时,压缩数据被传输到解码关联数据的解码器。使用每个帧的时间戳或者基于回放速率与PTS时间计算与帧关联的时间来定位并且存储处于要求的时间段内的帧。数据搜索模块采用的方法可以与其它编码视频数据系统一起使用,并且不限于与通过航空器捕获的视频一起使用的上述实施方式。另外,数据搜索模块可以实施为与计算机处理器一起使用的计算机可读介质上的计算机代码或者 可以实施为诸如专用集成电路(ASIC)或者场可编程门阵列(FPGA)的电子装置。另外,数据搜索模块可以被构造为硬件和软件的组合。系统对位于要求的时间段内的遥测数据和视频数据进行同步。遥测数据可以被外推或插值以提供用于来自视频流的每个图像的遥测数据。要求的时间段内的遥测数据和同步视频数据被传输到渲染引擎。渲染引擎将使用遥测数据来将视频帧数据输出到显示器。渲染引擎还将对每个视频图像进行必要的空间变换,以获得观察平面。在一些实施方式中,可以对视频帧数据进行变换以将其格式化为适于在地图上进行显示。系统、方法和对应的计算机程序产品可以对多个数据流进行实时的操作以实时地渲染多个视频流。这样,可以同时地在地图上渲染来自多个航空器的视频。在一些实施方式中,公开了ー种系统,该系统用于同步未同步的编码航空视频数据和单独获取的遥测数据以产生包含航空视频数据的地图。系统包括遥测解析器,用于接收用户定义的获取时间段和遥测数据流并且对遥测数据流进行解析以定位在时间上接近或位于用户定义的获取时间段内的遥测数据,其中遥测数据流包括以某ー采样速率获取的具有关联获取时间的遥测数据。另外,系统包括视频帧提取模块,用于获取编码航空视频数据流和将编码航空视频数据流解码为具有关联视频帧数据时间的视频帧,其中视频帧在时间上接近或位于用户定义的时间段内。一旦遥测解析器和视频帧提取模块识别出用于对应的视频和遥测数据的适合的时间戳(例如,获取时间和视频帧数据时间),则同步模块基于获取时间和视频帧数据时间对用于要求的获取时间段的视频帧数据和遥测数据进行同歩。系统还可以包括过滤器,用于产生额外的遥测数据,从而在要求的获取时间段内存在对应于每个视频帧的遥测数据。在本发明的各种实施方式中,系统可以进ー步包括图形用户界面,该图形用户界面输出要求的获取时间段的视频数据以进行显示。在本发明的实施方式中,对编码航空视频数据流进行解析以基于用于在时间上接近或位于要求的时间段内的ー组视频帧的展现时间戳定位数据。遥测数据可以是以长于视频帧数据的采样速率的速率采样的数据。系统可以进ー步包括或者附接到用于产生地图的渲染模块,其中视频帧数据被从航空获取平面空间变换到地图平面并且基干与视频帧数据关联的遥测数据将变换后的视频帧数据插入到地图中。系统还能够包括存储器,该存储器用于将遥测数据流存储到遥测文件中并且用于将编码航空视频数据流存储到航空视频文件中。图形用户界面可以允许用户选择两个或更多视频数据文件同时显示在显示装置上的地图上。遥测数据可以存储为关键字长度值格式。当遥测数据被存储为关键字长度值格式时,遥测解析器可以解析第一已知的关键字字节大小的数据并且将该数据的第一和第二部分置于至少第一和第二缓冲器中。遥测解析器针对第一部分关键字值检查第一缓冲器内的遥测数据,并且如果该遥测数据表示有效部分关键字,则解析器针对第二部分关键字值检查第二缓冲器中的遥测数据。视频帧提取模块可以被构造为该模块将丢弃与没有处于要求的时间范围内的展现时间戳关联的任何MPEG编码数据。遥测解析器可以以下述方式进行操作。遥测解析器接收遥测数据文件的第一部分,其中遥测数据文件可以包括以关键字长度值格式存储的遥测数据。遥测数据解析器比较遥测数据文件的第一部分与识别出的关键字。如果遥测数据文件的第一部分匹配识别出的关键字,则遥测解析器识别与要求的关键字关联的长度。遥测解析器然后比较遥测数据内的识别出的时间戳与要求的时间段。如果时间戳在时间上接近或处于该时间段内,则遥测解析器基于识别出的关键字将长度等于识别出的长度的数据保存到数据库结构。如果时间戳在时间上没有接近或处于时间段内,则遥测解析器丢弃与该关键字关联的遥测数据并且从递增到来自遥测数据文件的下一字节的数据。遥测数据可以包括很多不同的数据类型,这些数据类型包括指示地面位置的标记,该标记包括附接到航空器的相机正在拍摄的地面位置的经度和纬度位置。
视频帧提取模块解析编码视频数据以定位具有要求的时间段的一个或多个视频帧。视频帧提取模块接收编码视频数据并且定位用于一组视频帧的近似时间戳。视频帧提取模块比较近似时间戳与要求的时间段。如果近似时间戳接近或处于要求的时间段内,则视频帧提取模块解码该组视频帧并且识别用于每个解码的视频帧的帧时间戳。如果帧时间戳处于要求的时间段内,则视频帧提取模块将关联的帧和对应的帧时间戳存储到存储器以便于以后的取回。在一些实施方式中,编码视频数据被编码为MPEG格式。近似时间戳可以是展现时间戳,该展现时间戳是回放时间的估计并且与可识别的时间范围相关联。一旦视频帧提取模块和遥测解析器已经解析了视频数据和遥测数据并且已经定位了用户定义的时间段的数据。同步模块同步用户定义的时间段的解码的视频帧和遥测数据。同步的遥测数据和对应的解码的视频帧被存储到存储器。遥测数据可以存储在文件结构中,例如,存储在由相关数据库系统使用的文件结构中。然后基于对应的遥测数据对解码的视频帧进行观察坐标系变换,从而视频数据能够显示在显示装置上。一旦对视频数据进行了观察坐标系变换,在显示器上对编码的视频帧进行渲染。视频帧可以叠加在地图上并且可以实时地(即,顺序地)显示在显示装置上。可以基于地图上的位置的选择来确定要求的时间范围(即,用户定义的时间段)。在这样的实施方式中,通过图形用户界面来确定要求的时间段,并且图形用户界面将要求的时间范围通过控制模块传输给遥测分析器和视频帧提取模块。图形用户界面接收地图位置作为输入并且通过访问关联的飞行时间和编码的视频数据文件的数据库来识别要求的时间段。基于关联的飞行时间,图形用户界面基于用于航空器的飞行路径选择编码的视频数据文件,获取编码的视频数据文件。图形用户界面然后能够基于飞行路径、飞行开始时间以及航空器的速度来估计近似的要求的时间段。


结合附图,本发明的前述特征将通过参考下面的详细描述而变得更易于理解,其中图I示出了分别获取遥测和压缩视频数据,其中对数据进行处理以定位时间X处的视频帧并且定位时间X处的遥测数据;图IA示出了包括内部模块之间的通信路径的系统的实施方式;图2示出了包括具有关联的图形用户界面的处理器的系统,该图形用户界面用于观看实时航空视频数据并且具有基于获取的遥测数据变换的视频数据以显示在视频显示器上的地图上;图3是数据流水线处理器的一部分,该部分用于定位存储在压缩视频文件中的与要求的时间或时间段关联的视频帧;图3A是通过图片组过滤器执行的步骤的流程图;图3B是通过用于找到压缩视频文件内的特定视频帧的搜索模块执行的步骤的流程图;图4是数据流水线处理器的第二部分,其示出了遥测数据解析器、遥测同步模块、和外推过滤器,其中在来自要求的时间段的视频帧被传输给包括观察坐标系变换的渲染引擎之前使其与对应的遥测数据同步;
图5是用于遥测解析器的概括性流程图;图6是图形用户界面和叠加有用于单个航空器的视频数据的地图的视图;以及图7是图形用户界面和叠加有用于两个航空器的视频数据的地图的视图。
具体实施例方式这里使用的术语“模块”应表示软件组件(例如,对象、程序块、単独的独立程序等等)、硬件组件(诸如ASIC或FGPA的电路)或者软件和硬件组件组合。模块可以位于単独的位置或者可以分布在不同的位置。包括飞机、直升机和无人驾驶飞机的航空勘察器可以配备有视频记录设备,以记录包括地形、建筑物、人和车辆的地球表面的图像。另外,航空勘察器可以包括遥测获取装置,用于在一系列预定的时间记录遥测信息。遥测数据可以包括诸如航空勘察器关于地面 的位置的信息。ー些航空勘察器配备有现成的遥测获取装置以及现成的视频记录设备。在这样的勘察器中,遥测获取装置和记录设备独立地操作并且没有同歩。遥测获取设备和视频记录设备产生其中以采样/获取速率产生数据的输出数据流。视频记录设备可以记录压缩格式的视频数据,例如MPEG-2编码数据。视频数据被从航空器发送到中央接收站以进行进一歩的处理。类似地,遥测数据也可以从航空器发送到中央接收站以进行进一歩的处理。这可以实时地进行。在一些实施方式中,视频数据和遥测数据可以一起编码在单个MPEG-2传输流中,以从航空器发送到中央接收位置。例如,飞行器或其它空中机可以获取地球的表面的视频并且以MPEG格式记录这些图像同时获取对应于视频的遥测信息。处理器可以接收遥测数据流和视频数据流并且将遥测数据流格式化为MPEG基础流。MPEG视频基础流与遥测基础流能够然后作为单个MPEG传输流被无线地发送到中央接收站。当在中央接收位置接收到遥测数据和MPEG视频时,该遥测数据和MPEG视频被解复用以进行处理和显示在显示装置上。在这样的系统中,视频和遥测获取系统没有同步并且独立地获取来自视频和遥测获取系统的信息。另外,视频和遥测系统可以以不同的速率获取数据(例如,以每O. 5秒获取遥测数据并且以1/30秒获取视频图像)。甚至在视频和遥测数据被包含在同一 MPEG传输流内时也可以是这样。因此,如图I中所示,存在两个独立的数据文件遥测数据文件100和视频数据文件110。由于飞行器的速度,使得每个图像/帧可以表示不同地面位置(即,经度和纬度位置)的航空视图。在一些情况下,每个图像可以是地面的50码或更多的图片(取决于飞行器的速度、海抜、相机镜头、视场等等)。视频数据的每帧能够与不同的遥测数据关联并且依赖于采样速率,可以在遥测采样之间存在多个视频帧。因此,需要使用在数据的获取期间获取的时刻信息对遥测数据和视频数据进行同步。遥测数据可以是相对于遥测系统的内部时钟或者与外部时钟关联的时间戳。类似地,压缩MPEG视频数据包含用于每个视频帧的时间戳,然而,这些时间戳并不是可访问的,除非MPEG视频数据被解压缩。如图I中所示,视频数据110被接收为压缩MPEG数据(传输流)并且最終的结果是指定的媒体回放时间X处的解码的MPEG帧130与时间X的对应的遥测数据160之间的同步。如所示的,因为帧获取速率比遥测获取速率快,因此需要对遥测数据进行插值(遥测数据140和150之间的插值)。图IA示出了用于创建用于显示装置上的显示的图形地图的示例性系统,其中图形地图包括叠加的视频图像。遥测数据和视频数据通过遥测数据输入170和视频数据输入171输入到系统。最初,遥测数据和视频数据可以在MPEG传输流中以流的形式输入到系统,其中遥测数据将是第一基础流的部分并且视频数据将是第二基础流的部分。在这样的实施方式中,数据将被解复用并且各流将通过各自的输入到达存储器172。如果选择了实时显示,则存储器172可以是用于缓冲遥测数据流和视频数据流的缓冲器,或者存储器可以存储遥测数据和视频数据用于以后的取回和显示。用户与图形用户界面173交互。用户能够使用显示在显示装置173上的图形用户界面173指示接收从有人或无人航空器取回的实时信息或保存的信息,在显示装置173上,生成了图形地图并且视频的各帧被以适合的经度和纬度坐标布置在地图上。在实时实施方式中,图形用户界面173与控制模块174通信。控制模块174监督具有航空视频帧数据的地图的创建与遥测和航空视频帧数据的同步。控制模块174分别指示遥测解析器175和视频帧提取模块176从存储器172取回遥测数据和视频数据。控制模块174还将时刻信号提供到每个模块(遥测解析器175、视频 帧提取模块176、同步模块177和外推/插值模块178),从而能够在模块之间移动数据并且最终在显示器上呈现数据。在控制模块之上的层是应用层181。应用层181与图形用户界面173形成接口并且确定需要的控制模块的数目。如果多个视频要被显示和同步在一起,则将需要多个视频控制模块。例如,如果用户通过图形用户界面指示他希望观看每个显示在公共地图上的多个航空器的视频。在某些实施方式中,主时钟180用于同步。主时钟能够用于将遥测和视频数据同步到公共时钟并且还能够用于同步正在由控制模块控制的多个视频流以同时显示。遥测解析器175解析从存储器取回的遥测数据流。对数据进行解析以定位在指定时间采样的遥测信息。遥测数据与指定时间被传输到同步模块177并且被缓冲。遥测解析器175将指定时间传输到视频帧提取模块176。视频帧提取模块176从存储器取回MPEG或H. 264视频流以对流进行解析以定位每个展现时间戳(PTS)头。对与PTS关联的时间戳进行识别并且将其与来自遥测解析器的指定时间进行比较。如果PTS的时间戳处于指定时间的预置时间范围内(例如,PTS时间戳位于指定时间之前),则对PTS进行解码。如果PTS没有处于预置时间范围内,则丢弃该PTS头信息和编码数据。对于处于预置时间范围内的PTS,视频帧提取模块176解码PTS,从而PTS能够显示在显示装置173上。在解码处理期间,视频帧提取模块176识别与每个帧关联的时间戳。视频帧提取模块176将解码的视频帧与它们的时间戳一起传输到视频渲染器。同步模块177可以缓冲在不同时间采样的多组遥测数据。同步模块177然后使遥测数据排队等候直到其时间戳在指定容差内对应于视频流时间。视频流时间是视频显示或渲染时间。因此,接下来显示的视频帧将与正在从队列释放的遥测数据关联。应了解的是,可以以与视频数据不同的速率获取遥测数据。通常,将以比视频数据小的速率对遥测数据进行采样。结果,每组遥测数据能够与视频数据的一个或多个帧相关联。一旦遥测数据时间戳处于流时间容差内,则该数据被传输到外推/插值模块178。外推/插值模块将在两组遥测数据之间插值遥测数据,从而对于每个视频帧来说,存在关联的一组遥测数据,或者外推/插值模块将从一个或多个之前接收的遥测数据采样外推遥测数据。换言之,对于视频帧的每个采样时段,存在与采样时段关联的对应的遥测数据(例如,对于时间段X,捕获了视频帧I并且存在对应的遥测数据A)。插值/外推模块178然后将遥测数据传输到地图渲染模块179以与当前的视频帧关联。地图渲染模块179对视频帧图像数据进行变换,从而数据可以显示在显示装置173上的地图上。因此,数据被从获取平面扭曲(warp)到观察平面。用于视频帧数据的关联的遥测数据表示允许在地图上呈现图像的视频帧的精度和纬度。在另外的实施方式中,系统可以利用存储在存储器172中的文件中的预先记录的数据来工作。在这样的实施方式中,用户可以与图形用户界面173交互以选择与特定数据和时间关联的视频文件或者用户可以选择地图上的位置以显示任何对应的视频。用户还可以通过指定回放的开始时间或时间段(开始时间和结束时间)来选择特定文件的子集。当用户直接或间接地指示开始时间和/或开始/停止时间时,视频帧提取模块176将解析展现时间戳头并且基于开始时间戳确定是否应该数据进行解码。如果PTS时间戳处于时间范围之外,则将丢弃该视频并且不进行解码。类似地,遥测解析器175将从存储的文件解析遥测数据,但是将仅将相关的遥测数据(具有开始/停止时间段内的时间戳的遥测数据)保 存和存储到存储器,以传输到同步模块177。本领域技术人员应了解的是,各种模块和解析器(174-179)与图形用户界面可以在ー个或多个处理器上运行。模块和解析器也可以形成在ー个或多个集成电路芯片上。例如,同步模块和外推/插值模块可以位于同一片娃上。在实时获取和显示系统中,其中在从航空器接收到视频时将视频显示给用户,用户可以通过用户界面200指示用户希望放置在地图上的视频数据,如图2中所示。因此,经由图形用户界面,系统确定能够用于选择适合的遥测数据220并且还用于定位对应的视频数据230的开始和结束时间戳210。能够基于给出航空器的飞行路径的期望的航空器的位置来确定开始和结束时间戳(即,用户选择的时间段)。例如,如果航空器正在飞行并且实时地发送编码视频和遥测数据,则系统的用户可能仅想观看航空器捕获的视频的一部分。因此,基于飞行路径,能够使用本领域技术人员公知的技术来计算航空器将捕获要求的地面位置的图像的时间的估计。该用户选择的时间段然后能够由系统使用来解析遥测数据流和视频数据流以定位对应于用户选择的时间段的视频数据和遥测数据。如果使用预先记录的遥测和视频数据文件,则能够采用类似的技木。用户可以通过图形用户界面访问包含可能的预先记录的航空和遥测数据文件的列表的数据库。数据库可以包括关于航空器的飞行路径的信息并且甚至可以包括航空器记录的感兴趣的位置的列表。根据该列表,用户能够选择将要显示的要求的文件并且能够在地图上图形地或者通过坐标或者通过位置(城市、街道、地址)的输入来指示用户希望观看的视频数据。系统然后能够将选择的已知位置翻译为用户定义的时间段。在该实时系统中,遥测和视频数据被存储到文件或者存储到存储器,一旦基于时间戳对遥测和视频数据文件进行了解析,则基于遥测数据在观察坐标系变换引擎235中对视频信息进行变换。变换后的视频帧然后能够被渲染并且显示在地图240上。能够在流水线处理器中并行地提取遥测数据和视频数据或者能够串行地提取数据(參见图3和4中的流水线处理器的示意图)。遥测和视频数据的处理可以开始于MPEG传输流或其它流的接收,其中遥测数据和视频数据存储在一个或多个基础流中并且使用已知的解复用技术和/或解复用器对遥测和视频数据进行解复用。在另外的实施方式中,可以在单独的流中以流形式分别传输遥测数据和视频数据。在另外的实施方式中,视频数据和遥测数据可以是之前获取的并且分别存储在单独的文件中。本领域技术人员应了解的是,术语“获取时间”对应于地面上的空间位置。因此,通过定位视频序列内的指定的获取时间,系统定位用于特定位置(经度和纬度)的视频。为了获取与要求的时间或时间段关联的视频帧,要求用于以近似的精度从压缩视频文件中提取帧的显示时段的时间信息的方法。在一些实施方式中,使用不包括时间帧索引的诸如MPEG-2、MPEG-4、H. 264的协议对视频帧进行编码,因此如果要求实时或基本上实时的性能,则必须间接地确定该信息。识别的协议中的每一个具有分级结构,每级的头包括下述提供关于该级的信息的头文件(例如,传输流)的头、流(例如,基础流)的头、图片组的头、各个图片(例如帧)的头以及图片的一部分(例如宏块)的头。在MPEG协议中,展现时间戳是基于系统时钟的指示应该展示数据的时间的元数据。系统使用包括PTS过滤的MPEG-2传输流源过滤器310。MPEG-2传输流源过滤器解析传输流以定位第一 PTS头并且提取用于该PTS的时间。MPEG-2传输流源过滤器将继续解析视频文件直到PTS过滤找到了接近系统的用户选择的 要求的开始时间的开始时间。在图3A的流程图中提供了 PTS过滤器内采用的方法的更具体的实施方式。在图3A中,视频数据被接收到PTS过滤器中。在图3A中,视频数据被以流的形式接收到PTS过滤器中作为MPEG基础流(300A)。MPEG-2传输流源过滤器解析MPEG流以识别展现时间戳。MPEG-2传输流源过滤器识别包含PTS的分组(310A)。PTS过滤器300然后获取近似开始时间的PTS时间戳以用于展示。如果这是第一 PTS (320A),则保存该时间戳作为第一时间戳和当前的时间戳(321A)。PTS过滤器300然后进行检查以确认是否设置了开始和停止时间(330A)。开始和停止时间是用户希望观看视频数据的请求的时间。PTS过滤器然后执行下面的表达式((当前时间戳-第一时间戳)>=请求的开始时间&&<=停止时间)(335A)并且如果视频数据落入该时间段内,则将用于该图片组的视频数据传输到解码器(340A)。如果信息没有处于定义的时间段内,则与该图片组关联的视频数据没有被传输到解码器(345A)。已经被传输到解码器的数据然后被解码到空间域(350A)。处理能够对每个MPEG基础流内的每个PTS进行操作或者处理可以在定位到适当的PTS时终止。返回图3,一旦定位了包含要求的帧的适当的PTS,则能够在MPEG解码器320中解码用于该PTS的MPEG编码数据。来自MPEG传输流/文件的其它头信息和MPEG数据能够被丢弃,并且因此,仅解码包含要求的帧的MPEG数据。应了解的是,用户或系统可以指示显示的开始和结束时间并且因此由于开始和停止时间可以位于多组图片内,因此可以解码超过一个图片组。一旦解码了要求的帧,则能够在搜索模块330中定位对应于要求的时间位置的提取帧。能够基于用于每帧的媒体采样时间戳确定与特定时间位置关联的帧。通过使用PTS信息,不需要解码整个编码视频序列以定位具有对应于与要求的位置(经度和纬度)关联的时间的媒体采样时间戳的帧。在图3B的流程图中提供了由搜索模块采用的方法的更具体的实施方式。图3B是搜索模块可以采用的方法的流程图。搜索模块首先从解码器接收解码的视频帧(360B)。搜索模块从解码的视频帧识别媒体采样时间戳(365B)。搜索模块然后进行检查来确认用于第一图像的媒体采样时间戳是否大于或等于请求的开始时间(370B)。这是由于PTS没有提供精确的媒体帧时间。因此,可以存在需要用于识别要求的帧和精确时间以进行显示的额外的数据。例如,PTS可以指示第一帧将在1:04回放;然而,第一帧可能实际上处于1:03. 90。因此,第一时间戳和当前的时间戳需要被设置在1:03. 90 (375B)。搜索模块进行检查以确认是否已经提供了请求的开始和停止时间(380B)。请求的开始和停止时间对应于用户希望观看的视频。捜索模块将时间戳与请求的开始和停止时间进行比较,以确认帧的时间戳是否处于请求的时间段内(385B)。如果是,则对视频数据利用相对时间戳进行时间标记(390B)。因此,相对时间戳将使得系统立即开始回放处于请求的时间帧内的视频帧(395B)。在上述示例中,假设用户输入了请求的开始和停止时间并且根据该信息定位特定帧。可以在上述系统中使用其它用户定义的输入。例如,在其中遥测数据已经存储在数据库中的一些实施方式中,用户可以定义用户希望观看的特定经度和纬度。从该数据库,能够定位经度和纬度,并且能够找到包含获取时间的关联的数据文件。一旦确定了获取时间,则可以采用上述方法,其中可以对MPEG编码数据执行快速捜索而无需解码每个帧。此外,应理解的是,可以在其它行业中使用该快速捜索方法,以快速地定位压缩视频流内在特定时间出现的特定视频帧。例如,该技术可以应用于视频取证、视频监控系统和视频编辑。图4示出了包括遥测解析器(解析器)、同步模块(遥测同歩)、外推过滤器(外推/插值模块)和地图渲染模块(观察坐标系变换)的图IA的模块的后一半。该图示例了遥测数据和视频帧数据之间的同歩。视频帧数据被解码并且与用于每帧的时刻信息(时间戳)一起存储在缓冲器中。遥测数据被传输到解析器410。遥测数据可以被编码为关键字长度值(KLV)格式。解析器对数据分组进行操作并且将头两个64位单词与已知的关键字值进行比较。当识别出关键字时,解析器继续解析数据直到解析器确定获取时间的遥测数据的末端。一旦确定了遥测数据的末端,则为遥测数据定位时间戳。如果识别出的时间戳接近或处于要求的时间戳(开始和结束时间)内,则遥测数据被存储到存储器,否则跳过/丢弃遥测数据。一旦已经建立了分组(即,所有与获取时间关联的遥测数据)并且分组处于要求的时间段内,则包含遥测数据的分组传输到遥测同步模块420。遥测同步模块420请求遥测数据,直到其时间戳与当前视频展示时间大致相同。遥测同步模块对视频媒体时间进行排队并且当遥测数据和视频数据425的时间戳大致相同时释放遥测数据。在某些实施方式中,来自视频数据425的时间戳可以表示与获取时间相对的展示时间。结果,系统将补偿获取时间和展示时间之间的差异,从而遥测数据时间戳表示展示时间。遥测同步模块比较时间戳和用于视频数据的展示的当前流时间以确定应释放遥测数据用于进ー步处理的时间。因此,不仅同步数据,而且适当地确定展示的时间。在一些实施方式中,遥测同步模块将存储多个遥测数据分组(即,在不同时间获取的遥测数据)。遥测同步模块提供了用于以结构化格式存储相关遥测数据的缓冲器。缓冲器保持可以具有处于视频数据的要求的开始和停止时间之前或之后的关联的获取时间,这是因为可以以不同于视频数据的速率采样/获取遥测数据。然后将遥测数据传输到外推过滤器430。如果遥测数据的时间戳不匹配要求的时 间戳,则外推过滤器将对遥测数据进行外推或插值。在一个实施方式中,由于以比视频数据慢的采样速率采样遥测数据,因此处于要求的时间之前的遥测数据和在要求的时间之后获取的遥测数据用于对要求的时间的遥测数据进行插值。因此,外推过滤器产生每个要求的视频帧和遥测数据之间的一一对应关系。在优选实施方式中,对从初始文件解析的遥测数据进行分组,从而与特定位置关联的所有信息被保持在一起。一旦对于要求的时间,通过外推过滤器确定了遥测数据,则将遥测数据传输到观察坐标系变换模块440。观察坐标系变换模块基于遥测数据(例如,飞行器海拔、经度、纬度、视场、焦距等等)执行视频数据425到地图上的投影。获得的变换后的视频帧数据被展示在地图上并且数据显示到显示装置。可以使用各种已知的技术来执行空间变换和用于显示的数字数据的渲染。现在提供关于解析器、遥测同步模块和外推过滤器的详细讨论。为了协调视频和遥测数据,必须对流形式的或者存储的遥测数据文件进行解析,如图5的流程图中所示。图5的流程图示出了用于解析遥测数据的简化流程图。图5没有包括复杂性高的嵌套关键字,并且仅示出了用于高级别关键字的处理,然而,下面解释嵌套关键字。遥测数据文件的尺寸可以很大并且文件可以包括很多兆数据。遥测数据文件可以存储为诸如由运动图像标准协会(MISB)标准0601. 3、0104. 5定义的格式的格式或者其它类似的格式。对于获取的每个遥测位置,遥测数据可以包括诸如经度和纬度以及获取数据时的飞机的海拔的信息。此外,可以存在时间戳。另外,遥测数据可以包括飞机的欧拉角(翻滚(roll)、俯仰(pitch)、和偏航(yaw))以及相机的欧拉角(由于相机和飞行器之间的安装导致的差异)。遥测数据可以进一步包括相机所位于的地面上的点的经度和纬度、相机的视场并且甚至可以包括期望的图像的四角中的每一个的位置(即,经度和纬度)。额外的数据也可以包括在遥测数据中。因此,包括在遥测数据内的变量的该列表不应被理解为是排他性的,将数据视为遥测数据所要求的每个变量也是如此。遥测数据被存储为类似于电影与电视工程师学会文件交换格式的格式。其由以关键字长度值(KLV)格式编码的数据分组构成。分组由符合SMPTE和MISB的16字节关键字 构成。SMPTE和MISB提供了 KLV字典,其提供了各种关键字的定义。关键字后面是单字节,其允许确定遥测数据的长度。如果没有设置该字节的符号位或者最高有效位,则该字节是之后的数据(值)的长度。如果设置了长度的最高有效位或符号位,则该字节中的信息的剩余七个位表示以字节为单位的后面的大小。这些长度字节然后能够表示值的长度。通过注册的关键字的定义来确定值中的数据的格式。其可以是浮点、整数、字符或其它数据类型。解析器将解析遥测数据文件以定位用于每个数据获取点的遥测数据。解析器接收数据分组并且通过一次搜索16字节的二进制数据来开始对其进行解析(500)。这是通过将两个64位指针分配给数据来实现的。如果数据的头一半是有效的部分关键字,则检查该数据的后一半以确定其是否是定义的关键字的有效部分(501)。为了提供遥测数据的快速解析,在本发明的某些实施方式中对关键字进行硬编码。在另外的实施方式中,解析器在字典中执行数据(关键字)的查找。如果数据不是有效关键字,则指针递增到下一字节并且处理继续直到找到有效关键字或者到达缓冲器的末端(502)。如果找到了有效关键字,则确定数据的长度(503)。数据被取回到对于该关键字预先定义的数据结构中并且指针移动到该数据之外的第一字节。如果关键字是嵌套关键字,则确定最高嵌套关键字的长度并且将其保持为一组数据或分组。可以通过读取分组的末端的分组校验和并且将该校验和与计算的直到校验和的值的校验和进行比较来验证嵌套分组或数据的长度。如果校验和不是有效的,则该关键字被认为是无效的,并且搜索指针递增一个字节,从而搜索下一个有效关键字。如果嵌套容器关键字分组是有效的,则对该关键字内的数据进行解析并且将该数据加载到预定结构中(504)。如果在分组内找到了无效数据结构或关键字,则该搜索继续以通过递增捜索指针来找到下一个有效关键字(502)。捜索继续直到到达了分组的末端,或者缓冲器的末端。如果到达了缓冲器的末端,则剩余的未解析的数据被前置到下ー个数据缓冲器,并且扫描继续。当到达了高级别的容器分组的末端时,发送到输出处理例程并且扫描指针移动到就在容器分组之外的数据(502)。如果数据没有处于嵌套的容器分组中,则考虑每个单独的关键字,并且当找到第一重复关键字时,将分组发送到输出处理例程。如果发现嵌套关键字,则就像任何其它关键字一祥对其进行处理,但是不进行输出直到输出了最高级别的关键字。如果找到了本地数据组(LDS),则计算其校验和并且针对分组校验和进行检查。LDS由代替关键字的多组单字节标签以及其后的长度和值构成(TLV)。由于标签是单字节,因此不能够像唯一 16字节关键字那样对其进行扫描。相反的是,必须始終对校验和进行检查以验证嵌套LDS的有效性。如果嵌套LDS是无效的,则扫描向前移动ー个字节进入嵌套LDS,并且恢复对于有效16字节关键字的搜索。如果校验和是有效的,则以一次读取ー个TLV数据组的串行方式对LDS进行处理。如果发现了未定义的标签,或者发现了无效长度,则丢弃整个LDS。如果LDS被丢弃,则扫描移动ー个字节进入LDS关键字,并且恢复对于下一个关键字的扫描。扫描继续直到到达了所有分组的末端或者流的末端(EOS)。一旦完全的遥测数据的分组被解析并且转换为标准数据库结构,则定位该分组的时间戳(505),并且验证该时间戳以确定其是否处于要求的时间范围内(506)。在SMPTE和MISB KLV格式中,时间戳作为第一数据值出现。如果遥测时间戳处于要求的时间范围之外,则丢弃所有遥测数据(507)。如果其处于要求的范围内,则将其发送到遥测同步模块508。在将遥测数据发送到遥测同步模块之前,遥测数据被分配有媒体时间。基于以KLV捕获的数据计算用于采样的媒体时间。KLV时间戳保持遥测数据的时间。该时间戳被转换为相对媒体时间,从而视频和KLV通过公共时间关联。另外,由于遥测获取系统和视频数据获取系统之间的时钟差使得遥测时间戳可能没有直接与视频数据的时间戳同歩。如果确定或已知时钟没有同步,则从时间戳减去或添加偏移。也可以施加任何时间校正并且将其存储在数据分组中作为开始时间。接下来的分组时间戳与开始时间进行比较以确定它们与遥测数据对应的视频流的相对偏移。在对时间戳进行了必要的校正之后,如果数据的时间戳现在处于要求的时间的范围之外,则丢弃来自该遥测分组的数据。输出例程验证分组的时间戳以确认其不是零并且具有合理值。如果其是第一分组,则保存该时间戳作为第一遥测分组的开始时间(以KLV格式)。处理继续以定位与要求的时间段内的遥测数据关联的相关关键字,直到到达遥测文件的末端或者到达最后分组的 分组末端(509)。结构中的一些数据可以是冗余的或者能够从其它值计算得到。例如,地角点可以从欧拉角、传感器(即,相机)的位置、视场以及地球模型计算得到。作为另ー示例,竖直或水平视场可以从视频帧的宽高比和竖直或水平视场计算得到。结果,ー些数据可以在接收的数据分组中不出现。因此,对能够从提供的信息获得的值和数据进行有效性检查。遥测同步模块按媒体时间(即,将在显示装置上进行显示的时间)缓冲遥测数据分组并且将遥测数据分组释放到外推/插值过滤器。在本发明的一些实施方式中,遥测解析器将丢弃处于所请求的获取时间之外的任何遥测分组数据。在另外的实施方式中,遥测数据被传输到遥测同步模块并且遥测同步模块将丢弃处于所请求的获取时间之外的任何遥测数据分组。在该实施方式中,所请求的获取时间内的遥测数据分组被存储在按时间编制索引的链接列表中。随着分组变旧并且离开要求的媒体时间范围的范围外,从列表去除这些分组。然后将新分组添加到该列表。因此,即使丢失了视频/遥测数据或者视频/遥测数据通过流水线处理器花费了太长时间,系统也能够继续提供地图上的视频数据的实时显不O遥测同步模块尝试发出略微先于安排的媒体时间(媒体时间表示视频时间)的分组,从而将两个遥测分组提供到横跨所请求的获取时间的外推过滤器。外推/插值模块的目的在于计算用户请求的请求的获取时间的数据值。外推过滤 器可以使用简单的斜率截距公式(y = m*x+b)来计算要求的数据值。可以使用其它插值方法,这些方法包括其它已知的线性和非线性技术。如果计算的数据的值处于数据的允许值的范围之外,则适当地进行校正。例如,O到360度的角度值可能导致370度的计算值。其将被调整到10度。遥测同步模块与插值过滤器之间的协调和调度通常导致所请求的时间处于从遥测同步模块接收的两个存储的数据分组的两个时间戳之间。这通常是因为由于解压缩算法的大小和复杂性使得KLV数据的处理速度能够是视频数据的处理速度的几百倍。因此,夕卜推过滤器用作插值器。如果请求的时间处于两个存储值之前或之后,则计算的值是外推。例如,在视频数据文件的末端,可能的是,仅存在处于视频数据帧的时间戳之前的单个对应的遥测数据时间戳,并且因此,将需要外推而不是插值。例如,最后的视频帧的时间戳可以处于30分9秒。最终的遥测数据时间戳可以处于30分5秒。结果,时间30分9秒的遥测值将需要从在时间上更早的遥测数据获取进行外推。可以使用本领域技术人员已知的线性和非线性外推技术执行外推。还应了解的是,视频数据和遥测数据的处理是异步处理。结果,遥测数据会远落后于或者先于视频数据。结果,为了提供实时显示,能够发生其中存在能够用于插值的遥测数据但是由于处理限制而需要进行外推的情况。作为示例,在KLV遥测数据流内,存在20分O秒的时间戳的遥测数据和20分10秒的遥测数据。具有20分5秒的时间戳的视频数据被安排为进行显示,然而仅存在20分O秒的遥测数据并且还没有对20分10秒的遥测数据进行解析。结果,外推/插值模块将至少基于20分O秒的遥测数据对20分5秒的遥测数据进行插值。在外推/插值模块之后,对应的遥测数据和视频数据被提供给地图渲染模块。地图渲染模块从遥测数据获取坐标并且计算用于显示的对应的屏幕坐标,对视频数据执行观察坐标系变换。观察坐标系变换将每个视频图像的角匹配到地图网格上的对应的经度和纬度坐标。为此,必须提供传感器的位置。必须提供欧拉角或者从相关的传感器信息获取欧拉角。使用地球的数学模型或者海拔模型来确定传感器的视锥与地球的交叉。变换后的视频数据然后被输出到显示装置并且与地图叠加,如图6中所示。在图6的左侧示出了正在显示为叠加的具有捕获的视频图像610的地图。在该构造中,可以从航空飞行器基本上实时地叠加视频数据,其中图像将随着时间流逝而叠加在地图上。在图6的右侧示出了实时地显示实际的航空视频数据的图形用户界面620。在该图中,示出了时间线630,其中正在显示的视频图像处于视频中的大约31秒处。因此,左手图像示出了来自航空器的捕获的图像的头31秒。图7示出了正叠加在地图上的视频数据的另ー显示。然而,对于图7来说,来自两个航空器的视频710、711同时叠加在地图上,而不是如图6中所示的那样仅有来自ー个航空器的视频叠加在地图上。分别通过如图IA中所示的视频控制模块174处理每个地图显示。视频控制之上的应用层确定视频控制的数目,开始时间、停止时间以及其回放速率。地图渲染模块允许经由已知的表示协议(例如经由DirectX表面)绘制多个视频。视频控制模块能够被实施为多线程应用,其中每个控制处于单独的线程。线程(即视频控制模块)与图IA中所示的主时钟180同歩。控制模块控制来自地图渲染模块的数据的显示,而且信令给渲染模块何时丢弃帧。例如,如果视频与来自第二航空器的视频不同步时,控制模块可以信令从来自第一航空器的视频丢弃帧。控制模块174控制添加多个视频以进行显示的能カ并且负责开始用于该视频的每个视频控制。
图的右侧示出了图形用户界面720、721与用于每个航空器的时间线730、731。用于上面的航空器的视频图像740发生于大约41秒。应理解的是,虽然时间线示出了已经显示了大约41秒的数据,但是这可以是已经由航空器捕获的全部视频的一部分。正在显示的视频数据可以是来自保存的遥测和视频文件组合,并且因此,显示的信息可以仅是该视频文件的一部分。在另外的实施方式中,正在叠加的视频可以从航空器获取该数据时开始基本上实时地展示。因此,系统实时地接收来自航空器的发送流并且对信息进行处理以便于同步和叠加在地图上。两个航空器视频数据流740、741可以都来自实时获取,都来自保存的文件,或者ー个来自实时获取并且ー个来自之前获取的文件。ー开始,将对视频数据进行处理并且将其实时地显示在地图上,从而视频数据的帧将被顺序地添加并且叠加在地图上。一旦视频和遥测数据文件进行了同步,则在时间段内捕获的视频数据能够被直接并且立即地显示在地图上而无需等待等于捕获该视频的时间的时间段。例如,如果右上的视频是之前捕获的并且与遥测数据进行了同步,则所有视频帧能够几乎实时地(这是由于执行观察坐标系变换(如果进行了观察坐标系变换的视频数据之前没有被保存到存储器)需要时间)布置在地图上。此外,多个文件可以同时地并且与正在实时地从ー个或多个航空器接收的视频数据组合地布置在地图上。另外,当视频图像被布置在地图上吋,图像可以混在一起以形成马赛克。因此,图像留在显示器上并且提供示出了航空器的飞行路径的轨迹。能够创建飞行路径的复合图像并且将其保存到存储器。通过对其中图像叠加的图像取平均来实现该混合。当图像通过取平均而混合在一起时,地面上的移动对象通常被平均到图像之外。然而,获得的地面图像具有明显高于仅简单地在显示上叠加最新的信息时的分辨率的分辨率。将理解的是,上述方法和系统的不同部分和组件也能够彼此独立地实施和以不同的形式进行组合。此外,上述实施方式将仅被视为示例性实施方式。本领域技术人员将理解的是,前述方法可以在计算机处理系统中执行,并且计算机处理系统可以包括用于处理表示前述方法的计算机代码的ー个或多个处理器。计算机代码可以在有形计算机可读介质上实施(即,计算机程序产品)。
本发明可以以很多不同的形式来实施,这些形式包括但不限于用于与处理器(例如微处理器、微控制器、数字信号处理器或者通用计算机)一起使用的计算机程序逻辑、用于与可编程逻辑器件(例如,场可编程门阵列(FPGA)或其它PLD) —起使用的可编程逻辑、分立组件、集成电路(例如,专用集成电路(ASIC))或者包括上述的任何组合的任何其它装置。在本发明的实施方式中,所有重新排序的逻辑主要可以实施为被转换为计算机可执行形式的一组计算机程序指令,存储在计算机可读介质中,并且由在操作系统的控制下的阵列内的微处理器执行。实施前述的所有功能或部分功能的计算机程序逻辑可以以各种形式实施,这些形式包括但不限于源代码形式、计算机可执行形成以及各种中间形式(例如,通过组译器、编译器、网络器(networker)或定位器产生的形式)。源代码可以包括用于与各种操作系统或操作环境一起使用的一系列以各种编程语言(例如,对象代码、汇编语言或者诸如Fortran、C、C++、JAVA或HTML的高级语言)实施的计算机程序指令。源代码可以定义并且使用各种数据结构和通信消息。源代码可以是计算机可执行形式(例如,经由解释器),或者源代码可以(例如,经由翻译器、组译器或编译器)被转换为计算可执行形式。
计算机程序可以永久地或者暂时地以任何形式(例如,源代码形式、计算机可执行形式或者中间形式)固定在有形存储介质中,其中有形存储介质包括半导体存储器件(例如,RAM、ROM、PROM、EEPROM或者闪式可编程RAM)、磁性存储器件(例如,磁盘或硬盘)、光学存储器件(例如,CD-ROM)、PC卡(例如PCMIA卡)或者其它存储器件。计算机程序可以以任何形式固定在可使用各种通信技术发送到计算机的信号中,所述通信技术包括但不限于模拟技术、数字技术、光学技术、无线技术、网络技术以及互联网技术。计算机程序可以以任何形式作为可移除存储介质与印刷的或电子文档一起分发(例如,现成软件或磁带),利用计算机系统预先加载(例如,在系统ROM或者硬盘上),或者从服务器或电子公告板通过通信系统(例如互联网或者万维网)分发。可以使用传统的手动方法来设计实施前述所有功能或部分功能的硬件逻辑(包括用于与可编程逻辑器件一起使用的可编程逻辑),或者可以使用各种工具来进行电子设计、捕获、模拟或者做成文档,所述工具包括计算机辅助设计(CAD)、硬件描述语言(例如,VHDL 或 AHDL)或 PLD 编程语言(例如,PALASM、ABEL 或 CUPL)。
权利要求
1.一种系统,所述系统用于同步未同步的编码航空视频数据与单独地获取的遥测数据以产生包含所述航空视频数据的地图,所述系统包括 遥测解析器,所述遥测解析器用于接收用户定义的获取时间段和遥测数据流,并且解析所述遥测数据流以定位在时间上接近或者位于所述用户定义的获取时间段内的遥测数据,其中所述遥测数据流包括以某一采样速率获取的具有关联的获取时间的遥测数据; 视频帧提取模块,所述视频帧提取模块用于存取编码航空视频数据流,并且将所述编码航空视频数据流的一部分解码为具有关联的视频帧数据时间的视频帧,其中所述视频帧在时间上接近或处于所述用户定义的时间段内; 同步模块,所述同步模块用于基于所述获取时间和视频帧数据时间同步所述要求的获取时间段的所述视频帧数据和所述遥测数据;以及 过滤器,所述过滤器用于产生额外的遥测数据,使得在所述要求的获取时间段内存在对应于每个视频帧的遥测数据。
2.如权利要求I所述的系统,所述系统进一步包括 图形用户界面,所述图形用户界面输出要求的获取时间段的视频数据以进行显示。
3.如权利要求I所述的系统,其中,解析所述编码航空视频数据流以基于一组在时间上接近或处于所述要求的时间段内的视频帧的展现时间戳来定位数据。
4.如权利要求I所述的系统,其中,以比用于所述视频帧数据的采样速率长的速率对所述遥测数据进行采样。
5.如权利要求I所述的系统,所述系统进一步包括 渲染模块,所述渲染模块用于产生地图,其中所述视频帧数据被从航空获取平面空间变换到地图平面,并且变换后的视频帧数据被基于与所述视频帧数据关联的所述遥测数据插入到所述地图中。
6.如权利要求I所述的系统,所述系统进一步包括 存储器,所述存储器用于将所述遥测数据流存储到遥测文件中,并且用于将所述编码航空视频数据流存储到航空视频文件中。
7.如权利要求I所述的系统,其中,所述遥测数据被编码为关键字长度值格式。
8.如权利要求I所述的系统,其中,所述遥测解析器解析第一已知关键字字节大小的数据并且将所述数据的第一部分和第二部分置于至少第一缓冲器和第二缓冲器中,所述遥测解析器针对第一部分关键字值检查所述第一缓冲器内的遥测数据,并且如果所述遥测数据表示有效部分关键字,则所述解析器针对第二部分关键字值检查所述第二缓冲器中的所述遥测数据。
9.如权利要求I所述的系统,其中,所述视频帧提取模块将丢弃与没有处于要求的时间范围内的展现时间戳关联的任何MPEG编码数据。
10.一种方法,所述方法用于基于要求的时间段解析来自存储为关键字长度值格式的遥测数据文件的遥测数据,所述方法包括 接收所述遥测数据文件的第一部分; 将所述遥测数据文件的所述第一部分与识别出的关键字进行比较; 如果所述遥测数据文件的所述第一部分匹配所述识别出的关键字,则 识别与要求的关键字关联的长度;将所述遥测数据内的时间戳与所述要求的时间段进行比较; 如果所述时间戳在时间上接近或处于所述时间段内,则基于识别出的关键字将长度等于识别出的长度的数据保存到数据库结构; 如果所述时间戳在时间上没有接近或处于所述时间段内,则丢弃与所述关键字关联的所述遥测数据并且递增到所述遥测数据文件的下一个字节的数据。
11.如权利要求10所述的方法,其中,用于保存为长度等于所述识别出的长度的数据的所述数据库结构包括地面位置的标识。
12.如权利要求10所述的方法,其中,用于保存为长度等于所述识别出的长度的数据的所述数据库结构包括用于地面位置的经度和纬度的识别符。
13.一种方法,所述方法用于同步遥测数据文件和单独地获取的编码视频文件,所述方法包括 将遥测数据文件的数据段接收到处理器中; 将所述遥测数据文件的所述数据段与识别出的关键字进行比较; 如果所述遥测数据文件的所述数据段不匹配所述识别出的关键字,则 递增到下一字节的数据并且重复接收和比较的步骤; 如果所述遥测数据文件的所述第一部分匹配所述识别出的关键字,则 识别与要求的关键字关联的长度识别符; 识别所述遥测数据内的遥测时间戳; 如果所述遥测时间戳在时间上接近或处于用户定义的时间段内,则基于所述识别出的关键字将来自所述遥测数据文件的长度等于识别出的长度的数据保存到存储器中的数据库结构; 如果所述遥测时间戳在时间上没有接近或处于所述用户定义的时间段内,则丢弃与所述关键字关联的所述遥测数据并且递增到所述遥测数据文件的下一字节的数据,并且重复接收、比较、识别和保存的步骤; 接收编码视频文件的数据段; 对于所述编码视频数据文件的所述数据段内识别出的每个展示时间戳,确定展示时间是否接近或处于所述用户定义的时间段内; 如果所述展现时间戳接近或处于所述用户定义的时间段内,则解码视频数据并且识别每个视频帧的帧时间戳,并且将所述用户定义的时间段内的所述视频帧保存到存储器;基于所述用户定义的时间段同步存储在存储器中的所述遥测数据与存储在存储器中的所述视频帧;以及 将同步的遥测数据和对应的视频帧存储到存储器。
14.如权利要求13所述的方法,所述方法进一步包括 基于所述同步的遥测数据对存储在存储器中的所述视频帧进行观察坐标系变换;以及 在显示器上渲染进行了观察坐标系变换的视频帧和地图。
15.一种方法,所述方法用于解析编码视频数据以定位具有要求的时间段的一个或多个视频帧,所述方法包括 将编码视频数据接收到处理器中; 定位与展现时间戳关联的近似时间戳;将所述近似时间戳与所述要求的时间段进行比较 如果所述近似时间戳接近或处于所述要求的时间段内,则解码一组编码视频帧并且识别用于每个解码的视频帧的帧时间戳; 如果所述帧时间戳处于所述要求的时间段内,则将关联的帧和对应的帧时间戳存储到存储器以供以后取回。
16.如权利要求15所述的方法,其中,所述编码视频数据被编码为MPEG格式。
17.如权利要求15所述的方法,其中,所述近似时间戳是回放时间的估计并且与可识别范围相关联。
18.如权利要求15所述的方法,所述方法进一步包括 从查找模块接收所述要求的时间段,其中所述查找模块接收地图位置作为输入,并且基于用于航空器的飞行路径识别编码视频数据文件的所述要求的时间段,获取所述编码视频数据文件。
19.如权利要求15所述的方法,其中,所述编码视频文件被编码为MPEG-2格式。
全文摘要
提供了一种系统,该系统能解析遥测数据和对应的编码视频数据,其中基于诸如时间戳的时间信息对遥测数据和视频数据进行同步。遥测数据和视频数据最初是未同步的并且其数据是通过单独的装置分别获取的。获取装置可以位于航空器内或者附接到航空器。系统接收遥测数据流或文件和编码视频数据流或文件并且输出一系列同步的视频图像和遥测数据。因此,存在与每个视频图像关联的遥测信息。可以以不同于视频数据的速率获取遥测数据。结果,可以对遥测数据进行插值或外推以产生对应于每个视频图像的遥测数据。本系统实时地进行操作,从而能够在地图上显示从航空器获取的数据。
文档编号H04N5/04GK102668534SQ201080044575
公开日2012年9月12日 申请日期2010年10月15日 优先权日2009年10月19日
发明者G·A·格林德斯塔夫, R·K·谢尔顿, S·G·惠特克, W·D·霍维尔 申请人:图形科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1