IP Library › Granted Patent US 11,902,589
Granted Patent B2
US 11,902,589 · App. 17/964,458 · Granted Feb 13, 2024

Point cloud encoding and decoding method, encoder, and decoder

Inventors: Wei Zhang (Dongguan, CN); Junyan Huo (Dongguan, CN); Yanzhuo Ma (Dongguan, CN)
Assignee: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
H04N19/70H04N19/119H04N19/174H04N19/30H04N19/96H04N19/60
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,902,589
App. No.
17/964,458
Granted
Feb 13, 2024
Kind
B2
Abstract

A point cloud encoding and decoding method, an encoder, and a decoder are provided. The encoder determines a processing order of point cloud data during point cloud encoding. The encoder determines a coordinate-axis-order index corresponding to the processing order. The encoder encodes the coordinate-axis-order index and signals encoded bits into a bitstream. The encoder processes the point cloud data according to the processing order, to obtain point cloud data to-be-encoded. The encoder encodes the point cloud data to-be-encoded and signals encoded bits into the bitstream. The decoder decodes a bitstream to obtain a coordinate-axis-order index, determines a processing order of point cloud data during point cloud decoding according to the coordinate-axis-order index, decodes the bitstream to obtain recovered data of the point cloud data, and determines a position of coordinate data of the point cloud data in a storage unit of the recovered data according to the processing order.

Claims (120)

1. A point cloud encoding method, implemented in an encoder and comprising:

determining a processing order of point cloud data during point cloud encoding, the processing order indicating a coordinate axis processing order of three-dimensional coordinates of the point cloud data and the point cloud data being all or part of data in point cloud;

determining a coordinate-axis-order index corresponding to the processing order;

encoding the coordinate-axis-order index and signalling encoded bits into a bitstream;

processing the point cloud data according to the processing order, to obtain point cloud data to-be-encoded; and

encoding the point cloud data to-be-encoded and signalling encoded bits into the bitstream, wherein a correspondence table between preset indexes and processing orders comprises:

coordinate-axis-order index

processing order

0

Z-Y-X order

1

X-Y-Z order

2

X-Z-Y order

3

Y-Z-X order

4

Z-Y-X order

5

Z-X-Y order

6

Y-X-Z order

7

X-Y-Z order.

2. The method of claim 1 , wherein determining the processing order of the point cloud data during point cloud encoding comprises:

determining the processing order according to a Morton code of a node in the point cloud data.

3. The method of claim 1 , wherein the processing order is any of a Z-Y-X order, an X-Y-Z order, an X-Z-Y order, a Y-Z-X order, a Z-X-Y order, and a Y-X-Z order, and X, Y, Z are coordinate axes of the three-dimensional coordinates of the point cloud data.

4. The method of claim 3 , wherein determining the coordinate-axis-order index corresponding to the processing order comprises:

setting a value of the coordinate-axis-order index corresponding to the processing order according to the correspondence table between the preset indexes and the processing orders.

5. A point cloud decoding method, implemented in a decoder and comprising:

decoding a bitstream to obtain a coordinate-axis-order index;

determining a processing order of point cloud data during point cloud decoding according to the coordinate-axis-order index, the processing order indicating a coordinate axis processing order of three-dimensional coordinates of the point cloud data and the point cloud data being all or part of data in point cloud;

decoding the bitstream to obtain recovered data of the point cloud data; and

determining a position of coordinate data of the point cloud data in a storage unit of the recovered data according to the processing order, wherein a correspondence table between preset indexes and processing orders comprises:

coordinate-axis-order index

processing order

0

Z-Y-X order

1

X-Y-Z order

2

X-Z-Y order

3

Y-Z-X order

4

Z-Y-X order

5

Z-X-Y order

6

Y-X-Z order

7

X-Y-Z order.

6. The method of claim 5 , wherein decoding the bitstream to obtain the coordinate-axis-order index comprises:

parsing a fixed length code to obtain the coordinate-axis-order index; or

parsing a bitstream corresponding to a data unit of a parameter set in the bitstream, wherein the data unit of the parameter set contains parameters used for decoding the point cloud data.

7. The method of claim 5 , wherein the processing order is any of a Z-Y-X order, an X-Y-Z order, an X-Z-Y order, a Y-Z-X order, a Z-X-Y order, and a Y-X-Z order, and X, Y, Z are coordinate axes of the three-dimensional coordinates of the point cloud data.

8. The method of claim 7 , wherein determining the processing order of the point cloud data during point cloud decoding according to the coordinate-axis-order index comprises:

determining the processing order corresponding to the coordinate-axis-order index according to the correspondence table between the preset indexes and the processing orders.

9. An encoder, comprising:

at least one processor; and

a memory coupled to the at least one processor and storing at least one computer executable instruction thereon which, when executed by the at least one processor, causes the at least one processor to:

determine a processing order of point cloud data during point cloud encoding, the processing order indicating a coordinate axis processing order of three-dimensional coordinates of the point cloud data and the point cloud data being all or part of data in point cloud;

determine a coordinate-axis-order index corresponding to the processing order;

encode the coordinate-axis-order index and signal encoded bits into a bitstream;

process the point cloud data according to the processing order, to obtain point cloud data to-be-encoded; and

encode the point cloud data to-be-encoded and signal encoded bits into the bitstream, wherein a correspondence table between preset indexes and processing orders comprises:

coordinate-axis-order index

processing order

0

Z-Y-X order

1

X-Y-Z order

2

X-Z-Y order

3

Y-Z-X order

4

Z-Y-X order

5

Z-X-Y order

6

Y-X-Z order

7

X-Y-Z order.

10. The encoder of claim 9 , wherein the at least one processor configured to determine the processing order of the point cloud data during point cloud encoding is configured to:

determine the processing order according to a Morton code of a node in the point cloud data.

11. The encoder of claim 9 , wherein the processing order is any of a Z-Y-X order, an X-Y-Z order, an X-Z-Y order, a Y-Z-X order, a Z-X-Y order, and a Y-X-Z order, and X, Y, Z are coordinate axes of the three-dimensional coordinates of the point cloud data.

12. The encoder of claim 11 , wherein the at least one processor configured to determine the coordinate-axis-order index corresponding to the processing order is configured to:

set a value of the coordinate-axis-order index corresponding to the processing order according to the correspondence table between the preset indexes and the processing orders.

13. A decoder, comprising:

at least one processor; and

a memory coupled to the at least one processor and storing at least one computer executable instruction thereon which, when executed by the at least one processor, causes the at least one processor to:

decode a bitstream to obtain a coordinate-axis-order index;

determine a processing order of point cloud data during point cloud decoding according to the coordinate-axis-order index, the processing order indicating a coordinate axis processing order of three-dimensional coordinates of the point cloud data and the point cloud data being all or part of data in point cloud;

decode the bitstream to obtain recovered data of the point cloud data; and

determine a position of coordinate data of the point cloud data in a storage unit of the recovered data according to the processing order, wherein a correspondence table between preset indexes and processing orders comprises:

coordinate-axis-order index

processing order

0

Z-Y-X order

1

X-Y-Z order

2

X-Z-Y order

3

Y-Z-X order

4

Z-Y-X order

5

Z-X-Y order

6

Y-X-Z order

7

X-Y-Z order.

14. The decoder of claim 13 , wherein the at least one processor configured to decode the bitstream to obtain the coordinate-axis-order index is configured to:

parse a fixed length code to obtain the coordinate-axis-order index; or

parse a bitstream corresponding to a data unit of a parameter set in the bitstream, wherein the data unit of the parameter set contains parameters used for decoding the point cloud data.

15. The decoder of claim 13 , wherein the processing order is any of a Z-Y-X order, an X-Y-Z order, an X-Z-Y order, a Y-Z-X order, a Z-X-Y order, and a Y-X-Z order, and X, Y, Z are coordinate axes of the three-dimensional coordinates of the point cloud data.

16. The decoder of claim 15 , wherein the at least one processor configured to determine the processing order of the point cloud data during point cloud decoding according to the coordinate-axis-order index is configured to:

determine the processing order corresponding to the coordinate-axis-order index according to the correspondence table between the preset indexes and the processing orders.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2022
From: ZHANG, WEI; HUO, JUNYAN; MA, YANZHUO
To: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
Reel/Frame 061662/0169 →
Continuity (4)
Continuation 17646290 · Dec 28, 2021
Continuation PCTCN2020090677 · May 15, 2020
Provisional Application 62870553 · Jul 3, 2019
Related Publication 20230058703A1 · Feb 23, 2023
Cited By (2)
US 12,423,875 US 12,518,429