Mesh decoding device, mesh decoding method, and program

The mesh decoding device and method address limitations in representing mesh expansions by expanding the range of extensions and bit amounts, enhancing video communication quality and supporting sustainable industrialization.

JP2026121236APending Publication Date: 2026-07-23KDDI CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KDDI CORP
Filing Date
2025-01-10
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing mesh decoding technologies are limited in their ability to represent a wide range of extensions and bit amounts for displacement and basic mesh expansions, leading to inefficiencies in video communication.

Method used

A mesh decoding device and method that expand the representable range of extensions and bit amounts by adding an integer N to control signals indicating the number or bit length of these expansions using displacement and basic mesh decoding units.

Benefits of technology

Enhances the representation capabilities of mesh decoding, improving video communication quality and contributing to sustainable industrialization through expanded range of extensions and bit amounts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026121236000001_ABST
    Figure 2026121236000001_ABST
Patent Text Reader

Abstract

This invention provides a mesh decoding device, a mesh decoding method, and a program that expand the range of representable extensions. [Solution] In a mesh processing system equipped with a mesh coding device and a mesh decoding device, the mesh decoding device 200 includes a multiplexing 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, an atlas data decoding unit 207, a boundary correction unit 208, and an SEI message decoding unit 209. The displacement amount decoding unit 205 decodes and outputs the displacement amount expansion number by adding an integer N to a control signal representing the displacement amount expansion number when the control signal indicating whether or not displacement amount expansion exists is 1.
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 Art

[0002] In Non-Patent Document 1, a mesh is decoded by dividing it into a basic mesh representing rough information and a displacement amount representing detailed information, and the displacement amount is decoded by a video codec.

Prior Art Documents

Non-Patent Documents

[0003] [[ID=2​​​​​​​​​​​​​​​​​​​​

[0005] The first feature of the present invention is a mesh decoding device that includes a displacement decoding unit that, when a control signal indicating whether or not displacement expansion exists is 1, decodes and outputs the number of displacement expansions by adding an integer N to a control signal indicating the number of displacement expansions.

[0006] A second feature of the present invention is a mesh decoding device that includes a displacement decoding unit that, when a control signal indicating whether or not displacement expansion exists is 1, decodes and outputs the bit amount of each expansion by adding an integer N to a control signal representing the bit amount of each expansion.

[0007] A third feature of the present invention is a mesh decoding device comprising a basic mesh decoding unit that, when a control signal indicating whether or not an expansion of the basic mesh exists is 1, decodes and outputs the number of expansions of the basic mesh by adding an integer N to a control signal indicating the number of expansions of the basic mesh.

[0008] The fourth feature of the present invention is a mesh decoding device that includes a basic mesh decoding unit that, when a control signal indicating whether or not an extension of the basic mesh exists is 1, decodes and outputs the bit length of each extension by adding an integer N to a control signal representing the bit amount of each extension.

[0009] A fifth feature of the present invention is a mesh decoding method that includes a step of decoding and outputting the number of displacement expansions by adding an integer N to a control signal representing the number of displacement expansions when a control signal representing whether or not there is an expansion of the displacement is 1.

[0010] The sixth feature of the present invention is a program that causes a computer to function as a mesh decoding device, wherein the mesh decoding device includes a displacement decoding unit that, when a control signal indicating whether or not there is an expansion of the displacement amount is 1, decodes and outputs the number of the expansion of the displacement amount by adding an integer N to a control signal indicating the number of the expansion of the displacement amount. [Effects of the Invention]

[0011] According to the present invention, it is possible to provide a mesh decoding device, a mesh decoding method, and a program that can expand the range of the number of extensions that can be represented. [Brief explanation of the drawing]

[0012] [Figure 1] Figure 1 shows an example of the configuration of a mesh processing system 1 according to one embodiment. [Figure 2] Figure 2 shows an example of a functional block of a mesh decoding device 200 according to one embodiment. [Figure 3] Figure 3 shows an example of the syntax structure for displ_sequence_parameter_set_rbsp. [Figure 4] Figure 4 shows an example of a basic mesh. [Figure 5] Figure 5 shows an example of the bmesh_sequence_parameter_set_rbsp syntax configuration. [Figure 6] Figure 6 is a diagram illustrating an example of a decoding method for the subdivided mesh in the subdivided section 203. [Modes for carrying out the invention]

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

[0014] <First Embodiment> The mesh processing system 1 according to this embodiment will be described below with reference to Figures 1 to 6.

[0015] FIG. 1 is a diagram showing an example of the configuration of the mesh processing system 1 according to the present embodiment. As shown in FIG. 1, the mesh processing system 1 includes a mesh encoding device 100 and a mesh decoding device 200.

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

[0017] As shown in FIG. 2, the mesh decoding device 200 includes a multiplex separation 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, an atlas data decoding unit 207, a boundary correction unit 208, and an SEI message decoding unit 209.

[0018] The multiplex separation unit 201 is configured to separate the multiplexed bit stream into an SEI bit stream, an atlas bit stream, a basic mesh bit stream, a displacement amount bit stream, and a texture bit stream.

[0019] The basic mesh decoding unit 202 is configured to decode the basic mesh bit stream and generate and output a basic mesh.

[0020] The basic mesh is a mesh simplified by reducing the number of faces of the mesh before encoding, and is used to represent the basic shape of the mesh.

[0021] Also, the basic mesh is composed of one sub-mesh or a plurality of sub-meshes. A sub-mesh is defined as an area of the basic mesh.

[0022] The subdivision unit 203 is configured to generate and output a subdivided mesh from the basic mesh decoded by the basic mesh decoding unit 202 by the subdivision method indicated by the atlas control information.

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

[0024] The mesh decoding unit 204 is configured to generate and output a decoded mesh using the atlas control information decoded by the atlas data decoding unit 207, the subdivided mesh generated by the subdivided mesh unit 203, and the displacement amount decoded by the displacement amount decoding unit 205.

[0025] The displacement amount decoding unit 205 is configured to decode the displacement amount bitstream, generate a displacement amount, and output it.

[0026] The video decoding unit 206 is configured to generate and output a decoded texture using a video codec.

[0027] The Atlas data decoding unit 207 is configured to decode the Atlas bitstream and output Atlas control information.

[0028] The boundary correction unit 208 is configured to decode and output a boundary correction decoded mesh using the atlas control information decoded by the atlas data decoding unit 207, the SEI control information decoded by the SEI message decoding unit 209, and the decoded mesh decoded by the mesh decoding unit 204.

[0029] The SEI message decoding unit 209 is configured to decode the SEI bitstream, decode the SEI control information, and output it.

[0030] (Displacement decoding unit 205) The displacement amount decoding unit 205 is configured to decode the displacement amount bitstream and output the displacement amount.

[0031] The displacement amount may be defined to be decoded independently for each submesh.

[0032] Referring to Figure 3, the control information decoded by the displacement decoding unit 205 will be explained.

[0033] The displacement bitstream includes the sequence displacement parameter set displ_sequence_parameter_set_rbsp, which is a set of control signals for the displacement amount for each sequence.

[0034] Figure 3 shows an example of the syntax structure for displ_sequence_parameter_set_rbsp. Note that different syntax names may be used if the functionality of the syntax is similar.

[0035] In the syntax configuration of displ_sequence_parameter_set_rbsp shown in Figure 3, the Description column indicates how each syntax is encoded, where ue(v) means it is an unsigned zero-order exponential Golomb code, and u(n) means it is an n-bit flag.

[0036] The Description is merely an example, and other encoding schemes besides the Description of the diagram, such as u(n), ue(v), or ae(v), may be selected.

[0037] The `displ_sequence_parameter_set_rbsp` function includes a control signal `dsps_extension_present_flag` that indicates whether or not an extension of the displacement range exists.

[0038] When dsps_extension_present_ is 1, displ_sequence_parameter_set_rbsp includes a control signal dsps_extension_count_minus1 which represents the number of displacement extensions.

[0039] The displacement amount decoding unit 205 may be configured to decode and output the displacement amount extension number by adding an integer N to dsps_extension_count_minus1.

[0040] When dsps_extension_present_flag is 1, displ_sequence_parameter_set_rbsp includes the control signal dsps_extensions_length_minus1, which represents the bit amount of extension for each displacement.

[0041] The displacement amount decoding unit 205 may be configured to decode and output the bit amount of each displacement amount extension by adding an integer N to dsps_extensions_length_minus1.

[0042] displ_sequence_parameter_set_rbsp includes a control signal dsps_extension_length_minus1[i] representing the bit size of the displacement extension i for integers i from 0 to dsps_extension_count_minus1+1.

[0043] The displacement amount decoding unit 205 may be configured to decode and output the bit amount of the extended displacement amount i by adding an integer N to dsps_extension_length_minus1[i].

[0044] (Basic mesh decoding unit 202) The basic mesh decoding unit 202 is configured to decode the basic mesh bitstream, generate a basic mesh, and output it.

[0045] Here, the basic mesh consists of one or more submeshes.

[0046] A submesh consists of multiple vertices in three-dimensional space and edges that connect these vertices.

[0047] As shown in Figure 4, the basic mesh is constructed by combining basic faces, each represented by three vertices.

[0048] The basic mesh decoding unit 202 may be configured to decode the basic mesh bitstream using, for example, Draco as shown in Non-Patent Document 2 or other known mesh decoding techniques.

[0049] Multiple submeshes may be configured to be decoded independently using Draco or other known mesh decoding techniques.

[0050] Referring to Figure 5, the control information decoded by the basic mesh decoding unit 202 will be explained.

[0051] The basic mesh bitstream includes the sequence basic mesh parameter set bmesh_sequence_parameter_set_rbsp, which is a set of control signals for the basic mesh for each sequence.

[0052] Figure 5 shows an example of the syntax structure of bmesh_sequence_parameter_set_rbsp. Here, if the functionality of the syntax is the same, a different syntax name may be used than the one shown in Figure 4.

[0053] In the bmesh_sequence_parameter_set_rbsp syntax configuration shown in Figure 5, the Description column indicates how each syntax is encoded, where ue(v) means it is an unsigned zero-order exponential Golomb code, and u(n) means it is an n-bit flag.

[0054] The Description is merely an example, and other encoding schemes besides the Description of the diagram, such as u(n), ue(v), or ae(v), may be selected.

[0055] bmesh_sequence_parameter_set_rbsp includes a control signal bmsps_extension_present_flag that indicates whether an extension of the base mesh exists.

[0056] When bmsps_extension_present_flag is 1, bmesh_sequence_parameter_set_rbsp includes the control signal bmsps_extension_count_minus1, which represents the number of extensions of the base mesh.

[0057] The basic mesh decoding unit 202 may be configured to decode and output the number of basic mesh extensions by adding an integer N to bmsps_extension_count_minus1.

[0058] When bmsps_extension_present_flag is 1, bmesh_sequence_parameter_set_rbsp includes the control signal bmsps_extensions_length_minus1, which represents the bit length of the base mesh extension.

[0059] The basic mesh decoding unit 202 may be configured to decode and output the bit amount of the basic mesh extension by adding an integer N to bmsps_extensions_length_minus1.

[0060] bmesh_sequence_parameter_set_rbsp contains a control signal bmsps_extension_length_minus1[i] representing the bit length of the extension i of the base mesh, for integers i from 0 to bmsps_extension_count_minus1+1.

[0061] The basic mesh decoding unit 202 may be configured to decode and output the bit amount of the basic mesh extension i by adding an integer N to bmsps_extension_length_minus1[i].

[0062] (Subdivision section 203) Referring to Figure 6, the decoding method for the subdivided mesh in the subdivided section 203 will be explained.

[0063] The subdivision unit 203 is configured to output a subdivided mesh, subdivided vertex normals, and subdivision information based on the basic mesh.

[0064] Figure 6 shows an example of a subdivided mesh obtained by subdividing once using the mid-edge subdivision method. In the mid-edge subdivision method, a subdivided mesh is generated by subdividing the midpoints of the edges that make up the mesh.

[0065] By repeating the above process, it is possible to generate finer subdivided meshes.

[0066] The subdivision section 203 may be configured to decode independently for each submesh.

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

[0068] The mesh decoding unit 204 decodes the decoded mesh by adding displacement amounts to the vertices of the input subdivided mesh.

[0069] In this case, the mesh decoding unit 204 may output multiple decoded meshes for each submesh based on the displacement amount and subdivision mesh corresponding to the submesh.

[0070] Furthermore, the mesh decoding unit 204 may be configured to calculate and output a decoded mesh by setting a coordinate system for the displacement amount based on a control signal representing a coordinate system for the displacement amount defined for each submesh, and adding the displacement amount to the subdivided vertices on the set coordinate system.

[0071] (Boundary correction unit 208) The boundary correction unit 208 is configured to correct the submesh boundaries of the input decoded mesh, generate a boundary-corrected decoded mesh, and output it.

[0072] According to this embodiment, the range of representable extensions can be expanded by adding an integer N to dsps_extension_count_minus1.

[0073] Furthermore, according to this embodiment, by adding an integer N to dsps_extensions_length_minus1, the range of bits for the extension of the displacement amount that can be represented can be expanded.

[0074] Furthermore, according to this embodiment, the range of the number of basic mesh extensions that can be represented can be expanded by adding an integer N to bmsps_extension_count_minus1.

[0075] Furthermore, according to this embodiment, by adding an integer N to bmsps_extensions_length_minus1, the range of bit amounts for the extension of the basic mesh that can be represented can be expanded.

[0076] The mesh coding device 100 and mesh decoding device 200 described above may be implemented as programs that cause a computer to execute each function (each process). [Industrial applicability]

[0077] Furthermore, according to this embodiment, for example, it is possible to achieve an overall improvement in service quality in video communication, thereby contributing to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), "Build resilient infrastructure, promote sustainable industrialization and foster innovation." [Explanation of symbols]

[0078] 1…Mesh processing system 100... Mesh coding device 200... Mesh Decoder 201…Demultiplexer 202...Basic Mesh Decoding Unit 203…Subdivision part 204...Mesh decoding section 205...Displacement Decoding Unit 206...Video Decoding Unit 207... Atlas Data Decoding Unit 208...Boundary correction section 209...SEI message decoding unit

Claims

1. A mesh decoding device, A mesh decoding device characterized by comprising a displacement decoding unit that decodes and outputs the number of displacement expansions by adding an integer N to a control signal representing the number of displacement expansions when a control signal representing whether or not there is an expansion of the displacement is 1.

2. A mesh decoding device, A mesh decoding device characterized by comprising a displacement amount decoding unit that, when a control signal indicating whether or not an expansion of the displacement amount exists is 1, decodes and outputs the bit amount of each expansion by adding an integer N to a control signal representing the bit amount of each expansion.

3. A mesh decoding device, A mesh decoding device characterized by comprising a basic mesh decoding unit that, when a control signal indicating whether or not an expansion of the basic mesh exists is 1, decodes and outputs the number of expansions of the basic mesh by adding an integer N to a control signal indicating the number of expansions of the basic mesh.

4. A mesh decoding device, A mesh decoding device characterized by comprising a basic mesh decoding unit that, when a control signal indicating whether or not an extension of the basic mesh exists is 1, decodes and outputs the bit length of each extension by adding an integer N to a control signal representing the bit amount of each extension.

5. A mesh decoding method, A mesh decoding method characterized by having a step of decoding and outputting the number of displacement expansions by adding an integer N to a control signal representing the number of displacement expansions when a control signal representing whether or not there is an expansion of the displacement is 1.

6. A program that makes a computer function as a mesh decoding device, The mesh decoding device is A program characterized by comprising a displacement amount decoding unit that, when a control signal indicating whether or not displacement expansion exists is 1, decodes and outputs the displacement expansion number by adding an integer N to a control signal indicating the number of displacement expansions.