Data search, parser, and synchronization of video and telemetry data
First Claim
1. A system for synchronizing unsynchronized encoded aerial video data and separately acquired telemetry data for generation of a map containing the aerial video data, each sample of the telemetry data having an associated acquisition time, the system comprising:
- a telemetry parser for receiving a targeted acquisition time period and a telemetry data stream, the telemetry parser parsing the telemetry data stream to locate a targeted telemetry data, wherein the targeted telemetry data is the telemetry data temporally proximate or within the targeted acquisition time period;
a video frame extraction module for accessing an encoded aerial video data stream, the video frame extraction module decoding a portion of the encoded aerial video data stream into targeted video frames, each frame having an associated video frame time, wherein the targeted video frames are temporally proximate to or within the targeted acquisition time period;
a synchronization module for synchronizing the targeted telemetry data and the targeted video frames based upon the associated acquisition time and video frame time; and
a filter for producing additional telemetry data so that there is telemetry data that corresponds to each video frame within the targeted acquisition time period.
1 Assignment
0 Petitions
Accused Products
Abstract
A system to parse both telemetry data and corresponding encoded video data wherein the telemetry and video data are subsequently synchronized based upon temporal information, such as a time stamp. The telemetry data and the video data are originally unsynchronized and the data for each is acquired by a separate device. The acquiring devices may be located within or attached to an aerial vehicle. The system receives the telemetry data and the encoded video data and outputs a series of synchronized video images with telemetry data. Thus, telemetry information is associated with each video image. The telemetry data may be acquired at a different rate than the video data. As a result, telemetry data may be interpolated or extrapolated to correspond to each video image. The present system operates in real-time, thus data acquired from aerial vehicles can be displayed on a map.
27 Citations
19 Claims
-
1. A system for synchronizing unsynchronized encoded aerial video data and separately acquired telemetry data for generation of a map containing the aerial video data, each sample of the telemetry data having an associated acquisition time, the system comprising:
- a telemetry parser for receiving a targeted acquisition time period and a telemetry data stream, the telemetry parser parsing the telemetry data stream to locate a targeted telemetry data, wherein the targeted telemetry data is the telemetry data temporally proximate or within the targeted acquisition time period;
a video frame extraction module for accessing an encoded aerial video data stream, the video frame extraction module decoding a portion of the encoded aerial video data stream into targeted video frames, each frame having an associated video frame time, wherein the targeted video frames are temporally proximate to or within the targeted acquisition time period;
a synchronization module for synchronizing the targeted telemetry data and the targeted video frames based upon the associated acquisition time and video frame time; and
a filter for producing additional telemetry data so that there is telemetry data that corresponds to each video frame within the targeted acquisition time period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- a telemetry parser for receiving a targeted acquisition time period and a telemetry data stream, the telemetry parser parsing the telemetry data stream to locate a targeted telemetry data, wherein the targeted telemetry data is the telemetry data temporally proximate or within the targeted acquisition time period;
-
10. A method for parsing a targeted portion of telemetry data from a telemetry data file stored in key length value format based upon a targeted temporal period, the method comprising:
- receiving a first section of the telemetry data file;
comparing the first section of the telemetry data file to an identified key;
upon the first section of the telemetry data file matching the identified key;
identifying the length associated with the desired key;
comparing a time stamp within the telemetry data to the targeted temporal period;
upon the time stamp being temporally proximate or within the temporal period, saving data of a length equal to the identified length to a database structure based upon the identified key; and
upon the time stamp not being temporally proximate to or within the temporal period, discarding the telemetry data associated with the key and incrementing to a next byte of data from the telemetry data file. - View Dependent Claims (11, 12)
- receiving a first section of the telemetry data file;
-
13. A method for synchronizing a targeted portion of a telemetry data file and a targeted portion of a separately acquired encoded video file, the method comprising:
- receiving into a processor a data segment of a telemetry data file;
comparing the data segment of the telemetry data file to an identified key;
upon the data segment of the telemetry data file not matching the identified key;
incrementing to a next byte of data and repeating receiving and comparing;
upon the first section of the telemetry data file matching the identified key;
identifying a length identifier associated with the desired key;
identifying a telemetry time stamp within the telemetry data;
upon the telemetry time stamp being temporally proximate or within a user-defined temporal period, saving data from the telemetry data file of a length equal to the identified length to a database structure in memory based upon the identified key;
upon the telemetry time stamp not being temporally proximate to or within the user-defined temporal period, discarding the telemetry data associated with the key and incrementing to a next byte of data from the telemetry data file and repeating receiving, comparing, identifying and saving;
receiving a data segment of an encoded video data file;
for each presentation time stamp identified within the data segment of the encoded video data file, determining if a presentation time is proximate to or within the user-defined temporal period;
upon the presentation time stamp being proximate to or within the user-defined temporal period, decoding video data and identifying frame time stamps for each video frame and saving to memory the video frames within the user-defined temporal period;
synchronizing the telemetry data stored in memory with the video frames stored in memory based upon the user-defined temporal period; and
storing the synchronized telemetry data and corresponding video frames to memory. - View Dependent Claims (14)
- receiving into a processor a data segment of a telemetry data file;
-
15. A method for parsing encoded video data to locate one or more video frames that have a targeted time period, the method comprising:
- receiving encoded video data into a processor;
locating an approximate time stamp associated with a presentation time stamp;
comparing the approximate time stamp to the targeted time period;
upon the approximate time stamp being proximate to or within the targeted time period, decoding a group of encoded video frames and identifying a frame time stamp for each decoded video frame; and
upon the frame time stamp being within the targeted time period, storing the associated frame and corresponding frame time stamp to memory for later retrieval. - View Dependent Claims (16, 17, 18, 19)
- receiving encoded video data into a processor;
Specification