Use of artifacts for producing optical images in ground systems

By storing space-to-ground pixel transformations as metadata, the system addresses inefficiencies in satellite image processing, reducing storage and processing costs, and enabling near-real-time image production.

WO2025147755A1PCT designated stage expired Publication Date: 2025-07-17MDA SYST LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CA2024/051615
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-08
Filing Date
2024-12-04
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

Conventional image production systems for satellite ground stations face inefficiencies in near-real-time processing of optical imagery due to high storage costs and data redundancy, particularly when storing computed geometric transformations as large image files.

Method used

Storing computationally intensive space-to-ground pixel transformations as metadata (artifacts) instead of large image files, allowing for efficient reuse and generation of image products using cloud storage.

Benefits of technology

Significantly reduces storage space and processing time, enabling near-real-time image production and distributed processing techniques, while optimizing cloud computing costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CA2024051615_17072025_PF_FP_ABST
    Figure CA2024051615_17072025_PF_FP_ABST
Patent Text Reader

Abstract

A system and method for improved optical production are provided, the system including an artifact generation module for receiving input and generating one or more artifacts based on the input, artifact storage for storing the one or more artifacts, and a product generator for receiving a product request and generating a product based on the input, the one or more artifacts, and the product request.
Need to check novelty before this filing date? Find Prior Art

Description

USE OF ARTIFACTS FOR PRODUCING OPTICAL IMAGES IN GROUND SYSTEMSTechnical Field

[0001] The following relates generally to image processing, and more particularly to storing computationally intensive space-to-ground pixel transformations as metadata for efficient storage.Introduction

[0002] Conventional image production for satellite ground systems suffers from inefficiencies in near-real-time processing of optical imagery. Such conventional systems further suffer from data lakes and substantial infrastructure costs associated with the processing of compressed raw image data into common usable intermediate ranges. For example, a commercial ground segment may store duplicate petabytes of imagery as raw (for their archive) and intermediate imagery (to support the various product types and applications that depend on it).

[0003] Storing computed geometric transformations generated in initial processing as an image file may incur disadvantageously high storage costs, causing and compounding the foregoing problems.

[0004] Accordingly, there is a need for an improved system and method for image production for satellite ground systems that overcomes at least some of the disadvantages of existing systems and methods.

[0005] Accordingly, systems, methods, and devices storing transformations in a space- and computationally efficient manner are desired.Summary

[0006] A system for improved optical production is provided, the system including an artifact generation module for receiving input and generating one or more artifacts based on the input, artifact storage for storing the one or more artifacts, and a product generator for receiving a product request and generating a product based on the input, the one or more artifacts, and the product request.

[0007] The artifact storage may be cloud storage.

[0008] The product generator may generate the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.

[0009] The input may include an input image and ancillary data associated with the input image.

[0010] The input image may include a satellite image.

[0011] A method for improved optical production is provided, the method including receiving input at an artifact generator, generating one or more artifacts based on the input, storing the one or more artifacts in artifact storage, receiving a product request at the product generator, and generating a product based on the input received at the artifact generator, the one or more artifacts generated at the artifact generator, and the product request received at the product generator.

[0012] The artifact storage may be cloud storage.

[0013] The product generator may generate the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.

[0014] The input may include an input image and ancillary data associated with the input image.

[0015] The input image may include a satellite image.

[0016] A method for improved optical production is provided, the method including retrieving one or more artifacts stored in artifact storage, receiving input at a product generator, receiving a product request at the product generator, and generating a product based on the input received at the product generator, the one or more artifacts retrieved from the artifact storage, and the product request received at the product generator.

[0017] The artifact storage may be cloud storage.

[0018] The product generator may generate the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.

[0019] The input may include an input image and ancillary data associated with the input image.

[0020] The input image may include a satellite image.

[0021] Other aspects and features will become apparent, to those ordinarily skilled in the art, upon review of the following description of some exemplary embodiments.Brief Description of the Drawings

[0022] The drawings included herewith are for illustrating various examples of articles, methods, and apparatuses of the present specification. In the drawings:

[0023] Figure 1 is a schematic diagram of a system for storing and generating a virtualized ideal image, according to an embodiment;

[0024] Figure 2 is a block diagram of the computer system of Figure 1 , according to an embodiment;

[0025] Figure 3 is a block diagram of a process for generating a virtualized ideal image, according to an embodiment;

[0026] Figure 4 is a block diagram of a process for generating a final product from a virtualized ideal image, according to an embodiment;

[0027] Figure 5 is a block diagram of a process for transforming data, according to an embodiment;

[0028] Figure 6 is a is a flow chart of a legacy method for generating an image product and a flow chart of a method of generating a virtualized ideal image in accordance with an embodiment of the present disclosure;

[0029] Figure 7 is a method of generating an improved optical image product, according to an embodiment; and

[0030] Figure 8 a method of generating an improved optical product based on previously generated virtualized ideal images, according to an embodiment.Detailed Description

[0031] Various apparatuses or processes will be described below to provide an example of each claimed embodiment. No embodiment described below limits any claimed embodiment and any claimed embodiment may cover processes or apparatuses that differ from those described below. The claimed embodiments are not limited to apparatuses or processes having all of the features of any one apparatus or process described below or to features common to multiple or all of the apparatuses described below.

[0032] One or more systems described herein may be implemented in computer programs executing on programmable computers, each comprising at least one processor, a data storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. For example, and without limitation, the programmable computer may be a programmable logic unit, a mainframe computer, server, personal computer, cloud-based program or system, laptop, personal data assistant, cellular telephone, smartphone, or tablet device.

[0033] Each program is preferably implemented in a high-level procedural or object-oriented programming and / or scripting language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program is preferably stored on a storage media or a device readable by a general or special purpose programmable computer for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein.

[0034] A description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention.

[0035] Further, although process steps, method steps, algorithms or the like may be described (in the disclosure and I or in the claims) in a sequential order, such processes, methods and algorithms may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order that is practical. Further, some steps may be performed simultaneously.

[0036] When a single device or article is described herein, it will be readily apparent that more than one device I article (whether or not they cooperate) may be used in place of a single device I article. Similarly, where more than one device or article is described herein (whether or not they cooperate), it will be readily apparent that a single device I article may be used in place of the more than one device or article.

[0037] The following relates generally to image processing, and more particularly to storing computationally intensive space-to-ground pixel transformations as metadata for efficient storage. While the present disclosure refers to the processing of optical satellite imagery, the systems and methods of the present disclosure may be applied in other imagery contexts where there is a need to go from one imagery format (e.g., raw image data) or model to a human viewable or usable imagery model.

[0038] The present disclosure provides a method of storing computationally intensive space to ground pixel transformations as metadata instead of a common intermediate image file that is storage inefficient. The metadata may be considered an “artifact”, and throughout this application reference to one term is to be understood as including the other term. Doing so may allow a satellite image to be reused in the generation of an image product in a more efficient way, through use of the metadata or artifacts including a virtualized ideal image.

[0039] A virtualized ideal image may advantageously use less storage, less input / output and less re-processing, decreasing cloud computing costs significantly.

[0040] Conventional optical production from satellite imagery at ground stations stores computed geometric transformations generated in the initial processing as an image file (i.e. , a 1 B image) that may be large (e.g., 3-4 GB) or otherwise costly to store,from a computational standpoint. The present disclosure stores the ground pixel transformations as metadata that can be used in conjunction with raw (i.e. , unprocessed) imagery to produce a common intermediate image suitable as input for subsequent processing. Such metadata may be significantly smaller, e.g., 1 MB. The present disclosure may be extended to include other transformations (pan sharpening, ortho, etc.) to support different requirements at the product / application level.

[0041] The present disclosure reduces storage space considerably when used with high-resolution imagery and further optimizes available storage space (through using smaller files), further enabling distributed processing techniques. Embodiments of I present disclosure further enables the generation of subsequent products in seconds vs. minutes.

[0042] Referring now to Figure 1 , shown therein is a system 10 for improved processing of optical satellite imagery, according to an embodiment.

[0043] The system 10 includes a satellite 12 for capturing raw sensor data 15 (e.g., ground data, telemetry data) via a sensor 14 mounted thereon. While in the embodiment of Figure 1 the raw sensor data 15 is optical image data (e.g., medium or high resolution optical imagery), in other embodiments, the raw sensor data 15 may be another imagery format collected by the satellite 12.

[0044] The system 10 further includes a ground terminal 16 for receiving the captured data from the satellite 12 at a receiver 24.

[0045] The ground terminal 16 includes the receiver 24 and a computer system 28 to which the raw image data 15 received by receiver 24 is provided. The data 15 as captured and transmitted may be considered raw, i.e., unprocessed. The raw data 15 may include satellite images.

[0046] The computer system 28 includes an application 30 for processing the captured image data 15. The application 30 processes the captured data 15 according to a ground pixel transformation and transmits the processed or transformed data to a user device 18 via a network 20, such as a wide area network (e.g., the Internet). While computer system 28 is shown as implemented at ground terminal 16, in otherembodiments, the computer system 28 may be implemented on one or more devices in communication with ground station 16 (e.g., via network 20). In some embodiments, the application 30 may include server-side software components and client-side software components, with the server-side software components implemented at the computer system 28 and the client-side software components implemented at the user device 18.

[0047] The application 30 further generates and transmits metadata 26 that can be used in conjunction with further, other, or new raw imagery 15 from the satellite 12 to produce a common intermediate image suitable as input for subsequent processing. Such metadata 26 is stored at storage 22. The storage 22 may be cloud storage. The storage 22 may be non-cloud storage 22. The metadata 26 may be considered an “artifact”, and throughout this application reference to one term is to be understood as including the other term.

[0048] As described herein, each artifact is a “virtualized image”. The virtualized image is a basic or ideal image that is stored without producing or storing the image itself until a product is requested. This approach provides performance improvements in the generation and provision of products based on satellite imagery.

[0049] It will be appreciated by one of skill in the art that the application 30 may generate the processed or transformed data, and the user device 18, the storage 22, or other component of the system 10 may generate or extract the metadata 26 for subsequent processing.

[0050] In an embodiment, the application 30 includes a plurality of applications. The plurality of applications may communicate with one another. For example, in a particular embodiment, a first application generates the metadata 26 (i.e. , the virtualized image), and a second application generates a product using the metadata 26.

[0051] The metadata 26 may be stored on the storage device 22 separate to other components of the system 10 (e.g., in cloud storage when the storage device 22 is a cloud storage device 22) and accessible thereby or provided thereto in response to specific requests, calls, or other communications from the other components (e.g., the user device 18).

[0052] The metadata 26 may be stored in cloud storage local to each device 18 and / or the ground terminal 16. In an embodiment, the devices on which the metadata 26 is stored locally in cloud storage further transmit the metadata 26 in response to specific requests, calls, or other communications from other components of the system 10. In an embodiment, the devices on which the metadata 26 is stored locally in cloud storage do not further transmit the metadata 26 such that the metadata 26 is only available to certain device on which it is originally stored locally. Where the storage 22 is cloud storage 22, all such local cloud storage taken together, whether or not communication therebetween is possible, may be considered the cloud storage 22. It should be noted that while cloud storage of metadata 26 is mentioned through the present disclosure, in other embodiments, other forms or schemes of data storage may be used.

[0053] The previously processed or transformed data may be a computed or precomputed artifact generated once and used by the device 18. The metadata 26 is re-used for subsequent processing of products / applications.

[0054] The retention and reuse of the metadata 26 advantageously reduces processing and storage costs. The degree of reduction may depend on resolution of the previously processed or transformed data (e.g., a processed or transformed image), by orders of magnitude.

[0055] The system 10 is advantageously compatible with distributed processing architectures and advanced product generation processing functions and applicable to medium to high resolution optical imagery.

[0056] The functionality of the system 10 may be extended to higher level image processing techniques to also produce images in near real time.

[0057] The system 10 advantageously represents an improvement on existing optical satellite ground station image processing workflow modeling.

[0058] The system 10 may be applied to (high resolution) optical ground station image processing, to earth observation or remote sensing processing pipelines leveraged by cloud platforms, and to Near Real Time data processing and dissemination. Earthobservation includes the process of the observing the Earth from a platform, such as a satellite, to take measurements and monitor the land, oceans, atmosphere, etc.

[0059] Referring now to Figure 2, shown therein is a block diagram of a computer system 200 for generating a virtualized ideal image from optical satellite imagery, according to an embodiment. The computer system 200 may be implemented across one or more devices or computers. For example, components of the computer system 200 may be implemented at the computer system 28 and user device 18.

[0060] The computer system 200 includes a memory 204 for storing data thereon and a processor 204 for processing data.

[0061] The computer system 200 further includes a communication interface 206 in communication with an optical imagery source 212 for generating or storing and transmitting input data to the memory 202. The optical imagery source 212 may be the satellite 12 or the sensor 14. The communication interface 206 may be the receiver 24.

[0062] The computer system 200 further includes a display device 208 on which data may be viewed and interacted with or otherwise presented to an end user. The display device 208 may be implemented at the user device 18.

[0063] The computer system 200 further includes an input device 210 for receiving commands or selections from the end user, e.g., of particular data to display, of particular artifacts or products to generate. The input device 210 may be implemented at the user device 18.

[0064] The memory 202 includes input images 214, ancillary data 216, and additional input data 218 received as input from the optical image source 212 through the communication interface 206. The ancillary data 216 is used to take pixels (in the input images 214) and map to the ground and the time at which the pixels were taken. The ancillary data 216 includes metadata pertaining to the input images 214. The ancillary data 216 includes information on the collection geometry to tie the collected pixels in the input images 214 to the attitude and ephemeris. The ancillary data 216 may include other satellite parameters that may affect the input images 214, such as satellite or sensor temperature. The additional input data 218 includes other information that affects theprocessing of the input images 214 such as calibration files, a digital elevation model (DEM), etc.

[0065] The input images 214 may be real images (e.g., taken from the satellite 14 shown in Figure 1 ) or synthetic images (e.g., generated by a generative model).

[0066] The input images 214 may be optical images or optical data taken, collected, or otherwise provided by a satellite. The input images 214 may include other types of images or data provided by a satellite (i.e. , non-optical data, such as SAR data).

[0067] The processor 204 includes an artifact generation module 220 for generating one or more artifacts 222 based on the input images 214, the ancillary data 216, and the additional input data 218. In an embodiment, the input images 214 are satellite images, and the artifacts 222 save a satellite-to-ground mapping of the satellite images 214.

[0068] The artifacts 222 may be considered “metadata”. The artifacts 222 may be considered to include metadata. In an embodiment, the processor 204 includes a metadata extraction module 224 for extracting metadata 226 from the one or more artifacts 222, and the metadata 226 is stored in the memory 202. The artifacts 222 may be pre-cached before any product is requested to be able to produce near real time image production at all times.

[0069] The processor 204 further includes a product generation module 228 for generating image products 230 based on image product requests 232. The image product requests 232 may be received from an end user via the input device 210. The image product requests 232 may otherwise be transmitted via the communication interface 206. In an example, the image product request2 232 may be generated at user device 18 and transmitted to computer system 28 for processing by application 30.

[0070] When a product request 232 is accessed from the memory 202 according to commands or selections received from the end user via the input device 210 or otherwise received via the input device 210 or the communication interface 206, the image product generation module 228 generates the image products 230 using the artifacts 222 or metadata 226.

[0071] In an embodiment, the image product 230 is an image in a human-viewable or human-readable format. In some cases, the image may be an annotated or modified version of a satellite image in human-viewable form. The image product 230 may be a human-viewable form of the satellite image with other details or visualizations mapped onto it. Examples of image products include projected or orthorectified images. Such orthorectified images may be understood as including variables mapped on uniform space-time grid scales. Such orthorectified images represent a high-fidelity ground projection and use the DEM as previously discussed.

[0072] The image product generation module 228 may generate a new image product 230 based on new, further, or other input images 214, ancillary data 216, and / or additional input data 218 different to that or those used to originally generate the artifact 222 or the metadata 226.

[0073] For example, a first satellite image 214 may be used to generate a corresponding first artifact 222. At a later time, when an image product request 232 is received in respect of a second satellite image 214 (e.g., taken using a different sensor on the same satellite at the same time), the product generation module 228 may use the first artifact 222 in order to generate an image product 230b from the satellite image 214b. A second artifact 222 may further be generated and stored in the memory 202 in addition to or replacing the first artifact 222.

[0074] The image product generation module 228 may generate a new image product 230 based on the same input images 214, ancillary data 216, and / or additional input data 218 as used to originally generate the artifact 222. Even where the same input images 214, ancillary data 216, and / or additional input data 218 are used, a new or different image product 230 may be generated according to the product request 232.

[0075] The image product generation module 228 may further generate the same image product 230 multiple times. For example, the first satellite image 214 may be used to generate a corresponding first artifact 222 and a first image product 230. At a later time when the first image product 230 is lost (e.g., a device or server on which the first image product 230 becomes corrupted), the image product generation module 228 may generate the image product 230 again using the corresponding first artifact 222.

[0076] Generally, generating the first or second image product 230 from the artifact 222 is more efficient than generating the image product, respectively, without the artifact 222 (e.g., using medium or high resolution imagery).

[0077] It will be appreciated by one of skill in the art that multiple artifacts 222 may be generated, stored, and used when a single image product 230 is generated. In an embodiment, each transformation applied to the input images 214, the ancillary data 216, and the additional input data 218 produces a particular artifact 222 associated with that transformation.

[0078] The image product generation module 228 may generate a mosaic or composite image product 230 based on multiple or different sets of the input images 214, the ancillary data 216, and (optional) additional input data 218. For example, in order to produce a digital elevation module, images may be taken of the same region at different times (thereby producing different sets of the satellite images 214, the ancillary data 216, and the additional input data 218). Parallax between the two satellite images 214 advantageously allows for a three-dimensional image product 230 to be created based on two two-dimensional image products 230. The artifacts 222 (i.e., the virtualized ideal images) created from the generating the two two-dimensional image products 230 are used to generate the three-dimensional image product 230.

[0079] The image product 230 may be polar-projected or geodetic-projected. The image product 230 may be neither polar-projected nor geodetic-projected but may be processed into a polar-projected or geodetic-projected image.

[0080] Referring now to Figure 3, shown therein is a schematic diagram of a process 300 for improved generation of optical image products from imagery, according to an embodiment. The process 300 may be implemented by the computer system 200 of Figure 2. The imagery may be satellite imagery.

[0081] The process 300 includes three major sub-processes: artifact generation 302, artifact storage 302, and product generation 306.

[0082] At 302, the process 300 includes artifact generation based on imagery 312, ancillary data 314, and additional inputs 316. The additional inputs 316 may include further imagery, calibration, and / or DEMs.

[0083] The artifact generation at 302 is performed by one or more artifact generators 318. The one or more artifact generators 318 may be the artifact generation module 220 of Figure 2.

[0084] The one or more artifact generators 318 generate a first artifact 320, a second artifact 322, and further artifacts 324. Generating the artifacts 320, 322, 324 may advantageously save processing time, pre-calculations, and storage space when compared to generating different products from scratch or storing entire products.

[0085] In an embodiment, each artifact 320, 322, 324 is generated a single time and then stored.

[0086] In an embodiment, one or more of the artifacts 320, 322, and 324 is generated multiple times in response to updated inputs (e.g., updated imagery 312, ancillary data 314, or additional inputs 316).

[0087] In an embodiment, the one or more artifact generators 318 include a dedicated artifact generator that specifically generates exactly one out of the artifacts 320, 322, and 324. When each artifact generator 318 generates only a single artifact (e.g., corresponding to a single transformation), only artifacts corresponding to updated input may be re-generated, thereby further saving computational resources. The artifacts may be precomputed statistics, projections, or coefficients.

[0088] At 304, the process 300 includes storing the artifacts 320, 322, 324. The artifacts 320, 322, 324 may be stored in cloud storage (e.g., the cloud storage 22 of Figure 1 ) or other long-term storage. Storing the artifacts 320, 322, 324 to be used to generate subsequent products may enable faster processing while using a smaller footprint.

[0089] At 306, the process includes generating an image product 328. Product generation is performed by a product generator 326 according to a product request 330. The product generator 326 may be the product generation module 228 of Figure 2. The product 328 may be one of the products 230 of Figure 2. The product request 330 maybe one of the product requests 232 of Figure 2 and may come from user device 18 of Figure 1 .

[0090] In the product generation 306, the artifacts 320, 322, 324 are inputs to the image product generator 326, enabling rapid generation of many different image products 328 based on the product requests 330 and using the imagery 312. The artifacts 320, 322, 324 are reused to create the many different image products 328.

[0091] The product generator 326 ingests the imagery 312 (e.g., raw data) and converts the imagery 312 to a standard image format. Compression may be applied. Depending upon the product requests 330, the product generator 326 may further apply any one or more of radcore, resampling kernels, and framing by mapping the imagery 312 to the ground and framing the size of the imagery 312. The product generator 326 may apply pan sharpening. If an RGB colour scheme is present in the imagery 312 or desired in the product 328, the RGB colour scheme may be used at a lower resolution to apply to the pan-sharpened image. The product generator 326 may further apply colour correction, atmospheric correction, further transformations, and feature-looking enhancements.

[0092] Where the products 328 are images, the products 328 may include reconstructed or unprocessed sensor data (e.g., taken from the sensor 14 of Figure 1 ) at full resolution, time-referenced, and annotated with ancillary data (such as the ancillary data 314), including radiometric and geometric calibration coefficients and georeferencing parameters (e.g., platform ephemeris) computed and appended to the sensor data. Such products 328 may be processed to sensor units (such as the sensor 14). The products 328 may include information derived from geolocated sensor data, such as ground elevation, highest and lowest surface return elevations, energy quantile heights (relative height metrics), and other waveform-derived metrics describing the intercepted surface. The products 328 may include or correspond to periodic summaries (e.g., weekly, ten- day, monthly) of the foregoing. The products 328 may include model output or results from analyses of lower-level data (e.g., variables derived from multiple measurements). The product request 330 may further include a map projection to be used, a product orientation, a resampling kernel to be used, and further image enhancements.

[0093] Where the products 328 are reports, the products 328 may include marking residuals, multi-acquisition (stereo) angle calculations, and refined ancillary data.

[0094] It is further apparent in Figure 3 that, where the artifacts 320, 322, 324 are already stored at artifact storage 304, the imagery 312 may be provided directly to the product generator 326 to generate the products 328 according to the product request 330 using the imagery 312 and the artifacts. The alternate path shown in the process 300 accordingly saves computer time (via less processing) and computer space (via storing the artifacts 320, 322, 324, which are smaller than the image products 328).

[0095] The artifacts 320, 322, 324, and / or the image product 328 may be used as training data for training a machine learning model or as input to a trained model for prediction. In both cases, storage requirements would be significantly reduced, as the artifacts 320, 322, 324 are much smaller than the imagery 312. Such a reduction in storage may be significant in the context of training data where a large volume of samples may be desirable. For training or prediction, the actual processing done by the machine learning model or modules underpinning same may be less intensive given the smaller size of the artifacts 320, 322, 324 as input. Where data is sent from a satellite (e.g., the satellite 12) to ground for training or retraining a machine learning model, the advantages of the reduced size of the artifacts 320, 322, 324 may be particularly apparent. Examples of the foregoing machine learning models include a classifier model, an object detection model (detecting objects of one or more object classes / types in image data), and a change detection model. The foregoing may advantageously be scalable for large volumes of data.

[0096] For example, where there exists an archive of images of an area of the world taken over time (e.g., images of a volcano over a 10-year period), if the artifacts 320, 322, and 324 have been generated according to the foregoing, machine learning may be applied to the artifacts 320, 322, and 324 instead of to the stored images, thereby increasing efficiency of the machine learning.

[0097] The reduced size of the artifacts 320, 322, 324 may be particularly advantageous or applicable to storage-restricted or processing-restricted environments, e.g., onboard a satellite where there may be constraints on data storage and processing.The reduced size of the artifacts 320, 322, 324 may make satellite onboard processing more practical.

[0098] Computations or other computer resources used to generate the artifacts 320, 322, 324 may be significantly greater than computations or other computer resources used to generate the products 328 from the artifacts 320, 322, 324. Accordingly, the use of the artifacts 320, 322, 324 as herein described may provide significant computational savings and greater efficiency for computers.

[0099] The artifacts 320, 322, 324 may be separately desirable or suitable as outputs. The artifacts 320, 322, 324 may be provided to or used by an end user for the end user to perform their own calculations or generate their own products 328 in a more efficient fashion as herein described.

[0100] Referring now to Figure 4, shown therein is a process 400 for improved generation of optical image products from imagery, according to an embodiment. The process 400 may be implemented by the computer system 200 of Figure 2. The process 400 may correspond to the product generation 306 or specifically the product generator 326 of the process 300. The imagery may be satellite imagery.

[0101] In the process 400, an image product request 402 is received. The product request 402 requests that the system, device, or computer implementing the process 400 generate an image product 404 according to the product request 402. The image product 404 includes or uses satellite imagery in some way.

[0102] In the process 400, a product generator 405 generates the image product 404 using inputs 406 and pre-generated artifacts 408. The artifacts 408 are pregenerated, for example in the course of previously generating a different product 404.

[0103] The image product generator 405 generates the image product 404 through a chain of transformations 410a, 410b, 410c, and 41 Od (collectively referred to as the transformations 410 and generically referred to as the transformation 410).

[0104] Each transformation 410 uses one or more of the artifacts 408. Each transformation 410 may use multiple artifacts 408. Each transformation 410 may use exactly one artifact 408. Multiple transformations 410 may use the same artifact 408. Insome cases, all transformations 410 may use the same artifact 408 in addition to or without using one or more other artifacts 408.

[0105] Each transformation 410 is a process applicable to the inputs 406, some of the inputs 406, and / or the results of a previous transformation 410 (e.g., applying the transformation 410b to an output of the transformation 410a).

[0106] The transformations 410 may include any one or more of geolocation (including radiometric calibration), resampling, and pan sharpening to perform image correction, projections, and enhancements.. Which transformations 410 are available in respect of the product 404 may depend on the product request 402.

[0107] Each transformation 410 is unique relative to the other transformations 410 (e.g., the transformation 410 for resampling cannot be used for radiometric calibration).

[0108] The process 400 further includes final formatting 412. The final formatting 412 includes generating the image product 404 in an appropriate output format (e.g., as specified in the product request 402) using the transformed image data. Examples of formats include, without limitation, HD5, NITF, JPEG2000, TIF, JPEG, and PNG. In an embodiment, the final formatting 412 includes generating the image product 404 or converting the image product 404 to any image format with embedded metadata.

[0109] The process 400 concludes with the image product 404 being delivered to the user that submitted the product request 402. This may include transmitting the image product 404 to the user device 18 for rendering in a user interface (e.g., by GUI module 232).

[0110] Referring now to Figure 5, shown therein is a process 500 for transforming data, according to an embodiment. The process 500 may be implemented by the computer system 200 2. The process 500 may correspond to one of the transformations 410 of Figure 4.

[0111] In the process 500, input imagery 502 and a previous recipe 504 are provided to a transformation 506. The previous recipe 504 is metadata that includes all transformations applied to generate the updated imagery 512. The previous recipe 504 may be used to correctly set metadata values in the final product (e.g., the product 328of Figure 3). The recipe may include details such as whether the product is radiometrically calibrated, i.e. , whether a radiometric calibration transformation 506 was applied. Where a previously applied transformation could have been applied in multiple ways, the previous recipe 504 may include information on how the previously applied transformation was applied (e.g., what further inputs, parameters, or flags were provided, the specific way in which the previously applied transformation was applied).

[0112] Additional inputs 508 are provided to the transformation 506. It will be appreciated that, in an embodiment, no additional inputs 508 are provided.

[0113] The transformation 506 proceeds according to artifacts 510 as previously described. The artifacts 510 include precomputed parameters for the input imagery 502 to quickly undergo the desired transformation 506.

[0114] Exemplary transformations include conversion from raw data to ratiometrically calibrated data, and conversion from radiometrically calculated data to 1 B projected data.

[0115] Transformations 506 have common inputs and outputs. Accordingly, additional transformations 506 may be applied in the process 500. The output of one transformation 506 is the input of the next transformation 506.

[0116] The transformation 506 produces updated imagery 512 and an updated recipe 514.

[0117] Referring now to Figure 6, shown therein is a flow chart of a legacy method 600 for optical satellite image product generation. Further shown in Figure 6 is a flow chart of an improved method 601 for optical satellite image product generation, according to an embodiment. The improved method 601 may be implemented by the computer system 200 of Figure 2. The improved method 601 may be used with non-optical satellite imagery or with non-satellite imagery.

[0118] In Figure 6, identical numerals denote identical references with respect to Figures 3 and 4.

[0119] The legacy method 600 includes basic product formatting 602 before generating a basic product at 604.

[0120] The legacy method 600 further includes higher level formatting 606 after basic product generation at 604.

[0121] The legacy method 600 further includes the final formatting 412 common to the improved method 601.

[0122] Accordingly, the legacy method 600 includes significantly more formatting of data than the improved method 601 .

[0123] The artifacts 408 used in method 601 of the present disclosure may be as small as 0.5% the size of the basic product 604 used in the legacy method 600.

[0124] Both methods 600 and 601 start with the same inputs 406 and finish with the same final outputs, i.e., image product 404. The improved method 601 advantageously generates and uses the artifacts 408 in order to proceed more rapidly and / or using less computational storage space in generating the image product 404.

[0125] Referring now to Figure 7, shown therein is a method 700 of generating a product based on input imagery, according to an embodiment. The input may be imagery. The input imagery may be satellite imagery. The product may be an image product. The image product may be an optical image product.

[0126] The method 700 may be encoded as computer-executable instructions and executed by a processor. The method 700 may be implemented by the computer system 28 of Figure 1 or the computer system 200 of Figure 2.

[0127] At 702, the method 700 includes receiving input at an artifact generator. The input may include optical satellite imagery.

[0128] At 704, the method 700 further includes generating one or more artifacts based on the input.

[0129] At 706, the method 700 further includes storing the one or more artifacts in artifact storage. The artifact storage may be cloud storage, such as the cloud storage 22 of Figure 1 .

[0130] At 708, the method 700 further includes receiving a product request at the product generator.

[0131] At 710, the method 700 further includes generating a product based on the input received at the artifact generator, the one or more artifacts generated at the artifact generator, and the product request received at the product generator.

[0132] The product generator may generate the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.

[0133] The input received at the artifact generator may include any one or more of input images (such as satellite images), ancillary data, and additional input data. The input may include the input images 214, the ancillary data 216, and / or the additional input data 218.

[0134] Referring now to Figure 8, shown therein is a method 800 of generating a product based on previously generated artifacts and an input, according to an embodiment. The method 800 may be encoded as computer-executable instructions and executed by a processor. The method 800 may be implemented by the computer system 28 of Figure 1 or the computer system 200 of Figure 2. The product may be an image product. The image product may be an optical image product. The input may be an input image. The input image may be a satellite image.

[0135] At 802, the method 800 includes retrieving one or more artifacts stored in artifact storage. The artifact storage may be cloud storage, such as the cloud storage 22 of Figure 1. The artifacts may be retrieved based on a product request. The product request may come from user device 18.

[0136] At 804, the method 800 further includes receiving input at a product generator. The input may include optical satellite imagery.

[0137] At 806, the method 800 further includes receiving the product request at the product generator.

[0138] At 808, the method 800 further includes generating a product based on the input received at the product generator, the one or more artifacts retrieved from the artifact storage, and the product request received at the product generator.

[0139] The product generator may generate the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.

[0140] The input received at the product generator may include any one or more of input images (such as satellite images), ancillary data, and additional input data. The input may include the input images 214, the ancillary data 216, and / or the additional input data 218.

[0141] The product may be further processed by end users, i.e. , may be the input to a process or workflow of an end user, e.g., for ship detection.

[0142] While the above description provides examples of one or more apparatus, methods, or systems, it will be appreciated that other apparatus, methods, or systems may be within the scope of the claims as interpreted by one of skill in the art.

Claims

Claims:1 . A system for improved optical production comprising: an artifact generation module for receiving input and generating one or more artifacts based on the input; artifact storage for storing the one or more artifacts; and a product generator for receiving a product request and generating a product based on the input, the one or more artifacts, and the product request.

2. The system of claim 1 , wherein the artifact storage is cloud storage.

3. The system of claim 1 , wherein the artifact storage is non-cloud storage.

4. The system of claim 1 , wherein the product generator generates the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.

5. The system of claim 1 , wherein the input comprises an input image and ancillary data associated with the input image.

6. The system of claim 5, wherein the input image comprises a satellite image.

7. A method for improved optical production comprising: receiving input at an artifact generator; generating one or more artifacts based on the input; storing the one or more artifacts in artifact storage;receiving a product request at the product generator; and generating a product based on the input received at the artifact generator, the one or more artifacts generated at the artifact generator, and the product request received at the product generator.

8. The method of claim 7, wherein the artifact storage is cloud storage.

9. The method of claim 7, wherein the artifact storage is non-cloud storage.

10. The method of claim 7, wherein the product generator generates the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.11 . The method of claim 7, wherein the input comprises an input image and ancillary data associated with the input image.

12. The method of claim 11 , wherein the input image comprises a satellite image.

13. A method for improved optical production comprising: retrieving one or more artifacts stored in artifact storage; receiving input at a product generator; receiving a product request at the product generator; and generating a product based on the input received at the product generator, the one or more artifacts retrieved from the artifact storage, and the product request received at the product generator.

14. The method of claim 13, wherein the artifact storage is cloud storage.

15. The method of claim 13, wherein the artifact storage is non-cloud storage.

16. The method of claim 13, wherein the product generator generates the product by applying one or more transformations, each transformation corresponding to at least one of the one or more artifacts.

17. The method of claim 13, wherein the input comprises an input image and ancillary data associated with the input image.

18. The method of claim 17, wherein the input image comprises a satellite image.

Citation Information

Patent Citations

  • A self-driven multi-level product preprocessing system for remote sensing satellite data

    CN110941463B

  • Smart downloading of sensing data in remote sensing systems

    EP3345071A1

  • Spatial data compression using implicit geometry

    US8525835B1

  • Systems and methods for processing and distributing earth observation images

    US9684673B2