IP Library Granted Patent US 11,068,757
Granted Patent B2
US 11,068,757 · App. 16/142,468 · Granted Jul 20, 2021

Analytic image format for visual computing

Inventors: Christina R. Strong (Hillsboro, OR); Vishakha Gupta (Seattle, WA); Luis Carlos Maria Remis (Hillsboro, OR); Kushal Datta (Hillsboro, OR); Arun Raghunath (Portland, OR)
Assignee: Intel Corporation
G06K9/726G06K9/00624G06K9/00993G06K9/6228G06T7/11G06K9/6282G06K9/66G06T7/20G06T2207/10016G06T2207/20021G06T2207/20084G06T2207/20221H04N19/12H04N19/124H04N19/167H04N19/172H04N19/176H04N19/44H04N19/48H04N19/513
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,068,757
App. No.
16/142,468
Granted
Jul 20, 2021
Kind
B2
Abstract

In one embodiment, an apparatus comprises a storage device and a processor. The storage device stores a plurality of images captured by a camera. The processor: accesses visual data associated with an image captured by the camera; determines a tile size parameter for partitioning the visual data into a plurality of tiles; partitions the visual data into the plurality of tiles based on the tile size parameter, wherein the plurality of tiles corresponds to a plurality of regions within the image; compresses the plurality of tiles into a plurality of compressed tiles, wherein each tile is compressed independently; generates a tile-based representation of the image, wherein the tile-based representation comprises an array of the plurality of compressed tiles; and stores the tile-based representation of the image on the storage device.

Claims (127)

1. An apparatus, comprising:

a storage device to store a plurality of images, wherein the plurality of images are to be stored in a tile-based image format in an array database; and

a processor to:

receive a request to store an image in the tile-based image format, wherein the tile-based image format is to represent the image as a corresponding array of compressed tiles to be stored in the array database;

determine a set of parameters for storing the image in the tile-based image format, wherein the set of parameters comprise:

one or more tile size parameters for partitioning the image into a plurality of tiles; and

one or more compression parameters for compressing the plurality of tiles;

partition the image into the plurality of tiles based on the one or more tile size parameters;

compress the plurality of tiles into a plurality of compressed tiles based on the one or more compression parameters, wherein each tile of the plurality of tiles is compressed independently; and

store the plurality of compressed tiles in the corresponding array of compressed tiles in the array database.

2. The apparatus of claim 1 , wherein the processor to determine the set of parameters for storing the image in the tile-based image format is further to:

generate a plurality of tile-based representations of at least a portion of the image, wherein the plurality of tile-based representations is generated based on a plurality of tile size parameters;

evaluate a performance of the plurality of tile-based representations based on one or more image processing operations;

identify a particular tile-based representation that provides an optimal performance, wherein the particular tile-based representation is identified from the plurality of tile-based representations; and

identify the one or more tile size parameters associated with the particular tile-based representation.

3. The apparatus of claim 1 , wherein the processor to determine the set of parameters for storing the image in the tile-based image format is further to:

generate a plurality of tile-based representations of at least a portion of the image, wherein the plurality of tile-based representations is generated based on a plurality of tile size parameters and a plurality of compression parameters;

evaluate a performance of the plurality of tile-based representations based on one or more image processing operations;

identify a particular tile-based representation that provides an optimal performance, wherein the particular tile-based representation is identified from the plurality of tile-based representations;

identify the one or more tile size parameters associated with the particular tile-based representation; and

identify the one or more compression parameters associated with the particular tile-based representation.

4. The apparatus of claim 1 , wherein the processor to partition the image into the plurality of tiles based on the one or more tile size parameters is further to:

identify one or more regions of interest within the image; and

recursively partition the image into the plurality of tiles, wherein the image is partitioned into the plurality of tiles in a plurality of recursive stages, wherein each recursive stage produces a plurality of intermediate tiles, and wherein each intermediate tile is to be further partitioned in a subsequent recursive stage if:

the intermediate tile at least partially comprises the one or more regions of interest; and

partitioning the intermediate tile produces at least one smaller tile that does not comprise the one or more regions of interest.

5. The apparatus of claim 4 , wherein the processor to recursively partition the image into the plurality of tiles is further to:

merge a plurality of contiguous tiles within the plurality of tiles, wherein the plurality of contiguous tiles does not comprise the one or more regions of interest.

6. The apparatus of claim 1 , wherein the processor to determine the set of parameters for storing the image in the tile-based image format is further to:

identify one or more regions of interest within the image;

identify one or more first tile sizes for partitioning the image into one or more first tiles, wherein the one or more first tiles comprise the one or more regions of interest; and

identify one or more second tile sizes for partitioning the image into one or more second tiles, wherein the one or more second tiles do not comprise the one or more regions of interest.

7. The apparatus of claim 1 , wherein the processor is further to:

retrieve, via the storage device, a first representation of the image, wherein visual data is encoded and compressed within the first representation of the image based on a first image format;

decompress the first representation of the image to extract encoded visual data; and

decode the encoded visual data to extract the visual data associated with the image.

8. The apparatus of claim 1 , wherein the processor is further to:

receive a request to access a region of interest within the image;

retrieve, via the storage device, a subset of the plurality of compressed tiles associated with the tile-based image format of the image, wherein the subset of the plurality of compressed tiles comprises the region of interest within the image; and

decompress the subset of the plurality of compressed tiles to extract the region of interest.

9. The apparatus of claim 1 , wherein the processor to determine the set of parameters for storing the image in the tile-based image format is further to:

determine the one or more tile size parameters, wherein the one or more tile size parameters indicate one or more optimal tile sizes for partitioning the image into the plurality of tiles.

10. The apparatus of claim 1 , wherein the one or more compression parameters indicate one or more compression types for compressing the plurality of tiles.

11. A system, comprising:

one or more cameras to capture a plurality of images;

a storage device to store the plurality of images, wherein the plurality of images are to be stored in a tile-based image format in an array database; and

one or more processing devices to:

receive a request to store an image captured by the one or more cameras in the tile-based image format, wherein the tile-based image format is to represent the image as a corresponding array of compressed tiles to be stored in the array database;

determine a set of parameters for storing the image in the tile-based image format, wherein the set of parameters comprise:

one or more tile size parameters for partitioning the image into a plurality of tiles; and

one or more compression parameters for compressing the plurality of tiles;

partition the image into the plurality of tiles based on the one or more tile size parameters;

compress the plurality of tiles into a plurality of compressed tiles based on the one or more compression parameters, wherein each tile of the plurality of tiles is compressed independently; and

store the plurality of compressed tiles in the corresponding array of compressed tiles in the array database.

12. The system of claim 11 , wherein the one or more processing devices to determine the set of parameters for storing the image in the tile-based image format are further to:

generate a plurality of tile-based representations of at least a portion of the image, wherein the plurality of tile-based representations is generated based on a plurality of tile size parameters;

evaluate a performance of the plurality of tile-based representations based on one or more image processing operations;

identify a particular tile-based representation that provides an optimal performance, wherein the particular tile-based representation is identified from the plurality of tile-based representations; and

identify the one or more tile size parameters associated with the particular tile-based representation.

13. The system of claim 11 , wherein the one or more processing devices to determine the set of parameters for storing the image in the tile-based image format are further to:

generate a plurality of tile-based representations of at least a portion of the image, wherein the plurality of tile-based representations is generated based on a plurality of tile size parameters and a plurality of compression parameters;

evaluate a performance of the plurality of tile-based representations based on one or more image processing operations;

identify a particular tile-based representation that provides an optimal performance, wherein the particular tile-based representation is identified from the plurality of tile-based representations;

identify the one or more tile size parameters associated with the particular tile-based representation; and

identify the one or more compression parameters associated with the particular tile-based representation.

14. The system of claim 11 , wherein the one or more processing devices to partition the image into the plurality of tiles based on the one or more tile size parameters are further to:

identify one or more regions of interest within the image; and

recursively partition the image into the plurality of tiles, wherein the image is partitioned into the plurality of tiles in a plurality of recursive stages, wherein each recursive stage produces a plurality of intermediate tiles, and wherein each intermediate tile is to be further partitioned in a subsequent recursive stage if:

the intermediate tile at least partially comprises the one or more regions of interest; and

partitioning the intermediate tile produces at least one smaller tile that does not comprise the one or more regions of interest.

15. The system of claim 14 , wherein the one or more processing devices to recursively partition the image into the plurality of tiles are further to:

merge a plurality of contiguous tiles within the plurality of tiles, wherein the plurality of contiguous tiles does not comprise the one or more regions of interest.

16. The system of claim 11 , wherein the one or more processing devices to determine the set of parameters for storing the image in the tile-based image format are further to:

identify one or more regions of interest within the image;

identify one or more first tile sizes for partitioning the image into one or more first tiles, wherein the one or more first tiles comprise the one or more regions of interest; and

identify one or more second tile sizes for partitioning the image into one or more second tiles, wherein the one or more second tiles do not comprise the one or more regions of interest.

17. The system of claim 11 , wherein the one or more processing devices are further to:

receive a request to access a region of interest within the image;

retrieve, via the storage device, a subset of the plurality of compressed tiles associated with the tile-based image format of the image, wherein the subset of the plurality of compressed tiles comprises the region of interest within the image; and

decompress the subset of the plurality of compressed tiles to extract the region of interest.

18. At least one non-transitory machine accessible storage medium having instructions stored thereon, wherein the instructions, when executed on a machine, cause the machine to:

receive a request to store an image in a tile-based image format, wherein the tile-based image format is to represent the image as a corresponding array of compressed tiles to be stored in an array database;

determine a set of parameters for storing the image in the tile-based image format, wherein the set of parameters comprise:

one or more tile size parameters for partitioning the image into a plurality of tiles; and

one or more compression parameters for compressing the plurality of tiles;

partition the image into the plurality of tiles based on the one or more tile size parameters;

compress the plurality of tiles into a plurality of compressed tiles based on the one or more compression parameters, wherein each tile of the plurality of tiles is compressed independently; and

store the plurality of compressed tiles in the corresponding array of compressed tiles in the array database.

19. The storage medium of claim 18 , wherein the instructions that cause the machine to determine the set of parameters for storing the image in the tile-based image format further cause the machine to:

identify one or more regions of interest within the image;

identify one or more first tile sizes for partitioning the image into one or more first tiles, wherein the one or more first tiles comprise the one or more regions of interest; and

identify one or more second tile sizes for partitioning the image into one or more second tiles, wherein the one or more second tiles do not comprise the one or more regions of interest.

20. The storage medium of claim 18 , wherein the instructions that cause the machine to determine the set of parameters for storing the image in the tile-based image format further cause the machine to:

generate a plurality of tile-based representations of at least a portion of the image, wherein the plurality of tile-based representations is generated based on a plurality of tile size parameters;

evaluate a performance of the plurality of tile-based representations based on one or more image processing operations;

identify a particular tile-based representation that provides an optimal performance, wherein the particular tile-based representation is identified from the plurality of tile-based representations; and

identify the one or more tile size parameters associated with the particular tile-based representation.

21. The storage medium of claim 18 , wherein the instructions that cause the machine to partition the image into the plurality of tiles based on the one or more tile size parameters further cause the machine to:

identify one or more regions of interest within the image; and

recursively partition the image into the plurality of tiles, wherein the image is partitioned into the plurality of tiles in a plurality of recursive stages, wherein each recursive stage produces a plurality of intermediate tiles, and wherein each intermediate tile is to be further partitioned in a subsequent recursive stage if:

the intermediate tile at least partially comprises the one or more regions of interest; and

partitioning the intermediate tile produces at least one smaller tile that does not comprise the one or more regions of interest.

22. The storage medium of claim 18 , wherein the instructions that cause the machine to determine the set of parameters for storing the image in the tile-based image format further cause the machine to:

determine the one or more tile size parameters, wherein the one or more tile size parameters indicate one or more optimal tile sizes for partitioning the image into the plurality of tiles.

23. The storage medium of claim 18 , wherein the one or more compression parameters indicate one or more compression types for compressing the plurality of tiles.

24. A method, comprising:

receiving a request to store an image in a tile-based image format, wherein the tile-based image format is to represent the image as a corresponding array of compressed tiles to be stored in an array database;

determining a set of parameters for storing the image in the tile-based image format, wherein the set of parameters comprise:

one or more tile size parameters for partitioning the image into a plurality of tiles; and

one or more compression parameters for compressing the plurality of tiles;

partitioning the image into the plurality of tiles based on the one or more tile size parameters;

compressing the plurality of tiles into a plurality of compressed tiles based on the one or more compression parameters, wherein each tile of the plurality of tiles is compressed independently; and

storing the plurality of compressed tiles in the corresponding array of compressed tiles in the array database.

25. The method of claim 24 , wherein determining the set of parameters for storing the image in the tile-based image format comprises:

identifying one or more regions of interest within the image;

identifying one or more first tile sizes for partitioning the image into one or more first tiles, wherein the one or more first tiles comprise the one or more regions of interest; and

identifying one or more second tile sizes for partitioning the image into one or more second tiles, wherein the one or more second tiles do not comprise the one or more regions of interest.

26. The method of claim 24 , wherein determining the set of parameters for storing the image in the tile-based image format comprises:

generating a plurality of tile-based representations of at least a portion of the image, wherein the plurality of tile-based representations is generated based on a plurality of tile size parameters;

evaluating a performance of the plurality of tile-based representations based on one or more image processing operations;

identifying a particular tile-based representation that provides an optimal performance, wherein the particular tile-based representation is identified from the plurality of tile-based representations; and

identifying the one or more tile size parameters associated with the particular tile-based representation.

27. The method of claim 24 , wherein partitioning the image into the plurality of tiles based on the one or more tile size parameters comprises:

identifying one or more regions of interest within the image; and

recursively partitioning the image into the plurality of tiles, wherein the image is partitioned into the plurality of tiles in a plurality of recursive stages, wherein each recursive stage produces a plurality of intermediate tiles, and wherein each intermediate tile is to be further partitioned in a subsequent recursive stage if:

the intermediate tile at least partially comprises the one or more regions of interest; and

partitioning the intermediate tile produces at least one smaller tile that does not comprise the one or more regions of interest.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2024
From: INTEL CORPORATION
To: HYUNDAI MOTOR COMPANY; KIA CORPORATION
Reel/Frame 067737/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2020
From: STRONG, CHRISTINA R.; GUPTA, VISHAKHA; REMIS, LUIS CARLOS MARIA; DATTA, KUSHAL; RAGHUNATH, ARUN
To: INTEL CORPORATION
Reel/Frame 054762/0599 →
Continuity (4)
Continuation In Part PCTUS2018040390 · Jun 29, 2018
Provisional Application 62691464 · Jun 28, 2018
Provisional Application 62611536 · Dec 28, 2017
Related Publication 20190043201A1 · Feb 7, 2019