Point cloud coding method, encoder and decoder
View Patent ↗A point cloud coding method is provided. The method includes the following. Occupancy bit information of neighbouring nodes of a current node is obtained. A context model is determined according to the occupancy bit information of the neighbouring nodes. Related information of the current node is entropy encoded with the context model and signalled into a bitstream, where the related information includes at least one of flag information of a single child node or coordinate information of the single child node.
1 . A point cloud decoding method, applied to a decoder and comprising:
obtaining occupancy bit information of neighbouring nodes of a current node;
determining a context model according to the occupancy bit information of the neighbouring nodes; and
obtaining related information of the current node by parsing a bitstream with the context model, wherein the related information comprises at least one of flag information of a single child node or coordinate information of the single child node.
2 . The method of claim 1 , wherein determining the context model according to the occupancy bit information of the neighbouring nodes comprises:
determining prediction flag information of the current node according to the occupancy bit information of the neighbouring nodes; and
determining a first context model according to the prediction flag information of the current node.
3 . The method of claim 2 , wherein obtaining the related information of the current node by parsing the bitstream with the context model comprises:
obtaining flag information of the single child node by parsing the bitstream with the first context model, wherein the flag information of the single child node indicates whether only one of child nodes partitioned from the current node is occupied.
4 . The method of claim 3 , further comprising:
when a value of the flag information of the single child node is equal to a first flag value, determining that only one of the child nodes partitioned from the current node is occupied; and
when the value of the flag information of the single child node is equal to a second flag value, determining that at least two of the child nodes partitioned from the current node are occupied.
5 . The method of claim 2 , wherein determining the prediction flag information of the current node according to the occupancy bit information of the neighbouring nodes comprises:
determining, according to the occupancy bit information of the neighbouring nodes, a first number of nodes each occupied by a point among neighbouring nodes coplanar with the current node; and
determining the prediction flag information of the current node according to the first number of nodes.
6 . The method of claim 2 , wherein determining the first context model according to the prediction flag information of the current node comprises:
obtaining an index value of the first context model according to the prediction flag information of the current node;
constructing at least one first candidate context model each corresponding to a different index value;
obtaining an index value of the first context model according to the prediction flag information of the current node; and
selecting a first candidate context model corresponding to the index value among the at least one first candidate context model according to the index value of the first context model, and determining the selected first candidate context model as the first context model.
7 . The method of claim 1 , wherein determining the context model according to the occupancy bit information of the neighbouring nodes comprises:
determining prediction coordinate information of the current node according to the occupancy bit information of the neighbouring nodes; and
determining a second context model according to the prediction coordinate information of the current node.
8 . The method of claim 7 , wherein obtaining the related information of the current node by parsing the bitstream with the context model comprises:
when the flag information of the single child node indicates that only one of child nodes partitioned from the current node is occupied, obtaining coordinate information of the single child node by parsing the bitstream with the second context model.
9 . The method of claim 7 , where obtaining the related information of the current node by parsing the bitstream with the context model comprises:
determining a neighbouring configuration number (NC) of the current node; and
when the NC indicates that a neighbouring node of the current node is occupied, then when the flag information of the single child node indicates that only one of child nodes partitioned from the current node is occupied, obtaining the coordinate information of the single child node by parsing the bitstream with the second context model.
10 . The method of claim 7 , wherein determining the prediction coordinate information of the current node according to the occupancy bit information of the neighbouring nodes comprises:
determining, according to the occupancy bit information of the neighbouring nodes, a second number of nodes each occupied by a point among neighbouring nodes in a first plane corresponding to a seventh value in a first coordinate direction, a third number of nodes each occupied by a point among neighbouring nodes in a second plane corresponding to a seventh value in a second coordinate direction equal to the seventh value, and a fourth number of nodes each occupied by a point among neighbouring nodes in a third plane corresponding to a seventh value in a third coordinate direction equal to the seventh value;
comparing the second number of nodes with a third threshold and determining a first 1st prediction value in the first coordinate direction according to a comparison result;
comparing the third number of nodes with the third threshold and determining a second 1st prediction value in the second coordinate direction according to a comparison result;
comparing the fourth number of nodes with the third threshold and determining a third 1st prediction value in the third coordinate direction according to a comparison result; and
obtaining a first set of prediction coordinate information of the current node according to the first 1st prediction value, the second 1st prediction value, and the third 1st prediction value.
11 . The method of claim 1 , wherein the neighbouring nodes comprise at least one of:
a neighbouring node coplanar with the current node, a neighbouring node collinear with the current node, or a neighbouring node concurrent with the current node.
12 . The method of claim 11 , where obtaining the occupancy bit information of the neighbouring nodes of the current node comprises:
when a neighbouring node is occupied by a point, determining that occupancy bit information of the neighbouring node is equal to a first value; and
when the neighbouring node is not occupied by a point, determining that the occupancy bit information of the neighbouring node is equal to a second value.
13 . The method of claim 1 , further comprising:
determining a value of a single child node enabled variable; and
correspondingly, determining the context model according to the occupancy bit information of the neighbouring nodes comprising:
determining the context model according to the occupancy bit information of the neighbouring nodes, when the value of the single child node enabled variable indicates that the current node is in a single child enabled state.
14 . The method of claim 13 , wherein determining the value of the single child node enabled variable comprises:
determining a number of nodes and a number of single child nodes;
performing a division operation on the number of single child nodes and the number of nodes to obtain a first ratio;
comparing the first ratio with a first threshold; and
determining the value of the single child node enabled variable according to a comparison result between the first ratio and the first threshold.
15 . The method of claim 14 , further comprising:
parsing the bitstream; and
for an i-th layer of an octree, setting an initial value of the number of nodes to be 0, setting an initial value of the number of single child nodes to be 0, and setting an initial value of the single child node enabled variable to be 0, i being an integer greater than or equal to 0 and less than K, K representing a number of layers of the octree and being an integer greater than 0.
16 . The method of claim 15 , wherein determining the number of nodes and the number of single child nodes comprises:
parsing the bitstream and obtaining the number of nodes based on decoded nodes in the i-th layer when determining that the current node is in the i-th layer of the octree; and
obtaining the number of single child nodes by determining, from the decoded nodes, a decoded node with only one occupied child node.
17 . The method of claim 16 , wherein obtaining the number of single child nodes by determining, from the decoded nodes, the decoded node with only one occupied child node comprises:
for each of the decoded nodes, determining whether only one of child nodes partitioned from the current node is occupied;
based on a determination that only one of the child nodes partitioned from the decoded node is occupied, updating the number of single child nodes by incrementing the number of single child nodes by 1; and
based on a determination that not only one of the child nodes partitioned from the decoded node is occupied, maintaining the number of single child nodes unchanged.
18 . A point cloud encoding method, applied to an encoder and comprising:
obtaining occupancy bit information of neighbouring nodes of a current node;
determining a context model according to the occupancy bit information of the neighbouring nodes; and
entropy encoding related information of the current node with the context model and signalling it into a bitstream, wherein the related information comprises at least one of flag information of a single child node or coordinate information of the single child node.
19 . A decoder, comprising:
a processor; and
a memory configured to store a computer program which, when executed by the processor, causes the processor to:
obtain occupancy bit information of neighbouring nodes of a current node;
determine a context model according to the occupancy bit information of the neighbouring nodes; and
obtain related information of the current node by parsing a bitstream with the context model, wherein the related information comprises at least one of flag information of a single child node or coordinate information of the single child node.
20 . An encoder, comprising:
a processor; and
a memory configured to store a computer program which, when executed by the processor, causes the processor to perform the method of claim 18 .