Uniform bitdepth scaling
A bitstream that includes base mesh information of a base mesh is received. The base mesh includes a subset of a plurality of vertices of a mesh in a current mesh frame. A position of a current vertex of the base mesh is determined based on a quantized position of the current vertex of the base mesh that is generated according to a bitdepth scaling function. The bitdepth scaling function is configured to convert a first subset of positions of the vertices of the base mesh into a first integer and a second subset of the positions of the vertices of the base mesh into a second integer. A total number of the first subset of the positions is equal to a total number of the second subset of the positions. The current vertex is reconstructed based on the determined position of the current vertex of the base mesh.
1 . A method of mesh decoding, the method comprising:
receiving a bitstream that includes base mesh information of a base mesh, the base mesh including a subset of a plurality of vertices of a mesh in a current mesh frame;
determining a position of a current vertex of the base mesh based on a quantized position of the current vertex of the base mesh that is generated according to a bitdepth scaling function, the bitdepth scaling function being based on a difference between a position bitdepth m and an encoding bitdepth n and configured to convert a first subset of positions of the vertices of the base mesh into a first integer and a second subset of the positions of the vertices of the base mesh into a second integer, a total number of the first subset of the positions being equal to a total number of the second subset of the positions; and
reconstructing the current vertex based on the determined position of the current vertex of the base mesh.
2 . The method of claim 1 , wherein:
the position bitdepth m indicates that the position of the current vertex is in a range between 0 and 2 m −1, and
the encoding bitdepth n indicates that the position of the current vertex is quantized into a range between 0 and 2 n −1.
3 . The method of claim 1 , wherein the bitdepth scaling function is based on a value that is equal to the encoding bitdepth minus the position bitdepth.
4 . The method of claim 1 , wherein the bitdepth scaling function is based on an exponential term with a base of 2 and an exponent equal to the encoding bitdepth minus the position bitdepth.
5 . The method of claim 1 , wherein the bitdepth scaling function is configured to round the position of the current vertex to an integer.
6 . The method of claim 1 , wherein the position bitdepth is larger than the encoding bitdepth.
7 . The method of claim 1 , wherein the position bitdepth is equal to or less than the encoding bitdepth.
8 . The method of claim 1 , wherein the bitdepth scaling function is defined as:
s
(
x
)
=
round
(
(
x
+
1
2
)
*
2
n
-
m
-
1
2
)
,
x being the position of the current vertex, n being the encoding bitdepth, and m being the position bitdepth.
9 . A method of mesh encoding, comprising:
quantizing a position of a current vertex of a base mesh to determine a quantized position of the current vertex based on a bitdepth scaling function, the base mesh including a subset of a plurality of vertices of a mesh in a current mesh frame, the bitdepth scaling function being based on a difference between a position bitdepth m and an encoding bitdepth n and configured to quantize a first subset of positions of the vertices of the base mesh to a first integer and a second subset of the positions of the vertices of the base mesh to a second integer, a total number of the first subset of the positions being equal to a total number of the second subset of the positions;
determining a position prediction of the quantized position of the current vertex; and
coding a position prediction residue for the position prediction of the current vertex in a bitstream.
10 . The method of claim 9 , wherein:
the position bitdepth m indicates that the position of the current vertex is in a range between 0 and 2 m −1, and the encoding bitdepth n indicates that the position of the current vertex is quantized into a range between 0 and 2 n −1.
11 . The method of claim 9 , wherein the bitdepth scaling function is based on a value that is equal to the encoding bitdepth minus the position bitdepth.
12 . The method of claim 9 , wherein the bitdepth scaling function is based on an exponential term with a base of 2 and an exponent equal to the encoding bitdepth minus the position bitdepth.
13 . The method of claim 9 , wherein the bitdepth scaling function is configured to round the position of the current vertex to an integer.
14 . The method of claim 9 , wherein the position bitdepth is larger than the encoding bitdepth.
15 . The method of claim 9 , wherein the position bitdepth is equal to or less than the encoding bitdepth.
16 . The method of claim 9 , wherein the bitdepth scaling function is defined as:
s
(
x
)
=
round
(
(
x
+
1
2
)
*
2
n
-
m
-
1
2
)
,
x being the position of the current vertex, n being the encoding bitdepth, and m being the position bitdepth.
17 . A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to perform a method of encoding a bitstream comprising:
quantizing a position of a current vertex of a base mesh to determine a quantized position of the current vertex based on a bitdepth scaling function, the base mesh including a subset of a plurality of vertices of a mesh in a current mesh frame, the bitdepth scaling function being based on a difference between a position bitdepth m and an encoding bitdepth n and configured to quantize a first subset of positions of the vertices of the base mesh to a first integer and a second subset of the positions of the vertices of the base mesh to a second integer, a total number of the first subset of the positions being equal to a total number of the second subset of the positions;
determining a position prediction of the quantized position of the current vertex; and
encoding a position prediction residue for the position prediction of the current vertex in the bitstream; and
transmitting the encoded bitstream.
18 . The non-transitory computer-readable storage medium of claim 17 , wherein the bitdepth scaling function is based on a value that is equal to the encoding bitdepth minus the position bitdepth.
19 . The non-transitory computer-readable storage medium of claim 17 , wherein the bitdepth scaling function is based on an exponential term with a base of 2 and an exponent equal to the encoding bitdepth minus the position bitdepth.
20 . The non-transitory computer-readable storage medium of claim 17 , wherein the bitdepth scaling function is defined as:
s
(
x
)
=
round
(
(
x
+
1
2
)
*
2
n
-
m
-
1
2
)
,
x being the position of the current vertex, n being the encoding bitdepth, and m being the position bitdepth.