Mesh decoding device, mesh decoding method, and program

The mesh decoding device optimizes encoding by separately decoding and controlling quality for each submesh, addressing inefficiencies in existing technologies by using atlas data decoding and advanced transformation methods.

JP2025008071AActive Publication Date: 2025-01-20KDDI CORP

Patent Information

Application Number
JP2023109928
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-04
Publication Date
2025-01-20
Estimated Expiration
2043-07-04

AI Technical Summary

Technical Problem

Existing mesh decoding technologies do not allow for separate decoding of mesh parts or control of quality for each level of subdivision, leading to inefficient encoding due to uniform processing of the entire mesh without considering local characteristics.

Method used

A mesh decoding device and method that includes an atlas data decoding section to generate control information, allowing for independent decoding and control of basic meshes and displacement amounts for each submesh, using techniques like linear wavelet transform and mid-edge division to optimize encoding.

Benefits of technology

Enables efficient compression of displacement amounts by controlling parameters for each submesh, improving the overall efficiency and quality of mesh decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025008071000001_ABST
    Figure 2025008071000001_ABST
Patent Text Reader

Abstract

To provide a mesh decoding device, a mesh decoding method, and a program that can efficiently compress a displacement amount.SOLUTION: A mesh decoding device 200 includes an atlas data decoding unit 207 that decodes an atlas bit stream to generate and output control information. The atlas bit stream includes: a sub-mesh header (SDH), which is a set of header information for a sub-mesh; a sub-mesh data unit (SDU), which represents control information for the sub-mesh; a patch data header (PDH), which is a set of header information for patches; and a patch data unit (PDU), which represents data for control information on patches. The SDU includes a control signal that indicates whether or not to perform one-dimensional displacement encoding for each sub-mesh.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a mesh decoding device, a mesh decoding method, and a program. [Background technology]

[0002] In Non-Patent Document 1, meshes are decoded by dividing them into basic meshes that represent rough information and displacement amounts that represent detailed information, and the displacement amounts are decoded by a video codec. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Khaled Mammou, Jungsun Kim, Alexis Tourapis, Dimitri Podborski, Krasimir Kolarov, “[V-CG] Apple's Dynamic Mesh Coding CfP Response,” ISO / IEC JTC 1 / SC 29 / WG 7 m59281, April 2022. [Non-Patent Document 2] Google Draco, accessed May 26, 2022 [Online], https: / / google.github.io / draco Summary of the Invention [Problem to be solved by the invention]

[0004] However, in Non-Patent Document 1, a function for decoding parts of a mesh separately or a method for controlling quality for each subdivision level (LoD) is not implemented, and the same processing is performed on the entire mesh, so there is a problem that encoding according to local characteristics of the mesh data cannot be performed. Therefore, the present invention has been made in consideration of the above-mentioned problems, and an object of the present invention is to provide a mesh decoding device, a mesh decoding method, and a program that can efficiently compress the amount of displacement. [Means for solving the problem]

[0005] A first feature of the present invention is summarized as a mesh decoding device including an atlas data decoding unit configured to decode an atlas bitstream and generate and output control information.

[0006] A second feature of the present invention is a mesh decoding method, characterized in that it comprises a step of decoding an atlas bit stream to generate and output first control information.

[0007] A third feature of the present invention is a program for causing a computer to function as a mesh decoding device, the mesh decoding device comprising an atlas data decoding unit configured to decode an atlas bitstream and generate and output first control information. Effect of the Invention

[0008] According to the present invention, it is possible to provide a mesh decoding device, a mesh decoding method, and a program that can efficiently compress the amount of displacement. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a mesh processing system 1 according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of functional blocks of a mesh decoding device 200 according to an embodiment. [Diagram 3] FIG. 3 is a diagram showing an example of the syntax structure of an atlas bitstream. [Figure 4A] FIG. 4A is a diagram illustrating an example of a syntax configuration of a PDU. [Figure 4B] FIG. 4B is a diagram illustrating an example of a syntax configuration of an SDU. [Figure 4C]FIG. 4C is a diagram illustrating an example of the syntax configuration of vdmc_lifting_transform_parameters. [Figure 5A] FIG. 5A is a diagram showing an example of a basic mesh. [Figure 5B] FIG. 5B is a diagram showing an example of a subdivision mesh. [Figure 6] FIG. 6 is a diagram showing an example of functional blocks of the subdivision unit 203 of the mesh decoding device 200 according to an embodiment. [Figure 7] FIG. 7 is a flowchart showing an example of processing by the basic mesh subdivision unit 203A of the subdivision unit 203 of the mesh decoding device 200 according to an embodiment. [Figure 8] FIG. 8 is a diagram showing an example of functional blocks of the displacement amount decoding unit 205 of the mesh decoding device 200 according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, the embodiments of the present invention will be described with reference to the drawings. Note that the components in the following embodiments can be appropriately replaced with existing components, and various variations including combinations with other existing components are possible. Therefore, the description of the following embodiments does not limit the content of the invention described in the claims.

[0011] First Embodiment Hereinafter, a mesh processing system 1 according to this embodiment will be described with reference to FIGS.

[0012] 1 is a diagram showing an example of the configuration of a mesh processing system 1 according to this embodiment. As shown in FIG.

[0013] FIG. 2 is a diagram showing an example of functional blocks of the mesh decoding device 200 according to this embodiment.

[0014] As shown in FIG. 2, the mesh decoding device 200 includes a demultiplexing unit 201, a basic mesh decoding unit 202, a subdivision unit 203, a mesh decoding unit 204, a displacement amount decoding unit 205, a video decoding unit 206, and an atlas data decoding unit 207.

[0015] The demultiplexing unit 201 is configured to demultiplex the multiplexed bit stream into an atlas bit stream, a base mesh bit stream, a displacement amount bit stream, and a texture bit stream.

[0016] The atlas data decoding unit 207 is configured to decode the atlas bitstream and output control information (first control information).

[0017] The base mesh decoding unit 202 is configured to decode the base mesh bit stream to generate and output control information (second control information) and a base mesh.

[0018] The subdivision unit 203 is configured to decode the control information output from the atlas data decoding unit 207 and the control information and base mesh output from the base mesh decoding unit 202, and output a subdivision mesh and a subdivision vertex normal.

[0019] Specifically, the subdivision unit 203 is configured to generate and output added subdivision vertices and their connection information from the basic mesh decoded by the basic mesh decoding unit 202, using the subdivision method indicated by the above-mentioned control information.

[0020] Here, the basic mesh, the added subdivision vertices, and their connection information are collectively referred to as a "subdivision mesh."

[0021] The mesh decoding unit 204 is configured to receive as input the control information, the displacement amount, the subdivision mesh, and the subdivision vertex normals output from the atlas data decoding unit 207, and generate a decoded mesh.

[0022] Specifically, the mesh decoding unit 204 is configured to generate and output a decoded mesh using the subdivision mesh and subdivision vertex normals generated by the subdivision unit 203 and the displacement amount decoded by the displacement amount decoding unit 205.

[0023] The displacement amount decoding unit 205 is configured to decode the displacement amount bitstream to generate and output the displacement amount.

[0024] The video decoding unit 206 is configured to decode the texture using a video codec and output the decoded texture.

[0025] (Atlas data decoding unit 207) Hereinafter, the control information decoded by the atlas data decoding unit 207 will be described with reference to FIGS.

[0026] FIG. 3 is a diagram showing an example of the syntax structure of an atlas bitstream.

[0027] As shown in FIG. 3, first, the atlas bitstream may include a submesh data header (SDH), which is a collection of header information of the submeshes.

[0028] Second, the atlas bitstream may include submesh data units (SDUs) that represent data for control information related to the submeshes.

[0029] Third, the atlas bitstream may include a patch data header (PDH), which is a collection of header information for a patch.

[0030] Fourth, the atlas bitstream may include patch data units (PDUs) that represent data for control information related to a patch.

[0031] Here, a submesh is a unit of mesh that can be encoded / decoded as a single unit. A base mesh and a displacement are defined independently for each submesh. A patch is defined as one area included in a submesh.

[0032] An example of the syntax configuration of an SDU will be described below with reference to Fig. 4B. Fig. 4B is a diagram showing an example of the syntax configuration of an SDU. Here, if the function of the syntax is similar, a syntax name different from the syntax name shown in Fig. 4B may be used.

[0033] In the syntax configuration of the SDU shown in Fig. 4B, the Description column indicates how each syntax is coded. Also, ue(v) indicates an unsigned zeroth-order exponential-Golomb code, and u(n) indicates an n-bit flag.

[0034] The SDU includes a control signal sdu_parameters_enable_flag indicating whether sdu_subdivision_enable_flag, sdu_displacement_coordinate_system_enable_flag, sdu_transform_method_enable_flag, sdu_transform_parameters__enable_flag, and sdu_attribute_parameter_overwrite_flag are defined for each submesh.

[0035] sdu_subdivision_enable_flag is a control signal indicating whether or not to perform subdivision for each submesh.

[0036] sdu_displacement_coordinate_system_enable_flag is a control signal indicating whether to set a coordinate system that defines the amount of displacement for each submesh. For example, when the value of sdu_displacement_coordinate_system_enable_flag is "1", the coordinate system of the amount of displacement may be defined for each submesh, and when the value of sdu_displacement_coordinate_system_enable_flag is "0", the amount of displacement may be defined in a default coordinate system. The default coordinate system may be a known coordinate system such as a Cartesian coordinate system.

[0037] sdu_transform_method_enable_flag is a control signal indicating whether to set a displacement encoding method for each submesh. For example, when the value of sdu_transform_method_enable_flag is "1", a displacement encoding method may be defined for each submesh, or when the value of sdu_transform_method_enable_flag is "0", a default displacement encoding method may be used. The default displacement encoding method may be a known displacement encoding method such as linear wavelet transform.

[0038] sdu_transform_parameters__enable_flag is a control signal indicating whether to define the encoding parameters of the displacement for each submesh. For example, when the value of sdu_transform_parameters__enable_flag is "1", a control signal related to the encoding parameters of the displacement may be defined for each submesh, or when the value of sdu_transform_parameters__enable_flag is "0", a default encoding parameter of the displacement may be used.

[0039] The SDU includes a control signal sdu__attribute_parameter_overwrite__flag indicating whether or not sdu_attribute_transform_method_enable_flag, sdu_attribute_transform_parameters_enable_flag, and sdu_attribute_transform_method are defined for each submesh.

[0040] The SDU includes a control signal sdu_subdivision_method that indicates a subdivision method for each submesh. For example, when the value of sdu_subdivision_method is "1", it may be defined to divide each submesh using the mid-edge division method, or when the value of sdu_subdivision_method is "0", it may be configured to define another known subdivision method.

[0041] The SDU includes a control signal sdu_subdivision_iteration_count that indicates the number of subdivisions for each submesh.

[0042] The SDU includes a control signal sdu_transform_method that indicates a displacement coding method for each submesh. For example, when the value of sdu_transform_method is "1", the displacement may be coded using a linear wavelet transform for each submesh, or when the value of sdu_transform_method is "0", another known displacement coding method may be defined.

[0043] The SDU includes sdu_attribute_transform_method_enable_flag, which is a control signal indicating whether to set an encoding method for attribute information for each submesh. For example, when the value of sdu_attribute_transform_method_enable_flag is "1", the SDU may be configured to define the amount of displacement of attribute information for each submesh by linear wavelet transform, and when the value of sdu_attribute_transform_method_enable_flag is "0", the SDU may be configured to use a default encoding method.

[0044] The SDU includes sdu_attribute_transform_parameters_enable_flag, which is a control signal indicating whether to set a control signal related to the encoding method of the displacement amount in the attribute information for each submesh. For example, when the value of sdu_attribute_transform_parameters_enable_flag is "1", a control signal related to the encoding of the displacement amount in the attribute information may be defined for each submesh, and when the value of sdu_attribute_transform_parameters_enable_flag is "0", a control signal related to the encoding of the default displacement amount may be defined.

[0045] The SDU includes a control signal sdu_attribute_transform_method that indicates a coding method of the displacement amount in the attribute information for each submesh. For example, when the value of sdu_attribute_transform_method is "1", the displacement amount may be coded using a linear wavelet transform for each submesh, or when the value of sdu_attribute_transform_method is "0", another known coding method may be defined.

[0046] The SDU includes a control signal vdmc_ext_ld_displacement_flag that indicates whether one-dimensional displacement coding is to be performed for each submesh. For example, when the value of vdmc_ext_ld_displacement_flag is "1", one-dimensional displacement coding may be performed.

[0047] The SDU includes vdmc_transform_lifting_quantization_parameters, which is a control signal that indicates the quantization value of the displacement amount at the vertices of subdivision level 0 for each submesh.

[0048] The SDU includes a control signal vdmc_transform_log2_lifting_lod_inverse_scale that represents a quantization scale value of the displacement between subdivision levels for each submesh.

[0049] At this time, vdmc_transform_lifting_quantization_parameters and vdmc_transform_log2_lifting_lod_inverse_scale may change the number of dimensions of the parameters based on a control signal indicating whether one-dimensional displacement encoding is performed. For example, when the displacement is encoded by one-dimensional displacement encoding, the number of dimensions of the above-mentioned parameters may be set to 1, and otherwise, the number of dimensions of the above-mentioned parameters may be set to 3.

[0050] The SDU includes a control signal vdmc_transform_lod_quantization that indicates the quantization value for each subdivision level for each submesh.

[0051] At this time, vdmc_transform_lod_quantization may change the number of dimensions of the parameter based on a control signal indicating whether one-dimensional displacement encoding is performed. For example, when the displacement is encoded by one-dimensional displacement encoding, the number of dimensions of the parameter of vdmc_transform_lod_quantization may be set to 1, and otherwise, the number of dimensions of vdmc_transform_lod_quantization may be set to 3.

[0052] With reference to Fig. 4A, a description will be given of control information related to patches decoded by the atlas data decoding unit 207. Fig. 4A is a diagram showing an example of the configuration of a PDU, which is patch-related syntax of an atlas bitstream.

[0053] The PDU includes a control signal vdmc_transform_lifting_quantization_parameters that represents the quantization value of the displacement amount at the vertices of subdivision level 0 for each patch.

[0054] The PDU includes a control signal vdmc_transform_log2_lifting_lod_inverse_scale that represents the quantization scale value of the displacement between subdivision levels for each patch.

[0055] At this time, vdmc_transform_lifting_quantization_parameters and vdmc_transform_log2_lifting_lod_inverse_scale may change the number of dimensions of the parameters based on a control signal indicating whether one-dimensional displacement encoding is performed. For example, when the displacement is encoded by one-dimensional displacement encoding, the number of dimensions of the above-mentioned parameters may be set to 1, and otherwise, the number of dimensions of the above-mentioned parameters may be set to 3.

[0056] The PDU includes a control signal vdmc_transform_lod_quantization that indicates the quantization value for each subdivision level for each submesh.

[0057] vdmc_transform_lod_quantization may change the number of dimensions of the parameters based on a control signal indicating whether one-dimensional displacement encoding is performed. For example, when the displacement is encoded by one-dimensional displacement encoding, the number of dimensions of the vdmc_transform_lod_quantization parameters may be set to 1, and otherwise, the number of dimensions of vdmc_transform_lod_quantization may be set to 3.

[0058] vdmc_transform_lod_quantization may be configured to be calculated based on subdivision levels smaller than the current level, by difference or multiplication.

[0059] (Basic mesh decoding unit 202) As described above, the base mesh decoding unit 202 is configured to decode the base mesh bitstream to generate and output base meshes.

[0060] Here, the base mesh is composed of a plurality of vertices in a three-dimensional space and edges connecting the plurality of vertices. In this case, the number of base meshes may be one or more.

[0061] As shown in FIG. 5A, the basic mesh is formed by combining basic faces each represented by three vertices.

[0062] The base mesh decoder 202 may be configured to decode the base mesh bitstream using, for example, Draco as described in Non-Patent Document 2.

[0063] In the case where there are multiple base meshes, the base mesh decoding unit 202 may be configured to use Draco to independently decode the multiple base meshes.

[0064] (Subdivision section 203) A method for decoding a subdivision mesh in the subdivision section 203 will be described with reference to Figs.

[0065] The subdivision unit 203 is configured to calculate and output a subdivision mesh and subdivision vertex normals based on the base mesh.

[0066] FIG. 6 is a diagram showing an example of functional blocks of the subdivision unit 203.

[0067] As shown in FIG. 6, the subdivision section 203 has a basic mesh subdivision section 203A and a subdivision vertex normal calculation section 203B.

[0068] (Basic mesh refinement section 203A) The basic mesh subdivision unit 203A is configured to subdivide the basic mesh based on the control information and the basic mesh input from the basic mesh decoding unit 202, and output a subdivision mesh.

[0069] When there are a plurality of basic meshes, the basic mesh subdivision unit 203A may be configured to independently subdivide each of the basic meshes.

[0070] 7 is a flowchart showing an example of the processing of the basic mesh subdivision unit 203A. Hereinafter, an example of the processing of the basic mesh subdivision unit 203A will be described with reference to FIG.

[0071] As shown in FIG. 7, in step S203A-1, the basic mesh subdivision unit 203A sets the variable i to i=0, and the process proceeds to step S203A-2.

[0072] In step S203A-2, the basic mesh subdivision unit 203A determines whether the variable i satisfies the inequality i≦bsmi_num_submeshes_minus1. If Yes, the process proceeds to step S203A-3, and if No, the process ends. Here, bsmi_num_submeshes_minus1 is the number of submeshes that constitute the mesh minus 1.

[0073] In step S203A-3, the basic mesh subdivision unit 203A adds 1 to the variable i.

[0074] In step S203A-4, the basic mesh subdivision unit 203A determines whether the control signal sdu_subdivision_enable_flag indicating whether to perform subdivision satisfies sdu_subdivision_enable_flag = 1. When the result is Yes, this process proceeds to step S203A-5; when the result is No, this process proceeds to step S203A-2.

[0075] In step S203A-5, the basic mesh subdivision unit 203A selects an unprocessed sub-mesh. Here, the unprocessed sub-mesh is a mesh on which the subdivision process has not been performed.

[0076] In step S203A-6, the basic mesh subdivision unit 203A sets the variable j to j = 0 and proceeds to step S203A-7.

[0077] In step S203A-7, the basic mesh subdivision unit 203A determines whether j < sdu_subdivision_iteration_count is satisfied for the variable j and the subdivision count sdu_subdivision_iteration_count. When the result is Yes, this process proceeds to step S203A-2; when the result is No, this process proceeds to step S203A-8.

[0078] In step S203A-8, the basic mesh subdivision unit 203A adds 1 to the variable j and proceeds to step S203A-9.

[0079] In step S203A-9, the basic mesh subdivision unit 203A determines whether the subdivision of all the faces within the sub-mesh is completed. When the result is Yes, this process proceeds to step S203A-7; when the result is No, this process proceeds to step S203A-10.

[0080] In step S203A-10, basic mesh subdivision section 203A selects an unsubdivided surface and subdivides the surface, after which processing proceeds to step S203A-9.

[0081] At this time, the basic mesh subdivision unit 203A may subdivision the surface using a mid-edge subdivision method, or may subdivision the surface using other known subdivision methods.

[0082] Here, the basic mesh subdivision unit 203A may determine the subdivision method for the submeshes based on the value of sdu_subdivision_method.

[0083] 5B shows an example of subdivision using the mid-edge division method, in which a subdivision mesh is generated by dividing the midpoints of the edges that constitute the mesh.

[0084] (Subdivision vertex normal calculation unit 203B) The subdivision vertex normal calculation unit 203B is configured to output normals (subdivision vertex normals) defined for each subdivision vertex that constitutes the input subdivision mesh.

[0085] A plurality of subdivision meshes may be input, and in such a case, the subdivision vertex normal calculation unit 203B may be configured to calculate and output the subdivision vertex normals for each of the plurality of subdivision meshes independently.

[0086] When the value of sdu_subdivision_enable_flag, which is a control signal indicating whether or not to perform subdivision for each submesh, is "0", the subdivision vertex normal calculation unit 203B may be configured not to calculate the subdivision vertex normal for the corresponding submesh.

[0087] (Displacement amount decoding unit 205) As shown in FIG. 8, the displacement amount decoding unit 205 includes an arithmetic decoding unit 205A, an inverse quantization unit 205B, and an inverse coefficient conversion unit 205C.

[0088] Here, the amount of displacement may be defined so as to be calculated independently for each submesh.

[0089] (Arithmetic Decoding Unit 205A) The arithmetic decoding unit 205A is configured to decode the input displacement amount bit stream using an existing arithmetic coding technique, and output quantized displacement amount coefficients.

[0090] When there are multiple sub-meshes, the arithmetic decoding unit 205A may be configured to decode the amount of displacement independently for each sub-mesh.

[0091] The displacement bitstream may also be configured to be decoded using an existing video codec.

[0092] (Dequantization unit 205B) The inverse quantization unit 205B is configured to decode the input quantized displacement coefficients and output the displacement coefficients.

[0093] When the displacement amount coding method is one-dimensional displacement amount coding, the inverse quantization unit 205B may skip the inverse quantization process on the two displacement amount components perpendicular to the normal direction, and perform the inverse quantization process only on the displacement amount normal direction component.

[0094] When a displacement quantization value is set for each LoD for a submesh, the inverse quantization unit 205B may inverse quantize the displacement based on the displacement quantization value of each LoD set in vdmc_transform_lod_quantization, which is the displacement quantization value defined for each submesh.

[0095] Furthermore, the inverse quantization unit 205B may inverse quantize the LoD0 displacement amount based on the quantization value set in vdmc_transform_lifting_quantization_parameters.

[0096] In addition, the inverse quantization unit 205B may calculate a quantization value by multiplying the displacement amount defined for each LoDi submesh by vdmc_transform_log2_lifting_lod_inverse_scale and vdmc_transform_lifting_quantization_parameters, and inverse quantize the LoDi displacement amount using the calculated quantization value.

[0097] When setting a quantization value of the displacement amount for each LoD for a patch, the displacement amount of each LoD may be inverse quantized based on the quantization value of the displacement amount of each LoD set in vdmc_transform_lod_quantization defined for each patch.

[0098] Furthermore, the inverse quantization unit 205B may inverse quantize the LoD0 displacement amount based on the quantization value set in vdmc_transform_lifting_quantization_parameters.

[0099] In addition, a quantization value may be calculated by multiplying vdmc_transform_log2_lifting_lod_inverse_scale and vdmc_transform_lifting_quantization_parameters defined for each patch, and the LoDi displacement amount may be inverse quantized using the calculated quantization value.

[0100] At this time, the inverse quantization unit 205B may perform inverse quantization using the uniform quantization described in the reference (Jinhua Yu, “Advantages of uniform scalar dead-zone quantization in image coding system,” in 2004 International Conference on Communications, Circuits and Systems (IEEE Cat. No. 04EX914). IEEE, 2004, vol. 2, pp. 805-808.), or may perform inverse quantization using other existing inverse quantization methods.

[0101] (Inverse coefficient conversion unit 205C) The inverse coefficient transformation unit 205C is configured to perform inverse coefficient transformation on the displacement amount coefficient output by the inverse quantization unit 205B, and output a decoded displacement amount.

[0102] At this time, the coefficient transformation method may be determined based on sdu_transform_method, which is a control signal indicating a coding method for the amount of displacement for each submesh.

[0103] When performing inverse coefficient conversion, the inverse coefficient conversion unit 205C may skip the inverse coefficient conversion process for the two displacement amount components perpendicular to the normal direction, and perform inverse coefficient conversion only on the displacement amount normal direction component.

[0104] (Mesh decoding unit 204) The mesh decoding unit 204 is configured to output a decoded mesh based on the input control information, the subdivision mesh, and the amount of displacement.

[0105] The mesh decoding unit 204 adds the amount of displacement to the vertices of the input subdivision mesh, and decodes the decoded mesh.

[0106] At this time, the mesh decoding unit 204 may output a plurality of decoded meshes for each submesh, based on the displacement amount corresponding to the submesh and the subdivision mesh.

[0107] In addition, the mesh decoding unit 204 may be configured to set a coordinate system of the displacement amount based on a control signal representing a coordinate system of the displacement amount defined for each submesh, and calculate and output the decoded mesh by adding the displacement amount to the subdivision vertices in the set coordinate system.

[0108] (Texture decoding unit 206) The texture decoding unit 206 is configured to decode the input texture bitstream and output a decoded texture.

[0109] The texture decoder 206 may be configured to independently decode the texture bitstreams corresponding to the sub-meshes using a known video codec to generate a number of decoded textures.

[0110] The texture decoding unit 206 may be configured to be able to independently decode a portion of the decoded texture based on input control information.

[0111] According to this embodiment, efficient compression can be achieved by controlling parameters for each submesh.

[0112] Furthermore, according to this embodiment, the amount of displacement can be efficiently compressed by performing quantization for each LoD in units of sub-meshes or patches.

[0113] The above-mentioned mesh encoding device 100 and mesh decoding device 200 may be realized as a program that causes a computer to execute each function (each process). [Industrial Applicability]

[0114] According to this embodiment, for example, it is possible to improve the overall service quality in video communication, which makes it possible to contribute to Goal 9 of the Sustainable Development Goals (SDGs) led by the United Nations, which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation." [Explanation of symbols]

[0115] 1. Mesh processing system 100...Mesh coding device 200…Mesh decoding device 201…Demultiplexer 202...Basic mesh decoding unit 203…Subdivision part 203A…Basic mesh refinement section 203B…Subdivision vertex normal calculation unit 204…Mesh decoding unit 205...Displacement amount decoding unit 205A...arithmetic decoding unit 205B...Inverse quantization section 205C…Inverse coefficient conversion section 206...Video decoding section 207...Atlas data decoding unit

Claims

1. A mesh decoding device, comprising: A mesh decoding device comprising an atlas data decoding unit configured to decode an atlas bitstream and generate and output control information.

2. The mesh decoding device described in claim 1, characterized in that the atlas data decoding unit changes the number of dimensions of a control signal representing a displacement quantization scale value between subdivision levels to be decoded based on a control signal representing whether to perform one-dimensional displacement encoding defined for each submesh.

3. The mesh decoding device described in claim 1, characterized in that the atlas data decoding unit changes the number of dimensions of a control signal representing a quantization value for each subdivision level to be decoded based on a control signal indicating whether to perform one-dimensional displacement encoding defined for each submesh.

4. The mesh decoding device according to claim 1, characterized in that the atlas data decoding unit changes the number of dimensions of a control signal representing a quantization scale value of the displacement between subdivision levels to be decoded based on a control signal representing whether or not to perform one-dimensional displacement encoding defined for each patch.

5. The mesh decoding device described in claim 1, characterized in that the atlas data decoding unit changes the number of dimensions of a control signal representing a quantization value for each subdivision level to be decoded based on a control signal representing whether to perform one-dimensional displacement encoding defined for each patch.

6. A mesh decoding method, comprising: A mesh decoding method comprising the steps of: decoding an atlas bitstream to generate and output first control information.

7. A program for causing a computer to function as a mesh decoding device, comprising: The mesh decoding device comprises an atlas data decoding unit configured to decode an atlas bitstream to generate and output first control information.

Citation Information

Patent Citations

  • Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

    US20210227232A1

  • Image / video-based mesh compression

    US20230290008A1

  • Dynamic mesh compression using inter and intra prediction

    US20230388544A1

  • Method and apparatus for mesh coding by using overlapped patches for video based point cloud compression

    WO2022114786A1

Cited By

  • Mesh decoding device, mesh decoding method, and program

    WO2025197201A1

  • Mesh decoding device, mesh decoding method, and program

    WO2025197202A1