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

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

Info

Publication number
WO2023095625A1
WO2023095625A1 PCT/JP2022/041872 JP2022041872W WO2023095625A1 WO 2023095625 A1 WO2023095625 A1 WO 2023095625A1 JP 2022041872 W JP2022041872 W JP 2022041872W WO 2023095625 A1 WO2023095625 A1 WO 2023095625A1
Authority
WO
WIPO (PCT)
Prior art keywords
smoothing
information
boundary
correction
processing
Prior art date
Application number
PCT/JP2022/041872
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 ソニーグループ株式会社
Publication of WO2023095625A1 publication Critical patent/WO2023095625A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

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 is a bitstream encoded by dividing a mesh representing a three-dimensional structure object into at least a first patch and a second patch and arranging them in a single image.
  • a decoding unit for decoding a boundary vertex located on the boundary of the decoded patch, a boundary correction unit for executing a boundary correction process for correcting the geometry of the boundary vertex;
  • An information processing apparatus comprising: a smoothing unit that uses a reference point and performs a smoothing process for smoothing geometry on vertices in a partial area based on the reference point.
  • An information processing method is a bitstream in which 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 encoded. and performs boundary correction processing for correcting geometry on the boundary vertices located on the boundary of the decoded patch, sets the boundary vertex subjected to the boundary correction processing as a reference point, and determines the reference point
  • This is an information processing method for executing a smoothing process for smoothing the geometry on vertices in a partial area based on .
  • An information processing apparatus uses a boundary vertex on which boundary correction processing has been performed as a reference point, and includes smoothing processing including information on smoothing processing for smoothing the geometry of vertices in a partial region based on the reference point.
  • a smoothing information generating unit that generates smoothing information
  • a providing unit that provides the smoothing information, wherein the boundary vertices are located at boundaries of patches corresponding to part of a mesh representing a three-dimensional object. and the boundary correction processing is processing for correcting the geometry of the boundary vertices.
  • An information processing method uses a boundary vertex on which boundary correction processing has been performed as a reference point, and includes smoothing processing including information about smoothing processing for smoothing the geometry of vertices in a partial region based on the reference point. generating smoothing information and providing said smoothing information;
  • the boundary vertices are vertices located on the boundary of the patch corresponding to a part of the mesh representing the three-dimensional structure object.
  • the boundary correction processing is an information processing method for correcting the geometry of the boundary vertices.
  • 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 encoded.
  • the decoded bitstream is decoded, boundary correction processing for correcting the geometry is performed on the boundary vertices located on the boundary of the decoded patch, and the boundary vertices subjected to the boundary correction processing are used as reference points,
  • a smoothing process for smoothing the geometry is performed on the vertices within the subregion based on the reference point.
  • information on smoothing processing for smoothing the geometry of vertices in a partial region based on a reference point that is a boundary vertex on which boundary correction processing has been performed. is generated and the smoothed information is provided.
  • 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 pairing processing. It is a figure explaining application of a smoothing process. It is a figure explaining a smoothing process. It is a figure explaining a smoothing process. It is a figure explaining a smoothing process. It is a figure explaining a smoothing process.
  • FIG. 10 is a diagram illustrating an example of a method of specifying correction target points and correction utilization points;
  • FIG. 10 is a diagram illustrating an example of a method of specifying correction target points and correction utilization points;
  • FIG. 10 is a diagram illustrating an example of a method of specifying correction target points and correction utilization points;
  • FIG. 10 is a diagram illustrating an example of a method of specifying correction target points and correction utilization points;
  • FIG. 10 is a diagram illustrating an example of a method of specifying correction target points
  • FIG. 10 is a diagram illustrating an example of a method of specifying correction target points and correction utilization points;
  • FIG. 10 is a diagram illustrating an example of a method of specifying correction target points and correction utilization points; It is a figure explaining the example of a correction method. It is a figure explaining the example of a correction method. It is a figure explaining the example of a correction method. It is a figure explaining the example of a correction method. It is a figure explaining the example of a correction method.
  • 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 decoding apparatus.
  • FIG. 10 is a flowchart for explaining an example of the flow of decoding processing; FIG. FIG.
  • FIG. 11 is a diagram illustrating smoothing processing for vertices in a patch; 1 is a block diagram showing a main configuration example of an encoding device; 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 decoding apparatus. FIG. 10 is a flowchart for explaining an example of the flow of decoding processing; FIG. 1 is a block diagram showing a main configuration example of an encoding device; FIG.
  • FIG. 10 is a flowchart for explaining an example of the flow of encoding processing; 1 is a block diagram showing a main configuration example of an encoding device; 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 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)
  • Non-Patent Document 3 "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
  • Non-Patent Document 4 Ohji Nakagami, "PCC TMC2 low complexity geometry smoothing", ISO/IEC JTC1/SC29/WG11 MPEG2018/m43501, July 2018, Ljubljana, SI
  • Non-Patent Document 5 Julien Ricard, Celine Guede, Joan Llach, "[V-PCC][NEW] Patch border filtering", ISO/IEC JTC1/SC29/WG11 MPEG2018/ m47479, 126th Meeting, March 2019, Geneva, Switzerland
  • 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 object shown in A of FIG. 1 is decomposed into patches 2 shown in B of FIG. 1, and each patch is projected onto the projection plane. 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.
  • an occupancy image (also called an occupancy map) can be used.
  • 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 grasp whether or not there is a patch in an area, so that the effects of noise caused by encoding/decoding can be suppressed, and more accurate data can be obtained. , 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.
  • the vertices shared by multiple polygons in the mesh can be arranged as multiple points in the geometry image because they are arranged as the 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.
  • vertices 63 (vertices indicated by white circles in the figure) on the boundary between them are divided into A1 and B1, A2 and B2, . As such, separate each into two. These points are matched by the zipper ring as indicated by the dotted line in the figure, and the crack is eliminated.
  • the process of correcting the positions of the vertices (also called boundary vertices) located at the patch boundary, like this zipper ring, is also called boundary correction process.
  • Boundary correction processing is not limited to zipper rings.
  • pair information about a combination of vertices to be matched may be transmitted from the encoder to the decoder, and based on the pair information, the positions of the vertices forming the pair may be corrected to match.
  • a polygon 81 (surrounded by edges 75, 76, and 77) having vertices 71, 72, and 73 as vertices, and a polygon 81 (surrounded by edges 75, 76, and 77) 72 and 74 (surrounded by edges 75, 78 and 79) are formed. That is, polygon 81 and polygon 82 share vertex 71 and vertex 72 and edge 75 .
  • polygon 81 is arranged as patch 91 and polygon 82 is arranged as patch 92 in the geometry image, as shown in FIG. 5B, for example.
  • patch 91 and the patch 92 are arranged independently of each other, they may be arranged at positions separated from each other as in the example of B in FIG. That is, on the geometry image, vertex 71 is separated into vertex 71-1 and vertex 71-2, vertex 72 is separated into vertex 72-1 and vertex 72-2, and edge 75 is separated into edge 75-1 and edge 75-. 2 are separated.
  • the encoder generates pair information representing the vertices 71-1 and 71-2, the vertices 72-1 and 72-2, and the edges 75-1 and 75-2 as pairs. .
  • the decoder performs matching according to the pair information. That is, the decoder corrects the positions of vertices 71-1 and 71-2 so that they become one vertex after reconstruction. Similarly, the decoder also corrects the positions of vertices 72-1 and 72-2 to become one vertex after reconstruction. With this correction, the edges 75-1 and 75-2 also become one edge after reconstruction. 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 multiple 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.
  • boundary correction processing based on such pair information is also referred to as pairing processing.
  • 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.
  • 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 to decode a coded bitstream.
  • a boundary correction unit that executes boundary correction processing for correcting geometry with respect to boundary vertices located on the boundary of the decoded patch;
  • a smoothing unit that performs a smoothing process for smoothing the geometry on vertices in the partial area based on the reference point.
  • Boundary correction processing for correcting the geometry is performed on the boundary vertices located on the boundary of the decoded patch, and the boundary vertices where the boundary correction processing has been performed are used as reference points.
  • the boundary correction process is a process for correcting the geometry of boundary vertices, such as the above-mentioned zipper ring or pairing process.
  • the smoothing process is a process of correcting the positions of the vertices so as to reduce variations in the positional differences between the vertices, and is also called a smoothing process.
  • the decoder uses the boundary vertices on which boundary correction processing has been performed as reference points, and performs smoothing processing on the vertices within the partial area specified based on the reference points. Since the reference point has been corrected to a more appropriate position by the boundary correction process, the position of the reference point is not corrected in this smoothing process (the reference point is not subject to correction).
  • vertices 111 to 118 of object 110 are projected into two patches.
  • vertices 111 to 114 are projected onto projection plane 131 in the direction of arrow 121 as patch 141 .
  • vertices 111 to 114 become points on the projection plane 131 like vertices 111' to 114'.
  • vertices 114 through 118 are projected as patches 142 onto projection plane 132 in the direction of arrow 122 .
  • Losing depth values for example due to coding distortion, vertices 114-118 become points on projection plane 132, as do vertices 114''-118''. In such a case, in the reconstructed state, vertex 114 becomes two vertices, vertex 114 ′ and vertex 114 ′′.
  • a boundary correction such as zippering or pairing processing is performed, and as shown in FIG. is corrected to the position of This eliminates cracks between patches, but increases the position difference between vertices 114 (vertices 114' and 114'') and vertices 113' and 115''. That is, the shape of the object after boundary correction differs from the shape of the original object 110 indicated by the dotted line.
  • a zippered boundary vertex may be used as a reference point.
  • the reference point may be a boundary vertex whose movement amount due to the zipper ring is larger than a predetermined threshold.
  • a boundary vertex whose positional difference from an adjacent vertex is larger than a predetermined threshold may be used as a reference point.
  • the paired boundary vertex may be used as the reference point.
  • the boundary vertices only the boundary vertices satisfying some condition may be used as reference points.
  • a boundary vertex whose movement amount due to pairing is greater than a predetermined threshold value may be used as the reference point.
  • a boundary vertex whose positional difference from an adjacent vertex is larger than a predetermined threshold may be used as a reference point.
  • the triangle containing the reference point in the patch and the triangle reached via the edge within k (k is an arbitrary natural number) times may be set as target triangles, and the internal vertices of the target triangle group may be set as correction target points.
  • external vertices of the target triangle group may be used as correction utilization points.
  • the correction target points are vertices other than the correction target points used in the smoothing process. For example, vertices around a partial area (partial area specified based on the reference point) in which the correction target point exists are set as correction utilization points.
  • vertex 151 indicated by a black circle is set as a reference point.
  • the dark gray triangle is the "triangle containing the reference point”.
  • vertices 152 internal vertices indicated by gray circles located inside the area of the target triangle group are set as correction target points.
  • points connected to the reference point via k may be set as correction target points.
  • a point connected to the reference point via k+1 (or more) edges may be used as a correction utilization point.
  • vertex 161 indicated by a black circle is set as a reference point.
  • FIG. 11 only one of the vertices indicated by black circles is labeled, but all the vertices indicated by black circles are vertices 161 and are set as reference points.
  • a vertex 162 indicated by a gray circle is set as a correction target point
  • a vertex 163 indicated by a hatched circle is set as a correction utilization point.
  • FIG. 11 only one of the vertices circled in gray is labeled, but all vertices circled in gray are the vertices 162 and are set as points to be corrected. Also, although only one of the vertices indicated by the hatched circles is labeled, all the vertices indicated by the hatched circles are the vertices 163 and are set as correction utilization points.
  • the k (k is any natural number) vertices from the closest to the reference point in the patch may be used as correction target points.
  • a vertex (excluding the correction target point) connected to the correction target point by an edge may be set as a correction utilization point.
  • vertex 171 indicated by a black circle is set as a reference point.
  • only one of the vertices circled in gray is labeled, but all vertices circled in gray are the vertices 172 and are set as points to be corrected.
  • vertices (excluding the correction target points) connected to the correction target points by edges are set as correction utilization points.
  • vertices within a distance k (k is an arbitrary positive value) from the reference point in the patch may be set as correction target points.
  • a vertex (excluding the correction target point) connected to the correction target point by an edge may be set as a correction utilization point.
  • vertex 181 indicated by a black circle is set as a reference point.
  • a vertex 182 indicated by a gray circle located within a circle with a radius k centered on the vertex 181 is set as a correction target point.
  • only one of the vertices circled in gray is labeled, but all vertices circled in gray are the vertices 182 and are set as points to be corrected.
  • vertices (excluding the correction target points) connected to the correction target points by edges are set as correction utilization points.
  • the information processing apparatus may perform smoothing processing in a three-dimensional space as shown in the fifth row from the top of the table in FIG. 6 (method 1- 1-3). That is, the smoothing process may be performed on the correction target points in the three-dimensional space after reconstructing the 3D data (mesh). In this case, the smoothing process corrects the three-dimensional coordinates (also referred to as 3D coordinates) of the points to be corrected. Smoothing processing in such a three-dimensional space is also called 3D smoothing processing.
  • Non-Patent Document 4 moves the points near the patch boundary to the center of gravity in 3D.
  • the correction target point in other words, the reference point for specifying the correction target point. Therefore, there is a risk that the position of the boundary vertex, which is the reference point, will also be corrected.
  • the above-described 3D smoothing process can be executed by specifying a reference point (correction target point), so the position of the boundary vertex corrected to a more preferable position by the boundary correction process can be corrected. It is possible to smooth the position difference between vertices without Therefore, reduction in quality of 3D data due to encoding and decoding can be suppressed.
  • boundary correction process is executed before the smoothing process. Therefore, when the 3D smoothing process is applied, the boundary correction process may be performed in 3D space or in a 2D image.
  • boundary correction processing such as zipper ring or pairing processing is performed on boundary vertices in the three-dimensional space after 3D data (mesh) is reconstructed. That is, in this case, the three-dimensional coordinates (also referred to as 3D coordinates) of the boundary vertices are corrected by the boundary correction processing.
  • Boundary correction processing performed in such a three-dimensional space is also referred to as 3D boundary correction processing.
  • boundary correction processing when boundary correction processing is performed on a two-dimensional image, boundary correction processing such as pairing processing is performed on boundary vertices of a geometry image obtained by decoding a bitstream. That is, in this case, the boundary correction process corrects the pixel values (depth values) of the boundary vertices in the geometry image.
  • boundary correction processing performed on a two-dimensional image is also called 2D boundary correction processing.
  • the two-dimensional image may be an xyz image used in Texel base projection or the like.
  • the method (algorithm) of this 3D smoothing process is arbitrary.
  • correction utilization points may be added.
  • the information processing device may perform 3D smoothing processing using points sub-sampled from the surface as correction utilization points.
  • the information processing device may perform 3D smoothing processing using k neighboring points as correction utilization points.
  • a constraint may be added to prevent the face from turning inside out. For example, a threshold may limit the change in the normal direction of the triangle due to the correction.
  • the information processing device may calculate the (weighted) average value n of the normal direction of each triangle, and project the triangle onto a plane that includes the reference point and the correction use point, and whose normal is n.
  • a polygon 195 whose vertices are a reference point 191, a correction target point 192, and a correction target point 193, and a correction target point 192, a correction target point 193, and a correction utilization point 194 are vertices.
  • the information processing device calculates the (weighted) average value n of the normals of each of the polygons 195 and 196, and calculates the surface 197 which includes the reference point 191 and the correction utilization point 194 and whose normal is n. , the positions of the correction target points 192 and 193 are corrected by projecting the polygons 195 and 196 .
  • the information processing apparatus may perform smoothing processing on the two-dimensional image as shown in the eighth row from the top of the table in FIG. 6 (method 1- 1-4). That is, smoothing processing may be performed on the geometry image after 2D boundary correction. In this case, the smoothing process corrects the pixel value (depth value) of the correction target point in the geometry image.
  • smoothing processing on a two-dimensional image is also called 2D smoothing processing.
  • the two-dimensional image may be an xyz image used in Texel base projection or the like.
  • Non-Patent Document 5 smoothes by re-projecting patches in the projection direction of adjacent patches and increasing or decreasing vertices.
  • vertices can be increased or decreased, but their coordinates are not corrected. Therefore, the degree of freedom of correction may be reduced.
  • the above-described 2D smoothing process corrects the position (pixel value) of the correction target point, so it is possible to smooth the difference in position between vertices with a higher degree of freedom.
  • the boundary correction process is executed before the 2D smoothing process. That is, in this case, the 2D boundary correction process described above is applied.
  • the method (algorithm) of this 2D smoothing process is arbitrary.
  • this method 1-1-4 when applying this method 1-1-4, as shown in the ninth row from the top of the table in FIG. may be linearly transformed (Method 1-1-4-1).
  • This linear conversion method (algorithm) is arbitrary.
  • the information processing device may calculate the (distance-weighted) average of the pixel value of the reference point and the pixel value of the correction utilization point, and use it as the pixel value of the correction target point.
  • the information processing apparatus uses the distance-weighted average of the pixel values of the vertices 201, 203, and 204 at the position of the vertex 202 as the pixel value of the vertex 202 as smoothing processing.
  • Such a correction moves the vertices 202 to the positions shown in FIG. 15B and reduces (smoothes) the variation in the positional differences between the vertices.
  • Filter processing may be performed (method 1-1-4-2).
  • smoothing filter processing may be performed on the pixels in the partial area (the area formed by the hatched triangles) including the correction target point indicated by the gray circle.
  • the information processing device may, for example, use only the patch to perform smoothing filter processing on a partial area within the patch.
  • the information processing apparatus may redefine the patch and perform smoothing filter processing on the reprojected image.
  • the information processing device may redefine the patch by including and reprojecting the triangles outside the patch near the triangles contacting the patch boundary. Note that this reprojection may be performed by the encoder or may be performed by the decoder.
  • the information processing device may reproject the entire object in a plurality of predetermined directions (for example, six directions).
  • Beams may be rasterized within their planes (method 1-1-4-3).
  • This surface (triangle) may be, for example, a triangle whose vertices are one boundary vertex and two nearby correction utilization points.
  • the information processing device may apply such a surface 222 to the patch 220 shown in FIG. 17 and rasterize the inside of the surface 222 .
  • this surface (triangle) may be, for example, a triangle whose vertices are two boundary vertices and one nearby correction utilization point.
  • the information processing device may apply such a surface 221 to the patch 220 shown in FIG. 17 and rasterize the inside of the surface 221 .
  • FIG. 18 is a block diagram showing an example of the configuration of a decoding device, which is one aspect of the information processing device, when method 1-1 is applied.
  • the decoding device 300 shown in FIG. 18 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. At that time, the decoding device 300 applies the method 1-1 described above to decode the encoded data and reconstruct the 3D data.
  • FIG. 18 shows main elements such as processing units and data flow, and what is shown in FIG. 18 is not necessarily all. That is, in the decoding device 300, processing units not shown as blocks in FIG. 18 may exist, or processes and data flows not shown as arrows or the like in FIG. 18 may exist.
  • the decoding device 300 includes a demultiplexing unit 311, a meta information decoding unit 312, a 2D decoding unit 313, a 2D decoding unit 314, a patch reconstruction unit 315, a vertex information reconstruction unit 316, a 3D boundary correction unit It has a processing unit 317 and a 3D smoothing processing unit 318 .
  • the demultiplexing unit 311 acquires the bitstream input to the decoding device 300 .
  • this bitstream 3D data using mesh is encoded by extending VPCC.
  • the demultiplexing unit 311 demultiplexes this bitstream and extracts (obtains) various data included in the bitstream. For example, the demultiplexer 311 extracts encoded data of meta information from the bitstream. Further, the demultiplexer 311 extracts the encoded data of the geometry image and the encoded data of the occupancy image from the bitstream. Furthermore, the demultiplexer 311 extracts the encoded data of the texture image from the bitstream.
  • the demultiplexing unit 311 supplies the encoded data of the extracted meta information to the meta information decoding unit 312 .
  • the demultiplexing unit 311 also supplies the extracted encoded data of the geometry image and the extracted encoded data of the occupancy image to the 2D decoding unit 313 . Furthermore, the demultiplexing unit 311 supplies the encoded data of the extracted texture image to the 2D decoding unit 314 .
  • the meta information decoding unit 312 acquires encoded data of meta information supplied from the demultiplexing unit 311 .
  • the meta information decoding unit 312 decodes the encoded data of the acquired meta information to generate meta information.
  • This meta information includes connectivity 331 that indicates the vertices and sides that make up each polygon.
  • This meta information also includes a UV map 332 that indicates the position of each vertex in the texture image by UV coordinates.
  • the meta-information decoding unit 312 outputs the generated connectivity 331 and UV map 332 to the outside of the decoding device 300 as (data constituting) 3D data using the restored mesh.
  • the meta information decoding unit 312 also supplies the generated connectivity 331 and UV map 332 to the patch reconstruction unit 315 .
  • the 2D decoding unit 313 acquires the encoded data of the geometry image and the encoded data of the occupancy image supplied from the demultiplexing unit 311 .
  • the 2D decoding unit 313 decodes the obtained coded data of the geometry image using a decoding method for 2D images to generate a geometry image.
  • the 2D decoding unit 313 decodes the obtained encoded data of the occupancy image using a decoding method for 2D images to generate an occupancy image.
  • the 2D decoding unit 313 supplies the generated geometry image and occupancy image to the patch reconstruction unit 315 .
  • the 2D decoding unit 314 acquires the encoded data of the texture image supplied from the demultiplexing unit 311.
  • the 2D decoding unit 314 decodes the obtained coded data of the texture image using a decoding method for 2D images, and generates a texture image (texture 334) in which the texture applied to each polygon is arranged for each patch.
  • the 2D decoding unit 314 outputs the generated texture image (texture 334) to the outside of the decoding device 300 as (data constituting) 3D data using the restored mesh.
  • the patch reconstruction unit 315 acquires meta information (connectivity 331, UV map 332, etc.) supplied from the meta information decoding unit 312. Also, the patch reconstruction unit 315 acquires the geometry image and the occupancy image supplied from the 2D decoding unit 313 . The patch reconstruction unit 315 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 315 supplies the reconstructed patches and used meta information (connectivity 331 and UV map 332 etc.) to the vertex information reconstruction unit 316 .
  • the vertex information reconstruction unit 316 acquires patches and meta information supplied from the patch reconstruction unit 315 .
  • the vertex information reconstruction unit 316 reconstructs the vertices included in the area of the patch from the acquired patch, and generates vertex information configured by the three-dimensional coordinates of each vertex.
  • the vertex information reconstruction unit 316 supplies the generated vertex information and meta information (connectivity 331 and UV map 332 etc.) to the 3D boundary correction processing unit 317 .
  • the 3D boundary correction processing unit 317 acquires vertex information and meta information (connectivity 331, UV map 332, etc.) supplied from the vertex information reconstruction unit 316.
  • the 3D boundary correction processing unit 317 performs boundary correction processing on the vertex information. That is, the 3D boundary correction processing unit 317 executes 3D boundary correction processing.
  • the 3D boundary correction processing unit 317 performs, for example, zippering or pairing processing as the 3D boundary correction processing.
  • the bitstream acquired by the demultiplexing unit 311 includes pair information.
  • the demultiplexer 311 extracts the pair information from the bitstream and supplies it to the 3D boundary correction processor 317 .
  • the 3D boundary correction processing unit 317 acquires the pair information and performs pairing processing using the pair information.
  • the 3D boundary correction processing unit 317 corrects the three-dimensional coordinates of boundary vertices by this boundary correction processing.
  • the 3D boundary correction processing unit 317 supplies vertex information after boundary correction to the 3D smoothing processing unit 318 .
  • the 3D boundary correction processing unit 317 also supplies other information such as meta information (connectivity 331 and UV map 332, etc.) and pair information to the 3D smoothing processing unit 318 as necessary.
  • the 3D smoothing processing unit 318 acquires vertex information and other information (meta information, pair information, etc.) supplied from the 3D boundary correction processing unit 317 .
  • the 3D smoothing processing unit 318 applies the method 1-1-3 described above, and performs 3D smoothing processing on the correction target points in the partial region with the patch boundary point subjected to the boundary correction as the reference point. That is, the 3D smoothing processing unit 318 corrects the three-dimensional coordinates of the correction target point.
  • the 3D smoothing processor 318 can also apply method 1-1-1 and method 1-1-2.
  • the 3D smoothing processing unit 318 outputs the vertex information 333 after the 3D smoothing processing to the outside of the decoding device 300 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 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 the logic circuit and the program.
  • the decoding device 300 can bring the shape of the object after reconstruction close to the shape of the object before encoding, and can suppress reduction in the subjective quality of 3D data.
  • the demultiplexing unit 311 demultiplexes the bitstream input to the decoding device 300 and extracts various data in step S301.
  • the demultiplexing unit 311 extracts coded data of meta information, coded data of geometry images, coded data of occupancy images, coded data of texture images, and the like from the bitstream.
  • step S302 the meta information decoding unit 312 decodes the encoded data of the meta information extracted from the bitstream in step S301 to generate (restore) meta information.
  • This meta information includes connectivity 331 and UV map 332 .
  • step S303 the 2D decoding unit 313 decodes the coded data of the geometry image extracted from the bitstream in step S301 to generate (restore) the geometry image. Also, the 2D decoding unit 313 decodes the encoded data of the occupancy image extracted from the bitstream in step S301 to generate (restore) the occupancy image.
  • step S304 the 2D decoding unit 314 decodes the encoded data of the texture image extracted from the bitstream in step S301 to generate (restore) the texture image (texture 334).
  • step S305 the patch reconstruction unit 315 extracts a patch image from the geometry image generated in step S303 using the meta information (connectivity 331, UV map 332, etc.) generated in step S302, and extracts the patch image. Reconfigure the corresponding patch.
  • step S306 the vertex information reconstruction unit 316 reconstructs vertices included in the area of the patch from the patch reconstructed in step S305, and generates vertex information.
  • step S307 the 3D boundary correction processing unit 317 executes 3D boundary correction processing to correct the three-dimensional coordinates of the boundary vertices included in the vertex information generated in step S306.
  • step S308 the 3D smoothing processing unit 318 performs 3D smoothing processing using the vertex information subjected to the boundary correction in step S307 as a reference point, based on the geometry after the boundary correction, and performs correction target points corresponding to the reference points. Correct the 3D coordinates of
  • step S308 ends, the decryption process ends.
  • the decoding device 300 can bring the shape of the object after reconstruction closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data. can.
  • FIG. 20 is a block diagram showing a main configuration example of the decoding device 300 in that case.
  • FIG. 20 shows main elements such as processing units and data flow, and what is shown in FIG. 20 is not necessarily all. That is, decoding device 300 may include processing units not shown as blocks in FIG. 20, or processes and data flows not shown as arrows or the like in FIG.
  • the decoding device 300 has a 2D boundary correction processing unit 341 and a 2D smoothing processing unit 342 instead of the 3D boundary correction processing unit 317 and the 3D smoothing processing unit 318 .
  • the 2D decoding unit 313 supplies the generated geometry image and occupancy image to the 2D boundary correction processing unit 341 .
  • the 2D boundary correction processing unit 341 acquires the geometry image and occupancy image.
  • the 2D boundary correction processing unit 341 executes 2D boundary correction processing such as pairing processing on the geometry image.
  • the pixel values (depth values) of the boundary vertices in the geometry image are corrected.
  • the bitstream acquired by the demultiplexing unit 311 includes pair information.
  • the demultiplexer 311 extracts the pair information from the bitstream and supplies it to the 2D boundary correction processor 341 .
  • the 2D boundary correction processing unit 341 acquires the pair information and performs pairing processing using the pair information.
  • the 2D boundary correction processing unit 341 corrects the pixel values (depth values) of the boundary vertices in the geometry image by this boundary correction processing.
  • the 2D boundary correction processing unit 341 supplies the geometry image after boundary correction to the 2D smoothing processing unit 342 .
  • the 2D boundary correction processing unit 341 also supplies the occupancy image, pair information, etc. to the 2D smoothing processing unit 342 .
  • the 2D smoothing processing unit 342 acquires the geometry image, occupancy image, pair information, etc. supplied from the 2D boundary correction processing unit 341 .
  • the 2D smoothing processing unit 342 applies the method 1-1-4 described above, and performs 2D smoothing processing on the correction target points in the partial region with the patch boundary point subjected to the boundary correction as the reference point. That is, the 2D smoothing processing unit 342 corrects the pixel value (depth value) of the correction target point in the geometry image.
  • the 2D smoothing processor 342 can also apply method 1-1-1 and method 1-1-2.
  • the 2D smoothing processing unit 342 supplies the geometry image after the 2D smoothing processing to the patch reconstruction unit 315 together with the occupancy image, pair information, and the like.
  • the decoding device 300 can bring the shape of the object after reconstruction close to the shape of the object before encoding, and can suppress reduction in the subjective quality of 3D data.
  • step S331 to step S334 are executed in the same manner as the processes from step S301 to step S304 in FIG.
  • step S335 the 2D boundary correction processing unit 341 executes 2D boundary correction processing such as pairing processing, for example, and corrects the pixel values (depth values) of the boundary vertices in the geometry image obtained in step S333.
  • 2D boundary correction processing such as pairing processing, for example, and corrects the pixel values (depth values) of the boundary vertices in the geometry image obtained in step S333.
  • step S336 the 2D smoothing processing unit 342 performs 2D smoothing processing using the vertex information subjected to boundary correction in step S335 as a reference point, based on the geometry after the boundary correction. Correct the pixel value (depth value) of the correction target point.
  • steps S337 and S338 are executed in the same manner as the processes of steps S305 and S306 of FIG.
  • step S338 ends, the decoding process ends.
  • the decoding device 300 can bring the shape of the object after reconstruction closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data. can.
  • 2D boundary correction processing and 3D smoothing processing may be applied.
  • the 2D boundary correction processing section 341 and the 3D smoothing processing section 318 may be applied.
  • the process of step S335 and the process of step S308 may be applied.
  • the decoding device 300 may support both 2D smoothing processing and 3D smoothing processing.
  • one of the 2D smoothing process and the 3D smoothing process may be selected and executed.
  • 2D smoothing processor 342 and 3D smoothing processor 318 may be applied.
  • the process of step S336 and the process of step S308 may be applied.
  • the information processing device may perform this smoothing process based on the coordinate information for position correction, as shown in the twelfth row from the top of the table in FIG. -2).
  • the position correction coordinate information is information about a position correction target point, which is a vertex to be subjected to position correction processing.
  • Position correction processing is geometry correction processing different from boundary correction and smoothing processing, and is processing for correcting vertex positions by replacement or calculation. This position correction processing is executed based on the coordinate information for position correction.
  • correct coordinates when correcting the position of a vertex in a decoding device, it may not be possible to specify the original position of the vertex before encoding (also referred to as correct coordinates). For example, when a plurality of boundary vertices are reduced to one by boundary correction processing, or when the patches of the boundary vertices are projected in the same direction (forward or backward), correct coordinates cannot be obtained in the decoding device. It is possible.
  • the encoding device transmits information indicating the correct coordinates (coordinates before encoding) to the decoding device, and the decoding device corrects the vertices based on the information, thereby improving the subjective quality of the 3D data. It is possible to realize a correction that suppresses the reduction of .
  • the position correction process described above is a process of performing such correction based on position correction coordinate information transmitted from the encoding device. That is, the position correction process is performed on the vertices specified based on the coordinate information for position correction transmitted from the encoding device, and the positions derived based on the coordinate information for position correction are added to the vertices to be processed. This is the process of moving vertices.
  • a boundary vertex for which correct coordinates cannot be obtained in the boundary correction process is corrected by this position correction process (that is, the boundary vertex is moved to the correct coordinate specified by the encoding device).
  • a correction can be achieved that reduces the subjective quality reduction of the 3D data.
  • the encoding device generates this position correction coordinate information and provides it to the decoding device.
  • the decoding device executes position correction processing based on the provided coordinate information for position correction.
  • the decoding device performs smoothing processing based on the provided coordinate information for position correction. For example, the position where the decoding device executes position correction processing for correcting the geometry of the position correction target point based on position correction coordinate information including information on the position correction target point to be corrected and the geometry after correction.
  • a correction unit may be further provided, and the smoothing unit of the decoding device may set the reference point based on the coordinate information for position correction.
  • the position correction target point may be a boundary vertex (boundary correction target point) as shown in the 13th row from the top of the table in FIG. -2-1).
  • an encoding device may set a boundary vertex for which correct coordinates cannot be obtained in boundary correction as a target point for position correction, generate position correction coordinate information indicating the correct coordinates of the boundary vertex, and provide it to the decoding device.
  • the boundary vertices for which the correct coordinates cannot be obtained are, for example, the boundary vertices when the patch normal is in the same direction as described above, or when the coordinate movement is not only in one direction such as Texel base projection. be.
  • the decoding device may execute position correction processing based on this coordinate information for position correction, and move the boundary vertex to the correct coordinates. Furthermore, when the decoding device specifies the reference point for the smoothing process, the boundary vertex corresponding to the coordinate information for position correction (the boundary vertex to be subjected to the position correction process) may be used as the reference point.
  • ⁇ Coordinate information for position correction of vertex in patch> may be a vertex (also called an intra-patch vertex) (method 1-2-2).
  • the encoding device sets a vertex in the patch whose distortion after decoding to before encoding is greater than a predetermined threshold value as a target point for position correction, and indicates the coordinates of the vertex in the patch before encoding as correct coordinates. Coordinate information may be generated and provided to the decoding device.
  • the decoding device may execute position correction processing based on this coordinate information for position correction, and move the vertices in the patch to the correct coordinates. Furthermore, when the decoding device specifies the reference point for the smoothing process, the patch vertex corresponding to the position correction coordinate information (the patch vertex to be subjected to the position correction process) may be used as the reference point. For example, in the patch 351 shown in FIG. 22, the vertices in the patch indicated by black circles may be used as reference points, and the vertices indicated by gray circles located around them may be used as correction target points to perform smoothing processing.
  • the position correction coordinate information may include a position correction flag indicating whether or not each vertex is subject to position correction.
  • the coordinate information for position correction may include identification information of vertices to be subjected to position correction.
  • the coordinate information for position correction may include coordinates (u, v) in the geometry image of the vertex to be subjected to position correction.
  • the correct coordinates may be 3D coordinates (xyz, etc.).
  • the value may be an absolute value or a difference from the coordinates before correction.
  • the correct coordinates may be pixel values of a geometry image (for example, depth values, projection plane-based xyz, etc.). The value may be an absolute value or a difference from the coordinates before correction.
  • FIG. 23 is a block diagram showing an example of the configuration of an encoding device, which is one aspect of an information processing device, when applying method 1-2.
  • the encoding device 400 shown in FIG. 23 is a device that extends VPCC and encodes 3D data using mesh as a video frame using a two-dimensional image encoding method. At that time, the encoding device 400 applies the method 1-2 described above to encode the 3D data.
  • FIG. 23 shows main elements such as the processing unit and data flow, and what is shown in FIG. 23 is not necessarily all.
  • the encoding apparatus 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 encoding device 400 includes a mesh voxelization unit 411, a patch generation unit 412, an image generation unit 413, a meta information encoding unit 414, a 2D encoding unit 415, a 2D decoding unit 416, boundary correction processing, It has a unit 417 , a position correction coordinate information generating unit 418 , an image generating unit 419 , a 2D encoding unit 420 and a multiplexing unit 421 .
  • Connectivity 451, vertex information 452, UV map 453, and texture 454 are supplied to the encoding device 400 as 3D data using Mesh.
  • the connectivity 451 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 452 is information similar to the vertex information 31 (FIG. 2), and indicates the coordinates of each vertex forming the mesh.
  • the UV map 453 is the same information as the UV map 34 (FIG. 2) and indicates the position of each vertex on the texture image.
  • the texture 454 is the same information as the texture image 33 (FIG. 2), and indicates the texture applied to the polygons. That is, the texture 454 is information including texture images.
  • the mesh voxelization unit 411 acquires vertex information 452 supplied to the encoding device 400 .
  • the mesh voxelization unit 411 converts the coordinates of each vertex included in the acquired vertex information 452 into a voxel grid.
  • the mesh voxelization unit 411 supplies the converted voxel grid vertex information to the patch generation unit 412 .
  • the patch generation unit 412 acquires the connectivity 451 supplied to the encoding device 400 .
  • the patch generation unit 412 also acquires vertex information of the voxel grid supplied from the mesh voxelization unit 411 .
  • the patch generator 412 generates geometry patches based on the information.
  • the patch generation unit 412 also projects the generated geometric patch onto the projection plane to generate a patch image.
  • the patch generation unit 412 supplies the generated patch image to the image generation unit 413 .
  • the patch generation unit 412 also supplies information such as the connectivity 451 and vertex information to the meta information encoding unit 414 as meta information. Furthermore, the patch generation unit 412 supplies the generated patch image to the image generation unit 419 .
  • the image generation unit 413 acquires patch images supplied from the patch generation unit 412 .
  • the image generator 413 arranges the patch images on a two-dimensional plane to generate a geometry image and an occupancy image.
  • the image generator 413 supplies the generated geometry image and occupancy image to the 2D encoder 415 .
  • the meta information encoding unit 414 acquires the meta information (connectivity 451, vertex information, etc.) supplied from the patch generation unit 412.
  • the meta information encoding unit 414 encodes the acquired meta information to generate encoded data of the meta information.
  • the meta information encoding unit 414 supplies the generated encoded data of the meta information to the multiplexing unit 421 .
  • the 2D encoding unit 415 acquires the geometry image and the occupancy image supplied from the image generation unit 413.
  • the 2D encoding unit 415 encodes each of the acquired geometry image and occupancy image using a 2D image encoding method to generate encoded data of the geometry image and encoded data of the occupancy image.
  • the 2D encoding unit 415 supplies the generated encoded data of the geometry image and encoded data of the occupancy image to the multiplexing unit 421 .
  • the 2D encoding unit 415 also supplies the encoded data of the generated geometry image to the 2D decoding unit 416 .
  • the 2D decoding unit 416 decodes the encoded data of the geometry image supplied from the 2D encoding unit 415 using a 2D image decoding method to generate a geometry image.
  • the 2D decoding unit 416 supplies the geometry image to the boundary correction processing unit 417 .
  • the boundary correction processing unit 417 executes boundary correction processing using the geometry image supplied from the 2D decoding unit 416, and corrects the positions of boundary vertices as necessary.
  • This boundary correction processing may be 2D boundary correction processing or may be 3D boundary correction processing.
  • the boundary correction processing unit 417 when performing pairing processing as the boundary correction processing, the boundary correction processing unit 417 generates pair information and supplies it to the multiplexing unit 421 .
  • the boundary correction processing unit 417 supplies the geometry image after boundary correction to the position correction coordinate information generation unit 418 .
  • the position correction coordinate information generation unit 418 Based on the geometry image supplied from the boundary correction processing unit 417, the position correction coordinate information generation unit 418 obtains the target of the position correction processing and its correct coordinates, and generates position correction coordinate information regarding them. At that time, the position correction coordinate information generation unit 418 can apply methods 1-2-1 to 1-2-4. The position correction coordinate information generation unit 418 supplies the generated position correction coordinate information to the multiplexing unit 421 .
  • the image generator 419 acquires the UV map 453 and the texture 454 supplied to the encoding device 400.
  • the image generation unit 419 also acquires the geometry patch image supplied from the patch generation unit 412 .
  • the image generator 419 updates the texture 454 based on the information and generates a texture image.
  • the image generator 419 supplies the generated texture image to the 2D encoder 420 .
  • the 2D encoding unit 420 encodes the texture image supplied from the image generation unit 419 using a 2D image encoding method to generate encoded data of the texture image.
  • the 2D encoding unit 420 supplies the encoded data of the generated texture image to the multiplexing unit 421 .
  • the multiplexing unit 421 acquires encoded data of meta information supplied from the meta information encoding unit 414 .
  • the multiplexing unit 421 acquires the encoded data of the geometry image and the encoded data of the occupancy image supplied from the 2D encoding unit 415 .
  • the multiplexing unit 421 acquires pair information supplied from the boundary correction processing unit 417 .
  • the multiplexing unit 421 acquires the position correction coordinate information supplied from the position correction coordinate information generation unit 418 .
  • the multiplexing unit 421 acquires the encoded data of the texture image supplied from the 2D encoding unit 420 .
  • the multiplexing unit 421 multiplexes the obtained information to generate one bitstream.
  • the multiplexing unit 421 outputs the generated bitstream to the outside of the encoding device 400 . This bitstream is provided to the decoding device 300, for example. Therefore, the multiplexer 421 can also be said to be a provider that provides information.
  • 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 the logic circuit and the program.
  • the encoding device 400 can generate position correction coordinate information and provide it to the decoding device. Therefore, the decoding device can execute position correction processing and smoothing processing based on the coordinate information for position correction. Therefore, reduction in subjective quality of 3D data can be suppressed.
  • the mesh voxelization unit 411 converts the coordinates of each vertex included in the vertex information 452 into a voxel grid in step S401, thereby converting the mesh into a voxel grid.
  • step S402 the patch generation unit 412 generates a patch using the vertex information or the like converted into a voxel grid in step S401, projects the generated patch onto the projection plane, and generates a patch image.
  • step S403 the image generation unit 413 generates a geometry image and an occupancy image based on the patch image generated in step S402.
  • step S404 the meta information encoding unit 414 encodes meta information (connectivity 451, vertex information, etc.) to generate encoded data of meta information.
  • step S405 the 2D encoding unit 415 2D-encodes the geometry image and the occupancy image generated in step S403, respectively, to generate coded data of the geometry image and coded data of the occupancy image.
  • step S406 the 2D decoding unit 416 2D-decodes the encoded data of the geometry image generated in step S405 to generate a geometry image.
  • step S407 the boundary correction processing unit 417 executes boundary correction processing using the geometry image generated in step S406.
  • step S408 the position correction coordinate information generation unit 418 generates position correction coordinate information using the geometry image. At that time, the position correction coordinate information generation unit 418 can apply methods 1-2-1 to 1-2-4.
  • step S409 the image generation unit 419 updates the texture 454 to generate a texture image that matches the geometry image.
  • step S410 the 2D encoding unit 420 encodes the texture image to generate encoded data for the texture image.
  • step S411 the multiplexing unit 421 extracts the coded data of the meta information generated in step S404, the coded data of the geometry image and the coded data of the occupancy image generated in step S405, and the pair generated in step S407.
  • the information, the coordinate information for position correction generated in step S408, and the coded data of the texture image generated in step S410 are multiplexed to generate one bit stream.
  • the multiplexing unit 421 outputs the generated bitstream to the outside of the encoding device 400 .
  • step S411 ends, the encoding process ends.
  • the encoding device 400 can generate coordinate information for position correction and provide it to the decoding device. Therefore, the decoding device can execute position correction processing and smoothing processing based on the coordinate information for position correction. Therefore, reduction in subjective quality of 3D data can be suppressed.
  • FIG. 25 is a block diagram showing a main configuration example of the decoding device 300 in this case.
  • FIG. 25 shows a main configuration example of a decoding device that executes 3D smoothing processing (that is, an example corresponding to the example of FIG. 18).
  • FIG. 25 shows main components such as the processing unit and data flow, and what is shown in FIG. 25 is not necessarily all. That is, decoding device 300 may include processing units not shown as blocks in FIG. 25, or processes and data flows not shown as arrows or the like in FIG.
  • the decoding device 300 further has a 3D position corrector 511 in addition to the configuration shown in FIG.
  • the 3D boundary correction processing unit 317 supplies vertex information after boundary correction to the 3D position correction unit 511 .
  • the 3D boundary correction processing unit 317 also supplies other information such as meta information (connectivity 331 and UV map 332, etc.) and pair information to the 3D position correction unit 511 as necessary.
  • the bitstream contains coordinate information for position correction
  • the demultiplexer 311 extracts the coordinate information for position correction from the bitstream, and the 3D position correction unit 511 and the 3D smoothing processing unit 318.
  • the 3D position correction unit 511 corrects the positions of the vertices included in the vertex information after boundary correction supplied from the 3D boundary correction processing unit 317 based on the coordinate information for position correction.
  • the 3D position correction unit 511 supplies the position-corrected vertex information to the 3D smoothing processing unit 318 .
  • the 3D smoothing processing unit 318 applies the method 1-2 described above, and based on the position correction coordinate information supplied from the demultiplexing unit 311, performs 3D Execute the smoothing process. That is, the 3D smoothing processing unit 318 performs 3D smoothing processing using the vertices to be subjected to the position correction processing as reference points based on the coordinate information for position correction, and performs the 3D smoothing processing of the correction target points corresponding to the reference points. Correct the coordinates. At that time, the 3D smoothing processing unit 318 can also apply methods 1-2-1 to 1-2-4. The 3D smoothing processing unit 318 outputs the vertex information 333 after the 3D smoothing processing to the outside of the decoding device 300 as (data constituting) 3D data using the restored mesh.
  • the decoding device 300 can bring the shape of the object after reconstruction close to the shape of the object before encoding, and can suppress reduction in the subjective quality of 3D data.
  • step S501 to step S507 are executed in the same manner as the processes from step S301 to step S307 in FIG.
  • step S508 the 3D position correction unit 511 corrects the positions of vertices included in the vertex information after boundary correction, based on the coordinate information for position correction obtained in step S501.
  • step S509 the 3D smoothing processing unit 318 applies method 1-2 described above, and based on the position correction coordinate information obtained in step S501, performs a 3D smoothing process using the vertex to be subjected to the position correction process as a reference point. A smoothing process is executed to correct the three-dimensional coordinates of the correction target point corresponding to the reference point. At that time, the 3D smoothing processing unit 318 can also apply methods 1-2-1 to 1-2-4.
  • step S509 ends, the decoding process ends.
  • the decoding device 300 can bring the shape of the object after reconstruction closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data. can.
  • FIG. 27 is a block diagram showing a main configuration example of the decoding device 300 in that case.
  • FIG. 27 shows main elements such as the processing unit and data flow, and what is shown in FIG. 27 is not necessarily all. That is, decoding device 300 may include processing units not shown as blocks in FIG. 27, or processes and data flows not shown as arrows or the like in FIG.
  • the decoding device 300 further includes a 2D position correction unit 521 in addition to the configuration shown in FIG.
  • the 2D position correction unit 521 corrects the vertex position in the geometry image. That is, the 2D position correction unit 521 corrects the pixel value of the processing target point in the geometry image.
  • the 2D position correction unit 521 supplies the geometry image after position correction processing to the 2D smoothing processing unit 342 .
  • the 2D smoothing processing unit 342 applies the method 1-2 described above, and based on the position correction coordinate information supplied from the demultiplexing unit 311, performs 2D smoothing on the geometry image supplied from the 3D position correction unit 511. Execute the smoothing process. That is, the 2D smoothing processing unit 342 performs 2D smoothing processing using the vertices to be subjected to the position correction processing as reference points based on the position correction coordinate information, and performs the 3D smoothing processing of the correction target points corresponding to the reference points. Correct the coordinates. At that time, the 2D smoothing processor 342 can also apply methods 1-2-1 to 1-2-4. The 2D smoothing processing unit 342 supplies the geometry image after 2D smoothing processing to the patch reconstruction unit 315 .
  • the decoding device 300 can bring the shape of the object after reconstruction close to the shape of the object before encoding, and can suppress reduction in the subjective quality of 3D data.
  • steps S531 to S535 are executed in the same manner as the processes of steps S331 to S335 in FIG.
  • step S536 the 2D position correction unit 521 performs 2D position correction processing on the geometry image after boundary correction based on the coordinate information for position correction obtained in step S531, and performs the position correction processing on the geometry image. Correct the pixel value of the target point.
  • step S537 the 2D smoothing processing unit 342 applies method 1-2 described above, and based on the position correction coordinate information obtained in step S531, performs a 2D smoothing process using the vertex to be subjected to the position correction process as a reference point.
  • a smoothing process is executed to correct the pixel value (depth value) of the correction target point corresponding to the reference point in the geometry image.
  • the 2D smoothing processor 342 can also apply methods 1-2-1 to 1-2-4.
  • steps S538 and S539 are executed in the same manner as the processes of steps S337 and S338 of FIG.
  • step S539 ends, the decoding process ends.
  • the decoding device 300 can bring the shape of the object after reconstruction closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data. can.
  • 2D position correction processing and 3D smoothing processing may be applied.
  • 2D position correction section 521 and 3D smoothing processing section 318 may be applied.
  • the process of step S536 and the process of step S509 may be applied.
  • the decoding device 300 may support both 2D smoothing processing and 3D smoothing processing.
  • one of the 2D smoothing process and the 3D smoothing process may be selected and executed.
  • 2D smoothing processor 342 and 3D smoothing processor 318 may be applied.
  • the process of step S537 and the process of step S509 may be applied.
  • the information processing apparatus may perform this smoothing process based on the smoothing information, as shown in the 17th row from the top of the table in FIG. 6 (method 1-3). .
  • the smoothing information is information related to smoothing processing, and is generated by the encoding device and provided to the decoding device.
  • the decoding device performs smoothing processing based on the provided smoothing information.
  • the information processing device further includes an acquisition unit that acquires the transmitted smoothing information including information about smoothing, and the smoothing unit of the information processing device performs smoothing based on the acquired smoothing information. Execute the process.
  • the encoding device can control the smoothing process executed in the encoding device.
  • the decoding device can perform smoothing processing under the control of the encoding device.
  • the decoding device may apply the method 1-3 described above and perform smoothing processing based on the smoothing information.
  • Reference point identification information is information for identifying a reference point.
  • it may be a flag or the like that selects a method (algorithm) for specifying a reference point.
  • a method of using a vertex corrected by zipper ring as a reference point a method of using a vertex corrected by pairing processing as a reference point, a method of using a vertex targeted for position correction as a reference point, A method of using a vertex indicated by a reference point flag indicating whether or not to use the reference point as a reference point is prepared, and a selection flag indicating which method to apply among these candidates is used to specify the reference point.
  • the information may be stored in the smoothing information.
  • the encoding device in the case of method 1-3-1, the encoding device generates smoothing information including such reference point specifying information. Then, the decoding device applies the method specified by this reference point specifying information to specify the reference point. By doing so, the encoding device can control the method (algorithm) by which the decoding device identifies the reference points.
  • Correction target point specifying information is information for specifying correction target points (and correction utilization points).
  • the parameter k is used to specify the correction target point. It may be transmitted as information.
  • information specifying a method of specifying correction target points (and correction utilization points) using pixel values (2D) of an in-plane rasterized geometry image may be transmitted as correction target point specifying information.
  • information specifying a method of specifying correction target points (and correction use points) using the sampled vertex geometry (3D) may be transmitted as correction target point specifying information.
  • a plurality of methods may be used as candidates, and a selection flag or the like specifying a method to be applied from among the candidates may be transmitted as correction target point identification information.
  • the encoding device in the case of method 1-3-2, the encoding device generates smoothing information including such correction target point specifying information. Then, the decoding device applies the method specified by the correction target point specifying information to specify the correction target points (and the correction utilization points). By doing so, the encoding device can control the method (algorithm) by which the decoding device specifies the correction target points (and correction utilization points).
  • the decoding device may perform smoothing processing based on the correction method specifying information included in the smoothing information, as shown at the bottom of the table in FIG. (Method 1-3-3).
  • Correction method identification information is information for identifying a smoothing processing method.
  • a plurality of correction method candidates may be used, and a selection flag or the like specifying a method to be applied from among the candidates may be transmitted as correction method identification information.
  • a selection flag that designates a method to be applied from among these methods may be stored in the smoothing information as correction method identification information.
  • the encoding device in the case of method 1-3-3, the encoding device generates smoothing information including such correction method identification information. Then, the decoding device applies the method specified by this correction method specifying information to execute the smoothing process. By doing so, the encoding device can control the method of smoothing processing performed by the decoding device.
  • FIG. 29 is a block diagram showing an example of the configuration of an encoding device, which is one aspect of the information processing device, when applying Method 1-3.
  • 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 400 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 400 in this case has a smoothing information generating section 611 and a smoothing processing section 612 instead of the position correction coordinate information generating section 418 in the configuration of the example of FIG.
  • the smoothing information generation unit 611 acquires the geometry image supplied from the boundary correction processing unit 417.
  • a smoothing information generator 611 generates smoothing information based on the geometry image.
  • This generation method is arbitrary.
  • the smoothing information generation unit 611 may generate smoothing information so that the boundary vertices subjected to boundary correction are used as reference points.
  • the smoothing information generation unit 611 uses the boundary vertices subjected to the boundary correction processing as reference points, and generates smoothing information including information on smoothing processing for smoothing the geometry of vertices in the partial region based on the reference points. may be generated.
  • the smoothing information generation unit 611 may generate smoothing information so that a boundary vertex at which the positional difference between the vertices becomes larger than a predetermined threshold value due to boundary correction is set as a reference point.
  • the smoothing information generator 611 supplies the generated smoothing information to the multiplexer 421 .
  • the multiplexing unit 421 multiplexes the smoothing information with other encoded data and the like to generate a bitstream. This bitstream is provided, for example, to a decoding device. Therefore, the multiplexer 421 can be said to be a provider that provides smoothing information.
  • the smoothing information generation unit 611 also supplies the generated smoothing information to the smoothing processing unit 612 together with the geometry image and the like.
  • the smoothing processing unit 612 performs smoothing processing on the obtained geometry image based on the smoothing information. For example, the smoothing processing unit 612 identifies reference points and correction target points from the geometry image based on the smoothing information, and corrects the positions of the correction target points. This smoothing process may be a 2D smoothing process or a 3D smoothing process.
  • the smoothing processing unit 612 supplies the smoothed geometry image to the image generation unit 419 .
  • the image generation unit 419 uses the geometry image to update the texture 4542 and generates a texture image corresponding to the geometry image.
  • the encoding device 400 can generate smoothing information and provide it to the decoding device.
  • the decoding device can perform smoothing processing based on the smoothing information. Therefore, the encoding device can control the smoothing process of the decoding device.
  • step S608 the smoothing information generation unit 611 applies method 1-3 to generate smoothing information.
  • the smoothing information generator 611 can apply methods 1-3-1 to 1-3-3.
  • step S609 the smoothing processing unit 612 applies method 1-3 to perform smoothing processing based on the smoothing information generated in step S608.
  • step S610 Each process from step S610 to step S612 is executed in the same manner as each process from step S409 to step S411 in FIG.
  • the image generator 419 updates the texture 454 using the smoothed geometry image to generate a texture image.
  • the multiplexing unit 421 stores the smoothing information in the bitstream by multiplexing the smoothing information generated in step S608 with other data.
  • step S612 ends, the encoding process ends.
  • the encoding device 400 can generate smoothing information and provide it to the decoding device.
  • the decoding device can perform smoothing processing based on the smoothing information. Therefore, the encoding device can control the smoothing process of the decoding device.
  • FIG. 31 is a block diagram showing an example of the configuration of an encoding device that is one aspect of the information processing device in this case.
  • FIG. 31 shows main elements such as the processing unit and data flow, and what is shown in FIG. 31 is not necessarily all.
  • encoding apparatus 400 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 2D decoding unit 416, the boundary correction processing unit 417, the smoothing information generation unit 611, and the smoothing processing unit 612 of the configuration of the example of FIG. 29 are omitted. Also, instead of that, encoding device 400 has pair information generation section 621 and smoothing information generation section 622 .
  • the patch generation unit 412 supplies information such as connectivity 451 and vertex information to the pair information generation unit 621 as well.
  • the pair information generation unit 621 acquires information such as the connectivity 451 and vertex information supplied from the patch generation unit 412, and based on this information, generates pair information for pairing processing. In other words, the pair information can also be said to be boundary correction information related to boundary correction processing.
  • the pair information generator 621 supplies the generated pair information to the multiplexer 421 .
  • the multiplexing unit 421 stores the pair information in a bitstream by multiplexing it with other data. Also, the pair information generation unit 621 supplies the generated pair information and information such as connectivity 451 and vertex information to the smoothing information generation unit 622 .
  • the smoothing information generation unit 622 generates smoothing information based on the information supplied from the pair information generation unit 621.
  • the smoothing information generator 622 supplies the generated smoothing information to the multiplexer 421 .
  • the multiplexing unit 421 multiplexes the smoothing information with other encoded data and the like to generate a bitstream. This bitstream is provided, for example, to a decoding device. Therefore, the multiplexer 421 can be said to be a provider that provides smoothing information.
  • the encoding device 400 can generate smoothing information and provide it to the decoding device.
  • the decoding device can perform smoothing processing based on the smoothing information. Therefore, the encoding device can control the smoothing process of the decoding device.
  • step S646 the image generation unit 419 updates the texture 454 based on the geometry patches and the like generated in step S642 to generate a texture image.
  • step S647 the 2D encoding unit 420 encodes the texture image to generate encoded data of the texture image.
  • step S648 the pair information generation unit 621 generates pair information.
  • step S649 the smoothing information generation unit 622 applies method 1-3 to generate smoothing information.
  • the smoothing information generator 622 can apply methods 1-3-1 to 1-3-3.
  • step S650 the multiplexing unit 421 stores the smoothing information in the bitstream by multiplexing the smoothing information generated in step S649 with other data.
  • step S650 ends, the encoding process ends.
  • the encoding device 400 can generate smoothing information and provide it to the decoding device.
  • the decoding device can perform smoothing processing based on the smoothing information. Therefore, the encoding device can control the smoothing process of the decoding device.
  • FIG. 33 is a block diagram showing a main configuration example of the decoding device 300 in this case.
  • FIG. 33 shows a main configuration example of a decoding device that executes 3D smoothing processing (that is, an example corresponding to the example of FIG. 18).
  • FIG. 33 shows main components such as the processing unit and data flow, and what is shown in FIG. 33 is not necessarily all. That is, decoding device 300 may include processing units not shown as blocks in FIG. 33, or processes and data flows not shown as arrows or the like in FIG.
  • the decoding device 300 has the same configuration as the example in FIG. However, in this case, the demultiplexer 311 demultiplexes the bitstream and obtains the smoothing information included in the bitstream. In other words, the demultiplexer 311 can also be said to be an acquisition unit that acquires the transmitted smoothing information. The demultiplexer 311 supplies the smoothing information to the 3D smoothing processor 318 .
  • the 3D smoothing processing unit 318 acquires the smoothing information supplied from the demultiplexing unit 311.
  • the 3D smoothing processing unit 318 then applies method 1-3 to perform 3D smoothing processing based on the smoothing information.
  • the 3D smoothing processing unit 318 can also apply methods 1-3-1 to 1-3-3.
  • the 3D smoothing processing unit 318 outputs the vertex information 333 after the 3D smoothing processing to the outside of the decoding device 300 as (data constituting) 3D data using the restored mesh.
  • the decoding device 300 can perform 3D smoothing processing based on the smoothing information. That is, the decoding device 300 can perform 3D smoothing processing under the control of the encoding device. Also in this case, the decoding device 300 can bring the shape of the reconstructed object closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data.
  • step S701 the demultiplexing unit 311 extracts (obtains) the smoothing information included in the bitstream by demultiplexing the bitstream.
  • step S708 the 3D smoothing processing unit 318 applies method 1-3 described above, executes 3D smoothing processing based on the smoothing information obtained in step S701, and performs 3D smoothing of the correction target point corresponding to the reference point. Correct the coordinates.
  • the 3D smoothing processing unit 318 can also apply methods 1-3-1 to 1-3-3.
  • step S708 ends, the decoding process ends.
  • the decoding device 300 can execute the 3D smoothing process based on the smoothing information. That is, the decoding device 300 can perform 3D smoothing processing under the control of the encoding device. Also in this case, the decoding device 300 can bring the shape of the reconstructed object closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data.
  • FIG. 35 is a block diagram showing a main configuration example of the decoding device 300 in that case.
  • FIG. 35 shows main items such as the processing unit and data flow, and what is shown in FIG. 35 is not necessarily all. That is, decoding device 300 may include processing units not shown as blocks in FIG. 35, or may have processes and data flows not shown as arrows or the like in FIG.
  • the decoding device 300 has the same configuration as the example in FIG. However, in this case, the demultiplexer 311 demultiplexes the bitstream and obtains the smoothing information included in the bitstream. In other words, the demultiplexer 311 can also be said to be an acquisition unit that acquires the transmitted smoothing information. The demultiplexer 311 supplies the smoothing information to the 2D smoothing processor 342 .
  • the 2D smoothing processing unit 342 acquires the smoothing information supplied from the demultiplexing unit 311. Then, the 2D smoothing processing unit 342 applies method 1-3 and performs 2D smoothing processing based on the smoothing information. At that time, the 2D smoothing processor 342 can also apply methods 1-3-1 to 1-3-3. The 2D smoothing processing unit 342 supplies the geometry image after 2D smoothing processing to the patch reconstruction unit 315 .
  • the decoding device 300 can execute 2D smoothing processing based on the smoothing information. That is, the decoding device 300 can execute 2D smoothing processing under the control of the encoding device. Also in this case, the decoding device 300 can bring the shape of the reconstructed object closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data.
  • step S731 the demultiplexing unit 311 extracts (obtains) the smoothing information included in the bitstream by demultiplexing the bitstream.
  • step S736 the 2D smoothing processing unit 342 applies method 1-3 described above, executes 2D smoothing processing based on the smoothing information obtained in step S731, and corrects the correction target corresponding to the reference point in the geometry image. Correct the pixel value (depth value) of the point.
  • the 2D smoothing processor 342 can also apply methods 1-3-1 to 1-3-3.
  • steps S737 and S738 are executed in the same manner as the processes of steps S337 and S338 of FIG.
  • step S738 ends, the decoding process ends.
  • the decoding device 300 can execute the 2D smoothing process based on the smoothing information. That is, the decoding device 300 can execute 2D smoothing processing under the control of the encoding device. Also in this case, the decoding device 300 can bring the shape of the reconstructed object closer to the shape of the object before encoding, thereby suppressing reduction in the subjective quality of the 3D data.
  • 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. 37 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 is composed of, for example, a keyboard, mouse, microphone, touch panel, input terminals, 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 a 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.
  • a decoding unit for decoding an encoded bitstream in which 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; a boundary correction unit that performs boundary correction processing for correcting geometry on boundary vertices located on the boundary of the decoded patch; and a smoothing unit that uses the boundary vertex subjected to the boundary correction process as a reference point, and executes a smoothing process for smoothing geometry on vertices in a partial area based on the reference point.
  • the smoothing unit sets correction target points to be subjected to the smoothing process and correction utilization points to be used for the smoothing process, based on the set reference points. information processing equipment.
  • the boundary correction unit corrects two-dimensional coordinates of the boundary vertex as the boundary correction processing,
  • the information processing apparatus according to (3), wherein the smoothing unit corrects two-dimensional coordinates of the correction target point as the smoothing process.
  • a position correction unit that executes a position correction process for correcting the geometry of the position correction target point based on the position correction coordinate information including information on the position correction target point to be corrected and the geometry after correction.
  • the information processing apparatus according to any one of (1) to (5), wherein the smoothing unit sets the reference point based on the coordinate information for position correction. (7) The information processing apparatus according to (6), wherein the smoothing unit sets the boundary vertex on which the boundary correction process and the position correction process are performed as the reference point. (8) The information processing apparatus according to (6) or (7), wherein the smoothing unit sets, as the reference point, an in-patch vertex located inside the patch subjected to the position correction processing. (9) further comprising an acquisition unit that acquires smoothing information including information about the transmitted smoothing, The information processing apparatus according to any one of (1) to (8), wherein the smoothing unit executes the smoothing process based on the acquired smoothing information.
  • the smoothing information includes information for specifying vertices to be corrected points to be subjected to the smoothing process and vertices to be corrected points to be used in the smoothing process. Or the information processing apparatus according to (15). (17) The information processing apparatus according to any one of (14) to (16), wherein the smoothing information includes information indicating a method of correcting the geometry of the correction target point targeted for the smoothing process. (18) further comprising a boundary correction unit that executes the boundary correction process; The information according to any one of (14) to (17), wherein the smoothing information generating unit generates the smoothing information based on the geometry of the boundary vertices subjected to the boundary correction processing by the boundary correcting unit. processing equipment.
  • the information processing apparatus according to any one of (14) to (17), wherein the smoothing information generation unit generates the smoothing information based on the boundary correction information.
  • the information processing method wherein the boundary correction processing is processing for correcting the geometry of the boundary vertex.
  • 300 decoding device 311 demultiplexing unit, 312 meta information decoding unit, 313 and 314 2D decoding unit, 315 patch reconstruction unit, 316 vertex information reconstruction unit, 317 3D boundary correction processing unit, 318 3D smoothing processing unit, 341 2D boundary correction processing unit, 342 2D smoothing processing unit, 400 encoding device, 411 mesh voxelization unit, 412 patch generation unit, 413 image generation unit, 414 meta information encoding unit, 415 2D encoding unit, 416 2D decoding unit , 417 boundary correction processing unit, 418 position correction coordinate information generation unit, 419 image generation unit, 420 2D encoding unit, 421 multiplexing unit, 511 3D position correction unit, 521 2D position correction unit, 611 smoothing information generation unit, 612 smoothing processing unit, 621 pair information generation unit, 622 smoothing information generation unit, 900 computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

本開示は、符号化および復号による3Dデータの品質の低減を抑制することができるようにする情報処理装置および方法に関する。 3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号し、その復号されたパッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行し、その境界補正処理が行われた境界頂点を基準点とし、その基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する。本開示は、例えば、情報処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

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のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号する復号部と、復号された前記パッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行する境界補正部と、前記境界補正処理が行われた前記境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する平滑化部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号し、復号された前記パッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行し、前記境界補正処理が行われた前記境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する情報処理方法である。
 本技術の他の側面の情報処理装置は、境界補正処理が行われた境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報を生成する平滑化情報生成部と、前記平滑化情報を提供する提供部とを備え、前記境界頂点は、3次元構造のオブジェクトを表現するメッシュの一部に対応するパッチの境界に位置する頂点であり、前記境界補正処理は、前記境界頂点のジオメトリを補正する処理である情報処理装置である。
 本技術の他の側面の情報処理方法は、境界補正処理が行われた境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報を生成し、前記平滑化情報を提供する。前記境界頂点は、3次元構造のオブジェクトを表現するメッシュの一部に対応するパッチの境界に位置する頂点である。前記境界補正処理は、前記境界頂点のジオメトリを補正する処理である情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームが復号され、その復号されたパッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理が実行され、その境界補正処理が行われた境界頂点が基準点とされ、その基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理が実行される。
 本技術の他の側面の情報処理装置および方法においては、境界補正処理が行われた境界頂点を基準点とし、その基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報が生成され、その平滑化情報が提供される。
ビデオベースドアプローチについて説明する図である。 Meshについて説明する図である。 VPCCとMeshのデータの構成の違いを説明する図である。 ジッパーリングについて説明する図である。 ペアリング処理について説明する図である。 スムージング処理の適用について説明する図である。 スムージング処理について説明する図である。 スムージング処理について説明する図である。 スムージング処理について説明する図である。 補正対象点と補正利用点の特定方法の例について説明する図である。 補正対象点と補正利用点の特定方法の例について説明する図である。 補正対象点と補正利用点の特定方法の例について説明する図である。 補正対象点と補正利用点の特定方法の例について説明する図である。 補正方法の例について説明する図である。 補正方法の例について説明する図である。 補正方法の例について説明する図である。 補正方法の例について説明する図である。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 パッチ内頂点に対するスムージング処理について説明する図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.VPCC拡張でのMesh圧縮
 2.スムージング処理
 3.境界補正後のジオメトリに基づくスムージング処理
 4.位置補正用座標情報に基づくスムージング処理
 5.スムージング情報に基づくスムージング処理
 6.付記
 <1.VPCC拡張でのMesh圧縮>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:"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
 非特許文献4:Ohji Nakagami, "PCC TMC2 low complexity geometry smoothing", ISO/IEC JTC1/SC29/WG11 MPEG2018/ m43501, July 2018, Ljubljana, SI
 非特許文献5:Julien Ricard, Celine Guede, Joan Llach, "[V-PCC][NEW] Patch border filtering", ISO/IEC JTC1/SC29/WG11 MPEG2018/ m47479, 126th Meeting, March 2019, Geneva, Switzerland
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、点の位置情報や属性情報等により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データの品質が低減するおそれがあった。
  <ジッパーリング>
 そこで、例えば、非特許文献2に記載されているような、ジッパーリング(Zippering)というアルゴリズムが提案された。ジッパーリングでは、3Dで近隣の境界頂点がサーチされ、処理対象の頂点が移動されて、サーチした点と一致させられる(マッチングとも称する)。クラックが発生した部分の各頂点座標をこのように補正することによりクラックが消去される。
 例えば、図4に示されるように、パッチ61とパッチ62とに分かれることにより、その境界にある頂点63(図中白丸で示される頂点)は、A1とB1、A2とB2、・・・のように、それぞれ2つに分離する。ジッパーリングによりこれらの点が、図中点線で示されるようにマッチングされ、クラックが消去される。このジッパーリングのように、パッチ境界に位置する頂点(境界頂点とも称する)の位置を補正する処理を境界補正処理とも称する。
 <ペアリング処理>
 境界補正処理は、ジッパーリングに限らない。例えば、マッチングさせる頂点の組み合わせ(頂点のペア)に関するペア情報をエンコーダからデコーダへ伝送し、そのペア情報に基づいて、そのペアを構成する各頂点の位置を一致させるように補正してもよい。
 例えば、図5のAに示されるように、メッシュにおいて、頂点71、頂点72、および頂点73を頂点とする(エッジ75、エッジ76、およびエッジ77で囲まれる)ポリゴン81と、頂点71、頂点72、および頂点74を頂点とする(エッジ75、エッジ78、およびエッジ79で囲まれる)ポリゴン82が形成されるとする。つまり、ポリゴン81およびポリゴン82は、頂点71および頂点72、並びに、エッジ75を共有する。
 VPCCを拡張してメッシュを符号化することにより、例えば図5のBに示されるように、ポリゴン81がパッチ91として、ポリゴン82がパッチ92として、それぞれ、ジオメトリ画像に配置されるとする。パッチ91およびパッチ92は、互いに独立に配置されるため、図5のBの例のように、互いに離れた位置に配置される場合がある。つまり、ジオメトリ画像上では、頂点71が頂点71-1と頂点71-2に分離され、頂点72が頂点72-1と頂点72-2に分離され、エッジ75がエッジ75-1とエッジ75-2に分離される。
 このような場合において、エンコーダが、頂点71-1および頂点71-2、頂点72-1および頂点72-2、エッジ75-1およびエッジ75-2を、それぞれペアとして表現するペア情報を生成する。デコーダは、そのペア情報に従ってマッチングを行う。つまり、デコーダは、再構成後に頂点71-1および頂点71-2が1つの頂点となるように、それらの位置を補正する。同様に、デコーダは、頂点72-1および頂点72-2の位置も、再構成後に1つの頂点となるように補正する。この補正により、エッジ75-1およびエッジ75-2も、再構成後に1つのエッジとなる。したがって、クラックの発生を抑制することができる。
 どの頂点同士をマッチングさせるかはペア情報により示される(エンコーダから伝送される)ので、デコーダは、ジッパーリングの場合に比べて、より確実かつより正確に頂点をマッチングさせることができる。つまり、より確実にクラックを消去することができ、より適切な頂点とマッチングさせることができる(テクスチャの不連続の発生を抑制することができる)。したがって、符号化および復号による3Dデータの品質の低減を抑制することができる。また、サーチ処理が不要であるので、処理の負荷の増大を抑制することができる。
 なお、本明細書において「ペア」とは、メッシュの単数の頂点から生成されるパッチの複数の頂点により構成される「組み」(「対」や「グループ」とも表現し得る)を示す。つまり、ペアを構成する各頂点は、メッシュにおいて互いに同一の頂点に対応する。換言するに、このペアを示す「ペア情報」は、複数のパッチの頂点同士の対応関係(どの頂点とどの頂点とが対応するか)を示す情報である。なお、ペアは、3つ以上の頂点により構成されてもよい。つまり、メッシュの1つの頂点が3以上のパッチに分けられてもよい。
 また、このようなペア情報に基づく境界補正処理をペアリング処理とも称する。
 なお、以上においては、メッシュにおける1つの頂点が複数のパッチに分けられる例を説明したが、ペアを構成する各頂点がメッシュにおける「重複点」に対応してもよい。つまり、メッシュにおいて互いに同一の位置の複数の頂点が互いに異なるパッチに分けられることにより、ペアを形成してもよい。
 また、以上においてはペアが頂点により構成されるように説明したが、頂点の代わりに「エッジ」により構成されるようにしてもよい。隣接するポリゴンは、頂点だけでなく「辺」(頂点同士を結ぶ「接続」)も共有する。1対のパッチが共有する、連続する辺や頂点の「組み」を「エッジ」とも称する。つまり、ペアが、複数のエッジにより構成される「組み」を示してもよい。換言するに、ペア情報が、複数のパッチのエッジ同士の対応関係を示す情報であってもよい。
 <2.スムージング処理>
  <境界補正による画質低減とスムージング処理の適用>
 以上に説明したジッパーリングやペアリング処理等の境界補正処理が行われると、パッチの境界頂点のみが補正される(すなわち移動する)。換言するに、パッチ内部の頂点(パッチ内頂点とも称する)は、この境界補正により補正されない(移動しない)。したがって、境界補正により、境界頂点とその周辺のパッチ内頂点との位置関係が変化する可能性がある。そのため、3次元構造のオブジェクトが変形する等、3Dデータの主観的品質が低減するおそれがあった。例えば、表示画像において、3Dオブジェクトの形状が符号化前の状態と比べて変化する等の、主観的画質の低減が発生するおそれがあった。
 そこで、上述のように、VPCCを拡張してメッシュを用いた3Dデータを圧縮(符号化)し、復号後に境界補正を行う場合において、図6の表の最上段に示されるように、情報処理装置が、境界補正されたパッチの境界頂点を基準点とする部分領域内の補正対象点に対して、スムージング処理を実行する(方法1)。
 例えば、情報処理装置において、3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号する復号部と、その復号されたパッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行する境界補正部と、その境界補正処理が行われた境界頂点を基準点とし、その基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する平滑化部とを備えるようにする。
 例えば、情報処理方法において、3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号し、その復号されたパッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行し、その境界補正処理が行われた境界頂点を基準点とし、その基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行するようにする。
 ここで、境界補正処理は、例えば上述したジッパーリングやペアリング処理等のように、境界頂点のジオメトリを補正する処理である。平滑化処理は、頂点同士の位置の差のばらつきを低減させるように、頂点の位置を補正する処理であり、スムージング処理とも称する。デコーダは、境界補正処理が行われた境界頂点を基準点とし、その基準点に基づいて特定される部分領域内の頂点を対象としてスムージング処理を行う。なお、基準点は、境界補正処理によってより適切な位置に補正されているので、このスムージング処理においてその基準点の位置は補正しない(基準点は補正の対象にならない)。
 より具体的な例について説明する。例えば、図7に示されるように、オブジェクト110の頂点111乃至頂点118が、2つのパッチに分けて投影されるとする。例えば、頂点111乃至頂点114は、パッチ141として、矢印121の方向に投影面131に投影されるとする。例えば符号化歪等によりデプス値を失うと、頂点111乃至頂点114は、頂点111’乃至頂点114’のように、投影面131上の点となる。同様に、頂点114乃至頂点118は、パッチ142として、矢印122の方向に投影面132に投影されるとする。例えば符号化歪等によりデプス値を失うと、頂点114乃至頂点118は、頂点114’’乃至頂点118’’のように、投影面132上の点となる。このような場合、再構成後の状態において、頂点114は、頂点114’と頂点114’’の2つの頂点となる。
 このような場合において、ジッパーリングやペアリング処理のような境界補正が行われ、図8に示されるように、パッチの境界頂点である頂点114’および頂点114’’の位置が元の頂点114の位置に補正されたとする。これにより、パッチ間のクラックは消去されるが、頂点114(頂点114’および頂点114’’)と頂点113’および頂点115’’との間で位置の差が増大する。つまり、境界補正後のオブジェクトの形状が、点線で示される元のオブジェクト110の形状と異なる。
 そこで、その境界補正された境界頂点(頂点114’および頂点114’’)周辺の頂点を対象としてスムージング処理を行うことにより、図9に示されるように、頂点間の位置の差のばらつきを抑制することができる。図9の例では、スムージング処理により、図7の頂点112’、頂点113’、頂点115’’および頂点116’’が、頂点112’’’、頂点113’’’、頂点115’’’、および頂点116’’’の位置に移動している。つまり、オブジェクトの形状を元のオブジェクト110の形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
 <3.境界補正後のジオメトリに基づくスムージング処理>
 上述の方法1を適用する場合、図6の表の上から2段目に示されるように、情報処理装置が、境界補正後のジオメトリに基づいて、このスムージング処理を行ってもよい(方法1-1)。
  <基準点の特定>
 その方法1-1を適用する場合において、図6の表の上から3段目に示されるように、情報処理装置が、境界補正後のジオメトリ(つまり、境界補正処理が行われた境界頂点のジオメトリ)に基づいて基準点を特定(設定)してもよい(方法1-1-1)。この境界補正後のジオメトリに基づく基準点の設定方法(アルゴリズム)は任意である。
 例えば、ジッパーリングされた境界頂点を基準点としてもよい。また、そのジッパーリングされた境界頂点の内、何らかの条件を満たす境界頂点のみを基準点としてもよい。例えば、ジッパーリングによる移動量が所定の閾値より大きい境界頂点を基準点としてもよい。また、隣接する頂点との位置の差が所定の閾値より大きい境界頂点を基準点としてもよい。
 また、例えば、ペアリング処理された境界頂点を基準点としてもよい。また、そのペアリング処理された境界頂点の内、何らかの条件を満たす境界頂点のみを基準点としてもよい。例えば、ペアリングによる移動量が所定の閾値より大きい境界頂点を基準点としてもよい。また、隣接する頂点との位置の差が所定の閾値より大きい境界頂点を基準点としてもよい。
  <補正対象点と補正利用点の特定>
 また、上述の方法1-1を適用する場合において、図6の表の上から4段目に示されるように、情報処理装置が、基準点に基づいて、スムージング処理の対象とする補正対象点と、そのスムージング処理に利用する補正利用点とを特定(設定)してもよい(方法1-1-2)。この基準点に基づく補正対象点および補正利用点の設定方法(アルゴリズム)は任意である。
 例えば、パッチ内の、基準点を含む三角形と、k(kは任意の自然数)回以内にエッジを介してたどり着く三角形を対象三角形とし、その対象三角形群の内部頂点を補正対象点としてもよい。また、対象三角形群の外部頂点を補正利用点としてもよい。なお、補正対象点は、スムージング処理に利用される補正対象点以外の頂点である。例えば、補正対象点が存在する部分領域(基準点に基づいて特定される部分領域)の周辺の頂点が、補正利用点として設定される。
 例えば、図10に示されるパッチ150において、黒丸で示される頂点151が基準点に設定されるとする。図10において、黒丸で示される頂点の1つにのみ符号を付しているが、黒丸で示される頂点は全て頂点151であり、基準点に設定される。この場合、濃いグレーで示される三角形が「基準点を含む三角形」である。また、例えばk=2とすると、斜線模様で示される三角形と薄いグレーで示される三角形が「k回以内にエッジを介してたどり着く三角形」である。したがって、これらの三角形が対象三角形とされ、その対象三角形群の領域の内部に位置する、グレーの丸で示される頂点152(内部頂点)が補正対象点として設定される。図10において、グレーの丸で示される頂点の1つにのみ符号を付しているが、グレーの丸で示される頂点は全て頂点152であり、補正対象点として設定される。また、その対象三角形群の領域の境界に位置する、斜線模様の丸で示される頂点153が補正利用点として設定される。図10において、斜線模様の丸で示される頂点の1つにのみ符号を付しているが、斜線模様の丸で示される頂点は全て頂点153であり、補正利用点として設定される。
 また、例えば、パッチ内の、k(kは任意の自然数)個以内のエッジを介して基準点と繋がる点を補正対象点としてもよい。また、k+1個(以上)のエッジを介して基準点と繋がる点を補正利用点としてもよい。例えば、図11に示されるパッチ160において、黒丸で示される頂点161が基準点に設定されるとする。図11において、黒丸で示される頂点の1つにのみ符号を付しているが、黒丸で示される頂点は全て頂点161であり、基準点に設定される。例えばk=1とすると、グレーの丸で示される頂点162が補正対象点に設定され、斜線模様の丸で示される頂点163が補正利用点に設定される。図11において、グレーの丸で示される頂点の1つにのみ符号を付しているが、グレーの丸で示される頂点は全て頂点162であり、補正対象点に設定される。また、斜線模様の丸で示される頂点の1つにのみ符号を付しているが、斜線模様の丸で示される頂点は全て頂点163であり、補正利用点に設定される。
 また、例えば、パッチ内の、基準点に近い方からk(kは任意の自然数)個の頂点を補正対象点としてもよい。また、その補正対象点とエッジで繋がる頂点(補正対象点を除く)を補正利用点としてもよい。例えば、図12に示されるパッチ170において、黒丸で示される頂点171が基準点に設定されるとする。k=5とすると、その頂点171に近い方から5つのグレーの丸で示される頂点172が補正対象点に設定される。図12において、グレーの丸で示される頂点の1つにのみ符号を付しているが、グレーの丸で示される頂点は全て頂点172であり、補正対象点に設定される。そして、この補正対象点とエッジで繋がる頂点(補正対象点を除く)が補正利用点に設定される。
 また、例えば、パッチ内の、基準点から距離k(kは任意の正の値)以内の頂点を補正対象点としてもよい。また、その補正対象点とエッジで繋がる頂点(補正対象点を除く)を補正利用点としてもよい。例えば、図13に示されるパッチ180において、黒丸で示される頂点181が基準点に設定されるとする。その頂点181を中心とする半径kの円内に位置する、グレーの丸で示される頂点182が補正対象点に設定される。図13において、グレーの丸で示される頂点の1つにのみ符号を付しているが、グレーの丸で示される頂点は全て頂点182であり、補正対象点に設定される。そして、この補正対象点とエッジで繋がる頂点(補正対象点を除く)が補正利用点に設定される。
  <補正対象点の補正(3D)>
 また、上述の方法1-1を適用する場合において、図6の表の上から5段目に示されるように、情報処理装置が、スムージング処理を3次元空間において行ってもよい(方法1-1-3)。つまり、3Dデータ(メッシュ)を再構成した後の3次元空間の補正対象点に対してスムージング処理が行われるようにしてもよい。この場合、スムージング処理により、補正対象点の3次元座標(3D座標とも称する)が補正される。このような3次元空間におけるスムージング処理を3Dスムージング処理とも称する。
 例えば、非特許文献4に記載の処理(grid smoothing)は、3D上の点でパッチ境界付近の点を重心に寄せる。しかしながら、この処理の場合、補正対象点(換言するに補正対象点を特定するための基準点)を特定することができない。したがって、基準点である境界頂点の位置も補正されてしまうおそれがある。これに対して、上述の3Dスムージング処理は、基準点(補正対象点)を特定して処理を実行することができるので、境界補正処理によってより好ましい位置に補正された境界頂点の位置を補正せずに、頂点間の位置の差を平滑化することができる。したがって、符号化および復号による3Dデータの品質の低減を抑制することができる。
 なお、スムージング処理の前に境界補正処理が実行される。したがって、3Dスムージング処理が適用される場合、境界補正処理は、3次元空間において行われてもよいし、2次元画像において行われてもよい。境界補正処理が3次元空間において行われる場合、3Dデータ(メッシュ)を再構成した後の3次元空間の境界頂点に対して、ジッパーリングやペアリング処理等の境界補正処理が行われる。つまりこの場合、境界補正処理により、境界頂点の3次元座標(3D座標とも称する)が補正される。このような3次元空間において行われる境界補正処理を3D境界補正処理とも称する。これに対して、境界補正処理が2次元画像において行われる場合、ビットストリームを復号して得られたジオメトリ画像の境界頂点に対して、ペアリング処理等の境界補正処理が行われる。つまりこの場合、境界補正処理により、そのジオメトリ画像における境界頂点の画素値(デプス値)が補正される。このような2次元画像において行われる境界補正処理を2D境界補正処理とも称する。なお、2次元画像は、テクセルベースドプロジェクション(Texel base projection)等で利用されるxyz画像であってもよい。
 この3Dスムージング処理の方法(アルゴリズム)は任意である。
 例えば、この方法1-1-3を適用する場合において、図6の表の上から6段目に示されるように、情報処理装置が、基準点と補正利用点(と補正対象点)の重心を計算し、基準点以外の点を重心に寄せるように補正してもよい(方法1-1-3-1)。頂点が疎な場合、補正利用点が追加されるようにしてもよい。例えば、情報処理装置が、面からサブサンプリングされた点を補正利用点とし、3Dスムージング処理を実行してもよい。また、情報処理装置が、k個の近傍点を補正利用点とし、3Dスムージング処理を実行してもよい。また、面が裏返しになるのを抑制するための制約が追加されてもよい。例えば、補正による三角形の法線方向の変更が閾値で制限されてもよい。
 また、この方法1-1-3を適用する場合において、図6の表の上から7段目に示されるように、情報処理装置が、基準点を含む三角形と補正対象点を含む周辺の三角形の法線を用いて補正してもよい(方法1-1-3-2)。例えば、情報処理装置が、各三角形の法線方向の(重みつき)平均値nを算出し、基準点と補正利用点を含み、そのnを法線とする面へ三角形を投影してもよい。例えば、図14に示されるように、基準点191、補正対象点192、および補正対象点193を頂点とするポリゴン195と、補正対象点192、補正対象点193、および補正利用点194を頂点とするポリゴン196があるとする。この場合、情報処理装置は、ポリゴン195とポリゴン196のそれぞれの法線の(重み付き)平均値nを算出し、基準点191と補正利用点194を含み、そのnを法線とする面197へ、ポリゴン195およびポリゴン196を投影することにより、補正対象点192および補正対象点193の位置を補正する。
  <補正対象点の補正(2D)>
 また、上述の方法1-1を適用する場合において、図6の表の上から8段目に示されるように、情報処理装置が、スムージング処理を2次元画像において行ってもよい(方法1-1-4)。つまり、2D境界補正後のジオメトリ画像においてスムージング処理が行われるようにしてもよい。この場合、スムージング処理により、そのジオメトリ画像における補正対象点の画素値(デプス値)が補正される。このような2次元画像におけるスムージング処理を2Dスムージング処理とも称する。なお、2次元画像は、テクセルベースドプロジェクション(Texel base projection)等で利用されるxyz画像であってもよい。
 例えば、非特許文献5に記載の処理(patch border filtering)は、パッチを隣接するパッチの投影方向へ投影し直し、頂点を増減させることにより、平滑化する。しかしながら、この処理の場合、頂点の増減は可能だが、その座標の補正は行われない。そのため、補正の自由度が低減するおそれがある。また、3Dデータのデータ量や精度が変化するおそれがある。これに対して、上述の2Dスムージング処理は、補正対象点の位置(画素値)を補正するので、より高い自由度で頂点間の位置の差を平滑化することができる。また、データ量や精度の変化の増大を抑制することができる。したがって、符号化および復号による3Dデータの品質の低減を抑制することができる。
 なお、この2Dスムージング処理が適用される場合も、その2Dスムージング処理の前に境界補正処理が実行される。つまり、この場合、上述した2D境界補正処理が適用される。
 この2Dスムージング処理の方法(アルゴリズム)は任意である。
 例えば、この方法1-1-4を適用する場合において、図6の表の上から9段目に示されるように、情報処理装置が、スムージング処理として、基準点と補正利用点のジオメトリを用いて線形変換してもよい(方法1-1-4-1)。この線形変換の方法(アルゴリズム)は任意である。例えば、情報処理装置が、基準点の画素値と補正利用点の画素値の(距離重みつき)平均を算出し、補正対象点の画素値としてもよい。
 例えば、図15のAに示されるような頂点201乃至頂点204が存在し、頂点201を基準点とし、頂点202を補正対象点とし、頂点203および頂点204を補正利用点とするとする。この場合、情報処理装置は、スムージング処理として、頂点202の位置における頂点201、頂点203、および頂点204の画素値の距離重み付き平均を、頂点202の画素値とする。このような補正により、頂点202は、図15のBに示される位置に移動し、各頂点間の位置の差のばらつきが低減する(平滑化される)。
 また、方法1-1-4を適用する場合において、図6の表の上から10段目に示されるように、情報処理装置が、ジオメトリ画像内の、補正対象三角形が位置するピクセルに平滑化フィルタ処理を行ってもよい(方法1-1-4-2)。例えば、図16に示されるパッチ210に対し、グレーの丸で示される補正対象点を含む部分領域(斜線で示さる三角形により構成される領域)の画素に平滑化フィルタ処理を行ってもよい。
 その際、情報処理装置は、例えば、そのパッチのみを用いて、そのパッチ内の部分領域に対して平滑化フィルタ処理を行ってもよい。また、情報処理装置が、パッチを定義し直し、再投影した画像に平滑化フィルタ処理を行ってもよい。その場合、例えば、情報処理装置が、パッチ境界に接する三角形の近くのパッチ外の三角形を含めて再投影することにより、パッチを定義しなおしてもよい。なお、この再投影はエンコーダで行ってもよいし、デコーダで行ってもよい。また、情報処理装置が、オブジェクト全体を所定の複数方向(例えば、6方向等)に再投影してもよい。このようにパッチ外の領域も含めて平滑化フィルタ処理を行うことにより、3Dデータの品質の低減をより抑制することができる場合があり得る。
 また、方法1-1-4を適用する場合において、図6の表の上から11段目に示されるように、情報処理装置が、基準点と補正利用点を頂点とする面(三角形)をはり、その面内をラスタライズしてもよい(方法1-1-4-3)。この面(三角形)は、例えば、1つの境界頂点と近傍の2つの補正利用点を頂点とする三角形であってもよい。例えば、情報処理装置は、図17に示されるパッチ220に対して、そのような面222をはり、その面222内をラスタライズしてもよい。また、この面(三角形)は、例えば、2つの境界頂点と近傍の1つの補正利用点を頂点とする三角形であってもよい。例えば、情報処理装置は、図17に示されるパッチ220に対して、そのような面221をはり、その面221内をラスタライズしてもよい。
  <復号装置>
 図18は、方法1-1を適用する場合の、情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図18に示される復号装置300は、VPCCを拡張してメッシュを用いた3Dデータをビデオフレームとして2次元画像用の符号化方法により符号化された符号化データを、2次元画像用の復号方法により復号し、メッシュを用いた3Dデータを生成(再構成)する装置である。その際、復号装置300は、上述した方法1-1を適用して、符号化データを復号し、3Dデータを再構成する。
 なお、図18においては、処理部やデータの流れ等の主なものを示しており、図18に示されるものが全てとは限らない。つまり、復号装置300において、図18においてブロックとして示されていない処理部が存在したり、図18において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図18に示されるように復号装置300は、逆多重化部311、メタ情報復号部312、2D復号部313、2D復号部314、パッチ再構成部315、頂点情報再構成部316、3D境界補正処理部317、および3Dスムージング処理部318を有する。
 逆多重化部311は、復号装置300に入力されるビットストリームを取得する。このビットストリームは、メッシュを用いた3DデータがVPCCを拡張して符号化されたものである。
 逆多重化部311は、このビットストリームを逆多重化し、そのビットストリームに含まれる各種データを抽出(取得)する。例えば、逆多重化部311は、ビットストリームからメタ情報の符号化データを抽出する。さらに、逆多重化部311は、ビットストリームからジオメトリ画像の符号化データやオキュパンシー画像の符号化データを抽出する。さらに、逆多重化部311は、ビットストリームからテクスチャ画像の符号化データを抽出する。
 逆多重化部311は、抽出したメタ情報の符号化データをメタ情報復号部312に供給する。また、逆多重化部311は、抽出したジオメトリ画像の符号化データやオキュパンシー画像の符号化データを2D復号部313に供給する。さらに、逆多重化部311は、抽出したテクスチャ画像の符号化データを2D復号部314に供給する。
 メタ情報復号部312は、逆多重化部311から供給されるメタ情報の符号化データを取得する。メタ情報復号部312は、取得したメタ情報の符号化データを復号し、メタ情報を生成する。このメタ情報には、各ポリゴンを構成する頂点と辺を示すコネクティビティ331が含まれる。また、このメタ情報には、各頂点のテクスチャ画像における位置をUV座標により示すUVマップ332が含まれる。メタ情報復号部312は、生成したコネクティビティ331およびUVマップ332を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置300の外部に出力する。また、メタ情報復号部312は、生成したコネクティビティ331やUVマップ332をパッチ再構成部315に供給する。
 2D復号部313は、逆多重化部311から供給されるジオメトリ画像の符号化データやオキュパンシー画像の符号化データを取得する。2D復号部313は、取得したジオメトリ画像の符号化データを2D画像用の復号方式で復号し、ジオメトリ画像を生成する。また、2D復号部313は、取得したオキュパンシー画像の符号化データを2D画像用の復号方式で復号し、オキュパンシー画像を生成する。2D復号部313は、生成したジオメトリ画像やオキュパンシー画像をパッチ再構成部315に供給する。
 2D復号部314は、逆多重化部311から供給されるテクスチャ画像の符号化データを取得する。2D復号部314は、取得したテクスチャ画像の符号化データを2D画像用の復号方式で復号し、各ポリゴンに張り付けられるテクスチャがパッチ毎に配置されたテクスチャ画像(テクスチャ334)を生成する。2D復号部314は、生成したテクスチャ画像(テクスチャ334)を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置300の外部に出力する。
 パッチ再構成部315は、メタ情報復号部312から供給されるメタ情報(コネクティビティ331およびUVマップ332等)を取得する。また、パッチ再構成部315は、2D復号部313から供給されるジオメトリ画像やオキュパンシー画像を取得する。パッチ再構成部315は、オキュパンシー画像やメタ情報を用いて、ジオメトリ画像からパッチ画像を抽出し、抽出したパッチ画像に対応するパッチを再構成する。パッチ再構成部315は、再構成したパッチや、使用したメタ情報(コネクティビティ331およびUVマップ332等)を頂点情報再構成部316に供給する。
 頂点情報再構成部316は、パッチ再構成部315から供給されるパッチやメタ情報を取得する。頂点情報再構成部316は、取得したパッチから、そのパッチの領域に含まれる頂点を再構成し、各頂点の3次元座標により構成される頂点情報を生成する。頂点情報再構成部316は、生成した頂点情報やメタ情報(コネクティビティ331およびUVマップ332等)を3D境界補正処理部317へ供給する。
 3D境界補正処理部317は、頂点情報再構成部316から供給された頂点情報やメタ情報(コネクティビティ331およびUVマップ332等)を取得する。3D境界補正処理部317は、その頂点情報について、境界補正処理を行う。つまり、3D境界補正処理部317は、3D境界補正処理を実行する。3D境界補正処理部317は、その3D境界補正処理として、例えば、ジッパーリングやペアリング処理等を行う。3D境界補正処理部317がペアリング処理を行う場合、逆多重化部311が取得するビットストリームにはペア情報が含まれる。逆多重化部311は、ビットストリームからそのペア情報を抽出し、3D境界補正処理部317へ供給する。3D境界補正処理部317は、そのペア情報を取得し、そのペア情報を用いてペアリング処理を行う。3D境界補正処理部317は、この境界補正処理により、境界頂点の3次元座標を補正する。3D境界補正処理部317は、境界補正後の頂点情報を3Dスムージング処理部318へ供給する。また、3D境界補正処理部317は、メタ情報(コネクティビティ331およびUVマップ332等)やペア情報等の、その他の情報を必要に応じて3Dスムージング処理部318へ供給する。
 3Dスムージング処理部318は、3D境界補正処理部317から供給される頂点情報やその他の情報(メタ情報やペア情報等)を取得する。3Dスムージング処理部318は、上述した方法1-1-3を適用し、境界補正されたパッチ境界点を基準点とする部分領域内の補正対象点に対して3Dスムージング処理を実行する。つまり、3Dスムージング処理部318は、補正対象点の3次元座標を補正する。その際、3Dスムージング処理部318は、方法1-1-1および方法1-1-2も適用し得る。3Dスムージング処理部318は、3Dスムージング処理後の頂点情報333を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置300の外部に出力する。
 なお、これらの処理部は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
 このような構成を有することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号処理の流れ>
 この復号装置300により実行される復号処理の流れの例を、図19のフローチャートを参照して説明する。
 復号処理が開始されると、逆多重化部311は、ステップS301において、復号装置300に入力されたビットストリームを逆多重化し、各種データを抽出する。例えば、逆多重化部311は、ビットストリームからメタ情報の符号化データ、ジオメトリ画像の符号化データ、オキュパンシー画像の符号化データ、テクスチャ画像の符号化データ等を抽出する。
 ステップS302において、メタ情報復号部312は、ステップS301においてビットストリームから抽出されたメタ情報の符号化データを復号し、メタ情報を生成(復元)する。このメタ情報は、コネクティビティ331およびUVマップ332を含む。
 ステップS303において、2D復号部313は、ステップS301においてビットストリームから抽出されたジオメトリ画像の符号化データを復号し、ジオメトリ画像を生成(復元)する。また、2D復号部313は、ステップS301においてビットストリームから抽出されたオキュパンシー画像の符号化データを復号し、オキュパンシー画像を生成(復元)する。
 ステップS304において、2D復号部314は、ステップS301においてビットストリームから抽出されたテクスチャ画像の符号化データを復号し、テクスチャ画像(テクスチャ334)を生成(復元)する。
 ステップS305において、パッチ再構成部315は、ステップS302において生成されたメタ情報(コネクティビティ331およびUVマップ332等)を用いて、ステップS303において生成されたジオメトリ画像からパッチ画像を抽出し、そのパッチ画像に対応するパッチを再構成する。
 ステップS306において、頂点情報再構成部316は、ステップS305において再構成されたパッチから、そのパッチの領域に含まれる頂点を再構成し、頂点情報を生成する。
 ステップS307において、3D境界補正処理部317は、3D境界補正処理を実行し、ステップS306により生成された頂点情報に含まれる境界頂点の3次元座標を補正する。
 ステップS308において、3Dスムージング処理部318は、境界補正後のジオメトリに基づいて、ステップS307において境界補正された頂点情報を基準点とする3Dスムージング処理を実行し、その基準点に対応する補正対象点の3次元座標を補正する。
 ステップS308の処理が終了すると、復号処理が終了する。
 このように各処理を実行することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号装置>
 上述したように2Dスムージング処理を適用してもよい。図20は、その場合の復号装置300の主な構成例を示すブロック図である。
 なお、図20においては、処理部やデータの流れ等の主なものを示しており、図20に示されるものが全てとは限らない。つまり、復号装置300において、図20においてブロックとして示されていない処理部が存在したり、図20において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 この場合、復号装置300は、3D境界補正処理部317および3Dスムージング処理部318の代わりに、2D境界補正処理部341および2Dスムージング処理部342を有する。この場合2D復号部313は、生成したジオメトリ画像やオキュパンシー画像を2D境界補正処理部341へ供給する。
 2D境界補正処理部341は、そのジオメトリ画像やオキュパンシー画像を取得する。2D境界補正処理部341は、そのジオメトリ画像において例えばペアリング処理等の2D境界補正処理を実行する。これにより、そのジオメトリ画像における境界頂点の画素値(デプス値)が補正される。例えば、2D境界補正処理部341がペアリング処理を行う場合、逆多重化部311が取得するビットストリームにはペア情報が含まれる。逆多重化部311は、ビットストリームからそのペア情報を抽出し、2D境界補正処理部341へ供給する。2D境界補正処理部341は、そのペア情報を取得し、そのペア情報を用いてペアリング処理を行う。2D境界補正処理部341は、この境界補正処理により、ジオメトリ画像における境界頂点の画素値(デプス値)を補正する。2D境界補正処理部341は、境界補正後のジオメトリ画像を2Dスムージング処理部342へ供給する。また、2D境界補正処理部341は、オキュパンシー画像やペア情報等を2Dスムージング処理部342へ供給する。
 2Dスムージング処理部342は、2D境界補正処理部341から供給されるジオメトリ画像、オキュパンシー画像、ペア情報等を取得する。2Dスムージング処理部342は、上述した方法1-1-4を適用し、境界補正されたパッチ境界点を基準点とする部分領域内の補正対象点に対して2Dスムージング処理を実行する。つまり、2Dスムージング処理部342は、ジオメトリ画像における補正対象点の画素値(デプス値)を補正する。その際、2Dスムージング処理部342は、方法1-1-1および方法1-1-2も適用し得る。2Dスムージング処理部342は、2Dスムージング処理後のジオメトリ画像を、オキュパンシー画像やペア情報等とともに、パッチ再構成部315へ供給する。
 このような構成を有することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号処理の流れ>
 この復号装置300により実行される復号処理の流れの例を、図21のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS331乃至ステップS334の各処理が、図19のステップS301乃至ステップS304の各処理と同様に実行される。
 ステップS335において、2D境界補正処理部341は、例えばペアリング処理等の2D境界補正処理を実行し、ステップS333において得られたジオメトリ画像において、境界頂点の画素値(デプス値)を補正する。
 ステップS336において、2Dスムージング処理部342は、境界補正後のジオメトリに基づいて、ステップS335において境界補正された頂点情報を基準点とする2Dスムージング処理を実行し、ジオメトリ画像におけるその基準点に対応する補正対象点の画素値(デプス値)を補正する。
 ステップS337およびステップS338の各処理は、図19のステップS305およびステップS306の各処理と同様に実行される。
 ステップS338の処理が終了すると復号処理が終了する。
 このように各処理を実行することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <組み合わせ>
 なお、図18および図19を参照して説明した例と、図20および図21を参照して説明した例は、その一部または全部を適宜組み合わせて適用することができる。
 例えば、2D境界補正処理と3Dスムージング処理とを適用してもよい。例えば、復号装置300において、2D境界補正処理部341および3Dスムージング処理部318を適用してもよい。また、復号処理において、ステップS335の処理と、ステップS308の処理とを適用してもよい。
 また、例えば、復号装置300が、2Dスムージング処理と3Dスムージング処理の両方に対応するようにしてもよい。つまり、2Dスムージング処理および3Dスムージング処理の内、一方が選択されて実行されるようにしてもよい。例えば、復号装置300において、2Dスムージング処理部342および3Dスムージング処理部318を適用してもよい。また、復号処理において、ステップS336の処理と、ステップS308の処理とを適用してもよい。
 <4.位置補正用座標情報に基づくスムージング処理>
 上述の方法1を適用する場合、図6の表の上から12段目に示されるように、情報処理装置が、位置補正用座標情報に基づいて、このスムージング処理を行ってもよい(方法1-2)。位置補正用座標情報は、位置補正処理の対象となる頂点である位置補正対象点に関する情報である。位置補正処理は、境界補正、スムージング処理とは別のジオメトリ補正処理であり、置換や演算により頂点位置を補正する処理である。この位置補正処理は、位置補正用座標情報に基づいて実行される。
 例えば、復号装置において頂点の位置補正を行う場合に、その頂点の符号化前の元の位置(正解座標とも称する)を特定できないことがあり得る。例えば、境界補正処理により複数の境界頂点を1つにする場合、各境界頂点のパッチが互いに同一方向(正向きまたは逆向き)に投影される場合等、復号装置においては正解座標が得られないことがあり得る。
 そのような場合、符号化装置がその正解座標(符号化前の座標)を示す情報を復号装置に伝送し、復号装置がその情報に基づいて頂点を補正することにより、3Dデータの主観的品質の低減を抑制するような補正を実現することができる。
 上述の位置補正処理は、符号化装置から伝送される位置補正用座標情報に基づいてこのような補正を行う処理である。つまり、位置補正処理は、符号化装置から伝送される位置補正用座標情報に基づいて特定される頂点を処理対象とし、その位置補正用座標情報に基づいて導出される位置に、その処理対象の頂点を移動する処理である。
 例えば、上述のように、境界補正処理において正解座標が得られない境界頂点を、この位置補正処理により補正する(すなわち、その境界頂点を符号化装置により指定される正解座標に移動させる)ことにより、3Dデータの主観的品質の低減を抑制するような補正を実現することができる。
 つまり、符号化装置は、この位置補正用座標情報を生成し、復号装置へ提供する。復号装置は、その提供された位置補正用座標情報に基づいて位置補正処理を実行する。そして、この方法1-2の場合、復号装置は、その提供された位置補正用座標情報に基づいてスムージング処理を行う。例えば、復号装置が、補正の対象とする位置補正対象点および補正後のジオメトリに関する情報を含む位置補正用座標情報に基づいて、その位置補正対象点のジオメトリを補正する位置補正処理を実行する位置補正部をさらに備え、復号装置の平滑化部が、その位置補正用座標情報に基づいて基準点を設定してもよい。
  <境界頂点の位置補正用座標情報>
 上述の方法1-2を適用する場合、図6の表の上から13段目に示されるように、その位置補正対象点が境界頂点(境界補正の対象点)であってもよい(方法1-2-1)。例えば、符号化装置が、境界補正において正解座標が得られない境界頂点を位置補正の対象点とし、その境界頂点の正解座標を示す位置補正用座標情報を生成し、復号装置へ提供してもよい。ここで、正解座標が得られない境界頂点とは、例えば、上述のようにパッチ法線が同一方向の場合や、Texel base Projectionなど座標の移動が1方向のみでない場合等の境界頂点のことである。
 そして、復号装置が、境界補正後、この位置補正用座標情報に基づいて位置補正処理を実行し、その境界頂点をその正解座標に移動させてもよい。さらに、復号装置が、スムージング処理の基準点を特定する際に、この位置補正用座標情報に対応する境界頂点(位置補正処理の対象となる境界頂点)を基準点としてもよい。
 このようにすることにより、境界補正でなく位置補正処理された境界頂点を基準点とする補正対象点に対してもスムージング処理を実行することができる。したがって、3Dデータの主観的品質の低減を抑制するような補正を実現することができる。
  <パッチ内頂点の位置補正用座標情報>
 また、上述の方法1-2を適用する場合、図6の表の上から14段目に示されるように、位置補正処理の対象とする頂点は、境界頂点でなくてもよく、パッチ内の頂点(パッチ内頂点とも称する)であってもよい(方法1-2-2)。例えば、符号化装置が、復号後の符号化前に対する歪みが所定の閾値より大きいパッチ内頂点を位置補正の対象点とし、そのパッチ内頂点の符号化前の座標を正解座標として示す位置補正用座標情報を生成し、復号装置へ提供してもよい。
 そして、復号装置が、この位置補正用座標情報に基づいて位置補正処理を実行し、そのパッチ内頂点をその正解座標に移動させてもよい。さらに、復号装置が、スムージング処理の基準点を特定する際に、この位置補正用座標情報に対応するパッチ内頂点(位置補正処理の対象となるパッチ内頂点)を基準点としてもよい。例えば、図22に示されるパッチ351において、黒丸で示されるパッチ内頂点を基準点とし、その周辺に位置するグレーの丸で示される頂点を補正対象点とし、スムージング処理を行ってもよい。
 このようにすることにより、符号化歪が大きいパッチ内頂点を基準点とする補正対象点に対してもスムージング処理を実行することができる。したがって、3Dデータの主観的品質の低減を抑制するような補正を実現することができる。
  <位置補正用座標情報>
 上述の方法1-2を適用する場合、図6の表の上から15段目に示されるように、位置補正用座標情報が位置補正対象点を特定するための情報を含むようにしてもよい(方法1-2-3)。例えば、位置補正用座標情報が、各頂点について、位置補正の対象であるか否かを示す位置補正フラグを含むようにしてもよい。また、位置補正用座標情報が、位置補正の対象とする頂点の識別情報を含むようにしてもよい。また、位置補正用座標情報が、位置補正の対象とする頂点のジオメトリ画像内座標(u,v)を含むようにしてもよい。
 上述の方法1-2を適用する場合、図6の表の上から16段目に示されるように、位置補正用座標情報が位置補正後の座標(正解座標)に関する情報を含むようにしてもよい(方法1-2-4)。例えば、その正解座標は、3D座標(xyz等)であってもよい。その場合、その値は、絶対値であってもよいし、補正前の座標との差分であってもよい。また、正解座標が、ジオメトリ画像の画素値(例えば、デプス値、投影面基準のxyz等)であってもよい。その値は、絶対値であってもよいし、補正前の座標との差分であってもよい。
  <符号化装置>
 図23は、この方法1-2を適用する場合の、情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図23に示される符号化装置400は、VPCCを拡張してメッシュを用いた3Dデータをビデオフレームとして2次元画像用の符号化方法により符号化する装置である。その際、符号化装置400は、上述した方法1-2を適用して、3Dデータを符号化する。
 なお、図23においては、処理部やデータの流れ等の主なものを示しており、図23に示されるものが全てとは限らない。つまり、符号化装置400において、図23においてブロックとして示されていない処理部が存在したり、図23において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図23に示されるように符号化装置400は、メッシュボクセル化部411、パッチ生成部412、画像生成部413、メタ情報符号化部414、2D符号化部415、2D復号部416、境界補正処理部417、位置補正用座標情報生成部418、画像生成部419、2D符号化部420、および多重化部421を有する。
 符号化装置400には、Meshを用いた3Dデータとして、コネクティビティ451、頂点情報452、UVマップ453、テクスチャ454が供給される。
 コネクティビティ451は、コネクティビティ32(図2)と同様の情報であり、ポリゴンを形成する各頂点(互いに接続する各頂点)を、ポリゴン毎に示す。頂点情報452は、頂点情報31(図2)と同様の情報であり、Meshを形成する各頂点の座標を示す。UVマップ453は、UVマップ34(図2)と同様の情報であり、各頂点のテクスチャ画像上の位置を示す。テクスチャ454は、テクスチャ画像33(図2)と同様の情報であり、ポリゴンに張り付けられるテクスチャを示す。つまり、テクスチャ454は、テクスチャ画像を含む情報である。
 メッシュボクセル化部411は、符号化装置400に供給される頂点情報452を取得する。メッシュボクセル化部411は、取得した頂点情報452に含まれる各頂点の座標をボクセルグリッドに変換する。メッシュボクセル化部411は、変換後のボクセルグリッドの頂点情報をパッチ生成部412に供給する。
 パッチ生成部412は、符号化装置400に供給されるコネクティビティ451を取得する。また、パッチ生成部412は、メッシュボクセル化部411から供給されるボクセルグリッドの頂点情報を取得する。パッチ生成部412は、それらの情報に基づいて、ジオメトリのパッチを生成する。また、パッチ生成部412は、生成したジオメトリのパッチを投影面に投影し、パッチ画像を生成する。
 パッチ生成部412は、生成したパッチ画像を画像生成部413に供給する。また、パッチ生成部412は、コネクティビティ451や頂点情報等の情報をメタ情報としてメタ情報符号化部414に供給する。さらに、パッチ生成部412は、生成したパッチ画像を画像生成部419に供給する。
 画像生成部413は、パッチ生成部412から供給されるパッチ画像を取得する。画像生成部413は、そのパッチ画像を2次元平面に配置し、ジオメトリ画像とオキュパンシー画像を生成する。画像生成部413は、生成したジオメトリ画像およびオキュパンシー画像を2D符号化部415に供給する。
 メタ情報符号化部414は、パッチ生成部412から供給されたメタ情報(コネクティビティ451や頂点情報等)を取得する。メタ情報符号化部414は、取得したメタ情報を符号化し、メタ情報の符号化データを生成する。メタ情報符号化部414は、生成したメタ情報の符号化データを多重化部421に供給する。
 2D符号化部415は、画像生成部413から供給されるジオメトリ画像およびオキュパンシー画像を取得する。2D符号化部415は、取得したジオメトリ画像およびオキュパンシー画像をそれぞれ、2D画像用の符号化方式で符号化し、ジオメトリ画像の符号化データとオキュパンシー画像の符号化データを生成する。2D符号化部415は、生成したジオメトリ画像の符号化データとオキュパンシー画像の符号化データを多重化部421に供給する。また、2D符号化部415は、その生成したジオメトリ画像の符号化データを2D復号部416へ供給する。
 2D復号部416は、2D符号化部415から供給されたジオメトリ画像の符号化データを、2D画像用の復号方式で復号し、ジオメトリ画像を生成する。2D復号部416は、そのジオメトリ画像を境界補正処理部417へ供給する。
 境界補正処理部417は、2D復号部416から供給されたジオメトリ画像を用いて境界補正処理を実行し、必要に応じて境界頂点の位置を補正する。この境界補正処理は、2D境界補正処理であってもよいし、3D境界補正処理であってもよい。また、境界補正処理としてペアリング処理を行う場合、境界補正処理部417は、ペア情報を生成し、多重化部421に供給する。境界補正処理部417は、境界補正後のジオメトリ画像を位置補正用座標情報生成部418へ供給する。
 位置補正用座標情報生成部418は、境界補正処理部417から供給されたジオメトリ画像に基づいて、位置補正処理の対象と、その正解座標を求め、それらに関する位置補正用座標情報を生成する。その際、位置補正用座標情報生成部418は、方法1-2-1乃至方法1-2-4を適用し得る。位置補正用座標情報生成部418は、生成した位置補正用座標情報を多重化部421へ供給する。
 画像生成部419は、符号化装置400に供給されるUVマップ453およびテクスチャ454を取得する。また、画像生成部419は、パッチ生成部412から供給されるジオメトリのパッチ画像を取得する。画像生成部419は、それらの情報に基づいて、テクスチャ454を更新し、テクスチャ画像を生成する。画像生成部419は、生成したテクスチャ画像を2D符号化部420へ供給する。
 2D符号化部420は、画像生成部419から供給されるテクスチャ画像を、2D画像用の符号化方式で符号化し、テクスチャ画像の符号化データを生成する。2D符号化部420は、生成したテクスチャ画像の符号化データを多重化部421に供給する。
 多重化部421は、メタ情報符号化部414から供給されたメタ情報の符号化データを取得する。多重化部421は、2D符号化部415から供給されたジオメトリ画像の符号化データとオキュパンシー画像の符号化データを取得する。多重化部421は、境界補正処理部417から供給されたペア情報を取得する。多重化部421は、位置補正用座標情報生成部418から供給された位置補正用座標情報を取得する。多重化部421は、2D符号化部420から供給されたテクスチャ画像の符号化データを取得する。多重化部421は、取得したそれらの情報を多重化して1本のビットストリームを生成する。多重化部421は、生成したビットストリームを符号化装置400の外部に出力する。このビットストリームは、例えば復号装置300へ提供される。したがって、多重化部421は、情報を提供する提供部とも言える。
 なお、これらの処理部は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
 このような構成を有することにより、符号化装置400は、位置補正用座標情報を生成し、復号装置へ提供することができる。したがって、その復号装置がその位置補正用座標情報に基づいて位置補正処理やスムージング処理を実行することができる。したがって、3Dデータの主観的品質の低減を抑制することができる。
  <符号化処理の流れ>
 この符号化装置400により実行される符号化処理の流れの例を、図24のフローチャートを参照して説明する。
 符号化処理が開始されると、メッシュボクセル化部411は、ステップS401において、頂点情報452に含まれる各頂点の座標をボクセルグリッド化することにより、メッシュをボクセルグリッド化する。
 ステップS402において、パッチ生成部412は、ステップS401においてボクセルグリッド化された頂点情報等を用いてパッチを生成し、生成したパッチを投影面に投影し、パッチ画像を生成する。
 ステップS403において、画像生成部413は、ステップS402において生成されたパッチ画像に基づいて、ジオメトリ画像とオキュパンシー画像を生成する。
 ステップS404において、メタ情報符号化部414は、メタ情報(コネクティビティ451や頂点情報等)を符号化し、メタ情報の符号化データを生成する。
 ステップS405において、2D符号化部415は、ステップS403において生成されたジオメトリ画像とオキュパンシー画像をそれぞれ2D符号化し、ジオメトリ画像の符号化データとオキュパンシー画像の符号化データを生成する。
 ステップS406において、2D復号部416は、ステップS405において生成されたオジオメトリ画像の符号化データを2D復号し、ジオメトリ画像を生成する。
 ステップS407において、境界補正処理部417は、ステップS406において生成されたジオメトリ画像を用いて境界補正処理を実行する。
 ステップS408において、位置補正用座標情報生成部418は、そのジオメトリ画像を用いて位置補正用座標情報を生成する。その際、位置補正用座標情報生成部418は、方法1-2-1乃至方法1-2-4を適用し得る。
 ステップS409において、画像生成部419は、テクスチャ454を更新し、ジオメトリ画像に合わせたテクスチャ画像を生成する。
 ステップS410において、2D符号化部420は、そのテクスチャ画像を符号化し、テクスチャ画像の符号化データを生成する。
 ステップS411において、多重化部421は、ステップS404において生成されたメタ情報の符号化データ、ステップS405において生成されたジオメトリ画像の符号化データおよびオキュパンシー画像の符号化データ、ステップS407において生成されたペア情報、ステップS408において生成された位置補正用座標情報、ステップS410において生成されたテクスチャ画像の符号化データを多重化し、1本のビットストリームを生成する。多重化部421は、生成したビットストリームを符号化装置400の外部に出力する。
 ステップS411の処理が終了すると符号化処理が終了する。
 このように各処理を実行することにより、符号化装置400は、位置補正用座標情報を生成し、復号装置へ提供することができる。したがって、その復号装置がその位置補正用座標情報に基づいて位置補正処理やスムージング処理を実行することができる。したがって、3Dデータの主観的品質の低減を抑制することができる。
  <復号装置>
 図25は、この場合の復号装置300の主な構成例を示すブロック図である。図25は、3Dスムージング処理を実行する復号装置(すなわち、図18の例に対応する例)の主な構成例を示している。
 なお、図25においては、処理部やデータの流れ等の主なものを示しており、図25に示されるものが全てとは限らない。つまり、復号装置300において、図25においてブロックとして示されていない処理部が存在したり、図25において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 この場合、復号装置300は、図18に示される構成に加え、さらに、3D位置補正部511を有する。この場合3D境界補正処理部317は、境界補正後の頂点情報を3D位置補正部511へ供給する。また、3D境界補正処理部317は、メタ情報(コネクティビティ331およびUVマップ332等)やペア情報等の、その他の情報を必要に応じて3D位置補正部511へ供給する。
 また、この場合、ビットストリームに位置補正用座標情報が含まれており、逆多重化部311は、そのビットストリームからその位置補正用座標情報を抽出し、3D位置補正部511および3Dスムージング処理部318へ供給する。
 3D位置補正部511は、その位置補正用座標情報に基づいて、3D境界補正処理部317から供給された境界補正後の頂点情報に含まれる頂点の位置を補正する。3D位置補正部511は、位置補正後の頂点情報を3Dスムージング処理部318へ供給する。
 3Dスムージング処理部318は、上述した方法1-2を適用し、逆多重化部311から供給された位置補正用座標情報に基づいて、3D位置補正部511から供給された頂点情報に対して3Dスムージング処理を実行する。つまり、3Dスムージング処理部318は、位置補正用座標情報に基づいて、位置補正処理の対象となる頂点を基準点とする3Dスムージング処理を実行し、その基準点に対応する補正対象点の3次元座標を補正する。その際、3Dスムージング処理部318は、方法1-2-1乃至方法1-2-4も適用し得る。3Dスムージング処理部318は、3Dスムージング処理後の頂点情報333を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置300の外部に出力する。
 このような構成を有することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号処理の流れ>
 この復号装置300により実行される復号処理の流れの例を、図26のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS501乃至ステップS507の各処理が、図19のステップS301乃至ステップS307の各処理と同様に実行される。
 ステップS508において、3D位置補正部511は、ステップS501において得られた位置補正用座標情報に基づいて、境界補正後の頂点情報に含まれる頂点の位置を補正する。
 ステップS509において、3Dスムージング処理部318は、上述した方法1-2を適用し、ステップS501において得られた位置補正用座標情報に基づいて、位置補正処理の対象となる頂点を基準点とする3Dスムージング処理を実行し、その基準点に対応する補正対象点の3次元座標を補正する。その際、3Dスムージング処理部318は、方法1-2-1乃至方法1-2-4も適用し得る。
 ステップS509の処理が終了すると復号処理が終了する。
 このように各処理を実行することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号装置>
 この方法1-2の場合も、上述したように2Dスムージング処理を適用してもよい。図27は、その場合の復号装置300の主な構成例を示すブロック図である。
 なお、図27においては、処理部やデータの流れ等の主なものを示しており、図27に示されるものが全てとは限らない。つまり、復号装置300において、図27においてブロックとして示されていない処理部が存在したり、図27において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 この場合、復号装置300は、図20に示される構成に加え、さらに、2D位置補正部521を有する2D位置補正部521は、3D位置補正部511と同様の処理を行う。ただし、2D位置補正部521は、ジオメトリ画像において、頂点の位置を補正する。つまり、2D位置補正部521は、ジオメトリ画像における処理対象点の画素値を補正する。2D位置補正部521は、位置補正処理後のジオメトリ画像を2Dスムージング処理部342へ供給する。
 2Dスムージング処理部342は、上述した方法1-2を適用し、逆多重化部311から供給された位置補正用座標情報に基づいて、3D位置補正部511から供給されたジオメトリ画像に対して2Dスムージング処理を実行する。つまり、2Dスムージング処理部342は、位置補正用座標情報に基づいて、位置補正処理の対象となる頂点を基準点とする2Dスムージング処理を実行し、その基準点に対応する補正対象点の3次元座標を補正する。その際、2Dスムージング処理部342は、方法1-2-1乃至方法1-2-4も適用し得る。2Dスムージング処理部342は、2Dスムージング処理後のジオメトリ画像をパッチ再構成部315へ供給する。
 このような構成を有することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号処理の流れ>
 この復号装置300により実行される復号処理の流れの例を、図28のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS531乃至ステップS535の各処理が、図21のステップS331乃至ステップS335の各処理と同様に実行される。
 ステップS536において、2D位置補正部521は、ステップS531において得られた位置補正用座標情報に基づいて、境界補正後のジオメトリ画像について2D位置補正処理を実行し、そのジオメトリ画像の、位置補正処理の対象点の画素値を補正する。
 ステップS537において、2Dスムージング処理部342は、上述した方法1-2を適用し、ステップS531において得られた位置補正用座標情報に基づいて、位置補正処理の対象となる頂点を基準点とする2Dスムージング処理を実行し、ジオメトリ画像におけるその基準点に対応する補正対象点の画素値(デプス値)を補正する。その際、2Dスムージング処理部342は、方法1-2-1乃至方法1-2-4も適用し得る。
 ステップS538およびステップS539の各処理は、図21のステップS337およびステップS338の各処理と同様に実行される。
 ステップS539の処理が終了すると復号処理が終了する。
 このように各処理を実行することにより、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <組み合わせ>
 なお、図25および図26を参照して説明した例と、図27および図28を参照して説明した例は、その一部または全部を適宜組み合わせて適用することができる。
 例えば、2D位置補正処理と3Dスムージング処理とを適用してもよい。例えば、復号装置300において、2D位置補正部521および3Dスムージング処理部318を適用してもよい。また、復号処理において、ステップS536の処理と、ステップS509の処理とを適用してもよい。
 また、例えば、復号装置300が、2Dスムージング処理と3Dスムージング処理の両方に対応するようにしてもよい。つまり、2Dスムージング処理および3Dスムージング処理の内、一方が選択されて実行されるようにしてもよい。例えば、復号装置300において、2Dスムージング処理部342および3Dスムージング処理部318を適用してもよい。また、復号処理において、ステップS537の処理と、ステップS509の処理とを適用してもよい。
 <5.スムージング情報に基づくスムージング処理>
 上述の方法1を適用する場合、図6の表の上から17段目に示されるように、情報処理装置が、スムージング情報に基づいて、このスムージング処理を行ってもよい(方法1-3)。
 スムージング情報は、スムージング処理に関する情報であり、符号化装置が生成し、復号装置に提供する。復号装置は、その提供されたスムージング情報に基づいてスムージング処理を実行する。例えば、情報処理装置が、伝送された平滑化に関する情報を含む平滑化情報を取得する取得部をさらに備え、その情報処理装置の平滑化部は、その取得された平滑化情報に基づいて平滑化処理を実行する。このようにすることにより、符号化装置において実行されるスムージング処理を符号化装置が制御することができる。換言するに、復号装置は、符号化装置の制御に従ってスムージング処理を実行することができる。
 このようなスムージング情報が符号化装置から復号装置へ伝送される場合において、復号装置は、上述の方法1-3を適用し、そのスムージング情報に基づいてムージング処理を行ってもよい。
  <基準点特定情報>
 上述の方法1-3を適用する場合、図6の表の上から18段目に示されるように、復号装置が、スムージング情報に含まれる基準点特定情報に基づいて基準点を特定してもよい(方法1-3-1)。基準点特定情報とは、基準点を特定するための情報である。
 例えば、基準点を特定する方法(アルゴリズム)を選択するフラグ等であってもよい。例えば、その選択肢として、ジッパーリングにより補正された頂点を基準点とする方法、ペアリング処理により補正された頂点を基準点とする方法、位置補正の対象とされた頂点を基準点とする方法、および、基準点とするか否かを示す基準点フラグにより示される頂点を基準点とする方法等を用意し、これらの候補の内、いずれの方法を適用するかを示す選択フラグが基準点特定情報としてスムージング情報に格納されてもよい。
 つまり、この方法1-3-1の場合、符号化装置は、このような基準点特定情報を含むスムージング情報を生成する。そして、復号装置は、この基準点特定情報により指定される方法を適用して基準点を特定する。このようにすることにより、符号化装置は、復号装置が基準点を特定する方法(アルゴリズム)を制御することができる。
  <補正対象点特定情報>
 また、上述の方法1-3を適用する場合、図6の表の上から19段目に示されるように、復号装置が、スムージング情報に含まれる補正対象点特定情報に基づいて補正対象点(と補正利用点)を特定してもよい(方法1-3-2)。補正対象点特定情報とは、補正対象点(と補正利用点)を特定するための情報である。
 例えば、復号装置が、方法1-1-2の説明において上述したようにパラメータkを用いる方法(アルゴリズム)で補正対象点(と補正利用点)を特定する場合、そのパラメータkが補正対象点特定情報として伝送されるようにしてもよい。また、面内のラスタライズされたジオメトリ画像の画素値(2D)を用いて補正対象点(と補正利用点)を特定する方法を指定する情報が、補正対象点特定情報として伝送されてもよい。また、サンプリングされた頂点のジオメトリ(3D) を用いて補正対象点(と補正利用点)を特定する方法を指定する情報が、補正対象点特定情報として伝送されてもよい。また、複数の方法を候補とし、その候補の中から適用する方法を指定する選択フラグ等が、補正対象点特定情報として伝送されてもよい。
 つまり、この方法1-3-2の場合、符号化装置は、このような補正対象点特定情報を含むスムージング情報を生成する。そして、復号装置は、この補正対象点特定情報により指定される方法を適用して補正対象点(と補正利用点)を特定する。このようにすることにより、符号化装置は、復号装置が補正対象点(と補正利用点)を特定する方法(アルゴリズム)を制御することができる。
  <補正方法特定情報>
 また、上述の方法1-3を適用する場合、図6の表の最下段に示されるように、復号装置が、スムージング情報に含まれる補正方法特定情報に基づいてスムージング処理を実行してもよい(方法1-3-3)。補正方法特定情報とは、スムージング処理の方法を特定するための情報である。
 例えば、複数の補正方法を候補とし、その候補の中から適用する方法を指定する選択フラグ等が、補正方法特定情報として伝送されてもよい。例えば、上述した方法1-1-3-1、方法1-1-3-2、方法1-1-4―1、方法1-1-4―2、および方法1-1-4―3を選択肢とし、これらの方法の中から適用する方法を指定する選択フラグを補正方法特定情報としてスムージング情報に格納してもよい。
 つまり、この方法1-3-3の場合、符号化装置は、このような補正方法特定情報を含むスムージング情報を生成する。そして、復号装置は、この補正方法特定情報により指定される方法を適用してスムージング処理を実行する。このようにすることにより、符号化装置は、復号装置が行うスムージング処理の方法を制御することができる。
  <符号化装置>
 図29は、この方法1-3を適用する場合の、情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。
 なお、図29においては、処理部やデータの流れ等の主なものを示しており、図29に示されるものが全てとは限らない。つまり、符号化装置400において、図29においてブロックとして示されていない処理部が存在したり、図29において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図29に示されるように、この場合の符号化装置400は、図23の例の構成の位置補正用座標情報生成部418の代わりに、スムージング情報生成部611およびスムージング処理部612を有する。
 スムージング情報生成部611は、境界補正処理部417から供給されたジオメトリ画像を取得する。スムージング情報生成部611は、そのジオメトリ画像に基づいて、スムージング情報を生成する。この生成方法は任意である。例えば、スムージング情報生成部611は、境界補正された境界頂点を基準点とするようにスムージング情報を生成してもよい。つまり、スムージング情報生成部611は、境界補正処理が行われた境界頂点を基準点とし、その基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報を生成してもよい。また、スムージング情報生成部611は、境界補正により頂点間の位置の差が所定の閾値より大きくなった境界頂点を基準点とするようにスムージング情報を生成してもよい。
 スムージング情報生成部611は、生成したスムージング情報を多重化部421へ供給する。多重化部421は、そのスムージング情報を他の符号化データ等と多重化し、ビットストリームを生成する。このビットストリームは、例えば復号装置へ提供される。したがって、多重化部421は、スムージング情報を提供する提供部と言える。
 また、スムージング情報生成部611は、生成したスムージング情報をジオメトリ画像等とともにスムージング処理部612へ供給する。スムージング処理部612は、そのスムージング情報に基づいて、取得したジオメトリ画像に対するスムージング処理を実行する。例えば、スムージング処理部612は、スムージング情報に基づいて、ジオメトリ画像から基準点や補正対象点を特定し、その補正対象点の位置を補正する。このスムージング処理は、2Dスムージング処理であってもよいし、3Dスムージング処理であってもよい。スムージング処理部612は、スムージング処理後のジオメトリ画像を画像生成部419へ供給する。
 画像生成部419は、そのジオメトリ画像を用いて、テクスチャ4542を更新し、ジオメトリ画像に対応するテクスチャ画像を生成する。
 このような構成とすることにより、符号化装置400は、スムージング情報を生成し、復号装置へ提供することができる。その復号装置は、そのスムージング情報に基づいてスムージング処理を実行することができる。したがって、符号化装置が復号装置のスムージング処理を制御することができる。
  <符号化処理の流れ>
 この符号化装置400により実行される符号化処理の流れの例を、図30のフローチャートを参照して説明する。
 この場合、符号化処理が開始されると、ステップS601乃至ステップS607の各処理が、図24のステップS401乃至ステップS407の各処理と同様に実行される。
 ステップS608において、スムージング情報生成部611は、方法1-3を適用して、スムージング情報を生成する。その際、スムージング情報生成部611は、方法1-3-1乃至方法1-3-3を適用し得る。
 ステップS609において、スムージング処理部612は、方法1-3を適用して、ステップS608において生成されたスムージング情報に基づいてスムージング処理を実行する。
 ステップS610乃至ステップS612の各処理は、図24のステップS409乃至ステップS411の各処理と同様に実行される。ただし、ステップS610において、画像生成部419は、スムージング処理されたジオメトリ画像を用いてテクスチャ454を更新し、テクスチャ画像を生成する。また、ステップS612において多重化部421は、ステップS608において生成されたスムージング情報を他のデータと多重化することにより、そのスムージング情報をビットストリームに格納する。
 ステップS612の処理が終了すると符号化処理が終了する。
 このように各処理を実行することにより、符号化装置400は、スムージング情報を生成し、復号装置へ提供することができる。その復号装置は、そのスムージング情報に基づいてスムージング処理を実行することができる。したがって、符号化装置が復号装置のスムージング処理を制御することができる。
  <符号化装置>
 以上においては、符号化装置400が、ジオメトリ画像の符号化データを復号し、得られたジオメトリ画像を用いてスムージング処理を行うように説明したが、符号化装置400は、この例に限定されない。例えば、符号化装置400が、ジオメトリ画像の符号化データを復号せずにジオメトリ情報を生成してもよい。図31は、この場合の、情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。
 なお、図31においては、処理部やデータの流れ等の主なものを示しており、図31に示されるものが全てとは限らない。つまり、符号化装置400において、図31においてブロックとして示されていない処理部が存在したり、図31において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図31に示されるように、この場合、図29の例の構成の2D復号部416、境界補正処理部417、スムージング情報生成部611、およびスムージング処理部612が省略されている。また、その代わりに、符号化装置400は、ペア情報生成部621およびスムージング情報生成部622を有する。
 この場合、パッチ生成部412は、コネクティビティ451や頂点情報等の情報をペア情報生成部621にも供給する。
 ペア情報生成部621は、パッチ生成部412から供給されるコネクティビティ451や頂点情報等の情報取得し、それらの情報に基づいて、ペアリング処理のためのペア情報を生成する。つまり、ペア情報は、境界補正処理に関する境界補正情報とも言える。ペア情報生成部621は、生成したペア情報を多重化部421へ供給する。多重化部421は、そのペア情報を他のデータと多重化することにより、ビットストリームに格納する。また、ペア情報生成部621は、生成したペア情報、並びに、コネクティビティ451や頂点情報等の情報をスムージング情報生成部622へ供給する。
 スムージング情報生成部622は、ペア情報生成部621から供給される情報に基づいて、スムージング情報を生成する。スムージング情報生成部622は、生成したスムージング情報を多重化部421へ供給する。多重化部421は、そのスムージング情報を他の符号化データ等と多重化し、ビットストリームを生成する。このビットストリームは、例えば復号装置へ提供される。したがって、多重化部421は、スムージング情報を提供する提供部と言える。
 このような構成とすることにより、符号化装置400は、スムージング情報を生成し、復号装置へ提供することができる。その復号装置は、そのスムージング情報に基づいてスムージング処理を実行することができる。したがって、符号化装置が復号装置のスムージング処理を制御することができる。
  <符号化処理の流れ>
 この場合の符号化装置400により実行される符号化処理の流れの例を、図32のフローチャートを参照して説明する。
 この場合、符号化処理が開始されると、ステップS641乃至ステップS645の各処理が、図24のステップS601乃至ステップS605の各処理と同様に実行される。
 ステップS646において、画像生成部419は、ステップS642において生成されたジオメトリのパッチ等に基づいてテクスチャ454を更新し、テクスチャ画像を生成する。ステップS647において、2D符号化部420は、そのテクスチャ画像を符号化し、テクスチャ画像の符号化データを生成する。
 ステップS648において、ペア情報生成部621は、ペア情報を生成する。
 ステップS649において、スムージング情報生成部622は、方法1-3を適用して、スムージング情報を生成する。その際、スムージング情報生成部622は、方法1-3-1乃至方法1-3-3を適用し得る。
 ステップS650において、多重化部421は、ステップS649において生成されたスムージング情報を他のデータと多重化することにより、そのスムージング情報をビットストリームに格納する。
 ステップS650の処理が終了すると符号化処理が終了する。
 このように各処理を実行することにより、符号化装置400は、スムージング情報を生成し、復号装置へ提供することができる。その復号装置は、そのスムージング情報に基づいてスムージング処理を実行することができる。したがって、符号化装置が復号装置のスムージング処理を制御することができる。
  <復号装置>
 図33は、この場合の復号装置300の主な構成例を示すブロック図である。図33は、3Dスムージング処理を実行する復号装置(すなわち、図18の例に対応する例)の主な構成例を示している。
 なお、図33においては、処理部やデータの流れ等の主なものを示しており、図33に示されるものが全てとは限らない。つまり、復号装置300において、図33においてブロックとして示されていない処理部が存在したり、図33において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 この場合、復号装置300は、図18の例と同様の構成を有する。ただし、この場合、逆多重化部311は、ビットストリームを逆多重化し、そのビットストリームに含まれるスムージング情報を取得する。つまり、逆多重化部311は、伝送されたスムージング情報を取得する取得部とも言える。逆多重化部311は、そのスムージング情報を3Dスムージング処理部318へ供給する。
 3Dスムージング処理部318は、この場合、逆多重化部311から供給されるスムージング情報を取得する。そして、3Dスムージング処理部318は、方法1-3を適用し、そのスムージング情報に基づいて、3Dスムージング処理を実行する。その際、3Dスムージング処理部318は、方法1-3-1乃至方法1-3-3も適用し得る。3Dスムージング処理部318は、3Dスムージング処理後の頂点情報333を、復元したメッシュを用いた3Dデータ(を構成するデータ)として、復号装置300の外部に出力する。
 このような構成を有することにより、復号装置300は、スムージング情報に基づいて3Dスムージング処理を実行することができる。つまり、復号装置300は、符号化装置の制御に従って3Dスムージング処理を実行することができる。そして、この場合も、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号処理の流れ>
 この場合の復号装置300により実行される復号処理の流れの例を、図34のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS701乃至ステップS707の各処理が、図19のステップS301乃至ステップS307の各処理と同様に実行される。ただし、この場合、ステップS701において、逆多重化部311は、ビットストリームを逆多重化することにより、そのビットストリームに含まれるスムージング情報を抽出(取得)する。
 ステップS708において、3Dスムージング処理部318は、上述した方法1-3を適用し、ステップS701において得られたスムージング情報に基づいて3Dスムージング処理を実行し、基準点に対応する補正対象点の3次元座標を補正する。その際、3Dスムージング処理部318は、方法1-3-1乃至方法1-3-3も適用し得る。
 ステップS708の処理が終了すると復号処理が終了する。
 このように各処理を実行することにより、復号装置300は、スムージング情報に基づいて3Dスムージング処理を実行することができる。つまり、復号装置300は、符号化装置の制御に従って3Dスムージング処理を実行することができる。そして、この場合も、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号装置>
 この方法1-3の場合も、上述したように2Dスムージング処理を適用してもよい。図35は、その場合の復号装置300の主な構成例を示すブロック図である。
 なお、図35においては、処理部やデータの流れ等の主なものを示しており、図35に示されるものが全てとは限らない。つまり、復号装置300において、図35においてブロックとして示されていない処理部が存在したり、図35において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 この場合、復号装置300は、図20の例と同様の構成を有する。ただし、この場合、逆多重化部311は、ビットストリームを逆多重化し、そのビットストリームに含まれるスムージング情報を取得する。つまり、逆多重化部311は、伝送されたスムージング情報を取得する取得部とも言える。逆多重化部311は、そのスムージング情報を2Dスムージング処理部342へ供給する。
 2Dスムージング処理部342は、この場合、逆多重化部311から供給されるスムージング情報を取得する。そして、2Dスムージング処理部342は、方法1-3を適用し、そのスムージング情報に基づいて、2Dスムージング処理を実行する。その際、2Dスムージング処理部342は、方法1-3-1乃至方法1-3-3も適用し得る。2Dスムージング処理部342は、2Dスムージング処理後のジオメトリ画像を、パッチ再構成部315へ供給する。
 このような構成を有することにより、復号装置300は、スムージング情報に基づいて2Dスムージング処理を実行することができる。つまり、復号装置300は、符号化装置の制御に従って2Dスムージング処理を実行することができる。そして、この場合も、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
  <復号処理の流れ>
 この場合の復号装置300により実行される復号処理の流れの例を、図36のフローチャートを参照して説明する。
 復号処理が開始されると、ステップS731乃至ステップS735の各処理が、図21のステップS331乃至ステップS335の各処理と同様に実行される。ただし、この場合、ステップS731において、逆多重化部311は、ビットストリームを逆多重化することにより、そのビットストリームに含まれるスムージング情報を抽出(取得)する。
 ステップS736において、2Dスムージング処理部342は、上述した方法1-3を適用し、ステップS731において得られたスムージング情報に基づいて2Dスムージング処理を実行し、ジオメトリ画像における、基準点に対応する補正対象点の画素値(デプス値)を補正する。その際、2Dスムージング処理部342は、方法1-3-1乃至方法1-3-3も適用し得る。
 ステップS737およびステップS738の各処理は、図21のステップS337およびステップS338の各処理と同様に実行される。
 ステップS738の処理が終了すると復号処理が終了する。
 このように各処理を実行することにより、復号装置300は、スムージング情報に基づいて2Dスムージング処理を実行することができる。つまり、復号装置300は、符号化装置の制御に従って2Dスムージング処理を実行することができる。そして、この場合も、復号装置300は、再構成後のオブジェクトの形状を符号化前のオブジェクトの形状に近づけることができ、3Dデータの主観的品質の低減を抑制することができる。
 <6.付記>
 以上においては、メッシュを用いた3Dデータを、VPCCという規格を拡張して符号化する場合について説明したが、VPCCの代わりにV3C(Visual Volumetric Video-based Coding)やMIV(metadata immersive video)を適用してもよい。V3CやMIVは、VPCCとほぼ同様の符号化技術を用いた規格であり、VPCCの場合と同様に拡張して、メッシュを用いた3Dデータを符号化することができる。したがって、メッシュを用いた3Dデータの符号化にV3CやMIVを適用する場合も、上述した本技術を適用することができる。
  <3Dデータ>
 以上においては、メッシュの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図37は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図37に示されるコンピュータ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のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号する復号部と、
 復号された前記パッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行する境界補正部と、
 前記境界補正処理が行われた前記境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する平滑化部と
 を備える情報処理装置。
 (2) 前記平滑化部は、前記境界補正処理が行われた前記境界頂点のジオメトリに基づいて前記基準点を設定する
 (1)に記載の情報処理装置。
 (3) 前記平滑化部は、設定した前記基準点に基づいて、前記平滑化処理の対象とする補正対象点と、前記平滑化処理に利用する補正利用点とを設定する
 (2)に記載の情報処理装置。
 (4) 前記平滑化部は、前記平滑化処理として、前記補正対象点の3次元座標を補正する
 (3)に記載の情報処理装置。
 (5) 前記境界補正部は、前記境界補正処理として、前記境界頂点の2次元座標を補正し、
 前記平滑化部は、前記平滑化処理として、前記補正対象点の2次元座標を補正する
 (3)に記載の情報処理装置。
 (6) 補正の対象とする位置補正対象点および補正後のジオメトリに関する情報を含む位置補正用座標情報に基づいて、前記位置補正対象点のジオメトリを補正する位置補正処理を実行する位置補正部をさらに備え、
 前記平滑化部は、前記位置補正用座標情報に基づいて前記基準点を設定する
 (1)乃至(5)のいずれかに記載の情報処理装置。
 (7) 前記平滑化部は、前記境界補正処理および前記位置補正処理が行われた前記境界頂点を前記基準点に設定する
 (6)に記載の情報処理装置。
 (8) 前記平滑化部は、前記位置補正処理が行われた前記パッチの内側に位置するパッチ内頂点を前記基準点に設定する
 (6)または(7)に記載の情報処理装置。
 (9) 伝送された前記平滑化に関する情報を含む平滑化情報を取得する取得部をさらに備え、
 前記平滑化部は、取得された前記平滑化情報に基づいて前記平滑化処理を実行する
 (1)乃至(8)のいずれかに記載の情報処理装置。
 (10) 前記平滑化部は、前記平滑化情報により示される方法で前記基準点を設定する
 (9)に記載の情報処理装置。
 (11) 前記平滑化部は、前記平滑化情報に基づいて、前記平滑化処理の対象とする補正対象点と、前記平滑化処理に利用する補正利用点とを設定する
 (9)または(10)に記載の情報処理装置。
 (12) 前記平滑化部は、前記平滑化情報により示される方法で、前記平滑化処理の対象とする補正対象点のジオメトリを補正する
 (9)乃至(11)のいずれかに記載の情報処理装置。
 (13) 3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号し、
 復号された前記パッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行し、
 前記境界補正処理が行われた前記境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する
 情報処理方法。
 (14) 境界補正処理が行われた境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報を生成する平滑化情報生成部と、
 前記平滑化情報を提供する提供部と
 を備え、
 前記境界頂点は、3次元構造のオブジェクトを表現するメッシュの一部に対応するパッチの境界に位置する頂点であり、
 前記境界補正処理は、前記境界頂点のジオメトリを補正する処理である
 情報処理装置。
 (15) 前記平滑化情報は、前記基準点とする頂点を特定するための情報を含む
 (14)に記載の情報処理装置。
 (16) 前記平滑化情報は、前記平滑化処理の対象とする補正対象点とする頂点、および、前記平滑化処理に利用する補正利用点とする頂点を特定するための情報を含む
 (14)または(15)に記載の情報処理装置。
 (17) 前記平滑化情報は、前記平滑化処理の対象とする補正対象点のジオメトリを補正する方法を示す情報を含む
 (14)乃至(16)のいずれかに記載の情報処理装置。
 (18) 前記境界補正処理を実行する境界補正部をさらに備え、
 前記平滑化情報生成部は、前記境界補正部により前記境界補正処理が行われた前記境界頂点のジオメトリに基づいて前記平滑化情報を生成する
 (14)乃至(17)のいずれかに記載の情報処理装置。
 (19) 前記境界補正処理に関する境界補正情報を生成する境界補正情報生成部をさらに備え、
 前記平滑化情報生成部は、前記境界補正情報に基づいて前記平滑化情報を生成する
 (14)乃至(17)のいずれかに記載の情報処理装置。
 (20) 境界補正処理が行われた境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報を生成し、
 前記平滑化情報を提供する
 前記境界頂点は、3次元構造のオブジェクトを表現するメッシュの一部に対応するパッチの境界に位置する頂点であり、
 前記境界補正処理は、前記境界頂点のジオメトリを補正する処理である
 情報処理方法。
 300 復号装置, 311 逆多重化部, 312 メタ情報復号部, 313および314 2D復号部, 315 パッチ再構成部, 316 頂点情報再構成部, 317 3D境界補正処理部, 318 3Dスムージング処理部, 341 2D境界補正処理部, 342 2Dスムージング処理部, 400 符号化装置, 411 メッシュボクセル化部, 412 パッチ生成部, 413 画像生成部, 414 メタ情報符号化部, 415 2D符号化部, 416 2D復号部, 417 境界補正処理部, 418 位置補正用座標情報生成部, 419 画像生成部, 420 2D符号化部, 421 多重化部, 511 3D位置補正部, 521 2D位置補正部, 611 スムージング情報生成部, 612 スムージング処理部, 621 ペア情報生成部, 622 スムージング情報生成部, 900 コンピュータ

Claims (20)

  1.  3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号する復号部と、
     復号された前記パッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行する境界補正部と、
     前記境界補正処理が行われた前記境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する平滑化部と
     を備える情報処理装置。
  2.  前記平滑化部は、前記境界補正処理が行われた前記境界頂点のジオメトリに基づいて前記基準点を設定する
     請求項1に記載の情報処理装置。
  3.  前記平滑化部は、設定した前記基準点に基づいて、前記平滑化処理の対象とする補正対象点と、前記平滑化処理に利用する補正利用点とを設定する
     請求項2に記載の情報処理装置。
  4.  前記平滑化部は、前記平滑化処理として、前記補正対象点の3次元座標を補正する
     請求項3に記載の情報処理装置。
  5.  前記境界補正部は、前記境界補正処理として、前記境界頂点の2次元座標を補正し、
     前記平滑化部は、前記平滑化処理として、前記補正対象点の2次元座標を補正する
     請求項3に記載の情報処理装置。
  6.  補正の対象とする位置補正対象点および補正後のジオメトリに関する情報を含む位置補正用座標情報に基づいて、前記位置補正対象点のジオメトリを補正する位置補正処理を実行する位置補正部をさらに備え、
     前記平滑化部は、前記位置補正用座標情報に基づいて前記基準点を設定する
     請求項1に記載の情報処理装置。
  7.  前記平滑化部は、前記境界補正処理および前記位置補正処理が行われた前記境界頂点を前記基準点に設定する
     請求項6に記載の情報処理装置。
  8.  前記平滑化部は、前記位置補正処理が行われた前記パッチの内側に位置するパッチ内頂点を前記基準点に設定する
     請求項6に記載の情報処理装置。
  9.  伝送された前記平滑化に関する情報を含む平滑化情報を取得する取得部をさらに備え、 前記平滑化部は、取得された前記平滑化情報に基づいて前記平滑化処理を実行する
     請求項1に記載の情報処理装置。
  10.  前記平滑化部は、前記平滑化情報により示される方法で前記基準点を設定する
     請求項9に記載の情報処理装置。
  11.  前記平滑化部は、前記平滑化情報に基づいて、前記平滑化処理の対象とする補正対象点と、前記平滑化処理に利用する補正利用点とを設定する
     請求項9に記載の情報処理装置。
  12.  前記平滑化部は、前記平滑化情報により示される方法で、前記平滑化処理の対象とする補正対象点のジオメトリを補正する
     請求項9に記載の情報処理装置。
  13.  3次元構造のオブジェクトを表現するメッシュが少なくとも第1のパッチと第2のパッチに分割されて単一の画像内に配置されて符号化されたビットストリームを復号し、
     復号された前記パッチの境界に位置する境界頂点に対して、ジオメトリを補正する境界補正処理を実行し、
     前記境界補正処理が行われた前記境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点に対して、ジオメトリを平滑化する平滑化処理を実行する
     情報処理方法。
  14.  境界補正処理が行われた境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報を生成する平滑化情報生成部と、
     前記平滑化情報を提供する提供部と
     を備え、
     前記境界頂点は、3次元構造のオブジェクトを表現するメッシュの一部に対応するパッチの境界に位置する頂点であり、
     前記境界補正処理は、前記境界頂点のジオメトリを補正する処理である
     情報処理装置。
  15.  前記平滑化情報は、前記基準点とする頂点を特定するための情報を含む
     請求項14に記載の情報処理装置。
  16.  前記平滑化情報は、前記平滑化処理の対象とする補正対象点とする頂点、および、前記平滑化処理に利用する補正利用点とする頂点を特定するための情報を含む
     請求項14に記載の情報処理装置。
  17.  前記平滑化情報は、前記平滑化処理の対象とする補正対象点のジオメトリを補正する方法を示す情報を含む
     請求項14に記載の情報処理装置。
  18.  前記境界補正処理を実行する境界補正部をさらに備え、
     前記平滑化情報生成部は、前記境界補正部により前記境界補正処理が行われた前記境界頂点のジオメトリに基づいて前記平滑化情報を生成する
     請求項14に記載の情報処理装置。
  19.  前記境界補正処理に関する境界補正情報を生成する境界補正情報生成部をさらに備え、 前記平滑化情報生成部は、前記境界補正情報に基づいて前記平滑化情報を生成する
     請求項14に記載の情報処理装置。
  20.  境界補正処理が行われた境界頂点を基準点とし、前記基準点に基づく部分領域内の頂点のジオメトリを平滑化する平滑化処理に関する情報を含む平滑化情報を生成し、
     前記平滑化情報を提供する
     前記境界頂点は、3次元構造のオブジェクトを表現するメッシュの一部に対応するパッチの境界に位置する頂点であり、
     前記境界補正処理は、前記境界頂点のジオメトリを補正する処理である
     情報処理方法。
PCT/JP2022/041872 2021-11-24 2022-11-10 情報処理装置および方法 WO2023095625A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-189829 2021-11-24
JP2021189829 2021-11-24

Publications (1)

Publication Number Publication Date
WO2023095625A1 true WO2023095625A1 (ja) 2023-06-01

Family

ID=86539480

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/041872 WO2023095625A1 (ja) 2021-11-24 2022-11-10 情報処理装置および方法

Country Status (1)

Country Link
WO (1) WO2023095625A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020012967A1 (ja) * 2018-07-11 2020-01-16 ソニー株式会社 画像処理装置および方法
WO2020145117A1 (ja) * 2019-01-07 2020-07-16 ソニー株式会社 画像処理装置および方法
WO2020193038A1 (en) * 2019-03-22 2020-10-01 Interdigital Vc Holdings France Processing a point cloud

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020012967A1 (ja) * 2018-07-11 2020-01-16 ソニー株式会社 画像処理装置および方法
WO2020145117A1 (ja) * 2019-01-07 2020-07-16 ソニー株式会社 画像処理装置および方法
WO2020193038A1 (en) * 2019-03-22 2020-10-01 Interdigital Vc Holdings France Processing a point cloud

Similar Documents

Publication Publication Date Title
JPWO2020012967A1 (ja) 画像処理装置および方法
US20230050860A1 (en) An apparatus, a method and a computer program for volumetric video
US11483363B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11979607B2 (en) Apparatus and method for processing point cloud data
EP4171039A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
US11711535B2 (en) Video-based point cloud compression model to world signaling information
US20230290006A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230171431A1 (en) Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data
JP7440546B2 (ja) ポイントクラウドデータ処理装置及び方法
US20220383552A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2023181875A1 (ja) 情報処理装置および方法
WO2023095625A1 (ja) 情報処理装置および方法
WO2022269944A1 (ja) 情報処理装置および方法
EP4007284A1 (en) Point cloud data processing device and method
US20220239946A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN116438799A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20230326138A1 (en) Compression of Mesh Geometry Based on 3D Patch Contours
WO2023127513A1 (ja) 情報処理装置および方法
WO2023181899A1 (ja) 情報処理装置および方法
WO2022230941A1 (ja) 情報処理装置および方法
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2022201787A1 (ja) 画像処理装置および方法
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
EP4311239A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240121435A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023563611

Country of ref document: JP

Kind code of ref document: A