Coding of displacements using hierarchical coding at subdivision level for vertex mesh (V-MESH)
An apparatus includes a communication interface and a processor operably coupled to the communication interface. The processor is configured to subdivide an intermediate mesh-frame, created from a reconstructed first displacement field and a first subdivided mesh-frame, to create a second subdivided mesh-frame. The processor is also configured to generate a second displacement field based on the second subdivided mesh-frame and an original mesh-frame. The processor is further configured to encode the second displacement field into a bitstream.
1 . An apparatus comprising:
a communication interface; and
a processor operably coupled to the communication interface, the processor configured to:
subdivide an intermediate mesh-frame, created from a reconstructed first displacement field and a first subdivided mesh-frame, to create a second subdivided mesh-frame;
extract a set of vertex positions from the second subdivided mesh-frame and generate a second displacement field based on the second subdivided mesh-frame and an original mesh-frame, wherein the extracted set of vertex positions of the second subdivided mesh-frame comprise only new vertex positions generated by the subdivision of the intermediate mesh-frame; and
encode the second displacement field into a bitstream.
2 . The apparatus of claim 1 , wherein, to create the intermediate mesh-frame, the processor is further configured to:
decode an encoded first displacement field to obtain the reconstructed first displacement field; and
combine the reconstructed first displacement field with the first subdivided mesh-frame to create the intermediate mesh-frame.
3 . The apparatus of claim 2 , wherein the processor is further configured to:
subdivide a reconstructed base mesh-frame to create the first subdivided mesh-frame, wherein the reconstructed base mesh-frame is associated with the original mesh-frame;
generate a first displacement field based on the first subdivided mesh-frame and the original mesh-frame; and
encode the first displacement field to obtain the encoded first displacement field and write the encoded first displacement field into the bitstream.
4 . The apparatus of claim 3 , wherein the reconstructed base mesh-frame is created by decoding an encoding of an original base mesh-frame.
5 . The apparatus of claim 1 , wherein, to generate the second displacement field, the processor is further configured to:
determine a difference between the extracted set of vertex positions of the second subdivided mesh-frame and a set of nearest vertex positions of the original mesh-frame.
6 . A method comprising:
subdividing an intermediate mesh-frame, created from a reconstructed first displacement field and a first subdivided mesh-frame, to create a second subdivided mesh-frame;
extracting a set of vertex positions from the second subdivided mesh-frame and generating a second displacement field based on the second subdivided mesh-frame and an original mesh-frame, wherein the extracted set of vertex positions of the second subdivided mesh-frame comprise only new vertex positions generated by the subdivision of the intermediate mesh-frame; and
encoding the second displacement field into a bitstream.
7 . The method of claim 6 , further comprising:
decoding an encoded first displacement field to obtain the reconstructed first displacement field; and
combining the reconstructed first displacement field with the first subdivided mesh-frame to create the intermediate mesh-frame.
8 . The method of claim 7 , further comprising:
subdividing a reconstructed base mesh-frame to create the first subdivided mesh-frame, wherein the reconstructed base mesh-frame is associated with the original mesh-frame;
generating a first displacement field based on the first subdivided mesh-frame and the original mesh-frame; and
encoding the first displacement field to obtain the encoded first displacement field and writing the encoded first displacement field into the bitstream.
9 . The method of claim 8 , wherein the reconstructed base mesh-frame is created by decoding an encoding of an original base mesh-frame.
10 . The method of claim 6 , wherein, to generate the second displacement field, the method further comprises:
determining a difference between the extracted set of vertex positions of the second subdivided mesh-frame and a set of nearest vertex positions of the original mesh-frame.
11 . An apparatus comprising:
a communication interface; and
a processor operably coupled to the communication interface, the processor configured to:
receive a compressed bitstream of a plurality of displacement fields;
decode the compressed bitstream and reconstruct the plurality of displacement fields; and
combine each one of the reconstructed plurality of displacement fields with one of a plurality of subdivided mesh-frames to reconstruct a mesh-frame, wherein the processor is further configured to create a second subdivided mesh-frame using a first subdivided mesh-frame of the plurality of subdivided mesh-frames and extract a set of vertex positions from the second subdivided mesh-frame, wherein the extracted set of vertex positions of the second subdivided mesh-frame comprise only new vertex positions generated by a subdivision of a first intermediate mesh-frame.
12 . The apparatus of claim 11 , wherein:
each one of the plurality of displacement fields is associated with one of a plurality of subdivision levels; and
each one of the plurality of subdivided mesh-frames is associated with one of the plurality of subdivision levels.
13 . The apparatus of claim 11 , wherein, to combine each one of the reconstructed plurality of displacement fields with one of the plurality of subdivided mesh-frames to reconstruct the mesh-frame, the processor is further configured to:
combine a reconstructed first displacement field of the reconstructed plurality of displacement fields with the first subdivided mesh-frame of the plurality of subdivided mesh-frames to create the first intermediate mesh-frame, wherein the first subdivided mesh-frame is created from a reconstructed base mesh-frame decoded from the compressed bitstream;
subdivide the first intermediate mesh-frame to create the second subdivided mesh-frame of the plurality of subdivided mesh-frames;
combine a reconstructed second displacement field of the reconstructed plurality of displacement fields with the second subdivided mesh-frame to create a second intermediate mesh-frame; and
combine the first intermediate mesh-frame and the second intermediate mesh-frame.
14 . The apparatus of claim 13 , wherein, to combine the reconstructed second displacement field of the reconstructed plurality of displacement fields with the second subdivided mesh-frame to create the second intermediate mesh-frame, the processor is further configured to:
add the reconstructed second displacement field to the extracted set of vertex positions of the second subdivided mesh-frame.