Resolution-based decoding and encoding methods and bitstream
Embodiments of the disclosure provide resolution-based decoding and encoding methods and a bitstream. The method includes the following. A bitstream is parsed to obtain a current patch. Whether the current patch is a patch whose resolution is to be changed is determined. When the current patch is a patch whose resolution is to be changed, the bitstream is parsed to obtain a scaling-rate parameter of the current patch. A scaling factor for the current patch is determined based on the scaling-rate parameter of the current patch. Coordinates of the current patch in a three-dimension (3D) space coordinate system are obtained based on the scaling factor for the current patch.
1 . A resolution-based decoding method, comprising:
parsing a bitstream to obtain a current patch;
determining whether the current patch is a patch whose resolution is to be changed;
parsing the bitstream to obtain a scaling-rate parameter of the current patch, when the current patch is a patch whose resolution is to be changed;
determining a scaling factor for the current patch based on the scaling-rate parameter of the current patch; and
obtaining coordinates of the current patch in a three-dimension (3D) space coordinate system based on the scaling factor for the current patch;
wherein:
the scaling factor for the current patch comprises a width-scaling factor corresponding to a width scaling-rate parameter, in response to the scaling-rate parameter of the current patch comprising the width scaling-rate parameter; and/or
the scaling factor for the current patch comprises a height-scaling factor corresponding to a height scaling-rate parameter, in response to the scaling-rate parameter of the current patch comprising the height scaling-rate parameter.
2 . The method of claim 1 , wherein determining whether the current patch is a patch whose resolution is to be changed comprises:
parsing the bitstream to obtain a value of a first flag;
wherein the value of the first flag being a first value indicates that the current patch is a patch whose resolution is to be changed, and the value of the first flag being a second value indicates that the current patch is a patch whose resolution is not to be changed.
3 . The method of claim 1 , wherein determining whether the current patch is a patch whose resolution is to be changed comprises:
determining whether a current atlas where the current patch is located contains patches with different resolutions; and
determining whether the current patch is a patch whose resolution is to be changed, when the current atlas contains patches with different resolutions.
4 . The method of claim 3 , wherein determining whether the current atlas where the current patch is located contains patches with different resolutions comprises:
parsing the bitstream to obtain a value of a second flag;
wherein the value of the second flag being a third value indicates that the current atlas contains patches with different resolutions, and the value of the second flag being a fourth value indicates that the current atlas contains patches with a same resolution.
5 . The method of claim 1 , wherein determining whether the current patch is a patch whose resolution is to be changed comprises:
determining whether a current view where the current patch is located contains patches with different resolutions; and
determining whether the current patch is a patch whose resolution is to be changed, when the current view contains patches with different resolutions.
6 . The method of claim 5 , wherein determining whether the current patch is a patch whose resolution is to be changed comprises:
parsing the bitstream to obtain a value of a third flag;
wherein the value of the third flag being a fifth value indicates that the current view contains patches with different resolutions, and the value of the third flag being a sixth value indicates that the current view contains patches with a same resolution.
7 . The method of claim 1 , wherein determining the scaling factor for the current patch based on the scaling-rate parameter of the current patch comprises:
determining the scaling-rate parameter of the current patch as the scaling factor for the current patch.
8 . The method of claim 1 , further comprising:
determining the scaling-rate parameter of the current patch as a default value, when the current patch is a patch whose resolution is not to be changed.
9 . The method of claim 1 , wherein obtaining the coordinates of the current patch in the 3D space coordinate system based on the scaling factor for the current patch comprises:
obtaining first coordinates of the current patch in a two-dimension (2D) atlas coordinate system;
obtaining second coordinates of the current patch in a 3D patch coordinate system based on the first coordinates and the scaling factor; and
obtaining the coordinates of the current patch in the 3D space coordinate system by un-projecting the second coordinates to the 3D space coordinate system.
10 . The method of claim 9 , wherein obtaining the second coordinates of the current patch in the 3D patch coordinate system based on the first coordinates and the scaling factor comprises:
obtaining the second coordinates by projecting the current patch to the 3D patch coordinate system based on the first coordinates, the scaling factor, and a transform parameter;
wherein the transform parameter comprises a transform process for characterizing a swap operation and/or a transform process for characterizing an invert operation.
11 . A resolution-based encoding method, comprising:
obtaining a current patch;
determining whether the current patch is a patch whose resolution is to be changed; and
signalling a scaling-rate parameter of the current patch into a bitstream, when the current patch is a patch whose resolution is to be changed;
wherein:
a scaling factor for the current patch comprises a width-scaling factor corresponding to a width scaling-rate parameter, in response to the scaling-rate parameter of the current patch comprising the width scaling-rate parameter; and/or
the scaling factor for the current patch comprises a height-scaling factor corresponding to a height scaling-rate parameter, in response to the scaling-rate parameter of the current patch comprising the height scaling-rate parameter.
12 . The method of claim 11 , wherein signalling the scaling-rate parameter of the current patch into the bitstream comprises:
signalling the scaling-rate parameter of the current patch and a first flag into the bitstream;
wherein a value of the first flag being a first value indicates that the current patch is a patch whose resolution is to be changed, and the value of the first flag being a second value indicates that the current patch is a patch whose resolution is not to be changed.
13 . The method of claim 11 , wherein determining whether the current patch is a patch whose resolution is to be changed comprises:
determining whether a current atlas where the current patch is located contains patches with different resolutions; and
determining whether the current patch is a patch whose resolution is to be changed, when the current atlas contains patches with different resolutions.
14 . The method of claim 13 , wherein signalling the scaling-rate parameter of the current patch into the bitstream comprises:
signalling the scaling-rate parameter of the current patch and a second flag into the bitstream;
wherein a value of the second flag being a third value indicates that the current atlas contains patches with different resolutions, and the value of the second flag being a fourth value indicates that the current atlas contains patches with a same resolution.
15 . The method of claim 11 , wherein determining whether the current patch is a patch whose resolution is to be changed comprises:
determining whether a current view where the current patch is located contains patches with different resolutions; and
determining whether the current patch is a patch whose resolution is to be changed, when the current view contains patches with different resolutions.
16 . The method of claim 15 , wherein signalling the scaling-rate parameter of the current patch into the bitstream comprises:
signalling the scaling-rate parameter of the current patch and a third flag into the bitstream;
wherein a value of the third flag being a fifth value indicates that the current view contains patches with different resolutions, and the value of the third flag being a sixth value indicates that the current view contains patches with a same resolution.
17 . The method of claim 11 , further comprising:
signalling a default value of the scaling-rate parameter of the current patch into the bitstream, when the current patch is a patch whose resolution is not to be changed.
18 . A bitstream generated according to a resolution-based encoding method, the method comprising:
obtaining a current patch;
determining whether the current patch is a patch whose resolution is to be changed; and
signalling a scaling-rate parameter of the current patch into a bitstream, when the current patch is a patch whose resolution is to be changed;
wherein:
a scaling factor for the current patch comprises a width-scaling factor corresponding to a width scaling-rate parameter, when the scaling-rate parameter of the current patch comprises the width scaling-rate parameter; and/or
the scaling factor for the current patch comprises a height-scaling factor corresponding to a height scaling-rate parameter, when the scaling-rate parameter of the current patch comprises the height scaling-rate parameter.