IP Library Granted Patent US 11,570,481
Granted Patent B2
US 11,570,481 · App. 16/955,279 · Granted Jan 31, 2023

Methods and devices using direct coding in point cloud compression

Inventors: David Flynn (Darmstadt, DE); Sébastien Lasserre (Thorigné-Fouillard, FR)
Assignee: BlackBerry Limited
H04N19/91G06T9/001G06T9/40H03M7/405H03M7/6094H04N19/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 11,570,481
App. No.
16/955,279
Filed
Jun 18, 2020
Granted
Jan 31, 2023
Kind
B2
Art Unit
2485
USPC
345/419
Abstract

Methods and devices for coding point clouds using direct coding mode to code coordinates of a point within a sub-volume associated with a current node instead of a pattern of occupancy for child nodes. Eligibility for use of direct coding is based on occupancy data from another node. If eligible, then a flag is represented in the bitstream to signal whether direct coding is applied to points in the sub-volume or not.

Claims (48)

1. A method of encoding a point cloud to generate a bitstream of compressed point cloud data, the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that represent the geometry of a volumetric space recursively split into sub-volumes and containing the points of the point cloud, the method comprising:

traversing the tree to entropy encode patterns of occupancy for sets of child nodes, wherein a pattern of occupancy indicates which of the sub-volumes associated with the respective child nodes contain at least one point, and wherein the traversing includes:

for a current node associated with a sub-volume,

determining, based on occupancy data from another node, that points within the sub-volume associated with the current node are eligible for direct coding;

determining, based on the number of points within the sub-volume associated with the current node, that direct coding is to be applied;

inserting a flag in the bitstream indicating the direct coding is to be applied in association with the current node; and

entropy encoding positional coordinate data for at least some of the points within the sub-volume.

2. The method claimed in claim 1 , wherein determining that the current node is eligible for direct coding includes determining eligibility based on an occupancy pattern for a parent node to the current node.

3. The method claimed in claim 2 , wherein the occupancy pattern for the parent node includes whether sibling nodes to the current node are occupied.

4. The method claimed in claim 1 , wherein determining that the current node is eligible for direct coding includes determining eligibility based on occupancy status of neighbouring nodes to the current node.

5. The method claimed in claim 4 , wherein the neighboring nodes are nodes that are associated with respective sub-volumes that share at least one face with the sub-volume associated with the current node.

6. The method claimed in claim 4 , wherein the neighboring nodes are nodes that are associated with respective sub-volumes that share at least one edge with the sub-volume associated with the current node.

7. The method claimed in claim 4 , wherein the neighboring nodes are nodes that are associated with respective sub-volumes that share at least one vertex with the sub-volume associated with the current node.

8. The method claimed in any claim 1 , wherein determining that the current node is eligible for direct coding includes determining eligibility based on occupancy data for a grandparent node to the current node.

9. The method claimed in claim 8 , wherein the occupancy data for the grandparent node includes whether sibling nodes to a parent node to the current node are occupied.

10. An encoder for encoding a point cloud to generate a bitstream of compressed point cloud data, the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that represent the geometry of a volumetric space recursively split into sub-volumes and containing the points of the point cloud, the encoder comprising:

a processor;

memory; and

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

traverse the tree to entropy encode patterns of occupancy for sets of child nodes, wherein a pattern of occupancy indicates which of the sub-volumes associated with the respective child nodes contain at least one point, and wherein the traversing includes:

for a current node associated with a sub-volume,

determine, based on occupancy data from another node, that points within the sub-volume associated with the current node are eligible for direct coding;

determine, based on the number of points within the sub-volume associated with the current node, that direct coding is to be applied;

insert a flag in the bitstream indicating the direct coding is to be applied in association with the current node; and

entropy encode positional coordinate data for at least some of the points within the sub-volume.

11. A method of decoding a bitstream of compressed point cloud data to produce a reconstructed point cloud, the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that represent the geometry of a volumetric space recursively split into sub-volumes and containing the points of the point cloud, the method comprising:

traversing the tree to entropy decode patterns of occupancy for sets of child nodes, wherein a pattern of occupancy indicates which of the sub-volumes associated with the respective child nodes contain at least one point, and wherein the traversing includes:

for a current node associated with a sub-volume,

determining, based on occupancy data from another node, that points within the sub-volume associated with the current node are eligible for direct coding;

decoding a flag from the bitstream, wherein the decoded flag indicates that direct coding was used for the current node; and

based on the decoded flag, entropy decoding positional coordinate data for points within the sub-volume.

12. The method claimed in claim 11 , wherein determining that the current node is eligible for direct coding includes determining eligibility based on an occupancy pattern for a parent node to the current node.

13. The method claimed in claim 12 , wherein the occupancy pattern for the parent node includes whether sibling nodes to the current node are occupied.

14. The method claimed in claim 11 , wherein determining that the current node is eligible for direct coding includes determining eligibility based on occupancy status of neighbouring nodes to the current node.

15. The method claimed in claim 14 , wherein the neighboring nodes are nodes that are associated with respective sub-volumes that share at least one face with the sub-volume associated with the current node.

16. The method claimed in claim 14 , wherein the neighboring nodes are nodes that are associated with respective sub-volumes that share at least one edge with the sub-volume associated with the current node.

17. The method claimed in claim 14 , wherein the neighboring nodes are nodes that are associated with respective sub-volumes that share at least one vertex with the sub-volume associated with the current node.

18. The method claimed in claim 11 , wherein determining that the current node is eligible for direct coding includes determining eligibility based on occupancy data for a grandparent node to the current node.

19. The method claimed in claim 18 , wherein the occupancy data for the grandparent node includes whether sibling nodes to a parent node to the current node are occupied.

20. A decoder for decoding a bitstream of compressed point cloud data to produce a reconstructed point cloud, the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that represent the geometry of a volumetric space recursively split into sub-volumes and containing the points of the point cloud, the decoder comprising:

a processor;

memory; and

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

traverse the tree to entropy decode patterns of occupancy for sets of child nodes, wherein a pattern of occupancy indicates which of the sub-volumes associated with the respective child nodes contain at least one point, and wherein the traversing includes:

for a current node associated with a sub-volume,

determine, based on occupancy data from another node, that points within the sub-volume associated with the current node are eligible for direct coding;

decode a flag from the bitstream, wherein the decoded flag indicates that direct coding was used for the current node; and

based on the decoded flag, entropy decode positional coordinate data for points within the sub-volume.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: LASSERRE, SÉBASTIEN
To: BLACKBERRY FRANCE S.A.S.
Reel/Frame 052977/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: FLYNN, DAVID
To: QNX SOFTWARE SYSTEMS LIMITED GMBH
Reel/Frame 052977/0877 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: QNX SOFTWARE SYSTEMS LIMITED GMBH
To: 2236008 ONTARIO INC.
Reel/Frame 052977/0989 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: BLACKBERRY FRANCE S.A.S.
To: BLACKBERRY LIMITED
Reel/Frame 052978/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 052980/0769 →
Priority Claims (1)
EP 18305038 · Jan 18, 2018 · regional
Continuity (1)
Related Publication 20200396489A1 · Dec 17, 2020