IP Library › Granted Patent US 11,961,268
Granted Patent B2
US 11,961,268 · App. 17/267,829 · Granted Apr 16, 2024

Predictive coding of point clouds using multiple frames of references

Inventors: Sébastien Lasserre (Thorigné-fouillard, FR); David Flynn (Darmstadt, DE); Gaëlle Christine Martin-Cocher (Toronto, CA)
Assignee: BlackBerry Limited
G06T9/40H04N19/184H04N19/52
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,961,268
App. No.
17/267,829
Granted
Apr 16, 2024
Kind
B2
Abstract

Methods and devices for encoding a point cloud. More than one frame of reference is identified and a transform defines the relative motion of a second frame of reference to a first frame of reference. The space is segmented into regions and each region is associated with one of the frames of reference. Local motion vectors within a region are expressed relative to the frame of reference associated with that region. Occupancy of the bitstream is entropy encoded based on predictions determined using the location motion vectors and the transform associated with the attached frame of reference.

Claims (38)

1. A method of encoding a point cloud, the point cloud being located within a volumetric space containing the points of the point cloud, each of the points having a geometric location within the volumetric space, the method comprising:

determining a transform defining relative motion of a second frame of reference to a first frame of reference;

segmenting the volumetric space into regions, each region being associated with one of the frames of reference;

for a cuboid in one of the regions, generating a predicted sub-volume based on previously-encoded point cloud data and a local motion vector expressed relative to the frame of reference associated with said one of the regions, wherein generating the predicted sub-volume includes applying the transform to the previously-encoded point cloud data to generate transformed previously-encoded point cloud data, and applying the local motion vector to the transformed previously-encoded point cloud data to generate the predicted sub-volume;

entropy encoding occupancy of the cuboid based in part on the predicted sub-volume; and

outputting a bitstream of encoded data including the entropy encoded occupancy of the cuboid, the local motion vector, and the transform.

2. The method claimed in claim 1 , wherein the first frame of reference is fixed to a vehicle and wherein the second frame of reference is fixed to Earth.

3. The method claimed in claim 1 , wherein segmenting includes segmenting at least a portion of the volumetric space into prediction units and assigning each prediction unit to one of the regions.

4. The method claimed in claim 1 , wherein the transform includes a 3D matrix and a 3D vector.

5. The method claimed in claim 1 , further comprising determining a list of frames of reference and encoding the list, and wherein segmenting includes, for each region, encoding an index to the list that associates that region with said one of the frame of reference from the list.

6. An encoder for encoding a point cloud to generate a bitstream of compressed point cloud data, the point cloud being located within a volumetric space recursively split into sub-volumes and containing the points of the point cloud, each of the points having a geometric location within the volumetric space, the encoder comprising:

a processor;

memory; and

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

determine a transform defining relative motion of a second frame of reference to a first frame of reference;

segment the volumetric space into regions, each region being associated with one of the frames of reference;

for a cuboid in one of the regions, generate a predicted sub-volume based on previously-encoded point cloud data and a local motion vector expressed relative to the frame of reference associated with said one of the regions wherein to generate the predicted sub-volume by applying the transform to the previously-encoded point cloud data to generate transformed previously-encoded point cloud data, and applying the local motion vector to the transformed previously-encoded point cloud data to generate the predicted sub-volume;

entropy encode occupancy of the cuboid based in part on the predicted sub-volume; and

output a bitstream of encoded data including the entropy encoded occupancy of the cuboid, the local motion vector, and the transform.

7. A decoder for reconstructing a point cloud from a bitstream of compressed point cloud data, the point cloud being located within a volumetric space recursively split into sub-volumes and containing the points of the point cloud, each of the points having a geometric location within the volumetric space, the decoder comprising:

a processor;

memory; and

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

decode a bitstream to reconstruct a transform defining relative motion of a second frame of reference to a first frame of reference;

segment the volumetric space into regions, each region being associated with one of the frames of reference;

for a cuboid in one of the regions, decode the bitstream to obtain a local motion vector expressed relative to the frame of reference associated with said one of the regions, and generating a predicted sub-volume based on previously-encoded point cloud data and the decoded local motion vector, wherein to generate the predicted sub-volume by applying the transform to the previously-encoded point cloud data to generate transformed previously-encoded point cloud data, and applying the local motion vector to the transformed previously-encoded point cloud data to generate the predicted sub-volume;

entropy decode the bitstream to reconstruct occupancy of the cuboid based in part on the predicted sub-volume; and

output the reconstructed point cloud based on the reconstructed occupancy of the cuboid.

8. A method of decoding encoded data to reconstruct a point cloud, the point cloud being located within a volumetric space containing the points of the point cloud, each of the points having a geometric location within the volumetric space, the method comprising:

decoding a bitstream to reconstruct a transform defining relative motion of a second frame of reference to a first frame of reference;

segmenting the volumetric space into regions, each region being associated with one of the frames of reference;

for a cuboid in one of the regions, decoding the bitstream to obtain a local motion vector expressed relative to the frame of reference associated with said one of the regions, and generating a predicted sub-volume based on previously-encoded point cloud data and the decoded local motion vector, wherein generating the predicted sub-volume includes applying the transform to the previously-encoded point cloud data to generate transformed previously-encoded point cloud data, and applying the local motion vector to the transformed previously-encoded point cloud data to generate the predicted sub-volume;

entropy decoding the bitstream to reconstruct occupancy of the cuboid based in part on the predicted sub-volume; and

outputting the reconstructed point cloud based on the reconstructed occupancy of the cuboid.

9. The method claimed in claim 8 , wherein the first frame of reference is fixed to a vehicle and wherein the second frame of reference is fixed to Earth.

10. The method claimed in claim 8 , wherein segmenting includes segmenting at least a portion of the volumetric space into prediction units and assigning each prediction unit to one of the regions.

11. The method claimed in claim 8 , wherein the transform includes a 3D matrix and a 3D vector.

12. The method claimed in claim 8 , further comprising decoding a list of frames of reference, and wherein segmenting includes, for each region, decoding an index to the list that associates that region with said one of the frame of reference from the list.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: BLACKBERRY UK LIMITED; BLACKBERRY FRANCE S.A.S.
To: BLACKBERRY LIMITED
Reel/Frame 055244/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: QNX SOFTWARE SYSTEMS GMBH
To: 2236008 ONTARIO INC.
Reel/Frame 055224/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: FLYNN, DAVID
To: QNX SOFTWARE SYSTEMS GMBH
Reel/Frame 055224/0462 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: BLACKBERRY FRANCE S.A.S.
To: BLACKBERRY LIMITED
Reel/Frame 055224/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: MARTIN-COCHER, GAËLLE CHRISTINE
To: BLACKBERRY LIMITED
Reel/Frame 055224/0519 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: 2236008 ONTARIO INC.
To: BLACKBERRY LIMITED
Reel/Frame 055279/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: LASSERRE, SÉBASTIEN
To: BLACKBERRY FRANCE S.A.S.
Reel/Frame 055224/0489 →
Priority Claims (1)
EP 18306296 · Oct 2, 2018 · regional
Continuity (1)
Related Publication 20210192798A1 · Jun 24, 2021