IP Library › Granted Patent US 11,651,571
Granted Patent B1
US 11,651,571 · App. 17/479,946 · Granted May 16, 2023

Mesh updates via mesh splitting

Inventors: Devin Bhushan (San Jose, CA); Seunghee Han (San Jose, CA); Caelin Thomas Jackson-King (Santa Clara, CA); Jamie Kuppel (Sunnyvale, CA); Stanislav Yazhenskikh (Santa Clara, CA); Jim Jiaming Zhu (Scarborough, CA)
Assignee: SPLUNK INC.
G06T19/006G01S17/89G06T15/04G06T17/20
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,651,571
App. No.
17/479,946
Filed
Sep 20, 2021
Granted
May 16, 2023
Kind
B1
Art Unit
2611
USPC
345/633
Abstract

Various implementations or examples set forth a method for scanning a three-dimensional (3D) environment. The method includes generating, based on sensor data captured by a depth sensor on a device, a 3D mesh representing a physical space; dividing the 3D mesh into a plurality of sub-meshes, wherein each of the plurality of sub-meshes comprises a corresponding set of vertices and a corresponding set of faces comprising edges between pairs of vertices; determining that at least a portion of a first sub-mesh in the plurality of sub-meshes is in a current frame captured by an image sensor on the device; and updating the 3D mesh by texturing the at least a portion of the first sub-mesh with one or more pixels in the current frame onto which the first sub-mesh is projected.

Claims (46)

1. A method for scanning a three-dimensional (3D) environment, comprising:

generating a 3D mesh including a set of vertices and a set of faces formed from edges between pairs of vertices in the set of vertices;

dividing the 3D mesh into a plurality of sub-meshes;

determining that at least a portion of a first sub-mesh in the plurality of sub-meshes is in an updated frame; and

updating the 3D mesh by texturing the at least a portion of the first sub-mesh with one or more pixels in the updated frame onto which the first sub-mesh is projected.

2. The method of claim 1 , wherein:

the 3D mesh represents a physical space;

the 3D mesh is based on sensor data of captured by a depth sensor included in a first device; and

the first device is proximal to the physical space.

3. The method of claim 2 , wherein the first device captures the updated frame in the physical space.

4. The method of claim 1 , further comprising transmitting at least the textured first sub-mesh to a remote device.

5. The method of claim 1 , further comprising transmitting a stream comprising the textured first sub-mesh to a distributed messaging system for receipt by one or more remote devices.

6. The method of claim 1 , wherein dividing the 3D mesh into the plurality of sub-meshes comprises:

populating a plurality of face arrays representing the plurality of sub-meshes with disjoint subsets of faces in the 3D mesh,

wherein each of the plurality of face arrays comprises an ordering of a subset of faces from a face array for the 3D mesh.

7. The method of claim 1 , wherein determining that the at least a portion of the first sub-mesh is in the updated frame comprises projecting one or more vertices of the first sub-mesh onto one or more pixel locations in the updated frame.

8. The method of claim 1 , wherein determining that the at least a portion of the first sub-mesh is in the updated frame comprises determining that the first sub-mesh includes at least one vertex that falls within the updated frame.

9. The method of claim 1 , wherein texturing the at least a portion of the first sub-mesh comprises assigning one or more texture coordinates to one or more vertices of the first sub-mesh based on projection of the one or more vertices to the one or more pixels in the updated frame.

10. The method of claim 1 , wherein updating the 3D mesh further comprises discarding an older version of the first sub-mesh that is textured using a previous frame.

11. The method of claim 1 , wherein updating the 3D mesh comprises overlaying an untextured version of the first sub-mesh with the textured at least a portion of the first sub-mesh.

12. The method of claim 1 , wherein the plurality of sub-meshes are contiguous.

13. The method of claim 1 , further comprising one or more depth sensors that captures sensor data, wherein:

the 3D mesh represents a physical space;

the 3D mesh is based on the sensor data; and

the depth sensor is proximal to the physical space.

14. A computing device, comprising:

a memory that includes an application; and

a processor that is coupled to the memory, and when executing the application, performs the steps of:

generating a 3D mesh including a set of vertices and a set of faces formed from edges between pairs of vertices in the set of vertices;

dividing the 3D mesh into a plurality of sub-meshes;

determining that at least a portion of a first sub-mesh in the plurality of sub-meshes is in an updated frame; and

updating the 3D mesh by texturing the at least a portion of the first sub-mesh with one or more pixels in the updated frame onto which the first sub-mesh is projected.

15. The computing device of claim 14 , wherein the processor further performs transmitting a stream comprising the updated 3D mesh to a distributed messaging system for receipt by one or more remote devices that render the 3D mesh in an augmented reality environment.

16. The computing device of claim 14 , wherein dividing the 3D mesh into the plurality of sub-meshes comprises:

populating a plurality of face arrays representing the plurality of sub-meshes with disjoint subsets of faces in the 3D mesh,

wherein each of the plurality of face arrays comprises an ordering of a subset of faces from a face array for the 3D mesh.

17. The computing device of claim 14 , wherein determining that the at least a portion of the first sub-mesh is in the updated frame comprises determining that the first sub-mesh includes at least one vertex that falls within the updated frame.

18. The computing device of claim 14 , wherein updating the 3D mesh comprises:

discarding an older version of the first sub-mesh that is textured using a previous frame; and

overlaying an untextured version of a second sub-mesh with a textured version of the second sub-mesh, wherein the textured version of the second sub-mesh is textured with one or more additional pixels in the updated frame onto which the second sub-mesh is projected.

19. One or more non-transitory computer readable media storing instructions that, when executed by a processor, cause the processor to perform the steps of:

generating a 3D mesh including a set of vertices and a set of faces formed from edges between pairs of vertices in the set of vertices;

dividing the 3D mesh into a plurality of sub-meshes;

determining that at least a portion of a first sub-mesh in the plurality of sub-meshes is in an updated frame; and

updating the 3D mesh by texturing the at least a portion of the first sub-mesh with one or more pixels in the updated frame onto which the first sub-mesh is projected.

20. The one or more non-transitory computer readable media of claim 19 , wherein determining that the at least a portion of the first sub-mesh is in the updated frame comprises determining that the first sub-mesh includes at least one vertex that falls within the updated frame.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2021
From: BHUSHAN, DEVIN; HAN, SEUNGHEE; JACKSON-KING, CAELIN THOMAS; KUPPEL, JAMIE; YAZHENSKIKH, STANISLAV; ZHU, JIM JIAMING
To: SPLUNK INC.
Reel/Frame 057721/0680 →
Continuity (4)
Continuation 17086302 · Oct 30, 2020
Provisional Application 63093143 · Oct 16, 2020
Provisional Application 63093111 · Oct 16, 2020
Provisional Application 63093123 · Oct 16, 2020
Cited By (2)
US 12,493,615 US 12,608,370