Attribute support in point cloud coding
A video coding mechanism is disclosed. The mechanism includes receiving a bitstream comprising a plurality of coded sequences of point cloud coding (PCC) frames, wherein the plurality of coded sequences of PCC frames represent a plurality of PCC attributes including geometry, texture, and one or more of reflectance, transparency, and normal. Each coded PCC frame is represented by one or more PCC network abstraction layer (NAL) units. The mechanism also includes parsing the bitstream to obtain an indication for each of the PCC NAL units that indicates whether each of the PCC NAL units belongs to a corresponding one of the PCC attributes, and to which of the PCC attributes the PCC NAL unit belongs when the PCC NAL unit belongs to the corresponding PCC attribute. The mechanism also includes decoding the bitstream based on the indications.
1 . A method implemented by a video decoder, the method comprising:
receiving a bitstream comprising a plurality of coded sequences of point cloud coding (PCC) frames, wherein the plurality of coded sequences of PCC frames represent one or more PCC attributes, wherein the PCC attributes supported include each of material identifier, transparency, reflectance, and normal, wherein each coded PCC frame is represented by one or more PCC network abstraction layer (NAL) units, and wherein the one or more PCC NAL units include each of a transparency NAL unit containing the transparency, a reflectance NAL unit containing the reflectance, and a normal NAL unit containing the normal;
parsing the bitstream to obtain an indication for each of the PCC NAL units that indicates whether each of the PCC NAL units belongs to a corresponding one of the PCC attributes, and to which of the PCC attributes including the material identifier, the transparency, the reflectance, and the normal the PCC NAL unit belongs when the PCC NAL unit belongs to the corresponding PCC attribute;
parsing the bitstream to obtain a fourth syntax element that indicates an identifier of a codec used to code each PCC attribute for an indicated PCC profile at a specific PCC level, wherein the fourth syntax element is in a range of 0 to 255, inclusive; and
decoding the bitstream based on the indications.
2 . The method of claim 1 , wherein each coded sequence of PCC frames is associated with a sequence-level data unit containing sequence-level parameters, and wherein the sequence-level data unit comprises a first syntax element indicating a number of PCC attributes carried in the coded sequence of PCC frames and a second syntax element indicating each of the PCC attributes.
3 . The method of claim 2 , wherein the second syntax element is an attribute type element contained in a group of frames header in the bitstream.
4 . The method of claim 2 , wherein the first syntax element is a number of attributes element contained in a group of frames header in the bitstream.
5 . The method of claim 2 , wherein a group of frames header in the bitstream comprises a third syntax element indicating a number of streams for each of the PCC attributes.
6 . The method of claim 2 , wherein a group of frames header in the bitstream comprises an attributes first ordering flag set to indicate PCC network abstraction layer units for each of the PCC attributes are included in stream order within a corresponding PCC access unit.
7 . The method of claim 2 , wherein a group of frames header in the bitstream comprises an attributes first ordering flag set to indicate PCC network abstraction layer units for each of the PCC attributes are included in attribute order within a corresponding PCC access unit.
8 . The method of claim 6 , wherein each PCC access unit includes zero to four attribute streams for each of the PCC attributes, and wherein at least one of the attribute streams includes a non-constant frame rate.
9 . The method of claim 2 , further comprising forwarding a decoded sequence of PCC frames from the bitstream toward a display for presentation.
10 . A method implemented by a video encoder, the method comprising:
encoding a sequence of point cloud coding (PCC) frames into a bitstream, wherein the sequence of PCC frames represent one or more PCC attributes, wherein the PCC attributes supported include each of material identifier, transparency, reflectance, and normal, wherein each PCC frame is encoded in a number of PCC network abstraction layer (NAL) units, and wherein the one or more PCC NAL units include each of a transparency NAL unit containing the transparency, a reflectance NAL unit containing the reflectance, and a normal NAL unit containing the normal;
encoding an indication for each of the PCC NAL units that indicates whether each of the PCC NAL units belongs to a corresponding one of the PCC attributes, and to which of the PCC attributes including the material identifier, the transparency, the reflectance, and the normal the PCC NAL unit belongs when the PCC NAL unit belongs to the corresponding PCC attribute;
encoding into the bitstream a fourth syntax element that indicates an identifier of a codec used to code each PCC attribute for an indicated PCC profile at a specific PCC level, wherein the fourth syntax element is in a range of 0 to 255, inclusive; and
transmitting the bitstream toward a video decoder.
11 . The method of claim 10 , wherein the bitstream is associated with a sequence-level data unit containing sequence-level parameters, and wherein the sequence-level data unit comprises a first syntax element indicating a number of PCC attributes carried in the bitstream and a second syntax element indicating each of the PCC attributes.
12 . The method of claim 11 , wherein the second syntax element is an attribute type element contained in a group of frames header in the bitstream.
13 . The method of claim 11 , wherein the first syntax element is a number of attributes element contained in a group of frames header in the bitstream.
14 . The method of claim 11 , wherein a group of frames header in the bitstream comprises a third syntax element indicating a number of streams for each of the PCC attributes.
15 . The method of claim 11 , wherein a group of frames header in the bitstream comprises an attributes first ordering flag set to indicate PCC network abstraction layer units for each of the PCC attributes are included in stream order within a corresponding PCC access unit.
16 . The method of claim 11 , wherein a group of frames header in the bitstream comprises an attributes first ordering flag set to indicate PCC network abstraction layer units for each of the PCC attributes are included in attribute order within a corresponding PCC access unit.
17 . The method of claim 15 , wherein each PCC access unit includes zero to four attribute streams for each of the PCC attributes, and wherein at least one of the attribute streams includes a non-constant frame rate.
18 . A video coding device comprising:
a receiver configured to receive a bitstream comprising a plurality of coded sequences of point cloud coding (PCC) frames, wherein the plurality of coded sequences of PCC frames represent one or more PCC attributes, wherein the PCC attributes supported include each of material identifier, transparency, reflectance, and normal, wherein each coded PCC frame is represented by one or more PCC network abstraction layer (NAL) units, and wherein the one or more PCC NAL units include each of a transparency NAL unit containing the transparency, a reflectance NAL unit containing the reflectance, and a normal NAL unit containing the normal; and
one or more processors configured to:
parse the bitstream to obtain an indication for each of the PCC NAL units that indicates whether each of the PCC NAL units belongs to a corresponding one of the PCC attributes, and to which of the PCC attributes including the material identifier, the transparency, the reflectance, and the normal the PCC NAL unit belongs when the PCC NAL unit belongs to the corresponding PCC attribute;
parse the bitstream to obtain a fourth syntax element that indicates an identifier of a codec used to code each PCC attribute for an indicated PCC profile at a specific PCC level, wherein the fourth syntax element is in a range of 0 to 255, inclusive; and
decode the bitstream based on the indications.
19 . The video coding device of claim 18 , wherein each coded sequence of PCC frames is associated with a sequence-level data unit containing sequence-level parameters, and wherein the sequence-level data unit comprises a first syntax element indicating a number of PCC attributes carried in the coded sequence of PCC frames and a second syntax element indicating each of the PCC attributes.
20 . The video coding device of claim 19 , wherein the second syntax element is an attribute type element contained in a group of frames header in the bitstream, and wherein the first syntax element is a number of attributes element contained in a group of frames header in the bitstream.