WO2022269944A1 - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
WO2022269944A1
WO2022269944A1 PCT/JP2021/043204 JP2021043204W WO2022269944A1 WO 2022269944 A1 WO2022269944 A1 WO 2022269944A1 JP 2021043204 W JP2021043204 W JP 2021043204W WO 2022269944 A1 WO2022269944 A1 WO 2022269944A1
Authority
WO
WIPO (PCT)
Prior art keywords
patch
vertex
information
pair
vertices
Prior art date
Application number
PCT/JP2021/043204
Other languages
English (en)
French (fr)
Inventor
華央 林
智 隈
毅 加藤
央二 中神
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to EP21947223.0A priority Critical patent/EP4361959A4/en
Priority to JP2023529443A priority patent/JPWO2022269944A1/ja
Priority to KR1020237042154A priority patent/KR20240024069A/ko
Priority to CN202180099545.0A priority patent/CN117546207A/zh
Publication of WO2022269944A1 publication Critical patent/WO2022269944A1/ja

Links

Images

Classifications

    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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

Definitions

  • the present disclosure relates to an information processing device and method, and more particularly to an information processing device and method capable of suppressing reduction in quality of 3D data due to encoding and decoding.
  • the present disclosure has been made in view of such circumstances, and is intended to enable suppression of deterioration in the quality of 3D data due to encoding and decoding.
  • An information processing device divides a mesh representing an object with a three-dimensional structure into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into at least a first patch and a second patch.
  • a generation unit that generates pair information indicating that at least one vertex and at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding are paired. and an encoding unit that encodes the pair information.
  • An information processing method divides a mesh representing a three-dimensional structure object into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into at least a first patch and a second patch. generating pair information indicating that at least one vertex and at least one vertex of the second patch in the same position as the position of the vertex of the first patch in the object before encoding are paired; It is an information processing method for encoding the pair information obtained.
  • An information processing apparatus divides a mesh representing a three-dimensional structure object into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into at least a first patch and a second patch. and at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding. and a decoding unit for obtaining the pair information, and a correction unit for correcting the reconstructed mesh based on the pair information.
  • An information processing method divides a mesh representing a three-dimensional structure object into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into at least a first patch and a second patch. and at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding. and correcting the reconstructed mesh based on the pair information obtained by decoding the encoded data.
  • a mesh expressing an object with a three-dimensional structure is divided into at least a first patch and a second patch, and arranged in a single image. and at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding. Pair information is encoded.
  • a mesh representing an object with a three-dimensional structure is divided into at least a first patch and a second patch and arranged in a single image; Pair information indicating that at least one vertex of one patch is paired with at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding.
  • the encoded data is decoded and the reconstructed mesh is corrected based on pair information obtained by decoding the encoded data.
  • FIG. 4 is a diagram for explaining Mesh; FIG. 4 is a diagram for explaining the difference in data configuration between VPCC and Mesh. It is a figure explaining a zipper ring. It is a figure explaining transmission of pair information. It is a figure explaining transmission of pair information. It is a figure explaining pair information. It is a figure explaining generation of pair information.
  • FIG. 4 is a diagram illustrating an example of transmission order; It is a figure explaining the example of the content of pair information. It is a figure explaining the example of the content of pair information. It is a figure explaining the example of the content of pair information. It is a figure explaining the structural example of pair information. It is a figure explaining the structural example of pair information.
  • FIG. 10 is a flowchart for explaining an example of the flow of encoding processing; It is a block diagram which shows the main structural examples of a decoding apparatus.
  • FIG. 10 is a flowchart for explaining an example of the flow of decoding processing;
  • FIG. 10 is a flowchart for explaining an example of the flow of decoding processing;
  • FIG. 10 is a flowchart for explaining an example of the flow of encoding processing; It is a block diagram which shows the main structural examples of a decoding apparatus.
  • FIG. 10 is a flowchart for explaining an example of the flow of decoding processing;
  • FIG. It is a block diagram which shows the main structural examples of a computer.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above) "Information technology - Coded Representation of Immersive Media - Part 5: Visual Volumetric Video-based Coding (V3C) and Video-based Point Cloud Compression (V-PCC)", ISO/IEC 23090-5:2020(E),ISO/ IEC JTC1/SC29/WG11w19579
  • the content described in the above non-patent document and the content of other documents referenced in the above non-patent document are also the basis for determining the support requirements.
  • 3D data such as a point cloud representing a three-dimensional structure using point position information, attribute information, and the like existed.
  • a three-dimensional structure (three-dimensional object) is expressed as a set of many points.
  • a point cloud is composed of position information (also called geometry) and attribute information (also called attributes) of each point.
  • Attributes can contain arbitrary information.
  • the attributes may include color information, reflectance information, normal line information, etc. of each point.
  • the point cloud has a relatively simple data structure and can represent any three-dimensional structure with sufficient accuracy by using a sufficiently large number of points.
  • VPCC Video-based Point Cloud Compression
  • the geometry and attributes of the point cloud are decomposed into small regions (also called patches), and each patch is projected onto the projection plane, which is a two-dimensional plane.
  • the projection plane which is a two-dimensional plane.
  • geometry and attributes are projected onto any of the six sides of the bounding box that contains the object.
  • Geometry and attributes projected onto this projection plane are also referred to as projection images.
  • a patch projected onto the projection plane is also called a patch image.
  • the geometry of the point cloud 1 representing the three-dimensional structure object shown in A of FIG. 1 is decomposed into patches 2 as shown in B of FIG. That is, a geometry patch image (projection image for each patch) is generated.
  • Each pixel value of the geometry patch image indicates the distance (depth value) from the projection plane to the point.
  • the attributes of the point cloud 1 are also decomposed into patches 2 in the same way as the geometry, and each patch is projected onto the same projection plane as the geometry. That is, an attribute patch image having the same size and shape as the geometry patch image is generated.
  • Each pixel value in the attribute patch image indicates the attribute (color, normal vector, reflectance, etc.) of the co-located point in the corresponding geometry patch image.
  • each patch image generated in this way is arranged within a frame image (also called a video frame) of the video sequence. That is, each patch image on the projection plane is arranged on a predetermined two-dimensional plane.
  • a frame image in which a geometry patch image is arranged is also called a geometry video frame.
  • This geometry video frame is also called a geometry image, geometry map, or the like.
  • a geometry image 11 shown in FIG. 1C is a frame image (geometry video frame) in which the geometry patch image 3 is arranged.
  • This patch image 3 corresponds to the patch 2 in FIG. 1B (the geometry patch 2 is projected onto the projection plane).
  • a frame image in which an attribute patch image is arranged is also called an attribute video frame.
  • This attribute video frame is also called an attribute image or an attribute map.
  • the attribute image 12 shown in FIG. 1D is a frame image (attribute video frame) in which the attribute patch image 4 is arranged.
  • This patch image 4 corresponds to the patch 2 in FIG. 1B (the attribute patch 2 is projected onto the projection plane).
  • these video frames are encoded by a two-dimensional image encoding method such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding). That is, point cloud data, which is 3D data representing a 3D structure, can be encoded using a codec for 2D images.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • point cloud data which is 3D data representing a 3D structure
  • 2D data encoders are more popular than 3D data encoders and can be realized at low cost. That is, by applying the video-based approach as described above, an increase in cost can be suppressed.
  • occupancy images also called occupancy maps
  • the occupancy image is map information indicating the presence or absence of a projection image (patch image) for each NxN pixels of a geometry video frame or attribute video frame.
  • an occupancy image indicates a region (NxN pixels) in which a patch image exists in a geometry image or an attribute image with a value of "1", and indicates a region (NxN pixels) in which no patch image exists with a value of "0".
  • Such occupancy images are encoded as data separate from geometry images and attribute images, and transmitted to the decoding side.
  • the decoder can determine whether or not there is a patch in an area. , the point cloud can be reconstructed. For example, even if the depth value changes due to encoding/decoding, the decoder will refer to the occupancy map and ignore the depth value of the area where the patch image does not exist (so as not to process it as 3D data position information). can do.
  • an occupancy image 13 as shown in E in FIG. 1 may be generated for the geometry image 11 in C in FIG. 1 and the attribute image 12 in D in FIG.
  • the white portion indicates the value "1"
  • the black portion indicates the value "0".
  • this occupancy image can also be transmitted as a video frame in the same way as the geometry video frame, attribute video frame, and the like. That is, like geometry and attributes, they are encoded by a two-dimensional image encoding method such as AVC or HEVC.
  • the point cloud geometry and attributes are projected onto the same projection plane and placed at the same position in the frame image. That is, the geometry and attributes of each point are associated with each other according to its position on the frame image.
  • 3D data representing an object with a three-dimensional structure there is, for example, a mesh in addition to the point cloud.
  • a mesh expresses the surface of an object in a three-dimensional space by polygons, which are planes (polygons) surrounded by sides 22 connecting vertices 21 .
  • 3D data representing the object includes this mesh and the texture 23 applied to each polygon, as shown in FIG.
  • 3D data using a mesh for example, as shown in the lower part of FIG. 21 and sides 22, a texture image 33 that is map information of the texture 23 attached to each polygon, and the position of the texture corresponding to each vertex 21 in the texture image 33 (that is, each vertex 21 in the texture image 33 position).
  • the UV map 34 indicates the position of each vertex by UV coordinates, which are coordinates on the texture image 33 .
  • the UV map 34 indicates the correspondence between each vertex 21 and the texture 23 . Therefore, as in the example of FIG. 2, the texture image 33 is configured as map information independent of the vertex information 31 configured by the three-dimensional coordinates of each vertex. Therefore, in the texture image 33, the projection direction and resolution of the texture 23 of each polygon can be arbitrarily set.
  • Non-Patent Document 1 and the like propose a method of extending the above-described VPCC and compressing (encoding) 3D data using a mesh.
  • the vertex geometry (vertex position) is shown as non-image as vertex information. Therefore, for example, the vertex 43 shared by the polygons 41 and 42 is expressed as one point.
  • the texture is placed in texture image 44 .
  • the texture 45 applied to the polygon 41 and the texture 46 applied to the polygon 42 are arranged in the texture image 44 independently. Therefore, the textures 45 and 46 can also be arranged at positions separated from each other, for example, as in the example shown in FIG. 3A. That is, in this case, the vertex 43 is expressed as two points, ie, the vertex 47 and the vertex 48 in the texture image 44 .
  • VPCC as shown in FIG.
  • the mesh representing the 3D structural object is divided into at least a first patch and a second patch to form a single image. placed within. Therefore, the polygon 41 is arranged as the polygon 52, and the polygon 42 is arranged as the polygon 54 in the geometry image 51, respectively. More precisely, each vertex that constitutes each polygon is arranged in the geometry image 51 so as to form each polygon. Therefore, the polygons 52 and 54 can also be arranged at positions separated from each other, for example, as in the example shown in FIG. 3B.
  • vertices shared by multiple polygons in the mesh can be arranged as multiple points in the geometry image because they are arranged as vertices that make up each polygon.
  • both the vertex 53 of the polygon 52 and the vertex 55 of the polygon 54 correspond to the vertex 43 (one vertex) of the mesh.
  • a single vertex in the mesh can be represented as multiple vertices in the geometry image.
  • a plurality of vertices also referred to as overlapping points
  • existing at the same position in the mesh may be arranged at different positions in the geometry image.
  • Zippering searches for neighboring boundary vertices in 3D and moves the vertices being processed to match the searched points (also called matching).
  • the crack is eliminated by correcting the coordinates of each vertex of the portion where the crack occurs.
  • a vertex 63 indicated by a white circle in the drawing is a vertex on the boundary of the patch 61 or patch 62 .
  • FIG. 4 only one vertex is labeled. It is assumed that the boundary on which the vertices 63 of the patch 61 are arranged and the boundary on which the vertices 63 of the patch 62 are arranged are in contact with each other before encoding. It is also assumed that vertex A1 of patch 61 and vertex B1 of patch 62 are one vertex before encoding. Similarly, vertex A2 and vertex B2, vertex A3 and vertex B3, vertex A4 and vertex B4, and vertex A5 and vertex B5 are each assumed to be one vertex before encoding.
  • the boundary of a patch indicates the boundary between an area included in the patch and an area not included in the patch.
  • the sides (connections) of polygons forming the outer shape of the patch are called boundaries.
  • the zipper ring search does not find the vertex 63 of the patch 61 corresponding to the vertex B2 if the zipper ring search does not find the vertex 63 of the patch 61 corresponding to the vertex B2, the vertex B2 is not matched with other vertices. In other words, the geometry of vertex B2 remains uncorrected. Therefore, as shown in FIG. 4B, cracks may occur (cracks may not be erased).
  • the encoder transmits to the decoder pair information indicating a pair of vertices of a patch that are assumed to have vertices at the same position. That is, as shown in the top row of the table in FIG. 5, the pair information is transmitted (for example, the encoder generates and encodes the pair information, and the decoder decodes and uses the encoded data).
  • the generation unit of the information processing apparatus divides a mesh representing an object having a three-dimensional structure into at least a first patch and a second patch, arranges them in a single image, pair information indicating that at least one vertex of the patch of and at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding is paired, and information
  • An encoding unit of the processing device encodes the pair information.
  • an information processing device divides a mesh representing an object with a three-dimensional structure into at least a first patch and a second patch, arranges them in a single image, and arranges at least one vertex of the first patch. and a generation unit for generating pair information indicating that at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding is paired, and the pair and an encoding unit for encoding information.
  • a decoding unit of an information processing apparatus divides a mesh representing an object having a three-dimensional structure into at least a first patch and a second patch and arranges them in a single image; Pair information indicating that at least one vertex of one patch is paired with at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding.
  • the encoded data is decoded, and the correction unit of the information processing device corrects the reconstructed mesh based on the pair information obtained by decoding the encoded data.
  • a mesh representing an object with a three-dimensional structure is divided into at least a first patch and a second patch, arranged in a single image, and at least one vertex of the first patch is and decoding encoded data of pair information indicating that at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding is paired, and A decoding unit for obtaining pair information and a correction unit for correcting the reconstructed mesh based on the pair information are provided.
  • polygons 101 and 102 shown in A of FIG. 7 are composed of vertices 103 shown by white circles. 7A and 7B, only one vertex is numbered. It is assumed that the numbers shown near each vertex 103 are the identification information of each vertex 103 .
  • polygon 110 and polygon 102 were in contact with each other before encoding. That is, in the state before encoding, the vertex 103 with the identification information "3" and the vertex 103 with the identification information "6" are one vertex 103, and the vertex 103 with the identification information "2" and the vertex 103 with the identification information "4" and the vertex 103 of are one vertex.
  • the polygons 101 and 102 are arranged in the geometry image independently of each other, so that each vertex 103 of each polygon is given different identification information.
  • the encoder expresses the vertex 103 with the identification information "3" and the vertex 103 with the identification information "6", the vertex 103 with the identification information "2" and the vertex 103 with the identification information "4" as a pair. Generates pair information to be used.
  • the decoder performs matching of vertices 103 according to the pair information. That is, the decoder corrects the positions of the vertices 103 in the reconstructed mesh so that the vertices 103 that were one vertex 103 in the state before encoding in the pair information become one vertex.
  • the decoder matches the vertex 103 with the identification information "3" and the vertex 103 with the identification information "6" to match the vertex 103 with the identification information "2" and the vertex 103 with the identification information "4". , and the vertex 103 of .
  • the polygon 101 and the polygon 102 are brought into contact (same state as before encoding). Therefore, the occurrence of cracks can be suppressed.
  • the decoder can match vertices more reliably and accurately than in the case of zippering. In other words, it is possible to more reliably eliminate cracks and match with more appropriate vertices (can suppress the occurrence of texture discontinuity). Therefore, reduction in quality of 3D data due to encoding and decoding can be suppressed. Moreover, since search processing is unnecessary, an increase in processing load can be suppressed.
  • a “pair” indicates a “set” (which can also be expressed as a “pair” or a “group”) composed of a plurality of vertices of a patch generated from a single mesh vertex. That is, each pair of vertices corresponds to the same vertex in the mesh.
  • the “pair information” indicating this pair is information indicating the correspondence between vertices of a plurality of patches (which vertices correspond to which vertices).
  • a pair may be composed of three or more vertices. That is, one vertex of the mesh may be divided into three or more patches.
  • pairing process The process of matching vertices based on such pair information is also called pairing process.
  • each vertex forming a pair may correspond to an "overlapping point" in the mesh. That is, pairs may be formed by dividing a plurality of vertices at the same position in the mesh into different patches.
  • pairs are configured by vertices, but they may be configured by "edges” instead of vertices. Adjacent polygons share not only vertices, but also "edges” ("connections” that connect vertices).
  • a “set” of continuous edges or vertices shared by a pair of patches is also called an “edge”.
  • a pair may indicate a "set” composed of a plurality of edges.
  • the pair information may be information indicating the correspondence between edges of a plurality of patches.
  • each vertex (or edge) divided when dividing the mesh into patches is paired.
  • This process of dividing the mesh into patches is also called patch segmentation.
  • patch segmentation patches are generated by connecting adjacent polygons (triangles) of a mesh. Information about adjacent polygons is obtained from connectivity.
  • adjacent polygons are patched differently from each other, the edges (vertices and sides) shared by those polygons are divided into multiple (each vertex has multiple UV coordinates). Vertices located at each of the plurality of UV coordinates are paired.
  • white circles indicate the vertices of the mesh 111.
  • a vertex indicated by this white circle is referred to as a vertex 113 .
  • the numbers near each vertex 113 schematically represent the identification information assigned to each vertex 113 . That is, identification information "1" to identification information "5" are assigned to the five vertices 113, respectively.
  • a connection (side of the polygon) connecting the vertices 113 is called a side 112 .
  • FIG. 8A only one connection is labeled, but all connections between vertices 113 are sides 112.
  • FIG. The illustration of other vertices is omitted.
  • patch segmentation divides this mesh 111 along the edge 112 as shown in FIG. 8B into patches 111A and 111B.
  • the edge 112 and the vertex 113 are each divided into two.
  • the vertex 113 divided on the patch 111A side in this way is called a vertex 113A.
  • the vertex 113 divided on the patch 111B side is referred to as a vertex 113B.
  • FIG. 8B only one of the white circles of the patch 111A is labeled, but all the white circles of the patch 111A are vertices 113A.
  • only one of the open circles in patch 111B is labeled, but the open circles in patch 111B are all vertices 113B.
  • the vertex 113 with the identification information "1" is divided into the vertex 113A with the identification information "A1” and the vertex 113B with the identification information "B1".
  • the vertex 113 with the identification information "2" is divided into the vertex 113A with the identification information "A2” and the vertex 113B with the identification information "B2”.
  • the vertex 113 with the identification information "3" is divided into the vertex 113A with the identification information "A3” and the vertex 113B with the identification information "B3”.
  • the vertex 113 with the identification information "4" is divided into the vertex 113A with the identification information "A4" and the vertex 113B with the identification information "B4".
  • the vertex 113 with the identification information "5" is divided into the vertex 113A with the identification information "A5" and the vertex 113B with the identification information "B5".
  • the side 112 divided on the patch 111A side is called a side 112A.
  • the side 112 divided on the side of the patch 111B is referred to as a side 112B.
  • FIG. 8B only one of the connections connecting the vertices 113A of the patch 111A is labeled, but all the connections connecting the vertices 113A are sides 112A.
  • only one of the connections between vertices 113B of patch 111B is labeled, but all the connections between vertices 113B are edges 112B.
  • the edge formed by the vertex 113A and the side 112A and the edge formed by the vertex 113B and the side 112B indicate the edge shared by the patch 111A and the patch 111B.
  • the patch is projected onto a two-dimensional plane, and the projected image (also called patch image) is placed on the geometry image.
  • FIG. 8C shows an example of such an arrangement.
  • patch image 121A shows the projected image of patch 111A.
  • a patch image 121B indicates a projected image of the patch 111B.
  • a vertex 123A indicated by a white circle indicates the vertex of the patch image 121A.
  • vertices 123B indicated by white circles indicate vertices of patch image 121B.
  • the vertex 123A is the vertex corresponding to the vertex 113A (the vertex 113A is projected), and the vertex 123B is the vertex corresponding to the vertex 113B (the vertex 113B is projected).
  • FIG. 8C only one of the white circles of the patch image 121A is labeled, but all the white circles of the patch image 121A are vertices 123A.
  • only one of the white circles in patch image 121B is labeled, but the white circles in patch image 121B are all vertices 123B.
  • the vertex 123A with the identification information "A1” and the vertex 123B with the identification information "B1” constitute one pair.
  • the vertex 123A with the identification information "A2” and the vertex 123B with the identification information "B2” constitute one pair.
  • a vertex 123A with identification information "A3” and a vertex 123B with identification information "B3” constitute one pair.
  • a vertex 123A with identification information "A4" and a vertex 123B with identification information "B4" constitute one pair.
  • a vertex 123A with identification information "A5" and a vertex 123B with identification information "B5" constitute one pair.
  • a connection connecting the vertices 123A is called an edge 122A.
  • This side 122A is a side corresponding to the side 112A (the side 112A is projected), and constitutes the boundary of the patch image 121A.
  • a connection connecting the vertices 123B is called a side 122B.
  • This side 122B is a side corresponding to the side 112B (side 112A is projected), and constitutes the boundary of the patch image 121B.
  • FIG. 8C only one of the connections connecting the vertices 123A of the patch image 121A is labeled, but all the connections connecting the vertices 123A are sides 122A.
  • all the connections connecting the vertices 123B are sides 122B.
  • the edge formed by the vertex 123A and the side 122A and the edge formed by the vertex 123B and the side 122B indicate the edge shared by the patch image 121A and the patch image 121B. That is, an edge formed by vertex 123A and side 122A and an edge formed by vertex 123B and side 122B form one pair.
  • the encoder generates pair information indicating such pairs generated by patch segmentation.
  • the pair information may indicate only pairs formed by vertices included in the pair information, as shown in the fifth row from the top of the table shown in FIG. 5, for example.
  • the pair information may be information indicating all pairs obtained by performing patch segmentation on the mesh.
  • the pair information may also be information indicating pairs formed by vertices not indicated by the pair information, as shown in the sixth row from the top of the table shown in FIG. 5, for example.
  • the pair information is information formed for each group of vertices, and indicates all pairs formed by the vertices of the group by indicating the pairs formed by some vertices of the group. It may be information.
  • a patch image 131, a patch image 132, and a patch image 133 are arranged in a geometry image 130 as shown in A of FIG.
  • Patch image 131, patch image 132, and patch image 133 have vertices 134 indicated by white circles on their boundaries. Although only one vertex is labeled in FIG. The numbers shown near each vertex indicate the identification information of each vertex.
  • FIG. 9B uses the identification information assigned to the vertex 134.
  • the pairs formed by vertices 134 are shown.
  • square frames 141 to 144 indicate pairs formed by vertices 134 .
  • the vertex 134 assigned the identification information "1" and the vertex 134 assigned the identification information "4" form a pair.
  • a vertex 134 to which identification information "2" is assigned and a vertex 134 to which identification information "15" is assigned form a pair.
  • a vertex 134 to which identification information "5" is assigned and a vertex 134 to which identification information "8” is assigned form a pair.
  • a vertex 134 to which identification information "20” is assigned, a vertex 134 to which identification information "21” is assigned, and a vertex 134 to which identification information "24” is assigned form a pair.
  • the pair information for a pair having such a configuration may indicate the vertices forming the pair one by one (for each pair), as shown in the eleventh row from the top of the table shown in FIG. 5, for example. That is, the pair information may indicate that the plurality of vertices of the first patch and the corresponding plurality of vertices of the second patch are each paired.
  • the pair information includes the identification information of the vertices arranged for each pair. An array may be shown. A decoder that acquires the pair information can easily grasp each vertex that constitutes each pair by dividing the array of the vertex identification information by the number of vertices that constitute the pair.
  • the pair information may include a parameter indicating the number of vertices forming a pair, as shown in the twelfth row from the top of the table shown in FIG. 5, for example. If the number of vertices that make up each pair is indicated, the decoder can easily divide the array of vertex identification information included in the pair information by the number of vertices that make up each pair. can be grasped. In other words, in this case, the decoder does not need to know in advance the number of vertices forming each pair. Note that the number of parameters transmitted as pair information is arbitrary.
  • the value of this parameter may be indicated for each pair, may be indicated for each pair of a predetermined number of two or more, or may be indicated for all pairs. .
  • the number of vertices forming a pair may be variable. That is, the number of vertices forming a pair does not have to be common to all pairs.
  • a flag indicating the separation of the pair (for example, a 1-bit flag "0") is added to the array of the identification information of the vertices included in the pair information. may be inserted.
  • This flag is information known in advance to the decoder.
  • a decoder that acquires the pair information can easily grasp which vertices form a pair by detecting the flag from the array of vertex identification information. That is, in this case as well, the decoder does not need to know in advance the number of vertices forming each pair. Also, the number of vertices forming a pair may be variable.
  • the pair information may include information indicating a group consisting of a plurality of vertices of the first patch and a group consisting of a plurality of vertices of the second patch. For example, as shown in the 13th row from the top of the table shown in FIG. 5, a list may be generated in which the vertices forming the pair are summarized for each patch, and the pair information may indicate the pair in the list. .
  • the vertices 134 of the patch image 131 indicated by the rectangular frame 145 and the vertices 134 of the patch image 132 indicated by the rectangular frame 146 are listed, and the correspondence between these lists is provided in the pair information. A relationship may be indicated.
  • the identification information of vertices may be arranged for each group, and an arrangement in which the groups are arranged for each pair may be indicated.
  • the group break position in the arrangement of the vertex identification information may be indicated by a parameter indicating the number of vertices forming the group.
  • the value of this parameter may be indicated for each group, may be indicated for each of a predetermined number of groups equal to or greater than two, or may be indicated for all groups.
  • the number of vertices forming a group may be variable. That is, the number of vertices forming a group does not have to be common to all pairs.
  • the group delimiter position in the vertex identification information array may be indicated by inserting a flag indicating the group delimiter (for example, a 1-bit flag "0", etc.).
  • This flag is information known in advance to the decoder.
  • a decoder that has acquired pair information can easily grasp which vertices form a group by detecting the flag from the array of vertex identification information. That is, in this case as well, the decoder does not need to know in advance the number of vertices forming each group. Also, the number of vertices forming a group may be variable.
  • each of the vertices that make up each pair can be specified for each group. Therefore, based on this pair information, the decoder can more easily grasp each vertex that constitutes each pair.
  • pair information information indicating vertices (or edges) forming a pair is arbitrary.
  • the pair information may indicate pairs using identification information corresponding to the state of each vertex in the object before encoding.
  • This identification information may be any information.
  • this identification information may be information assigned to all vertices contained in the mesh.
  • this identification information may be information assigned to each vertex independently for each patch.
  • the pair information may further include patch identification information (patch ID), as shown in the 18th row from the top of the table shown in FIG.
  • the decoder can identify each vertex among the vertices contained in the mesh by combining the patch ID and the intra-patch vertex ID.
  • the patch ID may be transmitted for each pair as shown in the 19th row from the top of the table shown in FIG. That is, the pair information may include patch identification information for each pair. That is, in this case, patch IDs are transmitted for each vertex that constitutes each pair. Therefore, for each vertex that constitutes each pair, it is indicated to which patch the vertex belongs.
  • the patch ID may be transmitted for each of a plurality of pairs. That is, the pair information may include patch identification information for each of a plurality of pairs. That is, in this case, a patch ID is transmitted for each vertex that constitutes some pairs.
  • the patch ID transmitted immediately before may be applied.
  • the patch ID may be transmitted only when the applied patch ID changes, and transmission of the patch ID may be omitted for pairs to which the same patch ID as the previous pair is applied. By doing so, it is possible to suppress an increase in code amount and an increase in encoding efficiency.
  • this identification information may be information assigned to each vertex located on the boundary of the patch.
  • the encoding unit may further encode a list of vertices located on the boundary of the patch (boundary vertex list), as shown in the 22nd row from the top of the table shown in FIG.
  • boundary vertex list a list of vertices located on the boundary of the patch.
  • the pair information may indicate the pair using the absolute value of the identification information.
  • the pair information may indicate pairs using relative values of this identification information from the identification information of other vertices.
  • the information amount (code amount) of the pair information can be reduced compared to the case where the pairs are indicated using the identification information of each vertex that constitutes the pair. That is, it is possible to suppress reduction in the efficiency of encoding pair information.
  • the pair information indicates pairs based on the respective coordinates of a plurality of vertices in the two-dimensional plane of the image instead of the identification information described above. good too.
  • the pair information may indicate the pair using the UV coordinates of each vertex that constitutes the pair.
  • patches A to D have UV coordinate vertices #0 to #8, respectively, as shown in the table in FIG. A to D indicate patch IDs, and #0 to #8 indicate in-patch IDs.
  • the UV coordinates of vertex #0 of patch A are (u00, v00), and the UV coordinates of vertex #1 of patch A are (u10, v10).
  • the UV coordinates of vertex #0 of patch B are (u01, v01), and the UV coordinates of vertex #1 of patch B are (u11, v11). It is assumed that vertex #0 of patch A and vertex #0 of patch B form a pair. It is also assumed that vertex #1 of patch A and vertex #1 of patch B form a pair.
  • the pairs formed by these vertices may be indicated using their UV coordinates as (u00, v00), (u01, v01).
  • the decoder can more easily grasp the UV coordinates of each vertex that constitutes the pair.
  • the pair information may indicate pairs using differences in UV coordinates (relative coordinates (du, dv)).
  • the pair information uses the UV coordinates (u, v) of the reference vertex, which is one of the vertices that make up the pair, and the difference between the UV coordinates (relative coordinates (du, dv)), such as (u, v ), (du, dv) to indicate pairs.
  • the amount of information (code amount) of the pair information can be reduced compared to the case where the pairs are indicated using the UV coordinates of the vertices forming the pairs. That is, it is possible to suppress reduction in the efficiency of encoding pair information.
  • the pair information may indicate the relative coordinates of a vertex different from the reference vertex with respect to the coordinates of the reference vertex among the plurality of vertices. .
  • Relative coordinates of a vertex different from the reference vertex may be indicated with reference to the position of the relative vector.
  • the vertex #0 of the patch A is moved to the position when it is assumed to be the vertex of the patch B.
  • FIG. vertex #0 of patch A is moved from (u00, v00) to vector 156 .
  • the relative coordinates of the vertex #0 of patch B viewed from the post-movement position (tip of vector 156), that is, vector 157 may be (du, dv). That is, (du, dv) may be expressed as the addition result of vector AB (that is, vector 156) and vector 157 instead of using vector 155.
  • the posture of the patch may be corrected. Any method can be used to correct the posture of the patch.
  • the patch may be vertically flipped, horizontally flipped, or rotated by a predetermined angle.
  • This posture correction is performed so that the absolute values of du and dv are small.
  • the posture of patch B may be corrected so that the position of vertex #0 of patch B approaches the position of vertex A of patch A.
  • widthB indicates the width of patch B (horizontal length in the drawing).
  • Relative coordinates of a vertex different from the reference vertex in the second patch whose orientation is corrected with reference to the position of the relative vector may be indicated.
  • vector AB is used to move vertex #0 of patch A from (u00, v00) to vector 161. Then, the relative coordinates of the vertex #0 of patch B viewed from the position after the movement (tip of vector 161), ie vector 162, may be (du, dv). That is, (du, dv) may be expressed as the addition result of vector AB (that is, vector 161) and vector 162 instead of using vector 163.
  • Relative coordinates of a vertex different from the reference vertex of the pair to be processed may be indicated with reference to the coordinates.
  • vertex #1 of patch A and vertex #1 of patch B which form a pair, are arranged as shown in FIG. This pair is different from the pair formed by the vertex #0 of patch A and the vertex #0 of patch B described above.
  • vertex #1 of patch A is the reference vertex
  • (u, v) (u10, v10).
  • vertex #0 of patch A is moved. That is, the position of the vertex #1 of the patch A is moved according to the positional relationship between the vertex #0 of the patch A and the vertex #0 of the patch B.
  • vertex #1 of patch A moves as indicated by vector 164 .
  • the position of vertex #1 of patch A thus moved (the tip of vector 164), that is, the vertex of patch A reflecting the positional relationship between vertex #0 of patch A and vertex #0 of patch B.
  • the relative coordinates of vertex #0 of patch B viewed from position #1, that is, vector 165 may be (du, dv). That is, (du, dv) may be expressed as the addition result of vector 164 and vector 165 .
  • the pair information contains information only about some pairs. In other words, information about the remaining pairs is omitted. Therefore, the corrector of the decoder restores the omitted information based on the transmitted pair information.
  • the transmission order of pairs in this case is the same as the case where the pair information indicates only the pairs formed by the vertices included in the pair information described above in ⁇ Transmission order of pairs>.
  • the contents of the pair information in this case are the above-mentioned ⁇ contents of pair information>, ⁇ ID>, and ⁇ UV coordinates>, when the pair information indicates only the pair composed of the vertices included in the pair information. is similar to
  • the combination of the vertices located at both ends of the first edge and the vertices located in the middle of the first edge, and the combination of the vertices located at both ends of the second edge It may also include information indicating the correspondence relationship between combinations of vertices positioned midway between the vertices and the second edge. That is, the pair information may include information indicating pairs formed by end points of edges and pairs formed by midpoints, and information on pairs formed by other vertices may be omitted.
  • patch 170A has vertices 171A, 172A, and 173A at its boundaries.
  • patch 170B has vertices 171B, 172B, and 173B at its boundaries.
  • Vertices 171A and 171B form a pair
  • vertices 172A and 172B form a pair
  • vertices 173A and 173B form a pair. That is, in the mesh, patches 170A and 170B are adjacent to each other at the boundary between vertices 171A and 173A (boundary between vertices 171B and 173B).
  • the boundary between vertex 171A and vertex 173A constitutes an edge shared by patch 170A and patch 170B. That is, the vertex 171A and the vertex 173A (or the vertex 171B and the vertex 173B) are the end points of the edge. Also, the vertex 172A (or vertex 172B) is the midpoint of the edge.
  • vertices other than vertex 172A can exist on the boundary (edge) between vertex 171A and vertex 173A, as in the example shown in FIG. 13B.
  • a boundary (edge) between vertex 171B and vertex 173B may have vertices other than vertex 172B, as in the example shown in FIG. 13B.
  • the pair information stores information about the pairs composed of the six vertices described above.
  • information on a pair formed by vertices 171A and 171B, a pair formed by vertices 172A and 172B, and a pair formed by vertices 173A and 173A is stored in the pair information.
  • Information on pairs formed by other vertices indicated by dotted circles in FIG. 13B is omitted.
  • the pair information can be obtained more easily than when information is included about pairs formed by all vertices of edges. code amount can be reduced. That is, it is possible to suppress reduction in the efficiency of encoding pair information.
  • any of the vertices between both end points (also called end points) of the edge may be set as the intermediate point.
  • the correction unit of the decoder not only obtains information on these three pairs from the pair information, but also restores (interpolates) the other vertices existing on the edge from the end points and intermediate points of the edge, and restores (interpolates) the other vertices Obtain information about the pairs formed by
  • the scanning direction of the vertices located on the boundary in the patch is fixed, the first vertex of the edge in that scanning order is the starting point, and the last vertex of the edge is the ending point. Then, in the pair information, an edge is expressed as (start point, end point) and a pair is indicated for each edge.
  • the scanning order is assumed to be the direction of the arrow (counterclockwise).
  • the boundary (edge) on the left side of the drawing between the vertex assigned identification information "15" and the vertex assigned identification information "8" in patch 181 is expressed as (15, 8). be. That is, the vertex to which the identification information "15" is assigned is the starting point of the edge, and the vertex to which the identification information "8" is assigned is the end point of the edge.
  • the pair information includes information about the pair formed by this edge (15, 8). Information about pairs formed by other vertices 182 existing on the edge is omitted.
  • the boundary (edge) on the right side of the figure between the vertex assigned identification information "15" and the vertex assigned identification information "8" in patch 183 is expressed as (8, 15). be. That is, the vertex to which the identification information "8" is assigned is the starting point of the edge, and the vertex to which the identification information "15" is assigned is the end point of the edge. Pair information includes information about the pair that this (8, 15) constitutes. Information about pairs formed by other vertices 184 existing on the edge is omitted.
  • pair information expresses a pair consisting of (start point 1, end point 1) and (start point 2, end point 2) as (start point 1, end point 1), (start point 2, end point 2).
  • start point 1, end point 1 end point 1
  • start point 2, end point 2 end point 2
  • the pair information includes flag information indicating the combination of the start point and end point in the pair. For example, if this flag is false (eg, value "0"), it indicates that the pair correspondence is the same as the scan direction, ie, viewpoints form a pair and endpoints form a pair. Also, when this flag is true (for example, when the value is "1"), it indicates that the pair correspondence is opposite to the scanning direction, that is, the viewpoint and the end point form a pair. For example, pair information may be expressed as (start point 1, end point 1), (start point 2, end point 2), "flag value".
  • the boundary on the right side of the drawing between the vertex assigned identification information "2" and the vertex assigned identification information "5" of patch 190A and the vertex assigned identification information "15" of patch 190B. and the vertex to which identification information "8" is assigned constitutes an edge shared by patch 190A and patch 190B. That is, as indicated by the dotted double-headed arrow 193, the vertex assigned the identification information "2" and the vertex assigned the identification information "15” form a pair, and as indicated by the dotted double-headed arrow 194, Assume that a vertex to which identification information "5" is assigned and a vertex to which identification information "8" is assigned form a pair.
  • the edge of patch 190A starts at the vertex to which identification information "5" is assigned, ends at the vertex to which identification information "2" is assigned, and (5 ,2).
  • the edge of patch 190B is expressed as (15, 8), with the vertex to which identification information "15” is assigned as the starting point and the vertex to which identification information "8” is assigned as the ending point.
  • the pair indicated by the dotted double-headed arrow 193 is composed of the start point and the end point.
  • a pair indicated by a dotted double-headed arrow 194 also consists of a start point and an end point. That is, the flag for this edge pair is true (value "1"). Therefore, in the pair information, this pair of edges may be expressed as (5,2),(15,8),1.
  • the boundary on the right side of the figure between the vertex to which identification information "5" and the vertex to which identification information "21” are assigned in patch 190A and the vertex to which identification information "24” is assigned in patch 190C. ” and the vertex to which identification information “20” is assigned constitutes an edge shared by patch 190A and patch 190C. That is, as indicated by a solid double-headed arrow 195, a vertex assigned identification information "5" and a vertex assigned identification information "24” form a pair, and as indicated by a solid double-headed arrow 196, Assume that a vertex to which identification information "21” is assigned and a vertex to which identification information "20” is assigned form a pair.
  • the edge of patch 190A starts at the vertex to which identification information "21” is assigned, ends at the vertex to which identification information "5" is assigned, and (21 ,5).
  • the edge of patch 190C is expressed as (20, 24) with the vertex assigned identification information "20" as the starting point and the vertex assigned identification information "24” as the ending point. That is, the pair indicated by the solid line double-headed arrow 195 is composed of the end points.
  • a pair indicated by a solid double-headed arrow 196 is formed by starting points. That is, the flag for this edge pair is false (value "0"). Therefore, in the pair information, this pair of edges may be expressed as (21,5),(20,24),0.
  • the pair information contains only the information on the pair formed by the start point and the end point of the edge and the flag indicating the correspondence of the pair, so that the information on the pair formed by all the vertices of the edge can be obtained. It is possible to reduce the code amount of the pair information compared to the case where it is included. That is, it is possible to suppress reduction in the efficiency of encoding pair information.
  • the correction unit of the decoder not only obtains these two pairs of information for each edge from the pair information, but also restores (interpolates) other vertices existing on the edge from the start point and end point of the edge, Obtain information about the pairs formed by the vertices of .
  • the interpolation method for this vertex is arbitrary.
  • the correction unit of the decoder may perform vertex interpolation based on the occupancy image.
  • the correction unit of the decoder identifies vertices on the boundary of the patch using the occupancy image obtained by decoding, and acquires the UV coordinates of the vertices.
  • the correcting unit of the decoder identifies a boundary connecting the identified vertices based on the connectivity.
  • the correction unit of the decoder searches for vertices along the specified boundaries from the intermediate points toward the endpoints. For example, in FIG. 16, gray polygons are patches, vertex 201 is the middle point, and vertices 202 and 203 are end points.
  • the correction unit of the decoder searches for vertices along the specified boundary from the midpoint vertex 201 toward the end points 202 and 203, as indicated by the arrows. Through this search, vertices indicated by white circles in the figure are detected.
  • the correction unit of the decoder performs pairing processing for the detected vertices.
  • the correcting unit of the decoder can perform pairing processing for all vertices present on the edge based on the pair information including information only on pairs of end points and a single intermediate point. Therefore, the reduction in coding efficiency can be suppressed more than when the pair information includes information about pairs formed by all vertices of edges.
  • the correction unit of the decoder scans in the specified scan direction from the start point to the end point. , search for vertices along the specified boundaries.
  • the gray polygon is the patch
  • the vertex 211 is the starting point
  • the vertex 212 is the ending point.
  • the correction unit of the decoder searches for vertices along the specified boundary in the specified scanning direction from the starting vertex 211 toward the ending vertex 212 as indicated by the arrows.
  • the determination of whether or not it is the designated scan direction is made based on the connectivity information of the boundary polygons.
  • the correcting unit of the decoder searches for the side (side 213 in this case) that matches the scan direction of the boundary polygon, out of the sides 213 and 214 connected to the vertex 211 that is the starting point. Through this search, vertices indicated by white circles in the figure are detected. The correction unit of the decoder performs pairing processing for the detected vertices.
  • the correcting unit of the decoder detects all the vertices existing in the edge based on the pair information including the information only on the pair of the start point and the end point and the flag information indicating the combination of the start point and the end point in the pair. pairing process can be performed. Therefore, the reduction in coding efficiency can be suppressed more than when the pair information includes information about pairs formed by all vertices of edges.
  • the correcting unit of the decoder may perform the interpolation of the vertices based on the connectivity information instead of the occupancy image, as shown in the tenth row from the top of the table shown in FIG.
  • the correcting unit of the decoder identifies polygons that do not have adjacent polygons (triangles) in the patch as boundary polygons based on the connectivity.
  • the boundary of the patch is identified from the identified boundary polygons.
  • the correction unit of the decoder searches for vertices from the midpoint to the end points along the identified patch boundary, as described above, and performs pairing processing for the detected vertices.
  • the method of searching for vertices is the same as the example described above with reference to FIG. 16 or FIG.
  • a correction unit of the decoder performs pairing processing based on the pair information. Any vertex matching method can be used in this pairing process.
  • One of the vertices of the second patch may be deleted, and the connection of the deleted vertex may be converted to the connection of the other vertex.
  • identification information "1”, identification information "2”, or identification information "3” is assigned to the three vertices of the polygon 221. It is also assumed that identification information “4”, identification information “5”, or identification information “6” is assigned to three vertices of polygon 222 . Then, according to the pair information, the vertex to which the identification information "3" is assigned and the vertex to which the identification information "6” is assigned form a pair, and the vertex to which the identification information "2" is assigned and the vertex to which the identification information "6” is assigned form a pair. 4” are assigned to form a pair.
  • the correction unit of the decoder first sets the position of a single vertex after conversion based on the pair information. Then, the correction unit of the decoder updates the vertex information, leaves one of the vertices forming the pair, and deletes the other vertices. For example, the correcting unit of the decoder deletes the vertex to which the identification information "6" is assigned and the vertex to which the identification information "4" is assigned, as shown in FIG. 18A. The correction unit of the decoder updates the coordinates of the remaining vertices as necessary.
  • the correction unit of the decoder updates the connectivity and converts the connections (edges) with the deleted vertices to the connections (edges) with the remaining vertices. For example, as shown in FIG. 18B, the correction unit of the decoder replaces the connection between the vertex to which the identification information "6" is assigned and the vertex to which the identification information "5" is assigned with the identification information "3". is converted into a connection connecting the vertex assigned with and the vertex assigned identification information "5". Similarly, the correcting unit of the decoder replaces the connection between the vertex to which the identification information "4" is assigned and the vertex to which the identification information "5" is assigned and the vertex to which the identification information "2" is assigned. 5" is converted into a connection connecting the vertices to which "5" is assigned.
  • the polygons 221 and 222 are adjacent to each other as shown in FIG. 18B. Therefore, the crack between polygon 221 and polygon 222 is eliminated.
  • the decoder can more reliably eliminate cracks. That is, it is possible to more reliably suppress the occurrence of cracks. Therefore, reduction in quality of 3D data due to encoding and decoding can be suppressed.
  • One of the vertices and the vertices of the second patch may be moved to the position of the other vertex.
  • the correction unit of the decoder first sets the position of the overlap point based on the pair information. Then, the correction unit of the decoder updates the vertex information, and updates the coordinates of the multiple vertices forming the pair to the coordinates of the overlapping point. For example, as shown in FIG. 19A, the correcting unit of the decoder sets the coordinates of the vertex to which the identification information "3" is assigned and the coordinates of the vertex to which the identification information "6" is assigned to be the same. Convert to coordinates. As a result, both vertices become overlapping points, as shown in FIG. 19B.
  • the correction unit of the decoder converts the coordinates of the vertex assigned with the identification information "2" and the coordinates of the vertex assigned with the identification information "4" into the same coordinates. As a result, both vertices become overlapping points, as shown in FIG. 19B.
  • the polygons 221 and 222 are adjacent to each other as shown in FIG. 19B. Therefore, the crack between polygon 221 and polygon 222 is eliminated.
  • the decoder can more reliably eliminate cracks. That is, it is possible to more reliably suppress the occurrence of cracks. Therefore, reduction in quality of 3D data due to encoding and decoding can be suppressed.
  • a polygon may be formed that includes the vertices and the vertices of the second patch.
  • the correction unit of the decoder detects vertices 231, 233, 232, and vertex 234 to form a new polygon.
  • the correction unit of the decoder updates the connectivity to connect each of the vertices 231, 233, 232, and 234. That is, as shown in FIG. 20B, the correcting unit of the decoder divides a polygon 241 having vertices 231, 232 and 233 as vertices and a polygon 242 having vertices 232, 234 and 233 as vertices. to generate At that time, the correction unit of the decoder sets the order of the vertices of the connectivity so that the boundary polygon and the surface face the same direction.
  • the correction unit of the decoder pastes the texture onto the added polygons.
  • This texture may be of any type, but it is possible to suppress the reduction in quality by making it less inconsistent with the texture of the surrounding polygons.
  • the correcting unit of the decoder may duplicate (copy) the color of the surrounding boundary polygons and apply a texture to the added polygons.
  • the correction unit of the decoder may obtain a (weighted) average of the colors of a plurality of surrounding boundary polygons, and apply the derived texture to the added polygons.
  • a dedicated texture to be pasted on the added polygon may be transmitted from the encoder to the decoder. A corrector of the decoder may then apply the transmitted texture to the added polygons.
  • the correction unit of the decoder performs the pairing process based on the pair information in this manner, so that the decoder can more reliably eliminate the cracks between the polygons 221 and 222 . That is, it is possible to more reliably suppress the occurrence of cracks. Therefore, reduction in quality of 3D data due to encoding and decoding can be suppressed.
  • the correction unit of the decoder should generate polygons using three vertices each, as shown in C of FIG.
  • the correcting unit of the decoder may select and apply one of the above multiple methods.
  • the selection method is arbitrary.
  • the correction unit of the decoder converts the plurality of vertices that make up the pair into a single can be transformed into vertices of Further, for example, when there is an overlapping point in a state before encoding and it is desired to hold the overlapping point, the correcting unit of the decoder may set a plurality of vertices forming a pair as the overlapping point. Furthermore, when subjective evaluation is better by constructing a mesh than by moving points, the correcting unit of the decoder may add polygons using a plurality of vertices forming a pair. Furthermore, information specifying the pairing process method may be transmitted from the encoder to the decoder. For example, this information may be transmitted in arbitrary units such as sequence units, list units, and pair units.
  • ⁇ Coordinate determination method> As described above, in the pairing process, when vertices forming a pair are transformed into one vertex, any method can be used to determine the coordinates of the transformed vertices.
  • the 16th row from the top of the table shown in FIG. may be set at any position among the plurality of vertices that constitute the .
  • another vertex may be moved to one of the positions of the multiple vertices forming the pair.
  • the method of selecting the vertex to which the other vertex should be moved is arbitrary.
  • information indicating the vertex selected as the movement destination may be transmitted from the encoder to the decoder. That is, this information indicates one of the vertices before transformation.
  • the correction unit of the decoder may set the position of a single vertex after conversion based on information indicating one of the plurality of vertices before conversion. That is, the decoder executes the pairing process so as to move another vertex to the position of the vertex specified by the information.
  • the correction unit of the decoder selects the vertices to be moved according to the specification of the encoder, so that the decoder can suppress the change in the coordinates adopted depending on the order of reconstruction.
  • the correction unit of the decoder changes the position of the vertex after conversion into a single vertex to the position of a plurality of vertices before conversion (a pair of vertices). It may be set to the (weighted) average position of the coordinates of each of the vertices that constitute it.
  • the method of determining the coordinates of the overlapping points is arbitrary.
  • the method of selecting the vertex is arbitrary.
  • information indicating the vertex selected as the position of the overlapping point may be transmitted from the encoder to the decoder. That is, this information indicates one of the vertices before transformation.
  • the correcting unit of the decoder may set the position of the overlapping point based on information indicating one of the plurality of vertices before conversion.
  • the correction unit of the decoder executes pairing processing so as to form overlapping points at the positions of the vertices specified by the information.
  • the encoder generates this information based on the mesh in the state before encoding and transmits this information to the decoder, and the decoder sets the overlapping points based on this information. can be done. As a result, the decoder can more easily reproduce the state before the crack occurred.
  • the pair information may be transmitted for all of the vertices (or edges) forming the pair, or may be transmitted for some of the vertices (or edges).
  • the pair information By transmitting the pair information only for some vertices, an increase in the code amount of the pair information can be suppressed. That is, it is possible to suppress reduction in the efficiency of encoding pair information.
  • pair information may be transmitted only for pairs that could not be corrected by other correction methods such as zipper ring.
  • the encoder should have a function of decoding the coded data of the 3D data, identifying locations where correction is not possible by performing zipper ring, etc., and generating pair information for the identified locations. .
  • FIG. 21 is a block diagram showing an example of a configuration of an encoding device that is an embodiment of an information processing device to which the present technology is applied.
  • the encoding device 300 shown in FIG. 21 is a device that extends VPCC and encodes 3D data using Mesh as a video frame by a two-dimensional image encoding method. At that time, the encoding device 300 performs encoding by applying a single method or a combination of multiple methods among the various methods of the present technology described above.
  • FIG. 21 shows the main components such as the processing units and data flow, and what is shown in FIG. 21 is not necessarily all.
  • the encoding apparatus 300 may include processing units not shown as blocks in FIG. 21, or processes and data flows not shown as arrows or the like in FIG.
  • the encoding device 300 includes a mesh voxelization unit 311, a patch generation unit 312, a pair information generation unit 313, a geometry image generation unit 314, an occupancy image generation unit 315, a pair information encoding unit 316, a meta It has an information encoding unit 317 , a 2D encoding unit 318 , a 2D encoding unit 319 , a 2D encoding unit 320 and a multiplexing unit 321 .
  • Geometry image generator 314 and occupancy image generator 315 may be considered image generator 331 in this disclosure.
  • the pair information encoding unit 316, the meta information encoding unit 317, the 2D encoding unit 318, the 2D encoding unit 319, and the 2D encoding unit 320 may be regarded as the encoding unit 332 in this disclosure.
  • the pair information generator 313 may be simply referred to as a generator.
  • the pair information encoding unit 316 may be simply referred to as an encoding unit.
  • Connectivity 351, vertex information 352, UV map 353, and texture 354 are supplied to the encoding device 300 as 3D data using Mesh.
  • the connectivity 351 is the same information as the connectivity 32 (Fig. 2), and indicates each vertex forming a polygon (each vertex connected to each other) for each polygon.
  • the vertex information 352 is information similar to the vertex information 31 (FIG. 2), and indicates the coordinates of each vertex forming the mesh.
  • the UV map 353 is the same information as the UV map 34 (FIG. 2), and indicates the position of each vertex on the texture image.
  • the texture 354 is the same information as the texture image 33 (FIG. 2), and indicates the texture applied to the polygons. That is, the texture 354 is information including texture images.
  • the mesh voxelization unit 311 acquires vertex information 352 supplied to the encoding device 300 .
  • the mesh voxelization unit 311 converts the coordinates of each vertex included in the acquired vertex information 352 into a voxel grid.
  • the mesh voxelization unit 311 supplies the converted voxel grid vertex information 352 to the patch generation unit 312 .
  • the patch generation unit 312 acquires the connectivity 351 and the UV map 353 supplied to the encoding device 300.
  • the patch generation unit 312 also acquires voxel grid vertex information 352 supplied from the mesh voxelization unit 311 .
  • the patch generator 312 generates geometry patches based on the information.
  • the patch generation unit 312 also projects the generated geometric patch onto the projection plane to generate a patch image.
  • the patch generation unit 312 supplies information such as the generated patch image, connectivity 351, vertex information 352, and UV map 353 to the pair information generation unit 313.
  • the patch generation unit 312 also supplies information such as the connectivity 351 and the UV map 353 to the meta information encoding unit 317 as meta information.
  • the patch generation unit 312 supplies the generated patch image to the geometry image generation unit 314 .
  • the patch generation unit 312 also supplies the generated patch image to the occupancy image generation unit 315 .
  • the pair information generation unit 313 acquires information such as the patch image supplied from the patch generation unit 312, the connectivity 351, the vertex information 352, and the UV map 353. Based on the information, the pair information generation unit 313 generates pair information indicating a pair composed of one vertex or a plurality of vertices that were overlapping points in the mesh. This pair information is ⁇ 2. Pair Information Transmission> section (including ⁇ Generation of Pair Information> to ⁇ Application Examples>), etc., may be included. The pair information generation unit 313 generates this pair information as described in the ⁇ Generation of pair information> section and the like.
  • the pair information generating unit 313 divides the mesh representing the three-dimensional structure object into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into a single image. is paired with at least one vertex of the second patch at the same position as the vertex of the first patch in the object before encoding.
  • this pair information may be information indicating only pairs formed by vertices included in the pair information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding. Shows a correspondence relationship between a combination of vertices located at both ends of an edge and a vertex located in the middle of a first edge, and a combination of vertices located at both ends of a second edge and a vertex located in the middle of the second edge. It may contain information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding, and at the time of decoding Information indicating the correspondence relationship between the scanning direction for the first edge and the scanning direction for the second edge at the time of decoding may be included.
  • This pair information may indicate that the plurality of vertices of the first patch and the corresponding plurality of vertices of the second patch are each paired.
  • This pair information may include a parameter indicating the number of vertices that make up the pair.
  • This pair information may include information indicating a group of vertices in the first patch and a group of vertices in the second patch.
  • This pair information may indicate pairs using identification information corresponding to the state of each vertex in the object before encoding.
  • This pair information may indicate pairs based on each coordinate of a plurality of vertices on the two-dimensional plane of the image.
  • This pair information may indicate the relative coordinates of a vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information indicates the relative coordinates of a vertex different from the reference vertex based on the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information is the second patch in a posture corrected state with reference to the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices. , relative coordinates of a vertex different from the reference vertex may be indicated.
  • This pair information indicates the relative coordinates of the vertex that differs from the reference vertex of the pair to be processed, based on the relative coordinates of the vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the multiple vertices of the other pair. You may do so.
  • the pair information generation unit 313 supplies the generated pair information to the pair information encoding unit 316.
  • the image generation unit 331 performs processing related to generation of images (frame images).
  • the geometry image generator 314 acquires patch images supplied from the patch generator 312 .
  • a geometry image generator 314 arranges the patch images on a two-dimensional plane to generate a geometry image.
  • the geometry image generator 314 supplies the 2D encoder 318 as geometry video frames.
  • the occupancy image generation unit 315 acquires patch images supplied from the patch generation unit 312 .
  • the occupancy image generator 315 uses the patch image to generate an occupancy image.
  • the occupancy image generator 315 supplies the generated occupancy image to the 2D encoder 319 .
  • the encoding unit 332 performs processing related to encoding.
  • a pair information encoding unit 316 (encoding unit) acquires pair information supplied from the pair information generation unit 313 .
  • the pair information encoding unit 316 encodes the acquired pair information using a predetermined encoding method to generate encoded data of the pair information. This encoding method is arbitrary.
  • the pair information encoding unit 316 supplies the generated pair information encoded data to the multiplexing unit 321 .
  • the meta information encoding unit 317 acquires the meta information (including the connectivity 351 and the UV map 353) supplied from the patch generation unit 312.
  • the meta information encoding unit 317 encodes the acquired meta information to generate encoded data of the meta information.
  • the meta information encoding unit 317 supplies the generated encoded data of the meta information to the multiplexing unit 321 .
  • the 2D encoding unit 318 acquires the geometry image supplied from the geometry image generation unit 314.
  • the 2D encoding unit 318 encodes the acquired geometry image using a 2D image encoding method to generate encoded data of the geometry image.
  • the 2D encoding unit 318 supplies the generated encoded data of the geometry image to the multiplexing unit 321 .
  • the 2D encoding unit 319 acquires the occupancy image supplied from the occupancy image generation unit 315.
  • the 2D encoding unit 319 encodes the acquired occupancy image using a 2D image encoding method to generate encoded data of the occupancy image.
  • the 2D encoding unit 319 supplies the encoded data of the generated occupancy image to the multiplexing unit 321 .
  • the 2D encoding unit 320 acquires the texture 354 supplied to the encoding device 300.
  • the 2D encoding unit 320 encodes the acquired texture 354 (that is, the texture image) using a 2D image encoding method to generate encoded data of the texture image.
  • the 2D encoding unit 320 supplies the encoded data of the generated texture image to the multiplexing unit 321 .
  • the multiplexing unit 321 acquires encoded data of pair information supplied from the pair information encoding unit 316 . Also, the multiplexing unit 321 acquires encoded data of meta information supplied from the meta information encoding unit 317 . Furthermore, the multiplexing unit 321 acquires encoded data of the geometry image supplied from the 2D encoding unit 318 . Also, the multiplexing unit 321 acquires the encoded data of the occupancy image supplied from the 2D encoding unit 319 . Furthermore, the multiplexing unit 321 acquires encoded data of the texture image supplied from the 2D encoding unit 320 . The multiplexing unit 321 multiplexes the obtained information to generate one bitstream. The multiplexing unit 321 outputs the generated bitstream to the outside of the encoding device 300 .
  • each processing unit may be configured by a logic circuit that implements the above processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), ROM (Read Only Memory), RAM (Random Access Memory), etc., and by executing programs using these, the above processing is realized. You may do so.
  • each processing unit may have both configurations, implement some of the above-described processes by a logic circuit, and implement others by executing a program.
  • the configuration of each processing unit may be independent of each other.
  • another processing unit may implement the above-described processing by executing both a logic circuit and a program.
  • the mesh voxelization unit 311 converts the coordinates of each vertex included in the vertex information 352 into a voxel grid in step S301, thereby converting the mesh into a voxel grid.
  • step S302 the patch generation unit 312 generates patches using the vertex information 352 or the like that has been converted into a voxel grid in step S301, projects the generated patches onto the projection plane, and generates patch images.
  • the pair information generation unit 313 appropriately uses information such as the connectivity 351, the voxel-grid vertex information 352 in step S301, the UV map 353, etc. Generate pair information indicating a pair configured by vertices. This pair information is ⁇ 2. Pair Information Transmission> section (including ⁇ Generation of Pair Information> to ⁇ Application Examples>), etc., may be included. The pair information generation unit 313 generates this pair information as described in the ⁇ Generation of pair information> section and the like.
  • the pair information generating unit 313 divides the mesh representing the three-dimensional structure object into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into a single image. is paired with at least one vertex of the second patch at the same position as the vertex of the first patch in the object before encoding.
  • this pair information may be information indicating only pairs formed by vertices included in the pair information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding. Shows a correspondence relationship between a combination of vertices located at both ends of an edge and a vertex located in the middle of a first edge, and a combination of vertices located at both ends of a second edge and a vertex located in the middle of the second edge. It may contain information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding, and at the time of decoding Information indicating the correspondence relationship between the scanning direction for the first edge and the scanning direction for the second edge at the time of decoding may be included.
  • This pair information may indicate that the plurality of vertices of the first patch and the corresponding plurality of vertices of the second patch are each paired.
  • This pair information may include a parameter indicating the number of vertices that make up the pair.
  • This pair information may include information indicating a group of vertices in the first patch and a group of vertices in the second patch.
  • This pair information may indicate pairs using identification information corresponding to the state of each vertex in the object before encoding.
  • This pair information may indicate pairs based on each coordinate of a plurality of vertices on the two-dimensional plane of the image.
  • This pair information may indicate the relative coordinates of a vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information indicates the relative coordinates of a vertex different from the reference vertex based on the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information is the second patch in a posture corrected state with reference to the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices. , relative coordinates of a vertex different from the reference vertex may be indicated.
  • This pair information indicates the relative coordinates of the vertex that differs from the reference vertex of the pair to be processed, based on the relative coordinates of the vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the multiple vertices of the other pair. You may do so.
  • step S304 the geometry image generation unit 314 generates a geometry image based on the patch image generated in step S302 and the UV map 353.
  • step S305 the occupancy image generator 315 generates an occupancy image corresponding to the geometry image generated in step S304.
  • step S306 the pair information encoding unit 316 (encoding unit) encodes the pair information generated in step S303 using a predetermined encoding method to generate encoded data of pair information.
  • This encoding method is arbitrary.
  • step S307 the meta information encoding unit 317 encodes meta information (connectivity 351, UV map 353, etc.) to generate encoded data of meta information.
  • step S308 the 2D encoding unit 318 encodes the geometry image generated in step S304 to generate encoded data of the geometry image.
  • step S309 the 2D encoding unit 319 encodes the occupancy image generated by the occupancy image generation unit 315 in step S305 to generate encoded data of the occupancy image.
  • step S310 the 2D encoding unit 320 encodes the texture 354 (that is, the texture image) to generate encoded data of the texture image.
  • step S311 the multiplexing unit 321 generates the coded data of the pair information generated in step S306, the coded data of the meta information generated in step S307, the coded data of the geometry image generated in step S308, and the coded data of the geometry image generated in step S308.
  • the coded data of the occupancy image generated in S309 and the coded data of the texture image generated in step S310 are multiplexed to generate one bitstream.
  • the multiplexing unit 321 outputs the generated bitstream to the outside of the encoding device 300 .
  • step S311 When the process of step S311 ends, the encoding process ends.
  • the encoding apparatus 300 has the configuration described above, executes the various processes described above, and transmits the pair information to the decoder. can be suppressed, and pairing processing can be performed between more appropriate vertices. Therefore, the encoding device 300 can suppress deterioration of the quality of 3D data due to encoding and decoding.
  • FIG. 23 is a block diagram showing an example of a configuration of a decoding device which is one aspect of an image processing device to which the present technology is applied.
  • the decoding device 400 shown in FIG. 23 converts encoded data encoded by an encoding method for two-dimensional images into 3D data using a mesh by extending VPCC as a video frame, , and generates (reconstructs) 3D data using mesh.
  • the decoding device 400 applies a single method or a combination of a plurality of methods among the various methods of the present technology described above to decode the encoded data and reconstruct the 3D data. do.
  • FIG. 23 shows main elements such as the processing unit and data flow, and what is shown in FIG. 23 is not necessarily all. That is, decoding device 400 may include processing units not shown as blocks in FIG. 23, or processes and data flows not shown as arrows or the like in FIG.
  • the decoding device 400 includes a demultiplexing unit 411, a pair information decoding unit 412, a meta information decoding unit 413, a 2D decoding unit 414, a 2D decoding unit 415, a 2D decoding unit 416, and a patch reconstruction unit 417. , a vertex information reconstruction unit 418 and a pairing processing unit 419 .
  • the pair information decoding unit 412, the meta information decoding unit 413, the 2D decoding unit 414, the 2D decoding unit 415, and the 2D decoding unit 416 may be regarded as the decoding unit 431 in this disclosure.
  • the pair information decoding unit 412 may be simply referred to as a decoding unit.
  • the pairing processing unit 419 may also be referred to as a correction unit.
  • the demultiplexing unit 411 acquires the bitstream input to the decoding device 400 .
  • This bitstream is, for example, a bitstream generated by the encoding device 300 as described above in the first embodiment, and 3D data using mesh is encoded by extending VPCC. .
  • the demultiplexing unit 411 demultiplexes this bitstream to generate each coded data included in the bitstream. That is, the demultiplexing unit 411 extracts each coded data from the bitstream by the demultiplexing. For example, the demultiplexer 411 extracts encoded data of pair information from the bitstream. Also, the demultiplexer 411 extracts encoded data of meta information from the bitstream. Furthermore, the demultiplexer 411 extracts the coded data of the geometry image from the bitstream. Also, the demultiplexer 411 extracts the encoded data of the occupancy image from the bitstream. Furthermore, the demultiplexer 411 extracts the encoded data of the texture image from the bitstream.
  • the demultiplexing unit 411 supplies the extracted encoded data to the decoding unit 431.
  • the demultiplexer 411 supplies the encoded data of the extracted pair information to the pair information decoder 412 .
  • the demultiplexing unit 411 also supplies the encoded data of the extracted meta information to the meta information decoding unit 413 .
  • the demultiplexing unit 411 supplies the extracted coded data of the geometry image to the 2D decoding unit 414 .
  • the demultiplexing unit 411 also supplies the coded data of the extracted occupancy image to the 2D decoding unit 415 .
  • the demultiplexing unit 411 supplies the encoded data of the extracted texture image to the 2D decoding unit 416 .
  • the decoding unit 431 executes processing related to decoding.
  • the pair information decoding unit 412 acquires encoded data of pair information supplied from the demultiplexing unit 411 .
  • Pair information decoding section 412 decodes the encoded data by a predetermined decoding method to generate pair information. This decoding method is arbitrary as long as it corresponds to the encoding method applied by the pair information encoding unit 316 (FIG. 21) of the encoding device 300 in encoding the pair information.
  • the pair information decoding unit 412 (decoding unit) divides the mesh representing the object of the three-dimensional structure into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into a single image. and at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding. , to get pair information.
  • the pair information decoding unit 412 supplies the generated pair information to the pairing processing unit 419.
  • the meta information decoding unit 413 acquires encoded data of meta information supplied from the demultiplexing unit 411 .
  • the meta information decoding unit 413 decodes the encoded data of the acquired meta information to generate meta information.
  • This meta information includes connectivity 451 and UV map 452 .
  • the meta-information decoding unit 413 outputs the generated connectivity 451 and UV map 452 to the outside of the decoding device 400 as (data constituting) 3D data using the restored mesh.
  • the meta-information decoding unit 413 also supplies the generated connectivity 451 and UV map 452 to the patch reconstruction unit 417 .
  • the 2D decoding unit 414 acquires the coded data of the geometry image supplied from the demultiplexing unit 411 .
  • the 2D decoding unit 414 decodes the acquired coded data of the geometry image using a decoding method for 2D images to generate a geometry image.
  • This decoding method corresponds to the encoding method applied by the 2D encoding unit 318 (FIG. 21) of the encoding device 300 in encoding the geometry image.
  • the 2D decoding unit 414 supplies the generated geometry image to the patch reconstruction unit 417 .
  • the 2D decoding unit 415 acquires encoded data of the occupancy image supplied from the demultiplexing unit 411 .
  • the 2D decoding unit 415 decodes the obtained encoded data of the occupancy image using a 2D image decoding method to generate an occupancy image.
  • This decoding scheme corresponds to the encoding scheme applied by the 2D encoding unit 319 (FIG. 21) of the encoding device 300 in encoding the occupancy image.
  • the 2D decoding unit 415 supplies the generated occupancy image to the patch reconstruction unit 417 .
  • the 2D decoding unit 416 acquires the encoded data of the texture image supplied from the demultiplexing unit 411.
  • the 2D decoding unit 416 decodes the acquired coded data of the texture image using a 2D image decoding method to generate a texture image (texture 454).
  • This decoding method corresponds to the encoding method applied by the 2D encoding unit 320 (FIG. 21) of the encoding device 300 in encoding the texture image.
  • the 2D decoding unit 416 outputs the generated texture image (texture 454) to the outside of the decoding device 400 as (data constituting) 3D data using the restored mesh.
  • the patch reconstruction unit 417 acquires meta information (connectivity 451, UV map 452, etc.) supplied from the meta information decoding unit 413. Also, the patch reconstruction unit 417 acquires the geometry image supplied from the 2D decoding unit 414 . Furthermore, the patch reconstruction unit 417 acquires the occupancy image supplied from the 2D decoding unit 415 . The patch reconstruction unit 417 extracts patch images from the geometry image using the occupancy image and meta information, and reconstructs patches corresponding to the extracted patch images. The patch reconstruction unit 417 supplies the reconstructed patches and used meta information (connectivity 451 and UV map 452 etc.) to the vertex information reconstruction unit 418 .
  • the vertex information reconstruction unit 418 acquires patches and meta information supplied from the patch reconstruction unit 417 .
  • the vertex information reconstruction unit 418 reconstructs vertices included in the area of the patch from the obtained patch, and generates vertex information 453 .
  • the vertex information reconstruction unit 418 outputs the generated vertex information 453 to the outside of the decoding device 400 as (data constituting) 3D data using the restored mesh. Also, the vertex information reconstruction unit 418 supplies the generated vertex information 453 and meta information (connectivity 451 and UV map 452 etc.) to the pairing processing unit 419 .
  • the pairing processing unit 419 acquires pair information supplied from the pair information decoding unit 412 .
  • This pair information is information transmitted from the encoding device 300, and ⁇ 2.
  • Pair Information Transmission> section (including ⁇ Generation of Pair Information> to ⁇ Application Examples>), etc., may be included.
  • this pair information may be information indicating only pairs formed by vertices included in the pair information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding. Shows a correspondence relationship between a combination of vertices located at both ends of an edge and a vertex located in the middle of a first edge, and a combination of vertices located at both ends of a second edge and a vertex located in the middle of the second edge. It may contain information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding, and at the time of decoding Information indicating the correspondence relationship between the scanning direction for the first edge and the scanning direction for the second edge at the time of decoding may be included.
  • This pair information may indicate that the plurality of vertices of the first patch and the corresponding plurality of vertices of the second patch are each paired.
  • This pair information may include a parameter indicating the number of vertices that make up the pair.
  • This pair information may include information indicating a group of vertices in the first patch and a group of vertices in the second patch.
  • This pair information may indicate pairs using identification information corresponding to the state of each vertex in the object before encoding.
  • This pair information may indicate pairs based on each coordinate of a plurality of vertices on the two-dimensional plane of the image.
  • This pair information may indicate the relative coordinates of a vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information indicates the relative coordinates of a vertex different from the reference vertex based on the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information is the second patch in a posture corrected state with reference to the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices. , relative coordinates of a vertex different from the reference vertex may be indicated.
  • This pair information indicates the relative coordinates of the vertex that differs from the reference vertex of the pair to be processed, based on the relative coordinates of the vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the multiple vertices of the other pair. You may do so.
  • the pairing processing unit 419 acquires the vertex information 453 and meta information supplied from the vertex information reconstruction unit 418 .
  • the pairing processing unit 419 performs pairing processing of the vertices included in the vertex information 453 based on the pair information.
  • the pairing processing unit 419 executes the pairing processing as described in the sections such as ⁇ vertex interpolation>, ⁇ pairing processing>, ⁇ coordinate determination method>, and ⁇ application example>.
  • the pairing processing unit 419 corrects the reconstructed mesh based on the pair information.
  • the pairing processing unit 419 selects one of the vertices of the first patch and the vertices of the second patch indicated by the pair information as a pair in the reconstructed mesh.
  • a vertex may be deleted and the connection of the deleted vertex may be converted to the connection of the other vertex.
  • the pairing processing unit 419 selects one of the vertices of the first patch and the vertices of the second patch indicated by the pair information that they are paired in the reconstructed mesh. may be moved to the position of the other vertex.
  • the pairing processing unit 419 (correction unit) forms a polygon including the vertices of the first patch and the vertices of the second patch, which are indicated by the pair information as being paired, in the reconstructed mesh.
  • the pairing processing unit 419 may interpolate vertices that form a pair and are not included in the pair information.
  • the pairing processing unit 419 outputs the updated vertex information 453 to the outside of the decoding device 400 as (data constituting) 3D data using the restored mesh.
  • each processing unit may be configured by a logic circuit that implements the above processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and may implement the above-described processing by executing a program using them.
  • each processing unit may have both configurations, implement some of the above-described processes by a logic circuit, and implement others by executing a program.
  • the configuration of each processing unit may be independent of each other.
  • another processing unit may implement the above-described processing by executing both the logic circuit and the program.
  • the demultiplexing unit 411 demultiplexes the bitstream input to the decoding device 400 in step S401.
  • the demultiplexing unit 411 extracts the encoded data of the pair information from the bitstream.
  • the demultiplexer 411 extracts encoded data of meta information from the bitstream.
  • the demultiplexer 411 extracts the coded data of the geometry image from the bitstream.
  • the demultiplexer 411 extracts the encoded data of the occupancy image from the bitstream.
  • the demultiplexer 411 extracts the encoded data of the texture image from the bitstream.
  • step S402 the pair information decoding unit 412 decodes the encoded data of the pair information extracted from the bitstream in step S401 using a predetermined decoding method to generate (restore) pair information.
  • This pair information is information transmitted from the encoding device 300, and ⁇ 2.
  • Pair Information Transmission> section including ⁇ Generation of Pair Information> to ⁇ Application Examples>), etc., may be included.
  • the pair information decoding unit 412 (decoding unit) divides a mesh representing a three-dimensional structure object into patches to create a plurality of patches generated from a single vertex of the mesh or a plurality of vertices at the same position. Encoded data of pair information indicating a pair formed by vertices is decoded to obtain the pair information.
  • this pair information may be information indicating only pairs formed by vertices included in the pair information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding. Shows a correspondence relationship between a combination of vertices located at both ends of an edge and a vertex located in the middle of a first edge, and a combination of vertices located at both ends of a second edge and a vertex located in the middle of the second edge. It may contain information.
  • This pair information is related to the first edge of the first patch and the second edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding, and at the time of decoding Information indicating the correspondence relationship between the scanning direction for the first edge and the scanning direction for the second edge at the time of decoding may be included.
  • This pair information may indicate that the plurality of vertices of the first patch and the corresponding plurality of vertices of the second patch are each paired.
  • This pair information may include a parameter indicating the number of vertices that make up the pair.
  • This pair information may include information indicating a group of vertices in the first patch and a group of vertices in the second patch.
  • This pair information may indicate pairs using identification information corresponding to the state of each vertex in the object before encoding.
  • This pair information may indicate pairs based on each coordinate of a plurality of vertices on the two-dimensional plane of the image.
  • This pair information may indicate the relative coordinates of a vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information indicates the relative coordinates of a vertex different from the reference vertex based on the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices.
  • This pair information is the second patch in a posture corrected state with reference to the position of the relative vector between the first patch and the second patch with reference to the coordinates of the reference vertex among the plurality of vertices. , relative coordinates of a vertex different from the reference vertex may be indicated.
  • This pair information indicates the relative coordinates of the vertex that differs from the reference vertex of the pair to be processed, based on the relative coordinates of the vertex that differs from the reference vertex with respect to the coordinates of the reference vertex among the multiple vertices of the other pair. You may do so.
  • the decoding method applied in this process is arbitrary as long as it corresponds to the encoding method applied in step S306 (FIG. 22) of the encoding process.
  • step S403 the meta information decoding unit 413 decodes the encoded data of the meta information extracted from the bitstream in step S401 to generate (restore) meta information.
  • This meta information includes connectivity 451 and UV map 452 .
  • step S404 the 2D decoding unit 414 decodes the coded data of the geometry image extracted from the bitstream in step S401 to generate (restore) the geometry image.
  • step S405 the 2D decoding unit 415 decodes the encoded data of the occupancy image extracted from the bitstream in step S401 to generate (restore) the occupancy image.
  • step S406 the 2D decoding unit 416 decodes the coded data of the texture image extracted from the bitstream in step S401 to generate (restore) the texture image (texture 454).
  • step S407 the patch reconstruction unit 417 extracts a patch image from the geometry image generated in step S404 using the meta information (connectivity 451, UV map 452, etc.) generated in step S402, and extracts the patch image. Reconfigure the corresponding patch.
  • step S408 the vertex information reconstruction unit 418 reconstructs the vertices included in the area of the patch from the patch reconstructed in step S407, and generates vertex information 453.
  • step S409 the pairing processing unit 419 performs pairing processing of the vertices included in the vertex information 453 based on the pair information generated (restored) in step S402. At that time, the pairing processing unit 419 executes the pairing processing as described in the sections such as ⁇ vertex interpolation>, ⁇ pairing processing>, ⁇ coordinate determination method>, and ⁇ application example>.
  • the pairing processing unit 419 corrects the reconstructed mesh based on the pair information.
  • the pairing processing unit 419 selects one of the vertices of the first patch and the vertices of the second patch indicated by the pair information as a pair in the reconstructed mesh.
  • a vertex may be deleted and the connection of the deleted vertex may be converted to the connection of the other vertex.
  • the pairing processing unit 419 selects one of the vertices of the first patch and the vertices of the second patch indicated by the pair information that they are paired in the reconstructed mesh. may be moved to the position of the other vertex.
  • the pairing processing unit 419 (correction unit) forms a polygon including the vertices of the first patch and the vertices of the second patch, which are indicated by the pair information as being paired, in the reconstructed mesh.
  • the pairing processing unit 419 may interpolate vertices that form a pair and are not included in the pair information.
  • the vertex information 453 is updated as appropriate.
  • step S409 ends, the decoding process ends.
  • the decoding device 400 has the configuration described above, and executes the pairing processing based on the pair information transmitted from the encoding device 300 by executing the various processes described above. As a result, the decoding device 400 can more reliably suppress the occurrence of cracks and perform pairing processing between more appropriate vertices. Therefore, the decoding device 400 can suppress deterioration in quality of 3D data due to encoding and decoding.
  • the coordinates of the vertices before encoding (also referred to as correct coordinates) are converted to may be the coordinates of the vertices of That is, in the pairing process, the vertices moved by encoding and decoding may be returned to their original positions.
  • the intersection of the straight lines in the projection direction passing through each vertex is the coordinate of that vertex before encoding (correct coordinate).
  • a vertex 512 of a patch 511 and a vertex 514 of a patch 513 form a pair, and the projection direction of the patch 511 (that is, the normal direction of the projection plane of the patch 511) and the It is assumed that the projection directions (that is, the normal direction of the projection surface of the patch 513) are different from each other.
  • the decoding device can obtain the correct coordinates from the geometry patch.
  • the correcting unit of the decoding device sets the vertex of the first patch and the second patch forming the pair. , may be moved to the intersection of the normal of the first patch and the normal of the second patch.
  • the decoding device cannot obtain the correct coordinates from the patch of geometry.
  • a vertex 512 of a patch 511 and a vertex 514 of a patch 513 form a pair, and the projection direction of the patch 511 (that is, the normal direction of the projection plane of the patch 511) and the Assume that the projection directions (that is, the normal direction of the projection surface of the patch 513) are the same (forward or reverse).
  • the normal to the projection plane of the patch 511 passing through the vertex 512 and the normal to the projection plane of the patch 513 passing through the vertex 514 are both the normal 516. ) cannot be requested.
  • the pairing process may be performed using the average of the coordinates of the vertices as the correct coordinates. That is, when the normal direction of the first patch and the normal direction of the second patch match, the correcting unit of the decoding device corrects the vertex of the first patch and the vertex of the second patch that form a pair. , may be moved to the position of the weighted average of the respective positions. For example, in the case of FIG.
  • the components of the correct coordinates in the projection plane direction are the same as the vertices 512 and 514, and the components in the direction of the normal line 516 of the correct coordinates are the average of the coordinates of the vertex 512 and the coordinates of the vertex 514. becomes.
  • the coordinates before encoding (correct coordinates) for each pair are transmitted from the encoding device to the decoding device as pair information. It may be transmitted. That is, the pair information may include information indicating the destination positions when the vertices forming the pair are moved to the same positions in the pairing process. In that case, the encoding device stores the correct coordinates for each pair in the pair information. Then, in the pairing process, the decoding device moves each vertex forming a pair to the correct coordinates included in the pair information.
  • the correction unit of the decoding device sets the vertex of the first patch and the vertex of the second patch that form a pair.
  • the vertex may be moved to the position indicated by the pair information.
  • the decoder can more reliably suppress the occurrence of cracks and perform pairing processing between more appropriate vertices. That is, it is possible to suppress deterioration of the quality of 3D data due to encoding and decoding.
  • the pairing process is performed in a three-dimensional space (that is, the three-dimensional coordinates of each vertex forming a pair are corrected). That is, in this case, for example, as shown in FIG. 27, after 2D decoding 531 of geometry is performed and 3D data reconstruction 532 is performed, pairing processing 533 is performed on 3D data in 3D space. For example, as shown in FIG. 27, assume that a vertex 542 of a polygon 541 and a vertex 545 of a polygon 544 form a pair, and a vertex 543 of a polygon 541 and a vertex 546 of a polygon 544 form a pair.
  • the pairing process converts the three-dimensional coordinates (x4, y4, z4) of the vertex 545 into the three-dimensional coordinates (x2, y2, z2) of the vertex 542 . Also, the three-dimensional coordinates (x6, y6, z6) of the vertex 546 are transformed into the three-dimensional coordinates (x3, y3, z3) of the vertex 543.
  • the pairing process is not limited to this example, and may be performed on a two-dimensional plane, for example.
  • pairing processing 552 may be performed on a two-dimensional plane, and then 3D data reconstruction 553 may be performed.
  • This two-dimensional plane may be, for example, a geometry image (depth image) or a two-dimensional plane (xyz image) on a three-dimensional space.
  • the pixel value p corresponding to each vertex forming a pair on the two-dimensional plane is updated. For example, as shown in FIG.
  • a vertex corresponding to a pixel 561 and a vertex corresponding to a pixel 563 on a two-dimensional plane 560 form a pair
  • a vertex corresponding to a pixel 562 and a vertex corresponding to a pixel 564 form a pair.
  • the vertex corresponding to the pixel 563 is moved to the three-dimensional position of the vertex corresponding to the pixel 561
  • the vertex corresponding to the pixel 564 is moved to the three-dimensional position of the vertex corresponding to the pixel 562. do.
  • the pixel value (p4) of the pixel 563 is updated to the same pixel value (p2) as the pixel 561 by the pairing process on the two-dimensional plane.
  • the pixel value (p6) of pixel 564 is updated to the same pixel value as pixel 562 (p3).
  • this two-dimensional plane is a geometry image (depth image)
  • the pixel values indicate depth values (coordinates in the normal direction of patches in three-dimensional space).
  • this two-dimensional plane is an xyz image
  • the pixel values indicate (x, y, z) coordinates.
  • the correction unit of the decoding device moves the vertices of the first patch and the vertices of the second patch that form a pair to the same positions in the geometry image generated by decoding the encoded data
  • the patch construction unit may reconstruct patches using the geometry image corrected by the correction unit
  • the vertex reconstruction unit may reconstruct vertices using the reconstructed patches.
  • the method of determining the post-correction vertex positions (correct coordinates) when the pairing process is performed on the two-dimensional plane is the same as in the case of the pairing process in the three-dimensional space. For example, if the projection directions of the vertices forming a pair are the same, the decoding device derives the correct coordinates (average or the like) using the pixel values of the vertices, and moves each vertex to the correct coordinates. may Also, the decoding device may move the vertex using the correct coordinates stored in the pair information, as described above.
  • the decoding device derives the three-dimensional coordinates of each vertex, and uses the three-dimensional coordinates to obtain the correct coordinates (three-dimensional coordinates).
  • the pixel values corresponding to each vertex in the two-dimensional plane may be updated such that the vertex moves to its three-dimensional coordinates.
  • the decoder can more reliably suppress the occurrence of cracks and perform pairing processing between more appropriate vertices. That is, it is possible to suppress deterioration of the quality of 3D data due to encoding and decoding.
  • FIG. 29 is a block diagram showing another example of the configuration of the encoding device as one embodiment of the information processing device to which the present technology is applied.
  • FIG. 29 shows the main components such as the processing unit and data flow, and the components shown in FIG. 29 are not necessarily all.
  • encoding apparatus 600 may include processing units not shown as blocks in FIG. 29, or processes and data flows not shown as arrows or the like in FIG.
  • the encoding device 600 includes a mesh voxelization unit 611, a patch generation unit 612, a meta information encoding unit 613, an image generation unit 614, a 2D encoding unit 615, a 2D decoding unit 616, and pair information generation. It has a unit 617 , a pair information encoding unit 618 , a pairing processing unit 619 , an image generation unit 620 , a 2D encoding unit 621 and a multiplexing unit 622 .
  • the connectivity 351, vertex information 352, UV map 353, and texture 354 are supplied to the encoding device 600 as 3D data using Mesh.
  • the mesh voxelization unit 611 is a processing unit similar to the mesh voxelization unit 311 and executes processing similar to that of the mesh voxelization unit 311 .
  • the mesh voxelization unit 611 acquires vertex information 352 supplied to the encoding device 600 .
  • the mesh voxelization unit 611 converts the coordinates of each vertex included in the acquired vertex information 352 into a voxel grid.
  • the mesh voxelization unit 611 supplies the converted voxel grid vertex information 352 to the patch generation unit 612 .
  • the patch generation unit 612 is a processing unit similar to the patch generation unit 312 and executes processing similar to that of the patch generation unit 312 .
  • the patch generator 612 acquires the connectivity 351 supplied to the encoding device 600 .
  • the patch generation unit 612 also acquires the voxel grid vertex information 352 supplied from the mesh voxelization unit 611 .
  • the patch generator 612 generates geometry patches based on the information.
  • the patch generation unit 612 also projects the generated geometric patch onto the projection plane to generate a patch image.
  • the patch generation unit 612 supplies information such as connectivity 351 and vertex information 352 to the meta information encoding unit 613 as meta information.
  • the patch generation unit 612 also supplies the generated patch image to the image generation unit 614 and the image generation unit 620 .
  • the meta-information encoding unit 613 is a processing unit similar to the meta-information encoding unit 317, and executes processing similar to that of the meta-information encoding unit 317.
  • the meta-information encoding unit 613 acquires the meta-information (including the connectivity 351, the vertex information 352, etc.) supplied from the patch generation unit 612.
  • the meta information encoding unit 613 encodes the acquired meta information to generate encoded data of the meta information.
  • the meta information encoding unit 613 supplies the generated encoded data of the meta information to the multiplexing unit 622 .
  • the image generation unit 614 acquires patch images supplied from the patch generation unit 612 .
  • the image generator 614 arranges the patch images on a two-dimensional plane to generate a geometry image.
  • the image generator 614 supplies the generated geometry image to the 2D encoder 615 as a geometry video frame. Also, the image generator 614 generates an occupancy image corresponding to the geometry image.
  • the image generator 614 supplies the generated occupancy image to the 2D encoder 615 .
  • the 2D encoding unit 615 acquires geometry images and occupancy images supplied from the image generation unit 614 .
  • the 2D encoding unit 615 encodes the obtained geometry image using a 2D image encoding method to generate encoded data of the geometry image.
  • the 2D encoding unit 615 can also be said to be a geometry encoding unit that encodes the geometry image and generates encoded data of the geometry image.
  • the 2D encoding unit 615 supplies the generated encoded data of the geometry image to the 2D decoding unit 616 and the multiplexing unit 622 .
  • the 2D encoding unit 615 encodes the obtained occupancy image using a 2D image encoding method to generate encoded data of the occupancy image.
  • the 2D encoding unit 615 supplies the encoded data of the generated occupancy image to the multiplexing unit 622 .
  • the 2D decoding unit 616 acquires encoded data of the geometry image supplied from the 2D encoding unit 615 .
  • the 2D decoding unit 616 decodes the acquired coded data of the geometry image using a decoding method for 2D images to generate (restore) the geometry image.
  • the 2D decoding unit 616 can also be said to be a geometry decoding unit that decodes the encoded data of the geometry image and generates the geometry image.
  • the 2D decoding unit 616 supplies the generated geometry image to the pair information generation unit 617 .
  • the pair information generation unit 617 acquires the geometry image supplied from the 2D decoding unit 616. Moreover, the pair information generation unit 617 may acquire information such as the connectivity 351, the vertex information 352, and the UV map 353 as necessary. Based on the information, the pair information generation unit 617 generates pair information indicating a pair composed of one vertex or a plurality of vertices that were overlapping points in the mesh. That is, the pair information generation unit 617 divides the mesh representing the three-dimensional structure object into at least a first patch and a second patch, arranges them in a single image, and arranges at least one of the first patches.
  • Pair information is generated indicating that the two vertices are paired with at least one vertex of a second patch at the same position as the vertex of the first patch in the object before encoding. Then, the pair information generation unit 617 generates the pair information based on the geometry image generated by the geometry decoding unit. This pair information is ⁇ 2. Transmission of Pair Information>, ⁇ 5. Derivation of Correct Coordinates> and ⁇ 6. Two-Dimensional Pairing Processing>, etc. may be included. The pair information generator 617 supplies the generated pair information to the pair information encoder 618 . Also, the pair information generation unit 617 supplies the generated pair information and the acquired information (geometry image, meta information, etc.) to the pairing processing unit 619 .
  • the pair information encoding unit 618 acquires the pair information supplied from the pair information generation unit 617.
  • the pair information encoding unit 618 encodes the acquired pair information using a predetermined encoding method to generate encoded data of the pair information. This encoding method is arbitrary.
  • the pair information encoding unit 618 supplies the generated pair information encoded data to the multiplexing unit 622 .
  • the pairing processing unit 619 acquires pair information, geometry images, meta information, etc. supplied from the pair information generation unit 617 .
  • the pairing processing unit 619 performs pairing processing on patches included in the geometry image based on the acquired pair information.
  • the pairing processing unit 619 performs ⁇ 2. Transmission of Pair Information>, ⁇ 5. Derivation of Correct Coordinates> and ⁇ 6. Two-Dimensional Pairing Processing>, the pairing process is executed.
  • the pairing processing unit 619 may perform this pairing processing in a two-dimensional plane or in a three-dimensional space.
  • the pairing processing unit 619 performs pairing processing after reconstructing 3D data using a geometry image, and uses the 3D data after the pairing processing to generate a geometry image. to generate
  • the pairing processing unit 619 supplies the geometry image after pairing processing to the image generation unit 620 .
  • the image generator 620 acquires the UV map 353 and the texture 354 input to the encoding device 600. Also, the image generator 620 acquires the patch image supplied from the patch generator 612 . Furthermore, the image generation unit 620 acquires the geometry image after the pairing processing supplied from the pairing processing unit 619 . The image generator 620 updates the texture 354 using the acquired patch image, geometry image, UV map 353, etc., and generates a texture image corresponding to the geometry image after pairing processing. The image generation unit 620 may also update the UV map 353 as necessary. The image generator 620 supplies the generated texture image to the 2D encoder 621 .
  • the 2D encoding unit 621 acquires the texture image supplied from the image generation unit 620.
  • the 2D encoding unit 621 encodes the acquired texture image using a 2D image encoding method to generate encoded data of the texture image.
  • the 2D encoding unit 621 supplies the encoded data of the generated texture image to the multiplexing unit 622 .
  • the multiplexing unit 321 acquires encoded data of meta information supplied from the meta information encoding unit 613 . Furthermore, the multiplexing unit 622 acquires the encoded data of the geometry image and the encoded data of the occupancy image supplied from the 2D encoding unit 615 . Furthermore, the multiplexing unit 622 acquires encoded data of the pair information supplied from the pair information encoding unit 618 . Also, the multiplexing unit 622 acquires the encoded data of the texture image supplied from the 2D encoding unit 621 . The multiplexing unit 622 multiplexes the obtained information to generate one bitstream. The multiplexing unit 622 outputs the generated bitstream to the outside of the encoding device 600 .
  • the encoding device 600 enables the decoder to more reliably suppress the occurrence of cracks and perform pairing processing between more appropriate vertices. In other words, the encoding device 600 can suppress deterioration in the quality of 3D data due to encoding and decoding.
  • each processing unit may be configured by a logic circuit that implements the above processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), ROM (Read Only Memory), RAM (Random Access Memory), etc., and by executing programs using these, the above processing is realized. You may do so.
  • each processing unit may have both configurations, implement some of the above-described processes by a logic circuit, and implement others by executing a program.
  • the configuration of each processing unit may be independent of each other. , and another processing unit may implement the above-described processing by executing both the logic circuit and the program.
  • the mesh voxelization unit 611 converts the coordinates of each vertex included in the vertex information 352 into a voxel grid in step S601, thereby converting the mesh into a voxel grid.
  • step S602 the patch generation unit 612 generates patches using the vertex information 352 or the like that has been voxel-gridded in step S601, projects the generated patches onto the projection plane, and generates patch images.
  • step S603 the meta information encoding unit 613 encodes meta information (connectivity 351, UV map 353, etc.) to generate encoded data of meta information.
  • step S604 the image generation unit 614 generates a geometry image and an occupancy image based on the patch image generated in step S602 and the UV map 353.
  • step S605 the 2D encoding unit 615 encodes the geometry image generated in step S604 to generate coded data of the geometry image.
  • the 2D encoding unit 615 also encodes the occupancy image generated in step S604 to generate encoded data of the occupancy image.
  • step S606 the 2D decoding unit 616 decodes the encoded data of the geometry image generated in step S605 to generate a geometry image.
  • step S607 the pair information generation unit 617 uses the geometry image and meta information generated in step S606 to generate pair information indicating a pair formed by one vertex or multiple vertices that were overlapping points in the mesh. to generate This pair information is ⁇ 2. Transmission of Pair Information>, ⁇ 5. Derivation of Correct Coordinates> and ⁇ 6. Two-Dimensional Pairing Processing>, etc. may be included.
  • step S608 the pair information encoding unit 618 encodes the pair information generated in step S607 using a predetermined encoding method to generate encoded data of pair information.
  • This encoding method is arbitrary.
  • step S609 the pairing processing unit 619 performs pairing processing on the geometry image generated in step S606 based on the pair information generated in step S607. At that time, the pairing processing unit 619 performs ⁇ 2. Transmission of Pair Information>, ⁇ 5. Derivation of Correct Coordinates> and ⁇ 6. Two-Dimensional Pairing Processing>, the pairing process is executed.
  • step S610 the image generation unit 620 updates the texture 354 using the patch image generated in step S602 and the geometry image after pairing processing generated in step S609 to generate a texture image.
  • step S611 the 2D encoding unit 621 encodes the texture image generated in step S610 to generate encoded data of the texture image.
  • step S612 the multiplexing unit 622 extracts the coded data of the meta information generated in step S603, the coded data of the geometry image and the coded data of the occupancy image generated in step S605, and the pair generated in step S608.
  • the coded data of the information and the coded data of the texture image generated in step S611 are multiplexed to generate a bitstream.
  • the encoding device 600 can ensure that the decoder suppresses the occurrence of cracks and performs the pairing process between more appropriate vertices. In other words, the encoding device 600 can suppress deterioration in the quality of 3D data due to encoding and decoding.
  • FIG. 31 is a block diagram showing an example of a configuration of a decoding device which is one aspect of an image processing device to which the present technology is applied.
  • This is a device that decodes encoded data using a decoding method for two-dimensional images and generates (reconstructs) 3D data using meshes.
  • the decoding device 700 applies a single method or a combination of a plurality of methods among the various methods of the present technology described above to decode the encoded data and reconstruct the 3D data. do. However, the decoding device 700 performs pairing processing on a two-dimensional plane.
  • FIG. 31 shows main elements such as the processing unit and data flow, and what is shown in FIG. 31 is not necessarily all. That is, decoding device 700 may include processing units not shown as blocks in FIG. 31, or processes and data flows not shown as arrows or the like in FIG.
  • the decoding device 700 includes a demultiplexing unit 711, a pair information decoding unit 712, a meta information decoding unit 713, a 2D decoding unit 714, a pairing processing unit 715, a patch reconstruction unit 716, and a vertex information reconstruction unit. It has a configuration unit 717 and a 2D decoding unit 718 .
  • the demultiplexing unit 711 acquires the bitstream input to the decoding device 700 .
  • This bitstream is a bitstream generated by, for example, the encoding device 300 or the encoding device 600 as described above in the first embodiment, and the 3D data using the mesh is encoded by extending the VPCC. It is what was done.
  • the demultiplexing unit 711 demultiplexes this bitstream to generate each coded data included in the bitstream. That is, the demultiplexing unit 711 extracts each coded data from the bitstream by the demultiplexing. For example, the demultiplexer 711 extracts encoded data of pair information from the bitstream. Also, the demultiplexer 711 extracts encoded data of meta information from the bitstream. Furthermore, the demultiplexer 711 extracts the coded data of the geometry image from the bitstream. Also, the demultiplexer 711 extracts the encoded data of the occupancy image from the bitstream. Furthermore, the demultiplexer 711 extracts the coded data of the texture image from the bitstream. In other words, the demultiplexer 711 can also be said to be an acquisition unit that acquires these encoded data from the bitstream.
  • the demultiplexing unit 711 supplies the encoded data of the extracted pair information to the pair information decoding unit 712 .
  • the demultiplexing unit 711 also supplies the encoded data of the extracted meta information to the meta information decoding unit 713 .
  • the demultiplexing unit 711 supplies the extracted encoded data of the geometry image and the extracted encoded data of the occupancy image to the 2D decoding unit 714 .
  • the demultiplexing unit 711 also supplies the encoded data of the extracted texture image to the 2D decoding unit 718 .
  • the pair information decoding unit 712 acquires encoded data of pair information supplied from the demultiplexing unit 711 .
  • Pair information decoding section 712 decodes the encoded data by a predetermined decoding method to generate pair information. This decoding method is arbitrary as long as it corresponds to the encoding method applied by the encoding device 300 or the encoding device 600 in encoding the pair information.
  • the pair information decoding unit 712 divides the mesh representing the object of the three-dimensional structure into at least a first patch and a second patch, arranges them in a single image, and divides the mesh into at least one patch of the first patch. decoding the encoded data of the pair information indicating that the vertex and at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object before encoding are paired; obtain. The pair information decoding unit 712 supplies the generated pair information to the pairing processing unit 715 .
  • the meta information decoding unit 713 acquires encoded data of meta information supplied from the demultiplexing unit 711 .
  • the meta information decoding unit 713 decodes the encoded data of the acquired meta information to generate meta information.
  • This meta information includes connectivity 451 and UV map 452 .
  • the meta-information decoding unit 713 outputs the generated connectivity 451 and UV map 452 to the outside of the decoding device 700 as (data constituting) 3D data using the restored mesh.
  • the meta information decoding unit 713 also supplies the generated connectivity 451 and UV map 452 to the patch reconstruction unit 716 .
  • the 2D decoding unit 714 acquires the coded data of the geometry image and the coded data of the occupancy image supplied from the demultiplexing unit 711 .
  • the 2D decoding unit 714 decodes the obtained coded data of the geometry image using a 2D image decoding method to generate a geometry image.
  • the 2D decoding unit 714 decodes the obtained encoded data of the occupancy image using a decoding method for 2D images to generate an occupancy image.
  • These decoding methods correspond to the encoding methods applied by the encoding device 300 and the encoding device 600 in encoding the geometry image.
  • the 2D decoding unit 714 supplies the generated geometry image and occupancy image to the pairing processing unit 715 .
  • the pairing processing unit 715 acquires pair information supplied from the pair information decoding unit 712 .
  • This pair information is, for example, information transmitted from the encoding device 300 or the encoding device 600. ⁇ 2. Transmission of pair information>, ⁇ 5. Derivation of Correct Coordinates>, ⁇ 6. Two-Dimensional Pairing Processing>, etc., may include the information described above.
  • the pairing processing unit 715 acquires the geometry image and the occupancy image supplied from the 2D decoding unit 714 .
  • the pairing processing unit 715 performs pairing processing on the patches included in the geometry image based on the acquired pair information. In other words, the pairing processing unit 715 can also be said to be a correction unit that corrects the geometry of the vertices forming the pair based on the pair information.
  • the pairing processing unit 715 executes pairing processing on a two-dimensional plane (for example, a geometry image), as described in ⁇ 6. Two-dimensional pairing processing>.
  • the pairing processing unit 715 supplies the geometry image, the occupancy image, etc. after the pairing processing to the patch reconstruction unit 716 .
  • the patch reconstruction unit 716 acquires meta information (connectivity 451, UV map 452, etc.) supplied from the meta information decoding unit 713. Also, the patch reconstruction unit 716 acquires the geometry image and the occupancy image after pairing processing supplied from the pairing processing unit 715 . The patch reconstruction unit 716 extracts patch images from the geometry image using the occupancy image and meta information, and reconstructs patches corresponding to the extracted patch images. The patch reconstruction unit 716 supplies the reconstructed patches and used meta information (connectivity 451 and UV map 452, etc.) to the vertex information reconstruction unit 717.
  • the vertex information reconstruction unit 717 acquires patches and meta information supplied from the patch reconstruction unit 716 .
  • the vertex information reconstruction unit 717 reconstructs vertices included in the area of the patch from the acquired patch, and generates vertex information 453 .
  • the vertex information reconstruction unit 717 can also be said to be a vertex reconstruction unit that reconstructs vertices using the reconstructed patches.
  • the vertex information reconstruction unit 717 outputs the generated vertex information 453 to the outside of the decoding device 700 as (data constituting) 3D data using the restored mesh.
  • the 2D decoding unit 718 acquires encoded data of texture images supplied from the demultiplexing unit 711 .
  • the 2D decoding unit 718 decodes the acquired encoded data of the texture image using a decoding method for 2D images to generate a texture image (texture 454).
  • This decoding method corresponds to the encoding method applied by the encoding device 300 or the encoding device 600 in encoding the texture image.
  • the 2D decoding unit 718 outputs the generated texture image (texture 454) to the outside of the decoding device 700 as (data constituting) 3D data using the restored mesh.
  • the decoding device 700 can more reliably suppress the occurrence of cracks and perform pairing processing between more appropriate vertices. In other words, the decoding device 700 can suppress deterioration in the quality of 3D data due to encoding and decoding.
  • each processing unit may be configured by a logic circuit that implements the above processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and may implement the above-described processing by executing a program using them.
  • each processing unit may have both configurations, implement some of the above-described processes by a logic circuit, and implement others by executing a program.
  • the configuration of each processing unit may be independent of each other.
  • another processing unit may implement the above-described processing by executing both the logic circuit and the program.
  • the demultiplexing unit 711 demultiplexes the bitstream input to the decoding device 700 in step S701. Through this demultiplexing, the demultiplexing unit 711 extracts (obtains) encoded data of pair information from the bitstream. The demultiplexer 711 also extracts (obtains) encoded data of meta information from the bitstream. Further, the demultiplexer 711 extracts (obtains) encoded data of the geometry image from the bitstream. The demultiplexer 711 also extracts (obtains) encoded data of the occupancy image from the bitstream. Further, the demultiplexing unit 711 extracts (acquires) the encoded data of the texture image from the bitstream.
  • step S702 the pair information decoding unit 712 decodes the encoded data of the pair information extracted from the bitstream in step S701 using a predetermined decoding method to generate (restore) pair information.
  • This pair information is information transmitted from the encoding device 300, the encoding device 600, etc. ⁇ 2. Transmission of pair information>, ⁇ 5. Derivation of Correct Coordinates>, ⁇ 6. Two-Dimensional Pairing Processing>, etc., may include the information described above.
  • the pair information decoding unit 712 divides a mesh representing a three-dimensional structure object into patches, and consists of a plurality of vertices of a patch generated from a single vertex of the mesh or a plurality of vertices at the same position. decode the encoded data of the pair information indicating the pair to obtain the pair information.
  • step S703 the meta information decoding unit 713 decodes the encoded data of the meta information extracted from the bitstream in step S701 to generate (restore) meta information.
  • This meta information includes connectivity 451 and UV map 452 .
  • step S704 the 2D decoding unit 714 decodes the coded data of the geometry image extracted from the bitstream in step S701 to generate (restore) the geometry image. Also, the 2D decoding unit 714 decodes the encoded data of the occupancy image extracted from the bitstream in step S701 to generate (restore) the occupancy image.
  • step S705 the pairing processing unit 715 performs pairing processing of the vertices included in the vertex information 453 based on the pair information generated (restored) in step S702. At that time, the pairing processing unit 715 performs pairing processing on a two-dimensional plane (for example, a geometry image), as described in ⁇ 6. Two-dimensional pairing processing>.
  • step S706 the patch reconstruction unit 716 extracts patch images from the geometry image generated in step S704 using the meta information (connectivity 451, UV map 452, etc.) generated in step S702, and Reconstruct patches corresponding to the patch image.
  • step S707 the vertex information reconstruction unit 717 reconstructs the vertices included in the area of the patch from the patch reconstructed in step S706, and generates vertex information 453.
  • step S708 the 2D decoding unit 718 decodes the coded data of the texture image extracted from the bitstream in step S701 to generate (restore) the texture image (texture 454).
  • the decoding device 700 can more reliably suppress the occurrence of cracks and perform the pairing process between more appropriate vertices. In other words, the decoding device 700 can suppress deterioration in the quality of 3D data due to encoding and decoding.
  • V3C Video Volumetric Video-based Coding
  • MIV metadata immersive video
  • the series of processes described above can be executed by hardware or by software.
  • a program that constitutes the software is installed in the computer.
  • the computer includes, for example, a computer built into dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 33 is a block diagram showing an example of the hardware configuration of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 910 is also connected to the bus 904 .
  • An input unit 911 , an output unit 912 , a storage unit 913 , a communication unit 914 and a drive 915 are connected to the input/output interface 910 .
  • the input unit 911 consists of, for example, a keyboard, mouse, microphone, touch panel, input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 is composed of, for example, a hard disk, a RAM disk, a nonvolatile memory, or the like.
  • the communication unit 914 is composed of, for example, a network interface.
  • Drive 915 drives removable media 921 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory.
  • the CPU 901 loads, for example, a program stored in the storage unit 913 into the RAM 903 via the input/output interface 910 and the bus 904, and executes the above-described series of programs. is processed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • a program executed by a computer can be applied by being recorded on removable media 921 such as package media, for example.
  • the program can be installed in the storage unit 913 via the input/output interface 910 by loading the removable medium 921 into the drive 915 .
  • This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913 .
  • this program can be installed in the ROM 902 or the storage unit 913 in advance.
  • This technology can be applied to any configuration.
  • the present technology can be applied to various electronic devices.
  • the present technology includes a processor (e.g., video processor) as a system LSI (Large Scale Integration), etc., a module (e.g., video module) using a plurality of processors, etc., a unit (e.g., video unit) using a plurality of modules, etc.
  • a processor e.g., video processor
  • LSI Large Scale Integration
  • module e.g., video module
  • a unit e.g., video unit
  • it can be implemented as a part of the configuration of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • the present technology can also be applied to a network system configured by a plurality of devices.
  • the present technology may be implemented as cloud computing in which a plurality of devices share and jointly process via a network.
  • this technology is implemented in cloud services that provide image (moving image) services to arbitrary terminals such as computers, AV (Audio Visual) equipment, portable information processing terminals, and IoT (Internet of Things) devices. You may make it
  • a system means a set of multiple components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules in one housing, are both systems. .
  • Systems, devices, processing units, etc. to which this technology is applied can be used in any field, such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, and nature monitoring. . Moreover, its use is arbitrary.
  • “flag” is information for identifying a plurality of states, not only information used for identifying two states of true (1) or false (0), Information that can identify the state is also included. Therefore, the value that this "flag” can take may be, for example, two values of 1/0, or three or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or multiple bits.
  • the identification information (including the flag) is assumed not only to include the identification information in the bitstream, but also to include the difference information of the identification information with respect to certain reference information in the bitstream.
  • the "flag” and “identification information” include not only that information but also difference information with respect to reference information.
  • various types of information (metadata, etc.) related to the encoded data may be transmitted or recorded in any form as long as they are associated with the encoded data.
  • the term "associating" means, for example, making it possible to use (link) data of one side while processing the other data. That is, the data associated with each other may be collected as one piece of data, or may be individual pieces of data.
  • information associated with coded data (image) may be transmitted on a transmission path different from that of the coded data (image).
  • the information associated with the encoded data (image) may be recorded on a different recording medium (or another recording area of the same recording medium) than the encoded data (image). good.
  • this "association" may be a part of the data instead of the entire data. For example, an image and information corresponding to the image may be associated with each other in arbitrary units such as multiple frames, one frame, or a portion within a frame.
  • a configuration described as one device may be divided and configured as a plurality of devices (or processing units).
  • the configuration described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) as long as the configuration and operation of the system as a whole are substantially the same. .
  • the above-described program may be executed on any device.
  • the device should have the necessary functions (functional blocks, etc.) and be able to obtain the necessary information.
  • each step of one flowchart may be executed by one device, or may be executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared by a plurality of devices.
  • a plurality of processes included in one step can also be executed as processes of a plurality of steps.
  • the processing described as multiple steps can also be collectively executed as one step.
  • a computer-executed program may be configured such that the processing of the steps described in the program is executed in chronological order according to the order described in this specification, in parallel, or when calls are executed. It may also be executed individually at necessary timings such as when it is interrupted. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the order described above. Furthermore, the processing of the steps describing this program may be executed in parallel with the processing of other programs, or may be executed in combination with the processing of other programs.
  • the present technology can also take the following configuration. (1) dividing a mesh representing an object with a three-dimensional structure into at least a first patch and a second patch and arranging them in a single image; a generation unit that generates pair information indicating that at least one vertex of the second patch at the same position as the vertex of the first patch in the object is paired; An information processing apparatus comprising: an encoding unit that encodes the pair information. (2) The information processing apparatus according to (1), wherein the pair information is information indicating only the pair formed by the vertices included in the pair information. (3) The information processing apparatus according to (1), wherein the pair information also indicates the pair formed by the vertices not indicated by the pair information.
  • the pair information is the first edge of the first patch and the edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding.
  • the second edge a combination of the vertices located at both ends of the first edge and the vertices located in the middle of the first edge, and the combination of the vertices located at both ends of the second edge and the second edge.
  • the information processing device according to (3), further including information indicating a correspondence relationship between the combinations of the vertices positioned between the two edges.
  • the pair information includes the first edge of the first patch and the edge of the second patch respectively corresponding to the boundary between the first patch and the second patch in the object before encoding.
  • the information processing according to (3) or (4) including information indicating a correspondence relationship between a scanning direction for the first edge at the time of decoding and a scanning direction for the second edge at the time of decoding, regarding the second edge.
  • the pair information indicates that the plurality of vertices of the first patch and the corresponding plurality of vertices of the second patch are each paired; The information processing device described.
  • the pair information includes information indicating a group of the vertices of the first patch and a group of the vertices of the second patch. 1.
  • the information processing device according to claim 1.
  • the information processing apparatus indicates the pair using identification information corresponding to the state of each of the vertices in the object before encoding.
  • the identification information is identification information for identifying each vertex among the vertices included in the mesh.
  • the identification information is identification information for identifying each vertex among the vertices included in the patch.
  • the pair information further includes identification information of the patch.
  • the pair information includes identification information of the patch for each pair.
  • the information processing apparatus includes identification information of the patch for each of the plurality of pairs.
  • the identification information is identification information for identifying each vertex among the vertices located on the boundary of the patch.
  • the encoding unit further encodes the list of vertices located on the boundary of the patch.
  • the pair information indicates the pair using an absolute value of the identification information.
  • the pair information indicates the pair using a relative value of the identification information from the identification information of the other vertex.
  • the information processing apparatus indicates the pair based on each coordinate of the plurality of vertices on the two-dimensional plane of the image.
  • the pair information indicates the pair using the coordinates of each vertex that constitutes the pair.
  • the information processing apparatus indicates relative coordinates of the vertex that is different from the reference vertex with respect to the coordinates of the reference vertex among the plurality of vertices.
  • the pair information is different from the reference vertex based on the position of the relative vector between the first patch and the second patch based on the coordinates of the reference vertex among the plurality of vertices.
  • the information processing device according to any one of (19) to (21), which indicates relative coordinates of the vertex.
  • the pair information is based on the position of the relative vector between the first patch and the second patch with respect to the coordinates of the reference vertex among the plurality of vertices, and the posture is corrected.
  • the information processing apparatus according to any one of (19) to (22), which indicates relative coordinates of the vertex that is different from the reference vertex in the second patch in the folded state.
  • the pair information is the reference vertex of the pair to be processed, based on the relative coordinates of the vertex different from the reference vertex of the plurality of vertices of the other pair, with reference to the coordinates of the reference vertex.
  • the information processing apparatus according to any one of (19) to (23), which indicates relative coordinates of the vertex that are different from. (25) dividing a mesh representing an object of three-dimensional structure into at least a first patch and a second patch and arranging them in a single image; generating pair information indicating that at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object of is a pair; An information processing method for encoding the generated pair information.
  • An information processing apparatus comprising: a correction unit that corrects the reconstructed mesh based on the pair information.
  • the correcting unit in the reconstructed mesh, selects one of the vertices of the first patch and the vertices of the second patch indicated by the pair information to be the pair. is deleted, and the deleted vertex connection is converted to the other vertex connection.
  • the information processing apparatus (32), wherein the correction unit sets the position of the single vertex to any one of the plurality of vertices.
  • the correction unit sets the position of the single vertex based on information indicating one of the plurality of vertices.
  • the information processing apparatus according to any one of (32) to (34), wherein the correction unit sets the position of the single vertex to an average of the positions of the plurality of vertices.
  • the correcting unit selects one of the vertices of the first patch and the vertices of the second patch indicated by the pair information to be the pair. to the position of the other vertex. (31) to (35).
  • a geometry encoding unit that encodes a geometry image in which the patches of the geometry of the mesh are arranged and generates encoded data of the geometry image; a geometry decoding unit that decodes encoded data of the geometry image to generate the geometry image;
  • the information processing device according to (51) or (52), wherein the pair information generation unit generates the pair information based on the geometry image generated by the geometry decoding unit.
  • dividing a mesh representing an object of three-dimensional structure into at least a first patch and a second patch and placing them in a single image; generating pair information indicating that at least one vertex of the second patch at the same position as the position of the vertex of the first patch in the object of is a pair; An information processing method that encodes the pair information.
  • An information processing apparatus comprising: a correction unit that corrects the geometry of vertices that form the pair based on the pair information. (62) When the normal direction of the first patch and the normal direction of the second patch do not match, the correcting unit corrects the vertices of the first patch and the second patch forming the pair.
  • the information processing device wherein a vertex of a patch is moved to an intersection of a normal of the first patch and a normal of the second patch. (63) When the normal direction of the first patch and the normal direction of the second patch match, the correcting unit corrects the vertex of the first patch and the second patch forming the pair.
  • the information processing device according to (61) or (62), wherein the vertices of the patch are moved to the weighted average positions of the respective positions. (64)
  • the correction unit moves the patch to the position indicated by the pair information (61) to (63).
  • the information processing device according to any one of .
  • the correction unit moves the vertices of the first patch and the vertices of the second patch, which form the pair, to the same positions in the geometry image generated by decoding the encoded data.
  • a patch reconstruction unit that reconstructs a patch using the geometry image corrected by the correction unit;
  • the information processing apparatus according to any one of (61) to (64), further comprising: a vertex reconstruction unit that reconstructs vertices using the reconstructed patches.

Landscapes

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

Abstract

本開示は、符号化および復号による3Dデータの品質の低減を抑制することができるようにする情報処理装置および方法に関する。 3次元構造のオブジェクトを表現するメッシュをパッチに分割することによりそのメッシュの単数の頂点または互いに同位置の複数の頂点から生成されるパッチの複数の頂点により構成されるペアを示すペア情報を生成し、その生成したペア情報を符号化する。本開示は、例えば、情報処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、符号化および復号による3Dデータの品質の低減を抑制することができるようにした情報処理装置および方法に関する。
 従来、3次元形状のオブジェクトを表現する3Dデータとして、Meshがあった。このMeshの圧縮方法として、VPCC(Video-based Point Cloud Compression)を拡張してMeshを圧縮する方法が提案された(例えば、非特許文献1参照)。
 しかしながら、この手法では、符号化および復号によってパッチ境界の頂点(vertex)に歪がのることにより、オブジェクト(3Dデータ)にクラック(裂け目)が発生し、見た目の劣化につながるおそれがあった。そこで、3Dで近隣の境界頂点をサーチし、頂点座標を移動することによりクラックを補正するジッパーリング(Zippering)というアルゴリズムが提案された(例えば非特許文献2参照)。
Danillo Graziosi, Alexandre Zaghetto, Ali Tabatabai, "[VPCC] [EE2.6-related] Mesh Patch Data", ISO/IEC JTC 1/SC 29/WG 7 m 55368, October 2020 Danillo Graziosi, Alexandre Zaghetto, Ali Tabatabai, " [VPCC] [EE2.6-related] Mesh Geometry Smoothing Filter", ISO/IEC JTC 1/SC 29/WG 7 m 55374, October 2020
 しかしながらジッパーリングでは、クラックの補正が適切に行われずに3Dデータの品質が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、符号化および復号による3Dデータの品質の低減を抑制することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成する生成部と、前記ペア情報を符号化する符号化部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成し、生成された前記ペア情報を符号化する情報処理方法である。
 本技術の他の側面の情報処理装置は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、前記ペア情報を得る復号部と、再構成された前記メッシュを、前記ペア情報に基づいて補正する補正部とを備える情報処理装置である。
 本技術の他の側面の情報処理方法は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、再構成された前記メッシュを、前記符号化データを復号して得られた前記ペア情報に基づいて補正する情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、その第1のパッチの少なくとも1つの頂点と符号化前のオブジェクトにおいて第1のパッチの頂点の位置と同位置にある第2のパッチの少なくとも1つの頂点がペアを示すペア情報が生成され、その生成されたペア情報が符号化される。
 本技術の他の側面の情報処理装置および方法においては、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データが復号され、再構成されたメッシュが、その符号化データを復号して得られたペア情報に基づいて補正される。
ビデオベースドアプローチについて説明する図である。 Meshについて説明する図である。 VPCCとMeshのデータの構成の違いを説明する図である。 ジッパーリングについて説明する図である。 ペア情報の伝送について説明する図である。 ペア情報の伝送について説明する図である。 ペア情報について説明する図である。 ペア情報の生成について説明する図である。 伝送順序の例について説明する図である。 ペア情報の内容例について説明する図である。 ペア情報の内容例について説明する図である。 ペア情報の内容例について説明する図である。 ペア情報の構成例について説明する図である。 ペア情報の構成例について説明する図である。 ペア情報の構成例について説明する図である。 頂点補間の例について説明する図である。 頂点補間の例について説明する図である。 メッシュの補正の例について説明する図である。 メッシュの補正の例について説明する図である。 メッシュの補正の例について説明する図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 正解座標の導出例について説明する図である。 正解座標の導出例について説明する図である。 ペアリング処理の例について説明する図である。 ペアリング処理の例について説明する図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.VPCC拡張でのMesh圧縮
 2.ペア情報の伝送
 3.第1の実施の形態(符号化装置)
 4.第2の実施の形態(復号装置)
 5.正解座標の導出
 6.2次元によるペアリング処理
 7.第3の実施の形態(符号化装置)
 8.第4の実施の形態(復号装置)
 9.付記
 <1.VPCC拡張でのMesh圧縮>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
"Information technology - Coded Representation of Immersive Media - Part 5: Visual Volumetric Video-based Coding (V3C) and Video-based Point Cloud Compression (V-PCC)", ISO/IEC 23090-5:2020(E),ISO/IEC JTC 1/SC 29/WG 11 w19579
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、点の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)等の3Dデータが存在した。
 例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合として表現する。ポイントクラウドは、各点の位置情報(ジオメトリとも称する)と属性情報(アトリビュートとも称する)とにより構成される。アトリビュートは任意の情報を含むことができる。例えば、各ポイントの色情報、反射率情報、法線情報等がアトリビュートに含まれるようにしてもよい。このようにポイントクラウドは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
  <VPCC>
 VPCC(Video-based Point Cloud Compression)は、このようなポイントクラウドの符号化技術の1つであり、3次元構造を表す3Dデータであるポイントクラウドデータを、2次元画像用のコーデックを用いて符号化する。
 VPCCでは、ポイントクラウドのジオメトリおよびアトリビュートが、それぞれ小領域(パッチとも称する)に分解され、そのパッチ毎に2次元平面である投影面に投影される。例えば、ジオメトリおよびアトリビュートは、オブジェクトを内包するバウンディングボックスの6面のいずれかに投影される。この投影面に投影されたジオメトリやアトリビュートを投影画像とも称する。また、投影面に投影されたパッチをパッチ画像とも称する。
 例えば、図1のAに示される3次元構造のオブジェクトを示すポイントクラウド1のジオメトリが、図1のBに示されるようなパッチ2に分解され、そのパッチ毎に投影面に投影される。つまり、ジオメトリのパッチ画像(パッチ毎の投影画像)が生成される。ジオメトリのパッチ画像の各画素値は、投影面からポイントまでの距離(デプス値(Depth))を示す。
 ポイントクラウド1のアトリビュートもジオメトリと同様にパッチ2に分解され、そのパッチ毎にジオメトリと同一の投影面に投影される。つまり、ジオメトリのパッチ画像と同サイズかつ同形状のアトリビュートのパッチ画像が生成される。アトリビュートのパッチ画像の各画素値は、対応するジオメトリのパッチ画像の同位置のポイントのアトリビュート(色、法線ベクトル、反射率等)を示す。
 そして、このように生成された各パッチ画像がビデオシーケンスのフレーム画像(ビデオフレームとも称する)内に配置される。つまり、投影面上の各パッチ画像が所定の2次元平面に配置される。
 例えば、ジオメトリのパッチ画像が配置されたフレーム画像をジオメトリビデオフレーム(Geometry video frame)とも称する。また、このジオメトリビデオフレームのことを、ジオメトリ画像やジオメトリマップ等とも称する。図1のCに示されるジオメトリ画像11は、ジオメトリのパッチ画像3が配置されたフレーム画像(ジオメトリビデオフレーム)である。このパッチ画像3は、図1のBのパッチ2に対応する(ジオメトリのパッチ2が投影面に投影されたものである)。
 また、アトリビュートのパッチ画像が配置されたフレーム画像をアトリビュートビデオフレーム(Attribute video frame)とも称する。また、このアトリビュートビデオフレームのことを、アトリビュート画像やアトリビュートマップとも称する。図1のDに示されるアトリビュート画像12は、アトリビュートのパッチ画像4が配置されたフレーム画像(アトリビュートビデオフレーム)である。このパッチ画像4は、図1のBのパッチ2に対応する(アトリビュートのパッチ2が投影面に投影されたものである)。
 そして、これらのビデオフレームが、例えばAVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった2次元画像用の符号化方法で符号化される。つまり、3次元構造を表す3Dデータであるポイントクラウドデータを、2次元画像用のコーデックを用いて符号化することができる。一般的に3Dデータのエンコーダよりも2Dデータのエンコーダの方が普及しており安価に実現することができる。すなわち、上述のようにビデオベースドアプローチを適用することにより、コストの増大を抑制することができる。
 なお、このようなビデオベースドアプローチの場合、オキュパンシー画像(オキュパンシーマップとも称する)を用いることもできる。オキュパンシー画像は、ジオメトリビデオフレームやアトリビュートビデオフレームのNxN画素毎に、投影画像(パッチ画像)の有無を示すマップ情報である。例えば、オキュパンシー画像は、ジオメトリ画像やアトリビュート画像における、パッチ画像が存在する領域(NxN画素)を値「1」で示し、パッチ画像が存在しない領域(NxN画素)を値「0」で示す。
 このようなオキュパンシー画像が、ジオメトリ画像やアトリビュート画像とは別のデータとして符号化され、復号側に伝送される。デコーダは、このオキュパンシーマップを参照することにより、パッチが存在する領域であるか否かを把握することができるので、符号化・復号により生じるノイズ等の影響を抑制することができ、より正確にポイントクラウドを再構築することができる。例えば、符号化・復号によりデプス値が変化しても、デコーダは、オキュパンシーマップを参照することにより、パッチ画像が存在しない領域のデプス値を無視する(3Dデータの位置情報として処理しないようにする)ことができる。
 例えば、図1のCのジオメトリ画像11や図1のDのアトリビュート画像12に対して、図1のEに示されるようなオキュパンシー画像13を生成してもよい。オキュパンシー画像13において、白の部分が値「1」を示し、黒の部分が値「0」を示している。
 なお、このオキュパンシー画像も、ジオメトリビデオフレームやアトリビュートビデオフレーム等と同様に、ビデオフレームとして伝送することができる。すなわち、ジオメトリやアトリビュートと同様、AVCやHEVC等といった2次元画像用の符号化方法で符号化される。
 つまり、VPCCの場合、ポイントクラウドのジオメトリとアトリビュートは、互いに同一の投影面に投影され、フレーム画像の同一の位置に配置される。つまり、各ポイントのジオメトリとアトリビュートがそのフレーム画像上の位置によって互いに対応付けられている。
  <Mesh>
 ところで、3次元構造のオブジェクトを表現する3Dデータとして、ポイントクラウドの他に、例えばメッシュ(Mesh)が存在した。メッシュは、図2に示されるように、頂点21同士を結ぶ辺22によって囲まれる平面(多角形)であるポリゴンによって3次元空間のオブジェクトの表面を表現する。そのオブジェクトを表現する3Dデータとしては、図2に示されるように、このメッシュと、各ポリゴンに張り付けられるテクスチャ23とを含む。
 メッシュを用いた3Dデータは、例えば、図2の下段に示されるように、各頂点21の位置情報(3次元座標(X,Y,Z))からなる頂点情報31、各ポリゴンを構成する頂点21と辺22を示すコネクティビティ32、各ポリゴンに張り付けられるテクスチャ23のマップ情報であるテクスチャ画像33、並びに、各頂点21に対応するテクスチャのテクスチャ画像33における位置(つまり、テクスチャ画像33における各頂点21の位置)を示すUVマップ34により構成される。UVマップ34は、各頂点の位置を、テクスチャ画像33上の座標であるUV座標により示す。
 メッシュを用いた3Dデータの場合、上述したVPCCの場合と異なり、UVマップ34により各頂点21とテクスチャ23との対応関係が示される。したがって、図2の例のように、テクスチャ画像33は、各頂点の3次元座標により構成される頂点情報31とは独立したマップ情報として構成される。そのため、テクスチャ画像33において、各ポリゴンのテクスチャ23は、その投影方向や解像度を任意に設定することができる。
  <VPCCを利用したMeshの圧縮>
 このようなメッシュを用いた3Dデータの圧縮方法として、例えば非特許文献1等において、上述したVPCCを拡張してメッシュを用いた3Dデータを圧縮(符号化)する方法が提案された。
 しかしながら、この手法では、符号化および復号によってパッチ境界の頂点(vertex)に歪がのることにより、オブジェクト(3Dデータ)にクラック(裂け目)が発生し、見た目の劣化につながるおそれがあった。
 メッシュでは、図3のAに示されるように、頂点のジオメトリ(頂点の位置)は頂点情報として非画像として示される。したがって、例えば、ポリゴン41とポリゴン42が共有する頂点43は、1つの点として表現される。これに対して、テクスチャはテクスチャ画像44に配置される。つまり、ポリゴン41に張り付けられるテクスチャ45と、ポリゴン42に張り付けられるテクスチャ46は、それぞれ独立にテクスチャ画像44に配置される。したがって、例えば図3のAに示される例のように、テクスチャ45とテクスチャ46とを互いに離れた位置に配置することもできる。つまりこの場合、頂点43は、テクスチャ画像44において頂点47および頂点48の2つの点として表現される。ただし、上述のようにジオメトリにおいては、1つの点として表現されるので、メッシュを再構成する際には、頂点47のテクスチャと頂点48のテクスチャは、頂点43(互いに同一の位置)に張り付けられる。仮に符号化により頂点43に歪が生じても、頂点43の位置がずれるのみであり、頂点47のテクスチャと頂点48のテクスチャは、互いに同一の位置に張り付けられる。
 これに対して、VPCCでは、図3のBに示されるように、テクスチャの場合と同様に、ジオメトリもジオメトリ画像51として表現される。つまり、VPCCを拡張してメッシュを用いた3Dデータを圧縮(符号化)した場合、3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置される。したがって、ポリゴン41はポリゴン52として、ポリゴン42はポリゴン54として、それぞれ独立にジオメトリ画像51に配置される。より正確には、各ポリゴンを構成する各頂点がそれぞれのポリゴンを形成するようにジオメトリ画像51に配置される。したがって、例えば図3のBに示される例のように、ポリゴン52とポリゴン54とを互いに離れた位置に配置することもできる。
 つまり、メッシュにおいて複数のポリゴンが共有する頂点は、ジオメトリ画像においては、それぞれのポリゴンを構成する頂点として配置されるため、複数の点として配置され得る。例えば、図3のBの例の場合、ジオメトリ画像51において、ポリゴン52の頂点53と、ポリゴン54の頂点55は、どちらもメッシュの頂点43(1つの頂点)に対応する。
 このように、メッシュにおいて1つであった頂点が、ジオメトリ画像において複数の頂点として表現され得る。また、メッシュにおいて互いに同一の位置に存在した複数の頂点(重複点とも称する)が、ジオメトリ画像において互いに異なる位置に配置されることもありうる。
 このような頂点のジオメトリに符号化歪が生じる(位置ずれが生じる)と、メッシュを再構成する際に、元々1つであったジオメトリの各頂点が互いに異なる位置の頂点となり、オブジェクト(メッシュ)にクラック(裂け目)が生じるおそれがあった。つまり、メッシュを用いた3Dデータの品質が低減するおそれがあった。
  <Zippering>
 そこで、例えば、非特許文献2に記載されているような、ジッパーリング(Zippering)というアルゴリズムが提案された。ジッパーリングでは、3Dで近隣の境界頂点がサーチされ、処理対象の頂点が移動されて、サーチした点と一致させられる(マッチングとも称する)。クラックが発生した部分の各頂点座標をこのように補正することによりクラックが消去される。
 しかしながら、この手法の場合、設定されたサーチ範囲においてマッチ点が見つからない場合、点同士のマッチングが行われない。したがって、この手法ではクラックが消去されない場合があった。
 例えば、図4のAに示されるパッチ61とパッチ62との間でクラックが発生するとする。図中白丸で示される頂点63は、パッチ61またはパッチ62の境界上の頂点である。図4においては、1つの頂点のみに符号を付している。パッチ61の頂点63が配置されている境界と、パッチ62の頂点63が配置されている境界は、符号化前の状態において互いに接していたとする。そして、パッチ61の頂点A1と、パッチ62の頂点B1とが、符号化前の状態において1つの頂点であったとする。同様に、頂点A2および頂点B2、頂点A3および頂点B3、頂点A4および頂点B4、頂点A5および頂点B5がそれぞれ符号化前の状態において1つの頂点であったとする。
 なお、本明細書においてパッチの境界とは、パッチに含まれる領域とパッチに含まれない領域との境界を示す。例えばパッチの外形を構成するポリゴンの辺(接続)を境界と称する。
 ジッパーリングのサーチにより例えば、頂点B2に対応するパッチ61の頂点63が見つからなかった場合、頂点B2は他の頂点とマッチングされない。つまり、頂点B2のジオメトリは、補正されずそのままとなる。したがって、図4のBに示されるように、クラックが発生する(クラックが消去されない)おそれがあった。
 また、この手法の場合、適切でない点とマッチする可能性があった。ジッパーリングでは、一方向(パッチの法線方向)に対応点がサーチされるため、元々同じ点であった点以外の点とマッチするおそれがあった。
 例えば図4のAの場合、頂点B3が頂点A4にマッチングされ、頂点B4が頂点A5にマッチングされる。そのため、図4のBに示されるように、パッチ61のテクスチャとパッチ62のテクスチャとが不連続になる(つまり、符号化前の状態において存在したテクスチャの連続性が失われる)おそれがあった。
 以上のように、ジッパーリングを適用した場合、クラックの補正が適切に行われずに3Dデータの品質が低減するおそれがあった。
 付言するに、ジッパーリングではマッチする点のサーチが行われるため、処理の負荷が増大するおそれがあった。
 <2.ペア情報の伝送>
 そこで、メッシュを再構成する際に互いに同一の位置の頂点とするパッチの頂点のペアを示すペア情報をエンコーダからデコーダに伝送するようにする。つまり、図5の表の最上段に示されるように、ペア情報を伝送する(例えばエンコーダがペア情報を生成して符号化し、デコーダがその符号化データを復号して利用する)ようにする。
 例えば、情報処理方法において、情報処理装置の生成部が、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、第1のパッチの少なくとも1つの頂点と符号化前のオブジェクトにおいて第1のパッチの頂点の位置と同位置にある第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成し、情報処理装置の符号化部が、そのペア情報を符号化するようにする。
 例えば、情報処理装置が、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成する生成部と、そのペア情報を符号化する符号化部とを備えるようにする。
 例えば、情報処理方法において、情報処理装置の復号部が、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、情報処理装置の補正部が、再構成されたメッシュを、その符号化データを復号して得られたペア情報に基づいて補正するようにする。
 例えば、情報処理装置において、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、そのペア情報を得る復号部と、再構成されたメッシュを、そのペア情報に基づいて補正する補正部とを備えるようにする。
 例えば、図7のAに示されるポリゴン101およびポリゴン102が、白丸で示される頂点103により構成されるとする。なお、図7のAおよび図7のBにおいては、1つの頂点のみに符号を付してある。各頂点103の近傍に示す数字は、各頂点103の識別情報であるとする。
 符号化前の状態においては、ポリゴン110およびポリゴン102が、互いに接していたとする。つまり、符号化前の状態においては、識別情報「3」の頂点103と識別情報「6」の頂点103とが1つの頂点103であり、識別情報「2」の頂点103と識別情報「4」の頂点103とが1つの頂点であったとする。VPCCを拡張してメッシュを符号化することにより、ポリゴン101およびポリゴン102がジオメトリ画像に互いに独立に配置されるため、各ポリゴンの各頂点103には互いに異なる識別情報が付与されている。
 このような場合において、エンコーダが、識別情報「3」の頂点103および識別情報「6」の頂点103、識別情報「2」の頂点103および識別情報「4」の頂点103を、それぞれペアとして表現するペア情報を生成する。デコーダは、ペア情報に従って頂点103のマッチングを行う。つまり、デコーダは、そのペア情報において、符号化前の状態において1つの頂点103であった頂点103同士を1つの頂点とするように、再構成されたメッシュにおける各頂点103の位置を補正する。
 例えば、デコーダは、図7のBに示されるように、識別情報「3」の頂点103と識別情報「6」の頂点103とをマッチングさせ、識別情報「2」の頂点103と識別情報「4」の頂点103とをマッチングさせる。これにより、ポリゴン101とポリゴン102とを接するようになる(符号化前と同一の状態になる)。したがって、クラックの発生を抑制することができる。
 どの頂点同士をマッチングさせるかはペア情報により示される(エンコーダから伝送される)ので、デコーダは、ジッパーリングの場合に比べて、より確実かつより正確に頂点をマッチングさせることができる。つまり、より確実にクラックを消去することができ、より適切な頂点とマッチングさせることができる(テクスチャの不連続の発生を抑制することができる)。したがって、符号化および復号による3Dデータの品質の低減を抑制することができる。また、サーチ処理が不要であるので、処理の負荷の増大を抑制することができる。
 なお、本明細書において「ペア」とは、メッシュの単数の頂点から生成されるパッチの複数の頂点により構成される「組み」(「対」や「グループ」とも表現し得る)を示す。つまり、ペアを構成する各頂点は、メッシュにおいて互いに同一の頂点に対応する。換言するに、このペアを示す「ペア情報」は、複数のパッチの頂点同士の対応関係(どの頂点とどの頂点とが対応するか)を示す情報である。なお、ペアは、3つ以上の頂点により構成されてもよい。つまり、メッシュの1つの頂点が3以上のパッチに分けられてもよい。
 また、このようなペア情報に基づいて頂点をマッチングさせる処理をペアリング処理とも称する。
 なお、以上においては、メッシュにおける1つの頂点が複数のパッチに分けられる例を説明したが、ペアを構成する各頂点がメッシュにおける「重複点」に対応してもよい。つまり、メッシュにおいて互いに同一の位置の複数の頂点が互いに異なるパッチに分けられることにより、ペアを形成してもよい。
 また、以上においてはペアが頂点により構成されるように説明したが、頂点の代わりに「エッジ」により構成されるようにしてもよい。隣接するポリゴンは、頂点だけでなく「辺」(頂点同士を結ぶ「接続」)も共有する。1対のパッチが共有する、連続する辺や頂点の「組み」を「エッジ」とも称する。つまり、ペアが、複数のエッジにより構成される「組み」を示してもよい。換言するに、ペア情報が、複数のパッチのエッジ同士の対応関係を示す情報であってもよい。
  <ペア情報の生成>
 次に、ペア情報の生成の仕方について説明する。図5に示される表の上から3段目に示されるように、メッシュをパッチに分割する際に分けられた各頂点(またはエッジ)がペアとされる。このメッシュをパッチに分割する処理をパッチセグメンテーションとも称する。パッチセグメンテーションにおいては、メッシュの互いに隣接するポリゴン(三角形)同士を繋げることにより、パッチが生成される。隣接するポリゴンの情報は、コネクティビティから得られる。隣接するポリゴン同士が互いに異なるパッチになった場合、それらのポリゴンが共有するエッジ(頂点や辺)が複数に分けられる(各頂点が複数のUV座標を有するようになる)。この複数のUV座標のそれぞれに位置する頂点が、ペアとされる。
 例えば図8のAにおいて、白丸がメッシュ111の頂点を示すとする。この白丸で示される頂点を頂点113と称する。なお、図8のAにおいては、1つの白丸にのみ符号が付してあるが、白丸は全て頂点113である。また、各頂点113の近傍の数字は各頂点113に割り当てられた識別情報を模式的に表したものである。つまり、5つの頂点113のそれぞれには、識別情報「1」乃至識別情報「5」が割り当てられている。また、頂点113同士を結ぶ接続(ポリゴンの辺)を辺112と称する。なお、図8のAにおいては、1つの接続にのみ符号が付してあるが、頂点113の間を結ぶ接続はすべて辺112である。なおその他の頂点は図示を省略している。
 パッチセグメンテーションにより、このメッシュ111が図8のBに示されるように辺112で分割され、パッチ111Aとパッチ111Bとに分けられるとする。この処理により、辺112および頂点113は、それぞれ2つに分割される。このようにパッチ111A側に分けられた頂点113を頂点113Aと称する。また、パッチ111B側に分けられた頂点113を頂点113Bと称する。なお、図8のBにおいては、パッチ111Aの白丸の内の1つにのみ符号が付してあるが、パッチ111Aの白丸は全て頂点113Aである。同様に、パッチ111Bの白丸の内の1つにのみ符号が付してあるが、パッチ111Bの白丸は全て頂点113Bである。
 つまり、識別情報「1」の頂点113は、識別情報「A1」の頂点113Aと識別情報「B1」の頂点113Bとに分けられる。同様に、識別情報「2」の頂点113は、識別情報「A2」の頂点113Aと識別情報「B2」の頂点113Bとに分けられる。識別情報「3」の頂点113は、識別情報「A3」の頂点113Aと識別情報「B3」の頂点113Bとに分けられる。識別情報「4」の頂点113は、識別情報「A4」の頂点113Aと識別情報「B4」の頂点113Bとに分けられる。識別情報「5」の頂点113は、識別情報「A5」の頂点113Aと識別情報「B5」の頂点113Bとに分けられる。
 同様に、パッチ111A側に分けられた辺112を辺112Aと称する。また、パッチ111B側に分けられた辺112を辺112Bと称する。図8のBにおいては、パッチ111Aの頂点113A同士を結ぶ接続の内の1つにのみ符号が付してあるが、頂点113Aの間を結ぶ接続はすべて辺112Aである。同様に、パッチ111Bの頂点113B同士を結ぶ接続の内の1つにのみ符号が付してあるが、頂点113Bの間を結ぶ接続はすべて辺112Bである。
 つまり、頂点113Aおよび辺112Aにより構成されるエッジと、頂点113Bおよび辺112Bにより構成されるエッジは、パッチ111Aとパッチ111Bとにより共有されるエッジを示す。
 パッチは2次元平面に投影され、その投影画像(パッチ画像とも称する)がジオメトリ画像に配置される。図8のCは、その配置の例を示す。図8のCに示されるジオメトリ画像120において、パッチ画像121Aは、パッチ111Aの投影画像を示す。また、パッチ画像121Bは、パッチ111Bの投影画像を示す。
 白丸で示される頂点123Aは、パッチ画像121Aの頂点を示す。同様に、白丸で示される頂点123Bは、パッチ画像121Bの頂点を示す。頂点123Aは、頂点113Aに対応する頂点(頂点113Aが投影されたもの)であり、頂点123Bは、頂点113Bに対応する頂点(頂点113Bが投影されたもの)である。なお、図8のCにおいては、パッチ画像121Aの白丸の内の1つにのみ符号が付してあるが、パッチ画像121Aの白丸は全て頂点123Aである。同様に、パッチ画像121Bの白丸の内の1つにのみ符号が付してあるが、パッチ画像121Bの白丸は全て頂点123Bである。
 つまり、識別情報「A1」の頂点123Aと識別情報「B1」の頂点123Bとが1つのペアを構成する。同様に、識別情報「A2」の頂点123Aと識別情報「B2」の頂点123Bとが1つのペアを構成する。識別情報「A3」の頂点123Aと識別情報「B3」の頂点123Bとが1つのペアを構成する。識別情報「A4」の頂点123Aと識別情報「B4」の頂点123Bとが1つのペアを構成する。識別情報「A5」の頂点123Aと識別情報「B5」の頂点123Bとが1つのペアを構成する。
 また、頂点123A同士を結ぶ接続を辺122Aと称する。この辺122Aは、辺112Aに対応する辺(辺112Aが投影されたもの)であり、パッチ画像121Aの境界を構成する。同様に、頂点123B同士を結ぶ接続を辺122Bと称する。この辺122Bは、辺112Bに対応する辺(辺112Aが投影されたもの)であり、パッチ画像121Bの境界を構成する。図8のCにおいては、パッチ画像121Aの頂点123A同士を結ぶ接続の内の1つにのみ符号が付してあるが、頂点123Aの間を結ぶ接続はすべて辺122Aである。同様に、パッチ画像121Bの頂点123B同士を結ぶ接続の内の1つにのみ符号が付してあるが、頂点123Bの間を結ぶ接続はすべて辺122Bである。
 つまり、頂点123Aおよび辺122Aにより構成されるエッジと、頂点123Bおよび辺122Bにより構成されるエッジは、パッチ画像121Aとパッチ画像121Bとにより共有されるエッジを示す。すなわち、頂点123Aおよび辺122Aにより構成されるエッジと、頂点123Bおよび辺122Bにより構成されるエッジとが1つのペアを構成する。
 エンコーダは、パッチセグメンテーションにより生成されるこのようなペアを示すペア情報を生成する。
  <ペア情報単位>
 次に、以上のように生成されるペア情報について説明する。ペア情報は、例えば図5に示される表の上から5段目に示されるように、そのペア情報に含まれる頂点により構成されるペアのみを示すようにしてもよい。換言するに、ペア情報が、メッシュに対してパッチセグメンテーションを行うことにより得られる全てのペアを示す情報であってもよい。
 また、ペア情報は、例えば図5に示される表の上から6段目に示されるように、そのペア情報により示されていない頂点により構成されるペアも示す情報であってもよい。換言するに、ペア情報が、頂点のグループ毎に形成される情報であり、そのグループの一部の頂点により構成されるペアを示すことにより、そのグループの頂点により構成される全てのペアを示す情報であってもよい。
  <ペア毎(全ペア)のペア情報>
 まず、ペア情報が、そのペア情報に含まれる頂点により構成されるペアのみを示す場合について説明する。
  <ペアの伝送順序>
 ペア情報における各ペアの伝送順について説明する。つまり、ペア情報においてペアがどのような順序で示されるかを説明する。
 例えば、図9のAに示されるように、ジオメトリ画像130にパッチ画像131、パッチ画像132、およびパッチ画像133が配置されるとする。パッチ画像131、パッチ画像132、およびパッチ画像133は、それぞれの境界上に白丸で示される頂点134を有する。図9のAにおいては、1つの頂点にのみ符号が付されているが、白丸で示される頂点はすべて頂点134である。各頂点近傍に示される数字は、それぞれの頂点の識別情報を示す。
 図9のBは、頂点134に割り当てられた識別情報を用いて。頂点134により構成されるペアを示している。図9のBにおいて、四角枠141乃至四角枠144は、頂点134により構成されるペアを示している。つまり、識別情報「1」が割り当てられた頂点134と、識別情報「4」が割り当てられた頂点134とがペアを構成している。また、識別情報「2」が割り当てられた頂点134と、識別情報「15」が割り当てられた頂点134とがペアを構成している。さらに、識別情報「5」が割り当てられた頂点134と、識別情報「8」が割り当てられた頂点134とがペアを構成している。また、識別情報「20」が割り当てられた頂点134と、識別情報「21」が割り当てられた頂点134と、識別情報「24」が割り当てられた頂点134とがペアを構成している。
 このような構成のペアについてのペア情報が、例えば図5に示される表の上から11段目に示されるように、ペアを構成する頂点を1ペアずつ(ペア毎に)示してもよい。つまり、ペア情報が、第1のパッチの複数の頂点と第2のパッチの対応する複数の頂点がそれぞれペアであることを示してもよい。例えば、ペアを構成する頂点の数が2つに限定されている等、デコーダにとってペアを構成する頂点の数が予め既知である場合、ペア情報において、ペア毎に並べられた頂点の識別情報の配列が示されるようにしてもよい。そのペア情報を取得したデコーダは、その頂点の識別情報の配列を、ペアを構成する頂点数毎に区切ることにより、容易に各ペアを構成する各頂点を把握することができる。
 なお、例えば図5に示される表の上から12段目に示されるように、ペア情報が、ペアを構成する頂点の数を示すパラメータを含んでもよい。各ペアを構成する頂点数が示されれば、デコーダは、ペア情報に含まれる頂点の識別情報の配列を、そのパラメータで示される頂点数で区切ることにより、容易に各ペアを構成する各頂点を把握することができる。つまり、この場合、各ペアを構成する頂点数をデコーダが予め把握していなくてもよい。なお、ペア情報として伝送されるこのパラメータの数は任意である。例えば、ペア情報においてこのパラメータの値が、1ペア毎に示されてもよいし、2以上の所定数のペア毎に示されてもよいし、全ペアに対して1つ示されてもよい。換言するに、ペアを構成する頂点数は可変であってもよい。つまり、ペアを構成する頂点数が全ペア共通でなくてもよい。
 また、ペアを構成する頂点の数を示すパラメータをペア情報に含める代わりに、ペア情報に含まれる頂点の識別情報の配列にペアの区切りを示すフラグ(例えば1ビットのフラグ"0"等)を挿入してもよい。このフラグは、デコーダにとって予め既知の情報である。ペア情報を取得したデコーダは、頂点の識別情報の配列からそのフラグを検出することにより、どの頂点がペアを構成するかを容易に把握することができる。つまり、この場合も、デコーダは、各ペアを構成する頂点数を予め把握していなくてもよい。また、ペアを構成する頂点数が可変であってもよい。
 また、ペア情報が、第1のパッチの複数の頂点からなるグループと、第2のパッチの複数の頂点からなるグループを示す情報を含むようにしてもよい。例えば図5に示される表の上から13段目に示されるように、ペアを構成する頂点をパッチ毎にまとめたリストを生成し、ペア情報が、そのリストのペアを示すようにしてもよい。図9のBの例の場合、四角枠145で示されるパッチ画像131の頂点134と、四角枠146で示されるパッチ画像132の頂点134とをそれぞれリスト化し、ペア情報において、それらのリストの対応関係が示されるようにしてもよい。
 例えば、ペア情報において、頂点の識別情報がグループ毎に並べられ、そのグループがペア毎に並べられた配列が示されるようにしてもよい。この場合、その頂点の識別情報の配列におけるグループの区切り位置は、グループを構成する頂点数を示すパラメータによって示されてもよい。このパラメータの値は、1グループ毎に示されてもよいし、2以上の所定数のグループ毎に示されてもよいし、全グループに対して1つ示されてもよい。換言するに、グループを構成する頂点数は可変であってもよい。つまり、グループを構成する頂点数が全ペア共通でなくてもよい。
 また、頂点の識別情報の配列におけるグループの区切り位置は、グループの区切りを示すフラグ(例えば1ビットのフラグ"0"等)を挿入することにより示されてもよい。このフラグは、デコーダにとって予め既知の情報である。ペア情報を取得したデコーダは、頂点の識別情報の配列からそのフラグを検出することにより、どの頂点がグループを構成するかを容易に把握することができる。つまり、この場合も、デコーダは、各グループを構成する頂点数を予め把握していなくてもよい。また、グループを構成する頂点数が可変であってもよい。
 このように、ペアを構成する頂点の識別情報を括弧や中括弧で囲うことにより、各ペアを構成する各頂点をグループ毎に明示することができる。したがって、デコーダは、このペア情報に基づいて、より容易に各ペアを構成する各頂点を把握することができる。
  <ペア情報の内容>
 ペア情報において、ペアを構成する頂点(またはエッジ)を示す情報は任意である。
  <ID>
 例えば、図5に示される表の上から15段目に示されるように、ペア情報が、符号化前のオブジェクトにおける頂点それぞれの状態に対応する識別情報を用いてペアを示してもよい。この識別情報はどのような情報であってもよい。
 例えば、図5に示される表の上から16段目に示されるように、この識別情報が、メッシュに含まれる頂点の中で各頂点を識別するための識別情報(全頂点ID)であってもよい。換言するに、この識別情報は、メッシュに含まれるすべての頂点に割り当てられる情報であってもよい。
 例えば、図5に示される表の上から17段目に示されるように、この識別情報が、パッチに含まれる頂点の中で各頂点を識別するための識別情報(パッチ内頂点ID)であってもよい。換言するに、この識別情報は、パッチ毎に独立に各頂点に割り当てられる情報であってもよい。
 その場合、図5に示される表の上から18段目に示されるように、ペア情報が、パッチの識別情報(パッチID)をさらに含んでもよい。デコーダは、パッチIDと、パッチ内頂点IDとを組み合わせることにより、メッシュに含まれる頂点の中で各頂点を識別することができる。
 その場合、図5に示される表の上から19段目に示されるように、そのパッチIDがペア毎に伝送されるようにしてもよい。つまり、ペア情報が、ペア毎にパッチの識別情報を含んでもよい。つまり、この場合、各ペアを構成する各頂点についてパッチIDが伝送される。したがって、各ペアを構成する各頂点についてその頂点がどのパッチに属するかが示される。
 また、図5に示される表の上から20段目に示されるように、そのパッチIDが複数のペア毎に伝送されるようにしてもよい。つまり、ペア情報が、複数のペア毎にパッチの識別情報を含んでもよい。つまり、この場合、一部のペアを構成する各頂点についてパッチIDが伝送される。パッチIDが伝送されないパッチの頂点については、例えば直前に伝送されたパッチID(最新のパッチID)が適用されてもよい。例えば、適用されるパッチIDが変化する場合のみパッチIDが伝送され、1つ前のペアと同一のパッチIDが適用されるペアについては、パッチIDの伝送が省略されるようにしてもよい。このようにすることにより、符号量の増大を抑制し、符号化効率の増大を抑制することができる。
 また、図5に示される表の上から21段目に示されるように、識別情報が、パッチの境界に位置する頂点の中で各頂点を識別するための識別情報で(境界頂点リスト内ID)あってもよい。換言するに、この識別情報は、パッチの境界に位置する各頂点に割り当てられる情報であってもよい。
 その場合、図5に示される表の上から22段目に示されるように、符号化部が、パッチの境界に位置する頂点のリスト(境界頂点リスト)をさらに符号化してもよい。デコーダは、この境界頂点リストを参照することにより、パッチの境界に位置する各頂点の中で頂点を容易に識別することができる。
 なお、図5に示される表の上から23段目に示されるように、ペア情報は、その識別情報の絶対値を用いてペアを示してもよい。ペアをこのように表現することにより、デコーダはペアを構成する各頂点の識別情報をより容易に把握することができる。
 また、図5に示される表の最下段に示されるように、ペア情報は、この識別情報の、他の頂点の識別情報からの相対値を用いてペアを示してもよい。ペアをこのように表現することにより、ペアを構成する各頂点の識別情報を用いてペアを示す場合に比べて、ペア情報の情報量(符号量)を低減させることができる。つまり、ペア情報の符号化効率の低減を抑制することができる。
  <UV座標>
 また、例えば、図6に示される表の最上段に示されるように、ペア情報が、上述した識別情報の代わりに、画像の2次元平面における複数の頂点の各座標に基づいてペアを示してもよい。
 その場合、図6に示される表の上から2段目に示されるように、ペア情報は、ペアを構成する各頂点のUV座標を用いてペアを示すようにしてもよい。
 例えば、パッチA乃至パッチDが、それぞれ、図10の表に示されるようなUV座標の頂点#0乃至#8を有するとする。A乃至DはパッチIDを示し、#0乃至#8はパッチ内IDを示す。例えば、パッチAの頂点#0のUV座標は、(u00, v00)であり、パッチAの頂点#1のUV座標は、(u10, v10)である。また、パッチBの頂点#0のUV座標は、(u01, v01)であり、パッチBの頂点#1のUV座標は、(u11, v11)である。パッチAの頂点#0とパッチBの頂点#0とがペアを構成するとする。また、パッチAの頂点#1とパッチBの頂点#1とがペアを構成するとする。
 ペア座標において、これらの頂点が構成するペアが、それぞれのUV座標を用いて(u00, v00), (u01, v01)のように示されるようにしてもよい。ペアをこのように表現することにより、デコーダはペアを構成する各頂点のUV座標をより容易に把握することができる。
 また、図6に示される表の上から3段目に示されるように、ペア情報は、UV座標の差分(相対座標(du, dv))を用いてペアを示すようにしてもよい。例えば、ペア情報が、ペアを構成する頂点の1つである基準頂点のUV座標(u, v)と、UV座標の差分(相対座標(du, dv))を用いて、例えば(u, v), (du, dv)のようにペアを示すようにしてもよい。ペアをこのように表現することにより、ペアを構成する各頂点のUV座標を用いてペアを示す場合に比べて、ペア情報の情報量(符号量)を低減させることができる。つまり、ペア情報の符号化効率の低減を抑制することができる。
 例えば、図6に示される表の上から4段目に示されるように、ペア情報が、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を示してもよい。
 例えば図10に示されるパッチや頂点が図11のようにジオメトリ画像に配置されるとする。つまり、パッチAのパッチ画像151と、パッチBのパッチ画像153とが、図11に示されるようにジオメトリ画像に配置されるとする。そして、パッチAの頂点#0が白丸152の位置に配置され、パッチBの頂点#0が白丸154の位置に配置されるとする。また、パッチAを基準とするパッチBの相対位置(パッチ間の相対ベクトル)をベクトルABとする。
 その場合に、パッチAの頂点#0を基準頂点とし、(u, v)を白丸152の座標(u00, v00)としてもよい。つまり、(u, v) = (u00, v00)としてもよい。また、そのパッチAの頂点#0からみたパッチBの頂点#0の相対座標、すなわちベクトル155を(du, dv)としてもよい。つまり、(du, dv) = (u01-u00, v01-v00)としてもよい。
 また例えば、図6に示される表の上から5段目に示されるように、ペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした基準頂点と異なる頂点の相対座標を示してもよい。
 例えば図11において、パッチAの頂点#0を基準頂点とし、(u, v)を白丸152の座標(u00, v00)としてもよい。つまり、(u, v) = (u00, v00)としてもよい。また、ベクトルABを用いて、パッチAの頂点#0をパッチBの頂点とした場合の位置に移動する。つまり、パッチAの頂点#0を(u00, v00)からベクトル156のように移動させる。そしてその移動後の位置(ベクトル156の先端)からみたパッチBの頂点#0の相対座標、すなわちベクトル157を(du, dv)としてもよい。つまり、(du, dv)を、ベクトル155を用いる代わりに、ベクトルAB(つまりベクトル156)とベクトル157の加算結果として表現してもよい。
 ところで、ジオメトリ画像にパッチを配置する際に、パッチの姿勢を補正してもよい。パッチの姿勢の補正方法は任意である。例えば、パッチを上下反転してもよいし、左右反転してもよいし、所定の角度だけ回転させてもよい。
 このような姿勢補正を、duやdvの絶対値が小さくなるように行うようにする。例えば、パッチBの頂点#0の位置を、パッチAの頂点Aの位置に近づけるように、パッチBの姿勢を補正してもよい。図12の例では、パッチBが左右反転されて配置されている。したがって、パッチBの頂点#0のUV座標は、(widthB-u01, v01)となる。widthBは、パッチBの幅(図中において水平方向の長さ)を示す。
 例えば、パッチAの頂点#0を基準頂点とし、そのパッチAの頂点#0からみたパッチBの頂点#0の相対座標を(du, dv)とする場合、パッチBの姿勢が補正されることにより、(du, dv)がベクトル163となる。つまり、(du, dv) = (widthB-u01-u00, v01-v00)となる。このベクトル163の長さがベクトル155よりも短くなることにより、ペア情報の符号化効率の低減をさらに抑制することができる。
 また例えば、図6に示される表の上から6段目に示されるように、ペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした、姿勢が補正された状態の第2のパッチにおける、基準頂点と異なる頂点の相対座標を示してもよい。
 例えば図12において、ベクトルABを用いて、パッチAの頂点#0を(u00, v00)からベクトル161のように移動させる。そしてその移動後の位置(ベクトル161の先端)からみたパッチBの頂点#0の相対座標、すなわちベクトル162を(du, dv)としてもよい。つまり、(du, dv)を、ベクトル163を用いる代わりに、ベクトルAB(つまりベクトル161)とベクトル162の加算結果として表現してもよい。
 また例えば、図6に示される表の上から7段目に示されるように、ペア情報が、他のペアの、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を基準とした、処理対象ペアの基準頂点と異なる頂点の相対座標を示してもよい。
 例えば、ペアを構成するパッチAの頂点#1とパッチBの頂点#1とが、それぞれ、図12に示されるように配置されるとする。このペアは、上述したパッチAの頂点#0とパッチBの頂点#0とにより構成されるペアとは異なるペアである。
 このパッチAの頂点#1とパッチBの頂点#1とにより構成されるペアを表現する場合に、パッチAの頂点#0とパッチBの頂点#0とにより構成されるペアの情報を利用してもよい。例えば、パッチAの頂点#1を基準頂点とし、(u, v) = (u10, v10)とする。そして、パッチAの頂点#0とパッチBの頂点#0とを結ぶベクトル163を用いて、パッチAの頂点#0を移動させる。つまり、パッチAの頂点#1の位置を、パッチAの頂点#0とパッチBの頂点#0との位置関係に従って移動させる。これにより、パッチAの頂点#1は、ベクトル164のように移動する。そして、このように移動されたパッチAの頂点#1の位置(ベクトル164の先端)、すなわち、パッチAの頂点#0とパッチBの頂点#0との位置関係が反映されたパッチAの頂点#1の位置からみたパッチBの頂点#0の相対座標、すなわちベクトル165を(du, dv)としてもよい。つまり、(du, dv)を、ベクトル164とベクトル165の加算結果として表現してもよい。
 なお、図12の例においてはパッチBの姿勢が補正されているが、図11の例ようにパッチBの姿勢は補正されていなくても、この方法を適用することができる。
  <ペアグループ毎(一部ペア)>
 <ペア毎(全ペア)のペア情報>からここまでは、ペア情報がそのペア情報に含まれる頂点により構成されるペアのみを示す場合について説明した。ここからは、ペア情報が、そのペア情報により示されていない頂点により構成されるペアも示す場合について説明する。
 この場合、ペア情報には一部のペアについてのみの情報が含まれる。換言するに、残りのペアについての情報は省略される。したがって、デコーダの補正部は、伝送されたペア情報に基づいて、その省略された情報を復元する。
 なお、この場合のペアの伝送順序は、<ペアの伝送順序>において上述した、ペア情報がそのペア情報に含まれる頂点により構成されるペアのみを示す場合と同様である。また、この場合のペア情報の内容は、<ペア情報の内容>、<ID>、および<UV座標>において上述した、ペア情報がそのペア情報に含まれる頂点により構成されるペアのみを示す場合と同様である。
  <ペア情報のフォーマット>
 この場合のペア情報に含まれる情報(換言するに、情報の省略の仕方)は任意である。
  <3点ペア>
 例えば、図5に示される表の上から7段目に示されるように、ペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、第1のエッジの両端に位置する頂点と第1のエッジの中間に位置する頂点の組み合わせと、第2のエッジの両端に位置する頂点と第2のエッジの中間に位置する頂点の組み合わせの対応関係を示す情報を含むようにしてもよい。つまり、ペア情報が、エッジの端点が構成するペアと中間点が構成するペアとを示す情報を有し、その他の頂点により構成されるペアに関する情報が省略されてもよい。
 例えば、図13のAにおいて、パッチ170Aがその境界に頂点171A、頂点172A、および頂点173Aを有する。また、パッチ170Bがその境界に頂点171B、頂点172B、および頂点173Bを有する。そして、頂点171Aと頂点171Bとがペアを構成し、頂点172Aと頂点172Bとがペアを構成し、頂点173Aと頂点173Bとがペアを構成する。つまり、メッシュにおいては、パッチ170Aとパッチ170Bとが、頂点171Aと頂点173Aとの間の境界(頂点171Bと頂点173Bとの間の境界)において互いに隣接する。
 このような場合、頂点171Aと頂点173Aとの間の境界(頂点171Bと頂点173Bとの間の境界)が、パッチ170Aとパッチ170Bとにより共有されるエッジを構成する。つまり、頂点171Aと頂点173A(または頂点171Bと頂点173B)が、エッジの端点となる。また、頂点172A(または頂点172B)が、エッジの中間点となる。
 パッチ170Aにおいて、頂点171Aと頂点173Aとの間の境界(エッジ)には、図13のBに示される例のように、頂点172A以外の頂点が存在し得る。同様に、パッチ170Bにおいて、頂点171Bと頂点173Bとの間の境界(エッジ)には、図13のBに示される例のように、頂点172B以外の頂点が存在し得る。
 ただし、ペア情報には、上述した6つの頂点により構成されるペアに関する情報が格納される。例えば図13のBの場合、頂点171Aおよび頂点171Bにより構成されるペア、頂点172Aおよび頂点172Bにより構成されるペア、並びに、頂点173Aおよび頂点173Aにより構成されるペアの情報がペア情報に格納される。そして、図13のBにおいて点線の丸で示されるその他の頂点により構成されるペアに関する情報は省略される。
 このように、ペア情報がエッジの両端点および中間点により構成されるペアに関する情報のみを含むようにすることにより、エッジの全ての頂点により構成されるペアに関する情報を含む場合よりも、ペア情報の符号量を低減させることができる。つまり、ペア情報の符号化効率の低減を抑制することができる。
 なお、エッジの両方の端点(両端点とも称する)の間の頂点の内、どの頂点を中間点としてもよい。
 デコーダの補正部は、ペア情報からこれらの3つのペアの情報を得るだけでなく、エッジの両端点と中間点とから、そのエッジに存在するその他の頂点を復元(補間)し、それらの頂点により構成されるペアに関する情報を得る。
  <2点ペア>
 また、例えば、図5に示される表の上から8段目に示されるように、ペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、復号時における第1のエッジに対するスキャン方向と復号時における第2のエッジに対するスキャン方向の対応関係を示す情報を含むようにしてもよい。
 例えば、パッチにおいて境界に位置する頂点のスキャン方向を固定とし、そのスキャン順におけるエッジの最初の頂点を始点とし、エッジの最後の頂点を終点とする。そして、ペア情報において、エッジを(始点, 終点)と表現し、そのエッジごとにペアを示すようにする。
 例えば、図14においてスキャン順を矢印の方向(反時計回り)とする。この場合、パッチ181の、識別情報「15」が割り当てられた頂点と識別情報「8」が割り当てられた頂点との間の図中左側の境界(エッジ)は、(15, 8)と表現される。つまり、識別情報「15」が割り当てられた頂点がエッジの始点とされ、識別情報「8」が割り当てられた頂点がエッジの終点とされる。
 ペア情報は、このエッジ(15, 8)が構成するペアに関する情報を含む。そして、そのエッジに存在するその他の頂点182が構成するペアに関する情報は省略される。
 同様に、パッチ183の、識別情報「15」が割り当てられた頂点と識別情報「8」が割り当てられた頂点との間の図中右側の境界(エッジ)は、(8, 15)と表現される。つまり、識別情報「8」が割り当てられた頂点がエッジの始点とされ、識別情報「15」が割り当てられた頂点がエッジの終点とされる。ペア情報は、この(8, 15)が構成するペアに関する情報を含む。そして、そのエッジに存在するその他の頂点184が構成するペアに関する情報は省略される。
 例えば、ペア情報は、(始点1, 終点1)と(始点2, 終点2)とにより構成されるペアを、(始点1, 終点1), (始点2, 終点2)のように表現する。この場合、始点同士(終点同士)がペアを構成するのか、または、始点と終点とがペアを構成するのかを示す必要がある。
 そこで、ペア情報は、ペアにおける始点および終点の組み合わせを示すフラグ情報を含む。例えば、このフラグが偽(例えば値「0」)の場合、ペア対応がスキャン方向と同一である、すなわち、視点同士がペアを構成し、終点同士がペアを構成することを示す。また、このフラグが真(例えば値「1」の場合)、ペア対応がスキャン方向と逆である、すなわち、視点と終点とがペアを構成することを示す。例えば、ペア情報において、(始点1, 終点1), (始点2, 終点2), 「フラグの値」のように表現してもよい。
 例えば、図15において、パッチ190Aの、識別情報「2」が割り当てられた頂点と識別情報「5」が割り当てられた頂点との間の図中右側の境界と、パッチ190Bの、識別情報「15」が割り当てられた頂点と識別情報「8」が割り当てられた頂点との間の図中左側の境界とが、パッチ190Aおよびパッチ190Bが共有するエッジを構成するとする。つまり、点線両矢印193によって示されるように、識別情報「2」が割り当てられた頂点と識別情報「15」が割り当てられた頂点とがペアを構成し、点線両矢印194によって示されるように、識別情報「5」が割り当てられた頂点と識別情報「8」が割り当てられた頂点とがペアを構成するとする。
 この場合、スキャン方向を反時計回りとすると、パッチ190Aのエッジは、識別情報「5」が割り当てられた頂点が始点とされ、識別情報「2」が割り当てられた頂点が終点とされ、(5,2)と表現される。同様に、パッチ190Bのエッジは、識別情報「15」が割り当てられた頂点が始点とされ、識別情報「8」が割り当てられた頂点が終点とされ、(15,8)と表現される。つまり、点線両矢印193で示されるペアは、始点と終点により構成される。同様に、点線両矢印194で示されるペアも、始点と終点により構成される。つまり、このエッジのペアについてのフラグは真(値「1」)となる。したがって、ペア情報において、このエッジのペアを、(5,2),(15,8),1と表現してもよい。
 また、図15において、パッチ190Aの、識別情報「5」が割り当てられた頂点と識別情報「21」が割り当てられた頂点との間の図中右側の境界と、パッチ190Cの、識別情報「24」が割り当てられた頂点と識別情報「20」が割り当てられた頂点との間の図中右側の境界とが、パッチ190Aおよびパッチ190Cが共有するエッジを構成するとする。つまり、実線両矢印195によって示されるように、識別情報「5」が割り当てられた頂点と識別情報「24」が割り当てられた頂点とがペアを構成し、実線両矢印196によって示されるように、識別情報「21」が割り当てられた頂点と識別情報「20」が割り当てられた頂点とがペアを構成するとする。
 この場合、スキャン方向を反時計回りとすると、パッチ190Aのエッジは、識別情報「21」が割り当てられた頂点が始点とされ、識別情報「5」が割り当てられた頂点が終点とされ、(21,5)と表現される。同様に、パッチ190Cのエッジは、識別情報「20」が割り当てられた頂点が始点とされ、識別情報「24」が割り当てられた頂点が終点とされ、(20,24)と表現される。つまり、実線両矢印195で示されるペアは、終点同士により構成される。同様に、実線両矢印196で示されるペアは、始点同士により構成される。つまり、このエッジのペアについてのフラグは偽(値「0」)となる。したがって、ペア情報において、このエッジのペアを、(21,5),(20,24),0と表現してもよい。
 したがって、この場合、ペア情報において、パッチ190Aの上述のエッジに含まれるその他の頂点191A、パッチ190Bの上述のエッジに含まれるその他の頂点191B、および、パッチ190Cの上述のエッジに含まれるその他の頂点191Cが構成するペアに関する情報は省略される。
 このように、ペア情報がエッジの始点および終点により構成されるペアに関する情報と、ペアの対応関係を示すフラグのみを含むようにすることにより、エッジの全ての頂点により構成されるペアに関する情報を含む場合よりも、ペア情報の符号量を低減させることができる。つまり、ペア情報の符号化効率の低減を抑制することができる。
 デコーダの補正部は、ペア情報から各エッジについて、これらの2つのペアの情報を得るだけでなく、エッジの始点と終点とから、そのエッジに存在するその他の頂点を復元(補間)し、それらの頂点により構成されるペアに関する情報を得る。
  <頂点補間>
 次に、<3点ペア>や<2点ペア>において説明したデコーダによる頂点の補間について説明する。<3点ペア>や<2点ペア>において説明したフォーマットのペア情報を取得すると、デコーダの補正部は、そのペア情報において示されていない頂点を補間し、それらの点についてもペアリング処理を行う。つまり、デコーダの補正部は、ペアを構成する頂点であって、ペア情報に含まれない頂点を補間する。
 この頂点の補間方法は任意である。例えば、図6に示される表の上から9段目に示されるように、デコーダの補正部は、オキュパンシー画像に基づいて、頂点の補間を実行してもよい。その場合、デコーダの補正部は、復号して得られたオキュパンシー画像を用いてパッチの境界上の頂点を特定し、そのUV座標を取得する。そして、デコーダの補正部は、コネクティビティに基づいて、その特定した各頂点を結ぶ境界を特定する。
 例えばペア情報が両端点と単数の中間点のペアのみに関する情報を含む場合、デコーダの補正部は、中間点から両端点に向かって、特定した境界に沿って頂点を探索する。例えば、図16において、グレーで示されるポリゴンがパッチであり、頂点201が中間点であり、頂点202および頂点203が端点であるとする。デコーダの補正部は、矢印で示されるように、中間点である頂点201から端点である頂点202と頂点203に向かって、特定した境界に沿って頂点を探索する。この探索により、図中白丸で示される頂点が検出される。デコーダの補正部は、その検出した頂点のペアリング処理を行う。
 このようにすることにより、デコーダの補正部は、両端点と単数の中間点のペアのみに関する情報を含むペア情報に基づいて、エッジに存在する全ての頂点のペアリング処理を行うことができる。したがって、ペア情報がエッジの全ての頂点により構成されるペアに関する情報を含む場合よりも、符号化効率の低減を抑制することができる。
 例えばペア情報が始点と終点のペアのみに関する情報と、ペアにおける始点および終点の組み合わせを示すフラグ情報とを含む場合、デコーダの補正部は、始点から終点に向かって、指定されたスキャンの方向に、特定した境界に沿って頂点を探索する。例えば、図17において、グレーで示されるポリゴンがパッチであり、頂点211が始点であり、頂点212が終点であるとする。デコーダの補正部は、矢印で示されるように、始点である頂点211から終点である頂点212に向かって、指定されたスキャンの方向に、特定した境界に沿って頂点を探索する。指定スキャン方向であるか否かの判断は、境界ポリゴンのコネクティビティ情報に基づいて行われる。つまり、デコーダの補正部は、始点である頂点211に接続される辺213と辺214の内、境界ポリゴンのスキャン方向に一致する側(この場合辺213)に探索を行う。この探索により、図中白丸で示される頂点が検出される。デコーダの補正部は、その検出した頂点のペアリング処理を行う。
 このようにすることにより、デコーダの補正部は、始点と終点のペアのみに関する情報と、ペアにおける始点および終点の組み合わせを示すフラグ情報とを含むペア情報に基づいて、エッジに存在する全ての頂点のペアリング処理を行うことができる。したがって、ペア情報がエッジの全ての頂点により構成されるペアに関する情報を含む場合よりも、符号化効率の低減を抑制することができる。
 なお、デコーダの補正部は、図6に示される表の上から10段目に示されるように、オキュパンシー画像の代わりにコネクティビティ情報に基づいて、前記頂点の補間を実行してもよい。その場合、デコーダの補正部は、コネクティビティに基づいて、パッチ内に隣接ポリゴン(三角形)が存在しないポリゴンを境界ポリゴンとして特定する。また、特定した境界ポリゴンからパッチの境界を特定する。デコーダの補正部は、その特定したパッチの境界に沿って、上述したように中間点から両端点に向かって頂点を探索し、検出した頂点のペアリング処理を行う。
 頂点の探索方法は、図16または図17を参照して上述した例と同様である。
  <ペアリング処理>
 次に、ペアリング処理について説明する。デコーダの補正部はペア情報に基づいてペアリング処理を行う。このペアリング処理において、頂点のマッチングの方法は任意である。
 例えば、図6に示される表の上から12段目に示されるように、デコーダの補正部は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とのうちの一方の頂点を削除し、削除した頂点の接続を他方の頂点の接続に変換してもよい。
 例えば、図18のAにおいて、ポリゴン221の3つの頂点に対して、識別情報「1」、識別情報「2」、または識別情報「3」が割り当てられているとする。また、ポリゴン222の3つの頂点に対して、識別情報「4」、識別情報「5」、または識別情報「6」が割り当てられているとする。そして、ペア情報により、識別情報「3」が割り当てられた頂点と、識別情報「6」が割り当てられた頂点とがペアを構成し、識別情報「2」が割り当てられた頂点と、識別情報「4」が割り当てられた頂点とがペアを構成しているとする。
 このような場合、デコーダの補正部は、ペア情報に基づいて、まず、変換後の単数の頂点の位置を設定する。そして、デコーダの補正部は、頂点情報を更新し、ペアを構成する複数の頂点の内の1つを残し、その他の頂点を消去する。例えば、デコーダの補正部は、図18のAに示されるように、識別情報「6」が割り当てられた頂点と、識別情報「4」が割り当てられた頂点を消去する。デコーダの補正部は、必要に応じて、残した頂点の座標を更新する。
 そして、デコーダの補正部は、コネクティビティを更新し、消去された頂点との接続(辺)を、残された頂点との接続(辺)に変換する。例えば、デコーダの補正部は、図18のBに示されるように、識別情報「6」が割り当てられた頂点と識別情報「5」が割り当てられた頂点とを結ぶ接続を、識別情報「3」が割り当てられた頂点と識別情報「5」が割り当てられた頂点とを結ぶ接続に変換する。同様に、デコーダの補正部は、識別情報「4」が割り当てられた頂点と識別情報「5」が割り当てられた頂点とを結ぶ接続を、識別情報「2」が割り当てられた頂点と識別情報「5」が割り当てられた頂点とを結ぶ接続に変換する。
 デコーダの補正部がこのようにペアリング処理を行うことにより、図18のBに示されるように、ポリゴン221とポリゴン222とが隣接する。したがって、ポリゴン221とポリゴン222との間のクラックが消去される。
 デコーダの補正部が、ペア情報に基づいてこのようなペアリング処理を行うことにより、デコーダは、クラックをより確実に消去することができる。つまり、クラックの発生をより確実に抑制することができる。したがって、符号化および復号による3Dデータの品質の低減を抑制することができる。
 また、例えば、図6に示される表の上から13段目に示されるように、デコーダの補正部は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とのうちの一方の頂点を他方の頂点の位置に移動してもよい。
 このような場合、デコーダの補正部は、ペア情報に基づいて、まず、重複点の位置を設定する。そして、デコーダの補正部は、頂点情報を更新し、ペアを構成する複数の頂点の座標を、その重複点の座標に更新する。例えば、デコーダの補正部は、図19のAに示されるように、識別情報「3」が割り当てられた頂点の座標と、識別情報「6」が割り当てられた頂点の座標とを、互いに同一の座標に変換する。これにより、図19のBに示されるように、その両頂点が重複点となる。同様に、デコーダの補正部は、識別情報「2」が割り当てられた頂点の座標と、識別情報「4」が割り当てられた頂点の座標とを、互いに同一の座標に変換する。これにより、図19のBに示されるように、その両頂点が重複点となる。
 デコーダの補正部がこのようにペアリング処理を行うことにより、図19のBに示されるように、ポリゴン221とポリゴン222とが隣接する。したがって、ポリゴン221とポリゴン222との間のクラックが消去される。
 デコーダの補正部が、ペア情報に基づいてこのようなペアリング処理を行うことにより、デコーダは、クラックをより確実に消去することができる。つまり、クラックの発生をより確実に抑制することができる。したがって、符号化および復号による3Dデータの品質の低減を抑制することができる。
 また、例えば、図6に示される表の上から14段目に示されるように、デコーダの補正部は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とを含むポリゴンを形成するようにしてもよい。
 例えば、図20のAに示されるように、ポリゴン221とポリゴン222との間にクラックが生じている場合、デコーダの補正部は、ペア情報によりペアを構成する頂点231、頂点233、頂点232、および頂点234を用いてポリゴンを新たに形成する。
 デコーダの補正部は、コネクティビティを更新して、頂点231、頂点233、頂点232、および頂点234のそれぞれの間を接続する。つまり、図20のBに示されるように、デコーダの補正部は、頂点231、頂点232、および頂点233を頂点とするポリゴン241と、頂点232、頂点234、および頂点233を頂点とするポリゴン242を生成する。そのさい、デコーダの補正部は、コネクティビティの頂点の順を、境界ポリゴンと表面が同じ向きになるように設定する。
 そして、デコーダの補正部は、追加したポリゴンにテクスチャを張り付ける。このテクスチャはどのようなものであってもよいが、周辺のポリゴンのテクスチャと違和感の少ないものにすることにより、品質の低減を抑制することができる。例えば、デコーダの補正部は、周辺の境界ポリゴンの色を複製(コピー)して追加したポリゴンにテクスチャを張り付けてもよい。また、デコーダの補正部は、周辺の複数の境界ポリゴンの色の(重みつき)平均を求め、その導出されたテクスチャを追加したポリゴンに張り付けてもよい。さらに、追加したポリゴンに張り付けるための専用のテクスチャをエンコーダからデコーダに伝送するようにしてもよい。そして、デコーダの補正部が、その伝送されたテクスチャを追加したポリゴンに張り付けてもよい。
 以上のように、ポリゴン241およびポリゴン242が追加されることにより、ポリゴン221とポリゴン222との間の隙間が埋められ、クラックが消去される。つまり、デコーダの補正部がこのようにペア情報に基づいてペアリング処理を行うことにより、デコーダは、ポリゴン221とポリゴン222との間のクラックをより確実に消去することができる。つまり、クラックの発生をより確実に抑制することができる。したがって、符号化および復号による3Dデータの品質の低減を抑制することができる。
 なお、多数の頂点がペアを構成する場合、デコーダの補正部は、図20のCに示されるように、頂点を3つずつ用いてポリゴンを生成すればよい。
 また、ペアリング処理において、デコーダの補正部が、以上のような複数の手法の内のいずれかを選択して適用することができるようにしてもよい。その選択方法は任意である。
 例えば、符号化前の状態において1つの頂点であったペアの頂点をペアリングする場合や、重複点の保持が必要でない場合等に、デコーダの補正部が、ペアを構成する複数の頂点を単数の頂点に変換してもよい。また、例えば、符号化前の状態において重複点があり、その重複点を保持したい場合等に、デコーダの補正部が、ペアを構成する複数の頂点を重複点としてもよい。さらに、メッシュを張る方が点を動かすよりも主観評価が良い場合等に、デコーダの補正部が、ペアを構成する複数の頂点を用いてポリゴンを追加してもよい。さらに、ペアリング処理の方法を指定する情報がエンコーダからデコーダに伝送されるようにしてもよい。例えば、シーケンス単位、リスト単位、ペア単位等、任意の単位でこの情報が伝送されるようにしてもよい。
  <座標決定方法>
 以上のように、ペアリング処理において、ペアを構成する頂点を1つの頂点に変換する場合の、変換後の頂点の座標の決定方法は任意である。
 例えば、図6に示される表の上から16段目に示されるように、デコーダの補正部が、単数の頂点に変換した後のその頂点の位置を、変換前の複数の頂点(すなわち、ペアを構成する複数の頂点)の内のいずれかの位置に設定してもよい。つまり、ペアを構成する複数の頂点のいずれかの位置に他の頂点を移動させてもよい。
 その場合、他の頂点の移動先とする頂点の選択方法(ペアを構成する頂点の中から、どの頂点の位置に他の頂点を移動させるかを決める方法)は任意である。例えば、図6に示される表の上から17段目に示されるように、その移動先として選択する頂点を示す情報がエンコーダからデコーダに伝送されるようにしてもよい。つまり、この情報には、変換前の複数の頂点の内のいずれかが示されている。
 そして、デコーダの補正部が、その変換前の複数の頂点の内のいずれかを示す情報に基づいて、変換後の単数の頂点の位置を設定してもよい。つまり、デコーダは、その情報により指定された頂点の位置に他の頂点を移動させるようにペアリング処理を実行する。
 このようにデコーダの補正部がエンコーダの指定に従って、移動先とする頂点を選択することにより、デコーダは、再構成する順によって採用される座標が変わることを抑制することができる。
 また、例えば、図6に示される表の最下段に示されるように、デコーダの補正部が、単数の頂点に変換した後のその頂点の位置を、変換前の複数の頂点の位置(ペアを構成する各頂点の座標)の(重み付き)平均の位置に設定してもよい。
 同様に、ペアリング処理において、ペアを構成する頂点を重複点にする場合の、その重複点の座標の決定方法も任意である。
 例えば、図6に示される表の上から16段目に示されるように、デコーダの補正部が、重複点の位置を、ペアを構成する複数の頂点の内のいずれかの位置に設定してもよい。
 その場合、その頂点の選択方法は任意である。例えば、図6に示される表の上から17段目に示されるように、その重複点の位置として選択する頂点を示す情報がエンコーダからデコーダに伝送されるようにしてもよい。つまり、この情報には、変換前の複数の頂点の内のいずれかが示されている。
 そして、デコーダの補正部が、その変換前の複数の頂点の内のいずれかを示す情報に基づいて、重複点の位置を設定してもよい。つまり、デコーダの補正部は、その情報により指定された頂点の位置に重複点を形成するようにペアリング処理を実行する。
 このような手法により、例えば、エンコーダが符号化前の状態のメッシュに基づいて、この情報を生成してデコーダに伝送し、デコーダがその情報に基づいて重複点を設定するといったことを実現することができる。これにより、デコーダは、より容易にクラック発生前の状態を再現することができるようになる。
 また、例えば、図6に示される表の最下段に示されるように、デコーダの補正部が、重複点の位置を、ペアを構成する複数の頂点の位置(座標)の(重み付き)平均の位置に設定してもよい。
  <応用例>
 なお、ペア情報は、ペアを構成する頂点(またはエッジ)について全て伝送してもよいし、一部の頂点(またはエッジ)について伝送してもよい。一部の頂点についてのみペア情報を伝送することにより、ペア情報の符号量の増大を抑制することができる。つまり、ペア情報の符号化効率の低減を抑制することができる。
 例えば、ジッパーリング等、他の補正方法で補正できなかったペアについてのみ、ペア情報を伝送するようにしてもよい。その場合、エンコーダが、3Dデータの符号化データを復号し、ジッパーリング等を行って補正ができない個所を特定し、その特定した箇所のペアのペア情報を生成する機能を備えるようにすればよい。
 <3.第1の実施の形態>
  <符号化装置>
 以上において説明した本技術は、任意の装置に適用し得る。例えば、図21に示されるような符号化装置300に、本技術を適用することができる。図21は、本技術を適用した情報処理装置の一実施の形態である符号化装置の構成の一例を示すブロック図である。図21に示される符号化装置300は、VPCCを拡張してMeshを用いた3Dデータをビデオフレームとして2次元画像用の符号化方法により符号化する装置である。その際、符号化装置300は、上述した本技術の各種方法の内の、単数の方法を適用して、または複数の方法を組み合わせて適用して、符号化する。
 なお、図21においては、処理部やデータの流れ等の主なものを示しており、図21に示されるものが全てとは限らない。つまり、符号化装置300において、図21においてブロックとして示されていない処理部が存在したり、図21において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図21に示されるように符号化装置300は、メッシュボクセル化部311、パッチ生成部312、ペア情報生成部313、ジオメトリ画像生成部314、オキュパンシー画像生成部315、ペア情報符号化部316、メタ情報符号化部317、2D符号化部318、2D符号化部319、2D符号化部320、および多重化部321を有する。ジオメトリ画像生成部314およびオキュパンシー画像生成部315は、本開示において画像生成部331とみなしてもよい。また、ペア情報符号化部316、メタ情報符号化部317、2D符号化部318、2D符号化部319、および2D符号化部320は、本開示において符号化部332とみなしてもよい。さらに、本開示において、ペア情報生成部313を単に生成部と称する場合もある。また、本開示において、ペア情報符号化部316を単に符号化部と称する場合もある。
 符号化装置300には、Meshを用いた3Dデータとして、コネクティビティ351、頂点情報352、UVマップ353、テクスチャ354が供給される。
 コネクティビティ351は、コネクティビティ32(図2)と同様の情報であり、ポリゴンを形成する各頂点(互いに接続する各頂点)を、ポリゴン毎に示す。頂点情報352は、頂点情報31(図2)と同様の情報であり、Meshを形成する各頂点の座標を示す。UVマップ353は、UVマップ34(図2)と同様の情報であり、各頂点のテクスチャ画像上の位置を示す。テクスチャ354は、テクスチャ画像33(図2)と同様の情報であり、ポリゴンに張り付けられるテクスチャを示す。つまり、テクスチャ354は、テクスチャ画像を含む情報である。
 メッシュボクセル化部311は、符号化装置300に供給される頂点情報352を取得する。メッシュボクセル化部311は、取得した頂点情報352に含まれる各頂点の座標をボクセルグリッドに変換する。メッシュボクセル化部311は、変換後のボクセルグリッドの頂点情報352をパッチ生成部312に供給する。
 パッチ生成部312は、符号化装置300に供給されるコネクティビティ351およびUVマップ353を取得する。また、パッチ生成部312は、メッシュボクセル化部311から供給されるボクセルグリッドの頂点情報352を取得する。パッチ生成部312は、それらの情報に基づいて、ジオメトリのパッチを生成する。また、パッチ生成部312は、生成したジオメトリのパッチを投影面に投影し、パッチ画像を生成する。
 パッチ生成部312は、生成したパッチ画像、コネクティビティ351、頂点情報352、およびUVマップ353等の情報をペア情報生成部313に供給する。また、パッチ生成部312は、コネクティビティ351およびUVマップ353等の情報をメタ情報としてメタ情報符号化部317に供給する。さらに、パッチ生成部312は、生成したパッチ画像をジオメトリ画像生成部314に供給する。また、パッチ生成部312は、生成したパッチ画像をオキュパンシー画像生成部315に供給する。
 ペア情報生成部313は、パッチ生成部312から供給されるパッチ画像、コネクティビティ351、頂点情報352、およびUVマップ353等の情報を取得する。ペア情報生成部313は、それらの情報に基づいて、メッシュにおいて1つの頂点または重複点であった複数の頂点により構成されるペアを示すペア情報を生成する。このペア情報は、<2.ペア情報の伝送>の項(<ペア情報の生成>乃至<応用例>の項を含む)等において説明したような情報を含み得る。ペア情報生成部313は、<ペア情報の生成>の項等において説明したように、このペア情報を生成する。
 つまり、ペア情報生成部313(生成部)は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、第1のパッチの少なくとも1つの頂点と符号化前のオブジェクトにおいて第1のパッチの頂点の位置と同位置にある第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成する。
 なお、このペア情報は、ペア情報に含まれる頂点により構成されるペアのみを示す情報であってもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、第1のエッジの両端に位置する頂点と第1のエッジの中間に位置する頂点の組み合わせと、第2のエッジの両端に位置する頂点と第2のエッジの中間に位置する頂点の組み合わせの対応関係を示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、復号時における第1のエッジに対するスキャン方向と復号時における第2のエッジに対するスキャン方向の対応関係を示す情報を含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点と第2のパッチの対応する複数の頂点がそれぞれペアであることを示してもよい。
 このペア情報が、ペアを構成する頂点の数を示すパラメータを含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点からなるグループと、第2のパッチの複数の頂点からなるグループを示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける頂点それぞれの状態に対応する識別情報を用いてペアを示すようにしてもよい。
 このペア情報は、画像の2次元平面における複数の頂点の各座標に基づいてペアを示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした、姿勢が補正された状態の第2のパッチにおける、基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、他のペアの、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を基準とした、処理対象ペアの基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 ペア情報生成部313は、生成したペア情報をペア情報符号化部316に供給する。
 画像生成部331は、画像(フレーム画像)の生成に関する処理を行う。ジオメトリ画像生成部314は、パッチ生成部312から供給されるパッチ画像を取得する。ジオメトリ画像生成部314は、そのパッチ画像を2次元平面に配置し、ジオメトリ画像を生成する。ジオメトリ画像生成部314は、ジオメトリビデオフレームとして2D符号化部318に供給する。
 オキュパンシー画像生成部315は、パッチ生成部312から供給されるパッチ画像を取得する。オキュパンシー画像生成部315は、そのパッチ画像を用いてオキュパンシー画像を生成する。オキュパンシー画像生成部315は、生成したオキュパンシー画像を2D符号化部319に供給する。
 符号化部332は、符号化に関する処理を行う。ペア情報符号化部316(符号化部)は、ペア情報生成部313から供給されるペア情報を取得する。ペア情報符号化部316は、取得したペア情報を所定の符号化方式で符号化し、ペア情報の符号化データを生成する。この符号化方式は任意である。ペア情報符号化部316は、生成したペア情報の符号化データを多重化部321に供給する。
 メタ情報符号化部317は、パッチ生成部312から供給されたメタ情報(コネクティビティ351およびUVマップ353を含む)を取得する。メタ情報符号化部317は、取得したメタ情報を符号化し、メタ情報の符号化データを生成する。メタ情報符号化部317は、生成したメタ情報の符号化データを多重化部321に供給する。
 2D符号化部318は、ジオメトリ画像生成部314から供給されるジオメトリ画像を取得する。2D符号化部318は、取得したジオメトリ画像を2D画像用の符号化方式で符号化し、ジオメトリ画像の符号化データを生成する。2D符号化部318は、生成したジオメトリ画像の符号化データを多重化部321に供給する。
 2D符号化部319は、オキュパンシー画像生成部315から供給されるオキュパンシー画像を取得する。2D符号化部319は、取得したオキュパンシー画像を2D画像用の符号化方式で符号化し、オキュパンシー画像の符号化データを生成する。2D符号化部319は、生成したオキュパンシー画像の符号化データを多重化部321に供給する。
 2D符号化部320は、符号化装置300に供給されたテクスチャ354を取得する。2D符号化部320は、取得したテクスチャ354(つまり、テクスチャ画像)を2D画像用の符号化方式で符号化し、テクスチャ画像の符号化データを生成する。2D符号化部320は、生成したテクスチャ画像の符号化データを多重化部321に供給する。
 多重化部321は、ペア情報符号化部316から供給されたペア情報の符号化データを取得する。また、多重化部321は、メタ情報符号化部317から供給されたメタ情報の符号化データを取得する。さらに、多重化部321は、2D符号化部318から供給されたジオメトリ画像の符号化データを取得する。また、多重化部321は、2D符号化部319から供給されたオキュパンシー画像の符号化データを取得する。さらに、多重化部321は、2D符号化部320から供給されたテクスチャ画像の符号化データを取得する。多重化部321は、取得したそれらの情報を多重化して1本のビットストリームを生成する。多重化部321は、生成したビットストリームを符号化装置300の外部に出力する。
 なお、これらの処理部(メッシュボクセル化部311乃至多重化部321)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 この符号化装置300により実行される符号化処理の流れの例を、図22のフローチャートを参照して説明する。
 符号化処理が開始されると、メッシュボクセル化部311は、ステップS301において、頂点情報352に含まれる各頂点の座標をボクセルグリッド化することにより、メッシュをボクセルグリッド化する。
 ステップS302において、パッチ生成部312は、ステップS301においてボクセルグリッド化された頂点情報352等を用いてパッチを生成し、生成したパッチを投影面に投影し、パッチ画像を生成する。
 ステップS303において、ペア情報生成部313は、コネクティビティ351、ステップS301においてボクセルグリッド化された頂点情報352、UVマップ353等の情報を適宜用いて、メッシュにおいて1つの頂点または重複点であった複数の頂点により構成されるペアを示すペア情報を生成する。このペア情報は、<2.ペア情報の伝送>の項(<ペア情報の生成>乃至<応用例>の項を含む)等において説明したような情報を含み得る。ペア情報生成部313は、<ペア情報の生成>の項等において説明したように、このペア情報を生成する。
 つまり、ペア情報生成部313(生成部)は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、第1のパッチの少なくとも1つの頂点と符号化前のオブジェクトにおいて第1のパッチの頂点の位置と同位置にある第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成する。
 なお、このペア情報は、ペア情報に含まれる頂点により構成されるペアのみを示す情報であってもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、第1のエッジの両端に位置する頂点と第1のエッジの中間に位置する頂点の組み合わせと、第2のエッジの両端に位置する頂点と第2のエッジの中間に位置する頂点の組み合わせの対応関係を示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、復号時における第1のエッジに対するスキャン方向と復号時における第2のエッジに対するスキャン方向の対応関係を示す情報を含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点と第2のパッチの対応する複数の頂点がそれぞれペアであることを示してもよい。
 このペア情報が、ペアを構成する頂点の数を示すパラメータを含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点からなるグループと、第2のパッチの複数の頂点からなるグループを示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける頂点それぞれの状態に対応する識別情報を用いてペアを示すようにしてもよい。
 このペア情報は、画像の2次元平面における複数の頂点の各座標に基づいてペアを示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした、姿勢が補正された状態の第2のパッチにおける、基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、他のペアの、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を基準とした、処理対象ペアの基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 ステップS304において、ジオメトリ画像生成部314は、ステップS302において生成されたパッチ画像とUVマップ353とに基づいて、ジオメトリ画像を生成する。
 ステップS305において、オキュパンシー画像生成部315は、ステップS304において生成されるジオメトリ画像に対応するオキュパンシー画像を生成する。
 ステップS306において、ペア情報符号化部316(符号化部)は、ステップS303において生成されたペア情報を所定の符号化方式で符号化し、ペア情報の符号化データを生成する。この符号化方式は任意である。
 ステップS307において、メタ情報符号化部317は、メタ情報(コネクティビティ351やUVマップ353等)を符号化し、メタ情報の符号化データを生成する。
 ステップS308において、2D符号化部318は、ステップS304において生成されたジオメトリ画像を符号化し、ジオメトリ画像の符号化データを生成する。
 ステップS309において、2D符号化部319は、ステップS305においてオキュパンシー画像生成部315により生成されたオキュパンシー画像を符号化し、オキュパンシー画像の符号化データを生成する。
 ステップS310において、2D符号化部320は、テクスチャ354(つまりテクスチャ画像)を符号化し、テクスチャ画像の符号化データを生成する。
 ステップS311において、多重化部321は、ステップS306において生成されたペア情報の符号化データ、ステップS307において生成されたメタ情報の符号化データ、ステップS308において生成されたジオメトリ画像の符号化データ、ステップS309において生成されたオキュパンシー画像の符号化データ、および、ステップS310において生成されたテクスチャ画像の符号化データを多重化し、1本のビットストリームを生成する。多重化部321は、生成したビットストリームを符号化装置300の外部に出力する。
 ステップS311の処理が終了すると符号化処理が終了する。
 符号化装置300が、以上のような構成を有し、以上のような各種処理を実行してペア情報をデコーダに伝送することにより、このビットストリームを復号するデコーダが、より確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うことができる。したがって、符号化装置300は、符号化および復号による3Dデータの品質の低減を抑制することができる。
 <4.第2の実施の形態>
  <復号装置>
 本技術はまた、例えば、図23に示されるような復号装置400に適用することができる。図23は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図23に示される復号装置400は、VPCCを拡張してメッシュを用いた3Dデータをビデオフレームとして2次元画像用の符号化方法により符号化された符号化データを、2次元画像用の復号方法により復号し、メッシュを用いた3Dデータを生成(再構成)する装置である。その際、復号装置400は、上述した本技術の各種方法の内の、単数の方法を適用して、または複数の方法を組み合わせて適用して、符号化データを復号し、3Dデータを再構成する。
 なお、図23においては、処理部やデータの流れ等の主なものを示しており、図23に示されるものが全てとは限らない。つまり、復号装置400において、図23においてブロックとして示されていない処理部が存在したり、図23において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図23に示されるように復号装置400は、逆多重化部411、ペア情報復号部412、メタ情報復号部413、2D復号部414、2D復号部415、2D復号部416、パッチ再構成部417、頂点情報再構成部418、およびペアリング処理部419を有する。ペア情報復号部412、メタ情報復号部413、2D復号部414、2D復号部415、および2D復号部416は、本開示において復号部431とみなしてもよい。また、本開示において、ペア情報復号部412を単に復号部と称する場合もある。さらに、本開示において、ペアリング処理部419を補正部と称する場合もある。
 逆多重化部411は、復号装置400に入力されるビットストリームを取得する。このビットストリームは、第1の実施の形態において上述したように、例えば符号化装置300により生成されたビットストリームであり、メッシュを用いた3DデータがVPCCを拡張して符号化されたものである。
 逆多重化部411は、このビットストリームを逆多重化し、そのビットストリームに含まれる各符号化データを生成する。つまり、逆多重化部411は、その逆多重化により、ビットストリームから各符号化データを抽出する。例えば、逆多重化部411は、ビットストリームからペア情報の符号化データを抽出する。また、逆多重化部411は、ビットストリームからメタ情報の符号化データを抽出する。さらに、逆多重化部411は、ビットストリームからジオメトリ画像の符号化データを抽出する。また、逆多重化部411は、ビットストリームからオキュパンシー画像の符号化データを抽出する。さらに、逆多重化部411は、ビットストリームからテクスチャ画像の符号化データを抽出する。
 逆多重化部411は、抽出した符号化データを復号部431に供給する。例えば、逆多重化部411は、抽出したペア情報の符号化データをペア情報復号部412に供給する。また、逆多重化部411は、抽出したメタ情報の符号化データをメタ情報復号部413に供給する。さらに、逆多重化部411は、抽出したジオメトリ画像の符号化データを2D復号部414に供給する。また、逆多重化部411は、抽出したオキュパンシー画像の符号化データを2D復号部415に供給する。さらに、逆多重化部411は、抽出したテクスチャ画像の符号化データを2D復号部416に供給する。
 復号部431は、復号に関する処理を実行する。ペア情報復号部412は、逆多重化部411から供給されるペア情報の符号化データを取得する。ペア情報復号部412は、その符号化データを所定の復号方式で復号し、ペア情報を生成する。この復号方式は、符号化装置300のペア情報符号化部316(図21)がペア情報の符号化において適用した符号化方式に対応するものであれば任意である。
 つまり、ペア情報復号部412(復号部)は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、第1のパッチの少なくとも1つの頂点と符号化前のオブジェクトにおいて第1のパッチの頂点の位置と同位置にある第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、ペア情報を得る。
 ペア情報復号部412は、生成したペア情報をペアリング処理部419に供給する。
 メタ情報復号部413は、逆多重化部411から供給されるメタ情報の符号化データを取得する。メタ情報復号部413は、取得したメタ情報の符号化データを復号し、メタ情報を生成する。このメタ情報には、コネクティビティ451およびUVマップ452が含まれる。メタ情報復号部413は、生成したコネクティビティ451およびUVマップ452を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置400の外部に出力する。また、メタ情報復号部413は、生成したコネクティビティ451やUVマップ452をパッチ再構成部417に供給する。
 2D復号部414は、逆多重化部411から供給されるジオメトリ画像の符号化データを取得する。2D復号部414は、取得したジオメトリ画像の符号化データを2D画像用の復号方式で復号し、ジオメトリ画像を生成する。この復号方式は、符号化装置300の2D符号化部318(図21)がジオメトリ画像の符号化において適用した符号化方式に対応するものである。2D復号部414は、生成したジオメトリ画像をパッチ再構成部417に供給する。
 2D復号部415は、逆多重化部411から供給されるオキュパンシー画像の符号化データを取得する。2D復号部415は、取得したオキュパンシー画像の符号化データを2D画像用の復号方式で復号し、オキュパンシー画像を生成する。この復号方式は、符号化装置300の2D符号化部319(図21)がオキュパンシー画像の符号化において適用した符号化方式に対応するものである。2D復号部415は、生成したオキュパンシー画像をパッチ再構成部417に供給する。
 2D復号部416は、逆多重化部411から供給されるテクスチャ画像の符号化データを取得する。2D復号部416は、取得したテクスチャ画像の符号化データを2D画像用の復号方式で復号し、テクスチャ画像(テクスチャ454)を生成する。この復号方式は、符号化装置300の2D符号化部320(図21)がテクスチャ画像の符号化において適用した符号化方式に対応するものである。2D復号部416は、生成したテクスチャ画像(テクスチャ454)を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置400の外部に出力する。
 パッチ再構成部417は、メタ情報復号部413から供給されるメタ情報(コネクティビティ451およびUVマップ452等)を取得する。また、パッチ再構成部417は、2D復号部414から供給されるジオメトリ画像を取得する。さらに、パッチ再構成部417は、2D復号部415から供給されるオキュパンシー画像を取得する。パッチ再構成部417は、オキュパンシー画像やメタ情報を用いて、ジオメトリ画像からパッチ画像を抽出し、抽出したパッチ画像に対応するパッチを再構成する。パッチ再構成部417は、再構成したパッチや、使用したメタ情報(コネクティビティ451およびUVマップ452等)を頂点情報再構成部418に供給する。
 頂点情報再構成部418は、パッチ再構成部417から供給されるパッチやメタ情報を取得する。頂点情報再構成部418は、取得したパッチから、そのパッチの領域に含まれる頂点を再構成し、頂点情報453を生成する。頂点情報再構成部418は、生成した頂点情報453を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置400の外部に出力する。また、頂点情報再構成部418は、生成した頂点情報453やメタ情報(コネクティビティ451およびUVマップ452等)をペアリング処理部419に供給する。
 ペアリング処理部419は、ペア情報復号部412から供給されるペア情報を取得する。このペア情報は、符号化装置300から伝送された情報であり、<2.ペア情報の伝送>の項(<ペア情報の生成>乃至<応用例>の項を含む)等において説明したような情報を含み得る。
 例えば、このペア情報が、ペア情報に含まれる頂点により構成されるペアのみを示す情報であってもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、第1のエッジの両端に位置する頂点と第1のエッジの中間に位置する頂点の組み合わせと、第2のエッジの両端に位置する頂点と第2のエッジの中間に位置する頂点の組み合わせの対応関係を示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、復号時における第1のエッジに対するスキャン方向と復号時における第2のエッジに対するスキャン方向の対応関係を示す情報を含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点と第2のパッチの対応する複数の頂点がそれぞれペアであることを示してもよい。
 このペア情報が、ペアを構成する頂点の数を示すパラメータを含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点からなるグループと、第2のパッチの複数の頂点からなるグループを示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける頂点それぞれの状態に対応する識別情報を用いてペアを示すようにしてもよい。
 このペア情報は、画像の2次元平面における複数の頂点の各座標に基づいてペアを示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした、姿勢が補正された状態の第2のパッチにおける、基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、他のペアの、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を基準とした、処理対象ペアの基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 また、ペアリング処理部419は、頂点情報再構成部418から供給される頂点情報453やメタ情報を取得する。ペアリング処理部419は、そのペア情報に基づいて、頂点情報453に含まれる頂点のペアリング処理を行う。その際、ペアリング処理部419は、<頂点補間>、<ペアリング処理>、<座標決定方法>、および<応用例>等の項において説明したように、ペアリング処理を実行する。
 つまり、ペアリング処理部419(補正部)は、再構成されたメッシュを、そのペア情報に基づいて補正する。
 その際、ペアリング処理部419(補正部)は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とのうちの一方の頂点を削除し、削除した頂点の接続を他方の頂点の接続に変換してもよい。
 また、ペアリング処理部419(補正部)は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とのうちの一方の頂点を他方の頂点の位置に移動してもよい。
 また、ペアリング処理部419(補正部)は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とを含むポリゴンを形成してもよい。
 また、ペアリング処理部419(補正部)は、ペアを構成する頂点であって、ペア情報に含まれない頂点を補間してもよい。
 このようなペアリング処理により、頂点情報453が適宜更新される。ペアリング処理部419は、更新した頂点情報453を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置400の外部に出力する。
 なお、これらの処理部(逆多重化部411乃至ペアリング処理部419)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 この復号装置400により実行される復号処理の流れの例を、図24のフローチャートを参照して説明する。
 復号処理が開始されると、逆多重化部411は、ステップS401において、復号装置400に入力されたビットストリームを逆多重化する。この逆多重化により、逆多重化部411は、ビットストリームからペア情報の符号化データを抽出する。また、逆多重化部411は、ビットストリームからメタ情報の符号化データを抽出する。さらに、逆多重化部411は、ビットストリームからジオメトリ画像の符号化データを抽出する。また、逆多重化部411は、ビットストリームからオキュパンシー画像の符号化データを抽出する。さらに、逆多重化部411は、ビットストリームからテクスチャ画像の符号化データを抽出する。
 ステップS402において、ペア情報復号部412は、ステップS401においてビットストリームから抽出されたペア情報の符号化データを所定の復号方式で復号し、ペア情報を生成(復元)する。このペア情報は、符号化装置300から伝送された情報であり、<2.ペア情報の伝送>の項(<ペア情報の生成>乃至<応用例>の項を含む)等において説明したような情報を含み得る。
 つまり、ペア情報復号部412(復号部)は、3次元構造のオブジェクトを表現するメッシュをパッチに分割することによりメッシュの単数の頂点または互いに同位置の複数の頂点から生成されるパッチの複数の頂点により構成されるペアを示すペア情報の符号化データを復号し、そのペア情報を得る。
 例えば、このペア情報が、ペア情報に含まれる頂点により構成されるペアのみを示す情報であってもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、第1のエッジの両端に位置する頂点と第1のエッジの中間に位置する頂点の組み合わせと、第2のエッジの両端に位置する頂点と第2のエッジの中間に位置する頂点の組み合わせの対応関係を示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける第1のパッチと第2のパッチの境界にそれぞれ対応する第1のパッチの第1のエッジおよび第2のパッチの第2のエッジに関し、復号時における第1のエッジに対するスキャン方向と復号時における第2のエッジに対するスキャン方向の対応関係を示す情報を含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点と第2のパッチの対応する複数の頂点がそれぞれペアであることを示してもよい。
 このペア情報が、ペアを構成する頂点の数を示すパラメータを含むようにしてもよい。
 このペア情報が、第1のパッチの複数の頂点からなるグループと、第2のパッチの複数の頂点からなるグループを示す情報を含むようにしてもよい。
 このペア情報が、符号化前のオブジェクトにおける頂点それぞれの状態に対応する識別情報を用いてペアを示すようにしてもよい。
 このペア情報は、画像の2次元平面における複数の頂点の各座標に基づいてペアを示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、複数の頂点のうち基準頂点の座標を基準とした第1のパッチと第2のパッチの間の相対ベクトルの位置を基準とした、姿勢が補正された状態の第2のパッチにおける、基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 このペア情報が、他のペアの、複数の頂点のうち基準頂点の座標を基準とした基準頂点と異なる頂点の相対座標を基準とした、処理対象ペアの基準頂点と異なる頂点の相対座標を示すようにしてもよい。
 なお、この処理において適用される復号方式は、符号化処理のステップS306(図22)において適用された符号化方式に対応するものであれば任意である。
 ステップS403において、メタ情報復号部413は、ステップS401においてビットストリームから抽出されたメタ情報の符号化データを復号し、メタ情報を生成(復元)する。このメタ情報は、コネクティビティ451およびUVマップ452を含む。
 ステップS404において、2D復号部414は、ステップS401においてビットストリームから抽出されたジオメトリ画像の符号化データを復号し、ジオメトリ画像を生成(復元)する。
 ステップS405において、2D復号部415は、ステップS401においてビットストリームから抽出されたオキュパンシー画像の符号化データを復号し、オキュパンシー画像を生成(復元)する。
 ステップS406において、2D復号部416は、ステップS401においてビットストリームから抽出されたテクスチャ画像の符号化データを復号し、テクスチャ画像(テクスチャ454)を生成(復元)する。
 ステップS407において、パッチ再構成部417は、ステップS402において生成されたメタ情報(コネクティビティ451およびUVマップ452等)を用いて、ステップS404において生成されたジオメトリ画像からパッチ画像を抽出し、そのパッチ画像に対応するパッチを再構成する。
 ステップS408において、頂点情報再構成部418は、ステップS407において再構成されたパッチから、そのパッチの領域に含まれる頂点を再構成し、頂点情報453を生成する。
 ステップS409において、ペアリング処理部419は、ステップS402において生成(復元)されたペア情報に基づいて、頂点情報453に含まれる頂点のペアリング処理を行う。その際、ペアリング処理部419は、<頂点補間>、<ペアリング処理>、<座標決定方法>、および<応用例>等の項において説明したように、ペアリング処理を実行する。
 つまり、ペアリング処理部419(補正部)は、再構成されたメッシュを、そのペア情報に基づいて補正する。
 その際、ペアリング処理部419(補正部)は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とのうちの一方の頂点を削除し、削除した頂点の接続を他方の頂点の接続に変換してもよい。
 また、ペアリング処理部419(補正部)は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とのうちの一方の頂点を他方の頂点の位置に移動してもよい。
 また、ペアリング処理部419(補正部)は、再構成されたメッシュにおいて、ペア情報によりペアであることが示される第1のパッチの頂点と第2のパッチの頂点とを含むポリゴンを形成してもよい。
 また、ペアリング処理部419(補正部)は、ペアを構成する頂点であって、ペア情報に含まれない頂点を補間してもよい。
 このようなペアリング処理により、頂点情報453が適宜更新される。
 ステップS409の処理が終了すると、復号処理が終了する。
 復号装置400は、以上のような構成を有し、以上のような各種処理を実行することにより、符号化装置300から伝送されたペア情報に基づいてペアリング処理を実行する。これにより、復号装置400は、より確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うことができる。したがって、復号装置400は、符号化および復号による3Dデータの品質の低減を抑制することができる。
 <5.正解座標の導出>
 ペアリング処理において、ペアを構成する頂点を1つの頂点に変換する場合の、変換後の頂点の座標の決定方法として、例えば、符号化前のその頂点の座標(正解座標とも称する)を変換後の頂点の座標としてもよい。つまり、ペアリング処理において、符号化および復号により移動した頂点が元の位置に戻されるようにしてもよい。
 例えば、3次元空間における、ペアを構成する各頂点のパッチの投影方向が互いに異なる場合、各頂点を通るその投影方向の直線の交点が符号化前のその頂点の座標(正解座標)である。例えば、図25に示されるように、パッチ511の頂点512とパッチ513の頂点514がペアを構成し、パッチ511の投影方向(すなわち、パッチ511の投影面の法線方向)と、パッチ513の投影方向(すなわち、パッチ513の投影面の法線方向)とが互いに異なるとする。この場合、頂点512を通るパッチ511の投影面の法線515と、頂点514を通るパッチ513の投影面の法線516の交点517が正解座標となる。したがって、復号装置は、ジオメトリのパッチからこの正解座標を求めることができる。
 つまり、復号装置の補正部は、ペアリング処理において、第1のパッチの法線方向と第2のパッチの法線方向とが一致しない場合、ペアを構成する第1のパッチの頂点および第2のパッチの頂点を、第1のパッチの法線と第2のパッチの法線との交点に移動させてもよい。
 これに対して、3次元空間における、ペアを構成する各頂点のパッチの投影方向が互いに同一の場合(正向きまたは逆向きの場合)、各頂点を通るその投影方向の直線の交点を求めることができないので、復号装置は、ジオメトリのパッチからこの正解座標を求めることができない。例えば、図26に示されるように、パッチ511の頂点512とパッチ513の頂点514がペアを構成し、パッチ511の投影方向(すなわち、パッチ511の投影面の法線方向)と、パッチ513の投影方向(すなわち、パッチ513の投影面の法線方向)とが互いに同一(正向きまたは逆向き)であるとする。この場合、頂点512を通るパッチ511の投影面の法線も、頂点514を通るパッチ513の投影面の法線も、法線516となるので、各頂点の座標から法線の交点(正解座標)を求めることができない。
 このように、3次元空間における、ペアを構成する各頂点のパッチの投影方向が互いに同一の場合、例えば、各頂点の座標の平均を正解座標としてペアリング処理が行われてもよい。つまり、復号装置の補正部が、第1のパッチの法線方向と第2のパッチの法線方向とが一致する場合、ペアを構成する第1のパッチの頂点および第2のパッチの頂点を、それぞれの位置の重み付き平均の位置に移動させてもよい。例えば、図26の場合、正解座標の投影面方向の成分は、頂点512および頂点514と同一となり、正解座標の法線516の方向の成分は、頂点512の座標と、頂点514の座標の平均となる。
 また、3次元空間における、ペアを構成する各頂点のパッチの投影方向が互いに同一の場合、例えば、各ペアについての符号化前の座標(正解座標)がペア情報として符号化装置から復号装置へ伝送されるようにしてもよい。つまり、ペア情報が、ペアリング処理においてペアを構成する各頂点が互いに同一の位置に移動される場合の、その移動先となる位置を示す情報を含むようにしてもよい。その場合、符号化装置が各ペアについて正解座標をペア情報に格納する。そして、復号装置は、ペアリング処理において、ペアを構成する各頂点を、そのペア情報に含まれる正解座標に移動する。このように、復号装置の補正部は、第1のパッチの法線方向と第2のパッチの法線方向とが一致する場合、ペアを構成する第1のパッチの頂点および第2のパッチの頂点を、ペア情報により示される位置に移動させてもよい。
 これらの場合であっても、デコーダが、より確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うことができる。つまり、符号化および復号による3Dデータの品質の低減を抑制することができる。
 <6.2次元によるペアリング処理>
 第2の実施の形態においては、ペアリング処理が3次元空間において行われる(すなわち、ペアを構成する各頂点の3次元座標が補正される)ように説明した。つまり、この場合、例えば図27に示されるように、ジオメトリの2D復号531が行われ、3Dデータの再構成532が行われた後、3次元空間の3Dデータについてペアリング処理533が行われる。例えば、図27に示されるように、ポリゴン541の頂点542とポリゴン544の頂点545とがペアを構成し、ポリゴン541の頂点543とポリゴン544の頂点546とがペアを構成するとする。そして、ペアリング処理により、頂点545が頂点542の位置に移動され、頂点546が頂点543の位置に移動されるとする。この場合、ペアリング処理により、頂点545の3次元座標(x4, y4, z4)が頂点542の3次元座標(x2, y2, z2)に変換される。また、頂点546の3次元座標(x6, y6, z6)が頂点543の3次元座標(x3, y3, z3)に変換される。
 ペアリング処理は、この例に限らず、例えば、2次元平面において行われてもよい。例えば図28に示されるように、ジオメトリの2D復号551が行われた後、2次元平面においてペアリング処理552が行われ、その後、3Dデータの再構成553が行われるようにしてもよい。この2次元平面は、例えば、ジオメトリ画像(デプス画像)であってもよいし、3次元空間上の2次元平面(xyz画像)であってもよい。2次元平面において行われるペアリング処理の場合、その2次元平面の、ペアを構成する各頂点に対応する画素値pが更新される。例えば、図28に示されるように、2次元平面560の画素561に対応する頂点と画素563に対応する頂点とがペアを構成し、画素562に対応する頂点と画素564に対応する頂点とがペアを構成するとする。また、ペアリング処理により、画素563に対応する頂点が画素561に対応する頂点の3次元位置に移動され、画素564に対応する頂点が画素562に対応する頂点の3次元位置に移動されるとする。この場合、2次元平面におけるペアリング処理により、画素563の画素値(p4)が画素561と同じ画素値(p2)に更新される。同様に、画素564の画素値(p6)が画素562と同じ画素値(p3)に更新される。例えば、この2次元平面がジオメトリ画像(デプス画像)である場合、画素値はデプス値(3次元空間におけるパッチの法線方向の座標)を示す。また、この2次元平面がxyz画像である場合、画素値は(x,y,z)座標を示す。
 つまり、復号装置の補正部が、符号化データが復号されて生成されたジオメトリ画像において、ペアを構成する第1のパッチの頂点および第2のパッチの頂点を、互いに同一の位置に移動させ、パッチ構成部が、その補正部により補正されたジオメトリ画像を用いてパッチを再構成し、頂点再構成部が、その再構成されたパッチを用いて頂点を再構成してもよい。
 このように2次元平面においてペアリング処理が行われる場合の補正後の頂点の位置(正解座標)の決定方法は、3次元空間におけるペアリング処理の場合と同様である。例えば、ペアを構成する各頂点の投影方向が互いに同一である場合、復号装置は、その各頂点の画素値を用いて正解座標(平均等)を導出し、その正解座標に各頂点を移動させてもよい。また、復号装置は、上述したように、ペア情報に格納される正解座標を用いて頂点を移動させてもよい。これに対して、ペアを構成する各頂点の投影方向が互いに異なる場合、復号装置は、その各頂点の3次元座標を導出し、その3次元座標を用いて正解座標(3次元座標)を求め、頂点がその3次元座標に移動するように、2次元平面における各頂点に対応する画素値を更新してもよい。
 これらの場合であっても、デコーダが、より確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うことができる。つまり、符号化および復号による3Dデータの品質の低減を抑制することができる。
 <7.第3の実施の形態>
  <符号化装置>
 図29は、本技術を適用した情報処理装置の一実施の形態である符号化装置の構成の他の例を示すブロック図である。図29に示される符号化装置600は、図21に示される符号化装置300と同様に、VPCCを拡張してMeshを用いた3Dデータをビデオフレームとして2次元画像用の符号化方法により符号化する装置である。この符号化装置600は、ローカルデコード機能を有しており、符号化されたジオメトリを復号し、その復号結果を用いてテクスチャ画像を更新する。その際、符号化装置600は、上述した本技術の各種方法の内の、単数の方法を適用して、または複数の方法を組み合わせて適用して、ペア情報を生成したり、ペアリング処理を行ったりする。
 なお、図29においては、処理部やデータの流れ等の主なものを示しており、図29に示されるものが全てとは限らない。つまり、符号化装置600において、図29においてブロックとして示されていない処理部が存在したり、図29において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図29に示されるように符号化装置600は、メッシュボクセル化部611、パッチ生成部612、メタ情報符号化部613、画像生成部614、2D符号化部615、2D復号部616、ペア情報生成部617、ペア情報符号化部618、ペアリング処理部619、画像生成部620、2D符号化部621、および多重化部622を有する。
 符号化装置300の場合と同様に、符号化装置600には、Meshを用いた3Dデータとして、コネクティビティ351、頂点情報352、UVマップ353、テクスチャ354が供給される。
 メッシュボクセル化部611は、メッシュボクセル化部311と同様の処理部であり、メッシュボクセル化部311と同様の処理を実行する。例えば、メッシュボクセル化部611は、符号化装置600に供給される頂点情報352を取得する。メッシュボクセル化部611は、取得した頂点情報352に含まれる各頂点の座標をボクセルグリッドに変換する。メッシュボクセル化部611は、変換後のボクセルグリッドの頂点情報352をパッチ生成部612に供給する。
 パッチ生成部612は、パッチ生成部312と同様の処理部であり、パッチ生成部312と同様の処理を実行する。例えば、パッチ生成部612は、符号化装置600に供給されるコネクティビティ351を取得する。また、パッチ生成部612は、メッシュボクセル化部611から供給されるボクセルグリッドの頂点情報352を取得する。パッチ生成部612は、それらの情報に基づいて、ジオメトリのパッチを生成する。また、パッチ生成部612は、生成したジオメトリのパッチを投影面に投影し、パッチ画像を生成する。パッチ生成部612は、コネクティビティ351や頂点情報352等の情報をメタ情報としてメタ情報符号化部613に供給する。また、パッチ生成部612は、生成したパッチ画像を画像生成部614や画像生成部620に供給する。
 メタ情報符号化部613は、メタ情報符号化部317と同様の処理部であり、メタ情報符号化部317と同様の処理を実行する。メタ情報符号化部613は、パッチ生成部612から供給されたメタ情報(コネクティビティ351や頂点情報352等を含む)を取得する。メタ情報符号化部613は、取得したメタ情報を符号化し、メタ情報の符号化データを生成する。メタ情報符号化部613は、生成したメタ情報の符号化データを多重化部622に供給する。
 画像生成部614は、パッチ生成部612から供給されるパッチ画像を取得する。画像生成部614は、そのパッチ画像を2次元平面に配置し、ジオメトリ画像を生成する。画像生成部614は、生成したジオメトリ画像をジオメトリビデオフレームとして2D符号化部615に供給する。また、画像生成部614は、そのジオメトリ画像に対応するオキュパンシー画像を生成する。画像生成部614は、生成したオキュパンシー画像を2D符号化部615に供給する。
 2D符号化部615は、画像生成部614から供給されるジオメトリ画像やオキュパンシー画像を取得する。2D符号化部615は、取得したジオメトリ画像を2D画像用の符号化方式で符号化し、ジオメトリ画像の符号化データを生成する。つまり、2D符号化部615は、ジオメトリ画像を符号化し、そのジオメトリ画像の符号化データを生成するジオメトリ符号化部とも言える。2D符号化部615は、生成したジオメトリ画像の符号化データを2D復号部616および多重化部622に供給する。また、2D符号化部615は、取得したオキュパンシー画像を2D画像用の符号化方式で符号化し、オキュパンシー画像の符号化データを生成する。2D符号化部615は、生成したオキュパンシー画像の符号化データを多重化部622に供給する。
 2D復号部616は、2D符号化部615から供給されるジオメトリ画像の符号化データを取得する。2D復号部616は、取得したジオメトリ画像の符号化データを2D画像用の復号方式で復号し、ジオメトリ画像を生成(復元)する。つまり、2D復号部616は、ジオメトリ画像の符号化データを復号し、そのジオメトリ画像を生成すジオメトリ復号部とも言える。2D復号部616は、生成したジオメトリ画像をペア情報生成部617に供給する。
 ペア情報生成部617は、2D復号部616から供給されるジオメトリ画像を取得する。また、ペア情報生成部617は、必要に応じて、コネクティビティ351、頂点情報352、およびUVマップ353等の情報を取得してもよい。ペア情報生成部617は、それらの情報に基づいて、メッシュにおいて1つの頂点または重複点であった複数の頂点により構成されるペアを示すペア情報を生成する。つまり、ペア情報生成部617は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、その第1のパッチの少なくとも1つの頂点と符号化前のオブジェクトにおいてその第1のパッチの頂点の位置と同位置にある第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成する。そして、ペア情報生成部617は、ジオメトリ復号部により生成されたジオメトリ画像に基づいて、そのペア情報を生成する。このペア情報は、<2.ペア情報の伝送>の項、<5.正解座標の導出>の項、および<6.2次元によるペアリング処理>の項等において説明したような情報を含み得る。ペア情報生成部617は、生成したペア情報をペア情報符号化部618に供給する。また、ペア情報生成部617は、生成したペア情報と取得した情報(ジオメトリ画像やメタ情報等)をペアリング処理部619に供給する。
 ペア情報符号化部618は、ペア情報生成部617から供給されるペア情報を取得する。ペア情報符号化部618は、取得したペア情報を所定の符号化方式で符号化し、ペア情報の符号化データを生成する。この符号化方式は任意である。ペア情報符号化部618は、生成したペア情報の符号化データを多重化部622に供給する。
 ペアリング処理部619は、ペア情報生成部617から供給されるペア情報、ジオメトリ画像、メタ情報等を取得する。ペアリング処理部619は、取得したペア情報に基づいてジオメトリ画像に含まれるパッチに対するペアリング処理を行う。その際、ペアリング処理部619は、<2.ペア情報の伝送>の項、<5.正解座標の導出>の項、および<6.2次元によるペアリング処理>の項等において説明したように、ペアリング処理を実行する。なお、ペアリング処理部619は、このペアリング処理を2次元平面において行ってもよいし、3次元空間において行ってもよい。3次元空間においてペアリング処理を行う場合、ペアリング処理部619は、ジオメトリ画像を用いて3Dデータを再構成してからペアリング処理を行い、そのペアリング処理後の3Dデータを用いてジオメトリ画像を生成する。ペアリング処理部619は、ペアリング処理後のジオメトリ画像を画像生成部620に供給する。
 画像生成部620は、符号化装置600に入力されるUVマップ353およびテクスチャ354を取得する。また、画像生成部620は、パッチ生成部612から供給されるパッチ画像を取得する。さらに、画像生成部620は、ペアリング処理部619から供給されるペアリング処理後のジオメトリ画像を取得する。画像生成部620は、取得したパッチ画像、ジオメトリ画像、UVマップ353等を用いて、テクスチャ354を更新し、ペアリング処理後のジオメトリ画像に対応するテクスチャ画像を生成する。また、画像生成部620は、必要に応じて、UVマップ353も更新してもよい。画像生成部620は、生成したテクスチャ画像を2D符号化部621に供給する。
 2D符号化部621は、画像生成部620から供給されたテクスチャ画像を取得する。2D符号化部621は、取得したテクスチャ画像を2D画像用の符号化方式で符号化し、テクスチャ画像の符号化データを生成する。2D符号化部621は、生成したテクスチャ画像の符号化データを多重化部622に供給する。
 多重化部321は、メタ情報符号化部613から供給されたメタ情報の符号化データを取得する。さらに、多重化部622は、2D符号化部615から供給されたジオメトリ画像の符号化データやオキュパンシー画像の符号化データを取得する。さらに、多重化部622は、ペア情報符号化部618から供給されたペア情報の符号化データを取得する。また、多重化部622は、2D符号化部621から供給されたテクスチャ画像の符号化データを取得する。多重化部622は、取得したそれらの情報を多重化して1本のビットストリームを生成する。多重化部622は、生成したビットストリームを符号化装置600の外部に出力する。
 このような構成とすることにより、符号化装置600は、デコーダがより確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うようにすることができる。つまり、符号化装置600は、符号化および復号による3Dデータの品質の低減を抑制することができる。
 なお、これらの処理部(メッシュボクセル化部611乃至多重化部622)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 この符号化装置600により実行される符号化処理の流れの例を、図30のフローチャートを参照して説明する。
 符号化処理が開始されると、メッシュボクセル化部611は、ステップS601において、頂点情報352に含まれる各頂点の座標をボクセルグリッド化することにより、メッシュをボクセルグリッド化する。
 ステップS602において、パッチ生成部612は、ステップS601においてボクセルグリッド化された頂点情報352等を用いてパッチを生成し、生成したパッチを投影面に投影し、パッチ画像を生成する。
 ステップS603において、メタ情報符号化部613は、メタ情報(コネクティビティ351やUVマップ353等)を符号化し、メタ情報の符号化データを生成する。
 ステップS604において、画像生成部614は、ステップS602において生成されたパッチ画像とUVマップ353とに基づいて、ジオメトリ画像とオキュパンシー画像を生成する。
 ステップS605において、2D符号化部615は、ステップS604において生成されたジオメトリ画像を符号化し、ジオメトリ画像の符号化データを生成する。また、2D符号化部615は、ステップS604において生成されたオキュパンシー画像を符号化し、オキュパンシー画像の符号化データを生成する。
 ステップS606において、2D復号部616は、ステップS605において生成されたジオメトリ画像の符号化データを復号し、ジオメトリ画像を生成する。
 ステップS607において、ペア情報生成部617は、ステップS606において生成されたジオメトリ画像やメタ情報等を用いて、メッシュにおいて1つの頂点または重複点であった複数の頂点により構成されるペアを示すペア情報を生成する。このペア情報は、<2.ペア情報の伝送>の項、<5.正解座標の導出>の項、および<6.2次元によるペアリング処理>の項等において説明したような情報を含み得る。
 ステップS608において、ペア情報符号化部618は、ステップS607において生成されたペア情報を所定の符号化方式で符号化し、ペア情報の符号化データを生成する。この符号化方式は任意である。
 ステップS609において、ペアリング処理部619は、ステップS607において生成されたペア情報等に基づいて、ステップS606において生成されたジオメトリ画像に対するペアリング処理を行う。その際、ペアリング処理部619は、<2.ペア情報の伝送>の項、<5.正解座標の導出>の項、および<6.2次元によるペアリング処理>の項等において説明したように、ペアリング処理を実行する。
 ステップS610において、画像生成部620は、ステップS602において生成されたパッチ画像、ステップS609において生成された、ペアリング処理後のジオメトリ画像を用いて、テクスチャ354を更新し、テクスチャ画像を生成する。
 ステップS611において、2D符号化部621は、ステップS610において生成されたテクスチャ画像を符号化し、テクスチャ画像の符号化データを生成する。
 ステップS612において、多重化部622は、ステップS603において生成されたメタ情報の符号化データ、ステップS605において生成されたジオメトリ画像の符号化データおよびオキュパンシー画像の符号化データ、ステップS608において生成されたペア情報の符号化データ、並びに、ステップS611において生成されたテクスチャ画像の符号化データを多重化し、ビットストリームを生成する。
 このように各処理を実行することにより、符号化装置600は、デコーダがより確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うようにすることができる。つまり、符号化装置600は、符号化および復号による3Dデータの品質の低減を抑制することができる。
 <8.第4の実施の形態>
  <復号装置>
 図31は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図31に示される復号装置700は、図23に示される復号装置400と同様に、VPCCを拡張してメッシュを用いた3Dデータをビデオフレームとして2次元画像用の符号化方法により符号化された符号化データを、2次元画像用の復号方法により復号し、メッシュを用いた3Dデータを生成(再構成)する装置である。その際、復号装置700は、上述した本技術の各種方法の内の、単数の方法を適用して、または複数の方法を組み合わせて適用して、符号化データを復号し、3Dデータを再構成する。ただし、復号装置700は、2次元平面においてペアリング処理を行う。
 なお、図31においては、処理部やデータの流れ等の主なものを示しており、図31に示されるものが全てとは限らない。つまり、復号装置700において、図31においてブロックとして示されていない処理部が存在したり、図31において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図31に示されるように復号装置700は、逆多重化部711、ペア情報復号部712、メタ情報復号部713、2D復号部714、ペアリング処理部715、パッチ再構成部716、頂点情報再構成部717、および2D復号部718を有する。
 逆多重化部711は、復号装置700に入力されるビットストリームを取得する。このビットストリームは、第1の実施の形態において上述したように、例えば符号化装置300や符号化装置600により生成されたビットストリームであり、メッシュを用いた3DデータがVPCCを拡張して符号化されたものである。
 逆多重化部711は、このビットストリームを逆多重化し、そのビットストリームに含まれる各符号化データを生成する。つまり、逆多重化部711は、その逆多重化により、ビットストリームから各符号化データを抽出する。例えば、逆多重化部711は、ビットストリームからペア情報の符号化データを抽出する。また、逆多重化部711は、ビットストリームからメタ情報の符号化データを抽出する。さらに、逆多重化部711は、ビットストリームからジオメトリ画像の符号化データを抽出する。また、逆多重化部711は、ビットストリームからオキュパンシー画像の符号化データを抽出する。さらに、逆多重化部711は、ビットストリームからテクスチャ画像の符号化データを抽出する。つまり、逆多重化部711は、これらの符号化データをビットストリームから取得する取得部であるとも言える。
 逆多重化部711は、抽出したペア情報の符号化データをペア情報復号部712に供給する。また、逆多重化部711は、抽出したメタ情報の符号化データをメタ情報復号部713に供給する。さらに、逆多重化部711は、抽出したジオメトリ画像の符号化データやオキュパンシー画像の符号化データを2D復号部714に供給する。また、逆多重化部711は、抽出したテクスチャ画像の符号化データを2D復号部718に供給する。
 ペア情報復号部712は、逆多重化部711から供給されるペア情報の符号化データを取得する。ペア情報復号部712は、その符号化データを所定の復号方式で復号し、ペア情報を生成する。この復号方式は、符号化装置300や符号化装置600がペア情報の符号化において適用した符号化方式に対応するものであれば任意である。
 つまり、ペア情報復号部712は、3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、第1のパッチの少なくとも1つの頂点と符号化前のオブジェクトにおいて第1のパッチの頂点の位置と同位置にある第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、ペア情報を得る。ペア情報復号部712は、生成したペア情報をペアリング処理部715に供給する。
 メタ情報復号部713は、逆多重化部711から供給されるメタ情報の符号化データを取得する。メタ情報復号部713は、取得したメタ情報の符号化データを復号し、メタ情報を生成する。このメタ情報には、コネクティビティ451およびUVマップ452が含まれる。メタ情報復号部713は、生成したコネクティビティ451およびUVマップ452を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置700の外部に出力する。また、メタ情報復号部713は、生成したコネクティビティ451やUVマップ452をパッチ再構成部716に供給する。
 2D復号部714は、逆多重化部711から供給されるジオメトリ画像の符号化データやオキュパンシー画像の符号化データを取得する。2D復号部714は、取得したジオメトリ画像の符号化データを2D画像用の復号方式で復号し、ジオメトリ画像を生成する。また、2D復号部714は、取得したオキュパンシー画像の符号化データを2D画像用の復号方式で復号し、オキュパンシー画像を生成する。これらの復号方式は、符号化装置300や符号化装置600がジオメトリ画像の符号化において適用した符号化方式に対応するものである。2D復号部714は、生成したジオメトリ画像およびオキュパンシー画像をペアリング処理部715に供給する。
 ペアリング処理部715は、ペア情報復号部712から供給されるペア情報を取得する。このペア情報は、例えば符号化装置300や符号化装置600から伝送された情報であり、<2.ペア情報の伝送>、<5.正解座標の導出>、<6.2次元によるペアリング処理>等の項において説明したような情報を含み得る。また、ペアリング処理部715は、2D復号部714から供給されるジオメトリ画像やオキュパンシー画像を取得する。ペアリング処理部715は、取得したペア情報に基づいてジオメトリ画像に含まれるパッチに対するペアリング処理を行う。つまり、ペアリング処理部715は、ペアを構成する頂点のジオメトリを、ペア情報に基づいて補正する補正部とも言える。その際、ペアリング処理部715は、<6.2次元によるペアリング処理>の項等において説明したように、2次元平面(例えばジオメトリ画像)においてペアリング処理を実行する。ペアリング処理部715は、ペアリング処理後のジオメトリ画像やオキュパンシー画像等をパッチ再構成部716に供給する。
 パッチ再構成部716は、メタ情報復号部713から供給されるメタ情報(コネクティビティ451およびUVマップ452等)を取得する。また、パッチ再構成部716は、ペアリング処理部715から供給されるペアリング処理後のジオメトリ画像やオキュパンシー画像を取得する。パッチ再構成部716は、オキュパンシー画像やメタ情報を用いて、ジオメトリ画像からパッチ画像を抽出し、抽出したパッチ画像に対応するパッチを再構成する。パッチ再構成部716は、再構成したパッチや、使用したメタ情報(コネクティビティ451およびUVマップ452等)を頂点情報再構成部717に供給する。
 頂点情報再構成部717は、パッチ再構成部716から供給されるパッチやメタ情報を取得する。頂点情報再構成部717は、取得したパッチから、そのパッチの領域に含まれる頂点を再構成し、頂点情報453を生成する。つまり、頂点情報再構成部717は、再構成されたパッチを用いて頂点を再構成する頂点再構成部とも言える。頂点情報再構成部717は、生成した頂点情報453を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置700の外部に出力する。
 2D復号部718は、逆多重化部711から供給されるテクスチャ画像の符号化データを取得する。2D復号部718は、取得したテクスチャ画像の符号化データを2D画像用の復号方式で復号し、テクスチャ画像(テクスチャ454)を生成する。この復号方式は、符号化装置300や符号化装置600がテクスチャ画像の符号化において適用した符号化方式に対応するものである。2D復号部718は、生成したテクスチャ画像(テクスチャ454)を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置700の外部に出力する。
 このような構成とすることにより、復号装置700は、より確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うようにすることができる。つまり、復号装置700は、符号化および復号による3Dデータの品質の低減を抑制することができる。
 なお、これらの処理部(逆多重化部711乃至2D復号部718)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 この復号装置700により実行される復号処理の流れの例を、図32のフローチャートを参照して説明する。
 復号処理が開始されると、逆多重化部711は、ステップS701において、復号装置700に入力されたビットストリームを逆多重化する。この逆多重化により、逆多重化部711は、ビットストリームからペア情報の符号化データを抽出(取得)する。また、逆多重化部711は、ビットストリームからメタ情報の符号化データを抽出(取得)する。さらに、逆多重化部711は、ビットストリームからジオメトリ画像の符号化データを抽出(取得)する。また、逆多重化部711は、ビットストリームからオキュパンシー画像の符号化データを抽出(取得)する。さらに、逆多重化部711は、ビットストリームからテクスチャ画像の符号化データを抽出(取得)する。
 ステップS702において、ペア情報復号部712は、ステップS701においてビットストリームから抽出されたペア情報の符号化データを所定の復号方式で復号し、ペア情報を生成(復元)する。このペア情報は、符号化装置300や符号化装置600等から伝送された情報であり、<2.ペア情報の伝送>、<5.正解座標の導出>、<6.2次元によるペアリング処理>等の項において説明したような情報を含み得る。
 つまり、ペア情報復号部712は、3次元構造のオブジェクトを表現するメッシュをパッチに分割することによりメッシュの単数の頂点または互いに同位置の複数の頂点から生成されるパッチの複数の頂点により構成されるペアを示すペア情報の符号化データを復号し、そのペア情報を得る。
 ステップS703において、メタ情報復号部713は、ステップS701においてビットストリームから抽出されたメタ情報の符号化データを復号し、メタ情報を生成(復元)する。このメタ情報は、コネクティビティ451およびUVマップ452を含む。
 ステップS704において、2D復号部714は、ステップS701においてビットストリームから抽出されたジオメトリ画像の符号化データを復号し、ジオメトリ画像を生成(復元)する。また、2D復号部714は、ステップS701においてビットストリームから抽出されたオキュパンシー画像の符号化データを復号し、オキュパンシー画像を生成(復元)する。
 ステップS705において、ペアリング処理部715は、ステップS702において生成(復元)されたペア情報に基づいて、頂点情報453に含まれる頂点のペアリング処理を行う。その際、ペアリング処理部715は、<6.2次元によるペアリング処理>の項において説明したように、2次元平面(例えばジオメトリ画像)においてペアリング処理を実行する。
 ステップS706において、パッチ再構成部716は、ステップS702において生成されたメタ情報(コネクティビティ451およびUVマップ452等)や、を用いて、ステップS704において生成されたジオメトリ画像からパッチ画像を抽出し、そのパッチ画像に対応するパッチを再構成する。
 ステップS707において、頂点情報再構成部717は、ステップS706において再構成されたパッチから、そのパッチの領域に含まれる頂点を再構成し、頂点情報453を生成する。
 ステップS708において、2D復号部718は、ステップS701においてビットストリームから抽出されたテクスチャ画像の符号化データを復号し、テクスチャ画像(テクスチャ454)を生成(復元)する。
 このように各処理を実行することにより、復号装置700は、より確実にクラックの発生を抑制し、より適切な頂点同士でペアリング処理を行うようにすることができる。つまり、復号装置700は、符号化および復号による3Dデータの品質の低減を抑制することができる。
 <9.付記>
 以上においては、メッシュを用いた3Dデータを、VPCCという規格を拡張して符号化する場合について説明したが、VPCCの代わりにV3C(Visual Volumetric Video-based Coding)やMIV(metadata immersive video)を適用してもよい。V3CやMIVは、VPCCとほぼ同様の符号化技術を用いた規格であり、VPCCの場合と同様に拡張して、メッシュを用いた3Dデータを符号化することができる。したがって、メッシュを用いた3Dデータの符号化にV3CやMIVを適用する場合も、上述した本技術を適用することができる。
  <3Dデータ>
 以上においては、メッシュの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図33は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図33に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 本技術は、任意の構成に適用することができる。例えば、本技術は、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連付けられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成する生成部と、
 前記ペア情報を符号化する符号化部と
 を備える情報処理装置。
 (2) 前記ペア情報は、前記ペア情報に含まれる前記頂点により構成される前記ペアのみを示す情報である
 (1)に記載の情報処理装置。
 (3) 前記ペア情報は、前記ペア情報により示されていない前記頂点により構成される前記ペアも示す情報である
 (1)に記載の情報処理装置。
 (4) 前記ペア情報は、前記符号化前の前記オブジェクトにおける前記第1のパッチと前記第2のパッチの境界にそれぞれ対応する前記第1のパッチの第1のエッジおよび前記第2のパッチの第2のエッジに関し、前記第1のエッジの両端に位置する前記頂点と前記第1のエッジの中間に位置する前記頂点の組み合わせと、前記第2のエッジの両端に位置する前記頂点と前記第2のエッジの中間に位置する前記頂点の組み合わせの対応関係を示す情報を含む
 (3)に記載の情報処理装置。
 (5) 前記ペア情報は、前記符号化前の前記オブジェクトにおける前記第1のパッチと前記第2のパッチの境界にそれぞれ対応する前記第1のパッチの第1のエッジおよび前記第2のパッチの第2のエッジに関し、復号時における前記第1のエッジに対するスキャン方向と前記復号時における前記第2のエッジに対するスキャン方向の対応関係を示す情報を含む
 (3)または(4)に記載の情報処理装置。
 (6) 前記ペア情報は、前記第1のパッチの複数の前記頂点と前記第2のパッチの対応する複数の前記頂点がそれぞれペアであることを示す
 (1)乃至(5)のいずれかに記載の情報処理装置。
 (7) 前記ペア情報は、前記ペアを構成する前記頂点の数を示すパラメータを含む
 (6)に記載の情報処理装置。
 (8) 前記ペア情報は、前記第1のパッチの複数の前記頂点からなるグループと、前記第2のパッチの複数の前記頂点からなるグループを示す情報を含む
 (1)乃至(5)のいずれかに記載の情報処理装置。
 (9) 前記ペア情報は、前記符号化前のオブジェクトにおける前記頂点それぞれの状態に対応する識別情報を用いて前記ペアを示す
 (1)乃至(8)のいずれかに記載の情報処理装置。
 (10) 前記識別情報は、前記メッシュに含まれる前記頂点の中で各頂点を識別するための識別情報である
 (9)に記載の情報処理装置。
 (11) 前記識別情報は、前記パッチに含まれる前記頂点の中で各頂点を識別するための識別情報である
 (9)または(10)に記載の情報処理装置。
 (12) 前記ペア情報は、前記パッチの識別情報をさらに含む
 (11)に記載の情報処理装置。
 (13) 前記ペア情報は、前記ペア毎に前記パッチの識別情報を含む
 (12)に記載の情報処理装置。
 (14) 前記ペア情報は、複数の前記ペア毎に前記パッチの識別情報を含む
 (12)に記載の情報処理装置。
 (15) 前記識別情報は、前記パッチの境界に位置する前記頂点の中で各頂点を識別するための識別情報である
 (9)乃至(14)のいずれかに記載の情報処理装置。
 (16) 前記符号化部は、前記パッチの境界に位置する前記頂点のリストをさらに符号化する
 (15)に記載の情報処理装置。
 (17) 前記ペア情報は、前記識別情報の絶対値を用いて前記ペアを示す
 (9)乃至(16)のいずれかに記載の情報処理装置。
 (18) 前記ペア情報は、前記識別情報の、他の前記頂点の前記識別情報からの相対値を用いて前記ペアを示す
 (9)乃至(17)のいずれかに記載の情報処理装置。
 (19) 前記ペア情報は、前記画像の2次元平面における複数の前記頂点の各座標に基づいて前記ペアを示す
 (1)乃至(18)のいずれかに記載の情報処理装置。
 (20) 前記ペア情報は、前記ペアを構成する各頂点の前記座標を用いて前記ペアを示す
 (19)に記載の情報処理装置。
 (21) 前記ペア情報は、前記複数の頂点のうち基準頂点の前記座標を基準とした前記基準頂点と異なる前記頂点の相対座標を示す
 (19)または(20)に記載の情報処理装置。
 (22) 前記ペア情報は、前記複数の頂点のうち基準頂点の前記座標を基準とした前記第1のパッチと前記第2のパッチの間の相対ベクトルの位置を基準とした前記基準頂点と異なる前記頂点の相対座標を示す
 (19)乃至(21)のいずれかに記載の情報処理装置。
 (23) 前記ペア情報は、前記複数の頂点のうち基準頂点の前記座標を基準とした前記第1のパッチと前記第2のパッチの間の相対ベクトルの位置を基準とした、姿勢が補正された状態の前記第2のパッチにおける、前記基準頂点と異なる前記頂点の相対座標を示す
 (19)乃至(22)のいずれかに記載の情報処理装置。
 (24) 前記ペア情報は、他のペアの、前記複数の頂点のうち基準頂点の前記座標を基準とした前記基準頂点と異なる前記頂点の相対座標を基準とした、処理対象ペアの前記基準頂点と異なる前記頂点の相対座標を示す
 (19)乃至(23)のいずれかに記載の情報処理装置。
 (25) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成し、
 生成された前記ペア情報を符号化する
 情報処理方法。
 (31) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、前記ペア情報を得る復号部と、
 再構成された前記メッシュを、前記ペア情報に基づいて補正する補正部と
 を備える情報処理装置。
 (32) 前記補正部は、再構成された前記メッシュにおいて、前記ペア情報により前記ペアであることが示される前記第1のパッチの頂点と前記第2のパッチの頂点とのうちの一方の頂点を削除し、削除した前記頂点の接続を他方の頂点の接続に変換する
 (31)に記載の情報処理装置。
 (33) 前記補正部は、前記単数の頂点の位置を、前記複数の頂点の内のいずれかの位置に設定する
 (32)に記載の情報処理装置。
 (34) 前記補正部は、前記複数の頂点の内のいずれかを示す情報に基づいて、前記単数の頂点の位置を設定する
 (33)に記載の情報処理装置。
 (35) 前記補正部は、前記単数の頂点の位置を、前記複数の頂点の位置の平均に設定する
 (32)乃至(34)のいずれかに記載の情報処理装置。
 (36) 前記補正部は、再構成された前記メッシュにおいて、前記ペア情報により前記ペアであることが示される前記第1のパッチの頂点と前記第2のパッチの頂点とのうちの一方の頂点を他方の頂点の位置に移動する
 (31)乃至(35)のいずれかに記載の情報処理装置。
 (37) 前記補正部は、前記重複点の位置を、前記複数の頂点の内のいずれかの位置に設定する
 (36)に記載の情報処理装置。
 (38) 前記補正部は、前記複数の頂点の内のいずれかを示す情報に基づいて、前記重複点の位置を設定する
 (37)に記載の情報処理装置。
 (39) 前記補正部は、前記重複点の位置を、前記複数の頂点の位置の平均に設定する
 (36)乃至(38)のいずれかに記載の情報処理装置。
 (40) 前記補正部は、再構成された前記メッシュにおいて、前記ペア情報により前記ペアであることが示される前記第1のパッチの頂点と前記第2のパッチの頂点とを含むポリゴンを形成する
 (31)乃至(39)のいずれかに記載の情報処理装置。
 (41) 前記補正部は、前記ペアを構成する前記頂点であって、前記ペア情報に含まれない前記頂点を補間する
 (31)乃至(40)のいずれかに記載の情報処理装置。
 (42) 前記補正部は、オキュパンシー画像に基づいて、前記頂点の補間を実行する
 (41)に記載の情報処理装置。
 (43) 前記補正部は、コネクティビティ情報に基づいて、前記頂点の補間を実行する
 (41)または(42)に記載の情報処理装置。
 (44) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、
 再構成された前記メッシュを、前記符号化データを復号して得られた前記ペア情報に基づいて補正する
 情報処理方法。
 (51) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成するペア情報生成部と、
 前記ペア情報を符号化するペア情報符号化部と
 を備える情報処理装置。
 (52) 前記ペア情報は、前記ペアを構成する各頂点を互いに同一の位置に移動させる場合の、移動先となる位置を示す情報を含む
 (51)に記載の情報処理装置。
 (53) 前記メッシュのジオメトリのパッチが配置されたジオメトリ画像を符号化し、前記ジオメトリ画像の符号化データを生成するジオメトリ符号化部と、
 前記ジオメトリ画像の符号化データを復号し、前記ジオメトリ画像を生成するジオメトリ復号部と
 を備え、
 前記ペア情報生成部は、前記ジオメトリ復号部により生成された前記ジオメトリ画像に基づいて前記ペア情報を生成する
 (51)または(52)に記載の情報処理装置。
 (54) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成し、
 前記ペア情報を符号化する
 情報処理方法。
 (61) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、前記ペア情報を得るペア情報復号部と、
 前記ペアを構成する頂点のジオメトリを、前記ペア情報に基づいて補正する補正部と
 を備える情報処理装置。
 (62) 前記補正部は、前記第1のパッチの法線方向と前記第2のパッチの法線方向とが一致しない場合、前記ペアを構成する前記第1のパッチの頂点および前記第2のパッチの頂点を、前記第1のパッチの法線と前記第2のパッチの法線との交点に移動させる
 (61)に記載の情報処理装置。
 (63) 前記補正部は、前記第1のパッチの法線方向と前記第2のパッチの法線方向とが一致する場合、前記ペアを構成する前記第1のパッチの頂点および前記第2のパッチの頂点を、それぞれの位置の重み付き平均の位置に移動させる
 (61)または(62)に記載の情報処理装置。
 (64) 前記補正部は、前記第1のパッチの法線方向と前記第2のパッチの法線方向とが一致する場合、前記ペア情報により示される位置に移動させる
 (61)乃至(63)のいずれかに記載の情報処理装置。
 (65) 前記補正部は、符号化データが復号されて生成されたジオメトリ画像において、前記ペアを構成する前記第1のパッチの頂点および前記第2のパッチの頂点を、互いに同一の位置に移動させ、
 前記補正部により補正された前記ジオメトリ画像を用いてパッチを再構成するパッチ再構成部と、
 再構成された前記パッチを用いて頂点を再構成する頂点再構成部と
 をさらに備える(61)乃至(64)のいずれかに記載の情報処理装置。
 (66) 3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、前記ペア情報を取得し、
 前記ペアを構成する頂点のジオメトリを、前記ペア情報に基づいて補正する
 情報処理方法。
 300 符号化装置, 311 メッシュボクセル化部, 312 パッチ生成部, 313 ペア情報生成部, 314 ジオメトリ画像生成部, 315 オキュパンシー画像生成部, 316 ペア情報符号化部, 317 メタ情報符号化部, 318乃至320 2D符号化部, 321 多重化部, 331 画像生成部, 332 符号化部, 400 復号装置, 411 逆多重化部, 412 ペア情報復号部, 413 メタ情報復号部, 414乃至416 2D復号部, 417 パッチ再構成部, 418 頂点情報再構成部, 419 ペアリング処理部, 600 符号化装置, 611 メッシュボクセル化部, 612 パッチ生成部, 613 メタ情報符号化部, 614 画像生成部, 615 2D符号化部, 616 2D復号部, 617 ペア情報生成部, 618 ペア情報符号化部, 619 ペアリング処理部, 620 画像生成部, 621 2D符号化部, 622 多重化部, 700 復号装置, 711 逆多重化部, 712 ペア情報復号部, 713 メタ情報復号部, 714 2D復号部, 715 ペアリング処理部, 716 パッチ再構成部, 717 頂点情報再構成部, 718 2D復号部, 900 コンピュータ

Claims (20)

  1.  3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成する生成部と、
     前記ペア情報を符号化する符号化部と
     を備える情報処理装置。
  2.  前記ペア情報は、前記ペア情報に含まれる前記頂点により構成される前記ペアのみを示す情報である
     請求項1に記載の情報処理装置。
  3.  前記ペア情報は、前記符号化前の前記オブジェクトにおける前記第1のパッチと前記第2のパッチの境界にそれぞれ対応する前記第1のパッチの第1のエッジおよび前記第2のパッチの第2のエッジに関し、前記第1のエッジの両端に位置する前記頂点と前記第1のエッジの中間に位置する前記頂点の組み合わせと、前記第2のエッジの両端に位置する前記頂点と前記第2のエッジの中間に位置する前記頂点の組み合わせの対応関係を示す情報を含む
     請求項1に記載の情報処理装置。
  4.  前記ペア情報は、前記符号化前の前記オブジェクトにおける前記第1のパッチと前記第2のパッチの境界にそれぞれ対応する前記第1のパッチの第1のエッジおよび前記第2のパッチの第2のエッジに関し、復号時における前記第1のエッジに対するスキャン方向と前記復号時における前記第2のエッジに対するスキャン方向の対応関係を示す情報を含む
     請求項1に記載の情報処理装置。
  5.  前記ペア情報は、前記第1のパッチの複数の前記頂点と前記第2のパッチの対応する複数の前記頂点がそれぞれペアであることを示す
     請求項1に記載の情報処理装置。
  6.  前記ペア情報は、前記ペアを構成する前記頂点の数を示すパラメータを含む
     請求項5に記載の情報処理装置。
  7.  前記ペア情報は、前記第1のパッチの複数の前記頂点からなるグループと、前記第2のパッチの複数の前記頂点からなるグループを示す情報を含む
     請求項1に記載の情報処理装置。
  8.  前記ペア情報は、前記符号化前のオブジェクトにおける前記頂点それぞれの状態に対応する識別情報を用いて前記ペアを示す
     請求項1に記載の情報処理装置。
  9.  前記ペア情報は、前記画像の2次元平面における複数の前記頂点の各座標に基づいて前記ペアを示す
     請求項1に記載の情報処理装置。
  10.  前記ペア情報は、前記複数の頂点のうち基準頂点の前記座標を基準とした前記基準頂点と異なる前記頂点の相対座標を示す
     請求項9に記載の情報処理装置。
  11.  前記ペア情報は、前記複数の頂点のうち基準頂点の前記座標を基準とした前記第1のパッチと前記第2のパッチの間の相対ベクトルの位置を基準とした前記基準頂点と異なる前記頂点の相対座標を示す
     請求項10に記載の情報処理装置。
  12.  前記ペア情報は、前記複数の頂点のうち基準頂点の前記座標を基準とした前記第1のパッチと前記第2のパッチの間の相対ベクトルの位置を基準とした、姿勢が補正された状態の前記第2のパッチにおける、前記基準頂点と異なる前記頂点の相対座標を示す
     請求項11に記載の情報処理装置。
  13.  前記ペア情報は、他のペアの、前記複数の頂点のうち基準頂点の前記座標を基準とした前記基準頂点と異なる前記頂点の相対座標を基準とした、処理対象ペアの前記基準頂点と異なる前記頂点の相対座標を示す
     請求項9に記載の情報処理装置。
  14.  3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報を生成し、
     生成された前記ペア情報を符号化する
     情報処理方法。
  15.  3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、前記ペア情報を得る復号部と、
     再構成された前記メッシュを、前記ペア情報に基づいて補正する補正部と
     を備える情報処理装置。
  16.  前記補正部は、再構成された前記メッシュにおいて、前記ペア情報により前記ペアであることが示される前記第1のパッチの頂点と前記第2のパッチの頂点とのうちの一方の頂点を削除し、削除した前記頂点の接続を他方の頂点の接続に変換する
     請求項15に記載の情報処理装置。
  17.  前記補正部は、再構成された前記メッシュにおいて、前記ペア情報により前記ペアであることが示される前記第1のパッチの頂点と前記第2のパッチの頂点とのうちの一方の頂点を他方の頂点の位置に移動する
     請求項15に記載の情報処理装置。
  18.  前記補正部は、再構成された前記メッシュにおいて、前記ペア情報により前記ペアであることが示される前記第1のパッチの頂点と前記第2のパッチの頂点とを含むポリゴンを形成する
     請求項15に記載の情報処理装置。
  19.  前記補正部は、前記ペアを構成する前記頂点であって、前記ペア情報に含まれない前記頂点を補間する
     請求項15に記載の情報処理装置。
  20.  3次元構造のオブジェクトを表現するメッシュを少なくとも第1のパッチと第2のパッチに分割して単一の画像内に配置し、前記第1のパッチの少なくとも1つの頂点と符号化前の前記オブジェクトにおいて前記第1のパッチの頂点の位置と同位置にある前記第2のパッチの少なくとも1つの頂点がペアであることを示すペア情報の符号化データを復号し、
     再構成された前記メッシュを、前記符号化データを復号して得られた前記ペア情報に基づいて補正する
     情報処理方法。
PCT/JP2021/043204 2021-06-25 2021-11-25 情報処理装置および方法 WO2022269944A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21947223.0A EP4361959A4 (en) 2021-06-25 2021-11-25 DEVICE AND METHOD FOR PROCESSING INFORMATION
JP2023529443A JPWO2022269944A1 (ja) 2021-06-25 2021-11-25
KR1020237042154A KR20240024069A (ko) 2021-06-25 2021-11-25 정보 처리 장치 및 방법
CN202180099545.0A CN117546207A (zh) 2021-06-25 2021-11-25 信息处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-105856 2021-06-25
JP2021105856 2021-06-25

Publications (1)

Publication Number Publication Date
WO2022269944A1 true WO2022269944A1 (ja) 2022-12-29

Family

ID=84544382

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/043204 WO2022269944A1 (ja) 2021-06-25 2021-11-25 情報処理装置および方法

Country Status (5)

Country Link
EP (1) EP4361959A4 (ja)
JP (1) JPWO2022269944A1 (ja)
KR (1) KR20240024069A (ja)
CN (1) CN117546207A (ja)
WO (1) WO2022269944A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116030022A (zh) * 2023-02-01 2023-04-28 天津风霖物联网科技有限公司 建筑预制构件的质量检测系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200219286A1 (en) * 2019-01-09 2020-07-09 Samsung Electronics Co., Ltd. Patch splitting for improving video-based point cloud compression performance
US20210092430A1 (en) * 2019-09-19 2021-03-25 Nokia Technologies Oy Video-Based Point Cloud Compression Model to World Signalling Information

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846814B2 (en) * 2018-07-31 2020-11-24 Intel Corporation Patch processing mechanism
US11450030B2 (en) * 2019-09-24 2022-09-20 Apple Inc. Three-dimensional mesh compression using a video encoder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200219286A1 (en) * 2019-01-09 2020-07-09 Samsung Electronics Co., Ltd. Patch splitting for improving video-based point cloud compression performance
US20210092430A1 (en) * 2019-09-19 2021-03-25 Nokia Technologies Oy Video-Based Point Cloud Compression Model to World Signalling Information

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
"Information technology - Coded Representation of Immersive Media - Part 5: Visual Volumetric Video-based Coding (V3C", VIDEO-BASED POINT CLOUD COMPRESSION (V-PCC
DANILLO GRAZIOSI (SONY), ALEXANDRE ZAGHETTO (SONY), ALI TABATABAI (SONY): "[V-PCC][EE2.6-related] Mesh Geometry Smoothing Filter", 132. MPEG MEETING; 20201012 - 20201016; ONLINE; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. m55374, 13 October 2020 (2020-10-13), XP030291885 *
DANILLO GRAZIOSI (SONY), ALEXANDRE ZAGHETTO (SONY), ALI TABATABAI (SONY): "[V-PCC][EE2.6-related] Mesh Patch Data", 132. MPEG MEETING; 20201012 - 20201016; ONLINE; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. m55368, 7 October 2020 (2020-10-07), XP030292889 *
DANILLO GRAZIOSIALEXANDRE ZAGHETTOALI TABATABAI: "VPCC] [EE2.6-related] Mesh Geometry Smoothing Filter", ISO/IEC JTC 1/SC 29/WG 7, October 2020 (2020-10-01), pages 55374
DANILLO GRAZIOSIALEXANDRE ZAGHETTOALI TABATABAI: "VPCC] [EE2.6-related] Mesh Patch Data", ISO/IEC JTC 1/SC 29/WG 7 M 55368, October 2020 (2020-10-01)
See also references of EP4361959A4
TANG DANHANG; SINGH SAURABH; CHOU PHILIP A.; HANE CHRISTIAN; DOU MINGSONG; FANELLO SEAN; TAYLOR JONATHAN; DAVIDSON PHILIP; GULERYU: "Deep Implicit Volume Compression", 2020 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 13 June 2020 (2020-06-13), pages 1290 - 1300, XP033805314, DOI: 10.1109/CVPR42600.2020.00137 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116030022A (zh) * 2023-02-01 2023-04-28 天津风霖物联网科技有限公司 建筑预制构件的质量检测系统及方法

Also Published As

Publication number Publication date
KR20240024069A (ko) 2024-02-23
EP4361959A1 (en) 2024-05-01
CN117546207A (zh) 2024-02-09
EP4361959A4 (en) 2024-06-19
JPWO2022269944A1 (ja) 2022-12-29

Similar Documents

Publication Publication Date Title
JP7384159B2 (ja) 画像処理装置および方法
US11546512B2 (en) Method and apparatus for reconstructing 360-degree image according to projection format
WO2019198523A1 (ja) 画像処理装置および方法
US11004173B2 (en) Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout
KR20240049654A (ko) 영상 데이터 부호화/복호화 방법 및 장치
US20230068178A1 (en) A method, an apparatus and a computer program product for volumetric video encoding and decoding
US11979607B2 (en) Apparatus and method for processing point cloud data
US11836953B2 (en) Video based mesh compression
CN114762334B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
RU2767771C1 (ru) Способ и оборудование для кодирования/декодирования облака точек, представляющего трехмерный объект
US20230059625A1 (en) Transform-based image coding method and apparatus therefor
WO2022269944A1 (ja) 情報処理装置および方法
WO2021193213A1 (ja) 情報処理装置、3dモデル生成方法およびプログラム
WO2023181875A1 (ja) 情報処理装置および方法
US20220360823A1 (en) Device and method for processing point cloud data
CN111768482A (zh) 拼贴扩充方法、编码器与解码器
US20220319053A1 (en) Point cloud data processing device and method
WO2023095625A1 (ja) 情報処理装置および方法
WO2023127513A1 (ja) 情報処理装置および方法
WO2023281929A1 (ja) 情報処理装置および方法
WO2022201787A1 (ja) 画像処理装置および方法
US20230410374A1 (en) Method and apparatus for mesh compression using point cloud coding
WO2022230941A1 (ja) 情報処理装置および方法
US20240153147A1 (en) V3c syntax extension for mesh compression
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device

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: 21947223

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023529443

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202180099545.0

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2021947223

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021947223

Country of ref document: EP

Effective date: 20240125