IP Library › Granted Patent US 11,949,909
Granted Patent B2
US 11,949,909 · App. 17/558,362 · Granted Apr 2, 2024

Global motion estimation using road and ground object labels for geometry-based point cloud compression

Inventors: Luong Pham Van (San Diego, CA); Adarsh Krishnan Ramasubramonian (Irvine, CA); Bappaditya Ray (San Diego, CA); Geert Van der Auwera (Del Mar, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/527H04N19/124H04N19/139H04N19/177H04N19/597
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,949,909
App. No.
17/558,362
Granted
Apr 2, 2024
Kind
B2
Abstract

An example device for coding point cloud data includes a memory configured to store data representing points of a point cloud, and one or more processors implemented in circuitry and configured to: determine height values of points in a point cloud; classify the points into a set of ground points or a set of object points according to the height values; and code the ground points and the object points according to the classifications. The one or more processors may determine top and bottom thresholds and classify the ground and object points according to the top and bottom thresholds. The one or more processors may further code a data structure, such as a geometry parameter set (GPS), including data representing the top and bottom thresholds.

Claims (110)

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

determining height values of points in a point cloud;

coding a data structure including data representing a top threshold and a bottom threshold;

coding data representing a midpoint between the top threshold and the bottom threshold;

coding data representing a distance from the midpoint to the top threshold and the bottom threshold;

classifying each of the points into either a set of ground points or a set of object points according to the height values, including:

classifying points having height values below the threshold into the set of ground points; and

classifying points having height values above the threshold into the set of object points; and

coding the ground points and the object points according to the classifications.

2. The method of claim 1 , wherein coding the object points comprises:

deriving a set of global motion information for the object points; and

predicting the object points using the set of global motion information.

3. The method of claim 2 , wherein deriving the set of global motion information comprises deriving the set of global motion information only for the object points.

4. The method of claim 2 , wherein the set of global motion information comprises a first set of global motion information, and wherein coding the ground points comprises:

deriving a second set of global motion information for the ground points; and

predicting the ground points using the second set of global motion information.

5. The method of claim 4 , wherein deriving the second set of global motion information comprises deriving the second set of global motion information only for the ground points.

6. The method of claim 2 , wherein deriving the set of global motion information comprises deriving a rotation matrix and a translation vector, and wherein coding the object points comprises applying the rotation matrix and the translation vector to reference points of a reference frame.

7. The method of claim 6 , wherein coding the object, points further comprises:

determining local node motion vectors of nodes of a prediction tree, the nodes including respective sets of reference points of the reference frame; and

applying the local node motion vectors to the nodes.

8. The method of claim 1 , wherein the method further comprising determining the bottom threshold, wherein classifying the points comprises:

classifying points having height values between the top threshold and the bottom threshold into the set of ground points; and

classifying points having height values above the top threshold or below the bottom threshold into the set of object points.

9. The method of claim 8 , wherein the top threshold comprises z_max i and the bottom threshold comprises z_min i of an i th value range (x_min i , x_max i ), (y_min i , y_max i ), (z_min i , z_max i )}.

10. The method of claim 9 , wherein the i th value range comprises an i th value range of N value ranges.

11. The method of claim 9 , wherein x_min i and y_min i have values of negative infinity, and x_max i and y_max i have values of infinity.

12. The method of claim 8 , wherein coding the ground points and the object points further comprises:

quantizing the ground points and the object points by a scaling factor; and

quantizing the top threshold and the bottom threshold by the scaling factor.

13. The method of claim 8 , wherein determining the top threshold and the bottom threshold comprises determining the top threshold and the bottom threshold for a group of pictures (GOP) including a plurality of frames including the point cloud.

14. The method of claim 13 , wherein determining the top threshold and the bottom threshold comprises determining the top threshold and the bottom threshold for an ordinal first frame of the plurality of frames.

15. The method of claim 13 , wherein determining the top threshold and the bottom threshold comprises determining the top threshold and the bottom threshold as a weighted average of thresholds for the plurality of frames.

16. The method of claim 8 , wherein determining the top threshold and the bottom threshold comprises determining the top threshold and the bottom threshold for a sequence parameter set (SPS) corresponding to a plurality of frames including the point cloud.

17. The method of claim 8 , wherein determining the top threshold and the bottom threshold comprises:

deter mining a maximum histogram height value, max_box_t;

determining a minimum histogram height value, min_box_t;

determining a histogram scale value, hist_scale;

determining a histogram bin size value, hist_bin_size, according to int((max_box_t−min_box_t)/hist_scale);

generating a histogram of the points with height values in the range from min_box_t to max_box_t;

calculating a standard deviation of the histogram;

determining a bin having a maximum number of height values in the histogram; and

determining the top threshold and the bottom threshold according to offsets from the bin having the maximum number of height values, the offsets being defined according to respective multiples of the standard deviation.

18. The method of claim 1 , wherein coding the data structure comprises coding at least one of a sequence parameter set (SPS), a geometry parameter set (GPS), or a geometry data unit header (GDH).

19. The method of claim 1 , wherein coding the data structure comprises coding the value for the top threshold and a flag indicating whether data is to be coded for the bottom threshold.

20. The method of claim 1 , wherein coding the data structure comprises:

coding a value for a geom_glolornotion_threshold0 representing the top threshold; and

coding a value for a geom_globmotion_threshold1 representing the bottom threshold.

21. The method of claim 1 , wherein coding the data representing the top threshold and the bottom threshold comprises coding the data representing the top threshold and the bottom threshold using respective unsigned integer 0 th order Exp-Golomb values.

22. The method of claim 1 , wherein coding the data representing the top threshold and the bottom threshold comprises coding the data representing the top threshold and the bottom threshold using respective signed integer 0th order Exp-Golomb values.

23. The method of claim 1 , wherein coding the data representing the top threshold and the bottom threshold comprises coding the data representing the top threshold and the bottom threshold comprises using a respective signed fixed length value, the method further comprising coding data representing a number of bits assigned to the top threshold and the bottom threshold.

24. The method of claim 1 , further comprising coding a geometry data unit header (GDH) including data that overrides or refines the data of the data structure for the at least one of the top threshold or the bottom threshold.

25. The method of claim 1 , wherein coding the ground points and the object points comprises encoding the ground points and the object points.

26. The method of claim 25 , further comprising generating a bitstream including encoded data representing the ground points and the object points.

27. The method of claim 1 , wherein coding the ground points and the object points comprises decoding the ground points and the object points.

28. A device adapted to code point cloud data, the device comprising:

a memory configured to store data representing points of a point, cloud; and

a processing system comprising one or more processors implemented in circuitry, the processing system configured to:

determine height values of points in a point cloud;

code a data structure including data representing a top threshold and a bottom threshold;

code data that represents a midpoint between a top threshold and a bottom threshold:

code data that represents a distance from the midpoint to the top threshold and the bottom threshold;

classify each of the points into either a set of ground points or a set of object points according to the height values, including:

classify points having height values below the threshold into the set of ground points; and

classify points having height values above the threshold into the set of object points; and

code the ground points and the object points according to the classifications.

29. The device of claim 28 , wherein to code the object points, the processing system is configured to:

derive a set of global motion information for the object points; and

predict the object points using the set of global motion information.

30. The device of claim 29 , wherein the processing system is configured to derive the set of global motion, information only for the object points.

31. The device of claim 29 , wherein the set of global motion information comprises a first set of global motion information, and wherein to code the ground points, the processing system is configured to:

derive a second set of global motion information for the ground points; and

predict the ground points using the second set of global motion information.

32. The device of claim 31 , wherein the processing system is configured to derive the second set of global motion information only for the ground points.

33. The device of claim 29 , wherein to derive the set of global motion information, the processing system is configured to derive a rotation matrix and a translation vector, and wherein to code the object points, the processing system is configured to apply the rotation matrix and the translation vector to reference points of a reference frame.

34. The device of claim 33 , wherein to code the object points, the processing system is further configured to:

determine local node motion vectors of nodes of a prediction tree, the nodes including respective sets of reference points of the reference frame; and

apply the local node motion vectors to the nodes.

35. The device of claim 28 , wherein the threshold comprises the top threshold, wherein the processing system is configured to determine the bottom threshold, and wherein to classify the points, the processing system is configured to:

classify points having height values between the top threshold and the bottom threshold into the set of ground points; and

classify points having height values above the top threshold or below the bottom threshold into the set of object points.

36. The device of claim 35 , wherein the top threshold comprises z_max i and the bottom threshold comprises z_min i of an i th value range {(x_min i , x_max i ), (y_min i , y_max i ), (z_min i , z_max i )}.

37. The device of claim 36 , wherein the value range comprises an i th value range of N value ranges.

38. The device of claim 36 , wherein x_min i and y_min i have values of negative infinity, and x_max i and y_max i have values of infinity.

39. The device of claim 35 , wherein to the ground points and, the object points, the processing system is further configured to:

quantize the ground points and the object points by a scaling factor; and

quantize the top threshold and the bottom threshold by the scaling factor.

40. The device of claim 28 , wherein to code the ground points and the object points, the processing system is configured to encode the ground points and the object points.

41. The device of claim 40 , wherein the processing system is further configured to generate a bitstream including encoded data representing the ground points and the object points.

42. The device of claim 28 , wherein to code the ground points and the object points, the processing system is configured to decode the ground points and the object points.

43. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:

determine height values of points in a point cloud;

code a data structure including data representing a top threshold and a bottom threshold:

code data representing a midpoint between the top threshold and the bottom threshold;

code data representing a distance from the midpoint to the top threshold and the bottom threshold;

classify each of the points into either a set of around points or a set of object points according to the height values, including instructions that cause the processor to:

classify points having height values below the threshold into the set of ground points; and

classify points having height values above the threshold into the set of object points: and

code the ground points and the object points according to the classifications.

44. A device for coding point cloud data, the device comprising:

means for determining height values of points in a point cloud;

means for coding a data structure including data representing a top threshold and a bottom threshold;

means for coding data representing a midpoint between the top threshold and the bottom threshold;

means for coding data representing a distance from the midpoint to the top threshold and the bottom threshold;

means for classifying each of the points into either a set of ground points or a set of object points according to the height values, including:

means for classifying points having height values below the threshold into the set of ground points; and

means for classifying points having height values above the threshold into the set of object points; and

means for coding the ground points and the object points according to the classifications.

45. The device of claim 28 , wherein the adapted to code is adapted to encode and the device is an encoder device.

46. The device of claim 28 , wherein the adapted to code is adapted to decode and the device is a decoder device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2022
From: PHAM VAN, LUONG; RAMASUBRAMONIAN, ADARSH KRISHNAN; RAY, BAPPADITYA; VAN DER AUWERA, GEERT; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 058930/0333 →
Continuity (3)
Provisional Application 63171945 · Apr 7, 2021
Provisional Application 63131637 · Dec 29, 2020
Related Publication 20220210466A1 · Jun 30, 2022
Cited By (1)
US 12,548,198