Inter-Prediction for Dynamic Mesh Coding
AssigneeApple Inc.
InventorsJungsun Kim, Alexandros Tourapis
Life of this patent
Estimating the term…
Abstract
A system comprises an encoder configured to compress and encode data for a three-dimensional mesh. To compress the three-dimensional mesh, the encoder predicts, for a current frame of a three-dimensional mesh, vertex values of the current frame using location information from one or more preceding frames or using multiple vertex values from a single frame. Predictors and residuals for determining the current frame may be signaled in a bitstream to a decoder to decompress the three-dimensional mesh.
Claims20
A non-transitory, computer-readable, storage medium storing program instructions that, when executed using one or more computing devices, cause the one or more computing devices to:
- receive information for a compressed version of a dynamic mesh, the information comprising:
- vertices displacement and connectivity information for a first point in time frame of the dynamic mesh;
- prediction information for predicting vertices displacement information for another point-in-time frame;
- determine 3-dimensional (3D) vertex values for a first version of the dynamic mesh corresponding to the first point-in-time frame using the vertices displacement and connectivity information for the first point-in-time frame;
- and
- determine 3D vertex values for another version of the dynamic mesh corresponding to the other point-in-time frame, wherein said determining comprises:
- predicting, for one or more vertices of the other version of the dynamic mesh, using the prediction information and the previously determined 3D vertex values from a version of the dynamic mesh corresponding to the first frame, vertices displacement information for the other version of the dynamic mesh corresponding to the other point-in-time frame.
A method, comprising:
- receiving information for a compressed version of a dynamic mesh, the information comprising:
- a base mesh sub-bitstream for reconstructing a base mesh for the dynamic mesh;
- a displacement sub-bitstream that comprises displacement information to be applied at subdivision points of the base mesh to reconstruct the dynamic mesh;
- and
- an atlas sub-bitstream for reconstructing atlas information for the dynamic mesh;
- identifying a sub-mesh of a plurality of sub-meshes that is signaled in the atlas sub-bitstream but that is not signaled in the base mesh sub-bitstream;
- and
- based on the said identifying:
- using an empty sub-mesh as a placeholder in the base mesh sub-bitstream, wherein the empty base mesh is used to correspond to the sub-mesh referenced in the atlas sub-bitstream;
- or
- removing the sub-mesh referenced in the atlas sub-bitstream from the atlas sub-bitstream;
- determining 3-dimensional (3D) vertex values for the dynamic mesh using the reconstructed base mesh and displacements applied at vertices location of the reconstructed base mesh, wherein the atlas information is used to map displacement information from the displacement sub-bitstream to vertices locations of a base mesh signaled in the base mesh sub-bitstream.
A device, comprising:
- a memory storing program instructions;
- and
- one or more processors, wherein the program instructions, when executed using the one or more processors, cause the one or more processors to:
- receive information for a compressed version of a dynamic mesh, the information comprising:
- a base mesh sub-bitstream for reconstructing a base mesh for the dynamic mesh;
- a displacement sub-bitstream that comprises displacement information to be applied at subdivision points of the base mesh to reconstruct the dynamic mesh, wherein the displacement information of the displacement sub-bitstream is signaled using patches comprising displacement values packed into video-encoded two-dimensional (2D) video image frames;
- and
- an atlas sub-bitstream for reconstructing atlas information for the dynamic mesh, wherein the atlas information maps the displacements of the displacement sub-bitstream to subdivision location of the base mesh,
- wherein respective vertices counts are signaled for respective ones of the patches packed into the 2D video image frames;
- determine 3-dimensional (3D) vertex values for the dynamic mesh using a reconstructed base mesh and displacement information applied at vertices location of the reconstructed base mesh, wherein the vertices counts for the patches and the atlas information is used to map displacement information from the displacement sub-bitstream to vertices locations of the reconstructed base mesh signaled in the base mesh sub-bitstream.
Dependencies are inferred from the claim text.