IP Library Granted Patent US 12,165,366
Granted Patent B2
US 12,165,366 · App. 17/145,998 · Granted Dec 10, 2024

Point cloud encoding method and decoding method using rotation matrixes, encoder, and decoder

Inventors: Dejun Zhang (Shenzhen, CN); Bo Liu (Beijing, CN); Wei Hu (Beijing, CN); Wenhai Wu (Beijing, CN); Tian Wang (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06T9/00G06T3/60G06T3/602G06T9/001G06T15/00H04N19/20H04N19/46
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,165,366
App. No.
17/145,998
Granted
Dec 10, 2024
Kind
B2
Abstract

A point cloud decoding method related to the field of coding technologies and includes reconstructing a point cloud comprising one or more patches. The one or more patches comprise a current patch. The reconstructing process may include transforming coordinates (x2, y2) of a second point of the current patch in a second coordinate system to coordinates (x1, y1) of a first point of the current patch in a first coordinate system, where the coordinates (x1, y1) of the first point of the current patch in the first coordinate system may be obtained based on the coordinates (x2, y2) of the second point of the current patch in the second coordinate system and a transform matrix.

Claims (219)

1. A point cloud encoding apparatus comprising:

a memory containing instructions; and

a processor, in communication with the memory and upon execution of the instructions, is configured to:

project a current patch from a three-dimensional space to a two-dimensional space;

transform first coordinates (x1, y1) of a point of the current patch in a first coordinate system to second coordinates (x2, y2) of the point of the current patch in a second coordinate system, wherein the second coordinates (x2, y2) of the point of the current patch are obtained based on the first coordinates (x1, y1) of the point of the current patch and a selected transform matrix, to obtain an occupancy map of the current patch;

obtain, by pre-projecting the current patch from a three-dimensional space to a two-dimensional space, size information of a minimum bounding rectangle corresponding to the two-dimensional space of the current patch, wherein the size information comprises an index of the relationship between the sizes of the sides of the minimum bounding rectangle;

obtain a tangent axis of the current patch and a bitangent axis of the current patch, wherein the selected transform matrix is selected from a plurality of transform matrices which correspond to different rotation angles, wherein a size of an occupancy map of a point cloud depends on the minimum bounding rectangle of the occupancy map of each patch of a plurality of patches of the point cloud;

generate one or more syntax elements indicating the selected transform matrix for the current patch, the tangent axis of the current patch, the bitangent axis of the current patch, and the size information of the minimum bounding rectangle;

encode the syntax element into a bitstream; and

store the bitstream for communication toward a point cloud decoder.

2. The point cloud encoding apparatus of claim 1 , wherein the selected transform matrix is a rotation matrix, and wherein the rotation matrix corresponds to a rotation angle θ of the current patch.

3. The point cloud encoding apparatus of claim 1 , wherein the one or more syntax elements further include an index of the second coordinate system and information used to indicate a rotation angle θ of the current patch.

4. The point cloud encoding apparatus of claim 1 , wherein the size information comprises side size information corresponding to lengths of two sides of the minimum bounding rectangle.

5. The point cloud encoding apparatus of claim 1 , wherein the transformation matrix is represented as:

[

1

0

0

1

]

,

[

0

-

1

1

0

]

,

[

-

1

0

0

-

1

]

,

or

[

0

1

-

1

0

]

.

6. A point cloud decoding apparatus comprising:

a memory containing instructions; and

a processor, in communication with the memory and upon execution of the instructions, is configured to:

reconstruct a point cloud comprising one or more patches, wherein the one or more patches comprise a current patch, wherein the reconstructing process comprises:

parsing a bitstream to obtain one or more syntax elements, wherein the one or more syntax elements comprise information indicating a transform matrix of the current patch, a tangent axis of the current patch, and a bitangent axis of the current patch;

obtaining, by pre-projecting the current patch from a three-dimensional space to a two-dimensional space, size information of a minimum bounding rectangle corresponding to the two-dimensional space of the current patch, wherein the size information comprises an index of the relationship between the sizes of the sides of the minimum bounding rectangle;

determining, based on the size information, whether the tangent axis is the same as a reference tangent axis or a reference bitangent axis; and

transforming second coordinates (x2, y2) of a second point of the current patch in a second coordinate system to first coordinates (x1, y1) of a first point of the current patch in a first coordinate system,

wherein the first coordinates (x1, y1) of the first point of the current patch in the first coordinate system are obtained based on the second coordinates (x2, y2) of the second point of the current patch in the second coordinate system, the transform matrix, the tangent axis, and the bitangent axis, and

wherein the transform matrix is selected, based on the information indicating the transform matrix, from a plurality of transform matrices which correspond to different rotation angles.

7. The point cloud decoding apparatus of claim 6 , wherein the processor is further configured to reconstruct geometry information of the point cloud based on one or more first occupancy maps of the one or more patches in the point cloud.

8. The point cloud decoding apparatus of claim 6 , wherein the transform matrix is a rotation matrix, and wherein the rotation matrix corresponds to a rotation angle θ of the current patch.

9. The point cloud decoding apparatus of claim 6 , wherein the size information comprises side size information corresponding to lengths of two sides of the minimum bounding rectangle.

10. The point cloud decoding apparatus of claim 6 , wherein the transformation matrix is represented as:

[

1

0

0

1

]

,

[

0

-

1

1

0

]

,

[

-

1

0

0

-

1

]

,

or

[

0

1

-

1

0

]

.

11. A non-transitory computer-readable media storing computer instructions that when executed by one or more processors, cause the one or more processors to perform the steps of:

projecting a current patch from a three-dimensional space to a two-dimensional space;

transforming first coordinates (x1, y1) of a point of the current patch in a first coordinate system to second coordinates (x2, y2) of the point of the current patch in a second coordinate system, wherein the second coordinates (x2, y2) of the point of the current patch are obtained based on the first coordinates (x1, y1) of the point of the current patch and a selected transform matrix, to obtain an occupancy map of the current patch;

obtaining, by pre-projecting the current patch from a three-dimensional space to a two-dimensional space, size information of a minimum bounding rectangle corresponding to the two-dimensional space of the current patch, wherein the size information comprises an index of the relationship between the sizes of the sides of the minimum bounding rectangle;

obtaining a tangent axis of the current patch and a bitangent axis of the current patch, wherein the selected transform matrix is selected from a plurality of transform matrices which correspond to different rotation angles, wherein a size of an occupancy map of a point cloud depends on the minimum bounding rectangle of the occupancy map of each patch of a plurality of patches of the point cloud;

generating one or more syntax elements indicating the selected transform matrix for the current patch, the tangent axis of the current patch, the bitangent axis of the current patch and the size information of the minimum bounding rectangle;

encoding the syntax element into a bitstream; and

storing the bitstream for communication toward a point cloud decoder.

12. The non-transitory computer-readable media of claim 11 , wherein the one or more syntax elements further include an index of the second coordinate system and information used to indicate a rotation angle θ of the current patch.

13. The non-transitory computer-readable media of claim 11 , wherein the transformation matrix is represented as:

[

1

0

0

1

]

,

[

0

-

1

1

0

]

,

[

-

1

0

0

-

1

]

,

or

[

0

1

-

1

0

]

.

14. A non-transitory computer-readable media storing computer instructions that when executed by one or more processors, cause the one or more processors to perform the steps of:

reconstructing a point cloud comprising one or more patches, wherein the one or more patches comprise a current patch, wherein a reconstructing process comprises:

parsing a bitstream to obtain one or more syntax elements, wherein the one or more syntax elements comprise information indicating a transform matrix of the current patch, a tangent axis of the current patch, a bitangent axis of the current patch;

obtaining, by pre-projecting the current patch from a three-dimensional space to a two-dimensional space, size information of a minimum bounding rectangle corresponding to the two-dimensional space of the current patch, wherein the size information comprises an index of the relationship between the sizes of the sides of the minimum bounding rectangle;

determining, based on the size information, whether the tangent axis is the same as a reference tangent axis or a reference bitangent axis; and

transforming second coordinates (x2, y2) of a second point of the current patch in a second coordinate system to first coordinates (x1, y1) of a first point of the current patch in a first coordinate system, wherein the first coordinates (x1, y1) of the first point of the current patch in the first coordinate system are obtained based on the second coordinates (x2, y2) of the second point of the current patch in the second coordinate system, the transform matrix, the tangent axis, and the bitangent axis, wherein the transform matrix is selected, based on information indicating the transform matrix, from a plurality of transform matrices which correspond to different rotation angles.

15. The non-transitory computer-readable media of claim 14 , wherein the transformation matrix is represented as:

[

1

0

0

1

]

,

[

0

-

1

1

0

]

,

[

-

1

0

0

-

1

]

,

or

[

0

1

-

1

0

]

.

16. A non-transitory storage medium comprising a bitstream encoded by performing the steps of:

projecting a current patch from a three-dimensional space to a two-dimensional space;

transforming first coordinates (x1, y1) of a point of the current patch in a first coordinate system to second coordinates (x2, y2) of the point of the current patch in a second coordinate system, wherein the second coordinates (x2, y2) of the point of the current patch are obtained based on the first coordinates (x1, y1) of the point of the current patch and a selected transform matrix, to obtain an occupancy map of the current patch;

obtaining, by pre-projecting the current patch from a three-dimensional space to a two-dimensional space, size information of a minimum bounding rectangle corresponding to the two-dimensional space of the current patch, wherein the size information comprises an index of the relationship between the sizes of the sides of the minimum bounding rectangle;

obtaining a tangent axis of the current patch and a bitangent axis of the current patch, wherein the selected transform matrix is selected from a plurality of transform matrices which correspond to different rotation angles, wherein a size of an occupancy map of a point cloud depends on the minimum bounding rectangle of the occupancy map of each patch of a plurality of patches of the point cloud;

generating one or more syntax elements indicating the selected transform matrix for the current patch, the tangent axis of the current patch, the bitangent axis of the current patch, and the size information of the minimum bounding rectangle; and

encoding the syntax element into the bitstream.

17. The non-transitory storage medium of claim 16 , wherein the one or more syntax elements further include an index of the second coordinate system and information used to indicate a rotation angle θ of the current patch.

18. The non-transitory storage medium of claim 16 , wherein the transformation matrix is represented as:

[

1

0

0

1

]

,

[

0

-

1

1

0

]

,

[

-

1

0

0

-

1

]

,

or

[

0

1

-

1

0

]

.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2021
From: ZHANG, DEJUN; LIU, BO; HU, WEI; WU, WENHAI; WANG, TIAN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 056243/0590 →
Priority Claims (1)
CN 201810766911.3 · Jul 12, 2018 · national
Continuity (2)
Continuation PCTCN2019095884 · Jul 12, 2019
Related Publication 20210183110A1 · Jun 17, 2021
Cited By (2)
US 12,327,382 US 12,406,399