Large-scale image processing using mass parallelization techniques
First Claim
1. A method comprising:
- identifying tiles of pixels, each tile having at least one neighboring tile and each tile having an associated coverage mask, each coverage mask identifying all pixels in the associated tile that contain imagery and all pixels in the associated tile that lack imagery;
extracting, for each tile, a respective neighboring mask fragment from the respective coverage mask associated with each tile neighboring the tile;
associating, with each tile, each mask fragment extracted from a tile neighboring the tile;
storing the tiles and the mask fragments on multiple storage subsystems, including storing each respective mask fragment on the same storage subsystem as the tile associated with the mask fragment; and
generating a blend mask for each tile from the coverage mask associated with the tile and one or more mask fragments associated with the tile, including obtaining the one or more mask fragments associated with the tile from the storage subsystem on which the tile is stored.
2 Assignments
0 Petitions
Accused Products
Abstract
Assets of raw geo-located imagery can be divided into tiles and coverage masks can be generated for each tile. For each tile, fragments of pixels from coverage masks of neighboring tiles can be extracted and tagged. The fragments can be sorted and stored in a data structure so that fragments having the same tag can be grouped together in the data structure. The fragments can be used to feather the coverage mask of the tile to produce a blend mask. Multi-resolution imagery and mask pyramids can be generated by extracting fragments from tiles and minified (e.g., down-sampled). The minified fragments can be tagged (e.g., by ancestor tile name), sorted and stored in a data structure, so that fragments having like tags can be stored together in the data structure. The fragments can be assembled into fully minified tiles for each level in the pyramid.
-
Citations
24 Claims
-
1. A method comprising:
-
identifying tiles of pixels, each tile having at least one neighboring tile and each tile having an associated coverage mask, each coverage mask identifying all pixels in the associated tile that contain imagery and all pixels in the associated tile that lack imagery; extracting, for each tile, a respective neighboring mask fragment from the respective coverage mask associated with each tile neighboring the tile; associating, with each tile, each mask fragment extracted from a tile neighboring the tile; storing the tiles and the mask fragments on multiple storage subsystems, including storing each respective mask fragment on the same storage subsystem as the tile associated with the mask fragment; and generating a blend mask for each tile from the coverage mask associated with the tile and one or more mask fragments associated with the tile, including obtaining the one or more mask fragments associated with the tile from the storage subsystem on which the tile is stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; identifying tiles of pixels, each tile having at least one neighboring tile and each tile having an associated coverage mask, each coverage mask identifying all pixels in the associated tile that contain imagery and all pixels in the associated tile that lack imagery; extracting, for each tile, a respective neighboring mask fragment from the respective coverage mask associated with each tile neighboring the tile; associating, with each tile, each mask fragment extracted from a tile neighboring the tile; storing the tiles and the mask fragments on multiple storage subsystems, including storing each respective mask fragment on the same storage subsystem as the tile associated with the mask fragment; and generating a blend mask for each tile from the coverage mask associated with the tile and one or more mask fragments associated with the tile, including obtaining the one or more mask fragments associated with the tile from the storage subsystem on which the tile is stored. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
-
identifying tiles of pixels, each tile having at least one neighboring tile and each tile having an associated coverage mask, each coverage mask identifying all pixels in the associated tile that contain imagery and all pixels in the associated tile that lack imagery; extracting, for each tile, a respective neighboring mask fragment from the respective coverage mask associated with each tile neighboring the tile; associating, with each tile, each mask fragment extracted from a tile neighboring the tile; storing the tiles and the mask fragments on multiple storage subsystems, including storing each respective mask fragment on the same storage subsystem as the tile associated with the mask fragment; and generating a blend mask for each tile from the coverage mask associated with the tile and one or more mask fragments associated with the tile, including obtaining the one or more mask fragments associated with the tile from the storage subsystem on which the tile is stored. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification