IP Library › Granted Patent US 11,582,469
Granted Patent B2
US 11,582,469 · App. 17/494,755 · Granted Feb 14, 2023

Method and apparatus for point cloud coding

Inventors: Xiang Zhang (Sunnyvale, CA); Wen Gao (West Windsor, NJ); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/20H04N19/103H04N19/136H04N19/184
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,582,469
App. No.
17/494,755
Filed
Oct 5, 2021
Granted
Feb 14, 2023
Kind
B2
Art Unit
2426
USPC
375/240.08
Abstract

An apparatus for point cloud decoding includes processing circuitry. The processing circuitry receives, from a coded bitstream for a point cloud, encoded occupancy codes for nodes in an octree structure for the point cloud. The nodes in the octree structure correspond to three dimensional (3D) partitions of a space of the point cloud. Sizes of the nodes are associated with sizes of the corresponding 3D partitions. Further, the processing circuitry decodes, from the encoded occupancy codes, occupancy codes for the nodes. At least a first occupancy code for a child node of a first node is decoded without waiting for a decoding of a second occupancy code for a second node having a same node size as the first node. Then, the processing circuitry reconstructs the octree structure based on the decoded occupancy codes for the nodes, and reconstructs the point cloud based on the octree structure.

Claims (60)

1. A method for point cloud coding, comprising:

receiving point cloud data of a point cloud;

deriving an octree structure of the point cloud based on the point cloud data, nodes in the octree structure corresponding to three dimensional (3D) partitions of a space of the point cloud, sizes of the nodes being associated with sizes of the corresponding 3D partitions, the nodes in the octree structure including

first nodes having first sizes larger than a threshold node size for coding order change, and

second nodes having second sizes equal to or smaller than the threshold node size for coding order change, the second nodes being arranged into one or more sub octrees;

generating, by processing circuitry of an apparatus, a sequence of occupancy codes for the nodes in the octree structure of the point cloud, the sequence of occupancy codes includes:

a first portion of the sequence of occupancy codes for the first nodes arranged according to a first coding order, and

a second portion of the sequence of occupancy codes including one or more subsets of occupancy codes for the one or more sub octrees respectively arranged according to a second coding order, the second coding order being different from the first coding order;

encoding, by the processing circuitry of the apparatus, the sequence of occupancy codes into encoded data; and

generating, by the processing circuitry of the apparatus, a coded bitstream that includes the encoded data.

2. The method of claim 1 , wherein the one or more subsets of occupancy codes for the one or more sub octrees comprise:

a first subset of occupancy codes for a first sub octree with a first node being a root of the first sub octree, and

a second subset of occupancy codes for a second sub octree with a second node being a root of the second sub octree, the first node and the second node having a same node size.

3. The method of claim 2 , wherein the generating the sequence of occupancy codes comprises:

generating the first subset of occupancy codes for the first sub octree in parallel with generating the second subset of occupancy codes for the second sub octree.

4. The method of claim 2 , wherein the encoding the sequence of occupancy codes comprises:

encoding, using a first coding mode, the first subset of occupancy codes for the first sub octree; and

encoding, using a second coding mode, the second subset of occupancy codes for the second sub octree.

5. The method of claim 4 , wherein the coded bitstream includes a first index that is indicative of the first coding mode for the first sub octree and a second index that is indicative of the second coding mode for the second sub octree.

6. The method of claim 1 , wherein the first coding order is a breadth first coding order and the second coding order is a depth first coding order.

7. The method of claim 1 , wherein the first coding order is a depth first coding order and the second coding order is a breadth first coding order.

8. The method of claim 1 , wherein the coded bitstream includes a signal indicating the threshold node size for coding order change.

9. An apparatus for point cloud coding, comprising:

processing circuitry configured to:

receive point cloud data of a point cloud;

derive an octree structure of the point cloud based on the point cloud data, nodes in the octree structure corresponding to three dimensional (3D) partitions of a space of the point cloud, sizes of the nodes being associated with sizes of the corresponding 3D partitions, the nodes in the octree structure including

first nodes having first sizes larger than a threshold node size for coding order change, and

second nodes having second sizes equal to or smaller than the threshold node size for coding order change, the second nodes being arranged into one or more sub octrees;

generate a sequence of occupancy codes for the nodes in the octree structure of the point cloud, the sequence of occupancy codes includes:

a first portion of the sequence of occupancy codes for the first nodes arranged according to a first coding order, and

a second portion of the sequence of occupancy codes including one or more subsets of occupancy codes for the one or more sub octrees respectively arranged according to a second coding order, the second coding order being different from the first coding order;

encode the sequence of occupancy codes into encoded data; and

generate a coded bitstream that includes the encoded data.

10. The apparatus of claim 9 , wherein the one or more subsets of occupancy codes for the one or more sub octrees comprise:

a first subset of occupancy codes for a first sub octree with a first node being a root of the first sub octree, and

a second subset of occupancy codes for a second sub octree with a second node being a root of the second sub octree, the first node and the second node having a same node size.

11. The apparatus of claim 10 , wherein the processing circuitry is configured to:

generate the first subset of occupancy codes for the first sub octree in parallel with generating the second subset of occupancy codes for the second sub octree.

12. The apparatus of claim 10 , wherein the processing circuitry is configured to:

encode, using a first coding mode, the first subset of occupancy codes for the first sub octree; and

encode, using a second coding mode, the second subset of occupancy codes for the second sub octree.

13. The apparatus of claim 12 , wherein the coded bitstream includes a first index that is indicative of the first coding mode for the first sub octree and a second index that is indicative of the second coding mode for the second sub octree.

14. The apparatus of claim 9 , wherein the first coding order is a breadth first coding order and the second coding order is a depth first coding order.

15. The apparatus of claim 9 , wherein the first coding order is a depth first coding order and the second coding order is a breadth first coding order.

16. The apparatus of claim 9 , wherein the coded bitstream includes a signal indicating the threshold node size for coding order change.

17. A non-transitory computer-readable medium storing instructions which when executed by a computer for video decoding cause the computer to perform:

receiving point cloud data of a point cloud;

deriving an octree structure of the point cloud based on the point cloud data, nodes in the octree structure corresponding to three dimensional (3D) partitions of a space of the point cloud, sizes of the nodes being associated with sizes of the corresponding 3D partitions, the nodes in the octree structure including

first nodes having first sizes larger than a threshold node size for coding order change, and

second nodes having second sizes equal to or smaller than the threshold node size for coding order change, the second nodes being arranged into one or more sub octrees;

generating a sequence of occupancy codes for the nodes in the octree structure of the point cloud, the sequence of occupancy codes includes:

a first portion of the sequence of occupancy codes for the first nodes arranged according to a first coding order, and

a second portion of the sequence of occupancy codes including one or more subsets of occupancy codes for the one or more sub octrees respectively arranged according to a second coding order, the second coding order being different from the first coding order;

encoding the sequence of occupancy codes into encoded data; and

generating a coded bitstream that includes the encoded data.

18. The non-transitory computer-readable medium of claim 17 , wherein the one or more subsets of occupancy codes for the one or more sub octrees comprise:

a first subset of occupancy codes for a first sub octree with a first node being a root of the first sub octree, and

a second subset of occupancy codes for a second sub octree with a second node being a root of the second sub octree, the first node and the second node having a same node size.

19. The non-transitory computer-readable medium of claim 17 , wherein the first coding order is a breadth first coding order and the second coding order is a depth first coding order.

20. The non-transitory computer-readable medium of claim 17 , wherein the first coding order is a depth first coding order and the second coding order is a breadth first coding order.

Continuity (3)
Continuation 17063411 · Oct 5, 2020
Provisional Application 62942549 · Dec 2, 2019
Related Publication 20220030258A1 · Jan 27, 2022
Cited By (1)
US 12,621,484