IP Library › Granted Patent US 12,412,311
Granted Patent B2
US 12,412,311 · App. 17/469,704 · Granted Sep 9, 2025

High level syntax refinements for geometry point cloud compression (G-PCC)

Inventors: Bappaditya Ray (San Diego, CA); Adarsh Krishnan Ramasubramonian (Irvine, CA); Geert Van der Auwera (Del Mar, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06T9/001G01S17/89G06T3/40G06T9/40
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,412,311
App. No.
17/469,704
Granted
Sep 9, 2025
Kind
B2
Abstract

A method of encoding point cloud data includes determining an amount by which a laser turns for determining points in a point cloud represented by the point cloud data, generating a syntax element indicative of the amount by which the laser turns, wherein a value of the syntax element is a defined value less than the amount by which the laser turns, and signaling the syntax element.

Claims (92)

1. A method of encoding point cloud data, the method comprising:

determining, with one or more processors, an amount by which a laser turns for determining points in a point cloud represented by the point cloud data, wherein determining the amount by which the laser turns comprises one of:

determining a number of laser probes by the laser in one single rotation; or

determining a change in an azimuth angle by which the laser turns;

generating, with the one or more processors, a syntax element indicative of the amount by which the laser turns for determining the points in the point cloud, wherein a value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1; and

signaling, with the one or more processors, the value of the syntax element.

2. The method of claim 1 , wherein determining the amount by which the laser turns comprises determining the number of laser probes by the laser in one single rotation.

3. The method of claim 2 , wherein determining the number of laser probes by the laser in one single rotation comprises determining the number of laser probes by the laser in one single rotation for a geometry tree type being octree coding.

4. The method of claim 1 , wherein determining the amount by which the laser turns comprises determining the change in the azimuth angle by which the laser turns.

5. The method of claim 4 , wherein determining the change in the azimuth angle by which the laser turns comprises determining the change in the azimuth angle by which the laser turns for a geometry tree type being predictive geometry coding.

6. The method of claim 1 , wherein generating the syntax element comprises subtracting the defined value from the amount by which the laser turns to generate the value of the syntax element.

7. The method of claim 1 , wherein the syntax element is a first syntax element, the method further comprising:

encoding a second syntax element of the point cloud data that is indicative of a number of bits used to represent a third syntax element of the point cloud data, wherein the third syntax element of the point cloud data is indicative of a coordinate of an origin used in processing of an angular coding mode; and

fixed-length encoding the third syntax element.

8. The method of claim 1 , wherein the value comprises a first value, the method further comprising:

determining a second value associated with attribute position in spherical coordinate conversion that does not exceed 32 bits, wherein determining the second value comprises at least one of:

clipping the second value to be less than or equal to 32 bits; and

generating the second value in conformance with a point cloud compression standard that defines that a bit depth of the value is less than or equal to 32 bits.

9. A method of decoding point cloud data, the method comprising:

receiving, with one or more processors, a value of a syntax element indicative of an amount by which a laser turns for determining points in a point cloud represented by the point cloud data, wherein the value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1;

determining, with the one or more processors, the amount by which the laser turns for determining the points in the point cloud based on the syntax element, wherein determining the amount by which the laser turns comprises one of:

determining a number of laser probes by the laser in one single rotation; or

determining a change in an azimuth angle by which the laser turns; and

reconstructing, with the one or more processors, the point cloud based on the determined amount by which the laser turns.

10. The method of claim 9 , wherein determining the amount by which the laser turns based on the syntax element comprises determining the number of laser probes by the laser in one single rotation.

11. The method of claim 10 , wherein determining the number of laser probes by the laser in one single rotation comprises determining the number of laser probes by the laser in one single rotation for a geometry tree type being octree coding.

12. The method of claim 9 , wherein determining the amount by which the laser turns based on the syntax element comprises determining the change in the azimuth angle by which the laser turns.

13. The method of claim 12 , wherein determining the change in the azimuth angle by which the laser turns comprises determining the change in the azimuth angle by which the laser turns for a geometry tree type being predictive geometry coding.

14. The method of claim 9 , wherein determining the amount by which the laser turns based on the syntax element comprises adding the defined value to the value of the syntax element.

15. The method of claim 9 , wherein the syntax element is a first syntax element, the method further comprising:

decoding a second syntax element of the point cloud data that is indicative of a number of bits used to represent a third syntax element of the point cloud data, wherein the third syntax element of the point cloud data is indicative of a coordinate of an origin used in processing of an angular coding mode; and

fixed-length decoding the third syntax element.

16. The method of claim 9 , wherein the value comprises a first value, the method further comprising:

determining a second value associated with attribute position in spherical coordinate conversion that does not exceed 32 bits, wherein determining the second value comprises at least one of:

clipping the second value to be less than or equal to 32 bits; and

receiving the second value in conformance with a point cloud compression standard that defines that a bit depth of the value is less than or equal to 32 bits.

17. A device for encoding point cloud data, the device comprising:

memory configured to store the point cloud data; and

one or more processors coupled to the memory, wherein the one or more processors are configured to:

determine an amount by which a laser turns for determining points in a point cloud represented by the point cloud data, wherein to determine the amount by which the laser turns, the one or more processors are configured to one of:

determine a number of laser probes by the laser in one single rotation; or

determine a change in an azimuth angle by which the laser turns;

generate a syntax element indicative of the amount by which the laser turns for determining the points in the point cloud, wherein a value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1; and

signal the value of the syntax element.

18. The device of claim 17 , wherein to determine the amount by which the laser turns, the one or more processors are configured to determine the number of laser probes by the laser in one single rotation.

19. The device of claim 18 , wherein to determine the number of laser probes by the laser in one single rotation, the one or more processors are configured to determine the number of laser probes by the laser in one single rotation for a geometry tree type being octree coding.

20. The device of claim 17 , wherein to determine the amount by which the laser turns, the one or more processors are configured to determine the change in the azimuth angle by which the laser turns.

21. The device of claim 20 , wherein to determine the change in the azimuth angle by which the laser turns, the one or more processors are configured to determine the change in the azimuth angle by which the laser turns for a geometry tree type being predictive geometry coding.

22. The device of claim 17 , wherein to generate the syntax element, the one or more processors are configured to subtract the defined value from the amount by which the laser turns to generate the value of the syntax element.

23. The device of claim 17 , wherein the syntax element is a first syntax element, and wherein the one or more processors are configured to:

encode a second syntax element of the point cloud data that is indicative of a number of bits used to represent a third syntax element of the point cloud data, wherein the third syntax element of the point cloud data is indicative of a coordinate of an origin used in processing of an angular coding mode; and

fixed-length encode the third syntax element.

24. A device for decoding point cloud data, the device comprising:

memory configured to store the point cloud data; and

one or more processors coupled to the memory, wherein the one or more processors are configured to:

receive a value of a syntax element indicative of an amount by which a laser turns for determining points in a point cloud represented by the point cloud data, wherein the value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1;

determine the amount by which the laser turns for determining the points in the point cloud based on the syntax element, wherein to determine the amount by which the laser turns, the one or more processors are configured to one of:

determine a number of laser probes by the laser in one single rotation; or

determine a change in an azimuth angle by which the laser turns; and

reconstruct the point cloud based on the determined amount by which the laser turns.

25. The device of claim 24 , wherein to determine the amount by which the laser turns based on the syntax element, the one or more processors are configured to determine the number of laser probes by the laser in one single rotation.

26. The device of claim 25 , wherein to determine the number of laser probes by the laser in one single rotation, the one or more processors are configured to determine the number of laser probes by the laser in one single rotation for a geometry tree type being octree coding.

27. The device of claim 24 , wherein to determine the amount by which the laser turns based on the syntax element, the one or more processors are configured to determine the change in the azimuth angle by which the laser turns.

28. The device of claim 27 , wherein to determine the change in the azimuth angle by which the laser turns, the one or more processors are configured to determine the change in the azimuth angle by which the laser turns for a geometry tree type being predictive geometry coding.

29. The device of claim 24 , wherein to determine the amount by which the laser turns based on the syntax element, the one or more processors are configured to add the defined value to the value of the syntax element.

30. The device of claim 24 , wherein the syntax element is a first syntax element, and wherein the one or more processors are configured to:

decode a second syntax element of the point cloud data that is indicative of a number of bits used to represent a third syntax element of the point cloud data, wherein the third syntax element of the point cloud data is indicative of a coordinate of an origin used in processing of angular coding mode; and

fixed-length decode the third syntax element.

31. A device for encoding point cloud data, the device comprising:

means for determining an amount by which a laser turns for determining points in a point cloud represented by the point cloud data, wherein the means for determining the amount by which the laser turns comprises one of:

means for determining a number of laser probes by the laser in one single rotation; or

means for determining a change in an azimuth angle by which the laser turns;

means for generating a syntax element indicative of the amount by which the laser turns for determining the points in the point cloud, wherein a value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1; and

means for signaling the value of the syntax element.

32. A non-transitory computer-readable storage medium storing instructions thereon that when executed cause one or more processors to:

determine an amount by which a laser turns for determining points in a point cloud represented by point cloud data, wherein the instructions that cause the one or more processors to determine the amount by which the laser turns comprise instructions that cause the one or more processors to one of:

determine a number of laser probes by the laser in one single rotation; or

determine a change in an azimuth angle by which the laser turns;

generate a syntax element indicative of the amount by which the laser turns for determining the points in the point cloud, wherein a value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1; and

signal the value of the syntax element.

33. A device for decoding point cloud data, the device comprising:

means for receiving a value of a syntax element indicative of an amount by which a laser turns for determining points in a point cloud represented by the point cloud data, wherein the value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1;

means for determining the amount by which the laser turns for determining the points in the point cloud based on the syntax element, wherein the means for determining the amount by which the laser turns comprises one of:

means for determining a number of laser probes by the laser in one single rotation; or

means for determining a change in an azimuth angle by which the laser turns; and

means for reconstructing the point cloud based on the determined amount by which the laser turns.

34. A non-transitory computer-readable storage medium storing instructions thereon that when executed cause one or more processors to:

receive a value of a syntax element indicative of an amount by which a laser turns for determining points in a point cloud represented by point cloud data, wherein the value of the syntax element is a defined value less than the amount by which the laser turns, and wherein the defined value is 1;

determine the amount by which the laser turns for determining the points in the point cloud based on the syntax element, wherein the instructions that cause the one or more processors to determine the amount by which the laser turns comprise instructions that cause the one or more processors to one of:

determine a number of laser probes by the laser in one single rotation; or

determine a change in an azimuth angle by which the laser turns; and

reconstruct the point cloud based on the determined amount by which the laser turns.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2021
From: RAY, BAPPADITYA; RAMASUBRAMONIAN, ADARSH KRISHNAN; VAN DER AUWERA, GEERT; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 057869/0851 →
Continuity (2)
Provisional Application 63090027 · Oct 9, 2020
Related Publication 20220114763A1 · Apr 14, 2022
References Cited (48)
US 10860212B1 · Chinthekindi et al. · 2020 [cited by applicant]
US 11729428B2 · Ramasubramonian · 2023 [cited by examiner]
US 20170345207A1 · Seiler · 2017 [cited by applicant]
US 20190325089A1 · Golparvar-Fard · 2019 [cited by examiner]
US 20190384864A1 · Ganti et al. · 2019 [cited by applicant]
US 20200302680A1 · Yip et al. · 2020 [cited by applicant]
US 20210192798A1 · Lasserre · 2021 [cited by examiner]
US 20210209812A1 · Han et al. · 2021 [cited by applicant]
US 20210218994A1 · Flynn · 2021 [cited by applicant]
US 20210289211A1 · Oh et al. · 2021 [cited by applicant]
US 20210295567A1 · Lee et al. · 2021 [cited by applicant]
US 20210312670A1 · Mammou · 2021 [cited by examiner]
US 20210326734A1 · Van Der Auwera et al. · 2021 [cited by applicant]
US 20210329052A1 · Oh · 2021 [cited by applicant]
US 20210329055A1 · Hur et al. · 2021 [cited by applicant]
US 20210377566A1 · Iguchi et al. · 2021 [cited by applicant]
US 20210400103A1 · Hur · 2021 [cited by examiner]
US 20210400280A1 · Zaghetto et al. · 2021 [cited by applicant]
US 20210400292A1 · Choi et al. · 2021 [cited by applicant]
US 20210400308A1 · Ray · 2021 [cited by applicant]
US 20210407142A1 · Hur et al. · 2021 [cited by applicant]
US 20220256190A1 · Hur et al. · 2022 [cited by applicant]
US 20220398784A1 · Taquet · 2022 [cited by examiner]
US 20240185475A1 · Gao · 2024 [cited by examiner]
TW 202037174A · 2020 [cited by applicant]
WO WO2021084295 · 2019 [cited by examiner]
WO WO2021084295A1 · 2021 [cited by examiner]
WO2021/084295 Lasserre, Sebastien et al (Year: 2019). [cited by examiner]
International Search Report and Written Opinion—PCT/US2021/049668—ISA/EPO—Dec. 7, 2021, 15 pages. [cited by applicant]
ITU-T H.265: “Series H: Audiovisual and Multimedia Systems, Infrastructure of Audiovisual Services—Coding of Moving Video, High Efficiency Video Coding”, The International Telecommunication Union, Jun. 2019, 696 Pages. [cited by applicant]
Ray B., et al.,“[G-PCC] [new] Misc. High Level Syntax Refinements for G-PCC”, International Organisation for Standardisation Organisation Internationale DE Normalisation ISO/IEC JTC 1/SC 29/WG 7 Coding of Moving Picture… [cited by applicant]
“Text of ISO/IEC 23090-9 DIS Geometry-Based Point Cloud Compression”, 129. MPEG Meeting, Jan. 13, 2020-Jan. 17, 2020, Brussels, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. n19088, Apr. 20, 2020, XP03028… [cited by applicant]
WG 7, MPEG 3D Graphics Coding: “G-PCC Codec Description v11”, International Organization for Standardization Organisation Internationale DE Normalisation ISO/IEC JTC 1/SC 29/WG 7 MPEG 3D Graphics Coding, ISO/IEC JTC 1/S… [cited by applicant]
3DG: “CE4FE 13.29 Geometry Quantization QP Control”, 129. MPEG Meeting, Jan. 13, 2020-Jan. 17, 2020, Brussels, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. N19113, Mar. 25, 2020 (Mar. 25, 2020), 5 Pages,… [cited by applicant]
3DG: “G-PCC Codec Description v6”, Coding of Moving Pictures and Audio, ISO/IEC JTC1/SC29/WG11, N19091, Jan. 2020, Brussels, BE, Mar. 27, 2020, 92 pages. [cited by applicant]
3DG: “G-PCC Future Enhancements”, International Organisation for Standardisation Organisation Internationale De Normalisation, ISO/IEC JTC 1/SC 29/WG 11 Coding of Moving Pictures and Audio, ISO/IEC JTC 1/SC 29/WG 11, N1… [cited by applicant]
3DG: “G-PCC Test Model v9”, 129. MPEG Meeting, Jan. 13, 2020-Jan. 17, 2020, Brussels, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. N19083, Apr. 9, 2020 (Apr. 9, 2020), 15 Pages, XP030287963, Retrieved fr… [cited by applicant]
“G-PCC Future Enhancements”, 130, MPEG Meeting, Apr. 20, 2020-Apr. 24, 2020, Alpbach, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. n19328, Jul. 21, 2020, XP030289574, 140 Pages. [cited by applicant]
ITTF via SC 29 Secretariat: “Summary of Voting on ISO/IEC DIS 23090-9”, 132. MPEG Meeting, Oct. 12, 2020-Oct. 16, 2020, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m54899 Sep. 18, 2020 (Sep. 18,… [cited by applicant]
Lasserre (Blackberry), S., et al., “M52958 [GPCC] [CE 13. 22] Report on Azimuthal Coding Mode”, 130. MPEG Meeting, Apr. 20, 2020-Apr. 24, 2020, Alpbach, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m5295… [cited by applicant]
Lasserre S., (Blackberry) et al., “[GPCC] [CE 13.22 ] Report on Angular Coding Mode”, 129. MPEG Meeting, Jan. 13, 2020-Jan. 17, 2020, Brussels, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11). No. M51594, Jan. 8… [cited by applicant]
Oh, H-M., (LGE), et al., “[G-PCC] EE13.43 Report on Coordinate Conversion”, 132. MPEG Meeting, Oct. 12, 2020-Oct. 16, 2020, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG7), No. m55349, Oct. 7, 2020 (Oct. … [cited by applicant]
Ramasubramonian A.K., (Qualcomm) et al., “[G-PCC] Normative Bounding Box and Global Scaling for Point Clouds”. 131. MPEG Meeting, Jun. 29, 2020-Jul. 3, 2020, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG1… [cited by applicant]
Ray, B., (Qualcomm), et al., “[G-PCC] [new] Angular HLS Improvement and Bugfix”, 131. MPEG Meeting, Jun. 29, 2020-Jul. 3, 2020, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m54702, Jun. 23, 2020 … [cited by applicant]
Ray, B., (Qualcomm) et al., “[G-PCC] [New] Various HLS Fixes and Improvements”, 132. MPEG Meeting, Oct. 12, 2020-Oct. 16, 2020, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m55378 Oct. 10, 2020 (… [cited by applicant]
“Report of the 129th Meeting”, 130. MPEG Meeting, Apr. 20, 2020-Apr. 24, 2020, Alpbach, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. n19173, May 24, 2020 (May 24, 2020), XP030285445, Retrieved from the I… [cited by applicant]
1 Taiwan Search Report—TW110133568—TIPO—Sep. 9, 2024 (1 pp). [cited by applicant]
ITTI VIA SC 29 Secretariat: “Summary of Voting on ISO/IEC DIS 23090-9”, Information Technology—MPEG-I (Coded Representation of Immersive Media)—Part 9: Geometry-based Point Cloud Compression, Motion Picture Expert Group… [cited by applicant]