# US 10,120,884 B2 · Choreographing automated and manual processes in support of mosaic generation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,120,884 B2
- Document ID: US10120884B2
- Status: Granted
- Kind: B2
- Application number: 15/228,954
- Filed: 2016-08-04
- Published: 2017-02-09
- Granted: 2018-11-06
- Earliest claimed: 2015-08-06
- Assignees: DigitalGlobe, Inc.
- Applicants: Digitalglobe, Inc.
- Inventors: Nathan Swanson
- Web page: https://patentgrep.com/patent/US10120884B2

## CPC

- G06F 16/51: Indexing; Data structures therefor; Storage structures
- G06T 3/4038: Image mosaicing, e.g. composing plane images from plane sub-images
- H04N 1/3876: {Recombination of partial images to recreate the original image}
- H04N 5/77: between a recording apparatus and a television camera
- H04N 23/698: for achieving an enlarged field of view, e.g. panoramic image capture
- G06T 2207/10032: Satellite or aerial image; Remote sensing
- H04N 1/6027: {Correction or control of colour gradation or colour contrast (H04N1/6058 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A database for creating orthomosaics, where the database is tailored to retrieve the most recent imagery for each pixel, in an efficient manner that partitions the orthomosaic into sufficiently small chunks that can each be quickly processed.

## Claims

### Claim 1

A system for automatically generating orthomosaic images, comprising:
an image storage repository; and
a processor operating on computer instructions to implement a plurality of separate services and a service bus to pass requests and data between at least two of the plurality of services, wherein the plurality of services include at least a mosaic generation service, a cutline service, and a tonal balancing service;
wherein the mosaic generation service communicates with the service bus to obtain images from the repository, communicates with the service bus to request and obtains from the service bus cutlines from the cutline service, communicates with the service bus to request and obtains from the service bus tonal balancing results from the tonal balancing service, and generates an orthomosaic image from the images, cutlines, and tonal balancing results obtained from the service bus.

### Claim 2 (depends on 1)

A system as defined in claim 1, wherein the services also include an image warping service.

### Claim 3 (depends on 1)

A system as defined in claim 1, further including a user interface that allows a user to provide feedback to the system about the orthomosaic image being generated.

### Claim 4 (depends on 1)

A system as defined in claim 1, wherein the image storage repository includes a plurality of images captured at different times, so that each image has a capture time associated therewith;
wherein the services further include a database that divides up the orthomosaic image to be generated into a plurality of subimages which are each processed separately, and wherein the database selects image data that has the most recent capture time when available for a given portion of the orthomosaic image, and when not available for a given portion of the orthomosaic image, the database selects image data that has the next most recent capture time.

### Claim 5 (depends on 1)

A system as defined in claim 1, wherein generating the orthomosaic image includes creating a map of which image to use to provide the image data for each pixel in the orthomosaic.

### Claim 6 (depends on 5)

A system as defined in claim 5, wherein the map is created in part by using a rule of using the most recent imagery where possible.

### Claim 7

A system for automatically generating orthomosaic images, comprising:
an image storage repository; and
a processor operating on computer instructions to implement a plurality of separate services and a service bus to pass requests and data between at least two of the plurality of services, wherein the plurality of services include at least a mosaic generation service, a cutline service, and a tonal balancing service;
wherein the mosaic generation service communicates with the service bus to obtain images from the repository, communicates with the service bus to request and obtains from the service bus cutlines from the cutline service, communicates with the service bus to request and obtains from the service bus tonal balancing results from the tonal balancing service, and generates an orthomosaic image from the images, cutlines, and tonal balancing results obtained from the service bus;
wherein the image storage repository includes a plurality of images captured at different times, so that each image has a capture time associated therewith;
wherein the services further include a database that divides up the orthomosaic image to be generated into a plurality of subimages which are each processed separately, and wherein the database selects image data that has the most recent capture time when available for a given portion of the orthomosaic image, and when not available for a given portion of the orthomosaic image, the database selects image data that has the next most recent capture time.

### Claim 8 (depends on 7)

A system as defined in claim 7, wherein the services also include an image warping service.

### Claim 9 (depends on 7)

A system as defined in claim 7, further including a user interface that allows a user to provide feedback to the system about the orthomosaic image being generated.

### Claim 10 (depends on 7)

A system as defined in claim 7, wherein generating the orthomosaic image includes creating a map of which image to use to provide the image data for each pixel in the orthomosaic.

### Claim 11 (depends on 10)

A system as defined in claim 10, wherein the map is created in part by using a rule of using the most recent imagery where possible.

### Claim 12

A system for automatically generating orthomosaic images, comprising:
an image storage repository;
a processor operating on computer instructions to implement a plurality of separate services and a service bus to pass requests and data between at least two of the plurality of services, wherein the plurality of services include at least a mosaic generation service, a cutline service, a tonal balancing service, and an image warping service;
a user interface that allows a user to provide feedback to the system about the orthomosaic image being generated;
wherein the mosaic generation service communicates with the service bus to obtain images from the repository, communicates with the service bus to request and obtains from the service bus cutlines from the cutline service, communicates with the service bus to request and obtains from the service bus tonal balancing results from the tonal balancing service, and generates an orthomosaic image from the images, cutlines, and tonal balancing results obtained from the service bus;
wherein the image storage repository includes a plurality of images captured at different times, so that each image has a capture time associated therewith;
wherein the services further include a database that divides up the orthomosaic image to be generated into a plurality of subimages which are each processed separately, and wherein the database selects image data that has the most recent capture time when available for a given portion of the orthomosaic image, and when not available for a given portion of the orthomosaic image, the database selects image data that has the next most recent capture time.

### Claim 13 (depends on 12)

A system as defined in claim 12, wherein generating the orthomosaic image includes creating a map of which image to use to provide the image data for each pixel in the orthomosaic.

### Claim 14 (depends on 13)

A system as defined in claim 13, wherein the map is created in part by using a rule of using the most recent imagery where possible.
