IP Library › Granted Patent US 11,367,246
Granted Patent B2
US 11,367,246 · App. 16/326,694 · Granted Jun 21, 2022

Operations using sparse volumetric data

Inventors: David Macdara Moloney (Dublin, IE); Jonathan David Byrne (Ashbourne, IE)
Assignee: MOVIDIUS LTD.
G06T15/08G01C21/20G01C21/30G05D1/0214G05D1/0274G06F9/30029G06F17/16G06N3/04G06N3/0454G06T1/20G06T15/06G06T17/005G06T17/05G06T19/00G06T19/006G06V20/13G06V20/64G06N3/0481G06T2200/04G06T2200/28G06T2210/08G06T2210/36G06T2219/004
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,367,246
App. No.
16/326,694
Granted
Jun 21, 2022
Kind
B2
Abstract

A volumetric data structure models a particular volume representing the particular volume at a plurality of levels of detail. A first entry in the volumetric data structure includes a first set of bits representing voxels at a first level of detail, the first level of detail includes the lowest level of detail in the volumetric data structure, values of the first set of bits indicate whether a corresponding one of the voxels is at least partially occupied by respective geometry, where the volumetric data structure further includes a number of second entries representing voxels at a second level of detail higher than the first level of detail, the voxels at the second level of detail represent subvolumes of volumes represented by voxels at the first level of detail, and the number of second entries corresponds to a number of bits in the first set of bits with values indicating that a corresponding voxel volume is occupied.

Claims (38)

1. An apparatus comprising:

a data processing apparatus;

a memory to store a volumetric data structure in a block of contiguous memory, wherein the volumetric data structure is to model a particular volume, the volumetric data structure represents the particular volume at a plurality of levels of detail, a first entry in the volumetric data structure comprises a first set of bits in the block of contiguous memory representing voxels at a first level of detail, the first level of detail comprises the lowest level of detail in the volumetric data structure, values of the first set of bits indicate whether a corresponding one of the voxels is at least partially occupied by respective geometry, wherein the volumetric data structure further comprises a number of second entries in the block of contiguous memory, each of the number of second entries comprises a respective second set of bits representing voxels at a second level of detail higher than the first level of detail, the voxels at the second level of detail represent subvolumes of volumes represented by voxels at the first level of detail, and the number of second entries corresponds to a number of bits in the first set of bits with values indicating that a corresponding voxel volume is occupied, wherein the first entry and the one or more second entries comprise contiguous entries within the volumetric data structure such that a final bit in the first set of bits immediately precedes a first bit in a first one of the second entries, wherein the final bit in the first set of bits indicates whether a final one of the voxels at the first level of detail is occupied, and the first bit in the first one of the second entries indicates whether a first one of the voxels at the second level of detail in the subvolume represented by the first one of the second entries is occupied; and

circuitry to:

identify a first occupied bit in the first set of bits, wherein the first occupied bit represents that a corresponding particular voxel at the first level of detail is occupied;

determine, based on the first occupied bit, that the first one of the second entries immediately succeeds the final bit in the first set of bits in the contiguous memory;

use the volumetric data structure to identify the geometry within the particular volume; and

determine a path for physical navigation through the particular volume based on the identified geometry.

2. The apparatus of claim 1 , wherein subvolumes comprise first subvolumes, the second entries comprise values to indicate whether a corresponding voxel at the second level of detail is occupied with geometry, the volumetric data structure further comprises one or more third entries representing voxels at a third level of detail higher than the second level of detail, the voxels at the third level of detail represent subvolumes of the first subvolumes represented by voxels at the second level of detail, and the number of third entries corresponds to a number of bits in the second set of bits with values indicating that a corresponding voxel volume is occupied, wherein the third entries are contiguous with a last of the second entries in the volumetric data structure.

3. The apparatus of claim 2 , further comprising logic to determine a beginning of the third level based on the number of bits in the first set of bits with values indicating that a corresponding voxel volume at the first level of detail is occupied.

4. The apparatus of claim 1 , wherein each voxel in the first level of detail is represented by two or more respective bits in the first entry.

5. The apparatus of claim 1 , wherein determining the path comprises:

determining a ray intersecting the particular volume;

determining a subset of the voxels at the first level of detail through which the ray passes;

determining that the ray meets a particular voxel in the subset of voxels representing occupied space based on a value of a corresponding bit in the first entry indicating that the particular voxel is occupied with geometry.

6. The apparatus of claim 5 , wherein the logic is further to:

identify a particular one of the second entries corresponding to the particular voxel, based on determining that the ray meets the particular voxel;

determine that the ray passes through a subset of voxels at the second level of detail; and

determine, from values of bits in the particular second entry, whether the ray meets a voxel at the second level of detail occupied with geometry.

7. The apparatus of claim 1 , wherein determining the path comprises identifying a set of empty voxels in the particular volume, and the path corresponds to a free path through the particular volume corresponding to the set of empty voxels.

8. The apparatus of claim 7 , wherein the free path comprises a three-dimensional (3D) free path, and the path finding logic is further to:

convert the 3D free path to a two-dimensional (2D) free path representation; and

generate 2D path map data describing the 2D free path representation.

9. The apparatus of claim 1 , wherein the operation comprises an operation defined in a convolutional neural network (CNN), and apparatus further comprises:

machine learning logic to provide the volumetric data structure as an input to a particular layer of the CNN, wherein the operation comprises one or more arithmetic operations associated with the particular layer; and

a controller to:

determine a subset of voxels of empty space in the particular volume represented as empty space in the volumetric data structure; and

omit the arithmetic operations corresponding to bits representing the subset of voxels in the volumetric data structure.

10. The apparatus of claim 1 , further comprising logic to:

identify a change in geometry within the particular volume; and

modify corresponding bits of the entries to reflect the change in geometry.

11. The apparatus of claim 1 , wherein each entry in the volumetric data structure comprises an entry 64 bits in length.

12. The apparatus of claim 11 , wherein the voxels at the first level of detail comprise sixty-four voxels, the voxels at the second level of detail comprise sixty-four voxels for each voxel in the first level of detail.

13. The apparatus of claim 1 , wherein the operation comprises rendering the geometry of the particular volume in a two-dimensional graphical presentation for display on a display device.

14. The apparatus of claim 1 , wherein determining the path comprises performing a 3D inference using the volumetric data structure as an input to a convolutional neural network to identify an object within the geometry and the path is determined to avoid the object.

15. The apparatus of claim 1 , wherein values of each second set of bits indicate whether a corresponding one of the voxels at the second level of details is at least partially occupied by respective geometry.

16. The apparatus of claim 15 , wherein the first entry consists of the first set of bits and each of the one or more second entries consists of the corresponding second set of bits.

17. The apparatus of claim 1 , wherein the first entry does not include a separate index bits to point to entries in the one or more second entries.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2020
From: MOLONEY, DAVID MACDARA; BYRNE, JONATHAN DAVID
To: LINEAR ALGEBRA TECHNOLOGIES LIMITED
Reel/Frame 054233/0337 →
Continuity (2)
Provisional Application 62377471 · Aug 19, 2016
Related Publication 20190180409A1 · Jun 13, 2019
Cited By (4)
US 12,320,649 US 12,327,320 US 12,505,330 US 12,613,097