IP Library Granted Patent US 11,509,939
Granted Patent B2
US 11,509,939 · App. 17/646,290 · Granted Nov 22, 2022

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,509,939
App. No.
17/646,290
Granted
Nov 22, 2022
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 parses 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, parses 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 (124)

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 wherein the coordinate-axis-order index is determined based on a value of the 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.

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 the value of the coordinate-axis-order index corresponding to the processing order according to a correspondence table between preset indexes and processing orders.

5. The method of claim 4 , wherein the correspondence table between the preset indexes and the 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. A point cloud decoding method, implemented in a decoder and comprising:

parsing 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, wherein the coordinate-axis-order index is determined based on a value of the coordinate-axis-order index corresponding to the processing order;

parsing 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.

7. The method of claim 6 , wherein parsing 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.

8. The method of claim 6 , 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.

9. The method of claim 8 , 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 a correspondence table between preset indexes and processing orders.

10. The method of claim 9 , wherein the correspondence table between the preset indexes and the 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.

11. 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, wherein the coordinate-axis-order index is determined based on a value of the 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.

12. The encoder of claim 11 , 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.

13. The encoder of claim 11 , 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.

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

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

15. The encoder of claim 14 , wherein the correspondence table between the preset indexes and the 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.

16. 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:

parse 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, wherein the coordinate-axis-order index is determined based on a value of the coordinate-axis-order index corresponding to the processing order;

parse 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.

17. The decoder of claim 16 , wherein the at least one processor configured to parse 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.

18. The decoder of claim 16 , 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.

19. The decoder of claim 18 , 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 a correspondence table between preset indexes and processing orders.

20. The decoder of claim 19 , wherein the correspondence table between the preset indexes and the 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: ZHANG, WEI; HUO, JUNYAN; MA, YANZHUO
To: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
Reel/Frame 058598/0117 →
Continuity (3)
Continuation PCTCN2020090677 · May 15, 2020
Provisional Application 62870553 · Jul 3, 2019
Related Publication 20220124374A1 · Apr 21, 2022