Three-dimensional point generation method, three-dimensional point generation device, decoding device, encoding device, decoding method, and encoding method
By rotating and inverting the peripheral points of the three-dimensional point, the corresponding third and three-dimensional points are generated, which solves the problem of high-resolution quality reduction in the prior art and achieves more efficient three-dimensional point generation.
Patent Information
- Application Number
- CN202380047080.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-22
- Filing Date
- 2023-04-03
- Publication Date
- 2025-02-21
AI Technical Summary
When the prior art improves the high resolution quality of three-dimensional points, it is impossible to effectively determine the points corresponding to other points around the three-dimensional points, resulting in a decrease in the high resolution quality.
By rotating and inverting the second three-dimensional points around the first three-dimensional point in a three-dimensional coordinate system, transforming second three-dimensional points are generated and the third three-dimensional points are determined to establish corresponding third three-dimensional points with these transformation points, thereby improving high resolution .
This method can reduce the situation where the third three-dimensional point used in high resolution cannot be determined, and improve the quality of the high resolution, especially when symmetrical objects are present.
Smart Images

Figure CN119497874A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a three-dimensional point generating method, a three-dimensional point generating device, a decoding device, an encoding device, a decoding method and an encoding method. Background Art
[0002] A technique for increasing the number of three-dimensional points included in point group (point cloud) data (higher resolution) is known (for example, refer to Non-Patent Document 1).
[0003] Prior art literature
[0004] Non-patent literature
[0005] Non-patent document 1: BORGES, TM (2021). FRACTIONAL SUPER-RESOLUTION OF VOXELIZED POINT CLOUDS [retrieved on June 21, 2022], Internet <URL:https: / / repositorio.unb.br / bitstream / 10482 / 42300 / 1 / 2021_DaviRabbounideCarvalhoFreitas.pdf> Summary of the invention
[0006] Problem that the invention aims to solve
[0007] This technology is expected to improve the quality of high resolution.
[0008] An object of the present disclosure is to provide a three-dimensional point generation method, a three-dimensional point generation device, a decoding device, an encoding device, a decoding method or an encoding method that can improve the quality of high resolution.
[0009] Means used to solve problems
[0010] A three-dimensional point generation method according to one embodiment of the present invention is a three-dimensional point generation method for generating one or more three-dimensional points in a three-dimensional coordinate system. The method generates one or more transformed second three-dimensional points by performing at least one of rotation and inversion on one or more second three-dimensional points around a first three-dimensional point, and determines one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0011] A decoding device according to one embodiment of the present invention comprises: a receiving unit that receives a bit stream including encoded three-dimensional points; and a circuit that (i) is connected to the receiving unit and (ii) generates a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point by decoding the encoded three-dimensional points, wherein the bit stream also includes: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and second information for determining one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0012] A coding device in one embodiment of the present invention comprises: a circuit that generates a coded three-dimensional point by encoding a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point; and a sending unit that is connected to the circuit and sends a bit stream including the coded three-dimensional point, the bit stream also including: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and second information for determining one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0013] Effects of the Invention
[0014] The present disclosure can provide a three-dimensional point generation method, a three-dimensional point generation device, a decoding device, an encoding device, a decoding method, or an encoding method that can improve the quality of high resolution. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a block diagram of a three-dimensional data processing device according to the first embodiment.
[0016] Figure 2 This is a diagram showing an enlarged example of the point group according to the first embodiment.
[0017] Figure 3 This is a flowchart showing the processing of the three-dimensional data processing device according to the first embodiment.
[0018] Figure 4 This is a diagram schematically showing the processing performed by the three-dimensional data processing device according to the first embodiment.
[0019] Figure 5 This is a diagram showing an example of an enlarged pattern set according to the first embodiment.
[0020] Figure 6 This is a diagram showing an example of an input point group before reduction and points and their surrounding coordinates after reduction in the first embodiment.
[0021] Figure 7This is a flowchart of the enlargement process in the first embodiment.
[0022] Figure 8 It is a diagram showing examples of points before and after enlargement according to the first embodiment.
[0023] Fig. 9 This is a diagram schematically showing the conversion and enlargement processing of the first embodiment.
[0024] Fig.10 This is a diagram showing another example of the peripheral coordinates used in the peripheral pattern of the first embodiment.
[0025] Fig.11 This is a diagram showing another example of the peripheral coordinates used in the peripheral pattern of the first embodiment.
[0026] Fig.12 This is a block diagram of an encoding device and a decoding device according to embodiment 2.
[0027] Fig.13 This is a flowchart of the encoding process of implementation mode 2.
[0028] Fig.14 This is a diagram schematically showing the encoding process of implementation mode 2.
[0029] Fig.15 This is a diagram showing a syntax example of the enlargement pattern information according to the second embodiment.
[0030] Fig.16 This is a flowchart of the decoding process of implementation mode 2.
[0031] Fig.17 This is a diagram schematically showing the decoding process of implementation mode 2.
[0032] Fig.18 This is a diagram showing a first variation of the syntax example of the enlargement pattern information according to the second embodiment.
[0033] Fig.19 This is a diagram showing a syntax example of a grouping table according to the second implementation mode.
[0034] Fig. 20 This is a diagram showing an example of a grouping table according to the second embodiment.
[0035] Fig.21 This is a diagram showing a syntax example of a group enlargement table according to the second implementation mode.
[0036] Fig. 22 This is a diagram showing an example of a group enlargement table according to the second embodiment.
[0037] Fig.23 This is a diagram showing a second variation of the syntax example of the enlargement pattern information according to the second embodiment.
[0038] Fig.24 This is a diagram showing a syntax example of region segmentation information according to the second implementation mode.
[0039] Fig.25 This is a flowchart of the three-dimensional point generation process according to the embodiment.
[0040] Fig.26 It is a flowchart of the decoding process of an implementation method.
[0041] Fig. 27 It is a flowchart of the encoding process of an implementation method. DETAILED DESCRIPTION
[0042] In the prior art, in order to increase the resolution of a 3D point, one or more 3D points corresponding to one or more 3D points around the 3D point are determined. However, when it is not possible to determine that one or more 3D points corresponding to the 3D point are established, the 3D point has to be determined randomly. As a result, the quality of the high resolution is reduced.
[0043] Therefore, a three-dimensional point generation method of one embodiment of the present invention is a three-dimensional point generation method for generating more than one three-dimensional point in a three-dimensional coordinate system. The method generates more than one transformed second three-dimensional point by rotating and inverting at least one of more than one second three-dimensional points around a first three-dimensional point, and determines more than one third three-dimensional point corresponding to the more than one transformed second three-dimensional point.
[0044] The determined third 3D point is used, for example, as a 3D point after the first 3D point is high-resolution or as a 3D point for generating a 3D point after the first 3D point is high-resolution. Even when there are no more than one third 3D points corresponding to one or more second 3D points, it is possible to determine the more than one third 3D point by at least one of rotation and inversion, thereby reducing the occurrence of situations where more than one third 3D point cannot be determined. Therefore, the 3D point generation method can, for example, reduce the occurrence of situations where more than one third 3D point used in high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0045] For example, the one or more third three-dimensional points may be determined by referring to a lookup table, wherein the lookup table establishes correspondence between multiple first candidates of the one or more third three-dimensional points and multiple second candidates of the one or more second three-dimensional points and the one or more transformed second three-dimensional points.
[0046] For example, the first candidate corresponding to the second candidate may be determined, and the second candidate is similar to the actual point of the one or more second three-dimensional points but different from the actual point.
[0047] Therefore, the three-dimensional point generation method can further reduce the occurrence of situations where one or more third three-dimensional points cannot be determined.
[0048] For example, the rotating may include rotating the one or more second three-dimensional points around a Y-axis that is substantially parallel to the vertical direction in the real world.
[0049] When a plurality of three-dimensional points are used to represent an object having symmetry with respect to a vertical direction, such as a building, the distribution of the plurality of three-dimensional points around an axis parallel to the vertical direction tends to be similar. Therefore, the three-dimensional point generation method can efficiently determine one or more third three-dimensional points in an object having symmetry with respect to a vertical direction, such as a building.
[0050] For example, the three-dimensional point generation method may further generate one or more transformed third three-dimensional points by inverse transforming the one or more third three-dimensional points, wherein the inverse transformation is an inverse transformation of at least one of the rotation and inversion of the one or more second three-dimensional points.
[0051] Thus, the three-dimensional point generation method can generate one or more transformed third three-dimensional points that are more suitable for one or more second three-dimensional points before transformation.
[0052] For example, the three-dimensional point generating method may further estimate one or more fourth three-dimensional points based on the one or more second three-dimensional points.
[0053] The estimated fourth 3D point is used as, for example, a 3D point after the first 3D point is raised in resolution. Thus, the 3D point generation method can improve the quality of the high resolution by using the fourth 3D point, compared with the case of using random points.
[0054] For example, the three-dimensional point generation method may further generate one or more transformed fifth three-dimensional points by rotating and inverting at least one of one or more fifth three-dimensional points around the first three-dimensional point, and determine one or more sixth three-dimensional points corresponding to the one or more transformed fifth three-dimensional points, and the number of the one or more fifth three-dimensional points is different from the number of the one or more second three-dimensional points.
[0055] Therefore, the three-dimensional point generation method can reduce the occurrence of situations where one or more third three-dimensional points or one or more sixth three-dimensional points cannot be determined.
[0056] For example, it may be that the first table and the second table are referred to to determine the one or more third three-dimensional points, and the one or more second three-dimensional points and the one or more transformed second three-dimensional points are classified into multiple groups, the first table establishes a correspondence between the multiple first candidates of the one or more third three-dimensional points and the multiple groups, and the second table establishes a correspondence between the multiple groups and the one or more second three-dimensional points and the one or more transformed second three-dimensional points.
[0057] Thus, the three-dimensional point generation method can reduce the number of combinations of the plurality of first candidates and the plurality of second candidates, and thus can reduce the data size of the table for determining one or more third three-dimensional points.
[0058] A three-dimensional point generating device according to one embodiment of the present invention is a three-dimensional point generating device for generating one or more three-dimensional points in a three-dimensional coordinate system, and is provided with a memory and a circuit connected to the memory, wherein the circuit generates one or more transformed second three-dimensional points by rotating and inverting at least one of the second three-dimensional points around a first three-dimensional point, and determines one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0059] The determined third 3D point is used, for example, as a 3D point after the first 3D point is high-resolution or as a 3D point for generating a 3D point after the first 3D point is high-resolution. Even when there are no more than one third 3D points corresponding to one or more second 3D points, it is possible to determine the more than one third 3D point by at least one of rotation and inversion, thereby reducing the occurrence of situations where more than one third 3D point cannot be determined. Therefore, the 3D point generation device can, for example, reduce the occurrence of situations where more than one third 3D point used in high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0060] A decoding device according to one embodiment of the present invention comprises: a receiving unit that receives a bit stream including encoded three-dimensional points; and a circuit that (i) is connected to the receiving unit and (ii) generates a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point by decoding the encoded three-dimensional points, wherein the bit stream also includes: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and second information for determining one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0061] Thus, the decoding device can, for example, use the first information and the second information to determine one or more third three-dimensional points, and the one or more third three-dimensional points correspond to one or more transformed second three-dimensional points that are obtained by rotating and inverting the one or more second three-dimensional points. The determined third three-dimensional point is used, for example, as a three-dimensional point after the first three-dimensional point is high-resolution or as a three-dimensional point for generating a three-dimensional point after the first three-dimensional point is high-resolution. Even in the absence of one or more third three-dimensional points corresponding to one or more second three-dimensional points, one or more third three-dimensional points can be determined by at least one of rotation and inversion, thereby reducing the occurrence of situations where one or more third three-dimensional points cannot be determined. Therefore, the decoding device can, for example, reduce the occurrence of situations where one or more third three-dimensional points used in high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0062] For example, the second information may include a lookup table that establishes correspondence between the plurality of first candidates for the one or more third three-dimensional points and the plurality of second candidates for the one or more transformed second three-dimensional points.
[0063] For example, the second information may also include: a lookup table, which establishes a correspondence between the multiple first candidates of the one or more third three-dimensional points and the multiple second candidates of the one or more transformed second three-dimensional points; and third information, which represents the lookup table to be used in the multiple lookup tables for each area to which the three-dimensional point belongs.
[0064] This allows the decoding device to use a lookup table suitable for each region to which a three-dimensional point belongs, thereby improving the quality of high resolution while suppressing an increase in the amount of processing in the decoding device.
[0065] For example, the second information may also include: a first table, which establishes correspondence between multiple first candidates of the one or more third three-dimensional points and multiple groups; and a second table, which establishes correspondence between the multiple groups and the one or more second three-dimensional points and the one or more transformed second three-dimensional points.
[0066] Thus, the decoding device can reduce the combinations of the plurality of first candidates and the plurality of second candidates, and thus can reduce the data size of the second information.
[0067] For example, the first information may indicate one or more usable transformation methods among a plurality of transformation methods, and each of the plurality of transformation methods includes at least one of rotation and inversion.
[0068] Thus, for example, in the encoding device, the transform method used by the decoding device can be specified according to the characteristics of the point group, etc. Therefore, the quality of high resolution can be improved while suppressing an increase in the amount of processing in the decoding device.
[0069] For example, the first information may further indicate priorities of the one or more usable transformation methods.
[0070] This makes it possible, for example, for the encoding device to specify the priority of the transform method used by the decoding device. Therefore, it is possible to improve the quality of high resolution while suppressing an increase in the amount of processing in the decoding device.
[0071] For example, the bit stream may further include fourth information indicating the number of the one or more second three-dimensional points.
[0072] Thus, for example, in the encoding device, the number of one or more second three-dimensional points used by the decoding device can be specified based on the characteristics of the point group, etc. Therefore, the quality of high resolution can be improved while suppressing an increase in the amount of processing in the decoding device.
[0073] A coding device in one embodiment of the present invention comprises: a circuit that generates a coded three-dimensional point by encoding a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point; and a sending unit that is connected to the circuit and sends a bit stream including the coded three-dimensional point, the bit stream also including: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and second information for determining one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0074] Thus, a decoding device for decoding a bit stream can, for example, use the first information and the second information to determine one or more third three-dimensional points, and the one or more third three-dimensional points correspond to one or more transformed second three-dimensional points that are obtained by rotating and inverting the one or more second three-dimensional points. The determined third three-dimensional point is used, for example, as a three-dimensional point after the first three-dimensional point is high-resolution or as a three-dimensional point for generating a three-dimensional point after the first three-dimensional point is high-resolution. Even in the absence of one or more third three-dimensional points corresponding to one or more second three-dimensional points, one or more third three-dimensional points can be determined by at least one of rotation and inversion, thereby reducing the occurrence of situations where one or more third three-dimensional points cannot be determined. Therefore, the decoding device can, for example, reduce the occurrence of situations where one or more third three-dimensional points used for high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0075] A decoding method according to one embodiment of the present invention receives a bit stream including encoded three-dimensional points, and generates a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point by decoding the encoded three-dimensional points. The bit stream also includes: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and second information for determining one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0076] Thus, the decoding method can, for example, use the first information and the second information to determine one or more third three-dimensional points, and the one or more third three-dimensional points are corresponding to one or more transformed second three-dimensional points that are obtained by rotating and inverting the one or more second three-dimensional points. The determined third three-dimensional point is used, for example, as a three-dimensional point after the first three-dimensional point is high-resolution or as a three-dimensional point for generating a three-dimensional point after the first three-dimensional point is high-resolution. Even in the absence of one or more third three-dimensional points corresponding to one or more second three-dimensional points, one or more third three-dimensional points can be determined by at least one of rotation and inversion, thereby reducing the occurrence of situations where one or more third three-dimensional points cannot be determined. Therefore, the decoding method can, for example, reduce the occurrence of situations where one or more third three-dimensional points used in high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0077] A coding method according to one embodiment of the present invention generates a coded three-dimensional point by encoding a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point, and sends a bit stream including the coded three-dimensional point, wherein the bit stream further includes: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and second information for determining one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
[0078] Thus, a decoding device for decoding a bit stream can, for example, use the first information and the second information to determine one or more third three-dimensional points, and the one or more third three-dimensional points correspond to one or more transformed second three-dimensional points that are obtained by rotating and inverting the one or more second three-dimensional points. The determined third three-dimensional point is used, for example, as a three-dimensional point after the first three-dimensional point is high-resolution or as a three-dimensional point for generating a three-dimensional point after the first three-dimensional point is high-resolution. Even in the absence of one or more third three-dimensional points corresponding to one or more second three-dimensional points, one or more third three-dimensional points can be determined by at least one of rotation and inversion, thereby reducing the occurrence of situations where one or more third three-dimensional points cannot be determined. Therefore, the decoding device can, for example, reduce the occurrence of situations where one or more third three-dimensional points used for high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0079] In addition, these general or specific methods can be implemented through systems, methods, integrated circuits, computer programs, or computer-readable recording media such as CD-ROMs, or through any combination of systems, methods, integrated circuits, computer programs, or recording media.
[0080] Hereinafter, the embodiments are 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 all examples, and their purpose is not to limit the present disclosure. In addition, among the constituent elements of the following embodiments, constituent elements not recorded in the independent technical solutions are described as arbitrary constituent elements.
[0081] (Implementation Method 1)
[0082] In this embodiment, a method of enlarging (increasing the resolution) a point group including a plurality of three-dimensional points will be described. Figure 1 3D data processing device 100 (also referred to as 3D point generating device) generates enlarged point group data by enlarging input point group data. Figure 1 As shown, the three-dimensional data processing device 100 includes an enlarged pattern generating unit 101 , a storage unit 102 , and an enlarging unit 103 .
[0083] Here, a point (3D point) is the smallest unit constituting a point group, and the volume of a point is considered to be zero. A point has 3D coordinates (3D position information). In addition, a point may also have attribute information such as color or reflectivity.
[0084] In addition, expansion means improving the resolution (making the voxel grid finer) and increasing (adding) points. Voxels are elements of volume in three-dimensional space, and are three-dimensional frames that exist in coordinate grid point units. Sometimes there are more than one point in the frame of each voxel, and sometimes there are no points. Voxel grids are grid points on coordinates, such as grid points of integer coordinates or grid points of powers of 2. Voxels exist in each voxel grid. In addition, during the expansion process, the number of points does not necessarily increase, and sometimes the number of points does not increase.
[0085] In addition, shrinking means reducing the resolution (making the voxel grid coarser) and reducing (cutting) the points. In addition, during the shrinking process, the number of points does not necessarily decrease, and sometimes the number of points does not decrease.
[0086] Figure 2 is a diagram showing an example of the expansion of a point group. Figure 2 As shown, the number of voxels is increased by expanding the point group. In addition, an example of doubling the point group (in the x, y, and z directions, respectively) is described here, but the expansion rate is not limited to this. In addition, here, a case where one voxel corresponds to one point is described.
[0087] Figure 3 2 is a flowchart showing the processing of the three-dimensional data processing device 100 . Figure 4 It is a diagram schematically showing the processing of the three-dimensional data processing device 100.
[0088] First, the enlarged pattern generating unit 101 generates a reduced point group by reducing the input point group (S101). For example, the enlarged pattern generating unit 101 generates a reduced point group by making the point group 1 / 2 times (1 / 2 times in the x, y, and z directions, respectively). In addition, the reduction of the point group can be performed using any method, but, for example, when there are more than one point in the 8 voxels corresponding to the reduced voxel, a point can be generated in the reduced voxel, and no point is generated in other cases. Alternatively, when there are more than a predetermined number of points in the 8 voxels corresponding to the reduced voxel, a point can be generated in the reduced voxel, and no point is generated in other cases.
[0089] Next, the enlarged pattern generation unit 101 generates the enlarged pattern set 104 using the input point group and the reduced point group ( S102 ). The generated enlarged pattern set 104 is stored in the storage unit 102 .
[0090] Figure 51 is a diagram showing an example of an expanded pattern set 104. The expanded pattern set 104 represents the correspondence between the peripheral pattern of the origin group and the expanded pattern. For example, the expanded pattern set 104 is a lookup table (LUT) including a plurality of entries. Each entry represents a peripheral pattern of the origin group and an expanded pattern corresponding to the peripheral pattern. The peripheral pattern is an example of a second candidate. The expanded pattern is an example of a first candidate. The expanded pattern set 104 is also referred to as training data for high resolution.
[0091] Figure 6 104 is a diagram for explaining the generation process of the expanded pattern set 104, and is a diagram showing an example of an input point group before reduction, a point after reduction, and its surrounding coordinates. Figure 6 As shown, when the 8 points included in the input point group are reduced to 1 point (reduced point) included in the reduced point group, the occupancy codes of the 8 points included in the input point group and the occupancy codes of the peripheral coordinates (26) of the reduced point are registered in the expanded pattern set 104 as the corresponding expanded patterns and peripheral patterns of the origin point group respectively.
[0092] In this registration process, the enlarged pattern is not necessarily registered for all patterns that can be registered as peripheral patterns of the origin group, and there may be peripheral patterns of the origin group for which the enlarged pattern is not registered.
[0093] In addition, each bit of the occupancy code corresponds to one coordinate (voxel) and indicates whether a point exists at the corresponding coordinate. For example, a value of "1" indicates that a point exists (occupied), and a value of "0" indicates that a point does not exist (unoccupied).
[0094] For example, the enlarged pattern generating unit 101 performs the above-mentioned processing on each point included in the reduced point group, and registers the enlarged pattern in a plurality of entries. Thus, an enlarged pattern set 104 in which a plurality of enlarged patterns are registered is generated. In addition, there may be a plurality of different enlarged patterns for the peripheral pattern of a certain origin point group, but in this case, the enlarged pattern generating unit 101 selects one enlarged pattern based on the occurrence frequency, for example, and registers it in the enlarged pattern set 104.
[0095] Here, the position information of the point group is represented by, for example, an N-ary tree structure such as an octree (N is an integer greater than or equal to 2). Specifically, in the octree, the object space is divided into 8 nodes (subspaces), and 8 bits of information (occupancy coding) are generated to indicate whether each node includes a point group. In addition, the node including the point group is further divided into 8 nodes, and 8 bits of information are generated to indicate whether each of the 8 nodes includes a point group. This process is repeated until it becomes below the threshold of the number of point groups included in a predetermined level or node.
[0096] When the point group is represented by an octree and the input point group is a point group of a child node, the reduced point group for the input point group is the parent node for the child node, and it can be said that the reduced point group is a point group at the level of the parent node. That is, the occupation codes of the 8 points of the child node and the occupation codes of the surrounding coordinates (26) of the parent node are registered in the expanded pattern set 104 as the corresponding expanded pattern and the surrounding pattern of the original point group.
[0097] Next, the expansion unit 103 expands the input point group using the expansion pattern set 104 ( S103 ). Figure 7 This is a flowchart of the expansion process.
[0098] The expansion unit 103 starts loop processing for each point included in the input point group ( S111 ). That is, the expansion unit 103 performs the processing of steps S112 to S117 for each point.
[0099] First, the enlargement unit 103 determines whether the enlarged pattern corresponding to the surrounding pattern of the object point to be processed is registered in the enlarged pattern set 104 (S112). If the enlarged pattern corresponding to the surrounding pattern of the object point is registered in the enlarged pattern set 104 (Yes in S112), the enlargement unit 103 enlarges the object point using the registered enlarged pattern (S113), and ends the loop processing for each point (S118).
[0100] Figure 8 is a diagram for explaining the expansion process, and is a diagram showing examples of points before and after expansion. Figure 8 As shown in FIG. 1 , for example, the expansion unit 103 searches for an entry that registers the occupation codes of 26 surrounding coordinates of the surrounding of the object point as the surrounding pattern of the origin group, and arranges points in the expanded 8 voxels based on the occupation state indicated by the expanded pattern included in the entry. In other words, the expansion unit 103 replaces the voxel of the object point with the 8 voxels having the occupation state indicated by the expanded pattern. Thus, for example, in Figure 8 In the example shown, one object point is replaced by four points.
[0101] On the other hand, when the enlarged pattern corresponding to the peripheral pattern of the object point is not registered in the enlarged pattern set 104 (No in S112), the enlargement unit 103 performs a transformation process including rotation or inversion on the peripheral pattern of the object point, and determines whether the enlarged pattern corresponding to the transformed peripheral pattern, i.e., the transformed peripheral pattern, is registered in the enlarged pattern set 104 (S114).
[0102] In addition, the object point is an example of a first three-dimensional point, and one or more points constituting the surrounding pattern are examples of one or more second three-dimensional points. One or more points constituting the transformed surrounding pattern are examples of one or more transformed second three-dimensional points. The points constituting the pattern are, for example, points corresponding to bits having a value of 1 in the occupied code. In addition, the periphery of the object point refers to a point less than a specified distance from the object point. In addition, the transformation process can perform both rotation and inversion.
[0103] Specifically, the expansion unit 103 selects a transformation method from a plurality of mutually different transformation methods in a predetermined order, generates a transformation peripheral pattern according to the selected transformation method, and determines whether the generated transformation peripheral pattern is registered in the expanded pattern set 104. In the case where the transformation peripheral pattern is not registered in the expanded pattern set 104, the transformation peripheral pattern is generated using the following transformation method, and it is determined whether the generated transformation peripheral pattern is registered in the expanded pattern set 104. The expansion unit 103 repeats this process until a transformation peripheral pattern registered in the expanded pattern set 104 is found. In addition, in the case where the transformation peripheral pattern generated by any transformation method is not registered in the expanded pattern set 104, the expansion unit 103 determines that the expanded pattern corresponding to the transformed peripheral pattern, i.e., the transformation peripheral pattern, is not registered in the expanded pattern set 104 (No in S114).
[0104] In addition, the various transformation methods include, for example, rotations of 90 degrees, 180 degrees, and 270 degrees relative to each axis (x-axis, y-axis, z-axis), and reversal of the direction of each axis (x-axis, y-axis, z-axis) (reversal relative to the yz plane, xz plane, and xy plane).
[0105] When the enlarged pattern corresponding to the transformed peripheral pattern is registered in the enlarged pattern set 104 (Yes in S114), the enlargement unit 103 performs an inverse transformation on the enlarged pattern (S115), uses the inversely transformed enlarged pattern, i.e., the inversely transformed enlarged pattern, to enlarge the object point (S116), and ends the loop processing of each point (S118).
[0106] In addition, one or more points constituting the enlarged pattern corresponding to the transformed surrounding pattern in the enlarged pattern set 104 are examples of one or more third three-dimensional points. In addition, step S115 may be omitted. That is, one or more points constituting the enlarged pattern may be directly generated as new three-dimensional points. In this way, even if there is no inverse transformation, the quality of the enlarged point group may not be affected.
[0107] When the point group is represented by an octree and the input point group is a point group of a child node, the expanded point group for the input point group is a grandchild node for the child node. It can be said that the expanded point group is a point group at the level of the grandchild node.
[0108] Fig. 9Schematically shows the transformation and expansion process (S114 to S116). Figure 5 As shown in entry 105A, Fig. 9 The enlarged pattern corresponding to the peripheral pattern shown is not registered in the enlarged pattern set 104. In this case, the enlargement unit 103 generates a transformed peripheral pattern by rotating the peripheral pattern 90 degrees around the Y axis. Figure 5 The entry 105B shown in FIG. 1 is registered in the expanded pattern set 104 .
[0109] Next, the expansion unit 103 generates an inversely transformed expansion pattern by inversely transforming the expansion pattern (rotating it by -90 degrees about the Y axis). Finally, the expansion unit 103 enlarges the object point using the inversely transformed expansion pattern.
[0110] In addition, the expansion unit 103 can use the following method as a method for rotating or inverting the occupancy code. For example, the expansion unit 103 can logically calculate the replacement of the rotated or inverted bits for each axis of x, y, and z and the rotation angle (90 degrees, 180 degrees, 270 degrees). In this way, high-speed processing can be achieved. Alternatively, the expansion unit 103 can transform the occupancy code into a point group, rotate or invert each coordinate of the point by multiplying it by a coordinate transformation matrix, and transform the transformed point group into an occupancy code. In this way, installation can be facilitated.
[0111] In addition, when the enlarged pattern corresponding to the transformed surrounding pattern is not registered in the enlarged pattern set 104 (No in S114), the enlargement unit 103 enlarges the object point using a predetermined enlarged pattern (S117) and ends the loop processing for each point (S118). For example, the predetermined enlarged pattern is an enlarged pattern that arranges three-dimensional points in all eight voxels.
[0112] Here, as in step S117, as the frequency of using an enlarged pattern that is not based on the shape of the actual point group increases, the possibility of the quality of the enlarged point group decreasing increases. In contrast, when the enlarged pattern is not registered, the three-dimensional data processing device 100 rotates or reverses the peripheral pattern and searches for an enlarged pattern corresponding to the obtained transformed peripheral pattern. Thus, even when there are few registered enlarged patterns, the registered enlarged patterns can be used in more cases, so that appropriate enlargement can be performed. Therefore, the quality of the enlarged point group can be improved.
[0113] In addition, the multiple transformation methods used for transformation in step S114 can be limited based on the shape information of the input point group or the meta-information that can be estimated, and the priority can also be determined. For example, when the object included in the input point group is an object that is symmetrical relative to the vertical direction, such as a building, the rotation around the Y axis can be used preferentially. In addition, when the object included in the input point group is a left-right symmetrical object such as a car or an airplane, a specific axis inversion can be used preferentially. Thereby, the efficiency of searching for similar shapes of the registered enlarged pattern is improved. In addition, the quality of the enlarged point group can be improved.
[0114] In addition, in the above description, an example of generating one enlarged pattern set 104 is shown, but a plurality of enlarged pattern sets 104 may also be generated. For example, enlarged pattern sets 104 may be generated for a plurality of regions included in a point group. For example, in the case where the point group represents the shape of a human body, enlarged pattern sets may be separately prepared for the head and the torso. In this case, the enlarged pattern set for the head is used to enlarge the point group of the head, and the enlarged pattern set for the torso is used to enlarge the point group of the torso. In addition, for example, each enlarged pattern set is prepared using the object point group and the reduced point group of the corresponding region. Thus, an enlarged pattern suitable for the shape characteristics of each region can be used, thereby improving the quality of the enlargement process.
[0115] In addition, the three-dimensional data processing device 100 can limit the transformation method for each of the above regions, and can also change the priority of the transformation method. For example, the point group of the head can be used for omnidirectional rotation and inversion, and the point group of the torso can only be allowed to rotate and invert in the horizontal direction (Y axis).
[0116] Furthermore, when the number of enlarged patterns registered in the enlarged pattern set 104 is sufficiently large (for example, when it is larger than a predetermined number or ratio), the enlargement unit 103 may determine that the above-mentioned transformation processing (rotation or inversion) is used ( Figure 7 In this case, if the enlarged pattern corresponding to the surrounding pattern of the object point is not registered in the enlarged pattern set 104 (No in S112), the enlargement unit 103 enlarges the object point using a predetermined enlarged pattern (S117). This can reduce the processing amount of the three-dimensional data processing device 100.
[0117] In addition, although the above description describes an example of generating the enlarged pattern set 104 using an input point group and a reduced point group, the enlarged pattern set 104 may be prepared in advance. In addition, the enlarged pattern set 104 may be prepared based on multiple input point groups. For example, when point group data of multiple frames representing the same object are input, the three-dimensional data processing device 100 may use the point groups of the multiple frames to generate the enlarged pattern set 104 that is commonly used for the point groups of the multiple frames.
[0118] In addition, in the above description, in steps S112 and S114, the three-dimensional data processing device 100 determines whether the surrounding pattern or the transformed surrounding pattern of the object point is consistent with the surrounding pattern included in the expanded pattern set 104, but it is also possible to determine whether two surrounding patterns are similar. For example, when 1 bit of the two occupied codes representing the two surrounding patterns is different, the two surrounding patterns are determined to be similar. In addition, when n bits (n is an integer greater than 2) of the two occupied codes are different, it is also possible to determine that the two surrounding patterns are similar. In addition, the three-dimensional data processing device 100 uses an expanded pattern (or its inverse transformed expanded pattern) that has a corresponding surrounding pattern determined to be similar in the expanded pattern set 104 to expand the object point.
[0119] For example, in both the normal search process (S112) and the search process including the transformation process (S114), the three-dimensional data processing device 100 may perform the above-mentioned similarity determination when there is no corresponding enlarged pattern (No in S114). For example, in the similarity determination, the three-dimensional data processing device 100 performs similarity determination on the normal peripheral pattern without transformation process, and may also perform similarity determination on the transformed peripheral pattern when there is no corresponding enlarged pattern, or, in the normal search process (S112), when there is no corresponding enlarged pattern (No in S112), the three-dimensional data processing device 100 performs similarity determination on the normal peripheral pattern, and in the similarity determination, when there is no corresponding enlarged pattern, the search process including the transformation process (S114) and the similarity determination on the transformed peripheral pattern may be performed.
[0120] In the above description, the three-dimensional data processing device 100 performs the transformation process (S114) in the determination process for each point, but the enlarged patterns included in the enlarged pattern set 104 may be increased by performing the transformation process (rotation or inversion) on the peripheral patterns and enlarged patterns included in each entry registered in the enlarged pattern set 104 in advance. In this case, the processes of the above steps S114 to S116 become unnecessary, and the search including rotation or inversion becomes possible in the determination process in step S112.
[0121] In addition, in the above description, Figure 8 As shown in FIG. 1 and the like, an example of a peripheral pattern using 26 peripheral coordinates adjacent to an object point is shown, but the peripheral pattern is not limited to this. Fig.10 and Fig.11 is a diagram showing another example of the peripheral coordinates used in the peripheral pattern. Fig.10 As shown in FIG. 1 , the occupation states of 18 surrounding coordinates adjacent to the object point can be used as the surrounding pattern. Fig.11As shown, the occupation states of six peripheral coordinates adjacent to the object point can be used as the peripheral pattern.
[0122] In addition, an enlarged pattern set may be generated for the above-mentioned peripheral pattern of 26 peripheral coordinates, the peripheral pattern of 18 peripheral coordinates, and the peripheral pattern of 6 peripheral coordinates, respectively. Here, generally speaking, the greater the number of peripheral coordinates used in the peripheral pattern, the higher the shape accuracy obtained from the enlarged pattern. Therefore, for example, in Figure 7 In step S112, the three-dimensional data processing device 100 sequentially uses the peripheral pattern of 26 peripheral coordinates, the peripheral pattern of 18 peripheral coordinates, and the peripheral pattern of 6 peripheral coordinates to search. In any case, if there is no corresponding enlarged pattern, a search process (S114) including a transformation process can be performed. In addition, in the search process (S114) including a transformation process, the three-dimensional data processing device 100 sequentially uses the peripheral pattern of 26 peripheral coordinates, the peripheral pattern of 18 peripheral coordinates, and the peripheral pattern of 6 peripheral coordinates to search. As a result, the frequency of performing the search process (S114) including the transformation process can be reduced, so the processing load can be reduced. In this example, more than one point constituting the peripheral pattern of 26 peripheral coordinates corresponds to more than one second three-dimensional point, and more than one point constituting the peripheral pattern of 18 peripheral coordinates or the peripheral pattern of 6 peripheral coordinates corresponds to the fifth three-dimensional point. However, the second three-dimensional point and the fifth three-dimensional point are not limited to these examples, and the number of peripheral coordinates can be different.
[0123] Alternatively, the three-dimensional data processing device 100 performs a normal search process (S112) and a search process including a transformation process (S114) of a peripheral pattern using 26 peripheral coordinates, and in any case where there is no corresponding enlarged pattern, the normal search process (S112) and a search process including a transformation process (S114) of a peripheral pattern using 18 peripheral coordinates may be performed. In addition, the three-dimensional data processing device 100 performs a normal search process (S112) and a search process including a transformation process (S114) of a peripheral pattern using 18 peripheral coordinates, and in any case where there is no corresponding enlarged pattern, the normal search process (S112) and a search process including a transformation process (S114) of a peripheral pattern using 6 peripheral coordinates may be performed. Thus, the peripheral pattern using 26 peripheral coordinates can be used preferentially, thereby improving the quality of the enlarged point group.
[0124] In addition, the range of the peripheral coordinates used as the peripheral pattern is not limited to Figure 8The cube shown in the figure may be a rectangular parallelepiped or an ellipsoid. In addition, any range may be used as the range of the peripheral coordinates used as the peripheral pattern. For example, the occupancy code of the coordinates included in the range of 2 voxels or 3 voxels from the object point to a specific direction such as the horizontal direction may be used as the expansion pattern.
[0125] In addition, Figure 7 In the example shown, when the corresponding enlarged pattern is not included in the enlarged pattern set 104 (eg, No in S114 ), the three-dimensional data processing apparatus 100 uses a predetermined enlarged pattern, but the following processing may be performed instead.
[0126] For example, the three-dimensional data processing device 100 can use the occupation state of the coordinates near the object point to estimate the distribution of the points after expansion. For example, the three-dimensional data processing device 100 calculates the probability of occurrence of the supplementary object coordinates by filtering the occupation state of the coordinates near the object point, and determines the presence or absence of the points in each voxel after expansion by comparing the occurrence probability with a threshold. Alternatively, as another method, the three-dimensional data processing device 100 can use the following method: estimate the surface shape of the object based on the distribution of the points near the object point, and generate points near the estimated shape. The points generated by the estimation are an example of one or more fourth three-dimensional points.
[0127] (Implementation Method 2)
[0128] In this embodiment, a method of encoding (compressing) a point group to which the above-mentioned point group expansion process is applied will be described. Fig.12 This is a block diagram of the encoding device 200 and the decoding device 300 according to this embodiment.
[0129] The coding device 200 generates a bit stream by coding an input point group. The coding device 200 includes a reduction unit 201 , an expansion pattern generation unit 202 , a coding unit 203 , and a transmission unit 204 .
[0130] Fig.13 This is a flowchart of the encoding process of the encoding device 200. Fig.14 This is a diagram schematically showing the encoding process.
[0131] First, the reduction unit 201 generates a reduced point group by reducing the input point group (S201). Next, the enlarged pattern generation unit 202 generates an enlarged pattern set based on the input point group and the reduced point group (S202). In addition, the details of these processes are the same as the processes of the enlarged pattern generation unit 101 included in the above-mentioned three-dimensional data processing device 100.
[0132] Next, the encoding unit 203 generates a coded reduced point group by encoding the reduced point group (S203). The encoding process can use a well-known point group encoding (point group compression) technology. For example, the encoding process includes quantization processing, intra-frame prediction processing, inter-frame prediction processing, and arithmetic coding processing. In addition, the encoding unit 203 generates a bit stream including enlarged pattern information 401 representing the enlarged pattern set and the coded reduced point group 402. In addition, the encoding unit 203 can encode the enlarged pattern information (for example, arithmetic coding) and then store it in the bit stream.
[0133] In addition, when the point group is represented by an octree, reducing the input point group and encoding the reduced point group can also be understood as not encoding nodes below a certain level in the octree of the input point group. In addition, the expanded pattern information 401 (expanded pattern set) can also be said to be information used by the decoding device 300 to restore the nodes below the above-mentioned certain level.
[0134] Next, the transmission unit 204 transmits the generated bit stream to the decoding device 300 ( S204 ).
[0135] Fig.15 4 is a diagram showing a syntax example of the expanded pattern information 401. The expanded pattern information 401 includes the number of expanded pattern sets 411. In addition, Fig.15 The number of bits (bit length) of each signal shown in each diagram showing syntax examples described later is an example, and the number of bits of each signal is not limited to this.
[0136] The number of expanded pattern sets 411 indicates the number of expanded pattern sets included in the expanded pattern information 401. Each expanded pattern set has the same structure as the expanded pattern set 104 described in Embodiment 1. The expanded pattern information 401 further includes a peripheral pattern identifier 412 and a pattern conversion information flag 413 for each expanded pattern set.
[0137] The peripheral pattern identifier 412 is an identifier indicating the range of the peripheral coordinates of the peripheral pattern used as the object point. For example, a value of 0 indicates that 6 peripheral coordinates within a cube (eg Fig.11 ), a value of 1 means using the 18 surrounding coordinates within the cube (e.g. Fig.10 ), a value of 2 means using the 26 surrounding coordinates within the cube (e.g. Figure 8 ), a value of 3 indicates that a plurality of peripheral coordinates within an ellipsoid are used, and a value of 4 indicates that a plurality of peripheral coordinates within a cuboid are used. In addition, the values and the range of the peripheral coordinates shown here are examples, but are not limited thereto. In addition, the bit length (=N) of the occupation code of the peripheral pattern of the origin group included in the expanded pattern set is determined according to the value of the peripheral pattern identifier 412. For example, when 6 peripheral coordinates are used, N=6, and when 18 peripheral coordinates are used, N=18.
[0138] The pattern conversion information flag 413 indicates whether the pattern conversion information 414 for the corresponding enlarged pattern set is included in the enlarged pattern information 401. For example, a value of 0 indicates that the pattern conversion information 414 is not included in the enlarged pattern information 401, and a value of 1 indicates that the pattern conversion information 414 is included in the enlarged pattern information 401.
[0139] In the case where the pattern conversion information flag 413 indicates that the pattern conversion information 414 is included in the expanded pattern information 401 (the case of a value of 1), the expanded pattern information 401 includes the pattern conversion information 414 as information for each expanded pattern set. The pattern conversion information 414 includes the number 414A of pattern conversion methods and the pattern conversion method 414B as information for each pattern conversion method. The number 414A of pattern conversion methods indicates the number of pattern conversion methods 414B included in the pattern conversion information 414.
[0140] The pattern transformation method 414B represents a transformation method that can be used by the decoding device 300. In addition, for example, the order of recording (configuration order) in the pattern transformation information 414 of multiple pattern transformation methods 414B represents the priority of the transformation methods represented by the multiple pattern transformation methods 414B. For example, this means that the transformation method recorded earlier has a higher priority. The multiple transformation methods include, for example, rotations of 90 degrees, 180 degrees, and 270 degrees relative to each axis (x-axis, y-axis, z-axis), and reversal of the direction of each axis (x-axis, y-axis, z-axis) (reversal relative to the yz plane, xz plane, and xy plane). In addition, the pattern transformation method 414B can respectively include information to distinguish the above-mentioned complete consistency judgment and similarity judgment.
[0141] The decoding device 300 performs pattern match determination processing including conversion processing according to the priority indicated by the pattern conversion information 414 .
[0142] The structure of the pattern conversion information 414 shown here is an example, and the structure of the pattern conversion information 414 is not limited thereto. For example, a plurality of combinations of a plurality of conversion methods and priorities that can be used are predetermined, and the pattern conversion information 414 may be an identifier that specifies any one of these combinations.
[0143] When the pattern conversion information flag 413 indicates that the pattern conversion information 414 is not included in the enlarged pattern information 401 (value 0), the enlarged pattern information 401 does not include the pattern conversion information 414. In this case, the decoding apparatus 300 does not perform the pattern match determination process including the conversion process.
[0144] The expanded pattern information 401 further includes, for each expanded pattern set, an entry number 415 and entry information 416 as information of each entry. The entry number 415 indicates the number of entries included in the expanded pattern set. The entry information 416 is information of the entries included in the expanded pattern set, indicating the surrounding pattern (occupancy code) of the origin group and the expanded pattern (occupancy code) corresponding to the surrounding pattern. That is, the plurality of entry information 416 indicates the following: Figure 5 An expanded pattern set 104 is shown.
[0145] Next, the structure and operation of the decoding device 300 will be described. The decoding device 300 generates a decoding point group by decoding the bit stream generated by the encoding device 200. Fig.12 As shown, the decoding device 300 includes a receiving unit 301 , a decoding unit 302 , and an expansion unit 303 .
[0146] Fig.16 This is a flowchart of the decoding process of the decoding device 300. Fig.17 is a diagram schematically showing the decoding process.
[0147] First, the receiving unit 301 obtains (receives) a bit stream (S301). Next, the decoding unit 302 generates a reduced point group by decoding the coded reduced point group 402 included in the bit stream (S302). In addition, the decoding process corresponds to the encoding process performed by the encoding unit 203, including, for example, inverse quantization processing, intra-frame prediction processing, inter-frame prediction processing, and arithmetic decoding processing.
[0148] Next, the enlargement unit 303 enlarges the reduced point group using a plurality of enlarged patterns included in the enlarged pattern set indicated by the enlarged pattern information 401 included in the bit stream, thereby generating a decoded point group (S303). In addition, the details of the enlargement process are the same as the case where the input point group is replaced with the reduced point group and the enlarged point group is replaced with the decoded point group in the process of the enlargement unit 103 included in the above-mentioned three-dimensional data processing device 100.
[0149] As can be seen from the above, the encoding device 200 generates a bit stream including a reduced point group (encoded reduced point group 402) obtained by reducing the input point group and an enlarged pattern set (enlarged pattern information 401) for enlarging the reduced point group. The decoding device 300 generates a decoded point group corresponding to the input point group by enlarging the reduced point group using the enlarged pattern set.
[0150] Here, the data size of the expanded pattern set is, for example, about 1 / 100 of the data size of the input point group. In addition, since the input point group is reduced to the reduced point group, the data size of the point group can be greatly reduced (for example, about 1 / 4 to 1 / 16). Therefore, compared with the case of transmitting the input point group, the data size of the bit stream can be greatly reduced, so the transmission band can be suppressed.
[0151] In addition, in the decoding device 300, similarly to the first embodiment, a process using a transformation process (rotation or inversion) is performed ( Figure 7 Thus, even when there are few registered enlarged patterns, the registered enlarged patterns can be used in more cases, so that appropriate enlargement can be performed. Therefore, the quality of the decoded point group can be improved.
[0152] In addition, the encoding device 200 may delete a part of the entries from the enlarged pattern set generated from the input point group and the reduced point group and store them in the bit stream. For example, on the premise that the transformation process is performed in the decoding device 300, a part of the plurality of entries including the peripheral patterns that become the same due to the transformation process may be deleted. In this way, the data size of the enlarged pattern information 401 can be reduced.
[0153] Furthermore, when the above-described similarity determination is performed in the decoding device 300 , a part of the plurality of entries including the plurality of surrounding patterns determined to be similar may be deleted. This can reduce the data size of the enlarged pattern information 401 .
[0154] In addition, the coding device 200 can select the transformation method and strength of the surrounding pattern (including the number of coordinates (bit length) in the surrounding pattern) according to the status of the transmission path and the type of the point group of the transmission object, etc., through the surrounding pattern identifier 412 and the pattern transformation information 414. As a result, the coding device 200 can indicate the transformation method used in the decoding device 300, so that the decoding device 300 can realize efficient expansion pattern search processing and high-quality expansion processing.
[0155] In addition, when a plurality of point groups (a plurality of frames) are continuously transmitted, such as when transmitting a moving image point group, the encoding device 200 sequentially transmits the enlarged pattern information 401 of each point group to the decoding device 300. The decoding device 300 can accumulate the received enlarged pattern information 401 by adding it at any time, and use the accumulated plurality of enlarged pattern information 401 to perform the enlargement processing of the received point group. As a result, the decoding device 300 can improve the richness of the enlarged pattern set used in the enlargement processing, thereby being able to continuously improve the quality of the enlargement processing. In addition, as the richness of the enlarged pattern set is improved, the frequency of the transformation processing in the decoding device 300 is reduced, so the processing amount of the decoding device 300 can be reduced.
[0156] In addition, when transmitting a moving image, the encoding device 200 may transmit the enlarged pattern information 401 corresponding to the point groups of a plurality of frames to the decoding device 300 in advance. Thus, the decoding device 300 can perform the enlargement process from the beginning of the moving image point group at high speed and high quality. In addition, the stored enlarged pattern information 401 may not be the enlarged pattern information 401 included in the same moving image point group, and for example, the enlarged pattern information 401 of another point group of the same or similar category or attribute as the target point group may be used.
[0157] Another configuration example of the enlarged pattern information 401 will be described below. Fig.18 4 is a diagram showing a first variation of the syntax example of the expanded pattern information 401. Fig.18 As shown, the expanded pattern information 401 may include a grouping table 421 and a group expansion table 422 as information of each expanded pattern set. In this example, Fig.15 The entry information 416 shown is aggregated and defined by group.
[0158] Fig.19 This is a diagram showing a syntax example of the grouping table 421. Fig. 20 It is a diagram showing an example of the grouping table 421.
[0159] The grouping table 421 includes an entry number 431, and a peripheral pattern 432 of an origin group and a group ID 433 for each entry. The entry number 431 indicates the number of entries included in the grouping table 421. Each entry indicates a peripheral pattern 432 of an origin group and a group ID 433 associated with the peripheral pattern. Here, the peripheral pattern 432 of the origin group corresponds to Figure 5 The peripheral patterns of the origin group in the expanded pattern set 104 are shown.
[0160] Fig.21 This is a diagram showing a syntax example of the group expansion table 422. Fig. 22 It is a diagram showing an example of the group expansion table 422 .
[0161] The group expansion table 422 includes an entry number 441, and a group ID 442 and an expansion pattern 443 for each entry. The entry number 441 indicates the number of entries included in the group expansion table 422. Each entry indicates a group ID 442 and an expansion pattern 443 associated with the group ID. Here, the expansion pattern 443 corresponds to Figure 5 An enlarged pattern from the enlarged pattern set 104 is shown.
[0162] Through the above structure, the decoding device 300 can establish a correspondence between the peripheral patterns and the enlarged patterns having the same group ID in the two tables by using the grouping table 421 and the group enlargement table 422, thereby determining the enlarged pattern corresponding to the peripheral pattern. In addition, the encoding device 200 can establish a correspondence between multiple peripheral patterns and one enlarged pattern using the group ID, thereby being able to achieve processing equivalent to deleting a portion of the entries in the above-mentioned enlarged pattern set (deleting a portion of multiple entries including peripheral patterns that have become the same due to the transformation process, or deleting a portion of multiple entries including multiple peripheral patterns that are determined to be similar, etc.).
[0163] In addition, as Fig.15 One of the plurality of transformation methods indicated by the pattern transformation method 414B in the syntax shown may include the method of the first modification example (the method using the grouping table 421 and the group expansion table 422 ).
[0164] Fig.23 4 is a diagram showing a second variation of the syntax example of the enlarged pattern information 401. Fig.23 As shown, the expanded pattern information 401 may further include region segmentation information 451 .
[0165] Fig.24 4 is a diagram showing a syntax example of the region division information 451. The region division information 451 includes a region number 461, region information 462 which is information for each region, and an expanded pattern set number 463.
[0166] The number of regions 461 indicates the number of the plurality of three-dimensional regions that divide the point group. When the number of regions 461 is greater than 1, the region information 462 is included in the region division information 451. The region information 462 indicates the range of the region, for example, the start coordinates and end coordinates of the x, y, and z axes of the coordinate region for dividing the point group with a cuboid. In addition, the region information 462 may indicate the coordinates that serve as the reference of the region (for example, the center coordinates of the cuboid) and the shape of the region (for example, the width of the x, y, and z axes of the cuboid).
[0167] The enlarged pattern set number 463 indicates an enlarged pattern set used for enlargement processing of the region among the one or more enlarged pattern sets included in the enlarged pattern information 401. For example, the enlarged pattern set number 463 indicates identification numbers of a plurality of enlarged pattern sets. In addition, the method of establishing a correspondence between the region and the enlarged pattern set is not limited to this, and any method can be used.
[0168] Here, the region of the point group has various characteristics such as point density, distribution, deviation, and shape or type of the object, and the corresponding expansion pattern set may be different according to the characteristics. Therefore, the encoding device 200 selects the expansion pattern set according to these characteristics, and instructs the decoding device 300 to use the selected expansion pattern set to expand the point group of the region. As a result, the decoding device 300 can perform high-quality expansion processing.
[0169] In addition, the encoding device 200 may send information indicating the characteristics of each region to the decoding device 300 instead of sending information specifying the enlarged pattern set to be used for each region. In this case, the decoding device 300 may select the enlarged pattern set used in the enlargement processing of the region based on the received information indicating the characteristics of the region. In addition, the decoding device 300 may select a processing method based on the status of the decoded point group or enlarged pattern set, and the status of various other resources (CPU load or free memory, etc.).
[0170] Furthermore, although an example in which an enlarged pattern set is specified for each region has been described above, an enlarged pattern set may be specified for each point.
[0171] Alternatively, information specifying a conversion method that can be used or a priority of a plurality of conversion methods for each region may be transmitted.
[0172] In addition, although the example of expanding the point group is described in the above description, the same method can also be applied to other forms of three-dimensional models including three-dimensional position information such as mesh models. For example, the same method can be applied to vertex information included in the mesh model. In this case, for example, in addition to the vertex information, information necessary for forming the mesh model, such as information indicating the connection relationship of the vertices, is also transmitted.
[0173] As described above, the three-dimensional point generating device (three-dimensional data processing device) of this embodiment performs Fig.25 The processing shown. The three-dimensional point generating device generates one or more three-dimensional points in a three-dimensional coordinate system. The three-dimensional point generating device generates one or more transformed second three-dimensional points (S401) by rotating and inverting one or more second three-dimensional points around the first three-dimensional point. Determine one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points (S402).
[0174] For example, the 3D point generating device replaces the first 3D point with one or more 3D points (one or more third 3D points or one or more 3D points generated based on the one or more third 3D points) based on the determined one or more third 3D points, thereby expanding the point group (at least one of increasing the resolution of the point group and adding points to the point group). In other words, the 3D point generating device generates an expanded point group including one or more 3D points (one or more third 3D points or one or more 3D points generated based on the one or more third 3D points).
[0175] Thus, the 3D point generation device can determine one or more third 3D points, and the one or more third 3D points correspond to one or more transformed second 3D points that are obtained by rotating and inverting one or more second 3D points. Thus, even if there are no one or more third 3D points corresponding to one or more second 3D points, one or more third 3D points can be determined by at least one of rotation and inversion, thereby reducing the occurrence of situations where one or more third 3D points cannot be determined. Therefore, the 3D point generation device can, for example, reduce the occurrence of situations where one or more third 3D points used in high resolution cannot be determined, and can improve the quality of high resolution.
[0176] For example, referring to a lookup table (eg, the expanded pattern set 104) to determine one or more third three-dimensional points, the lookup table combines multiple first candidates (eg, Figure 5 The peripheral pattern of the origin group shown in FIG. 1 ) and one or more second three-dimensional points and one or more second candidates for the transformed second three-dimensional points (eg Figure 5 The enlarged pattern shown) is established in correspondence.
[0177] For example, a first candidate corresponding to a second candidate is determined, and the second candidate is similar to the actual point of one or more second three-dimensional points but different from the actual point. Thus, the three-dimensional point generation device can further reduce the occurrence of situations where one or more third three-dimensional points cannot be determined.
[0178] For example, the rotation includes rotating one or more second three-dimensional points around a Y axis roughly parallel to the vertical direction in the real world. When a plurality of three-dimensional points are used to represent an object having symmetry with respect to the vertical direction, such as a building, the distribution of the plurality of three-dimensional points around an axis parallel to the vertical direction tends to be similar. Therefore, the three-dimensional point generation device can efficiently determine one or more third three-dimensional points in an object having symmetry with respect to the vertical direction, such as a building.
[0179] For example, the three-dimensional point generating device further generates one or more transformed third three-dimensional points (for example, Figure 7 In S115), the inverse transformation is an inverse transformation of at least one of the rotation and inversion of the one or more second three-dimensional points. Thus, the three-dimensional point generating device can generate one or more transformed third three-dimensional points that are more suitable for the one or more second three-dimensional points before the transformation.
[0180] For example, the three-dimensional point generating device also estimates one or more fourth three-dimensional points based on one or more second three-dimensional points. The estimated fourth three-dimensional point is used as a three-dimensional point after the high resolution of the first three-dimensional point, for example. For example, the three-dimensional point generating device expands the point group by replacing the first three-dimensional point with the estimated one or more fourth three-dimensional points. Alternatively, the three-dimensional point generating device adds one or more fourth three-dimensional points to the expanded point group. For example, the three-dimensional point generating device can estimate one or more fourth three-dimensional points based on one or more second three-dimensional points when it is impossible to determine that one or more third three-dimensional points corresponding to one or more transformed second three-dimensional points are established. As a result, compared with the case of using random points, the three-dimensional point generation method can improve the quality of high resolution by using fourth three-dimensional points.
[0181] For example, the three-dimensional point generating device may further generate one or more fifth three-dimensional points (eg Fig.10 or Fig.11 ) is rotated and inverted at least one of to generate one or more transformed fifth three-dimensional points, and one or more sixth three-dimensional points corresponding to the one or more transformed fifth three-dimensional points are determined, and the number of the one or more fifth three-dimensional points (for example, 18 or 6) is different from the number of the one or more second three-dimensional points (for example, 26). Thus, the three-dimensional point generating device can reduce the occurrence of situations where one or more third three-dimensional points or one or more sixth three-dimensional points cannot be determined. For example, the number of the one or more fifth three-dimensional points (for example, 18 or 6) can be less than the number of the one or more second three-dimensional points (for example, 26).
[0182] For example, referring to the first table (e.g., group expansion table 422) and the second table (e.g., grouping table 421) to determine one or more third three-dimensional points, one or more second three-dimensional points and one or more transformed second three-dimensional points are classified into a plurality of groups, the first table establishes a correspondence between a plurality of first candidates of one or more third three-dimensional points (e.g., expansion pattern 443) and a plurality of groups (e.g., group ID 442), and the second table establishes a correspondence between a plurality of groups (e.g., group ID 433) and one or more second three-dimensional points and one or more transformed second three-dimensional points (e.g., peripheral pattern 432 of the origin group). Thus, the three-dimensional point generating device can reduce the combination of a plurality of first candidates and a plurality of second candidates, thereby reducing the data size of the table used to determine one or more third three-dimensional points.
[0183] In addition, the decoding device 300 of the present embodiment includes: a receiving unit 301, which receives a bit stream including encoded three-dimensional points; and a circuit (for example, a decoding unit 302 and an expansion unit 303), which is connected to the receiving unit 301, and generates multiple three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point by decoding the encoded three-dimensional points.
[0184] In addition, the decoding device 300 performs Fig.26 The decoding device 300 receives a bit stream including a coded 3D point (S411), and generates a plurality of 3D points including a first 3D point and one or more second 3D points around the first 3D point by decoding the coded 3D point (S412). The bit stream also includes: first information for generating one or more transformed second 3D points by at least one of rotating and inverting the one or more second 3D points; and second information for determining one or more third 3D points corresponding to the one or more transformed second 3D points.
[0185] For example, the decoding device 300 generates one or more transformed second three-dimensional points by rotating and inverting at least one of the first information on one or more second three-dimensional points. The decoding device 300 uses the second information to determine one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points. Based on the determined one or more third three-dimensional points, the decoding device 300 replaces the first three-dimensional point with one or more three-dimensional points (one or more third three-dimensional points or one or more three-dimensional points generated based on the one or more third three-dimensional points), thereby expanding the point group (at least one of increasing the resolution of the point group and adding points to the point group). That is, the decoding device 300 generates an expanded point group including one or more three-dimensional points (one or more third three-dimensional points or one or more three-dimensional points generated based on the one or more third three-dimensional points).
[0186] For example, the first information and the second information are respectively signals included in the enlarged pattern information 401. For example, the first information and the second information can be respectively Fig.15 , Fig.18 , Fig.23 Any of the syntactic elements shown in the above examples may also be any of the signals described as their variants. Fig.15 In the illustrated example, an example of the first information is pattern conversion information 414 , and an example of the second information is entry information 416 .
[0187] Thus, the decoding device 300 can, for example, use the first information and the second information to determine one or more third three-dimensional points, and the one or more third three-dimensional points are corresponding to one or more transformed second three-dimensional points that are obtained by rotating and inverting one or more second three-dimensional points. Thus, even if there are no one or more third three-dimensional points corresponding to one or more second three-dimensional points, one or more third three-dimensional points can be determined by at least one of rotation and inversion, thereby reducing the occurrence of situations where one or more third three-dimensional points cannot be determined. Therefore, the decoding device 300 can, for example, reduce the occurrence of situations where one or more third three-dimensional points used in high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0188] For example, the second information includes a lookup table that establishes a correspondence between multiple first candidates of more than one third three-dimensional points and multiple second candidates of more than one second three-dimensional points and more than one transformed second three-dimensional points (e.g., an expanded pattern set (number of entries 415 and entry information 416)).
[0189] For example, the second information includes a plurality of lookup tables (e.g., a plurality of enlarged pattern sets (entry number 415 and entry information 416)), which respectively establish correspondences between a plurality of first candidates for one or more third three-dimensional points and a plurality of second candidates for one or more transformed second three-dimensional points; and third information (e.g., region segmentation information 451), which indicates a lookup table to be used in a plurality of lookup tables for each region to which the three-dimensional point belongs. Thus, the decoding device 300 can use a lookup table suitable for the field for each region to which the three-dimensional point belongs. Therefore, the quality of high resolution can be improved while suppressing an increase in the amount of processing in the decoding device 300.
[0190] For example, the second information includes: a first table (e.g., group expansion table 422) that establishes a correspondence between a plurality of first candidates (e.g., expansion pattern 443) of one or more third three-dimensional points and a plurality of groups (e.g., group ID 442); and a second table (e.g., grouping table 421) that establishes a correspondence between a plurality of groups (e.g., group ID 433) and a plurality of second candidates (e.g., surrounding pattern 432 of the origin group) of one or more second three-dimensional points and one or more transformed second three-dimensional points. Thus, the decoding device 300 can reduce the combination of the plurality of first candidates and the plurality of second candidates, and thus can reduce the data size of the second information.
[0191] For example, the first information (e.g., pattern transformation information 414) indicates one or more transform modes that can be used among a plurality of transform modes, each of which includes at least one of rotation and inversion. Thus, for example, in the encoding device 200, the transform mode used by the decoding device 300 can be specified based on the characteristics of the point group, etc. Therefore, the quality of high resolution can be improved while suppressing an increase in the amount of processing in the decoding device 300.
[0192] For example, the first information (e.g., pattern transformation information 414) further indicates the priority of one or more transform methods that can be used. Thus, for example, in the encoding device 200, the priority of the transform method used by the decoding device 300 can be specified. Therefore, the quality of high resolution can be improved while suppressing an increase in the amount of processing in the decoding device 300.
[0193] For example, the bitstream further includes fourth information indicating the number of one or more second three-dimensional points (e.g., the surrounding pattern identifier 412). Thus, for example, in the encoding device 200, the number of one or more second three-dimensional points used by the decoding device 300 can be specified based on the characteristics of the point group, etc. Therefore, the quality of high resolution can be improved while suppressing an increase in the amount of processing in the decoding device 300.
[0194] In addition, the encoding device 200 of the present embodiment includes: a circuit (for example, a reduction unit 201, an expansion pattern generation unit 202 and an encoding unit 203), which generates a coded three-dimensional point by encoding multiple three-dimensional points including a first three-dimensional point and more than one second three-dimensional point around the first three-dimensional point; and a sending unit 204, which is connected to the circuit and sends a bit stream including the coded three-dimensional point.
[0195] In addition, the encoding device 200 performs Fig. 27 The encoding device 200 generates a coded 3D point by encoding a plurality of 3D points including a first 3D point and one or more second 3D points around the first 3D point (S421), and sends a bit stream including the coded 3D point (S422). The bit stream also includes: first information for generating one or more transformed second 3D points by at least one of rotating and inverting the one or more second 3D points; and second information for determining one or more third 3D points corresponding to the one or more transformed second 3D points.
[0196] For example, the first information and the second information are respectively signals included in the enlarged pattern information 401. For example, the first information and the second information can be respectively Fig.15 , Fig.18 , Fig.23 Any of the syntactic elements shown in the above description may be any of the signals described as their modified examples.
[0197] Thus, the decoding device 300 that decodes the bitstream can, for example, use the first information and the second information to determine one or more third three-dimensional points, and the one or more third three-dimensional points correspond to one or more transformed second three-dimensional points that are obtained by rotating and inverting at least one of the first and second three-dimensional points. Thus, even if there are no one or more third three-dimensional points corresponding to the one or more second three-dimensional points, the one or more third three-dimensional points can be determined by at least one of the rotation and inversion, thereby reducing the occurrence of situations where one or more third three-dimensional points cannot be determined. Therefore, the decoding device 300 can, for example, reduce the occurrence of situations where one or more third three-dimensional points used in high-resolution cannot be determined, thereby improving the quality of high-resolution.
[0198] For example, the 3D point generation device, decoding device and encoding device include a processor and a memory, and the processor uses the memory to perform the above-mentioned processing. Alternatively, the 3D point generation device, decoding device and encoding device include a circuit and a memory connected to the circuit, and the circuit uses the memory to perform the above-mentioned processing.
[0199] Although the three-dimensional data processing device, the encoding device, the decoding device, and the like according to the embodiment and the modified example of the present disclosure have been described above, the present disclosure is not limited to the embodiment.
[0200] In addition, the processing units included in the three-dimensional data processing device, encoding device, decoding device, etc. of the above-mentioned embodiments are typically implemented by LSI as an integrated circuit. They may be implemented individually on a single chip or partially or entirely on a single chip.
[0201] In addition, circuit integration is not limited to LSI, and can also be realized using a dedicated circuit or a general-purpose processor. It is also possible to use an FPGA (Field Programmable Gate Array) that can be programmed after LSI manufacturing or a reconfigurable processor that can reconfigure the connection and settings of the circuit cells inside the LSI.
[0202] In addition, in each of the above embodiments, each component may be formed by dedicated hardware, or may be implemented by executing a software program suitable for each component. Each component may be implemented by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
[0203] In addition, the present disclosure can be implemented as a three-dimensional point generation method, an encoding method, a decoding method, etc. executed by a three-dimensional data processing device, an encoding device, a decoding device, etc.
[0204] In addition, the division of the functional blocks in the block diagram is an example, and multiple functional blocks can be implemented as one functional block, one functional block can be divided into multiple blocks, or a part of the function can be transferred to other functional blocks. In addition, a single hardware or software can process the functions of multiple functional blocks with similar functions in parallel or time-sharing.
[0205] In addition, the order in which each step in the flowchart is executed is exemplified for the purpose of specifically describing 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.
[0206] In the above, one or more modes of three-dimensional data processing devices, encoding devices, decoding devices, etc. are described based on the embodiments, but the present disclosure is not limited to these embodiments. As long as it does not deviate from the main purpose of the present disclosure, the modes obtained by implementing various modifications that a person skilled in the art can think of to the present embodiment, and the modes constructed by combining the constituent elements in different embodiments are also included in the scope of one or more modes.
[0207] Industrial Applicability
[0208] The present disclosure can be applied to a three-dimensional data processing device, an encoding device, and a decoding device.
[0209] Description of Reference Numerals
[0210] 100 3D data processing device
[0211] 101 enlarged pattern generation unit
[0212] 102 Storage Department
[0213] 103 Expansion
[0214] 104 Expanded Pattern Set
[0215] Entrance 105A, 105B
[0216] 200 Encoding Device
[0217] 201 Reduction Department
[0218] 202 Enlarged pattern generation unit
[0219] 203 Coding Department
[0220] 204 Sending Department
[0221] 300 decoding device
[0222] 301 Receiving Department
[0223] 302 Decoding Department
[0224] 303 Expansion Department
[0225] 401 Expanded Pattern Information
[0226] 402 Code Reduce Point Group
[0227] 411 Expand the number of pattern sets
[0228] 412 Peripheral pattern identifier
[0229] 413 pattern change information sign
[0230] 414 pattern change information
[0231] 414A Number of pattern change methods
[0232] 414B pattern change method
[0233] 415 entries
[0234] 416 Entry Information
[0235] 421 Grouping Table
[0236] 422 Group Enlargement Table
[0237] 431 entries
[0238] 432 The surrounding pattern of the origin group
[0239] 433 Group ID
[0240] 441 entries
[0241] 442 Group ID
[0242] 443 Expanded Pattern
[0243] 451 Region segmentation information
[0244] 461 Area Number
[0245] 462 Area Information
[0246] 463 Expanded pattern set number
Claims
1. A three-dimensional point generation method, generating one or more three-dimensional points in a three-dimensional coordinate system, wherein: One or more transformed second three-dimensional points are generated by at least one of rotating and inverting one or more second three-dimensional points around the first three-dimensional point, One or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points are determined.
2. The three-dimensional point generation method according to claim 1, wherein: Refer to the lookup table to determine the one or more third three-dimensional points, The lookup table establishes correspondence between the plurality of first candidates for the one or more third three-dimensional points and the plurality of second candidates for the one or more second three-dimensional points and the one or more transformed second three-dimensional points.
3. The three-dimensional point generation method according to claim 2, wherein: The first candidate corresponding to the second candidate is determined, wherein the second candidate is similar to actual points of the one or more second three-dimensional points but different from the actual points.
4. The three-dimensional point generation method according to claim 1, wherein: The rotation includes rotating the one or more second three-dimensional points around a Y-axis that is substantially parallel to a vertical direction in the real world.
5. The three-dimensional point generation method according to claim 1, wherein: The three-dimensional point generation method further comprises: One or more transformed third three-dimensional points are generated by inversely transforming the one or more third three-dimensional points, wherein the inverse transformation is an inverse transformation of at least one of the rotation and the inversion of the one or more second three-dimensional points.
6. The three-dimensional point generation method according to claim 1, wherein: The three-dimensional point generation method further comprises: One or more fourth three-dimensional points are estimated based on the one or more second three-dimensional points.
7. The three-dimensional point generation method according to claim 1, wherein: The three-dimensional point generation method further comprises: generating one or more transformed fifth three-dimensional points by at least one of rotating and inverting one or more fifth three-dimensional points around the first three-dimensional point, determining one or more sixth three-dimensional points corresponding to the one or more transformed fifth three-dimensional points, The number of the one or more fifth three-dimensional points is different from the number of the one or more second three-dimensional points.
8. The three-dimensional point generation method according to claim 1, wherein: Referring to the first table and the second table to determine the one or more third three-dimensional points, classifying the one or more second three-dimensional points and the one or more transformed second three-dimensional points into a plurality of groups, The first table establishes a correspondence between the plurality of first candidates of the one or more third three-dimensional points and the plurality of groups, The second table associates the plurality of groups with the one or more second three-dimensional points and the one or more second candidates for the transformed second three-dimensional points.
9. A three-dimensional point generating device, generating one or more three-dimensional points in a three-dimensional coordinate system, wherein: have: Memory; and circuit, connected with the memory, The circuit, One or more transformed second three-dimensional points are generated by at least one of rotating and inverting one or more second three-dimensional points around the first three-dimensional point, One or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points are determined.
10. A decoding device, wherein: have: A receiving unit, receiving a bit stream including encoded three-dimensional points; and A circuit (i) is connected to the receiving unit and (ii) generates a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point by decoding the encoded three-dimensional point. The bitstream also includes: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and The second information is used to determine one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
11. The decoding device according to claim 10, wherein: The second information includes a lookup table that establishes a correspondence between the plurality of first candidates for the one or more third three-dimensional points and the plurality of second candidates for the one or more transformed second three-dimensional points.
12. The decoding device according to claim 10, wherein: The second information includes: A plurality of lookup tables for respectively establishing correspondence between the plurality of first candidates of the one or more third three-dimensional points and the plurality of second candidates of the one or more second three-dimensional points and the one or more transformed second three-dimensional points; and The third information represents a lookup table to be used among the plurality of lookup tables for each region to which the three-dimensional point belongs.
13. The decoding device according to claim 10, wherein: The second information includes: A first table that establishes correspondence between a plurality of first candidates of the one or more third three-dimensional points and a plurality of groups; and The second table associates the plurality of groups with the one or more second three-dimensional points and the plurality of second candidates for the one or more transformed second three-dimensional points.
14. The decoding device according to claim 10, wherein: The first information, Indicates one or more usable transformation methods among a plurality of transformation methods each including at least one of rotation and inversion.
15. The decoding device according to claim 14, wherein: The first information further indicates priorities of the one or more usable transformation methods.
16. The decoding device according to claim 10, wherein: The bitstream also includes: Fourth information indicating the number of the one or more second three-dimensional points.
17. An encoding device, wherein: have: A circuit for generating a coded three-dimensional point by encoding a plurality of three-dimensional points including a first three-dimensional point and at least one second three-dimensional point around the first three-dimensional point; as well as a transmitting unit connected to the circuit and transmitting a bit stream including the encoded three-dimensional point, The bitstream also includes: first information, used to generate one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; as well as The second information is used to determine one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
18. A decoding method, wherein: receiving a bit stream comprising encoded three-dimensional points, By decoding the encoded three-dimensional point, a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point are generated, The bitstream also includes: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and The second information is used to determine one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.
19. A coding method, wherein: Generate a coded three-dimensional point by encoding a plurality of three-dimensional points including a first three-dimensional point and one or more second three-dimensional points around the first three-dimensional point, sending a bit stream comprising the encoded three-dimensional points, The bitstream also includes: first information for generating one or more transformed second three-dimensional points by at least one of rotating and inverting the one or more second three-dimensional points; and The second information is used to determine one or more third three-dimensional points corresponding to the one or more transformed second three-dimensional points.