IP Library Granted Patent US 11,625,864
Granted Patent B2
US 11,625,864 · App. 17/057,539 · Granted Apr 11, 2023

Compression of dynamic unstructured point clouds

Inventors: Henry Engelland-Gay (Santa Monica, CA); Clay Heins (San Francisco, CA)
Assignee: MAGIC LEAP, INC.
G06T9/001G06T3/40G06T17/20G06T19/006
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,625,864
App. No.
17/057,539
Granted
Apr 11, 2023
Kind
B2
Abstract

Systems and methods for compressing dynamic unstructured point clouds. A plurality of destructive images of a dynamic unstructured point cloud can be captured from a plurality of viewpoints using one or more virtual cameras. One or more sequences of the destructive images can be formed. The one or more sequences of destructive images can then be compressed.

Claims (94)

1. A method comprising:

capturing a plurality of destructive images of a dynamic unstructured point cloud from a plurality of viewpoints using one or more virtual cameras;

forming one or more sequences of the destructive images; and

compressing the one or more sequences of destructive images.

2. The method of claim 1 , wherein the dynamic unstructured point cloud comprises a sequence of multiple static unstructured point clouds.

3. The method of claim 2 , further comprising, for each static unstructured point cloud in the sequence, capturing the plurality of destructive images from the plurality of viewpoints using the one or more virtual cameras.

4. The method of claim 3 , wherein capturing each of the plurality of destructive images of each of the static unstructured point clouds comprises:

identifying points in the static unstructured point cloud which belong to a surface that is visible to one of the one or more virtual cameras;

forward-projecting the identified points into an image plane of the virtual camera; and

eliminating the identified points from the static unstructured point cloud.

5. The method of claim 3 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence comprises:

capturing a first destructive image from a first viewpoint of the static unstructured point cloud; and

capturing a second destructive image from a second viewpoint of the static unstructured point cloud that is the antipode of the first viewpoint.

6. The method of claim 5 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence further comprises:

capturing a third destructive image from a third viewpoint of the static unstructured point cloud; and

capturing a fourth destructive image from a fourth viewpoint of the static unstructured point cloud that is the antipode of the third viewpoint,

wherein a first axis between the first and second viewpoints is orthogonal to a second axis between the third and fourth viewpoints.

7. The method of claim 6 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence further comprises:

capturing a fifth destructive image from a fifth viewpoint of the static unstructured point cloud; and

capturing a sixth destructive image from a sixth viewpoint of the static unstructured point cloud that is the antipode of the fifth viewpoint,

wherein a third axis between the fifth and sixth viewpoints is orthogonal to the first and second axes.

8. The method of claim 7 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence further comprises iteratively capturing destructive images from the first through sixth viewpoints until no points remain in the static unstructured point cloud.

9. The method of claim 7 , further comprising using the same first through sixth viewpoints for each static unstructured point cloud in the sequence.

10. The method of claim 9 , further comprising capturing the first through sixth destructive images from the first through sixth viewpoints in the same order for each static unstructured point cloud in the sequence.

11. The method of claim 5 , further comprising selecting the first viewpoint by:

determining, for a plurality of candidate viewpoints, a corresponding plurality of indicators of the average area of destructive images taken of the dynamic unstructured point cloud from the plurality of candidate viewpoints; and

selecting the candidate viewpoint corresponding to the largest average area.

12. The method of claim 6 , further comprising selecting the third viewpoint by:

determining, for a plurality of candidate viewpoints, a corresponding plurality of indicators of the average area of destructive images taken of the dynamic unstructured point cloud from the plurality of candidate viewpoints; and

selecting the candidate viewpoint corresponding to the largest average area,

wherein the candidate viewpoints all lie in a disk that is orthogonal to the first axis between the first and second viewpoints.

13. The method of claim 3 , further comprising, for each of the static unstructured point clouds in the sequence, assembling the destructive images into a master image.

14. The method of claim 13 , further comprising forming a sequence of the respective master images for the static unstructured point clouds in the sequence, wherein compressing the sequence of destructive images comprises compressing the sequence of master images.

15. The method of claim 13 , wherein assembling the master images for the static unstructured point clouds in the sequence comprises using a master image template which specifies the positions of the destructive images based on the respective viewpoints from which the destructive images were captured.

16. The method of claim 13 , wherein assembling the master image for each of the static unstructured point clouds in the sequence comprises using a master image template which specifies the positions of the destructive images based on respective identifications of an iterative round of destruction during which the destructive images were captured.

17. The method of claim 1 , wherein the destructive images comprise red-green-blue-depth (RGBD) images.

18. The method of claim 1 , wherein compressing the sequence of destructive images comprises using the H.264 standard, the H.265 standard, or the QuickTime RLS standard.

19. The method of claim 3 , further comprising decoding the compressed dynamic unstructured point cloud to an uncompressed format using metadata for the plurality of destructive images, the metadata for each destructive image comprising:

an identification of the virtual camera which captured the destructive image;

an identification of the viewpoint of the virtual camera which captured the destructive image;

an intrinsic parameter of the virtual camera which captured the destructive image;

an identification of the static unstructured point cloud in the sequence to which the destructive image corresponds; or

an identification of an iterative round of destruction during which the destructive image was captured.

20. The method of claim 19 , further comprising providing the decoded dynamic unstructured point cloud to a virtual reality, augmented reality, or mixed reality display system for viewing by a user.

21. A system comprising:

a hardware computing device; and

a memory configured to store a dynamic unstructured point cloud and instructions which, when executed by the hardware computing device, cause the hardware computing device to perform a method comprising:

capturing a plurality of destructive images of the dynamic unstructured point cloud from a plurality of viewpoints using one or more virtual cameras;

forming one or more sequences of the destructive images; and

compressing the one or more sequences of destructive images.

22. The system of claim 21 , wherein the dynamic unstructured point cloud comprises a sequence of multiple static unstructured point clouds.

23. The system of claim 22 , wherein the method performed by the hardware computing device further comprises, for each static unstructured point cloud in the sequence, capturing the plurality of destructive images from the plurality of viewpoints using the one or more virtual cameras.

24. The system of claim 23 , wherein capturing each of the plurality of destructive images of each of the static unstructured point clouds comprises:

identifying points in the static unstructured point cloud which belong to a surface that is visible to one of the one or more virtual cameras;

forward-projecting the identified points into an image plane of the virtual camera; and

eliminating the identified points from the static unstructured point cloud.

25. The system of claim 23 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence comprises:

capturing a first destructive image from a first viewpoint of the static unstructured point cloud; and

capturing a second destructive image from a second viewpoint of the static unstructured point cloud that is the antipode of the first viewpoint.

26. The system of claim 25 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence further comprises:

capturing a third destructive image from a third viewpoint of the static unstructured point cloud; and

capturing a fourth destructive image from a fourth viewpoint of the static unstructured point cloud that is the antipode of the third viewpoint,

wherein a first axis between the first and second viewpoints is orthogonal to a second axis between the third and fourth viewpoints.

27. The system of claim 26 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence further comprises:

capturing a fifth destructive image from a fifth viewpoint of the static unstructured point cloud; and

capturing a sixth destructive image from a sixth viewpoint of the static unstructured point cloud that is the antipode of the fifth viewpoint,

wherein a third axis between the fifth and sixth viewpoints is orthogonal to the first and second axes.

28. The system of claim 27 , wherein capturing the plurality of destructive images for each static unstructured point cloud in the sequence further comprises iteratively capturing destructive images from the first through sixth viewpoints until no points remain in the static unstructured point cloud.

29. The system of claim 27 , wherein the method performed by the hardware computing device further comprises using the same first through sixth viewpoints for each static unstructured point cloud in the sequence.

30. The system of claim 29 , wherein the method performed by the hardware computing device further comprises capturing the first through sixth destructive images from the first through sixth viewpoints in the same order for each static unstructured point cloud in the sequence.

31. The system of claim 25 , wherein the method performed by the hardware computing device further comprises selecting the first viewpoint by:

determining, for a plurality of candidate viewpoints, a corresponding plurality of indicators of the average area of destructive images taken of the dynamic unstructured point cloud from the plurality of candidate viewpoints; and

selecting the candidate viewpoint corresponding to the largest average area.

32. The system of claim 26 , wherein the method performed by the hardware computing device further comprises selecting the third viewpoint by:

determining, for a plurality of candidate viewpoints, a corresponding plurality of indicators of the average area of destructive images taken of the dynamic unstructured point cloud from the plurality of candidate viewpoints; and

selecting the candidate viewpoint corresponding to the largest average area,

wherein the candidate viewpoints all lie in a disk that is orthogonal to the first axis between the first and second viewpoints.

33. The system of claim 23 , wherein the method performed by the hardware computing device further comprises, for each of the static unstructured point clouds in the sequence, assembling the destructive images into a master image.

34. The system of claim 33 , wherein the method performed by the hardware computing device further comprises forming a sequence of the respective master images for the static unstructured point clouds in the sequence, wherein compressing the sequence of destructive images comprises compressing the sequence of master images.

35. The system of claim 33 , wherein assembling the master images for the static unstructured point clouds in the sequence comprises using a master image template which specifies the positions of the destructive images based on the respective viewpoints from which the destructive images were captured.

36. The system of claim 33 , wherein assembling the master image for each of the static unstructured point clouds in the sequence comprises using a master image template which specifies the positions of the destructive images based on respective identifications of an iterative round of destruction during which the destructive images were captured.

37. The system of claim 21 , wherein the destructive images comprise red-green-blue-depth (RGBD) images.

38. The system of claim 21 , wherein compressing the sequence of destructive images comprises using the H.264 standard, the H.265 standard, or the QuickTime RLS standard.

39. The system of claim 23 , wherein the method performed by the hardware computing device further comprises decoding the compressed dynamic unstructured point cloud to an uncompressed format using metadata for the plurality of destructive images, the metadata for each destructive image comprising:

an identification of the virtual camera which captured the destructive image;

an identification of the viewpoint of the virtual camera which captured the destructive image;

an intrinsic parameter of the virtual camera which captured the destructive image;

an identification of the static unstructured point cloud in the sequence to which the destructive image corresponds; or

an identification of an iterative round of destruction during which the destructive image was captured.

40. The system of claim 39 , further comprising a virtual reality, augmented reality, or mixed reality display system, wherein the method performed by the hardware computing device further comprises providing the decoded dynamic unstructured point cloud to the virtual reality, augmented reality, or mixed reality display system for viewing by a user.

41. A non-transitory computer-readable medium which, when read by a hardware computing device, causes the hardware computing device to perform a method comprising:

capturing a plurality of destructive images of a dynamic unstructured point cloud from a plurality of viewpoints using one or more virtual cameras;

forming one or more sequences of the destructive images; and

compressing the one or more sequences of destructive images.

Assignments (2)
SECURITY INTEREST Recorded Oct 15, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073109/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2020
From: ENGELLAND-GAY, HENRY; HEINS, CLAY
To: MAGIC LEAP, INC.
Reel/Frame 054744/0323 →