Decoding method and decoding device

By deciding whether to specify a surface or plane during the decoding process and generating three-dimensional points on the specified surface or plane, the problem of insufficient point group reproducibility under irreversible compression is solved, and a higher point group reproducibility is achieved.

CN119856201APending Publication Date: 2025-04-18PANASONIC INTELLECTUAL PROPERTY CORP OF AMERICA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380065557.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-20
Filing Date
2023-09-07
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

When decoding point clouds using irreversible compression method in the prior art, the decoded point group is not exactly consistent with the origin group, resulting in insufficient reproducibility.

Method used

By receiving encoding information related to multiple three-dimensional points, it is determined whether to specify a surface or plane that approximates multiple three-dimensional points, and generate three-dimensional points on the specified surface or plane to improve the reproducibility of the point group.

Benefits of technology

Improve the reproducibility of the decoded point group and can more accurately restore the shape and characteristics of the origin group.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119856201A_ABST
    Figure CN119856201A_ABST
Patent Text Reader

Abstract

The decoding method receives encoding information relating to a plurality of three-dimensional points (S201), and determines, on the basis of the encoding information, whether or not to specify a curved surface that approximates the plurality of three-dimensional points (S202). For example, in the determination (S202), it may be determined whether to specify a curved surface that approximates the plurality of three-dimensional points or to specify a plane that approximates the plurality of three-dimensional points. For example, a curved surface or a flat surface may be provided into a first node of an octree structure of a plurality of three-dimensional points. For example, planes may also be specified in a triangular set manner or in a mesh manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a decoding method and a decoding device. Background Art

[0002] Devices and services that effectively utilize three-dimensional data are expected to become more common in a wide range of fields, including computer vision for autonomous operation of cars or robots, map information, surveillance, infrastructure inspection, and image distribution. Three-dimensional data is obtained through various methods, such as distance sensors such as rangefinders, stereo cameras, or a combination of multiple monocular cameras.

[0003] As one of the methods of expressing three-dimensional data, there is a method called point cloud that expresses the shape of a three-dimensional structure through a group of points in a three-dimensional space. In a point cloud, the position and color of a point group are stored. Although point clouds are expected to become the mainstream method of expressing three-dimensional data, the amount of data in a point group is very large. Therefore, in the accumulation or transmission of three-dimensional data, like two-dimensional dynamic images (for example, MPEG-4AVC or HEVC standardized by MPEG), it is necessary to compress the data volume through encoding.

[0004] In addition, regarding compression of point clouds, some support is provided by a public library (Point Cloud Library) or the like that performs processing related to point clouds.

[0005] In addition, there is known a technique for searching and displaying facilities located around a vehicle using three-dimensional map data (see, for example, Patent Document 1).

[0006] Prior Art Literature

[0007] Patent Literature

[0008] Patent Document 1: International Publication No. 2014 / 020663 Summary of the invention

[0009] Problems to be solved by the invention

[0010] In addition, there is a case where an irreversible compression method is used as the encoding method. In such a case, the decoded point group is not completely consistent with the original point group. Therefore, it is desirable to improve the reproducibility of the decoded point group.

[0011] An object of the present disclosure is to provide a decoding method or a decoding device capable of improving the reproducibility of a decoded point group.

[0012] Means for solving problems

[0013] In a decoding method according to one aspect of the present disclosure, encoding information related to a plurality of three-dimensional points is received, and based on the encoding information, it is determined whether to specify a curved surface that approximates the plurality of three-dimensional points.

[0014] In a decoding method according to one aspect of the present disclosure, a plane is specified based on encoding information included in a bit stream, and at least one three-dimensional point separated from the plane is generated.

[0015] In a decoding method involved in one embodiment of the present invention, a first vertex included in a plurality of vertices specified based on encoding information included in a bit stream is moved in a manner separated from the center of gravity of a plurality of second vertices included in the plurality of vertices, and a plane or a curved surface is specified using the moved first vertex and the plurality of second vertices, and a plurality of three-dimensional points are generated on the plane or the curved surface.

[0016] Effects of the Invention

[0017] The present disclosure can provide a decoding method or a decoding device that can improve the reproducibility of a decoded point group. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 It is a diagram showing an example of an origin group involved in the embodiment.

[0019] Figure 2 This is a diagram showing an example of a pruned octree according to an embodiment of the present invention.

[0020] Figure 3 This is a diagram showing an example of two-dimensionally displaying leaf nodes according to an embodiment.

[0021] Figure 4 This is a diagram for explaining a method for generating a centroid vertex according to an embodiment.

[0022] Figure 5 This is a diagram for explaining a method for generating a centroid vertex according to an embodiment.

[0023] Figure 6 This is a diagram showing an example of vertex information according to an embodiment.

[0024] Figure 7 It is a diagram showing an example of a triangle aggregate surface involved in the embodiment.

[0025] Figure 8 It is a diagram for explaining the restoration process of the point group involved in the embodiment.

[0026] Fig. 9 It is a diagram showing an example of an origin point group and a restoration point group involved in the embodiment.

[0027] Fig.10 It is a diagram showing examples of vertices and triangles involved in the embodiment.

[0028] Fig.11 It is a diagram showing examples of vertices and triangles involved in the embodiment.

[0029] Fig.12 It is a diagram showing examples of vertices and triangles involved in the embodiment.

[0030] Fig.13 It is a diagram showing examples of vertices and triangles involved in the embodiment.

[0031] Fig.14 It is a diagram showing an example of a method for determining a curved surface according to an embodiment.

[0032] Fig.15 It is a diagram showing an example of a point group according to the embodiment.

[0033] Fig.16 This is a flowchart of the decoding process involved in the implementation mode.

[0034] Fig.17 This is a flowchart of the restoration point generation process according to the embodiment.

[0035] Fig.18 It is a diagram showing an example of a centroid vector involved in the embodiment.

[0036] Fig.19 is a diagram showing an example of shared edge vertices according to an embodiment.

[0037] Fig. 20 It is a diagram showing an example of an origin group and a normal restoration point involved in the embodiment.

[0038] Fig.21 It is a diagram showing an example of a restoration point after adjustment according to the embodiment.

[0039] Fig. 22 It is a diagram showing an example of an origin group and a normal restoration point involved in the embodiment.

[0040] Fig.23 It is a diagram showing an example of a restoration point after adjustment according to the embodiment.

[0041] Fig.24 This is a flowchart of the decoding process involved in the implementation mode.

[0042] Fig.25 This is a block diagram of a decoding device according to an embodiment.

[0043] Fig.26This is a flowchart of the encoding process involved in the implementation mode.

[0044] Fig. 27 This is a block diagram of an encoding device involved in an embodiment. DETAILED DESCRIPTION

[0045] In a decoding method according to one embodiment of the present disclosure, encoding information related to a plurality of three-dimensional points is received, and based on the encoding information, it is determined whether to specify a curved surface that approximates the plurality of three-dimensional points. Thus, the decoding method can specify the curved surface when, for example, the reproducibility of the origin group can be improved by specifying the curved surface that approximates the plurality of three-dimensional points. Thus, the decoding method can improve the reproducibility of the origin group.

[0046] For example, in the determination, it may be determined whether to specify the curved surface that approximates the plurality of three-dimensional points or to specify a plane that approximates the plurality of three-dimensional points. Thus, the decoding method can specify a plane, for example, when the reproducibility of the origin group cannot be improved by specifying a curved surface that approximates the plurality of three-dimensional points, or when the reproducibility of the origin group can be improved by specifying a plane that approximates the plurality of three-dimensional points. Thus, the decoding method can specify a curved surface or a plane according to the origin group, and thus can improve the reproducibility of the origin group.

[0047] For example, the curved surface or the plane may be provided in the first node of the octree structure of the plurality of three-dimensional points. Thus, the decoding method can specify a curved surface or a plane for each node, so that processing can be appropriately selected according to the characteristics of the node.

[0048] For example, the plane may be specified in accordance with a triangle set method or a mesh method. Thus, the origin group can be approximated by a curved surface without being restricted to approximating the origin group by a plane as in the conventional triangle set method or mesh method, and the reproducibility of the origin group can be improved.

[0049] For example, the curved surface may be raised from the plane in a manner that the curved surface is separated from the center of gravity of a plurality of edge vertices, and the plurality of edge vertices may specify the plane in accordance with the triangle set method.

[0050] For example, the curved surface may be specified according to information specified in the plane according to the triangle set method included in the encoding information.

[0051] For example, the larger the plane is, the larger the ridge amount of the curved surface is. In this way, the decoding method can specify a curved surface that can improve the reproducibility of the shape of the origin group.

[0052] For example, the amount of bulging of the curved surface at the center portion of the curved surface may be greater than the amount of bulging at the peripheral portion of the curved surface. Thus, the decoding method can specify a curved surface that can improve the reproducibility of the shape of the origin group.

[0053] For example, it may be possible to determine whether to specify the curved surface based on at least two feature points in the first node included in the octree structure of the plurality of three-dimensional points, wherein the at least two feature points are derived from the encoding information. Thus, the decoding method can use information derived from the encoding information to determine whether to specify the curved surface.

[0054] For example, the at least two feature points may be selected from the centroid and the centroid vertex of a plurality of edge vertices, and the plurality of edge vertices and the centroid vertex are derived in accordance with a triangle set method.

[0055] In a decoding method according to one embodiment of the present disclosure, a plane is specified based on encoding information included in a bit stream, and at least one three-dimensional point separated from the plane is generated. Thus, the decoding method can improve the reproducibility of the origin group, for example, compared with the case where points are generated only on the plane. For example, the reproducibility of a curved surface shape that has low reproducibility when using a plane can be improved.

[0056] For example, the plane may be specified in accordance with a triangle set. For example, the plane and the at least one three-dimensional point may exist in the first node of an octree structure of multiple three-dimensional points. Thus, the decoding method may perform appropriate processing according to the characteristics of the node, for example.

[0057] For example, the plane may be located between the at least one three-dimensional point and the centroid of a plurality of edge vertices, and the plurality of edge vertices may specify the plane in accordance with a triangle set method. Thus, the reproducibility of the ridges of the origin group may be improved by at least one three-dimensional point. For example, the plane may be specified in accordance with a grid method.

[0058] In a decoding method according to one embodiment of the present disclosure, a first vertex included in a plurality of vertices specified based on encoding information included in a bitstream is moved in a manner separated from the center of gravity of a plurality of second vertices included in the plurality of vertices, a plane or a curved surface is specified using the first vertex after the movement and the plurality of second vertices, and a plurality of three-dimensional points are generated on the plane or the curved surface. Thus, the decoding method can improve the reproducibility of the ridge of an origin group, for example, by moving the vertex.

[0059] A decoding device according to one embodiment of the present disclosure includes a processor and a memory. The processor receives encoding information about a plurality of three-dimensional points using the memory, and determines whether to specify a curved surface that approximates the plurality of three-dimensional points based on the encoding information.

[0060] A decoding device according to one embodiment of the present disclosure includes a processor and a memory, and the processor uses the memory to specify a plane based on encoding information included in a bit stream and generates at least one three-dimensional point separated from the plane.

[0061] A decoding device involved in one embodiment of the present invention includes a processor and a memory, and the processor uses the memory to move a first vertex included in a plurality of vertices specified based on encoding information included in a bit stream in a manner separated from the center of gravity of a plurality of second vertices included in the plurality of vertices, uses the moved first vertex and the plurality of second vertices to specify a plane or a curved surface, and generates a plurality of three-dimensional points on the plane or the curved surface.

[0062] In addition, these general or specific methods can also be implemented by systems, methods, integrated circuits, computer programs, or computer-readable recording media such as CD-ROMs, and can also be implemented by any combination of systems, methods, integrated circuits, computer programs, and recording media.

[0063] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. In addition, the embodiments described below all represent a specific example of the present disclosure. The numerical values, shapes, materials, constituent elements, configuration positions and connection methods of constituent elements, steps, and the order of steps shown in the following embodiments are examples and are not intended to limit the present disclosure. In addition, among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims are described as arbitrary constituent elements.

[0064] (Implementation Method)

[0065] The following describes the encoding device (three-dimensional data encoding device) and decoding device (three-dimensional data decoding device) involved in this embodiment. The encoding device encodes three-dimensional data to generate a bit stream. The decoding device decodes the bit stream to generate three-dimensional data.

[0066] Three-dimensional data is, for example, three-dimensional point group data (also referred to as point group data). A point group is a collection of multiple three-dimensional points that represents the three-dimensional shape of an object. Point group data includes position information and attribute information of multiple three-dimensional points. The position information represents the three-dimensional position of each three-dimensional point. In addition, position information is sometimes referred to as geometry information. For example, position information is represented by an orthogonal coordinate system or a polar coordinate system.

[0067] The attribute information indicates, for example, color information, reflectance, transmittance, infrared information, normal vector, or time information, etc. One three-dimensional point may have a single attribute information or may have multiple types of attribute information.

[0068] In addition, the following mainly describes encoding and decoding of position information, but the encoding device can also encode and decode attribute information.

[0069] [Triangle collection method]

[0070] The encoding device according to the present embodiment encodes position information using a triangle set (TriSoup: Triangle-Soup, triangle patch set) method.

[0071] The triangle set method is one of the methods for encoding the position information of the point group data, and is an irreversible compression method. In the triangle set method, the origin group of the processing object is replaced with a set of triangles, and the point group is approximated on the plane. Specifically, the origin group is replaced with the vertex information in the node, and the vertices are connected to each other to generate the triangle group. In addition, the vertex information used to generate the triangle is stored in the bit stream and sent to the decoding device.

[0072] First, the encoding process using the triangle set method will be described. Figure 1 is a graph showing an example of an origin group. Figure 1 As shown, a point group 102 of an object is contained in an object space 101 and includes a plurality of points 103 .

[0073] First, the encoding device performs octree segmentation on the original point group until the specified depth. In the octree segmentation, the object space is divided into 8 nodes (subspaces), and 8 bits of information (occupancy code) are generated to indicate whether each node contains a point group. In addition, the node containing the point group is further divided into 8 nodes, and 8 bits of information are generated to indicate whether each of the 8 nodes contains a point group. This process is repeated until the predetermined level.

[0074] Here, in the conventional octree encoding, for example, the segmentation is repeated until the number of point groups included in the node becomes 1 or below a threshold. On the other hand, in the triangle set method, the octree segmentation is performed until the intermediate level, and the octree segmentation is not performed for the levels below the intermediate level. Such an octree until the intermediate level is called a pruned octree.

[0075] Figure 2 is a diagram showing an example of a pruned octree. Figure 2 As shown, the point group 102 is divided into a plurality of leaf nodes 104 (bottom-level nodes) of the pruned octree.

[0076] Next, the encoding device performs the following processing on each leaf node 104 of the pruned octree. In addition, the leaf node is also referred to as a node below. The encoding device generates a vertex on the edge as a representative point of a point group close to the edge of the node. The vertex is called an edge vertex. For example, an edge vertex is generated for each edge of a plurality of edges (e.g., four parallel edges).

[0077] Figure 3 is an example of two-dimensional display of leaf nodes 104, for example, Figure 1 The xy plane is viewed from the z direction as shown. Figure 3 As shown, an edge vertex 112 is generated on the edge based on the proximity points of the edge among a plurality of points 111 within the leaf node 104 .

[0078] In addition, Figure 3 In the example, the dotted line on the periphery of the leaf node 104 is an edge. In addition, in this example, at a point within a distance of 1 from an edge ( Figure 3 The edge vertex 112 is generated at the weighted average position of the positions of the points included in the range 113 in the range 114. In addition, the unit of distance is, for example, the resolution of the point group, but is not limited to this. In addition, the distance (threshold) is 1 in this example, but it can also be other than 1 and can be variable.

[0079] Next, the encoding device generates a vertex inside the node based on a point group existing in the normal direction of the plane including the plurality of edge vertices. This vertex is referred to as a centroid vertex.

[0080] Figure 4 and Figure 5 is a diagram for explaining the method of generating centroid vertices. First, the encoding device selects, for example, 4 points from the edge vertex group as representative points. Figure 4 In the example shown, edge vertices v1 to v4 are selected. Next, the encoding device calculates an approximate plane 121 passing through the four points. Next, the encoding device calculates a normal line n of the approximate plane 121 and an average coordinate M of the four points. Next, the encoding device calculates one or more points (e.g., Figure 5 The centroid vertex C is generated at the weighted average coordinates of the points included in the range 122 shown.

[0081] Next, the encoding device entropy encodes vertex information as information of edge vertices and centroid vertices, and stores the encoded vertex information in a geometry data unit (GDU) included in the bitstream. In addition, the GDU includes not only vertex information but also information indicating a pruned octree.

[0082] Figure 6 is a diagram showing an example of vertex information. Figure 6 As shown, the point group 102 is converted into vertex information 123 .

[0083] Next, the decoding process of the bit stream generated as described above is described. First, the decoding device decodes the GDU from the bit stream to obtain vertex information. Next, the decoding device connects the vertices to generate a triangle collection surface (TriSoup-Surface) as a triangle group.

[0084] Figure 7 is a diagram showing an example of a triangle set surface. Figure 7 In the example shown, four edge vertices v1 to v4 and a centroid vertex C are generated based on vertex information. In addition, a triangle 131 (triangle collection face) is generated with the centroid vertex C and two edge vertices as vertices. For example, a group of two edge vertices on two adjacent edges is selected, and a triangle 131 is generated with the selected group and the centroid vertex as vertices.

[0085] Figure 8 is a diagram for explaining the restoration process of the point group. By performing the above process on each leaf node, Figure 8 As shown, a three-dimensional model representing the object using a plurality of triangles 131 is generated.

[0086] Next, the decoding device generates points 132 at regular intervals on the surface of the triangle 131 , thereby restoring the position information of the point group 133 .

[0087] [Surface restoration processing]

[0088] For example, in a technique that approximates a point group with a plane such as a triangle set technique, the encoder samples the original point group (the point group of the encoding object) using vertices and transmits the vertex information to the decoder. The decoder connects multiple vertices to restore the surface. Based on the nature of such processing, there is the following problem: For example, when restoring points on a triangular surface using a triangle set technique, even if there are convex ridges or concave depressions, it is impossible to reproduce ridges or depressions below the size of the triangle.

[0089] In contrast, in this embodiment, the decoding device generates triangles (triangle aggregation surfaces) using, for example, triangle aggregation technology. When generating points on triangles using ray tracing, the decoding device determines the raised side of a convex surface or the sunken side of a concave surface, and generates points based on the determination result.

[0090] For example, the decoding device determines the side opposite to the side where the center of gravity of the edge vertex is located when viewed from the triangle as the "side with a bulge or a depression" (restored surface), and generates a restored point at a position offset from the triangle surface.

[0091] Fig. 9 is a diagram showing an overview of the processing, and is a diagram showing examples of the origin point group and the restoration point group in the node 1 and the node 2. In addition, Fig. 9 This is an example of a two-dimensional representation of adjacent nodes 1 and 2. Fig. 9 In the example shown, a concave surface (surface of the origin group) exists at node 1, and a convex surface exists at node 2. In this case, by shifting the restored point group (points before adjustment generated by ordinary ray tracing) at each node to a side away from the center of gravity of the edge vertices, the origin group can be reproduced by the restored point group.

[0092] As a result, the decoding device does not need to perform repeated calculations for curved surface estimation or function fitting, and can reproduce the ridges or valleys of the origin group with a small amount of calculation.

[0093] The above processing is described in detail below. In order to generate a point near the surface of the triangle, the decoding device first defines the bounding box of the triangle. The decoding device draws a vector in the x, y, and z axis directions from the integer grid coordinates P of each face of the bounding box, and generates a restoration point Q at the intersection of the vector and the triangle.

[0094] use Fig.10 and Fig.11 Moller's intersection determination method is described as an example of the ray tracing technology. Fig.10 and Fig.11 is a diagram showing examples of vertices and triangles.

[0095] The emission point P of the ray (Ray) is set at each integer grid coordinate of the yz plane, xz plane, and xy plane that constitute the bounding box surrounding the triangle.

[0096] As an example, consider the case of tracing rays from three directions: the yz plane, the xz plane, and the xy plane. b is a unit vector in one of the directions x, y, and z. u, v, and w are vector coefficients representing the triangular surface. In addition, the following equation holds.

[0097] h=b×e2

[0098] a=e1·h

[0099] u=s·h / a

[0100] q=s×e1

[0101] v=b·q / a

[0102] t=e2·q / a

[0103] In addition, if Fig.11 As shown, the triangle is formed by vertices v1, v2, and v3. Vertices v1, v2, and v3 are edge vertices or centroid vertices. tb is the vector from the starting point P to the restoration point Q, and t is the distance between the starting point P and the restoration point Q. s is the vector from the starting point P to the vertex v1, e1 is the vector from the vertex v1 to the vertex v2, and e2 is the vector from the vertex v1 to the vertex v3. The distance t is calculated according to the above formula, so the coordinates of the restoration point Q are expressed as Q=P+tv.

[0104] Furthermore, in this embodiment, the ridge of the origin group distribution is reproduced by adjusting the distance t. Here, in the ray tracing to the triangle, the restoration surface always exists on the surface on the opposite side of the centroid G of the edge vertex, so the decoding device adjusts t so that the restoration point Q indicates the surface on the opposite side of the centroid G when viewed from the triangle. Specifically, the decoding device calculates Δt in order to calculate the adjusted distance t'=t+Δt. Fig.12 It is a diagram for explaining the processing and is a diagram showing examples of vertices and triangles.

[0105] Here, the polarity of Δt, which is the amount of change in t, changes as follows depending on the position of the light emission point P. Fig.12 As shown, the foot of the perpendicular line from the centroid G to the triangle is set to N. In this case, the positional relationship between the light emitting point P, the centroid G, and the triangle is determined by the inner product of the vector GN and the vector PN. Here, the vector GN is the vector from the centroid G toward the foot of the perpendicular N, and the vector PN is the vector from the emitting point P toward the foot of the perpendicular N.

[0106] When the inner product is greater than 0, the emitting point P and the centroid G are located on the same side relative to the triangular face. When the inner product is equal to 0, the emitting point P exists on the triangle. When the inner product is less than 0, the emitting point P and the centroid G are located on the opposite side of the triangular face. Thus, the decoding device sets Δt to a positive value when the inner product is greater than 0, and sets Δt to a negative value when the inner product is less than 0.

[0107] In addition, the decoding device does not make adjustments (sets Δt=0) when the inner product=0. In addition, the decoding device may determine that the inner product=0 when the absolute value of the inner product is less than the threshold. Thus, erroneous operation can be suppressed. In addition, information indicating the threshold may also be transmitted from the encoding device to the decoding device. In other words, the information indicating the threshold may also be included in the bit stream.

[0108] Next, a method for determining the swelling amount |Δt| will be described. Fig.13: is a diagram showing an example of vertices and a triangle. With respect to the three vertices (v1, v2, v3) of the triangle and the restoration point Q, the following equation holds based on Moller's intersection determination method.

[0109] Q=w×v1+u×v2+v×v2

[0110] 0≤w,u,v

[0111] u+v+w=1

[0112] In addition, t' which is t after adjustment is expressed by t'=t+Δt. The polarity of Δt can be obtained by the above-mentioned method. An example of calculation of the absolute value |Δt| of Δt is described below.

[0113] The decoding device sets the |Δt| of the point far from the vertex of the triangle to be large. Specifically, when (i) the value of any one of u, v, and w is close to 1, or / and (ii) the values ​​of u, v, and w are uneven, the decoding device determines that the restored point Q is located at the end of the triangle and makes |Δt| close to 0 (setting |Δt| to a small value). In addition, when u, v, and w do not differ, or when u, v, and w are each close to a specified value, the decoding device determines that the point Q is located near the center of the triangle and sets |Δt| to a large value.

[0114] In addition, when the reconstruction point Q is neither at the end nor at the center of the triangle but is located halfway between the end and the center, the decoding device may set |Δt| using linear interpolation or curve interpolation corresponding to the position of the reconstruction point.

[0115] In addition, the maximum value of |Δt| can also be determined based on the length of the long side of the triangle. For example, the decoding device sets the value obtained by dividing the size of the triangle (e.g., the length of the long side) by an integer greater than 1 as the maximum value of Δt, and can determine the maximum amplitude of the ridge according to the size of the triangle. In other words, Δtmax=long side length of the triangle / 8 can also be used as the maximum value of Δt. In addition, "8" is an adjustment coefficient, and a value other than "8" can also be used.

[0116] In this case, Δt is calculated by Δt=(1-max(w, u, v))×Δtmax. Here, max(A, B, . . . ) is a function that returns the maximum value of an argument.

[0117] Like this, the decoding device may also make |Δt| larger when the length of the long side of the triangle is larger. That is, the decoding device may also make |Δt| larger when the triangle is larger. In other words, the larger the triangle plane is, the larger the protrusion (protuberance) of the curved surface is. In addition, the protrusion of the curved surface at the center of the curved surface is larger than the protrusion at the peripheral portion of the curved surface. However, the above formula is only an example, and other weighting methods may also be used.

[0118] The decoding device calculates t' using Δt, and uses t' to calculate the coordinates of Q' by Q'=P+t'v. The decoding device adds a restoration point at a position where the coordinate value of Q' becomes an integer. For example, the position that becomes an integer is a position of an integer grid of x, y, and z.

[0119] Next, a method for determining whether or not there is a curved surface will be described. Fig.14 is a diagram showing an example of a method for determining a curved surface. The decoding device estimates an approximate plane based on a plurality of edge vertices. For example, the approximate plane is a plane including a plurality of edge vertices. Next, the decoding device calculates an offset d between the approximate plane and the centroid vertex. Here, the offset d represents the distance between the approximate plane and the centroid vertex.

[0120] The decoding device determines that "there is a curved surface" when the offset d is larger than a predetermined threshold. In this case, the decoding device performs the curved surface restoration processing (adjustment of t) described above for restoring the ridge. In addition, the decoding device may also adjust the size of Δtmax or Δt according to the offset d.

[0121] When the offset d is less than the above threshold, the decoding device determines that there is no curved surface and does not perform the above curved surface restoration process. In other words, a plurality of restoration points are generated on the plane. In addition, this determination is performed, for example, for each node.

[0122] In addition, the encoding device may calculate the offset d and store the calculated offset d in the bitstream. In this case, the decoding device may also use the offset d included in the bitstream to perform the above processing. In addition, the decoding device may also determine that there is "no surface" when the offset d is not included in the bitstream.

[0123] In addition, the decoding device may determine whether there is a curved surface spanning between nodes based on the distribution of edge vertices of a plurality of nodes as described later.

[0124] In addition, the threshold value for the offset d may be transmitted from the encoding device to the decoding device. In other words, the bit stream may include the threshold value.

[0125] Furthermore, the plurality of vertices in the node used to determine the approximate plane may be limited to edge vertices or may include other vertices.

[0126] In addition, the encoding device may indicate to the decoding device whether it is necessary to calculate t' for the concave-convex expression (whether to perform the curved surface restoration process). For example, the encoding device determines whether the accuracy of the restored point group is improved by the curved surface restoration process based on the distribution of the origin point group, and stores information indicating the determination result in the bit stream. For example, the information may also be information indicating whether the decoding device performs the curved surface restoration process.

[0127] In addition, as a result of applying t' obtained by the above method, it is also conceivable that the restoration point is located outside the frame of the node (leaf node). Fig.15 is a diagram showing an example of a point group in this case. In this case, the decoding device may also perform correction so that the restoration point located outside the node is located inside the node. Alternatively, in this case, the decoding device may also generate a restoration point at the position before the above-mentioned surface restoration process (the position of the point before adjustment).

[0128] [Processing Flow]

[0129] Fig.16 is a flowchart showing the decoding process performed by the decoding device involved in the present embodiment. First, the decoding device obtains the GDU header and GDU from the bitstream (S101). Next, the decoding device obtains the octree information representing the pruned octree from the GDU. For example, the decoding device performs entropy decoding on the encoded octree information included in the GDU to obtain the octree information. The decoding device uses the octree information to generate multiple leaf nodes (leaf node groups) of the pruned octree (S102).

[0130] Next, the decoding device obtains vertex information as position information of edge vertices and centroid vertices from the GDU (S103). For example, the decoding device performs entropy decoding on the encoded vertex information included in the GDU, thereby obtaining the vertex information.

[0131] Next, the decoding device performs the following steps S104 to S107 (loop processing) for each leaf node of the pruned octree. First, the decoding device generates a triangle connecting the two edge vertices and the centroid vertex for each combination of two edge vertices and the centroid vertex among the multiple vertices of the leaf node, i.e., the object node, and generates a list of multiple triangles (S104). Next, the decoding device calculates the centroid G of the edge vertices of the object node (S105).

[0132] Next, the decoding device performs the following processing of step S106 (loop processing) on ​​each of the multiple triangles included in the triangle list. The decoding device generates multiple points (restored points) on the surface of the target triangle, which is the processing target triangle (S106). Thus, the loop processing for the target triangle ends.

[0133] Next, the decoding device uses the coordinate values ​​to uniquely identify the multiple restoration points (restoration point group) in the target node and adds them to the decoding point group (S107). Here, uniqueness means excluding points with duplicate coordinate values. As described above, the loop processing for the target node ends.

[0134] Fig.17 is the generation process of the recovery point ( Fig.16 A flowchart showing the details of step S106). Fig.17 The processing shown is performed on a per-triangle basis.

[0135] First, the decoding device calculates the coordinates of the foot N of the perpendicular line from the centroid G to the target triangle (S111). Next, the decoding device calculates the bounding box of the target triangle and selects three planes, the yz plane, the xz plane, and the xy plane, which are closer to the origin, from the six planes forming the bounding box (S112).

[0136] Next, the decoding device performs the following steps S113 to S115 (loop processing) for each of the three planes of the bounding box. First, the decoding device performs ray tracing on the triangle from the coordinate point of the integer grid of the processing object plane (the ray emission point P), and calculates the length t of the ray (PQ) (S113).

[0137] Next, the decoding device adjusts (increases or decreases) the value of t based on the value (polarity) of GN·PN, which is the inner product of vector GN and vector PN, and the distance of the intersection point Q (restored point Q) between the triangle and the ray relative to the vertices (v1, v2, v3) of the triangle (S114). Specifically, as described above, the decoding device determines the polarity of Δt based on the polarity of GN·PN. In addition, the decoding device determines the absolute value of Δt based on the distance between the intersection point Q and the vertices (v1, v2, v3) of the triangle. The decoding device adjusts t using the determined Δt, thereby calculating t'.

[0138] The decoding device makes the adjusted t(t') an integer, thereby calculating the integer coordinate Q' of the intersection point Q, and adding Q' as a restoration point to the restoration point group in the node. In other words, the decoding device generates a restoration point at Q' (S115). Thus, the loop processing for the target surface ends.

[0139] [Modifications]

[0140] As a method for determining the restored surface of a triangle, the above example describes a method for determining the restored surface of a triangle based on the centroid of edge vertices, but the following method may also be used. The decoding device may also use the direction of the centroid vector from the centroid of the edge vertex toward the centroid vertex in the determination. Fig.18 : is a diagram showing an example of a centroid vector. In this case, a triangular face located in the direction in which the centroid vector points is determined as a restoration face of a point.

[0141] Furthermore, the decoding device may perform a curved surface restoration process to adjust the position of the restoration point using the above-mentioned Δt when the size of the centroid vector is greater than a predetermined threshold, and may not perform the curved surface restoration process when the centroid vector is smaller than the threshold.

[0142] As another method, the decoding device may perform determination using the positions of shared edge vertices that are edge vertices shared between adjacent nodes instead of using the centroid vertex. Fig.19 is a graph showing an example of shared edge vertices.

[0143] In this way, the decoding device uses the shared edge vertex as a temporary centroid vertex. Fig.19 In the example shown, the shared edge vertex is an edge vertex shared by nodes 1 to 4. In addition, the decoding device calculates the centroid of the edge vertices other than the shared edge vertices among the plurality of edge vertices of nodes 1 to 4, that is, the non-shared edge vertices (the centroid of the edge vertices between nodes). In other words, the non-shared edge vertex is an edge vertex that is not shared by nodes 1 to 4.

[0144] The decoding device uses the above-mentioned shared edge vertex as the centroid vertex and uses the centroid of the edge vertex between nodes as the centroid of the edge vertex, and can perform various determinations and processes in the same way as the above-mentioned method. Thus, it is possible to determine the presence or absence of a curved surface between nodes, the restoration surface of each triangle, and calculate the ridge amount |Δt|, thereby improving the versatility of the technology.

[0145] In addition, Fig.19 The example of four node groups arranged on the xz plane is given, but this is just an example. As a way to regard shared edge vertices as temporary centroid vertices, adjacent node groups on the xy plane or yz plane can also be taken as objects. In addition, the number of adjacent nodes is not limited to 4. For example, the same processing can be performed between two nodes. In the case of two nodes, the shared edge vertices shared between the nodes are sometimes two. In this case, the centroid of the edge vertices between the nodes can also be the centroid of multiple edge vertices other than the two shared edge vertices.

[0146] In addition, as a method of transmitting information associated with the above-mentioned processing, the following method may also be used. The bitstream may also include a flag indicating whether the above-mentioned curved surface restoration processing is turned on or off (whether the curved surface restoration processing is performed). The decoding device performs the curved surface restoration processing when the flag is turned on, and does not perform the curved surface restoration processing when the flag is turned off.

[0147] The encoding device stores the tag in, for example, SPS, GPS, or GDU. SPS (Sequence Parameter Set) is metadata (parameter set) common to multiple frames. GPS (Geometry Parameter Set) is metadata (parameter set) related to the encoding of location information. For example, GPS is metadata common to multiple frames.

[0148] In addition to or in place of the above-mentioned flag, a flag indicating whether the surface restoration process is turned on or off in units of nodes may be set. In addition, no flag may be set, and information related to the surface restoration process may be always sent. In addition, in addition to the above-mentioned flag, a flag for switching the above-mentioned various methods may be stored separately in the bitstream.

[0149] In addition, information indicating the maximum value of |Δt| or a parameter for obtaining the maximum value may be stored in the bit stream. In addition to this, the various parameters described above may also be stored in the bit stream.

[0150] In the above description, as a point group restoration technology in the triangle set method, a technology is described in which the value of t is adjusted when points are generated on a triangle by ray tracing to reproduce the ridges of the surface of the origin point group, but this method can also be applied to other technologies.

[0151] For example, in the case of performing ordinary ray tracing without restoring the ridges, a method of adjusting the vertex positions is also considered in order to maintain the volume of the restored point group. That is, the decoding device does not adjust the positions of the points generated by ray tracing, but adjusts the vertex positions. As a result, the positions of the triangles generated at the adjusted vertex positions are adjusted, and as a result, the positions of the points generated by ray tracing are also adjusted. Figure 20 to Figure 23 It is a diagram for explaining this method.

[0152] Fig. 20 The diagram shows an example of an origin group and a general restoration point restored by ray tracing. Fig.21 is a diagram showing an example of the adjusted recovery point. Fig.21 As shown, the encoding device can also make Fig. 20 The centroid vertex shown in moves in the direction of separation from the centroid of the edge vertex. Fig.21 As shown, the reproducibility of the origin group can be improved.

[0153] Fig. 22 This is a diagram showing another example of an origin group and normal restoration points restored by ray tracing. Fig.23 is a diagram showing an example of the adjusted recovery point. Fig.23 As shown, the encoding device may also move the shared edge vertex in a direction away from the center of gravity of the edge vertex between nodes. That is, the encoding device may also move the shared edge vertex along the edge. In addition, in this example, the shared edge vertex is an edge vertex shared by node 1 and node 2. In addition, the center of gravity of the edge vertex between nodes is the center of gravity of the edge vertices other than the shared edge vertex among the multiple edge vertices included in node 1 and node 2. Thus, as Fig.23 As shown, the reproducibility of the origin group can be improved.

[0154] For example, the encoding device may move the shared edge vertex when the orientation of the curved surface in adjacent nodes (node ​​1 and node 2) is the same, and otherwise not move the shared edge vertex. Here, the orientation of the curved surface is the same, for example, when the inner product value of the centroid vector of node 1 and the centroid vector of node 2 is positive.

[0155] in addition, Fig. 20 and Fig.21 The movement amount of the centroid vertex in the illustrated case can also be determined to be proportional to the vertex centroid distance, which is the distance between the centroids of the centroid vertex and the edge vertex. That is, the larger the vertex centroid distance is, the larger the movement amount of the centroid vertex is set.

[0156] in addition, Fig. 22 and Fig.23 The movement amount of the shared edge vertex in the illustrated case can also be determined to be proportional to the vertex centroid distance, which is the distance between the shared edge vertex and the centroid of the edge vertex between the nodes. That is, the larger the vertex centroid distance, the larger the movement amount of the centroid vertex is set.

[0157] For example, in any case, the vertex movement distance (movement amount) is obtained by vertex movement distance = vertex centroid distance × node width × 1 / 8. In addition, "8" is an adjustment coefficient, and a value other than "8" may be used.

[0158] Furthermore, when the above-mentioned vertex position adjustment methods are introduced for a method including a mechanism of adding the vertex itself as a point to the restoration point group, the moved vertex position may be located at a position separated from the original point group. Therefore, in such a case, the decoding device may not add the vertex to the restoration point group.

[0159] In addition, the above-mentioned technique of adjusting the vertex position can also be used in the case of generating mesh data from a point group by a triangle set method. The mesh data itself is a form of expression, so by generating a polygonal model by gradually and slightly moving the vertex positions generated from the origin point group by a triangle set method toward the outer direction of the volume, mesh data of the volume that maintains the origin point group can be obtained. In addition, the outer direction of the volume is the direction separating from the center of the polyhedron defined by the mesh.

[0160] In addition, at least part of the above-mentioned processing may be performed by an encoding device that reconstructs at least one three-dimensional point. That is, the encoding device may adjust the position (on a plane) of the reconstructed point or generate a reconstructed point with an adjusted position on a curved surface.

[0161] [Summary]

[0162] As described above, in this embodiment, the decoding device determines whether there is a curved surface in a certain coordinate interval as a determination method for determining whether there is a curved surface. In addition, the control information included in the bitstream includes a mark indicating whether the above function is turned on or off. In addition, the control information may also include a mark or information (parameter) for switching the following various methods.

[0163] For example, the control information may also include: at least one of: a mark indicating whether the above function is turned on or off for the point group as a whole, a mark indicating whether the above function is turned on or off per node, and information indicating a threshold value of the distance between two feature points used to determine whether a curved surface exists.

[0164] In addition, when the decoding device determines that there is a curved surface, it estimates the restoration surface of the triangle by a prescribed method and generates a point at a position separated from the estimated restoration surface. For example, the decoding device uses the positional relationship of two feature points in a leaf node to determine whether there is a curved surface. For example, the two feature points are the centroid vertex and the center of gravity of the edge vertex. For example, the decoding device determines whether there is a curved surface based on whether the distance between the two feature points in the leaf node is above a threshold. In addition, the two feature points can also be the shared edge vertices between adjacent leaf nodes and the center of gravity of non-shared edge vertices.

[0165] In addition, the above-mentioned predetermined method may also be a method of determining the restoration surface based on the position of the feature point in the leaf node.

[0166] As a method of estimating the restoration surface, for example, the decoding device may also determine the surface on the opposite side of the center of gravity of the edge vertices in the node when viewed from the triangle as the restoration surface. For example, the decoding device may also determine the surface in the direction of the centroid vector located in the node when viewed from the triangle as the restoration surface. For example, the decoding device may also determine the surface on the opposite side of the center of gravity of the edge vertices between the nodes when viewed from the triangle as the restoration surface. In addition, the decoding device may also calculate the offset (Δt) of the restoration point relative to the triangle surface based on the positional relationship between the triangle and the point Q generated by ray tracing.

[0167] Alternatively, as a method of estimating the restored surface, for example, the decoding device may move the position of the centroid vertex in a direction away from the centroid of the edge vertex. For example, the decoding device may move the position of the edge vertex along the edge in a direction away from the centroid between the nodes. For example, the decoding device may calculate the movement distance of the vertex using the distance between the vertex and the centroid.

[0168] When determining that there is a curved surface, the decoding device may estimate a restoration surface of the triangle using a predetermined method and generate a point at a position separated from the restoration surface.

[0169] In addition, as a method of generating mesh data from a point group, a device (eg, a decoding device) generates vertices from a part of the point group by a predetermined method and connects the vertices to generate a series of polygons. In this case, the device determines whether there is a curved surface within a certain coordinate interval.

[0170] In the case where there is a curved surface in the coordinate interval, the device may also move the position of the centroid vertex in a direction away from the center of gravity of the edge vertex. In the case where there is a curved surface in the coordinate interval, the device may also move the position of the edge vertex along the edge in a direction away from the center of gravity between the nodes. For example, the device may also calculate the moving distance of the vertex based on the distance between the vertex and the center of gravity.

[0171] The decoding device (three-dimensional data decoding device) according to the embodiment performs Fig.24 The decoding device receives encoding information related to a plurality of three-dimensional points (S201), and determines whether to specify a curved surface that approximates the plurality of three-dimensional points (S202) based on the encoding information. Thus, the decoding device can specify the curved surface when, for example, specifying the curved surface that approximates the plurality of three-dimensional points can improve the reproducibility of the origin group. Thus, the decoding device can improve the reproducibility of the origin group.

[0172] For example, when determining whether to specify a curved surface (S202), the decoding device determines whether to specify a curved surface that approximates a plurality of three-dimensional points or a plane that approximates a plurality of three-dimensional points. Thus, the decoding device can specify a plane when, for example, the reproducibility of the origin group cannot be improved by specifying a curved surface that approximates a plurality of three-dimensional points, or when the reproducibility of the origin group can be improved by specifying a plane that approximates a plurality of three-dimensional points. Thus, the decoding device can specify a curved surface or a plane according to the origin group, thereby improving the reproducibility of the origin group.

[0173] For example, a curved surface or a plane is provided in the first node of the octree structure of a plurality of three-dimensional points. Thus, the decoding device can specify a curved surface or a plane for each node, and thus can appropriately select processing according to the characteristics of the node.

[0174] For example, the plane is specified in accordance with the triangle set method or the mesh method. Therefore, the origin group can be approximated by a curved surface without being restricted to approximating the origin group by a plane as in the conventional triangle set method or the mesh method, and the reproducibility of the origin group can be improved.

[0175] For example, the curved surface rises from the plane in a manner that the curved surface is separated from the center of gravity of a plurality of edge vertices, and the plurality of edge vertices specify the plane in a triangle set manner. For example, the curved surface is specified in accordance with information specifying the plane in a triangle set manner included in the encoding information.

[0176] For example, the larger the plane, the larger the ridge amount of the curved surface. Thus, the decoding device can specify a curved surface that can improve the reproducibility of the shape of the origin group.

[0177] For example, the amount of bulging of the curved surface at the center portion of the curved surface is larger than the amount of bulging of the curved surface at the peripheral portion. Thus, the decoding device can specify a curved surface that can improve the reproducibility of the shape of the origin group.

[0178] For example, whether to specify a curved surface is determined based on at least two feature points in a first node included in an octree structure of multiple three-dimensional points, and the at least two feature points are derived from the encoding information. Thus, the decoding device can use information derived from the encoding information to determine whether to specify a curved surface.

[0179] For example, at least two feature points are selected from the centroids and the centroid vertices of a plurality of edge vertices, and the plurality of edge vertices and the centroid vertices are derived in accordance with a triangle set method.

[0180] The decoding device specifies a plane based on the encoding information included in the bit stream, and generates at least one three-dimensional point separated from the plane. Thus, the decoding device can improve the reproducibility of the origin group, for example, compared with the case where the point is generated only on the plane. For example, the reproducibility of a curved surface shape that has low reproducibility when using a plane can be improved.

[0181] For example, the plane is specified in accordance with the triangle set method. For example, the plane and at least one three-dimensional point exist in the first node of the octree structure of multiple three-dimensional points. Thus, the decoding device can perform appropriate processing according to the characteristics of the node, for example.

[0182] For example, the plane is located between at least one three-dimensional point and the centroid of multiple edge vertices, and the multiple edge vertices specify the plane in accordance with a triangle set method. Thus, the reproducibility of the ridges of the origin group can be improved by at least one three-dimensional point. For example, the plane is specified in accordance with a grid method.

[0183] The decoding device moves a first vertex included in a plurality of vertices specified based on the coding information included in the bit stream so as to be separated from the center of gravity of a plurality of second vertices included in the plurality of vertices, specifies a plane or a curved surface using the moved first vertex and the plurality of second vertices, and generates a plurality of three-dimensional points on the plane or the curved surface. Thus, the decoding device can improve the reproducibility of the ridge of the origin group, for example, by moving the vertex.

[0184] Fig.25 It is a module of the decoding device 10. For example, the decoding device 10 includes a processor 11 and a memory 12, and the processor 11 uses the memory 12 to perform the above-mentioned processing.

[0185] In addition, the encoding device involved in the embodiment may also perform at least a part of the processing performed by the above-mentioned decoding device. For example, the encoding device (three-dimensional data encoding device) involved in the embodiment performs Fig.26 The processing shown. The encoding device generates encoding information related to multiple three-dimensional points (S211), and based on the encoding information, determines whether to specify a surface that approximates the multiple three-dimensional points (S212). For example, the encoding information may also include information related to the designation of the surface that approximates the multiple three-dimensional points. Thus, the decoding device can specify the surface that approximates the multiple three-dimensional points, for example, by using the information related to the designation of the surface that approximates the multiple three-dimensional points. In addition, by generating information in the encoding device, the amount of processing in the decoding device can be reduced.

[0186] Fig. 27 It is a module of the encoding device 20. For example, the encoding device 20 includes a processor 21 and a memory 22, and the processor 21 uses the memory 22 to perform the above-mentioned processing.

[0187] As mentioned above, the encoding device (three-dimensional data encoding device) and the decoding device (three-dimensional data decoding device) etc. which concern on embodiment and modification of this disclosure are demonstrated, but this disclosure is not limited to this embodiment.

[0188] In addition, each processing unit included in the encoding device and decoding device according to the above-mentioned embodiments is typically implemented by an LSI which is an integrated circuit. They may be individually single-chip or partially or entirely single-chip.

[0189] Furthermore, the integrated circuit is not limited to LSI, and can be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after LSI manufacturing or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI can also be used.

[0190] In addition, in each of the above-mentioned embodiments, each component may be formed by dedicated hardware, or implemented by executing a software program suitable for each component. Each component may also be implemented by a program execution unit such as a CPU or a processor reading and executing a software program recorded in a recording medium such as a hard disk or a semiconductor memory.

[0191] In addition, the present disclosure can also be implemented as an encoding method (three-dimensional data encoding method) or a decoding method (three-dimensional data decoding method) executed by an encoding device (three-dimensional data encoding device) and a decoding device (three-dimensional data decoding device).

[0192] In addition, the present disclosure may also be implemented as a program that enables a computer, a processor, or a device to perform the above-mentioned encoding method or decoding method. In addition, the present disclosure may also be implemented as a bit stream generated by the above-mentioned encoding method. In addition, the present disclosure may also be implemented as a recording medium having the program or the bit stream recorded thereon. For example, the present disclosure may also be implemented as a non-volatile computer-readable recording medium having the program or the bit stream recorded thereon.

[0193] In addition, the division of the functional modules in the block diagram is an example, and multiple functional modules can also be implemented as one functional module, or one functional module can be divided into multiple modules, or a part of the function can be transferred to other functional modules. In addition, the functions of multiple functional modules with similar functions can also be processed in parallel or in time-sharing by a single hardware or software.

[0194] In addition, the order in which each step in the flowchart is executed is an example order for specifically explaining the present disclosure, and may be an order other than the above. In addition, part of the above steps may be executed simultaneously (in parallel) with other steps.

[0195] The above describes one or more encoding devices and decoding devices involved in the embodiments, and the present disclosure is not limited to the embodiments. As long as it does not deviate from the main purpose of the present disclosure, the embodiments obtained by applying various modifications thought of by those skilled in the art to the present embodiment, and the embodiments constructed by combining the constituent elements in different embodiments can also be included in the scope of one or more embodiments.

[0196] Industrial Applicability

[0197] The present disclosure is applicable to encoding devices and decoding devices.

[0198] Description of reference numerals:

[0199] 10 Decoding device

[0200] 11, 21 Processor

[0201] 12.22 Memory

[0202] 20 Encoding device

[0203] 101 Object Space

[0204] 102, 133 point groups

[0205] 103, 111, 132 points

[0206] 104 leaf nodes

[0207] 112 edge vertices

[0208] 113, 122 Range

[0209] 121 Approximate plane

[0210] 123 Vertex Information

[0211] 131 Triangle

Claims

1. A decoding method, receiving encoded information associated with a plurality of three-dimensional points, Based on the encoding information, it is determined whether to specify a curved surface that approximates the plurality of three-dimensional points.

2. The decoding method according to claim 1, In the determination, it is determined whether to designate the curved surface that approximates the plurality of three-dimensional points or to designate a plane that approximates the plurality of three-dimensional points.

3. The decoding method according to claim 2, The curved surface or the plane is provided in the first node of the octree structure of the plurality of three-dimensional points.

4. The decoding method according to claim 3, The plane is specified in terms of a triangle set or a mesh.

5. The decoding method according to claim 4, The curved surface rises from the plane in a manner that the curved surface is separated from the centroid of a plurality of edge vertices, the plurality of edge vertices specifying the plane in accordance with the set of triangles.

6. The decoding method according to claim 5, The curved surface is specified according to the information specified in the triangle set manner included in the encoding information.

7. The decoding method according to claim 5, The larger the plane is, the greater the bulge of the curved surface is.

8. The decoding method according to claim 5, The amount of bulging of the curved surface at the center portion of the curved surface is greater than the amount of bulging at the peripheral portion of the curved surface.

9. The decoding method according to claim 1, determining whether to specify the curved surface based on at least two feature points in a first node included in the octree structure of the plurality of three-dimensional points, The at least two feature points are derived from the encoded information.

10. The decoding method according to claim 9, The at least two feature points are selected from the centroids and mass centers of a plurality of edge vertices, The plurality of edge vertices and the centroid vertex are derived in a triangle set manner.

11. A decoding method, Specifying a plane based on coding information included in the bitstream, At least one three-dimensional point separated from the plane is generated.

12. The decoding method according to claim 11, The plane is specified in terms of a collection of triangles.

13. The decoding method according to claim 12, The plane and the at least one three-dimensional point exist in a first node of an octree structure of a plurality of three-dimensional points.

14. The decoding method according to claim 13, The plane is located between the at least one three-dimensional point and the centroid of a plurality of edge vertices, and the plurality of edge vertices specify the plane in a triangle set manner.

15. The decoding method according to claim 11, The plane is specified in a grid manner.

16. A decoding method, A first vertex included in a plurality of vertices specified based on encoding information included in a bitstream is moved in a manner separated from the centroid of a plurality of second vertices included in the plurality of vertices, Using the moved first vertex and the plurality of second vertices, a plane or a curved surface is specified, A plurality of three-dimensional points are generated on the plane or the curved surface.

17. A decoding device comprising: Processor; and Memory, The processor uses the memory, receiving encoded information associated with a plurality of three-dimensional points, Based on the encoding information, it is determined whether to specify a curved surface that approximates the plurality of three-dimensional points.

18. A decoding device comprising: Processor; and Memory, The processor uses the memory, Specifying a plane based on coding information included in the bitstream, At least one three-dimensional point separated from the plane is generated.

19. A decoding device comprising: Processor; and Memory, The processor uses the memory, A first vertex included in a plurality of vertices specified based on encoding information included in a bitstream is moved in a manner separated from the centroid of a plurality of second vertices included in the plurality of vertices, Using the moved first vertex and the plurality of second vertices, a plane or a curved surface is specified, A plurality of three-dimensional points are generated on the plane or the curved surface.

Citation Information

Patent Citations

  • Map display device

    WO2014020663A1