IP Library Granted Patent US 12,335,521
Granted Patent B2
US 12,335,521 · App. 17/791,635 · Granted Jun 17, 2025

In-tree geometry quantization of point clouds

Inventors: David Flynn (Cupertino, CA); Khaled Mammou (Cupertino, CA); Fabrice A. Robinet (Cupertino, CA)
Assignee: Apple Inc.
H04N19/597G06T15/00H04N19/124H04N19/167H04N19/182H04N19/96
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,335,521
App. No.
17/791,635
Granted
Jun 17, 2025
Kind
B2
Abstract

An example device includes one or more processors, and memory storing instructions that when executed by the processors, cause the processors to receive points that represent a point cloud in three-dimensional space, and generate a data structure representing the point cloud. Generating the data structure includes encoding a position of each point in each dimension as a sequence of bits according to a tree data structure; partitioning each of the sequences into two or more portions according to a scaling depth; determining that a subset of the points is spatially isolated from a remainder of the points; quantizing each of the portions associated with the subset of the points according to a first quantization step size; quantizing each of the portions associated with the remainder of the points according to a second quantization step size; and including the quantized portions in the data structure.

Claims (56)

1. A method comprising:

receiving, by a computer system, a data structure representing a point cloud in three-dimensional space, the point cloud having a plurality of points,

wherein the data structure comprises, for each point, a sequence of bits encoding a position of the point in each dimension of the three-dimensional space, wherein the position of the point is encoded according to a tree data structure representing a plurality of octants of space,

wherein, for a subset of the points, the corresponding sequences of bits represent an explicit signaling of the positions of the subset of the points relative to one or more reference points in the tree data structure according to a direct coding mode, and are quantized according to a first quantization step size,

wherein, for a remainder of the points, the corresponding sequences of bits represent the positions of the remainder of the points according to the tree data structure and without the direct coding mode, and are quantized according to a second quantization step size, wherein the first quantization step size is different from the second quantization step size,

wherein the subset of the points occupy one or more first octants of space of the plurality of octants of space, and

wherein each of the one or more first octants of space are surrounded by respective unoccupied octants of space of the plurality of octants of space,

determining, by the computer system, the position of each of the points based on the data structure, wherein determining the position of each of the points comprises:

for a subset of the points:

decoding the corresponding sequence of bits according to the direct coding mode to determine first position information representing the positions of the subset of the points relative to the one or more reference points, and

scaling the first position information by the first quantization step size, and for the remainder of the points:

decoding the corresponding sequence of bits to determine second position information representing the positions of the remaining of the points according to the tree data structure, and

dequantizing the second position information according to the second quantization step size; and

outputting, by the computer system, the determined positions of each of the points.

2. The method of claim 1 , wherein determining the position of each of the points based on the data structure comprises retrieving an indication of the first quantization step size from a header in the data structure, and

determining the position of each of the points of the subset of points based on the first quantization step size.

3. The method of claim 1 , wherein the tree data structure is an octree.

4. The method of claim 1 , further comprising rendering three-dimensional content based on the determined positions of each of the points, wherein the three-dimensional content is at least one of virtual reality content or augmented reality content.

5. A device comprising:

one or more processors; and

memory storing instructions that when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a data structure representing a point cloud in three-dimensional space, the point cloud having a plurality of points,

wherein the data structure comprises, for each point, a sequence of bits encoding a position of the point in each dimension of the three-dimensional space, wherein the position of the point is encoded according to a tree data structure representing a plurality of octants of space,

wherein, for a subset of the points, the corresponding sequences of bits represent an explicit signaling of the positions of the subset of the points relative to one or more reference points in the tree data structure according to a direct coding mode, and are quantized according to a first quantization step size,

wherein, for a remainder of the points, the corresponding sequences of bits represent the positions of the remainder of the points according to the tree data structure and without the direct coding mode, and are quantized according to a second quantization step size, wherein the first quantization step size is different from the second quantization step size,

wherein the subset of the points occupy one or more first octants of space of the plurality of octants of space, and

wherein each of the one or more first octants of space are surrounded by respective unoccupied octants of space of the plurality of octants of space,

determining the position of each of the points based on the data structure, wherein determining the position of each of the points comprises:

for a subset of the points:

decoding the corresponding sequence of bits according to the direct coding mode to determine first position information representing the positions of the subset of the points relative to the one or more reference points, and

scaling the first position information by the first quantization step size, and for the remainder of the points:

decoding the corresponding sequence of bits to determine second position information representing the positions of the remaining of the points according to the tree data structure, and

dequantizing the second position information according to the second quantization step; and

outputting the determined positions of each of the points.

6. The device of claim 5 , wherein determining the position of each of the points based on the data structure comprises retrieving an indication of the first quantization step size from a header in the data structure, and

determining the position of each of the points of the subset of points based on the first quantization step size.

7. The device of claim 5 , wherein the tree data structure is an octree.

8. The device of claim 5 , the operations further comprising rendering three-dimensional content based on the determined positions of each of the points, wherein the three-dimensional content is at least one of virtual reality content or augmented reality content.

9. A non-transitory, computer-readable storage medium having instructions stored thereon, that when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving a data structure representing a point cloud in three-dimensional space, the point cloud having a plurality of points,

wherein the data structure comprises, for each point, a sequence of bits encoding a position of the point in each dimension of the three-dimensional space, wherein the position of the point is encoded according to a tree data structure representing a plurality of octants of space,

wherein, for a subset of the points, the corresponding sequences of bits represent an explicit signaling of the positions of the subset of the points relative to one or more reference points in the tree data structure according to a direct coding mode, and are quantized according to a first quantization step size,

wherein, for a remainder of the points, the corresponding sequences of bits represent the positions of the remainder of the points according to the tree data structure and without the direct coding mode, and are quantized according to a second quantization step size, wherein the first quantization step size is different from the second quantization step size,

wherein the subset of the points occupy one or more first octants of space of the plurality of octants of space, and

wherein each of the one or more first octants of space are surrounded by respective unoccupied octants of space of the plurality of octants of space,

determining the position of each of the points based on the data structure, wherein determining the position of each of the points comprises:

for a subset of the points:

decoding the corresponding sequence of bits according to the direct coding mode to determine first position information representing the positions of the subset of the points relative to the one or more reference points, and

scaling the first position information by the first quantization step size, and for the remainder of the points:

decoding the corresponding sequence of bits to determine second position information representing the positions of the remaining of the points according to the tree data structure, and

dequantizing the second position information according to the second quantization step; and

outputting the determined positions of each of the points.

10. The non-transitory, computer-readable storage medium of claim 9 , wherein determining the position of each of the points based on the data structure comprises retrieving an indication of the first quantization step size from a header in the data structure, and

determining the position of each of the points of the subset of points based on the first quantization step size.

11. The non-transitory, computer-readable storage medium of claim 9 , wherein the tree data structure is an octree.

12. The non-transitory, computer-readable storage medium of claim 9 , the operations further comprising rendering three-dimensional content based on the determined positions of each of the points, wherein the three-dimensional content is at least one of virtual reality content or augmented reality content.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2022
From: FLYNN, DAVID; MAMMOU, KHALED; ROBINET, FABRICE A.
To: APPLE INC.
Reel/Frame 060623/0820 →
Continuity (3)
Provisional Application 62959832 · Jan 10, 2020
Provisional Application 62959105 · Jan 9, 2020
Related Publication 20230046917A1 · Feb 16, 2023
References Cited (32)
US 11869223B2 · Flynn et al. · 2024 [cited by applicant]
US 20170324643A1 · Seregin et al. · 2017 [cited by applicant]
US 20180286107A1 · Hemmer et al. · 2018 [cited by applicant]
US 20190080483A1 · Mammou et al. · 2019 [cited by applicant]
US 20190095548A1 · Ioannatos et al. · 2019 [cited by applicant]
US 20190323919A1 · Fung-A Wing et al. · 2019 [cited by applicant]
US 20190325614A1 · Melkote Krishnaprasad · 2019 [cited by examiner]
US 20200366941A1 · Sugio · 2020 [cited by examiner]
US 20230053544A1 · Flynn et al. · 2023 [cited by applicant]
US 20240119641A1 · Flynn et al. · 2024 [cited by applicant]
CA 3090465 · 2019 [cited by applicant]
CA 3090465A1 · 2019 [cited by examiner]
CN 1790421 · 2006 [cited by applicant]
CN 106846425 · 2017 [cited by applicant]
CN 108335335 · 2018 [cited by applicant]
EP 3553746 · 2019 [cited by applicant]
WO WO2018182184 · 2018 [cited by applicant]
Zhang et al. (“[G-PCC] EE13.6 report on geometry quantization”, ISO/IEC JTC1/SC29/WG11 MPEG2019/m50924, Oct. 2019). A copy has been attached by Applicant on Oct. 21, 2022. (Year: 2019). [cited by examiner]
3DG, “G-PCC codec description v4”, ISO/IEC JTC1/SC29/WG11 N18673, Jul. 2019. Also cited on Applicant's IDS dated Oct. 21, 22 with copy provided by Applicant on the same date. (Year: 2019). [cited by examiner]
[No Author Listed], “G-PCC Codec Description v4,” ISO/IEC JTC1/SC29/WG11 N18673, Gothenburg, SE, Jul. 2019, 62 pages. [cited by applicant]
Flynn et al., “G-PCC CE13.29 report on in-tree geometry quantization,” ISO/IEC JCTC1/SC29/WG11 MPEP/m53389, Online, Apr. 2020, 9 pages. [cited by applicant]
Flynn et al., “G-PCC: An IDCM specific QP for in-tree geometry quantization,” ISO/IEC JCTC1/SC29/WG11 MPEG/m52523, Brussels, Belgium, Jan. 2020, 3 pages. [cited by applicant]
Flynn et al., “G-PCC: Geometry octree QP constraints, ” ISO/IEC JCTC1/SC29/WG11 MPEG/m53682, Online, Apr. 2020, 2 pages. [cited by applicant]
Flynn et al., “G-PCC: Integer step sizes for in-tree geometry quantization,” ISO/IEC JTC1/SC29/WG11 MPEG2019/m52522, Brussels, Belgium, Jan. 2020, 4 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2021/012827, mailed Jul. 21, 2022, 10 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2021/012828, mailed Jul. 21, 2022, 9 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/012827, mailed Apr. 26, 2021, 18 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/012828, mailed Apr. 8, 2021, 17 pages. [cited by applicant]
Liu et al., “A Comprehensive Study and Comparison of Core Technologies for MPEG 3D Point Cloud Compression,” IEEE Transactions on Broadcasting, Dec. 20, 2019, 17 pages. [cited by applicant]
Zhang et al., “[G-PCC] EE13.6 report on geometry quantization,” ISO/IEC JTC1/SC29/WG11 MPEG2019/m50924, Geneva, Switzerland, Oct. 2019, 12 pages. [cited by applicant]
Zhang et al., “[G-PCC][New proposal] Signaling delta QPs for adaptive geometry quantization in point cloud coding,” ISO/IEC JTC1/SC29/WG11 MPEG2019/m49232, Gothenburg, Sweden, Jul. 2019, 10 pages. [cited by applicant]
Yuan et al., “Three-dimensional Point Cloud Compression Algorithm Based on Improved Octree,” Acta Optica Sinica, Dec. 2017, 37(12):1210003-1-1210003-9 (with English Abstract). [cited by applicant]