IP Library Granted Patent US 11,450,123
Granted Patent B2
US 11,450,123 · App. 17/374,217 · Granted Sep 20, 2022

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
G06V30/274G06K9/6228G06K15/1886G06T7/11G06V10/96G06V20/00G06K9/6282G06T7/20G06T2207/10016G06T2207/20021G06T2207/20084G06T2207/20221G06V30/194H04N19/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,450,123
App. No.
17/374,217
Granted
Sep 20, 2022
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 (90)

1. A device, comprising:

a storage device to store a plurality of images; and

processing circuitry to:

receive, via an image storage application programming interface (API), a request to access an image, wherein the image is one of the plurality of images stored on the storage device, and wherein the image is stored in a compressed tile format, wherein the compressed tile format comprises a plurality of compressed tiles of the image, wherein the plurality of compressed tiles are organized based on a spatial layout within the image;

access metadata associated with the compressed tile format of the image, wherein the metadata indicates:

an image size of the image;

a tile size of the plurality of compressed tiles; and

a compression type used to compress the plurality of compressed tiles;

read, from the storage device, one or more compressed tiles of the plurality of compressed tiles, wherein the one or more compressed tiles represent at least a portion of the image;

decompress, based on the compression type, the one or more compressed tiles into one or more tiles of the image, wherein each of the one or more compressed tiles is decompressed individually; and

return, via the image storage API, a response to the request based on the one or more tiles.

2. The device of claim 1 , wherein the request to access the image comprises:

a request to read the image;

a request to read a region of interest within the image; or

a request to perform an operation on the image.

3. The device of claim 2 , wherein:

the request to access the image comprises the request to perform the operation on the image; and

the operation comprises:

a resize operation; or

a crop operation.

4. The device of claim 2 , wherein:

the request to access the image comprises the request to read the region of interest within the image; and

the metadata further indicates a spatial location of the region of interest within the image.

5. The device of claim 1 , wherein the tile size comprises:

a same tile size for the plurality of compressed tiles; or

variable tile sizes for the plurality of compressed tiles.

6. The device of claim 1 , wherein the compression type comprises:

a same compression type for the plurality of compressed tiles; or

different compression types for at least some of the plurality of compressed tiles.

7. The device of claim 1 , wherein the compression type comprises LZ4 compression for at least some of the plurality of compressed tiles.

8. The device of claim 1 , wherein the compressed tile format further comprises an array data structure to store the plurality of compressed tiles, wherein the array data structure is organized based on the spatial layout of the plurality of compressed tiles within the image.

9. The device of claim 8 , wherein the image is stored in the compressed tile format in an array database on the storage device.

10. The device of claim 8 , wherein the metadata further indicates:

a size of the array data structure; and

a tile order, wherein the tile order indicates an order in which the plurality of compressed tiles are stored in the array data structure.

11. At least one non-transitory machine accessible storage medium having instructions stored thereon, wherein the instructions, when executed on processing circuitry, cause the processing circuitry to: receive, via an image storage application programming interface (API), a request to access an image, wherein the image is stored in a compressed tile format on a storage device, wherein the compressed tile format comprises a plurality of compressed tiles of the image, wherein the plurality of compressed tiles are organized based on a spatial layout within the image; access meta data associated with the compressed tile format of the image, wherein the metadata indicates: an image size of the image; a tile size of the plurality of compressed tiles; and a compression type used to compress the plurality of compressed tiles; read, from the storage device, one or more compressed tiles of the plurality of compressed tiles, wherein the one or more compressed tiles represent at least a portion of the image; decompress, based on the compression type, the one or more compressed tiles into one or more tiles of the image; and return, via the image storage API, a response to the request based on the one or more tiles.

12. The storage medium of claim 11 , wherein the request to access the image comprises:

a request to read the image;

a request to read a region of interest within the image; or

a request to perform an operation on the image.

13. The storage medium of claim 12 , wherein:

the request to access the image comprises the request to perform the operation on the image; and

the operation comprises:

a resize operation; or

a crop operation.

14. The storage medium of claim 12 , wherein:

the request to access the image comprises the request to read the region of interest within the image; and

the metadata further indicates a spatial location of the region of interest within the image.

15. The storage medium of claim 11 , wherein the tile size comprises:

a same tile size for the plurality of compressed tiles; or

variable tile sizes for the plurality of compressed tiles.

16. The storage medium of claim 11 , wherein the compression type comprises:

a same compression type for the plurality of compressed tiles; or

different compression types for at least some of the plurality of compressed tiles.

17. The storage medium of claim 11 , wherein the compression type comprises LZ4 compression for at least some of the plurality of compressed tiles.

18. The storage medium of claim 11 , wherein each of the one or more compressed tiles is decompressed individually.

19. The storage medium of claim 11 , wherein the compressed tile format further comprises an array data structure to store the plurality of compressed tiles, wherein the array data structure is organized based on the spatial layout of the plurality of compressed tiles within the image.

20. The storage medium of claim 19 , wherein the image is stored in the compressed tile format in an array database on the storage device.

21. The storage medium of claim 19 , wherein the metadata further indicates a size of the array data structure.

22. The storage medium of claim 19 , wherein the metadata further indicates a tile order, wherein the tile order indicates an order in which the plurality of compressed tiles are stored in the array data structure.

23. A method, comprising:

receiving, via an image storage application programming interface (API), a request to access an image, wherein the image is stored in a compressed tile format on a storage device, wherein the compressed tile format comprises a plurality of compressed tiles of the image, wherein the plurality of compressed tiles are organized based on a spatial layout within the image;

accessing metadata associated with the compressed tile format of the image, wherein the metadata indicates:

an image size of the image;

a tile size of the plurality of compressed tiles; and

a compression type used to compress the plurality of compressed tiles;

reading, from the storage device, one or more compressed tiles of the plurality of compressed tiles, wherein the one or more compressed tiles represent at least a portion of the image;

decompressing, based on the compression type, the one or more compressed tiles into one or more tiles of the image, wherein each of the one or more compressed tiles is decompressed individually; and

returning, via the image storage API, a response to the request based on the one or more tiles.

24. The method of claim 23 , wherein:

the request to access the image comprises a request to perform an operation on the image, wherein the operation comprises:

a resize operation; or

a crop operation.

25. The method of claim 23 , wherein:

the request to access the image comprises a request to read a region of interest within the image; and

the metadata further indicates a spatial location of the region of interest within the image.

26. The method of claim 23 , wherein the compressed tile format further comprises an array data structure to store the plurality of compressed tiles, wherein the array data structure is organized based on the spatial layout of the plurality of compressed tiles within the image.

27. A system, comprising:

one or more cameras to capture a plurality of images;

a storage device to store the plurality of images; and

processing circuitry to:

receive, via an image storage application programming interface (API), a request to access an image, wherein the image is one of the plurality of images stored on the storage device, and wherein the image is stored in a compressed tile format, wherein the compressed tile format comprises a plurality of compressed tiles of the image, wherein the plurality of compressed tiles are organized based on a spatial layout within the image;

access metadata associated with the compressed tile format of the image, wherein the metadata indicates:

an image size of the image;

a tile size of the plurality of compressed tiles; and

a compression type used to compress the plurality of compressed tiles;

read, from the storage device, one or more compressed tiles of the plurality of compressed tiles, wherein the one or more compressed tiles represent at least a portion of the image;

decompress, based on the compression type, the one or more compressed tiles into one or more tiles of the image, wherein each of the one or more compressed tiles is decompressed individually; and

return, via the image storage API, a response to the request based on the one or more tiles.

28. The system of claim 27 , wherein the compressed tile format further comprises an array data structure to store the plurality of compressed tiles, wherein the array data structure is organized based on the spatial layout of the plurality of compressed tiles within the image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2024
From: INTEL CORPORATION
To: HYUNDAI MOTOR COMPANY; KIA CORPORATION
Reel/Frame 067737/0094 →
Continuity (5)
Continuation 16142468 · Sep 26, 2018
Continuation In Part PCTUS2018040390 · Jun 29, 2018
Provisional Application 62691464 · Jun 28, 2018
Provisional Application 62611536 · Dec 28, 2017
Related Publication 20220180651A1 · Jun 9, 2022