IP Library › Granted Patent US 12,266,141
Granted Patent B2
US 12,266,141 · App. 18/545,966 · Granted Apr 1, 2025

In-tree geometry quantization of point clouds

Inventors: David Flynn (Darmstadt, DE); Khaled Mammou (Vancouver, CA); Fabrice A. Robinet (Sunnyvale, CA)
Assignee: Apple Inc.
G06T9/40G06T17/005G06T2210/56
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,266,141
App. No.
18/545,966
Granted
Apr 1, 2025
Kind
B2
Abstract

An example method includes receiving a plurality of points that represent a point cloud; representing a position of the point in each dimension of a three-dimensional space as a sequence of bits, where the position of the point is encoded according to a tree data structure; partitioning at least one of the sequences of bits into a first portion of bits and a second portion of bits; quantizing each of the second portions of bits according to a quantization step size, where the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output; and generating a data structure representing the point cloud and including the quantized second portions of bits.

Claims (41)

1. A method comprising:

receiving, by a computer system, a plurality of points that represent a point cloud in three-dimensional space;

representing, by the computer system for each point, a position of the point in each dimension of the three-dimensional space as a sequence of bits, wherein the position of the point is represented according to a tree data structure, wherein the tree data structure is an octree;

partitioning, by the computer system, at least one of the sequences of bits into a first portion of bits and a second portion of bits;

quantizing, by the computer system, each of the second portions of bits according to a quantization step size, wherein the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output;

generating, by the computer system, a data structure representing the point cloud in the three-dimensional space, the data structure including the quantized second portions of bits; and

at least one of transmitting or storing the data structure by the computer system.

2. The method of claim 1 , wherein partitioning at least one of the sequences of bits comprises:

partitioning at least one of the sequences of bits such that each of the first portions of bits includes the first d bits from a corresponding one of the sequences of bits, wherein d is a scaling depth of the tree data structure, and

partitioning at least one of the sequences of bits such that each of the second portions of bits includes a remainder of bits from the corresponding one of the sequences of bits.

3. The method of claim 1 , wherein quantizing each of the second portions of bits comprises dividing a numerical value indicated by each of the second portions of bits by the quantization step size.

4. The method of claim 1 , further comprising indicating at least one of the quantization step size or the quantization parameter value in the data structure.

5. The method of claim 1 , wherein the exponential function is selected such that, for positive integer quantization parameter values, a majority of the quantization step sizes outputted by the exponential function are integers.

6. The method of claim 1 , wherein the exponential function is selected such that, for positive integer quantization parameter values, N of the quantization step sizes outputted by the exponential function are non-integers, wherein N=(p×log 2 p)−d+1, and wherein p is the number of quantization parameters per doubling of the quantization step size.

7. The method of claim 1 , wherein the exponential function is QS=(1+0.125×mod [QP, 8])×2 └P/8┘ , wherein QS is the quantization step size, and QP is the quantization parameter value.

8. The method of claim 1 , further comprising approximating at least some of the quantized second portions of bits as integer values.

9. 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 plurality of points that represent a point cloud in three-dimensional space;

representing a position of the point in each dimension of the three-dimensional space as a sequence of bits, wherein the position of the point is encoded according to a tree data structure, wherein the tree data structure is an octree;

partitioning at least one of the sequences of bits into a first portion of bits and a second portion of bits;

quantizing each of the second portions of bits according to a quantization step size, wherein the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output;

generating a data structure representing the point cloud in the three-dimensional space, the data structure including the quantized second portions of bits; and

at least one of transmitting or storing the data structure by the device.

10. The device of claim 9 , wherein partitioning at least one of the sequences of bits comprises:

partitioning at least one of the sequences of bits such that each of the first portions of bits includes the first d bits from a corresponding one of the sequences of bits, wherein d is a scaling depth of the tree data structure, and

partitioning at least one of the sequences of bits such that each of the second portions of bits includes a remainder of bits from the corresponding one of the sequences of bits.

11. The device of claim 9 , wherein quantizing each of the second portions of bits comprises dividing a numerical value indicated by each of the second portions of bits by the quantization step size.

12. The device of claim 9 , the operations further comprising indicating at least one of the quantization step size or the quantization parameter value in the data structure.

13. The device of claim 9 , wherein the exponential function is selected such that, for positive integer quantization parameter values within a range of values, a majority of the quantization step sizes outputted by the exponential function are integers.

14. The device of claim 9 , wherein the exponential function is selected such that, for positive integer quantization parameter values, N of the quantization step sizes outputted by the exponential function are non-integers, wherein N=(p×log 2 p)−p+1, and wherein p is the number of quantization parameters per doubling of the quantization step size.

15. The device of claim 9 , wherein the exponential function is QS=(1+0.125×mod [QP, 8])×2 └QP/8┘ , wherein QS is the quantization step size, and QP is the quantization parameter value.

16. The device of claim 9 , wherein the operations further comprise approximating at least some of the second portions of bits as integer values.

17. 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 plurality of points that represent a point cloud in three-dimensional space;

representing a position of the point in each dimension of the three-dimensional space as a sequence of bits, wherein the position of the point is encoded according to a tree data structure, wherein the tree data structure is an octree;

partitioning at least one of the sequences of bits into a first portion of bits and a second portion of bits;

quantizing each of the second portions of bits according to a quantization step size, wherein the quantization step size is determined according to an exponential function having a quantization parameter value as an input and the quantization step size as an output;

generating a data structure representing the point cloud in the three-dimensional space, the data structure including the quantized second portions of bits; and

at least one of transmitting or storing the data structure by a computer system.

Continuity (4)
Continuation 17791692
Provisional Application 62958688 · Jan 8, 2020
Provisional Application 62958689 · Jan 8, 2020
Related Publication 20240119641A1 · Apr 11, 2024
References Cited (27)
US 6577310B1 · Kim · 2003 [cited by examiner]
US 6674911B1 · Pearlman · 2004 [cited by examiner]
US 11869223B2 · Flynn et al. · 2024 [cited by applicant]
US 20120106858A1 · Cai · 2012 [cited by examiner]
US 20150004312A1 · Scheer · 2015 [cited by examiner]
US 20170324643A1 · Seregin et al. · 2017 [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 · Krishnaprasad et al. · 2019 [cited by applicant]
US 20200366941A1 · Sugio et al. · 2020 [cited by applicant]
US 20230046917A1 · Flynn et al. · 2023 [cited by applicant]
US 20230053544A1 · Flynn et al. · 2023 [cited by applicant]
CA 3090465 · 2019 [cited by applicant]
EP 3553746 · 2019 [cited by applicant]
WO WO2018182184 · 2018 [cited by applicant]
[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]