IP Library Granted Patent US 12,400,374
Granted Patent B2
US 12,400,374 · App. 17/480,423 · Granted Aug 26, 2025

GPCC planar mode and buffer simplification

Inventors: Geert Van der Auwera (Del Mar, CA); Adarsh Krishnan Ramasubramonian (Irvine, CA); Bappaditya Ray (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM INCORPORATED
G06T9/40G06T2207/10028H04N19/91
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,400,374
App. No.
17/480,423
Granted
Aug 26, 2025
Kind
B2
Abstract

A method of encoding point cloud data comprises storing, in a buffer, a maximum coordinate of a pair of coordinates of an applicable node, wherein the applicable node is a most-recently encoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis; determining a context for a planar mode plane position of the current node, wherein determining the context for the planar mode plane position comprises determining, based on the maximum coordinate of the pair of coordinates of the applicable node, a distance value representing a distance between the current node and the applicable node; determining an increment value that indicates whether the distance value is greater than a threshold; and determining the context index based on the increment value; and entropy encoding the planar mode plane position using the determined context.

Claims (97)

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

storing, in a buffer, a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently encoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis;

determining, from among a plurality of contexts, a context for a planar mode plane position of the current node,

wherein determining the context for the planar mode plane position comprises determining a context index that indicates the context, wherein determining the context index comprises:

determining a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node stored in the buffer and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

determining an increment value that indicates whether the distance value is greater than a threshold; and

determining the context index based on the increment value; and

entropy encoding the planar mode plane position using the determined context.

2. The method of claim 1 , further comprising encoding at least one point of the point cloud data based on the planar mode plane position.

3. The method of claim 1 , wherein storing the maximum coordinate of the pair of coordinates of the applicable node comprises:

retaining the fourth through eighth most significant bits of the maximum coordinate of the pair of coordinates of the applicable node and discarding the three least significant bits of the maximum coordinate of the pair of coordinates of the applicable node.

4. The method of claim 1 , wherein determining the increment value comprises determining the increment value as being equal to either 1 or 0 based on whether the value is greater than or less than 1.

5. The method of claim 1 , further comprising generating the point cloud data.

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

storing, in a buffer, a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently decoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis;

determining, from among a plurality of contexts, a context for a planar mode plane position of the current node,

wherein determining the context for the planar mode plane position comprises determining a context index that indicates the context, wherein determining the context index comprises:

determining a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node stored in the buffer and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

determining an increment value that indicates whether the value is greater than a threshold; and

determining the context index based on the increment value; and

entropy decoding the planar mode plane position using the determined context.

7. The method of claim 6 , further comprising decoding at least one point of the point cloud data based on the planar mode plane position.

8. The method of claim 6 , wherein storing the maximum coordinate of the pair of coordinates of the applicable node comprises:

retaining the fourth through eighth most significant bits of the maximum coordinate of the pair of coordinates of the applicable node and discarding the three least significant bits of the maximum coordinate of the pair of coordinates of the applicable node.

9. The method of claim 6 , wherein determining the increment value comprises determining the increment value as being equal to either 1 or 0 based on whether the value is greater than or less than 1.

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

a buffer configured to store a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently encoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis; and

one or more processors implemented in circuitry, the one or more processors configured to:

determine, from among a plurality of contexts, a context for a planar mode plane position of the current node, wherein the one or more processors are configured to, as part of determining the context for the planar mode plane position, determine a context index that indicates the context, and the one or more processors are configured to, as part of determining the context index:

determine a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node stored in the buffer and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

determine an increment value that indicates whether the value is greater than a threshold; and

determine the context index based on the increment value; and

entropy encode the planar mode plane position using the determined context.

11. The device of claim 10 , wherein the one or more processors are further configured to encode at least one point of the point cloud data based on the planar mode plane position.

12. The device of claim 10 , wherein the one or more processors are configured to, as part of storing the maximum coordinate of the pair of coordinates of the applicable node in the buffer, retain the fourth through eighth most significant bits of the maximum coordinate of the pair of coordinates of the applicable node and discard the three least significant bits of the maximum coordinate of the pair of coordinates of the applicable node.

13. The device of claim 10 , wherein the one or more processors are configured to, as part of determining the increment value, determine the increment value as being equal to either 1 or 0 based on whether the value is greater than or less than 1.

14. The device of claim 10 , further comprising a display to present imagery based on the point cloud data.

15. The device of claim 10 , wherein the device is configured to generate the point cloud data.

16. The device of claim 15 , wherein the one or more processors are configured to, as part of generating the point cloud data, generate the point cloud data based on signals from a LIDAR apparatus.

17. The device of claim 10 , wherein the device is one of a mobile phone or tablet computer.

18. The device of claim 10 , wherein the device is a vehicle.

19. The device of claim 10 , wherein the device is an extended reality device.

20. The device of claim 10 , wherein the device comprises an interface configured to transmit the point cloud data.

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

a buffer configured to store a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently decoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis; and

one or more processors implemented in circuitry, the one or more processors configured to:

determine, from among a plurality of contexts, a context for a planar mode plane position of the current node, wherein the one or more processors are configured to, as part of determining the context for the planar mode plane position, determine a context index that indicates the context, and the one or more processors are configured to, as part of determining the context index:

determine a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node stored in the buffer and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

determine an increment value that indicates whether the distance value is greater than a threshold; and

determine the context index based on the increment value; and

entropy decode the planar mode plane position using the determined context.

22. The device of claim 21 , wherein the one or more processors are further configured to decode at least one point of the point cloud data based on the planar mode plane position.

23. The device of claim 21 , wherein the one or more processors are configured to, as part of storing the maximum coordinate of the pair of coordinates of the applicable node to the buffer, retain the fourth through eighth most significant bits of the maximum coordinate of the pair of coordinates of the applicable node and discard the three least significant bits of the maximum coordinate of the pair of coordinates of the applicable node.

24. The device of claim 21 , wherein the one or more processors are configured to, as part of determining the increment value, determine the increment value as being equal to either 1 or 0 based on whether the value is greater than or less than 1.

25. The device of claim 21 ,

wherein the one or more processors are further configured to reconstruct the point cloud data, and

wherein the one or more processors are configured to, as part of reconstructing the point cloud data, determine positions of one or more points of the point cloud data based on the planar mode plane position.

26. The device of claim 25 , wherein the one or more processors are further configured to generate a map of an interior of a building based on the reconstructed point cloud data.

27. The device of claim 25 , wherein the one or more processors are further configured to perform an autonomous navigation operation based on the reconstructed point cloud data.

28. The device of claim 25 , wherein the one or more processors are further configured to generate computer graphics based on the reconstructed point cloud data.

29. The device of claim 28 , wherein the one or more processors are configured to:

determine a position of a virtual object based on the reconstructed point cloud data; and

generate an extended reality (XR) visualization in which the virtual object is at the determined position.

30. The device of claim 21 , wherein the device is one of a mobile phone or tablet computer.

31. The device of claim 21 , wherein the device is a vehicle.

32. The device of claim 21 , wherein the device is an extended reality device.

33. The device of claim 21 , further comprising a display to present imagery based on the point cloud data.

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

means for storing a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently encoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis;

means for determining, from among a plurality of contexts, a context for a planar mode plane position of the current node, wherein the means for determining the context for the planar mode plane position of the current node comprises means for determining a context index that indicates the context, and the means for determining the context index comprises:

means for determining a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

means for determining an increment value that indicates whether the value is greater than a threshold; and

means for determining the context index based on the increment value; and

means for entropy encoding the planar mode plane position using the determined context.

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

means for storing a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently decoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis;

means for determining, from among a plurality of contexts, a context for a planar mode plane position of the current node, wherein the means for determining the context for the planar mode plane position of the current node comprises means for determining a context index that indicates the context, and the means for determining the context index comprises:

means for determining a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

means for determining an increment value that indicates whether the value is greater than a threshold; and

means for determining the context index based on the increment value; and

means for entropy decoding the planar mode plane position using the determined context.

36. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

store, in a buffer, a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently encoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis;

determine, from among a plurality of contexts, a context for a planar mode plane position of the current node,

wherein the instructions that cause the one or more processors to determine the context for the planar mode plane position comprise instructions that, when executed, cause the one or more processors to determine a context index that indicates the context, wherein the instructions that cause the one or more processors to determine the context index comprise instructions that, when executed, cause the one or more processors to:

determine a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node stored in the buffer and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

determine an increment value that indicates whether the value is greater than a threshold; and

determine the context index based on the increment value; and

entropy encode the planar mode plane position using the determined context.

37. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

store, in a buffer, a maximum coordinate of a pair of coordinates of an applicable node and not a lesser coordinate of the pair of coordinates of the applicable node, wherein the applicable node is a most-recently decoded node with a same position as a current node along an applicable axis and the pair of coordinates are for axes different from the applicable axis;

determine, from among a plurality of contexts, a context for a planar mode plane position of the current node,

wherein the instructions that cause the one or more processors to determine the context for the planar mode plane position comprise instructions that, when executed, cause the one or more processors to determine a context index that indicates the context, wherein the instructions that cause the one or more processors to determine the context index comprise instructions that, when executed, cause the one or more processors to:

determine a value based on a difference between a first value and a second value, the first value being the maximum coordinate of the pair of coordinates of the applicable node stored in the buffer and the second value being whichever coordinate of a pair of coordinates of the current node along the axes different from the applicable axis is greater;

determine an increment value that indicates whether the distance value is greater than a threshold; and

determine the context index based on the increment value; and

entropy decode the planar mode plane position using the determined context.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2021
From: VAN DER AUWERA, GEERT; RAMASUBRAMONIAN, ADARSH KRISHNAN; RAY, BAPPADITYA; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 058073/0387 →
Continuity (2)
Provisional Application 63088156 · Oct 6, 2020
Related Publication 20220108492A1 · Apr 7, 2022
References Cited (29)
US 10693492B1 · Lasserre · 2020 [cited by examiner]
US 20110115812A1 · Minear et al. · 2011 [cited by applicant]
US 20190311499A1 · Mammou · 2019 [cited by examiner]
US 20200288159A1 · Van Der Auwera et al. · 2020 [cited by applicant]
US 20200413080A1 · Lasserre et al. · 2020 [cited by applicant]
US 20210012539A1 · Zhang et al. · 2021 [cited by applicant]
US 20210103780A1 · Mammou et al. · 2021 [cited by applicant]
US 20210407143A1 · Van Der Auwera · 2021 [cited by applicant]
US 20230048381A1 · Taquet et al. · 2023 [cited by applicant]
US 20230065156A1 · Yang et al. · 2023 [cited by applicant]
US 20230162402A1 · Zhang et al. · 2023 [cited by applicant]
US 20230316586A1 · Wan et al. · 2023 [cited by applicant]
WO WO2020145139A1 · 2020 [cited by applicant]
Auwera G.V.D., et al., “[GPCC] [New] Planar and Azimuthal Coding Mode Simplifications”, 131. MPEG Meeting, Jun. 29, 2020-Jul. 3, 2020, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m54694, Jul. 1,… [cited by applicant]
Auwera (Qualcomm) G., et al., “[G-PCC] [New proposa1] Planar Mode Simplifications”, 132. MPEG Meeting, Oct. 12, 2020-Oct. 16, 2020, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m55379, Oct. 13, 2… [cited by applicant]
Asserre (Blackberry) S., et al., “The Azimuthal Coding Mode”, [GPCC][CE13.22 related], 129. MPEG Meeting, Jan. 13, 2020-Jan. 17, 2020, Brussels, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m51596, Jan. … [cited by applicant]
Lasserre S., et al., “m48906_Planar Mode in Octree-Based Geometry Coding”, 127. MPEG Meeting, Jul. 8, 2019-Jul. 12, 2019, Gothenburg, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11) No. m48906, Jul. 3, 2019 (Jul… [cited by applicant]
Taquet (Blackberry) J., et al., “[G-PCC] [CE13.22 Related] Planar mode Buffer Optimization”, 129. MPEG Meeting, Jan. 13, 2020-Jan. 17, 2020, Brussels, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m52345,… [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 (Apr. 2… [cited by applicant]
Anonymous: “Euclidean vs Chebyshev vs Manhattan Distance”, May 22, 2012 (May 22, 2012), pp. 1-4, XP055873158, Retrieved from the Internet: URL: https://1yfat.wordpress.com/2012/05/22/euclidean-vs-chebyshev-vs-manhattan-… [cited by applicant]
International Search Report and Written Opinion—PCT/US2021/051560—ISA/EPO—Dec. 23, 2021. [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]
Sze V., et al., “Entropy Coding in HEVC” In: “High Efficiency Video Coding (HEVC)” Algorithms and Architectures—Chapter 8: Entropy Coding in HEVC, Springer International Publishing, Jan. 1, 2014 (Jan. 1, 2014), pp. 209-… [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]
Co-pending U.S. Appl. No. 18/627,002, filed Apr. 4, 2024. [cited by applicant]
Lasserre S. (Blackberry)., et al., “m48906_Planar Mode in Octree-Based Geometry Coding”, 127. MPEG Meeting, Jul. 8, 2019-Jul. 12, 2019, Gothenburg, Sweden, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11 MPEG2018… [cited by applicant]
Taiwan Search Report—TW110135199—TIPO—Nov. 30, 2024. [cited by applicant]
ISO/IEC: “Information Technology-MPEG-I (Coded Representation of Immersive Media)-Part 9: Geometry-based Point Cloud Compression ”, MPEG, Text of ISO/IEC 23090-9 DIS Geometry-based PCC.MPEG 129. w19088, Jan. 7, 2020, 12… [cited by applicant]