IP Library Granted Patent US 12,192,538
Granted Patent B2
US 12,192,538 · App. 17/765,015 · Granted Jan 7, 2025

Angular mode for tree-based point cloud coding

Inventors: Sébastien Lasserre (Thorigné-Fouillard, FR); Jonathan Taquet (Talensac, FR)
Assignee: BlackBerry Limited
H04N19/96H04N19/105H04N19/124H04N19/13H04N19/136H04N19/167H04N19/184H04N19/463
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,192,538
App. No.
17/765,015
Granted
Jan 7, 2025
Kind
B2
Abstract

Method and devices for coding point cloud data using an angular coding mode. The angular coding mode may be signaled using an angular mode flag to signal that a volume is to be coded using the angular coding mode. The angular coding mode is applicable to planar volumes that have all of their occupied child nodes on one side of a plane bisecting the volume. A planar position flag may signal which side of the volume is occupied. Entropy coding may be used to code the planar position flag. Context determination for coding may take into account angular information for child nodes or groups of child nodes of the volume relative to a location of a beam assembly that has sampled the point cloud. Characteristics of the beam assembly may be coded into the bitstream.

Claims (94)

1. A method of encoding the geometry of a point cloud acquired by means of a beam assembly comprising a set of beams, to generate a bitstream of compressed point cloud data, the geometry of the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and representing a three-dimensional location of an object, the point cloud being located within a volumetric space recursively split into sub-volumes and containing points of the point cloud, wherein a volume is partitioned into a set of child sub-volumes, and wherein an occupancy bit associated with each respective child sub-volume indicates whether that respective child sub-volume contains at least one of the points, the method comprising,

for a current node associated with a volume split into child sub-volumes:

determining an occupancy pattern for the volume based on occupancy statuses of the child sub-volumes of the volume, wherein the occupancy pattern is a sequence of occupancy bits associated with the volume; and

context-adaptively entropy encoding a representation of the occupancy pattern into the bitstream,

wherein context-adaptively entropy encoding the occupancy pattern comprises:

determining angular information for child sub-volumes or groups of child sub-volumes of the volume, the angular information being indicative of one or more elevation angles relative to a location associated with the beam assembly within the volumetric space;

determining a context for encoding the representation of the occupancy pattern based on the angular information, wherein the context tracks an internal probability to be used in context-adaptive coding; and

entropy encoding the representation of the occupancy pattern using the determined context.

2. The method according to claim 1 , wherein determining the angular information comprises:

determining a first elevation angle for a reference location within the volume relative to a reference location of the beam assembly;

determining a specific beam that is assumed to have acquired the points within the volume, based on the first elevation angle;

determining an origin location of the specific beam; and

determining the one or more elevation angles for child sub-volumes or groups of child sub-volumes of the volume relative to the origin location of the specific beam.

3. The method according to claim 2 , wherein, if the volume is determined to be a planar volume, which is a volume, partitioned into a plurality of sets of child sub-volumes in respective parallel planes, for which all child sub-volumes containing at least one point are positioned in the same plane:

determining the context for coding the representation of the occupancy pattern comprises determining a context for coding a plane position flag based on the angular information, the plane position flag signaling a position of the plane in which the child sub-volumes containing at least one point are positioned; and

entropy coding the representation of the occupancy pattern comprises entropy coding the plane position flag using the determined context.

4. The method according to claim 3 ,

wherein determining the angular information comprises determining respective elevation angles for each of the plurality of parallel planes, relative to the origin location of the specific beam; and

determining the context for coding the plane position flag comprises:

comparing the respective elevation angles for each of the plurality of parallel planes to a beam angle of the specific beam; and

determining the context for coding the plane position flag based on results of respective comparisons.

5. The method according to claim 4 , wherein determining the context for coding the plane position flag based on results of respective comparisons comprises at least one of:

differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes;

magnitudes of differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes; and

a quantization result of a difference between a largest one among magnitudes of differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes and a smallest one among magnitudes of differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes.

6. The method according to claim 2 , wherein

determining the context for coding the representation of the occupancy pattern comprises determining contexts for coding occupancy bits for child sub-volumes of the volume; and

entropy coding the representation of the occupancy pattern comprises entropy coding the occupancy bits using the determined contexts.

7. The method according to claim 1 , further comprising first determining that the volume is eligible for determining the context based on the angular information by:

determining a measure of an angular size of the volume as seen from a reference location of the beam assembly;

comparing the measure of the angular size to a measure of a difference angle between adjacent beams of the beam assembly; and

determining that the volume is eligible for determining the context based on the angular information based on a result of the comparison.

8. A method of decoding a bitstream of compressed point cloud data to generate a reconstructed geometry of the point cloud, the point cloud having been acquired by means of a beam assembly comprising a set of beams, the geometry of the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and representing a three-dimensional location of an object, the point cloud being located within a volumetric space recursively split into sub-volumes and containing points of the point cloud, wherein a volume is partitioned into a set of child sub-volumes, and wherein an occupancy bit associated with each respective child sub-volume indicates whether that respective child sub-volume contains at least one of the points, the method comprising,

for a current node associated with a volume split into child sub-volumes:

determining angular information for child sub-volumes or groups of child sub-volumes of the volume, the angular information being indicative of one or more elevation angles relative to a location associated with the beam assembly within the volumetric space;

determining a context for decoding a representation of an occupancy pattern of the volume based on the angular information, the occupancy pattern indicating occupancy statuses of the child sub-volumes of the volume, wherein the occupancy pattern is a sequence of occupancy bits associated with the volume, wherein the context tracks an internal probability to be used in context-adaptive coding; and

context-adaptively entropy decoding the bitstream to generate a reconstructed representation of the occupancy pattern using the determined context.

9. The method according to claim 8 , wherein determining the angular information comprises:

determining a first elevation angle for a reference location within the volume relative to a reference location of the beam assembly;

determining a specific beam that is assumed to have acquired the points within the volume, based on the first elevation angle;

determining an origin location of the specific beam; and

determining the one or more elevation angles for child sub-volumes or groups of child sub-volumes of the volume relative to the origin location of the specific beam.

10. The method according to claim 9 , wherein, if the volume is determined to be a planar volume, which is a volume, partitioned into a plurality of sets of child sub-volumes in respective parallel planes, for which all child sub-volumes containing at least one point are positioned in the same plane:

determining the context for coding the representation of the occupancy pattern comprises determining a context for coding a plane position flag based on the angular information, the plane position flag signaling a position of the plane in which the child sub-volumes containing at least one point are positioned; and

entropy coding the representation of the occupancy pattern comprises entropy coding the plane position flag using the determined context.

11. The method according to claim 10 ,

wherein determining the angular information comprises determining respective elevation angles for each of the plurality of parallel planes, relative to the origin location of the specific beam; and

determining the context for coding the plane position flag comprises:

comparing the respective elevation angles for each of the plurality of parallel planes to a beam angle of the specific beam; and

determining the context for coding the plane position flag based on results of respective comparisons.

12. The method according to claim 11 , wherein determining the context for coding the plane position flag based on results of respective comparisons comprises at least one of:

differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes;

magnitudes of differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes; and

a quantization result of a difference between a largest one among magnitudes of differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes and a smallest one among magnitudes of differences between the beam angle of the specific beam and respective elevation angles for each of the plurality of parallel planes.

13. The method according to claim 9 , wherein

determining the context for coding the representation of the occupancy pattern comprises determining contexts for coding occupancy bits for child sub-volumes of the volume; and

entropy coding the representation of the occupancy pattern comprises entropy coding the occupancy bits using the determined contexts.

14. The method according to claim 13 ,

wherein determining the angular information comprises determining respective elevation angles for each of the child sub-volumes of the volume, relative to the origin location of the specific beam; and

determining the contexts for coding occupancy bits for child sub-volumes of the volume comprises:

comparing the respective elevation angles for each of the child sub-volumes of the volume to a beam angle of the specific beam; and

determining the contexts for coding occupancy bits for child sub-volumes of the volume based on results of respective comparisons.

15. The method according to claim 8 , further comprising first determining that the volume is eligible for determining the context based on the angular information by:

determining a measure of an angular size of the volume as seen from a reference location of the beam assembly;

comparing the measure of the angular size to a measure of a difference angle between adjacent beams of the beam assembly; and

determining that the volume is eligible for determining the context based on the angular information based on a result of the comparison.

16. The method according to claim 8 ,

wherein the beam assembly is a rotating beam assembly; and

the point cloud is defined with respect to a Cartesian axis in the volumetric space, the Cartesian axis having a vertically oriented z-axis normal to a horizontal plane and substantially parallel to an axis of rotation of the rotating beam assembly.

17. The method according to claim 8 , wherein the bitstream includes one or more parameters describing characteristics of the beam assembly.

18. An encoder for encoding the geometry of a point cloud acquired by means of a beam assembly comprising a set of beams, to generate a bitstream of compressed point cloud data, the geometry of the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and representing a three-dimensional location of an object, the point cloud being located within a volumetric space recursively split into sub-volumes and containing points of the point cloud, wherein a volume is partitioned into a set of child sub-volumes, and wherein an occupancy bit associated with each respective child sub-volume indicates whether that respective child sub-volume contains at least one of the points, the encoder comprising:

a processor;

a memory; and

an encoding application containing instructions executable by the processor that, when executed, cause the processor to:

for a current node associated with a volume split into child sub-volumes:

determine an occupancy pattern for the volume based on occupancy statuses of the child sub-volumes of the volume, wherein the occupancy pattern is a sequence of occupancy bits associated with the volume; and

context-adaptively entropy encode a representation of the occupancy pattern into the bitstream,

wherein to context-adaptively entropy encode the occupancy pattern is to:

determine angular information for child sub-volumes or groups of child sub-volumes of the volume, the angular information being indicative of one or more elevation angles relative to a location associated with the beam assembly within the volumetric space;

determine a context for encoding the representation of the occupancy pattern based on the angular information, wherein the context tracks an internal probability to be used in context-adaptive coding; and

entropy encode the representation of the occupancy pattern using the determined context.

19. A decoder for decoding a bitstream of compressed point cloud data to generate a reconstructed geometry of the point cloud, the point cloud having been acquired by means of a beam assembly comprising a set of beams, the geometry of the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and representing a three-dimensional location of an object, the point cloud being located within a volumetric space recursively split into sub-volumes and containing points of the point cloud, wherein a volume is partitioned into a set of child sub-volumes, and wherein an occupancy bit associated with each respective child sub-volume indicates whether that respective child sub-volume contains at least one of the points, the decoder comprising:

a processor;

a memory; and

a decoding application containing instructions executable by the processor that, when executed, cause the processor to:

for a current node associated with a volume split into child sub-volumes:

determine angular information for child sub-volumes or groups of child sub-volumes of the volume, the angular information being indicative of one or more elevation angles relative to a location associated with the beam assembly within the volumetric space;

determine a context for decoding a representation of an occupancy pattern of the volume based on the angular information, the occupancy pattern indicating occupancy statuses of the child sub-volumes of the volume, wherein the occupancy pattern is a sequence of occupancy bits associated with the volume, wherein the context tracks an internal probability to be used in context-adaptive coding; and

context-adaptively entropy decode the bitstream to generate a reconstructed representation of the occupancy pattern using the determined context.

20. A non-transitory processor-readable medium storing processor-executable instructions for decoding a bitstream of compressed point cloud data to generate a reconstructed geometry of the point cloud, the point cloud having been acquired by means of a beam assembly comprising a set of beams, the geometry of the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and representing a three-dimensional location of an object, the point cloud being located within a volumetric space recursively split into sub-volumes and containing points of the point cloud, wherein a volume is partitioned into a set of child sub-volumes, and wherein an occupancy bit associated with each respective child sub-volume indicates whether that respective child sub-volume contains at least one of the points, wherein the instructions, when executed by a processor, cause the processor to:

for a current node associated with a volume split into child sub-volumes:

determine angular information for child sub-volumes or groups of child sub-volumes of the volume, the angular information being indicative of one or more elevation angles relative to a location associated with the beam assembly within the volumetric space;

determine a context for decoding a representation of an occupancy pattern of the volume based on the angular information, the occupancy pattern indicating occupancy statuses of the child sub-volumes of the volume, wherein the occupancy pattern is a sequence of occupancy bits associated with the volume, wherein the context tracks an internal probability to be used in context-adaptive coding; and

context-adaptively entropy decode the bitstream to generate a reconstructed representation of the occupancy pattern using the determined context.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: LASSERRE, SÉBASTIEN
To: BLACKBERRY FRANCE S.A.S.
Reel/Frame 062476/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: TAQUET, JONATHAN
To: BLACKBERRY FRANCE S.A.S.
Reel/Frame 062476/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: BLACKBERRY FRANCE S.A.S.
To: BLACKBERRY LIMITED
Reel/Frame 062476/0246 →
Priority Claims (1)
EP 19200890 · Oct 1, 2019 · regional
Continuity (1)
Related Publication 20220353549A1 · Nov 3, 2022
References Cited (40)
US 11871037B2 · Ramasubramonian · 2024 [cited by examiner]
US 11895307B2 · Mammou · 2024 [cited by applicant]
US 11941855B2 · Ray · 2024 [cited by examiner]
US 20110282581A1 · Zeng · 2011 [cited by applicant]
US 20160086353A1 · Lukac et al. · 2016 [cited by applicant]
US 20170134760A1 · Kirchhoffer et al. · 2017 [cited by applicant]
US 20170214943A1 · Cohen et al. · 2017 [cited by applicant]
US 20170347100A1 · Chou et al. · 2017 [cited by applicant]
US 20170347122A1 · Chou et al. · 2017 [cited by applicant]
US 20190080483A1 · Mammou et al. · 2019 [cited by applicant]
US 20190156520A1 · Mammou et al. · 2019 [cited by applicant]
US 20210327095A1 · Van der Auwera · 2021 [cited by examiner]
US 20210327098A1 · Ray · 2021 [cited by examiner]
US 20210327099A1 · Van der Auwera · 2021 [cited by examiner]
US 20210407143A1 · Van der Auwera · 2021 [cited by examiner]
US 20210409778A1 · Ramasubramonian · 2021 [cited by examiner]
US 20220337872A1 · Park · 2022 [cited by examiner]
US 20220366610A1 · Hur · 2022 [cited by applicant]
CN 101032172A · 2007 [cited by applicant]
CN 105723714 · 2016 [cited by applicant]
CN 106846425A · 2017 [cited by applicant]
CN 108769679A · 2018 [cited by applicant]
Song et al. “Progressive compression of PointTexture images” Article in Proceedings of SPIE—The International Society for Optical Engineering, Jan. 2004. [cited by applicant]
Miguel Branco Roque Nazare Ferreira “Dynamic 3D Point Cloud Compression” Nov. 2017 (Nov. 2017). [cited by applicant]
Sebastian Schwarz et al. “Emerging MPEG Standards for Point Cloud Compression” IEEE Journal on Emerging and Selected Topics in Circuits and Systems, vol. 9, No. 1, Mar. 2019. [cited by applicant]
Armin Hornung et al. “OctoMap: An Efficient Probabilistic 3D Mapping Framework Based on Octrees” Autonomous Robots (2013) Preprint, final version available at DO1 10.1007/s10514-012-9321-0. [cited by applicant]
Chenxi Tu et al. “Real-Time Streaming Point Cloud Compression for 3D LiDAR Sensor Using U-Net” accepted Aug. 2, date of publication Aug. 14, 2019, date of current version Aug. 28, 2019. [cited by applicant]
Sebastien Lasserre et al. “An improvement of the planar coding mode” ISO/IEC JTC1/SC29/WG11 MPEG2019/m50642 Oct. 2019, Geneva, CH. [cited by applicant]
“G-PCC codec description v4” ISO/IEC JTC 1/SC 29/WG 11 coding of moving pictues and audio Convenorship: UNI (Italy). [cited by applicant]
Sebastien Lasserre et al. “An Improvement of the planar coding mode The angular coding mode” CE 13.22 related. [cited by applicant]
Extended European Search Report, EP Application No. 19200890.2 dated Mar. 20, 2020. [cited by applicant]
J.-K. Ahn, K.-Y. Lee, J.-Y. Sim and C.-S. Kim, “Large-Scale 3D Point Cloud Compression Using adaptive Radial Distance Prediction in Hybrid Coordinate Domains,” in IEEE Journal of Selected Topics in Signal Processing, vo… [cited by applicant]
I. Daribo, R. Furukawa, R. Sagawa and H. Kawasaki, “Adaptive arithmetic coding for point cloud compression,” 2012 3DTV-Conference: The True Vision—Capture, Transmission and Display of 3D Video (3DTV-CON), Zurich, Switze… [cited by applicant]
Notice of Allowance dated Jul. 26, 2024; U.S. Appl. No. 17/771,354. [cited by applicant]
Cao, Chao, Marius Preda, and Titus Zaharia. “3D point cloud compression: a Survey.” Proceedings of the 24th International Conferenced on 3D Web Technology, 2019. [cited by applicant]
US Office Action dated Jul. 18, 2024; U.S. Appl. No. 17/771,196. [cited by applicant]
CN Office Action relating to CN application No. 201980101940.0, dated Sep. 5, 2024. [cited by applicant]
US Office Action, U.S. Appl. No. 17/771,246, filed Sep. 19, 2024. [cited by applicant]
Korean Office Action dated Oct. 21, 2024; Application No. 10-2022-7014079. [cited by applicant]
CN Office Action dated Oct. 22, 2024; Chinese Application No. 202080047369.1. [cited by applicant]
Cited By (1)
US 12,579,696