IP Library Granted Patent US 9,396,586
Granted Patent B2
US 9,396,586 · App. 14/213,531 · Granted Jul 19, 2016

Processing and/or transmitting 3D data

Inventors: Matthew Tschudy Bell (Palo Alto, CA); David Alan Gausebeck (Mountain View, CA); Gregory William Coombe (Mountain View, CA); Daniel Ford (Mountain View, CA)
Assignee: Matterport, Inc.
G06T17/20G06T2210/04G06T2210/08G06T2210/36H04N21/2362
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 9,396,586
App. No.
14/213,531
Granted
Jul 19, 2016
Kind
B2
Abstract

Systems and techniques for processing and/or transmitting three-dimensional (3D) data are presented. A partitioning component receives captured 3D data associated with a 3D model of an interior environment and partitions the captured 3D data into at least one data chunk associated with at least a first level of detail and a second level of detail. A data component stores 3D data including at least the first level of detail and the second level of detail for the at least one data chunk. An output component transmits a portion of data from the at least one data chunk that is associated with the first level of detail or the second level of detail to a remote client device based on information associated with the first level of detail and the second level of detail.

Claims (38)

1. A system, comprising:

a memory storing computer executable components; and

a processor configured to execute the following computer executable components stored in the memory:

a partitioning component that receives captured three-dimensional (3D) data associated with a 3D model of an interior environment and partitions the captured 3D data into at least one data chunk associated with an architectural element for the 3D model and at least a first level of detail and a second level of detail;

a data component that stores 3D data including at least the first level of detail and the second level of detail for the at least one data chunk; and

an output component that transmits, to a remote client, a portion of data of the at least one data chunk that is associated with the first level of detail prior to another portion of data of the at least one data chunk that is associated with the second level of detail as a function of geometry information and texture information for the at least one data chunk associated with the architectural element for the 3D model.

2. The system of claim 1 , further comprising a selection component that selects the portion of data for transmission, to the remote device, prior to the other portion of the data as a function of the geometry information and the texture information.

3. The system of claim 2 , wherein the selection component is implemented on the remote client device.

4. The system of claim 2 , wherein the selection component selects the portion of the data based on mesh complexity of the at least one data chunk associated with the architectural element for the 3D model.

5. The system of claim 2 , wherein the selection component selects a low resolution version of the at least one data chunk for transmission, to the remote device, prior to a higher resolution version of the at least one data chunk as a function of the geometry information and the texture information.

6. The system of claim 2 , wherein the selection component selects the portion of the data for transmission, to the remote device, prior to the other portion of the data as a function of position data associated with a rendering of the 3D model on the remote client device.

7. The system of claim 2 , wherein the selection component selects the portion of the data for transmission, to the remote device, prior to the other portion of the data as a function of a view frustum associated with a rendering of the 3D model on the remote client device.

8. The system of claim 2 , wherein the selection component selects the portion of the data as a function of a history of position data associated with a rendering of the 3D model on the remote client device.

9. The system of claim 2 , wherein the selection component selects the portion of the data for transmission, to the remote device, prior to the other portion of the data as a function of a visibility-based culling technique.

10. The system of claim 2 , wherein the selection component selects the portion of the data based on a previously selected level of detail associated with the at least one data chunk.

11. The system of claim 1 , wherein the partitioning component partitions the captured 3D data into the at least one data chunk based on information associated with the architectural element of the 3D model.

12. The system of claim 1 , wherein the partitioning component partitions the at least one data chunk as a room included in the 3D model of the interior environment.

13. The system of claim 1 , wherein the partitioning component associates the at least one data chunk with a hierarchical data structure that comprises one or more other data chunks.

14. The system of claim 1 , wherein the partitioning component associates the at least one data chunk with a physical object included in the 3D model.

15. A method, comprising:

employing a processor that facilitates execution of computer executable instructions stored on a non-transitory computer readable medium to implement operations, comprising:

receiving captured three-dimensional (3D) data associated with a 3D model of an indoor environment;

partitioning the captured 3D data into at least one data segment associated with an architectural element for the 3D model and multiple levels of detail;

storing 3D data including the multiple levels of detail associated with the at least one data segment in a data structure; and

transmitting, to a remote device at different instances of time, the multiple levels of detail for the at least one data segment based on an order determined as a function of geometry data or texture data associated with the at least one data segment associated with the architectural element for the 3D model.

16. The method of claim 15 , wherein the transmitting the multiple levels of detail further comprises transmitting the multiple levels of detail for the at least one data segment to the remote device based on position data and orientation data associated with a rendering of the 3D model on the remote device.

17. The method of claim 15 , wherein the partitioning comprises identifying the architectural element of the 3D model to facilitate the partitioning of the captured 3D data.

18. A hardware server, comprising: a memory storing computer executable components; and a processor configured to execute the computer executable components to: partition three-dimensional (3D) data associated with a 3D model of an interior environment into at least one data chunk associated with an architectural element for the 3D model and multiple levels of detail, store the multiple levels of detail associated with the at least one data chunk in a data structure, and transmit, to a remote device at various instances of time, the multiple levels of detail associated with the at least one data chunk based on a transmission order determined as a function of geometry data and texture data associated with the at least one data chunk associated with the architectural element for the 3D model.

19. The hardware server of claim 18 , wherein the processor is further configured to execute the computer executable components to: determine the transmission order for the multiple levels of detail based on feedback data associated with the remote device.

20. The hardware server of claim 18 , wherein the remote device determines the transmission order for the multiple levels of detail based on the geometry data and the texture data, receives the multiple levels of detail associated with the at least one data chunk from the hardware server based on the transmission order, and renders at least a portion of the 3D model based on the multiple levels of detail associated with the at least one data chunk.

21. A system, comprising:

a memory storing computer executable components; and

a processor configured to execute the following computer executable components stored in the memory:

a partitioning component that receives captured three-dimensional (3D) data associated with a 3D model of an interior environment and partitions the captured 3D data into a data chunk associated with a level of detail and a plurality of other data chunks associated with other levels of detail, wherein the data chunk and the plurality of other data chunks are associated with an architectural element for the 3D model;

a data component that stores 3D data including at least the level of detail for the data chunk and the other levels of detail for the plurality of other data chunks; and

an output component that initially transmits the data chunk to a remote device and, during a different interval of time, subsequently transmits a portion of data from the plurality of other data chunks to the remote device based on geometry information or texture information associated with the other levels of detail.

22. The system of claim 21 , wherein the partitioning component partitions the captured 3D data into the plurality of other data chunks based on the architectural element of the 3D model.

23. The system of claim 21 , wherein the data component stores the other levels of detail for the plurality of data chunks at a greater level of detail than the level of detail for the data chunk.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2025
From: MATTERPORT, LLC
To: COSTAR REALTY INFORMATION, INC.
Reel/Frame 072938/0375 →
MERGER AND CHANGE OF NAME Recorded Sep 10, 2025
From: MATTERPORT, INC.; MATRIX MERGER SUB II LLC
To: MATTERPORT, LLC
Reel/Frame 072827/0337 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2015
From: BELL, MATTHEW TSCHUDY; GAUSEBECK, DAVID ALAN; COOMBE, GREGORY WILLIAM; FORD, DANIEL
To: MATTERPORT, INC.
Reel/Frame 035271/0689 →
Continuity (1)
Related Publication 20150262421A1 · Sep 17, 2015