IP Library › Granted Patent US 12,106,419
Granted Patent B1
US 12,106,419 · App. 17/515,321 · Granted Oct 1, 2024

Live updates in a networked remote collaboration session

Inventors: Devin Bhushan (San Jose, CA); Caelin Thomas Jackson-King (Santa Clara, CA); Stanislav Yazhenskikh (Santa Clara, CA); Jim Jiaming Zhu (Scarborough, CA)
Assignee: SPLUNK INC.
G06T15/04G06T15/08G06T17/205
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 12,106,419
App. No.
17/515,321
Granted
Oct 1, 2024
Kind
B1
Abstract

Various implementations set forth a computer-implemented method for scanning a three-dimensional (3D) environment. The method includes generating, in a first time interval, a first extended reality (XR) stream based on a first set of meshes representing a 3D environment, transmitting, to a remote device, the first XR stream for rendering a 3D representation of a first portion of the 3D environment in a remote XR environment, determining that the 3D environment has changed based on a second set of meshes representing the 3D environment and generated subsequent to the first time interval, generating a second XR stream based on the second set of meshes, and transmitting, to the remote device, the second XR stream for rendering a 3D representation of at least a portion of the changed 3D environment in the remote XR environment.

Claims (53)

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

generating, in a first time interval, a first extended reality (XR) stream based on a first set of meshes representing a 3D environment;

transmitting, by a processor to a remote device, the first XR stream for rendering a 3D representation of the 3D environment in a remote XR environment;

computing a difference value between (i) a second set of meshes that represent the 3D environment and that were generated subsequent to the first time interval and (ii) the first set of meshes, wherein the difference value is computed based on a difference between a first index for the first set of meshes and a second index for the second set of meshes;

in response to determining that the difference value is above an update threshold, generating, by the processor, a second XR stream based on the second set of meshes; and

transmitting, by the processor to the remote device, the second XR stream for rendering a 3D representation of a changed 3D environment in the remote XR environment.

2. The computer-implemented method of claim 1 , wherein a portion of the 3D environment is not changed when generating the second XR stream.

3. The computer-implemented method of claim 1 , further comprising before determining that the 3D environment has changed, waiting until an end of the first time interval.

4. The computer-implemented method of claim 1 , further comprising setting a boundary within the 3D environment, wherein the second set of meshes are included within the boundary.

5. The computer-implemented method of claim 1 , wherein:

computing the difference value comprises computing a first Hausdorff distance between the first set of meshes and the second set of meshes; and

determining that the difference value is above the update threshold comprises comparing the first Hausdorff distance to the update threshold.

6. The computer-implemented method of claim 1 , wherein:

the first XR stream is generated from first frame data generated during the first time interval,

the second XR stream is generated from second frame data during a second time interval, and

the first frame data is different than the second frame data.

7. The computer-implemented method of claim 1 , wherein the second XR stream includes geometry data associated with the second set of meshes, the geometry data including (i) a set of vertices, (ii) a set of faces comprising edges between pairs of vertices, and (iii) texture data correlated to the set of faces.

8. The computer-implemented method of claim 1 , further comprising:

generating, based on sensor data captured by sensors on a mobile device, a set of frames that include three-dimensional data and two-dimensional data representing the 3D environment; and

storing the set of frames in a frame list configured to store multiple frames.

9. The computer-implemented method of claim 8 , further comprising computing, for a first frame in the set of frames, a frame score associated with the frame providing texture data for at least a portion of the second set of meshes.

10. The computer-implemented method of claim 1 , further comprising:

generating mesh metadata associated with a portion of the second set of meshes,

wherein two-dimensional data representing the 3D environment is correlated with the second set of meshes based on the mesh metadata.

11. The computer-implemented method of claim 10 , further comprising:

generating, based on the mesh metadata, updated texture data associated with the second set of meshes; and

wherein the updated texture data is applied to corresponding portions of the second set of meshes.

12. The computer-implemented method of claim 1 , wherein generating the first XR stream comprises:

generating, based on first sensor data captured by a depth sensor on a mobile device, three-dimensional data representing the 3D environment;

generating, based on second sensor data captured by an image sensor on the mobile device, two-dimensional data representing the 3D environment; and

combining, based on a correlation the three-dimensional data and the two-dimensional data, the two-dimensional data and the three-dimensional data into the first XR stream.

13. The computer-implemented method of claim 1 , further comprising:

generating the second set of meshes;

generating mesh metadata associated with the second set of meshes; and

updating, based on the mesh metadata, geometry data for the second set of meshes, wherein the geometry data for the second set of meshes is included in the second XR stream.

14. The computer-implemented method of claim 1 , wherein the first index or the second index comprises at least one of a curvature index, a distance index, or a volume index.

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

generating, in a first time interval, a first extended reality (XR) stream based on a first set of meshes representing a 3D environment;

transmitting, by a processor to a remote device, the first XR stream for rendering a 3D representation of the 3D environment in a remote XR environment;

computing a difference value between (i) a second set of meshes that represent the 3D environment and that were generated subsequent to the first time interval and (ii) the first set of meshes, wherein the difference value is computed based on a difference between a first index for the first set of meshes and a second index for the second set of meshes;

in response to determining that the difference value is above an update threshold, generating, by the processor, a second XR stream based on the second set of meshes; and

transmitting, by the processor to the remote device, the second XR stream for rendering a 3D representation of a changed 3D environment in the remote XR environment.

16. The one or more non-transitory computer readable media of claim 15 , wherein a portion of the 3D environment is not changed when generating the second XR stream.

17. The one or more non-transitory computer readable media of claim 15 , further comprising before determining that the 3D environment has changed, waiting until an end of the first time interval.

18. A computer system, comprising:

a memory storing instructions; and

a processor for executing the instructions to:

generate, in a first time interval, a first extended reality (XR) stream based on a first set of meshes representing a 3D environment;

transmit, to a remote device, the first XR stream for rendering a 3D representation of the 3D environment in a remote XR environment;

computing a difference value between (i) a second set of meshes that represent the 3D environment and that were generated subsequent the first time interval and (ii) the first set of meshes, wherein the difference value is computed based on a difference between a first index for the first set of meshes and a second index for the second set of meshes;

in response to determining that the difference value is above an update threshold, generate a second XR stream based on the second set of meshes; and

transmit, to the remote device, the second XR stream for rendering a 3D representation of at least a portion of a changed 3D environment in the remote XR environment.

19. The computer system of claim 18 , wherein a portion of the 3D environment is not changed when generating the second XR stream.

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 Jul 26, 2022
From: BHUSHAN, DEVIN; JACKSON-KING, CAELIN THOMAS; YAZHENSKIKH, STANISLAV; ZHU, JIM JIAMING
To: SPLUNK INC.
Reel/Frame 060621/0924 →
Continuity (5)
Provisional Application 63182473 · Apr 30, 2021
Provisional Application 63158303 · Mar 8, 2021
Provisional Application 63157527 · Mar 5, 2021
Provisional Application 63154605 · Feb 26, 2021
Provisional Application 63151031 · Feb 18, 2021
Cited By (2)
US 12,417,074 US 12,730,834