WO2024079983A1 - メッシュ復号装置、メッシュ復号方法及びプログラム - Google Patents

メッシュ復号装置、メッシュ復号方法及びプログラム Download PDF

Info

Publication number
WO2024079983A1
WO2024079983A1 PCT/JP2023/029763 JP2023029763W WO2024079983A1 WO 2024079983 A1 WO2024079983 A1 WO 2024079983A1 JP 2023029763 W JP2023029763 W JP 2023029763W WO 2024079983 A1 WO2024079983 A1 WO 2024079983A1
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
unit
vertices
subdivision
decoded
Prior art date
Application number
PCT/JP2023/029763
Other languages
English (en)
French (fr)
Inventor
建鋒 徐
圭 河村
Original Assignee
Kddi株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kddi株式会社 filed Critical Kddi株式会社
Publication of WO2024079983A1 publication Critical patent/WO2024079983A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to a mesh decoding device, a mesh encoding device, a mesh decoding method, and a program.
  • Non-Patent Document 1 discloses a technique for encoding meshes using Non-Patent Document 2.
  • the conventional technology has a problem in that the efficiency of motion vector encoding is low due to overlapping vertices that exist in the decoded base mesh.
  • the present invention has been made in consideration of the above-mentioned problems, and aims to provide a mesh decoding device, mesh encoding device, mesh decoding method, and program that can improve the efficiency of mesh encoding.
  • the first feature of the present invention is that it is a mesh decoding device that includes an alignment unit that combines overlapping vertices, which are multiple vertices with the same coordinates in a decoded base mesh, into a single vertex and then rearranges them in a predetermined order.
  • the second feature of the present invention is a mesh decoding method that includes a step of combining overlapping vertices, which are multiple vertices that have the same coordinates for the decoded base mesh, into a single vertex and then rearranging them in a predetermined order.
  • the third feature of the present invention is a program that causes a computer to function as a mesh decoding device, the mesh decoding device being provided with an alignment unit that combines overlapping vertices, which are multiple vertices whose coordinates are the same for a decoded base mesh, into a single vertex and then rearranges them in a predetermined order.
  • the present invention provides a mesh decoding device, a mesh encoding device, a mesh decoding method, and a program that can improve mesh encoding efficiency.
  • FIG. 1 is a diagram showing an example of the configuration of a mesh processing system 1 according to an embodiment.
  • FIG. 2 is a diagram showing an example of functional blocks of a mesh decoding device 200 according to an embodiment.
  • FIG. 3A is a diagram showing an example of a base mesh and a subdivision mesh.
  • FIG. 3B is a diagram showing an example of a base mesh and a subdivision mesh.
  • FIG. 4 is a diagram showing an example of a syntax configuration of a basic mesh bit stream.
  • FIG. 5 is a diagram showing an example of a syntax configuration of the BPH.
  • FIG. 6 is a diagram showing an example of functional blocks of the basic mesh decoding unit 202 of the mesh decoding device 200 according to an embodiment.
  • FIG. 7 is a diagram showing an example of functional blocks of the intra-decoding unit 202B of the basic mesh decoding unit 202 of the mesh decoding device 200 according to an embodiment.
  • FIG. 8 is a flowchart showing an example of the operation of the arrangement unit 202B2 of the intra-decoding unit 202B of the basic mesh decoding unit 202 of the mesh decoding device 200 according to an embodiment.
  • FIG. 9 is a diagram for explaining an example of the operation of the arrangement unit 202B2 of the intra-decoding unit 202B of the basic mesh decoding unit 202 of the mesh decoding device 200 according to one embodiment.
  • FIG. 10 is a diagram showing an example of the correspondence between the vertices of the basic mesh of a P frame and the vertices of the basic mesh of an I frame.
  • FIG. 11 is a diagram showing an example of functional blocks of the inter decoding unit 202E of the basic mesh decoding unit 202 of the mesh decoding device 200 according to an embodiment.
  • FIG. 12 is a diagram showing an example of functional blocks of the basic mesh decoding unit 202 of the mesh decoding device 200 according to an embodiment.
  • FIG. 13 is a diagram showing vertices of a base mesh in a reference frame having multiple motion vectors.
  • FIG. 14 is a diagram illustrating an example of a method for calculating the MVP of a vertex to be decoded by the motion vector prediction unit 202E3 of the inter decoding unit 202E of the basic mesh decoding unit 202 of the mesh decoding device 200 according to one embodiment.
  • FIG. 15 shows a flowchart showing an example of the operation of the motion vector prediction unit 202E3 of the inter decoding unit 202E of the basic mesh decoding unit 202 of the mesh decoding device 200 according to one embodiment.
  • FIG. 16 is a diagram showing an example of functional blocks of the subdivision unit 203 of the mesh decoding device 200 according to an embodiment.
  • FIG. 17 is a diagram showing an example of functional blocks of a basic mesh subdivision unit 203A of the subdivision unit 203 of the mesh decoding device 200 according to an embodiment.
  • FIG. 18 is a diagram illustrating an example of a method for dividing a basic surface by the basic surface dividing unit 203A5 of the basic mesh subdivision unit 203A of the subdivision unit 203 in the mesh decoding device 200 according to an embodiment.
  • FIG. 19 is a flowchart showing an example of the operation of the basic mesh subdivision unit 203A of the subdivision unit 203 of the mesh decoding device 200 according to an embodiment.
  • FIG. 20 is a diagram showing an example of functional blocks of a subdivision mesh adjustment unit 203B of the subdivision unit 203 of the mesh decoding device 200 according to an embodiment.
  • FIG. 21 is a diagram showing an example of a case in which an edge division point on a basic surface ABC is moved by the edge division point moving unit 701 of the subdivision mesh adjustment unit 203B of the subdivision unit 203 of the mesh decoding device 200 according to one embodiment.
  • Figure 22 is a diagram showing an example of a case in which subdivision surface X within a base surface is re-subdivided by the subdivision surface division unit 702 of the subdivision mesh adjustment unit 203B of the subdivision unit 203 of the mesh decoding device 200 according to one embodiment.
  • Figure 23 is a diagram showing an example of a case in which all subdivision surfaces are re-subdivided by the subdivision surface division unit 702 of the subdivision mesh adjustment unit 203B of the subdivision unit 203 of the mesh decoding device 200 according to one embodiment.
  • FIG. 24 is a diagram showing an example of functional blocks of the displacement amount decoding unit 206 of the mesh decoding device 200 according to one embodiment (when inter prediction is performed in the spatial domain).
  • FIG. 25 is a diagram showing an example of the configuration of a displacement amount bit stream.
  • FIG. 26 is a diagram showing an example of a syntax configuration of a DPS.
  • FIG. 27 is a diagram showing an example of a syntax configuration of the DPH.
  • FIG. 28 is a diagram illustrating an example of a correspondence relationship between subdivision vertices between a reference frame and a current frame to be decoded when inter prediction is performed in the spatial domain.
  • FIG. 29 is a diagram showing an example of functional blocks of the displacement amount decoding unit 206 of the mesh decoding device 200 according to one embodiment (when inter prediction is performed in the frequency domain).
  • FIG. 30 is a diagram illustrating an example of a frequency correspondence relationship between a reference frame and a current frame to be decoded when inter prediction is performed in the frequency domain.
  • FIG. 31 is a flowchart showing an example of the operation of the displacement amount decoding unit 206 of the mesh decoding device 200 according to an embodiment.
  • FIG. 32 is a diagram showing an example of functional blocks of the displacement amount decoding unit 206 according to the first modification.
  • FIG. 33 is a diagram showing an example of functional blocks of the displacement amount decoding unit 206 according to the second modification.
  • FIG. 1 is a diagram showing an example of the configuration of a mesh processing system 1 according to this embodiment.
  • the mesh processing system 1 includes a mesh encoding device 100 and a mesh decoding device 200.
  • 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 patch integration unit 205, a displacement amount decoding unit 206, and an image decoding unit 207.
  • the basic mesh decoding unit 202, the subdivision unit 203, the mesh decoding unit 204, and the displacement amount decoding unit 206 are configured to perform processing in units of patches into which the mesh is divided, and the results of this processing may then be integrated by the patch integration unit 205.
  • the mesh is divided into patch 1, which is made up of base faces 1 and 2, and patch 2, which is made up of base faces 3 and 4.
  • the demultiplexing unit 201 is configured to separate the multiplexed bit stream into a basic mesh bit stream, a displacement amount bit stream, and a texture bit stream.
  • the base mesh decoding unit 202 is configured to decode the base mesh bitstream and generate and output base meshes.
  • the base mesh is composed of multiple vertices in three-dimensional space and edges connecting these multiple vertices.
  • the basic mesh is constructed by combining basic faces represented by three vertices.
  • the base mesh decoding unit 202 may be configured to decode the base mesh bitstream using, for example, Draco as shown in Non-Patent Document 2.
  • the base mesh decoding unit 202 may also be configured to generate "subdivision_method_id" (described below) as control information that controls the type of subdivision method.
  • control information decoded by the basic mesh decoding unit 202 will be explained with reference to Figures 4 and 5.
  • Figure 4 shows an example of the syntax configuration of a basic mesh bitstream.
  • the base mesh bitstream may include a base patch header (BPH), which is a collection of control information corresponding to a base mesh patch.
  • BPH base patch header
  • the base mesh bitstream may include, following the BPH, base mesh patch data that encodes the base mesh patch.
  • the basic mesh bitstream is configured so that one BPH corresponds to each patch data.
  • the configuration in FIG. 4 is merely an example, and elements other than those described above may be added as components of the basic mesh bitstream, as long as each patch data corresponds to a BPH.
  • the basic mesh bit stream may include an SPS (Sequence Parameter Set), an FH (Frame Header) which is a collection of control information corresponding to a frame, or an MH (Mesh Header) which is control information corresponding to a mesh.
  • SPS Sequence Parameter Set
  • FH Fram Header
  • MH Mesh Header
  • Figure 5 shows an example of the syntax configuration of a BPH.
  • the syntax functions are similar, different syntax names may be used in addition to the syntax mates shown in Figure 5.
  • 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.
  • the BPH includes at least a control signal (mdu_face_count_minus1) that specifies the number of base faces contained in the base mesh patch.
  • the BPH also includes at least a control signal (mdu_subdivision_method_id) that specifies the type of subdivision method for the base mesh for each base patch.
  • the BPH may include a control signal (mdu_max_depth) for identifying an upper limit on the number of recursive subdivisions to be performed for each base mesh patch when recursively generating the number of subdivisions of the base surface.
  • mdu_max_depth a control signal for identifying an upper limit on the number of recursive subdivisions to be performed for each base mesh patch when recursively generating the number of subdivisions of the base surface.
  • the basic mesh decoding unit 202 includes a separation unit 202A, an intra decoding unit 202B, a mesh buffer unit 202C, a connection information decoding unit 202D, and an inter decoding unit 202E.
  • the separation unit 202A is configured to classify the basic mesh bit stream into an I frame (reference frame) bit stream and a P frame bit stream.
  • the intra decoder 202B is configured to decode the vertex coordinates and connection information of the I frame from the bit stream of the I frame using, for example, Draco described in Non-Patent Document 2.
  • FIG. 7 shows an example of the functional blocks of the intra decoder 202B.
  • the intra decoding unit 202B has an arbitrary intra decoding unit 202B1 and an alignment unit 202B2.
  • the arbitrary intra-decoding unit 202B1 is configured to decode the coordinates and connection information of the unordered vertices of the I-frame from the bit stream of the I-frame using any method including Draco described in Non-Patent Document 2.
  • the sorting unit 202B2 is configured to output vertices by sorting the unordered vertices into a predetermined order.
  • the predetermined order may be, for example, the Morton code order or the raster scan order.
  • the alignment unit 202B2 may also group together overlapping vertices, which are multiple vertices with the same coordinates in the decoded base mesh, into a single vertex and then rearrange them in a predetermined order.
  • step S101 the sorting unit 202B2 determines the list of overlapping vertices described above. That is, the sorting unit 202B2 determines the list of overlapping vertices that exist in the decoded base mesh.
  • the sorting unit 202B2 determines the list of overlapping vertices that exist in the decoded base mesh.
  • at least two methods for determining such a list of overlapping vertices are assumed.
  • Determination method 1 For example, in determination method 1, the organizing unit 202B2 is configured to decode the above-mentioned list of overlapping vertices from the bitstream of an I frame.
  • the sorting unit 202B2 decodes a flag indicating whether or not there is a duplicate vertex from the bit stream of the I frame.
  • the sorting unit 202B2 decodes the number D of duplicate vertices.
  • the sorting unit 202B2 decodes pairs of vertex indexes A(k) and B(k) that exist as overlapping vertices one by one from the I frame bit stream and stores them in a specific buffer.
  • the list of such pairs is stored in the above-mentioned specific buffer in the order of A(k) ⁇ B(k).
  • the sorting unit 202B2 empties the above specific buffer.
  • Determination method 1 is expected to have the effect of avoiding an increase in the amount of calculations because no calculations are performed.
  • the organizing unit 202B2 is configured to calculate a list of overlapping vertices by searching for overlapping vertices in the decoded base mesh.
  • the sorting unit 202B2 searches for the indexes of vertices with matching coordinates (duplicate vertices) from the geometric information of the decoded base mesh and stores them in a buffer.
  • the input to the sorting unit 202B2 is the index (in decoding order) and position coordinates of each vertex of the decoded base mesh
  • the output from the sorting unit 202B2 is a list of pairs of vertex indices A(k) and B(k) that exist as overlapping vertices.
  • this list of pairs is saved in the above-mentioned specific buffer in the order A(k) ⁇ B(k).
  • Decision method 2 is expected to have the effect of avoiding an increase in the bit rate because no data is taken from the bitstream.
  • step S102 the sorting unit 202B2 updates the mesh based on the overlapping vertices.
  • the sorting unit 202B2 merges all or part of the overlapping vertices and updates the Connectivity, as shown in FIG. 9.
  • Method 1 For example, in the implementation method 1, the organizing unit 202B2 processes all overlapping vertices stored in the specific buffer in the above-mentioned step S101.
  • the sorting unit 202B2 sequentially switches the index of the vertex A(k) to B(k) in the Connectivity. However, if there is an index of the UV coordinates in the Connectivity, the sorting unit 202B2 does not need to change that index.
  • Method 2 the sorting unit 202B2 decodes from the bit stream information relating to duplicate vertices that are not to be processed (vertices that do not need to be processed) among the duplicate vertices stored in the specific buffer in the above-mentioned step S101, integrates the duplicate vertices other than the duplicate vertices that are not to be processed, and updates the Connectivity.
  • the sorting unit 202B2 decodes a flag indicating the presence or absence of vertices that will not be processed (duplicate vertices) from the bit stream.
  • the sorting unit 202B2 decodes the number N of vertices that do not need to be processed.
  • the sorting unit 202B2 deletes the pair containing A(k) or the kth pair from among the pairs of overlapping vertices stored in the specific buffer in step S101 described above.
  • the sorting unit 202B2 implements the above-mentioned implementation method 1 using the specific buffer that was last updated.
  • the mesh buffer unit 202C is configured to accumulate the coordinates and connection information of the vertices of the I frame decoded by the intra-decoding unit 202B.
  • a specific buffer may be provided to store pairs of vertex indexes A(k) and B(k) of overlapping vertices in a predetermined order.
  • connection information decoding unit 202D is configured to convert the connection information of the I frame extracted from the mesh buffer unit 202C into connection information of the P frame.
  • the inter-decoding unit 202E is configured to decode the coordinates of the vertices of the P frame by adding the coordinates of the vertices of the I frame extracted from the mesh buffer unit 202C to the motion vectors decoded from the bit stream of the P frame.
  • the inter-decoding unit 202E can adjust the index of the vertex of the P frame using the pair of vertex indexes A(k) and B(k) that exist as overlapping vertices stored in the specific buffer.
  • the motion vector decoded by the inter decoding unit 202E is a difference vector between the coordinates of the vertices of the base mesh of the P frame and the coordinates of the vertices of the base mesh of the I frame.
  • the inter decoding unit 202E may be configured to calculate the index or coordinate of a vertex to be increased in the base mesh of the inter frame to be decoded, based on the vertices of the base mesh of a reference frame having multiple motion vectors.
  • FIG. 11 is a diagram showing an example of functional blocks of the inter decoding unit 202E.
  • the inter-decoding unit 202E has a motion vector residual decoding unit 202E1, a motion vector buffer unit 202E2, a motion vector prediction unit 202E3, a motion vector calculation unit 202E4, and an adder 202E5.
  • the base mesh decoding unit 202 may have an additional vertex calculation unit 202E10 before the inter decoding unit 202E, as shown in FIG. 12.
  • the additional vertex calculation unit 202E10 is configured to calculate the index of a vertex to be increased in the basic mesh of the inter frame to be decoded, based on the vertices of the basic mesh of the reference frame having multiple motion vectors.
  • FIG. 13 also shows the vertices of a base mesh in a reference frame with multiple motion vectors as described above.
  • the additional vertex calculation unit 202E10 decodes from the bitstream the index of the vertex to be increased in the base mesh of the interframe to be decoded, based on the vertices of the base mesh of the reference frame having multiple motion vectors.
  • the additional vertex calculation unit 202E10 decodes a flag from the bitstream that indicates whether or not there is a vertex of the base mesh of a reference frame that has multiple motion vectors that do not require processing.
  • the additional vertex calculation unit 202E10 decodes the number N of vertices to be increased in the basic mesh of the interframe to be decoded, using the vertices of the basic mesh of the reference frame that has multiple motion vectors and does not require processing.
  • the additional vertex calculation unit 202E10 adds one vertex to the basic mesh of the interframe to be decoded using a vertex of the basic mesh of the reference frame having two motion vectors, and adds two vertices to the basic mesh of the interframe to be decoded using a vertex of the basic mesh of the reference frame having three motion vectors.
  • the additional vertex calculation unit 202E10 decodes pairs of the index A(k) of the vertex to be added in the base mesh of the interframe to be decoded and the corresponding index B(k) of the vertex of the base mesh of the reference frame that does not require processing or the order k of the index B(k) one by one, and stores them in the above-mentioned specific buffer.
  • k 1, 2, ..., N.
  • the additional vertex calculation unit 202E10 empties the specific buffer.
  • the additional vertex calculation unit 202E10 deletes the pair including A(k) or the kth pair from among the pairs of overlapping vertices stored in the specific buffer in the above-mentioned step S101.
  • the motion vector residual decoding unit 202E1 is configured to generate a motion vector residual (MVR) from the P frame bitstream.
  • MVR motion vector residual
  • MVR is the motion vector residual indicating the difference between MV (Motion Vector) and MVP (Motion Vector Prediction).
  • MV is the difference vector (motion vector) between the coordinates of the corresponding vertex in the I frame and the coordinates of the vertex in the P frame.
  • MVP is the predicted value of the MV of the target vertex using MV (motion vector prediction value).
  • the motion vector buffer unit 202E2 is configured to sequentially store the MVs output by the motion vector calculation unit 202E4.
  • the motion vector prediction unit 202E3 is configured to obtain the decoded MVs from the motion vector buffer unit 202E2 for the vertices connected to the vertex to be decoded, and output the MVP of the vertex to be decoded using all or part of the obtained decoded MVs, as shown in FIG. 14.
  • the motion vector calculation unit 202E4 is configured to add the MVR generated by the motion vector residual decoding unit 202E1 and the MVP output from the motion vector prediction unit 202E3, and output the MV of the vertex to be decoded.
  • the adder 202E5 is configured to add the coordinates of the vertex corresponding to the vertex to be decoded, which is obtained from the decoded base mesh of the corresponding I frame (reference frame), to the motion vector MV output from the motion vector calculation unit 202E3, and output the coordinates of the vertex to be decoded.
  • FIG. 15 shows a flowchart illustrating an example of the operation of the motion vector prediction unit 202E3.
  • step S1001 the motion vector prediction unit 202E3 sets MVP and N to 0.
  • step S1002 the motion vector prediction unit 202E3 obtains a set of MVs of vertices around the vertex to be decoded from the motion vector buffer unit 202E2, identifies vertices for which subsequent processing has not been completed, and transitions to No. If subsequent processing has been completed for all vertices, transitions to Yes.
  • step S1003 if the MV of the vertex to be processed has not been decoded, the motion vector prediction unit 202E3 transitions to No, and if the MV of the vertex to be processed has been decoded, the motion vector prediction unit 202E3 transitions to Yes.
  • step S1004 the motion vector prediction unit 202E3 adds MV to MVP and adds 1 to N.
  • step S1005 if N is greater than 0, the motion vector prediction unit 202E3 outputs the result of dividing MVP by N, and if N is 0, it outputs 0 and ends the process.
  • the motion vector prediction unit 202E3 is configured to output the MVP to be decoded by averaging the decoded motion vectors of the vertices around the vertex to be decoded.
  • the motion vector prediction unit 202E3 may be configured to set the MVP to 0 if the set of decoded motion vectors is an empty set.
  • the motion vector calculation unit 202E4 may be configured to calculate the MV of the vertex to be decoded from the MVP output by the motion vector prediction unit 202E3 and the MVR generated by the motion vector residual decoding unit 202E1 using equation (1).
  • MV(k) MVP(k)+MVR(k) ... (1) where k is the index of the vertex.
  • MV, MVR and MVP are vectors with x, y and z components.
  • MVP is used to encode only MVR instead of MV, which is expected to improve encoding efficiency.
  • the adder 202E5 is configured to calculate the coordinates of a vertex by adding the MV of the vertex calculated by the motion vector calculation unit 202E4 to the coordinates of the vertex in the reference frame corresponding to the vertex, and to keep the connectivity information (Connectivity) in the reference frame.
  • the adder 202E5 may be configured to calculate the coordinate v' i (k) of the k-th vertex using equation (2).
  • v'i (k) v'j (k)+MV(k)... (2)
  • v'i (k) is the coordinate of the kth vertex to be decoded in the frame to be decoded
  • v'j (k) is the coordinate of the kth vertex decoded in the reference frame
  • the adder 202E5 uses formula (2) for the first motion vector, but uses formula (3) instead of formula (2) for the second and subsequent u-th motion vectors.
  • connection information of the frame to be decoded is made the same as the connection information of the reference frame.
  • the motion vector prediction unit 202E3 calculates the MVP using decoded MVs, so the order of decoding affects the MVP.
  • the order of such decoding is the order in which the vertices of the base mesh in the reference frame are decoded.
  • the decoding method uses a fixed repeating pattern to increase the number of base faces one by one from the starting edge, the order of the vertices of the decoded base mesh is determined during the decoding process.
  • the motion vector prediction unit 202E3 may use an edgebreaker to determine the order in which vertices are decoded in the base mesh of the reference frame.
  • MVs from a reference frame are encoded instead of vertex coordinates, which is expected to improve encoding efficiency.
  • 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 a subdivision method indicated by the control information.
  • the base mesh the added subdivision vertices, and their connection information are collectively referred to as the "subdivision mesh.”
  • the subdivision unit 202 is configured to identify the type of subdivision method from the subdivision_method_id, which is control information generated by decoding the basic mesh bitstream.
  • the subdivision unit 202 will be described below with reference to Figures 3A and 3B.
  • Figures 3A and 3B are diagrams for explaining an example of the operation of generating subdivision vertices from a base mesh.
  • Figure 3A shows an example of a base mesh consisting of five vertices.
  • the subdivision may be performed, for example, using the mid-edge division method, which connects the midpoints of each edge of each basic face. This results in a basic face being divided into four faces.
  • Figure 3B shows an example of a subdivision mesh that is generated by dividing a base mesh consisting of five vertices.
  • eight subdivision vertices (white circles) have been generated in addition to the original five vertices (black circles).
  • a different subdivision method may be applied to each patch. This allows the displacement amount decoded by the displacement amount decoding unit 206 to be adaptively changed for each patch, which is expected to improve coding performance.
  • Information on the divided patch is received as patch_id, which is control information.
  • FIG. 16 is a diagram showing an example of the functional blocks of the subdivision unit 203.
  • the subdivision unit 203 has a basic mesh subdivision unit 203A and a subdivision mesh adjustment unit 203B.
  • the basic mesh subdivision unit 203A is configured to calculate the number of divisions (number of subdivisions) for each basic surface and basic patch based on the input basic mesh and division information of the basic mesh, subdivide the basic mesh based on the number of divisions, and output the subdivision surface.
  • the basic mesh subdivision unit 203A may be configured to be able to change the above-mentioned number of divisions on a basic surface and basic patch basis.
  • a base face is a face that makes up a base mesh
  • a base patch is a collection of several base faces.
  • the base mesh subdivision unit 203A may also be configured to predict the number of fine subdivisions of the base surface and calculate the number of subdivisions of the base surface by adding the predicted subdivision number residual to the predicted number of subdivisions of the base surface.
  • the base mesh subdivision unit 203A may also be configured to calculate the number of subdivisions of a base surface based on the number of subdivisions of adjacent base surfaces of the base surface.
  • the base mesh subdivision unit 203A may also be configured to calculate the number of subdivisions of a base surface based on the number of subdivisions of the base surface that was previously accumulated.
  • the basic mesh subdivision unit 203A may also be configured to generate vertices that divide the three sides that make up the basic surface, and to subdivide the basic surface by connecting the generated vertices.
  • the basic mesh subdivision unit 203A is followed by 203B, which includes a subdivision mesh adjustment unit, as described below.
  • FIG. 17 shows an example of the functional blocks of the basic mesh subdivision unit 203A
  • FIG. 19 is a flowchart showing an example of the operation of the basic mesh subdivision unit 203A.
  • the basic mesh subdivision unit 203A has a basic surface division number buffer unit 203A1, a basic surface division number reference unit 203A2, a basic surface division number prediction unit 203A3, an addition unit 203A4, and a basic surface division unit 203A5.
  • the basic surface division number buffer unit 203A1 stores division information of basic surfaces, including the division number of the basic surface, and is configured to output the division information of the basic surface to the basic surface division number reference unit 203A2.
  • the size of the basic surface division number buffer unit 203A1 may be set to 1, and the unit may be configured to output the most recently accumulated basic surface division number to the basic surface division number reference unit 203A2.
  • the size of the basic surface division number buffer unit 203A1 may be configured to refer only to the last decoded fine division number (the subdivision number decoded immediately before).
  • the basic surface division number reference unit 203A2 is configured to output a reference not possible to the basic surface division number prediction unit 203A3 if there is no adjacent basic surface to the basic surface to be decoded, or if there is an adjacent basic surface to the basic surface to be decoded but the division number has not been determined.
  • the basic face division number reference unit 203A2 is configured to output the number of divisions to the basic face division number prediction unit 203A3.
  • the basic surface division number prediction unit 203A3 is configured to predict the division number (number of subdivisions) of a basic surface based on one or more input division numbers, and output the predicted division number (predicted division number) to the addition unit 203A4.
  • the basic surface division number prediction unit 203A3 is configured to output 0 to the addition unit 203A4 if only reference impossible is input from the basic surface division number reference unit 203A2.
  • the basic surface division number prediction unit 203A3 may be configured to generate a predicted division number using any of the statistical values such as the average value, maximum value, minimum value, or mode of the input division numbers.
  • the basic face division number prediction unit 203A3 may be configured to generate the division number of the most adjacent face as the predicted division number when one or more division numbers are input.
  • the addition unit 203A4 is configured to output the division number obtained by adding the prediction division number residual decoded from the prediction residual bit stream and the prediction division number obtained from the basic surface division number prediction unit 203A3 to the basic surface division unit 203A5.
  • the basic surface division unit 203A5 is configured to subdivide the basic surface based on the division number input from the addition unit 203A4.
  • FIG. 18 shows an example of a case where a basic surface is divided into nine parts. The method of dividing a basic surface by the basic surface division unit 203A5 will be explained with reference to FIG. 18.
  • the basic surface division unit 203A5 divides sides BC and CA into N equal parts, generating points B_1, ..., B_(N-1), C_1, ..., C_(N-1), respectively.
  • step S2201 it is determined whether the subdivision process for the last base face is complete. If the process is complete, the process ends. If not, the process proceeds to step S2202.
  • step S2202 the basic mesh subdivision unit 203A determines whether Depth ⁇ mdu_max_depth.
  • Depth is a variable that represents the current depth, with an initial value of 0, and mdu_max_depth represents the maximum depth determined for each base surface.
  • step S2202 If the condition in step S2202 is met, the process proceeds to step S2203; if the condition is not met, the process returns to step S2201.
  • step S2203 the base mesh subdivision unit 203A determines whether mdu_subdivision_flag at the current depth is 1 or not.
  • step S2204 the base mesh subdivision unit 203A further subdivides all subdivision surfaces within the base surface.
  • the base mesh subdivision unit 203A subdivides the base surface.
  • the subdivision method is the same as that described in step S2204.
  • a basic face has never been subdivided, the basic face is subdivided as shown in Fig. 18. If the basic face has been subdivided at least once, the subdivision face is subdivided into N2 faces. Taking Fig. 18 as an example, a face consisting of vertices A_2, B, and B_1 is further divided in the same way as when dividing the basic face to generate N2 faces.
  • step S2205 the base mesh subdivision unit 203A adds 1 to Depth, and the process returns to step S2202.
  • Figure 20 shows an example of the functional blocks of the fine division mesh adjustment unit 203B.
  • the subdivision mesh adjustment unit 203B has an edge division point moving unit 701 and a subdivision surface division unit 702.
  • the edge division point moving unit 701 is configured to move an edge division point of a basic face to any of the edge division points of an adjacent basic face for an input initial subdivision face, and output a subdivision face.
  • FIG. 21 shows an example of moving an edge division point on base face ABC.
  • the edge division point moving unit 701 may be configured to move the edge division point of base face ABC to the edge division point of the nearest adjacent base face.
  • the subdivision surface division unit 702 is configured to re-subdivide the input subdivision surface and output a composite subdivision surface.
  • Figure 22 shows an example of a case where subdivision is performed again on subdivision surface X within a base surface.
  • the subdivision surface division unit 702 may be configured to generate new subdivision surfaces within a base surface by connecting the vertices that make up the subdivision surface to the edge division points of an adjacent base surface.
  • Figure 23 shows an example of a case where the above-mentioned subdivision process has been performed on all subdivision surfaces.
  • the mesh decoding unit 204 is configured to generate and output a decoded mesh using the subdivision mesh generated by the subdivision unit 203 and the displacement amount decoded by the displacement amount decoding unit 206.
  • the mesh decoding unit 204 is configured to generate a decoded mesh by adding the corresponding displacement amount to each subdivision vertex.
  • information regarding which subdivision vertex each displacement amount corresponds to is indicated by control information.
  • the patch integration unit 205 is configured to integrate and output the decoded mesh generated by the mesh decoding unit 206 for multiple patches.
  • the method of dividing the patch is defined by the mesh encoding device 100.
  • the method of dividing the patch may be configured to calculate a normal vector for each base face, select the base face with the most similar normal vector among the adjacent base faces, combine both base faces into the same patch, and repeat this procedure sequentially for the next base face.
  • the video decoding unit 207 is configured to decode and output the texture by video encoding.
  • the video decoding unit 207 may use HEVC in Non-Patent Document 1.
  • the displacement amount decoding unit 206 is configured to decode the displacement amount bitstream to generate and output the displacement amount.
  • FIG. 3B is a diagram showing an example of the displacement amount for a certain subdivision vertex.
  • the displacement amount decoding unit 206 is configured to define eight displacement amounts expressed as scalars or vectors for each subdivision vertex.
  • FIG. 24 is a diagram showing an example of a functional block of the displacement amount decoding unit 206.
  • the displacement amount decoding unit 206 has a decoding unit 206A, an inverse quantization unit 206B, an inverse wavelet transform unit 206C, an adder 206D, an inter prediction unit 206E, and a frame buffer 206F.
  • the decoding unit 206A is configured to decode and output level values and control information by performing variable length decoding on the received displacement amount bit stream.
  • the level values obtained by variable length decoding are output to the inverse quantization unit 206B, and the control information is output to the inter prediction unit 206E.
  • FIG. 25 is a diagram showing an example of the configuration of a displacement amount bit stream.
  • the displacement bit stream may include a DPS (Displacement Parameter Set), which is a collection of control information related to the decoding of the displacement.
  • DPS Displayment Parameter Set
  • the displacement bitstream may include a DPH (Displacement Patch Header), which is a collection of control information corresponding to a patch.
  • DPH Displayment Patch Header
  • the displacement bitstream may contain, next to the DPH, the encoded displacements that make up the patch.
  • the displacement bitstream is structured so that each encoded displacement corresponds to one DPH and one DPS.
  • the displacement bit stream may include a sequence parameter set (SPS).
  • SPS sequence parameter set
  • Figure 26 shows an example of the syntax configuration of a DPS.
  • ue(v) means an unsigned zeroth-order exponential Golomb code
  • u(n) means an n-bit flag
  • the DPS includes at least DPS id information (dps_displacement_parameter_set_id) for identifying each DPS.
  • the DPS may also include a flag (interprediction_enabled_flag) that controls whether or not inter prediction is performed.
  • interprediction_enabled_flag when interprediction_enabled_flag is 0, it may be defined that inter prediction is not performed, and when interprediction_enabled_flag is 1, it may be defined that inter prediction is performed. When interprediction_enabled_flag is not included, it may be defined that inter prediction is not performed.
  • the DPS may include a flag (dct_enabled_flag) that controls whether or not to perform inverse DCT.
  • dct_enabled_flag when dct_enabled_flag is 0, it may be defined that inverse DCT is not performed, and when dct_enabled_flag is 1, it may be defined that inverse DCT is performed. When dct_enabled_flag is not included, it may be defined that inverse DCT is not performed.
  • Figure 27 shows an example of the syntax configuration of DPH.
  • the DPH includes at least DPS id information for specifying the DPS corresponding to each DPH.
  • the inverse quantization unit 206B is configured to generate and output transform coefficients by inverse quantizing the level values decoded by the decoding unit 206A.
  • the inverse wavelet transform unit 206C is configured to generate and output a prediction residual by performing an inverse wavelet transform on the transform coefficients generated by the inverse quantization unit 206B.
  • the inter prediction unit 206E is configured to perform inter prediction using the decoded displacement amount of the reference frame read out from the frame buffer 206F, thereby generating and outputting a predicted displacement amount.
  • the inter prediction unit 206E is configured to perform such inter prediction only when interprediction_enabled_flag is 1.
  • the inter prediction unit 206E may perform inter prediction in the spatial domain, or may perform inter prediction in the frequency domain. Inter prediction may be bidirectional prediction using a past reference frame and a future reference frame in time.
  • FIG. 24 shows an example of a functional block of the inter prediction unit 206E when performing inter prediction in the spatial domain.
  • the inter prediction unit 206E may determine the predicted displacement amount of a subdivision vertex in the target frame by directly referring to the decoded displacement amount of the corresponding subdivision vertex in the reference frame.
  • the predicted displacement of a certain subdivision vertex in the target frame may be determined probabilistically according to a normal distribution with estimated mean and variance, using the decoded displacements of corresponding subdivision vertices in multiple reference frames.
  • the variance may be set to zero and the predicted displacement may be determined uniquely using only the mean.
  • the predicted displacement of a subdivision vertex in the target frame may be determined based on a regression curve estimated using the decoded displacements of corresponding subdivision vertices in multiple reference frames, with time as the explanatory variable and displacement as the objective variable.
  • the order of the decoded displacement amounts may be rearranged to improve coding efficiency for each frame.
  • the inter prediction unit 206E may be configured to perform inter prediction on the rearranged decoding displacement amounts.
  • the correspondence between the subdivision vertices between the reference frame and the frame to be decoded is indicated by the control information.
  • FIG. 28 is a diagram illustrating an example of the correspondence between subdivision vertices between a reference frame and a frame to be decoded when inter prediction is performed in the spatial domain.
  • FIG. 29 shows an example of a functional block of the inter prediction unit 206E when performing inter prediction in the frequency domain.
  • the inter prediction unit 206E may determine the predicted wavelet transform coefficients of a frequency in the frame to be decoded by directly referring to the decoded wavelet transform coefficients of the corresponding frequency in the reference frame.
  • the inter prediction unit 206E may perform probabilistic inter prediction according to a normal distribution with estimated mean and variance, using the decoded displacement amounts or decoded wavelet transform coefficients of the subdivision vertices in multiple reference frames.
  • the inter prediction unit 206E may perform inter prediction based on a regression curve estimated using the decoded displacement amounts or decoded wavelet transform coefficients of the subdivision vertices in multiple reference frames, with time as the explanatory variable and the displacement amount as the objective variable.
  • the inter prediction unit 206E may be configured to perform bidirectional inter prediction using a past reference frame and a future reference frame in time.
  • the order of the decoded wavelet transform coefficients may be rearranged to improve coding efficiency for each frame.
  • the frequency correspondence between the reference frame and the frame to be decoded is indicated by control information.
  • FIG. 30 is a diagram illustrating an example of the frequency correspondence between a reference frame and a frame to be decoded when inter prediction is performed in the frequency domain.
  • the inter prediction unit 206E is also configured to perform inter prediction for each divided patch. This increases the time correlation between frames, and is expected to improve coding performance.
  • the adder 206D receives the prediction residual from the inverse wavelet transform unit 206C and the predicted displacement from the inter prediction unit 206E.
  • the adder 206D is configured to calculate and output the decoded displacement amount by adding the prediction residual and the predicted displacement amount.
  • the decoded displacement calculated by the adder 206D is also output to the frame buffer 206F.
  • the frame buffer 206F is configured to obtain and store the decoded displacement amount from the adder 206D.
  • the frame buffer 206F outputs the decoded displacement amount at the corresponding vertex in the reference frame according to control information (not shown).
  • FIG. 31 is a flowchart showing an example of the operation of the displacement amount decoding unit 206.
  • step S3501 the displacement amount decoding unit 206 determines whether this process has been completed for all patches.
  • step S3502 the displacement decoding unit 206 performs inverse DCT on the patch to be decoded, and then performs inverse quantization and inverse wavelet transform.
  • step S3503 the displacement amount decoding unit 206 determines whether or not interpretation_enabled_flag is 1.
  • step S3504 If the answer is Yes, the operation proceeds to step S3504; if the answer is No, the operation returns to step S3501.
  • step S3504 the displacement decoding unit 206 performs the above-mentioned inter prediction and addition.
  • FIG. 32 shows an example of a functional block of the displacement amount decoding unit 206 in this modification example 1.
  • the displacement decoding unit 206 includes an inverse DCT unit 206G after the decoding unit 206A, that is, between the decoding unit 206A and the inverse quantization unit 206B.
  • the inverse quantization unit 206B is configured to generate a prediction residual by performing an inverse wavelet transform on the level values output from the inverse DCT unit 202G.
  • the displacement amount decoding unit 206 in this modification example 2 has a video decoding unit 2061, an image expansion unit 2062, an inverse quantization unit 2063, and an inverse wavelet transformation unit 2064.
  • the video decoding unit 2061 is configured to output video by decoding the received displacement amount bit stream using video coding.
  • the video decoding unit 2061 may use HEVC as described in Non-Patent Document 1.
  • the video decoding unit 2061 may also use a video encoding method in which the motion vector is always set to zero.
  • the video decoding unit 2061 may always set the motion vector of HEVC to zero and always use inter prediction at the same position.
  • the video decoding unit 2061 may also use a video encoding method in which conversion is always skipped.
  • the video decoding unit 2061 may always set HEVC conversion to conversion skip mode and use a video encoding method without conversion.
  • the image expansion unit 2062 is configured to expand and output the video decoded by the video decoding unit 2061 as level values for each image (frame).
  • the image expansion unit 2062 can determine the level by calculating backwards from the arrangement of the level values in the image indicated by the control information.
  • the image expansion unit 2062 may arrange the level values in the image in the order of raster operations, for example, from high-frequency components to low-frequency components.
  • the inverse quantization unit 2063 is configured to generate and output transformation coefficients by inverse quantizing the level values generated by the image expansion unit 2062.
  • the inverse wavelet transform unit 2064 is configured to generate and output a decoded displacement amount by performing an inverse wavelet transform on the transform coefficients generated by the inverse quantization unit 2063.
  • 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).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本発明に係るメッシュ復号装置200は、復号された基本メッシュにおいて座標が一致する複数の頂点である重複頂点をまとめて単一頂点としてから、所定の順序に並び替える整列部202B2を備える。

Description

メッシュ復号装置、メッシュ復号方法及びプログラム
 本発明は、メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムに関する。
 非特許文献1には、非特許文献2を用いてメッシュを符号化する技術が開示されている。
Cfp for Dynamic Mesh Coding、ISO/IEC JTC1/SC29/WG7 N00231、MPEG136 - Online Google Draco、2022年5月26日アクセス[Online]、https://google.github.io/draco
 しかしながら、従来技術では、動的メッシュを構成する全ての頂点の座標や接続情報を可逆符号化するため、損失が許容される条件下であっても情報量を削減できず、符号化効率が低いという問題点があった。
 また、従来技術では、復号した基本メッシュに存在する重複頂点により動きベクトル符号化効率が低いという問題点があった。 そこで、本発明は、上述の課題に鑑みてなされたものであり、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することを目的とする。
 本発明の第1の特徴は、メッシュ復号装置であって、復号された基本メッシュにおいて座標が一致する複数の頂点である重複頂点をまとめて単一頂点としてから、所定の順序に並び替える整列部を備えることを要旨とする。
 本発明の第2の特徴は、メッシュ復号方法であって、復号された基本メッシュに対する座標が一致する複数の頂点である重複頂点をまとめて単一頂点としてから、所定の順序に並び替える工程を有することを要旨とする。
 本発明の第3の特徴は、コンピュータを、メッシュ復号装置として機能させるプログラムであって、前記メッシュ復号装置は、復号された基本メッシュに対する座標が一致する複数の頂点である重複頂点をまとめて単一頂点としてから、所定の順序に並び替える整列部を備えることを要旨とする。
 本発明によれば、メッシュの符号化効率を向上させることができるメッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラムを提供することができる。
図1は、一実施形態に係るメッシュ処理システム1の構成の一例を示す図である。 図2は、一実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。 図3Aは、基本メッシュ及び細分割メッシュの一例を示す図である。 図3Bは、基本メッシュ及び細分割メッシュの一例を示す図である。 図4は、基本メッシュビットストリームのシンタックス構成の一例を示す図である。 図5は、図5は、BPHのシンタックス構成の一例を示す図である。 図6は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202の機能ブロックの一例を示す図である。 図7は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のイントラ復号部202Bの機能ブロックの一例を示す図である。 図8は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のイントラ復号部202Bの整理部202B2の動作の一例について示すフローチャートである。 図9は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のイントラ復号部202Bの整理部202B2の動作の一例について説明するための図である。 図10は、Pフレームの基本メッシュの頂点とIフレームの基本メッシュの頂点との間の対応関係の一例を示す図である。 図11は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの機能ブロックの一例を示す図である。 図12は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202の機能ブロックの一例を示す図である。 図13は、複数の動きベクトルを持つ参照フレームの基本メッシュの頂点を示す図である。 図14は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの動きベクトル予測部202E3による復号対象の頂点のMVPの算出方法の一例を説明するための図である。 図15は、一実施形態に係るメッシュ復号装置200の基本メッシュ復号部202のインター復号部202Eの動きベクトル予測部202E3の動作の一例を示すフローチャートを示す。 図16は、一実施形態に係るメッシュ復号装置200の細分割部203の機能ブロックの一例について示す図である。 図17は、一実施形態に係るメッシュ復号装置200の細分割部203の基本メッシュ細分割部203Aの機能ブロックの一例を示す図である。 図18は、一実施形態に係るメッシュ復号装置200の細分割部203の基本メッシュ細分割部203Aの基本面分割部203A5による基本面の分割方法の一例について説明するための図である。 図19は、一実施形態に係るメッシュ復号装置200の細分割部203の基本メッシュ細分割部203Aの動作の一例を示すフローチャートである。 図20は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの機能ブロックの一例を示す図である。 図21は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの辺分割点移動部701によって基本面ABC上の辺分割点が移動されたケースの一例を示す図である。 図22は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの細分割面分割部702によって基本面内の細分割面Xに対して再度細分割が行われたケースの一例を示す図である。 図23は、一実施形態に係るメッシュ復号装置200の細分割部203の細分割メッシュ調整部203Bの細分割面分割部702によって全ての細分割面に対して再度細分割が行われたケースの一例を示す図である。 図24は、一実施形態に係るメッシュ復号装置200の変位量復号部206の機能ブロックの一例について示す図である(空間領域でインター予測が行われる場合)。 図25は、変位量ビットストリームの構成の一例について示す図である。 図26は、DPSのシンタックス構成の一例について示す図である。 図27は、DPHのシンタックス構成の一例について示す図である。 図28は、空間領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の細分割頂点の対応関係の一例について説明するための図である。 図29は、一実施形態に係るメッシュ復号装置200の変位量復号部206の機能ブロックの一例について示す図である(周波数領域でインター予測が行われる場合)。 図30は、周波数領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の周波数の対応関係の一例について説明するための図である。 図31は、一実施形態に係るメッシュ復号装置200の変位量復号部206の動作の一例を示すフローチャートである。 図32は、変形例1に係る変位量復号部206の機能ブロックの一例を示す図である。 図33は、変形例2に係る変位量復号部206の機能ブロックの一例を示す図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1実施形態>
 以下、図1~図31を参照して、本実施形態に係るメッシュ処理システムについて説明する。
 図1は、本実施形態に係るメッシュ処理システム1の構成の一例を示す図である。図1に示すように、メッシュ処理システム1は、メッシュ符号化装置100及びメッシュ復号装置200を備えている。
 図2は、本実施形態に係るメッシュ復号装置200の機能ブロックの一例を示す図である。
 図2に示すように、メッシュ復号装置200は、多重分離部201と、基本メッシュ復号部202と、細分割部203と、メッシュ復号部204と、パッチ統合部205と、変位量復号部206と、映像復号部207とを有する。
 ここで、基本メッシュ復号部202、細分割部203、メッシュ復号部204及び変位量復号部206は、メッシュを分割したパッチ単位で処理を行うように構成されており、その後、これの処理結果についてパッチ統合部205で統合されるように構成されていてもよい。
 図3Aの例では、メッシュが、基本面1及び2で構成されるパッチ1と、基本面3及び4で構成されるパッチ2とに分割されている。
 多重分離部201は、多重化されたビットストリームを、基本メッシュビットストリームと変位量ビットストリームとテクスチャビットストリームとに分離するように構成されている。
<基本メッシュ復号部202>
 基本メッシュ復号部202は、基本メッシュビットストリームを復号し、基本メッシュを生成して出力するように構成されている。
 ここで、基本メッシュは、3次元空間における複数の頂点と、かかる複数の頂点を接続する辺とで構成される。
 なお、図3Aに示すように、基本メッシュは、3つの頂点で表現される基本面を組み合わせて構成される。
 基本メッシュ復号部202は、例えば、非特許文献2に示すDracoを用いて、基本メッシュビットストリームを復号するように構成されていてもよい。
 また、基本メッシュ復号部202は、細分割手法の種別を制御する制御情報として、後述の「subdivision_method_id」を生成するように構成されていてもよい。
 以下、図4~図5を参照して、基本メッシュ復号部202で復号される制御情報について説明する。
 図4は、基本メッシュビットストリームのシンタックス構成の一例を示す図である。
 図4に示すように、第1に、基本メッシュビットストリームは、基本メッシュパッチに対応する制御情報の集合であるBPH(Base Patch header:ベースパッチヘッダ)を含んでいてもよい。第2に、基本メッシュビットストリームは、BPHの次に、基本メッシュパッチを符号化した基本メッシュパッチデータを含んでいてもよい。
 以上のように、基本メッシュビットストリームは、各パッチデータに、1つずつBPHが対応する構成となる。なお、図4の構成は、あくまで一例であり、各パッチデータに、BPHが対応する構成となっていれば、基本メッシュビットストリームの構成要素として、上述以外の要素が追加されてもよい。
 例えば、図4に示すように、基本メッシュビットストリームは、SPS(シーケンスパラメータセット:Sequence Parameter Set)を含んでいてもよいし、フレームに対応する制御情報の集合であるFH(Frame Header:フレームヘッダ)を含んでもよいし、メッシュに対応する制御情報であるMH(Mesh Header:メッシュヘッダ)を含んでもよい。
 図5は、BPHのシンタックス構成の一例を示す図である。ここで、シンタックスの機能が同様であれば、図5に示すシンタックスメイト異なるシンタックス名が用いられても差し支えない。
 図5に示すBPHのシンタックス構成において、Description欄は、各シンタックスが、どのように符号化されているかを意味している。また、ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(n)は、nビットのフラグであることを意味する。
 BPHは、基本メッシュパッチに含まれる基本面の個数を指定する制御信号(mdu_face_count_minus1)を少なくとも含む。
 また、BPHは、基本パッチごとに基本メッシュの細分割手法の種別を指定する制御信号(mdu_subdivision_method_id)を少なくとも含む。
 また、BPHは、基本メッシュパッチごとに細分割数生成手法の種別を指定する制御信号(mdu_subdivision_num_method_id)を含んでもよい。例えば、mdu_subdivision_num_method_id=0のとき、予測分割残差により基本面の細分割数を生成することと定義し、mdu_subdivision_num_method_id=1のとき、再帰的に基本面の細分割数を生成することと定義してもよい。
 BPHは、予測分割残差により基本面の細分割数を生成するとき、インデックスi(i=0,…,mdu_face_count_minus1)ごとに基本面の予測分割残差を指定する制御信号(mdu_subdivision_resuiduals)を含んでもよい。
 BPHは、再帰的に基本面の細分割数を生成するとき、基本メッシュパッチごとに再帰的に行う細分割回数の上限を識別するための制御信号(mdu_max_depth)を含んでもよい。
 BPHは、インデックスi(i=0,…,mdu_face_count_minus1)及びj(j=0,…,mdu_subdivision_depth_index)ごとに、基本面を再帰的に細分割するか否かを指定する制御信号(mdu_subdivision_flag)を含んでもよい。
 図6に示すように、基本メッシュ復号部202は、分離部202Aと、イントラ復号部202Bと、メッシュバッファ部202Cと、接続情報復号部202Dと、インター復号部202Eとを備える。
 分離部202Aは、基本メッシュビットストリームを、Iフレーム(参照フレーム)のビットストリームとPフレームのビットストリームとに分類するように構成されている。
(イントラ復号部202B)
 イントラ復号部202Bは、例えば、非特許文献2に示すDracoを用いて、Iフレームのビットストリームから、Iフレームの頂点の座標及び接続情報を復号するように構成されている。
 図7は、イントラ復号部202Bの機能ブロックの一例を示す図である。
 図7に示すように、イントラ復号部202Bは、任意イントラ復号部202B1と、整列部202B2とを有する。
 任意イントラ復号部202B1は、非特許文献2に示すDracoを含む任意の方式を用いて、Iフレームのビットストリームから、Iフレームの順序無し頂点の座標及び接続情報を復号するように構成されている。
 整列部202B2は、順序無し頂点を所定の順序に並び替えることによって頂点を出力するように構成されている。
 所定の順序として、例えば、モートンコード順を用いてもよく、ラスタスキャン順を用いてもよい。
 また、整列部202B2は、復号された基本メッシュにおいて座標が一致する複数の頂点である重複頂点をまとめて、単一頂点としてから、所定の順序に並び替えてもよい。
 ここで、図8を参照して、整理部202B2の動作の一例について説明する。
 図8に示すように、ステップS101において、整理部202B2は、上述の重複頂点のリストを決定する。すなわち、整理部202B2は、復号された基本メッシュの中に存在する重複頂点のリストを決定する。ここで、かかる重複頂点のリストの決定方法としては、少なくとも2つが想定される。
(決定方法1)
 例えば、整理部202B2は、決定方法1では、Iフレームのビットストリームから、上述の重複頂点のリストを復号するように構成されている。
 具体的には、第1に、整理部202B2は、Iフレームのビットストリームから重複頂点の有無を示すフラグを復号する。
 第2に、整理部202B2は、かかるフラグがTRUEであれば、重複頂点の数Dを復号する。
 第3に、整理部202B2は、重複頂点として存在する頂点のインデックスA(k)及びインデックスB(k)のペアをIフレームのビットストリーム  から1つずつ復号して特定バッファに保存する。但し、A(k)、B(k)及びk(k=1,2,…,D)は、整数である。ここで、かかるペアのリストは、A(k)→B(k)の順で、上述の特定バッファに保存される。
 なお、整理部202B2は、上述のフラグがFALSEであれば、上述の特定バッファを空にする。
 かかる決定方法1によれば、計算を実行しないため、計算量の増加を回避することができるという効果が期待できる。
(決定方法2)
 整理部202B2は、決定方法2では、復号された基本メッシュにおいて重複頂点を探索することによって、重複頂点のリストを算出するように構成されている。
 具体的には、第1に、整理部202B2は、復号された基本メッシュの幾何情報から、座標が一致する頂点(重複頂点)のインデックスを探索してバッファに保存する。
 なお、整理部202B2への入力は、復号した基本メッシュの各頂点のインデックス(復号順)及び位置座標であり、整理部202B2からの出力は、重複頂点として存在する頂点のインデックスA(k)及びB(k)のペアのリストである。但し、A(k)、B(k)及びk(k=1,2,…,D)は、整数である。ここで、かかるペアのリストは、A(k)→B(k)の順で、上述の特定バッファに保存される。
 また、整理部202B2は、上述の探索で座標が一致する頂点がない時に、特定バッファを空にする(すなわち、D=0とする)。
 かかる決定方法2によれば、ビットストリームからデータを取らないため、ビットレートの増加を回避することができるという効果が期待できる。
 なお、上述の決定方法1及び決定方法2のいずれのケースでも、B(k)が、A(k)の前に復号されるため、A(k)>B(k)の関係となる。
 ステップS102において、整理部202B2は、重複頂点に基づいてメッシュを更新する。
 整理部202B2は、ステップS101において重複頂点のリストを決めた後、図9に示すように、重複頂点の全部又は一部を統合して、Connectivityを更新する。
 かかるConnectivityを更新するという動作の実現方法としては、少なくとも2つが想定される。
(実現方法1)
 例えば、整理部202B2は、実現方法1では、上述のステップS101において特定バッファに保存した全ての重複頂点について処理する。
 具体的には、実現方法1では、第1に、整理部202B2は、基本メッシュの頂点の集合から、A(k)(k=1,2,…,D)というD個の頂点を削除する。
 第2に、整理部202B2は、Connectivityの中において、A(k)という頂点のインデックスをB(k)に順次に切り替える。但し、整理部202B2は、Connectivityの中にUV座標のインデックスがあれば、そのインデックスについては変更しなくてもよい。
 第3に、整理部202B2は、不連続のインデックスを無くすように、インデックスを再設定する。例えば、整理部202B2は、削除されたA(k)の後ろの全てのインデックスを1つ繰り上げる。整理部202B2は、かかる繰り上げる操作についてk=1~Dまで繰り返す。
 実現方法1で、頂点の数が減るが、面の数及びUV座標の数が変わらなくてもよい。
(実現方法2)
 整理部202B2は、実現方法2では、ビットストリームから、上述のステップS101において特定バッファに保存した重複頂点のうち、処理しない重複頂点(処理不要な頂点)に係る情報を復号し、処理しない重複頂点以外の重複頂点を統合して、Connectivityを更新する。
 具体的には、実現方法2では、第1に、整理部202B2は、ビットストリームから、処理しない頂点(重複頂点)の有無を示すフラグを復号する。
 第2に、整理部202B2は、かかるフラグがTRUEであれば、処理不要な頂点の数Nを復号する。
 第3に、整理部202B2は、処理不要な頂点のインデックスA(k)又はインデックスA(k)の順番kを1つずつ復号する。但し、k=1,2,…,Nである。
 第4に、整理部202B2は、上述のステップS101において特定バッファに保存した重複頂点のペアのうち、A(k)を含むペア又は第k番目のペアを削除する。
 第5に、整理部202B2は、最後に更新した特定バッファを用いて、上述の実現方法1を実施する。
 実現方法2では、頂点の数が減るが、面の数及びUV座標の数が変わらなくてもよい。
 メッシュバッファ部202Cは、イントラ復号部202Bによって復号されたIフレームの頂点の座標及び接続情報を蓄積するように構成されている。ここで、重複頂点として存在する頂点のインデックスA(k)及びB(k)のペアを所定順で保存する特定バッファが設けられていてもよい。
 接続情報復号部202Dは、メッシュバッファ部202Cから取り出したIフレームの接続情報をPフレームの接続情報にするように構成されている。
 インター復号部202Eは、メッシュバッファ部202Cから取り出したIフレームの頂点の座標とPフレームのビットストリームから復号した動きベクトルとを加算することによって、Pフレームの頂点の座標を復号するように構成されている。
 更に、インター復号部202Eは、かかる特定バッファに保存されている重複頂点として存在する頂点のインデックスA(k)及びB(k)のペアにより、Pフレームの頂点のインデックスを調整することが可能である。
 本実施形態では、図10に示すように、Pフレームの基本メッシュの頂点とIフレーム(参照フレーム)の基本メッシュの頂点との間で対応関係が存在する。ここで、インター復号部202Eによって復号される動きベクトルは、Pフレームの基本メッシュの頂点の座標とIフレームの基本メッシュの頂点の座標との差分ベクトルである。
 なお、後述のように、インター復号部202Eは、複数の動きベクトルを持つ参照フレームの基本メッシュの頂点により、復号対象のインターフレームの基本メッシュにおいて増加させる頂点のインデックス又は座標を算出するように構成されていてもよい。
(インター復号部202E)
 図11は、インター復号部202Eの機能ブロックの一例を示す図である。
 図11に示すように、インター復号部202Eは、動きベクトル残差復号部202E1と、動きベクトルバッファ部202E2と、動きベクトル予測部202E3と、動きベクトル算出部202E4と、加算器202E5とを有する。
 更に、整理部202B2が、実現方法1を実施した場合(つまり、全部の重複頂点を統合した場合)は、図12に示すように、基本メッシュ復号部202は、インター復号部202Eの前に、増設頂点算出部202E10を有していてもよい。
 ここで、増設頂点算出部202E10は、複数の動きベクトルを持つ参照フレームの基本メッシュの頂点により、復号対象のインターフレームの基本メッシュにおいて増加させる頂点のインデックスを算出するように構成されている。
 また、図13は、上述の複数の動きベクトルを持つ参照フレームの基本メッシュの頂点を示す。
 増設頂点算出部202E10は、複数の動きベクトルを持つ参照フレームの基本メッシュの頂点により、復号対象のインターフレームの基本メッシュにおいて増加させる頂点のインデックスを、ビットストリームから復号する。
 第1に、増設頂点算出部202E10は、ビットストリームから、処理不要な複数の動きベクトルを持つ参照フレームの基本メッシュの頂点の有無を示すフラグを復号する。
 第2に、増設頂点算出部202E10は、かかるフラグがTRUEであれば、複数の動きベクトルを持つ処理不要な参照フレームの基本メッシュの頂点により、復号対象のインターフレームの基本メッシュにおいて増加させる頂点の数Nを復号する。
 すなわち、増設頂点算出部202E10は、2つの動きベクトルを持つ参照フレームの基本メッシュの頂点により、復号対象のインターフレームの基本メッシュにおいて1つの頂点を増加させ、3つの動きベクトルを持つ参照フレームの基本メッシュの頂点により、復号対象のインターフレームの基本メッシュにおいて2つの頂点を増加させる。
 第3に、増設頂点算出部202E10は、復号対象のインターフレームの基本メッシュにおいて増加させる頂点のインデックスA(k)と対応する処理不要な参照フレームの基本メッシュの頂点のインデックスのB(k)又はインデックスB(k)の順番kとのペアを1つずつ復号し、上述の特定バッファに保存する。但し、k=1,2,…,Nである。
 なお、増設頂点算出部202E10は、上述の複数の動きベクトルを持つ参照フレームの基本メッシュの頂点の有無を示すフラグがFALSEであれば、特定バッファを空にする。
 更に、増設頂点算出部202E10は、上述のステップS101において特定バッファに保存した重複頂点のペアのうちA(k)を含むペア又は第k番目のペアを削除する。
 動きベクトル残差復号部202E1は、PフレームのビットストリームからMVR(Motion Vector Residual)を生成するように構成されている。
 ここで、MVRは、MV(Motion Vector)とMVP(Motion Vector Prediction)との差分を示す動きベクトル残差である。MVは、対応するIフレームの頂点の座標とPフレームの頂点の座標との間の差分ベクトル(動きベクトル)である。MVPは、MVを用いて対象の頂点のMVの予測した値(動きベクトルの予測値)である。
 動きベクトルバッファ部202E2は、動きベクトル算出部202E4によって出力されたMVを順次に保存するように構成されている。
 動きベクトル予測部202E3は、復号対象の頂点と接続している頂点について、動きベクトルバッファ部202E2から復号済みのMVを取得し、図14に示すように、取得された復号済みのMVの全部又は一部を用いて、復号対象の頂点のMVPを出力するように構成されている。
 動きベクトル算出部202E4は、動きベクトル残差復号部202E1で生成されたMVRと動きベクトル予測部202E3から出力されたMVPとを加算し、復号対象の頂点のMVを出力するように構成されている。
 加算器202E5は、対応関係を持つIフレーム(参照フレーム)の復号済みの基本メッシュから得られた復号対象の頂点に対応する頂点の座標と、動きベクトル算出部202E3から出力された動きベクトルMVとを加算し、復号対象の頂点の座標を出力するように構成されている。
 以下、インター復号部202Eの各部の詳細について説明する。
 図15に、動きベクトル予測部202E3の動作の一例を示すフローチャートを示す。
 図15に示すように、ステップS1001において、動きベクトル予測部202E3は、MVP及びNに0を設定する。
 ステップS1002において、動きベクトル予測部202E3は、動きベクトルバッファ部202E2から、復号対象の頂点の周りの頂点のMVの集合を取得し、後続の処理が終わっていない頂点を特定し、Noに遷移し、全ての頂点について後続の処理が終わっている場合は、Yesに遷移する。
 ステップS1003において、動きベクトル予測部202E3は、処理対象の頂点のMVが、復号済みでなければ、Noに遷移し、処理対象の頂点のMVが、復号済みであれば、Yesに遷移する。
 ステップS1004において、動きベクトル予測部202E3は、MVPにMVを加算し、Nに1を加算する。
 ステップS1005において、動きベクトル予測部202E3は、Nが0より大きければ、MVPをNで除した結果を出力し、Nが0であれば、0を出力し、処理を終了する。
 すなわち、動きベクトル予測部202E3は、復号対象の頂点の周りにある頂点の復号済みの動きベクトルを平均することによって、復号対象のMVPを出力するように構成されている。
 なお、動きベクトル予測部202E3は、かかる復号済みの動きベクトルの集合が空集合の場合、MVPを0とするように構成されていてもよい。
 動きベクトル算出部202E4は、式(1)によって、動きベクトル予測部202E3によって出力されたMVP及び動きベクトル残差復号部202E1によって生成されたMVRから、復号対象の頂点のMVを算出するように構成されていてもよい。
 MV(k)=MVP(k)+MVR(k) … (1)
 ここで、kは、頂点のインデックスである。MV、MVR及びMVPは、x成分、y成分及びz成分を有するベクターである。
 かかる構成によれば、MVPを用いて、MVの代わりにMVRのみを符号化するため、符号化効率を高める効果が期待できる。
 加算器202E5は、動きベクトル算出部202E4によって算出された頂点のMVと、かかる頂点に対応する参照フレームの頂点の座標とを加算することによって、かかる頂点の座標を算出し、接続情報(Connectivity)を参照フレームのままにするように構成されている。
 具体的には、加算器202E5は、式(2)を用いて、k番目の頂点の座標v’(k)を算出するように構成されていてもよい。
 v’(k)=v’(k)+MV(k) … (2)
 ここで、v’(k)は、復号対象のフレームで復号するk番目の頂点の座標であり、v’(k)は、参照フレームの復号したk番目の頂点の座標であり、MV(k)は、復号対象のフレームのk番目のMVであり、k=1,2…,Kである。
 但し、整理部202B2が、実現方法1を実施した場合、増設頂点算出部202E10で復号された復号対象のインターフレームの基本メッシュにおいて増設された頂点に対して動きベクトルが復号される。
 例えば、加算器202E5は、式(2)のkが、特定バッファに保存されたペアA(k)及びB(k)のうちのB(k)と一致すると、1番目の動きベクトルについて、式(2)を利用するが、2番目以後のu番目の動きベクトルについて、式(2)の代わりに式(3)を利用する。
 v’(A(k))=v’(B(k))+MV(B(k)) … (3)
 また、復号対象のフレームの接続情報は、参照フレームの接続情報と同一にされる。
 なお、動きベクトル予測部202E3は、復号済みのMVを用いてMVPを算出するため、復号の順番がMVPに影響を及ぼす。
 かかる復号の順番は、参照フレームの基本メッシュの頂点の復号の順番にする。一般的に、一定の繰り返しパターンを用いて、起点となるエッジから基本面を1つずつ増やす復号手法であれば、復号した基本メッシュの頂点の順番が復号の過程で決められる。
 例えば、動きベクトル予測部202E3は、参照フレームの基本メッシュにおいて、Edgebreakerを用いて、頂点の復号の順番を決めてもよい。
 かかる構成によれば、頂点の座標の代わりに参照フレームからのMVを符号化するため、符号化効率を高める効果が期待できる。
<細分割部203>
 細分割部203は、制御情報によって示された細分割手法により、基本メッシュ復号部202によって復号された基本メッシュから、追加された細分割頂点及びそれらの接続情報を生成して出力するように構成されている。
 ここで、基本メッシュ、追加された細分割頂点、及び、それらの接続情報を、併せて「細分割メッシュ」と呼ぶ。
 細分割部202は、基本メッシュビットストリームを復号して生成した制御情報であるsubdivision_method_idから、細分割手法の種別を特定するように構成されている。
 以下、図3A及び図3Bを参照して、細分割部202について説明する。
 図3A及び図3Bは、基本メッシュから細分割頂点を生成する動作の一例について説明するための図である。
 図3Aは、5つの頂点で構成された基本メッシュの一例について示す図である。
 ここで、細分割には、例えば、各基本面において各辺の中点同士を接続するMid-edge分割法を用いてもよい。これによって、ある基本面は、4つの面に分割されることになる。
 図3Bは、5つの頂点で構成された基本メッシュを分割した細分割メッシュの一例を示す。図3Bに示す細分割メッシュでは、元の5つの頂点(黒丸)に加えて8つの細分割頂点(白丸)が生成されている。
 このように生成した細分割頂点ごとに、変位量復号部206で変位量を復号することによって、符号化性能の向上が期待できる。
 また、各パッチで異なる細分割方法を適用してもよい。これによって、変位量復号部206で復号される変位量をパッチごとに適応的に変化させ、符号化性能の向上が期待できる。分割したパッチの情報は、制御情報であるpatch_idとして受け取られる。
 以下、図16を参照して、細分割部203について説明する。図16は、細分割部203の機能ブロックの一例について示す図である。
 図16に示すように、細分割部203は、基本メッシュ細分割部203Aと細分割メッシュ調整部203Bとを有する。
(基本メッシュ細分割部203A)
 基本メッシュ細分割部203Aは、入力された基本メッシュ及び基本メッシュの分割情報に基づき、基本面及び基本パッチごとの分割数(細分割数)を算出し、かかる分割数に基づいて基本メッシュを細分割し、細分割面を出力するように構成されている。
 すなわち、基本メッシュ細分割部203Aは、基本面及び基本パッチ単位で、上述の分割数を変えることができるように構成されていてもよい。
 ここで、基本面は、基本メッシュを構成する面であり、基本パッチは、いくつかの基本面の集合である。
 また、基本メッシュ細分割部203Aは、基本面の細再分割数を予測し、予測した基本面の細分割数に対して予測分割数残差を加算することで、基本面の細分割数を算出するように構成されていてもよい。
 また、基本メッシュ細分割部203Aは、基本面の隣接基本面の細分割数に基づいて、基本面の細分割数を算出するように構成されていてもよい。
 また、基本メッシュ細分割部203Aは、直前に蓄積された基本面の細分割数に基づき、基本面の細分割数を算出するように構成されていてもよい。
 また、基本メッシュ細分割部203Aは、基本面を構成する3辺を分割する頂点を生成し、生成した頂点を接続することで、基本面を細分割するように構成されていてもよい。
 図16に示すように、基本メッシュ細分割部203Aの後段に、後述の細分割メッシュ調整部を備える203Bを備えている。
 以下、図17~図19を用いて、基本メッシュ細分割部203Aの処理の一例について説明する。
 図17は、基本メッシュ細分割部203Aの機能ブロックの一例を示す図であり、図19は、基本メッシュ細分割部203Aの動作の一例を示すフローチャートである。
 図17に示すように、基本メッシュ細分割部203Aは、基本面分割数バッファ部203A1と、基本面分割数参照部203A2と、基本面分割数予測部203A3と、加算部203A4と、基本面分割部203A5とを有する。
 基本面分割数バッファ部203A1は、基本面の分割数を含む基本面の分割情報を格納しており、基本面分割数参照部203A2に対して基本面の分割情報を出力するように構成されている。
 ここで、基本面分割数バッファ部203A1のサイズは、1とし、基本面分割数参照部203A2に対して、直前に蓄積された基本面の分割数を出力するように構成されていてもよい。
 すなわち、基本面分割数バッファ部203A1のサイズを1にすることで、最後に復号した細かい分割数(直前に復号した細分割数)のみを参照するように構成されていてもよい。
 基本面分割数参照部203A2は、復号対象の基本面に対して隣接する基本面が存在していない場合、或いは、復号対象の基本面に対して隣接する基本面が存在しているが分割数が確定していない場合は、基本面分割数予測部203A3に対して、参照不可を出力するように構成されている。
 一方、基本面分割数参照部203A2は、復号対象の基本面に対して隣接する基本面が存在し且つ分割数が確定している場合は、基本面分割数予測部203A3に対して、かかる分割数を出力するように構成されている。
 基本面分割数予測部203A3は、入力された1つ以上の分割数に基づいて基本面の分割数(細分割数)を予測し、加算部203A4に対して、予測した分割数(予測分割数)を出力するように構成されている。
 ここで、基本面分割数予測部203A3は、基本面分割数参照部203A2から参照不可のみが入力された場合は、加算部203A4に対して、0を出力するように構成されている。
 なお、基本面分割数予測部203A3は、1つ以上の分割数が入力された場合、入力された分割数の平均値や最大値や最小値や最頻値等の統計値のいずれかを用いて、予測分割数を生成するように構成されていてもよい。
 なお、基本面分割数予測部203A3は、1つ以上の分割数が入力された場合、最も隣接する面の分割数を予測分割数として生成するように構成されていてもよい。
 加算部203A4は、予測残差ビットストリームから復号した予測分割数残差と基本面分割数予測部203A3から取得した予測分割数とを加算することによって得られた分割数を、基本面分割部203A5に対して出力するように構成されている。
 基本面分割部203A5は、加算部203A4から入力された分割数に基づき、基本面を細分割するように構成されている。
 図18は、基本面を9分割したケースの一例である。図18を参照して、基本面分割部203A5による基本面の分割方法について説明する。
 基本面分割部203A5は、基本面を構成する辺ABに対してN等分(N=3)する点A_1,…,A_(N-1)を生成する。
 同様に、基本面分割部203A5は、辺BCや辺CAについてもN等分し、それぞれ点B_1,…,B_(N-1)、C_1,…,C_(N-1)を生成する。
 以降、辺AB、辺BC及び辺CA上の点を「辺分割点」と呼ぶ。
 基本面分割部203A5は、全てのi(i=1,2,…,N-1)に対して、辺A_i B_(N-i),B_i C_(N-i),C_i A_(N-i)を生成し、N個の細分割面を生成する。
 次に、図19を参照して、基本メッシュ細分割部203Aの処理手順について説明する。
 ステップS2201において、最後の基本面に対して再分割処理が完了したか否かを判定する。処理が完了した場合終了し、そうでない場合はステップS2202に進む。
 ステップS2202において、基本メッシュ細分割部203Aは、Depth<mdu_max_depthの判定を行う。
 ここで、Depthは、現在の深度を表す変数で、初期値は0であり、mdu_max_depthは、基本面ごとに決められた最大深度を表す。
 ステップS2202における条件を満たす場合は、本処理手順は、ステップS2203に進み、かかる条件を満たさない場合は、本処理手順は、ステップS2201に戻る。
 ステップS2203において、基本メッシュ細分割部203Aは、現在の深度におけるmdu_subdivision_flagが1であるか否かについて判定する。
 Yesの場合、本処理手順は、ステップS2201に戻り、Noの場合、本処理手順は、ステップS2204に進む。
 ステップS2204において、基本メッシュ細分割部203Aは、基本面内の全ての細分割面をさらに細分割する。
 ここで、基本メッシュ細分割部203Aは、基本面に対して一度も細分割処理が行われていない場合は、基本面を細分割する。
 なお、細分割の方法については、ステップS2204で説明した方法と同様である。
 具体的には、基本面が一度も細分割されていない場合は、基本面に対して図18のように細分割を行う。少なくとも1回は細分割されている場合は、細分割面をN個に細分割する。図18を例にすると、頂点A_2と頂点Bと頂点B_1とからなる面を、基本面の分割のときと同様の方法で、更に分割してN個の面を生成する。
 細分割処理が終了したとき、本処理手順は、ステップS2205に進む。
 ステップS2205において、基本メッシュ細分割部203Aは、Depthに1を加算し、本処理手順は、ステップS2202に戻る。
(細分割メッシュ調整部203B)
 次に、細分割メッシュ調整部203Bによって行われる処理の具体例について説明する。以下、図20~図24を用いて細分割メッシュ調整部203Bよって行われる処理の一例について説明する。
 図20は、細分割メッシュ調整部203Bの機能ブロックの一例を示す図である。
 図20に示すように、細分割メッシュ調整部203Bは、辺分割点移動部701と、細分割面分割部702とを有する。
(辺分割点移動部701)
 辺分割点移動部701は、入力された初期細分割面に対して、基本面の辺分割点を隣接基本面の辺分割点のいずれかに移動し、細分割面を出力するように構成されている。
 図21は、基本面ABC上の辺分割点を移動した例である。例えば、図21に示すように、辺分割点移動部701は、基本面ABCの辺分割点を最も近い隣接基本面の辺分割点に移動するように構成されていてもよい。
(細分割面分割部702)
 細分割面分割部702は、入力された細分割面を再度細分割し、復号細分割面を出力するように構成されている。
 図22は、基本面内の細分割面Xに対して再度細分割が行われたケースの一例を示す図である。
 図22に示すように、細分割面分割部702は、細分割面を構成する頂点と隣接基本面の辺分割点とを接続することで、基本面内に新たな細分割面を生成するように構成されていてもよい。
 図23は、全ての細分割面に対して、上述の細分割処理を行ったケースの一例を示す図である。
 メッシュ復号部204は、細分割部203で生成された細分割メッシュ及び変位量復号部206で復号された変位量を用いて、復号メッシュを生成して出力するように構成されている。
 具体的には、メッシュ復号部204は、各細分割頂点に対して、対応する変位量を加算することによって、復号メッシュを生成するように構成されている。ここで、各変位量がどの細分割頂点に対応するかについての情報は、制御情報によって示される。
 パッチ統合部205は、メッシュ復号部206で生成された復号メッシュを、複数のパッチ分だけ統合して出力するように構成されている。
 ここで、パッチの分割方法は、メッシュ符号化装置100によって定義される。例えば、パッチの分割方法は、各基本面に対して法線ベクトルを算出しておき、隣接する基本面の中で最も法線ベクトルが類似した基本面を選択し、両基本面を同じパッチとしてまとめ、かかる手順を、次の基本面に対して順次繰り返すように構成されていてもよい。
 映像復号部207は、映像符号化によってテクスチャを復号して出力するように構成されている。例えば、映像復号部207は、非特許文献1のHEVCを用いてもよい。
<変位量復号部206>
 変位量復号部206は、変位量ビットストリームを復号して変位量を生成して出力するように構成されている。
 図3Bは、ある細分割頂点に対する変位量の一例について示す図である。図3Bの例では、8個の細分割頂点が存在するため、変位量復号部206は、各細分割頂点に対してスカラー或いはベクトルで表現される変位量を8個定義するように構成されている。
 以下、図24を参照して、変位量復号部206について説明する。図24は、変位量復号部206の機能ブロックの一例について示す図である。
 図24に示すように、変位量復号部206は、復号部206Aと、逆量子化部206Bと、逆ウェーブレット変換部206Cと、加算器206Dと、インター予測部206Eと、フレームバッファ206Fとを有する。
 復号部206Aは、受信した変位量ビットストリームに対して可変長復号を行うことでレベル値及び制御情報を復号して出力するように構成されている。ここで、可変長復号によって得られたレベル値は、逆量子化部206Bに出力され、制御情報は、インター予測部206Eに出力される。
 以下、図25を参照して、変位量ビットストリームの構成の一例について説明する。図25は、変位量ビットストリームの構成の一例について示す図である。
 図25に示すように、第1に、変位量ビットストリームは、変位量の復号に関する制御情報の集合であるDPS(Displacement Parameter Set:ディスプレイスメントパラメータセット)を含んでいてもよい。
 第2に、変位量ビットストリームは、パッチに対応する制御情報の集合であるDPH(Displacement Patch Header:ディスプレイスメントパッチヘッダ)を含んでいてもよい。
 第3に、変位量ビットストリームは、DPHの次に、パッチを構成する符号化された変位量を含んでいてもよい。
 以上のように、変位量ビットストリームは、各符号化された変位量に、1つずつDPH及びDPSが対応する構成となる。
 なお、図25の構成は、あくまで一例である。各符号化された変位量に、DPH及びDPSが対応する構成となっていれば、変位量ビットストリームの構成要素として、上述以外の要素が追加されてもよい。
 例えば、図25に示すように、変位量ビットストリームは、SPS(Sequence Parameter Set:シーケンスパラメータセット)を含んでいてもよい。
 図26は、DPSのシンタックス構成の一例について示す図である。
 図26において、Descriptor欄は、各シンタックスが、どのように符号化されているかを意味している。
 また、図26において、ue(v)は、符号無し0次指数ゴロム符号であることを意味し、u(n)は、nビットのフラグであることを意味する。
 DPSは、複数のDPSが存在する場合に、各DPSを識別するためのDPS id情報(dps_displacement_parameter_set_id)を少なくとも含む。
 また、DPSは、インター予測を行うか否かを制御するフラグ(interprediction_enabled_flag)を含んでもよい。
 例えば、interprediction_enabled_flagが0のときは、インター予測を行わないと定義し、interprediction_enabled_flagが1のときは、インター予測を行うと定義してもよい。interprediction_enabled_flagが含まれないときは、インター予測を行わないと定義してもよい。
 DPSは、逆DCTを行うか否かを制御するフラグ(dct_enabled_flag)を含んでもよい。
 例えば、dct_enabled_flagが0のときは、逆DCTを行わないと定義し、dct_enabled_flagが1のときは、逆DCTを行うと定義してもよい。dct_enabled_flagが含まれないときは、逆DCTを行わないと定義してもよい。
 図27は、DPHのシンタックス構成の一例について示す図である。
 図27に示すように、DPHは、各DPHに対応するDPSを指定するためのDPS id情報を少なくとも含む。
 逆量子化部206Bは、復号部206Aによって復号されたレベル値を逆量子化することによって変換係数を生成して出力するように構成されている。
 逆ウェーブレット変換部206Cは、逆量子化部206Bによって生成された変換係数に対して逆ウェーブレット変換を施すことによって予測残差を生成して出力するように構成されている。
(インター予測部206E)
 インター予測部206Eは、フレームバッファ206Fから読み出された参照フレームの復号変位量を用いてインター予測を行うことによって、予測変位量を生成して出力するように構成されている。
 インター予測部206Eは、interprediction_enabled_flagが1の場合のみ、かかるインター予測を行うように構成されている。
 インター予測部206Eは、空間領域でインター予測を行ってもよいし、周波数領域でインター予測を行ってもよい。インター予測は、時間的に過去の参照フレームと未来の参照フレームとを用いて、双方向予測を行ってもよい。
 図24は、空間領域でインター予測を行う場合のインター予測部206Eの機能ブロックの一例である。
 インター予測部206Eは、空間領域でインター予測を行う場合は、対象フレームにおける細分割頂点の予測変位量について、参照フレームにおける対応する細分割頂点の復号変位量をそのまま参照して決定してもよい。
 或いは、対象フレームにおけるある細分割頂点の予測変位量は、複数の参照フレームにおける対応する細分割頂点の復号変位量を用いて、平均と分散を推定した正規分布に従って確率的に決定してもよい。その際は、分散はゼロとして一意的に平均のみで決定してもよい。
 或いは、対象フレームにおけるある細分割頂点の予測変位量は、複数の参照フレームにおける対応する細分割頂点の復号変位量を用いて、時間を説明変数、変位量を目的変数として推定した回帰曲線に基づいて決定してもよい。
 メッシュ符号化装置100において、フレームごとに符号化効率向上のために、かかる復号変位量の順番が並び替えられていてもよい。
 かかる場合、インター予測部206Eは、並び替えられた復号変位量に対してインター予測を行うように構成されていてもよい。
 参照フレームと復号対象フレームとの間の細分割頂点の対応関係は、制御情報によって示される。
 図28は、空間領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の細分割頂点の対応関係の一例について説明するための図である。
 図29は、周波数領域でインター予測を行う場合のインター予測部206Eの機能ブロックの一例である。
 インター予測部206Eは、周波数領域でインター予測を行う場合は、復号対象フレームにおける周波数の予測ウェーブレット変換係数について、参照フレームにおける対応する周波数の復号ウェーブレット変換係数をそのまま参照して決定してもよい。
 インター予測部206Eは、複数の参照フレームにおける細分割頂点の復号変位量或いは復号ウェーブレット変換係数を用いて、平均と分散を推定した正規分布に従って確率的にインター予測してもよい。
 インター予測部206Eは、複数の参照フレームにおける細分割頂点の復号変位量あるいは復号ウェーブレット変換係数を用いて、時間を説明変数、変位量を目的変数として推定した回帰曲線をもとにインター予測してもよい。
 インター予測部206Eは、時間的に過去の参照フレームと未来の参照フレームとを用いて双方向でインター予測するように構成されていてもよい。
 メッシュ符号化装置100において、フレームごとに符号化効率向上のために、かかる復号ウェーブレット変換係数の順番が並び替えられていてもよい。
 参照フレームと復号対象フレームとの間の周波数の対応関係は、制御情報によって示される。
 図30は、周波数領域でインター予測が行われる場合の参照フレームと復号対象フレームとの間の周波数の対応関係の一例について説明するための図である。
 また、細分割部203が、基本メッシュを複数のパッチに分割した場合は、インター予測部206Eも、分割したパッチごとにインター予測を行うように構成されている。これによって、フレーム間の時間相関が高くなり、符号化性能の向上が期待できる。
 加算器206Dには、逆ウェーブレット変換部206Cから予測残差が入力され、インター予測部206Eから予測変位量が入力される。
 加算器206Dは、かかる予測残差と予測変位量とを加算することによって、復号変位量を算出して出力するように構成されている。
 加算器206Dによって算出された復号変位量は、フレームバッファ206Fにも出力される。
 フレームバッファ206Fは、加算器206Dから復号変位量を取得して蓄積するように構成されている。
 ここで、フレームバッファ206Fは、図示しない制御情報に応じて、参照フレームにおいて対応する頂点における復号変位量を出力する。
 図31は、変位量復号部206の動作の一例を示すフローチャートである。
 図31に示すように、ステップS3501において、変位量復号部206は、全てのパッチに対して、本処理が完了しているか否かについて判定する。
 Yesの場合、本動作は、終了し、Noの場合、本動作は、ステップS3502に進む。
 ステップS3502において、変位量復号部206は、復号対象のパッチに対して、逆DCTを行ってから逆量子化及び逆ウェーブレット変換を行う。
 ステップS3503において、変位量復号部206は、interprediction_enabled_flagが1であるか否かについて判定する。
 Yesの場合、本動作は、ステップS3504に進み、Noの場合、本動作は、ステップS3501に戻る。
 ステップS3504において、変位量復号部206は、上述のインター予測及び加算を行う。
<変形例1>
 以下、図32を参照して、上述の第1実施形態の変形例1について、上述の第1実施形態との相違点に着目して説明する。
 図32は、本変形例1に係る変位量復号部206の機能ブロックの一例を示す図である。
 図32に示すように、本変形例1に係る変位量復号部206は、復号部206Aの後段に、すなわち、復号部206Aと逆量子化部206Bとの間に、逆DCT部206Gを備えている。
 すなわち、本変形例1では、逆量子化部206Bは、逆DCT部202Gから出力されたレベル値に対して逆ウェーブレット変換を施すことによって予測残差を生成するように構成されている。
<変形例2>
 以下、図33を参照して、上述の第1実施形態の変形例2について、上述の第1実施形態との相違点に着目して説明する。
 図33に示すように、本変形例2に係る変位量復号部206は、映像復号部2061と、画像展開部2062と、逆量子化部2063と、逆ウェーブレット変換部2064と有する。
 映像復号部2061は、受信した変位量ビットストリームを、映像符号化によって復号することで映像を出力するように構成されている。
 例えば、映像復号部2061は、非特許文献1のHEVCを用いてもよい。
 また、映像復号部2061は、動きベクトルを常にゼロとした映像符号化方式を用いてもよい。例えば、映像復号部2061は、HEVCの動きベクトルを常にゼロとし、常に同一位置でのインター予測を用いてもよい。
 また、映像復号部2061は、変換を常にスキップするとした映像符号化方式を用いてもよい。例えば、映像復号部2061は、HEVCの変換を常に変換スキップモードとし、変換せずに映像符号化方式を用いてもよい。
 画像展開部2062は、映像復号部2061で復号された映像を、画像(フレーム)ごとにレベル値として展開して出力するように構成されている。
 かかる展開方法において、画像展開部2062は、制御情報によって示された画像へのレベル値の並べ方から、逆算して特定できる。
 画像展開部2062は、レベル値の並べ方として、例えば、高周波成分から低周波成分のレベル値が画像中にラスタ操作順に並べてもよい。
 逆量子化部2063は、画像展開部2062で生成されたレベル値を逆量子化することによって変換係数を生成して出力するように構成されている。
 逆ウェーブレット変換部2064は、逆量子化部2063で生成された変換係数に対して逆ウェーブレット変換を施すことによって復号変位量を生成して出力するように構成されている。
 上述のメッシュ符号化装置100及びメッシュ復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
 なお、本実施形態によれば、例えば、動画像通信において総合的なサービス品質の向上を実現できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
1…メッシュ処理システム
100…メッシュ符号化装置
200…メッシュ復号部
201…多重分離部
202…基本メッシュ復号部
202A…分離部
202B…イントラ復号部
202B1…任意イントラ復号部
202B2…整列部
202C…メッシュバッファ部
202D…接続情報復号部
202E…インター復号部
202E1…動きベクトル復号部
202E2…動きベクトルバッファ部
202E3…動きベクトル予測部
202E4…動きベクトル算出部
202E5…加算器
202E10…増設頂点算出部
203…細分割部
203A…基本メッシュ細分割部
203A1…基本面分割数バッファ部
203A2…基本面分割数参照部
203A3…基本面分割数予測部
203A4…加算部
203A5…基本面分割部
203B…細分割メッシュ調整部
701…辺分割点移動部
702…細分割面分割部
204…メッシュ復号部
205…パッチ統合部
206…変位量復号部
206A…復号部
206B、2063…逆量子化部
206C、2064…逆ウェーブレット変換部
206D…加算器
206E…インター予測部
206F…フレームバッファ
206G…逆DCT部
2062…画像展開部
207、2061…映像復号部
 
 
 

Claims (10)

  1.  メッシュ復号装置であって、
     復号された基本メッシュにおいて座標が一致する複数の頂点である重複頂点をまとめて単一頂点としてから、所定の順序に並び替える整列部を備えることを特徴とするメッシュ復号装置。
  2.  複数の動きベクトルを持つ参照フレームの基本メッシュの頂点により、復号対象のインターフレームの基本メッシュにおいて増加させる頂点のインデックス又は座標を算出するインター復号部を備えることを特徴とする請求項1に記載のメッシュ復号装置。
  3.  前記整列部は、Iフレームのビットストリームから、前記重複頂点のリストを復号すること特徴とする請求項1又は2に記載のメッシュ復号装置。
  4.  前記整列部は、前記基本メッシュから前記重複頂点を探索することによって、前記重複頂点のリストを算出することを特徴とする請求項1又は2に記載のメッシュ復号装置。
  5.  前記整列部は、前記重複頂点のリストを決めた後、前記重複頂点の全部又は一部を統合して、Connectivityを更新することを特徴とする請求項1又は2に記載のメッシュ復号装置。
  6.  前記整列部は、前記重複頂点のリストを決めた後、ビットストリームから、処理しない重複頂点の情報を復号し、前記処理しない重複頂点以外の重複頂点を統合して、Connectivityを更新することを特徴とする請求項5に記載のメッシュ復号装置。
  7.  前記インター復号部は、前記整列部で全部の重複頂点を統合した場合、複数の動きベクトルを持つ参照フレームの基本メッシュの頂点により復号対象のインターフレームの基本メッシュにおいて増加させる頂点のインデックスを、ビットストリームから復号することを特徴とする請求項2に記載のメッシュ復号装置。
  8.  前記インター復号部は、前記整列部で全部の重複頂点を統合した場合、復号された復号対象のインターフレームの基本メッシュの増設頂点に対して動きベクトルを復号することを特徴とする請求項2に記載のメッシュ復号装置。
  9.  メッシュ復号方法であって、
     復号された基本メッシュに対する座標が一致する複数の頂点である重複頂点をまとめて単一頂点としてから、所定の順序に並び替える工程を有することを特徴とするメッシュ復号方法。
  10.  コンピュータを、メッシュ復号装置として機能させるプログラムであって、
     前記メッシュ復号装置は、復号された基本メッシュに対する座標が一致する複数の頂点である重複頂点をまとめて単一頂点としてから、所定の順序に並び替える整列部を備えることを特徴とするプログラム。
PCT/JP2023/029763 2022-10-13 2023-08-17 メッシュ復号装置、メッシュ復号方法及びプログラム WO2024079983A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022165085A JP2024058009A (ja) 2022-10-13 2022-10-13 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
JP2022-165085 2022-10-13

Publications (1)

Publication Number Publication Date
WO2024079983A1 true WO2024079983A1 (ja) 2024-04-18

Family

ID=90669533

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/029763 WO2024079983A1 (ja) 2022-10-13 2023-08-17 メッシュ復号装置、メッシュ復号方法及びプログラム

Country Status (2)

Country Link
JP (1) JP2024058009A (ja)
WO (1) WO2024079983A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101551741B1 (ko) * 2015-04-07 2015-09-10 (주)이지스 3차원 객체 모델의 정점 구성 방법
US20150332487A1 (en) * 2014-05-19 2015-11-19 Google Inc. Encoding polygon data for fast retrieval and rendering
US20200211230A1 (en) * 2017-05-06 2020-07-02 Beijing Dajia Internet Information Technology Co., Ltd. Processing 3d video content
US20200286261A1 (en) * 2019-03-07 2020-09-10 Samsung Electronics Co., Ltd. Mesh compression

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150332487A1 (en) * 2014-05-19 2015-11-19 Google Inc. Encoding polygon data for fast retrieval and rendering
KR101551741B1 (ko) * 2015-04-07 2015-09-10 (주)이지스 3차원 객체 모델의 정점 구성 방법
US20200211230A1 (en) * 2017-05-06 2020-07-02 Beijing Dajia Internet Information Technology Co., Ltd. Processing 3d video content
US20200286261A1 (en) * 2019-03-07 2020-09-10 Samsung Electronics Co., Ltd. Mesh compression

Also Published As

Publication number Publication date
JP2024058009A (ja) 2024-04-25

Similar Documents

Publication Publication Date Title
KR100627597B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN112369022A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
US20100118945A1 (en) Method and apparatus for video encoding and decoding
JP2016165125A (ja) 映像復号化装置
WO2013002461A1 (ko) 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치
GB2559062A (en) Adaptive transform method based on in-screen prediction and apparatus using the method
WO2012172668A1 (ja) 動画像符号化方法及び装置並びに動画復号化方法及び装置
TW202046735A (zh) 解碼方法及解碼裝置
EP2520093A1 (en) Data compression for video
JP2016103851A (ja) 画像復号装置
CN107071406B (zh) 运动图像解码方法和编码方法
WO2024079983A1 (ja) メッシュ復号装置、メッシュ復号方法及びプログラム
KR20140105038A (ko) 머지 모드 움직임 정보 복호화 장치
WO2024147277A1 (ja) メッシュ復号装置、メッシュ復号方法及びプログラム
CN113891089B (zh) 一种运动信息候选列表的构建方法、装置及其设备
CN114025166A (zh) 视频压缩方法、电子设备及计算机可读存储介质
WO2024014196A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014043A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014195A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014042A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014045A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014044A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024079981A1 (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
JP2024058008A (ja) メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
KR102185952B1 (ko) 두 개의 후보 인트라 예측 모드를 이용한 화면 내 예측 모드의 부/복호화 방법 및 이러한 방법을 사용하는 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23876991

Country of ref document: EP

Kind code of ref document: A1