Information processing device and method
By hierarchizing and sub-hiering the attribute information of the point cloud, the reference relationship between layers and sub-layers is generated, and the coding efficiency reduction caused by the Mortonian order arrangement of point cloud attribute data is solved, achieving a more efficient coding process.
Patent Information
- Application Number
- CN202080049528.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-12
- Filing Date
- 2020-06-26
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2040-06-26
AI Technical Summary
In the prior art, when the attribute data of the point cloud is arranged and encoded in Morton order, the prediction accuracy is reduced, and thus the encoding efficiency is deteriorated.
By hierarchizing and sub-hierarchizing the attribute information of the point cloud, the reference relationship between layers and sub-layers is generated, and the deviation in the prediction direction is suppressed, thereby improving coding efficiency.
The deterioration of encoding efficiency is effectively suppressed, and the prediction accuracy and encoding efficiency are improved.
Smart Images

Figure CN114097242B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing apparatus and method, and more particularly, to an information processing apparatus and method capable of suppressing degradation of encoding efficiency. Background Art
[0002] In the related art, for example, a method for encoding 3D data indicating a three-dimensional structure such as a point cloud has been conceived (for example, see non-patent document 1). The data of the point cloud includes geometric data (also referred to as position information) and attribute data (also referred to as attribute information) of each point. Therefore, encoding of the point cloud is performed on each of the geometric data and the attribute data. Various methods have been proposed as encoding methods for attribute data. For example, a method using a technique called lifting has been proposed (for example, see non-patent document 2). A method that can decode attribute data into scalable data has also been proposed (for example, see non-patent document 3). In addition to lifting, a method in which decoded attribute data can be referenced in LoD can also be conceived (for example, see non-patent document 4).
[0003] [Citation List]
[0004] [Non-patent literature]
[0005] [Non-Patent Document 1]
[0006] R.Mekuria, Student Member IEEE, K.Blom, P.Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-ImmersiveVideo", tcsvt_paper_submitted_february.pdf
[0007] [Non-Patent Document 2]
[0008] Khaled Mammou, Alexis Tourapis, Jungsun Kim, Fabrice Robinet, ValeryValentin, Yeping Su, “Lifting Scheme for Lossy Attribute Encoding in TMC1,” ISO / IEC JTC1 / SC29 / WG11 MPEG2018 / m42640, April 2018, San Diego, USA
[0009] [Non-Patent Document 3]
[0010] Ohji Nakagami, Satoru Kuma, “[G-PCC] Spatial scalability support for G-PCC,” ISO / IEC JTC1 / SC29 / WG11 MPEG2019 / m47352, March 2019, Geneva, Switzerland
[0011] [Non-Patent Document 4]
[0012] Toshiyasu Sugio, “[G-PCC] Reference structure modification on attribute prediction transform in TMC13,” ISO / IEC JTC1 / SC29 / WG11MPEG2018 / m46107, January 2019, Marrakech, MA Summary of the Invention
[0013] [Technical Issues]
[0014] However, in the scheme disclosed in Non-Patent Document 4, attribute data is arranged and encoded in Morton order in the LoD. Therefore, the decoded attribute data that can be referenced is limited to attribute data that precedes the decoded target attribute data in Morton order. In other words, there is a concern that the decoded attribute data will be limited to attribute data located at points in three-dimensional space that are offset from the point at which the decoded target attribute data was decoded. Consequently, the prediction accuracy of the target attribute data, which is processed with reference to the decoded attribute data, decreases, leading to concerns about degradation in coding efficiency.
[0015] The present disclosure is designed in consideration of such circumstances to suppress degradation of encoding efficiency.
[0016] [Solution to the problem]
[0017] An information processing device according to one aspect of the present technology is an information processing device including: a hierarchical unit configured to hierarchize attribute information of a point cloud expressing a three-dimensional shape object as a point set, and generate a reference relationship of the attribute information between layers; and a sub-hierarchical unit configured to sub-hierarchize the attribute information of the layer in the layer of attribute information generated by the hierarchical unit, so as to generate a reference relationship of the attribute information between the sub-layers.
[0018] According to another aspect of the present technology, an information processing method is as follows: hierarchizing attribute information of a point cloud that expresses a three-dimensional shape object as a point set to generate a reference relationship between the attribute information layers; and sub-hierarchizing the attribute information of the layer in the layer of the generated attribute information to generate a reference relationship between the attribute information sub-layers.
[0019] According to another aspect of the present technology, an information processing device is an information processing device including: a hierarchical unit configured to hierarchize attribute information of a point cloud expressing a three-dimensional shape object as a point set, and generate a reference relationship of the attribute information between layers; a sub-hierarchical unit configured to sub-hierarchize the attribute information of the layer in the layer of attribute information generated by the hierarchical unit to generate a reference relationship of the attribute information between sub-layers; and a de-hierarchical unit configured to de-hierarchize the attribute information based on the reference relationship of the attribute information between the layers generated by the hierarchical unit and the reference relationship of the attribute information between the sub-layers generated by the sub-hierarchical unit.
[0020] According to another aspect of the present technology, an information processing method is as follows, which includes: hierarchizing attribute information of a point cloud that expresses a three-dimensional shape object as a point set to generate a reference relationship of the attribute information between layers; sub-hierarchizing the attribute information of the layer in the generated attribute information layer to generate a reference relationship of the attribute information between sub-layers; and de-hierarchizing the attribute information based on the reference relationship of the attribute information between the generated layers and the reference relationship of the attribute information between the generated sub-layers.
[0021] In an information processing device and method according to another aspect of the present technology, attribute information of a point cloud expressing a three-dimensional shape object as a point set is hierarchical to generate a reference relationship of the attribute information between layers; and the attribute information of the layer in the generated attribute information layer is sub-hierarchical to generate a reference relationship of the attribute information between the sub-layers.
[0022] In an information processing device and method according to another aspect of the present technology, attribute information of a point cloud expressing a three-dimensional shape object as a point set is hierarchical to generate a reference relationship of the attribute information between layers; the attribute information of the layer in the generated attribute information layer is sub-hierarchical to generate a reference relationship of the attribute information between sub-layers; and based on the reference relationship of the attribute information between the generated layers and the reference relationship of the attribute information between the generated sub-layers, the attribute information is inversely hierarchical. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] [ Figure 1 ]
[0024] Figure 1 is a diagram showing an example of a reference relationship of attribute information of the related art.
[0025] [ Figure 2 ]
[0026] Figure 2 is a diagram showing an example of a reference relationship of a Morton order in a layer.
[0027] [ Figure 3 ]
[0028] Figure 3 It is a diagram showing a hierarchical scheme and a reverse hierarchical scheme of attribute data.
[0029] [ Figure 4 ]
[0030] Figure 4 is a diagram showing an example of a generation state of Sub LoD.
[0031] [ Figure 5 ]
[0032] Figure 5 is a diagram showing an example of a generation state of Sub LoD.
[0033] [ Figure 6 ]
[0034] Figure 6 is a diagram showing an example of a state of a reference relationship.
[0035] [ Figure 7 ]
[0036] Figure 7 is a diagram showing an example of a state of a reference relationship.
[0037] [ Figure 8 ]
[0038] Figure 8 is a block diagram showing an exemplary main configuration of an encoding device.
[0039] [ Figure 9 ]
[0040] Figure 9 is a block diagram showing an exemplary main configuration of an attribute information encoding unit.
[0041] [ Figure 10 ]
[0042] Figure 10 is a block diagram illustrating an exemplary main configuration of a hierarchical processing unit.
[0043] [ Figure 11 ]
[0044] Figure 11 is a flowchart showing an example of the flow of encoding.
[0045] [ Figure 12 ]
[0046] Figure 12 is a flowchart showing an example of the flow of attribute information encoding.
[0047] [ Figure 13 ]
[0048] Figure 13 : is a flowchart showing an example of the flow of hierarchical processing.
[0049] [ Figure 14 ]
[0050] Figure 14 is a block diagram showing an exemplary main configuration of a decoding device.
[0051] [ Figure 15 ]
[0052] Figure 15 is a block diagram showing an exemplary main configuration of an attribute information decoding unit.
[0053] [ Figure 16 ]
[0054] Figure 16 is a block diagram showing an exemplary main configuration of a dehierarchization processing unit.
[0055] [ Figure 17 ]
[0056] Figure 17 is a flowchart showing an example of the flow of decoding.
[0057] [ Figure 18 ]
[0058] Figure 18 is a flowchart illustrating an example of the flow of attribute information decoding.
[0059] [ Figure 19 ]
[0060] Figure 19 : is a flowchart showing an example of the flow of the dehierarchization process.
[0061] [ Figure 20 ]
[0062] Figure 20 is a block diagram showing an exemplary main configuration of a computer. DETAILED DESCRIPTION
[0063] Hereinafter, modes for implementing the present disclosure (hereinafter referred to as embodiments) will be described. The description will be made in the following order.
[0064] 1. Generation of Sub LoD
[0065] 2. First embodiment (encoding device)
[0066] 3. Second embodiment (decoding device)
[0067] 4. Supplement
[0068] <1. Sub LoD Generation>
[0069] <Documentation supporting descriptive content and terminology, etc.>
[0070] The scope disclosed in the present technology includes not only the contents described in the embodiments but also the contents described in the following non-patent applications known at the time of application.
[0071] Non-Patent Document 1: (as mentioned above)
[0072] Non-Patent Document 2: (as mentioned above)
[0073] Non-Patent Document 3: (as mentioned above)
[0074] Non-Patent Document 4: (as mentioned above)
[0075] That is, the contents described in the aforementioned non-patent literature are also the basis for determining the support conditions.
[0076] <Point Cloud>
[0077] In related art, there are 3D data such as point clouds that indicate three-dimensional structures using position information, attribute information, etc. of point groups, and meshes that are configured by vertices, edges, and faces and define the shape of three-dimensional structures using polygonal representations.
[0078] For example, in the case of a point cloud, a three-dimensional structure (a three-dimensional shaped object) is represented as a collection of many points (a point group). That is, the data of the point cloud (also called point cloud data) is composed of geometric data (also called position information) and attribute data (also called attribute information) for each point in the point group. Attribute data can include any information. For example, color information, reflectivity information, and normal information can be included in the attribute data. Therefore, because the data structure is relatively simple and a sufficient number of points are used, any three-dimensional structure can be represented with sufficient accuracy.
[0079] <Using voxels to quantify position information>
[0080] The amount of point cloud data is relatively large. Therefore, in order to compress the amount of data used for encoding, an encoding method using voxels has been conceived. A voxel is a three-dimensional area used to quantize geometric data (position information).
[0081] Specifically, the three-dimensional area containing the point cloud is divided into smaller three-dimensional regions called voxels. Each voxel indicates whether it contains a point. This quantifies the position of each point in units of voxels. Therefore, by converting point cloud data into such voxel data (also called voxel data), the amount of information can be suppressed (usually reduced).
[0082] <Octtree>
[0083] Furthermore, for geometric data, it is conceivable to construct an octree using voxel data. An octree is a tree-like structure of voxel data. The value of each bit of the bottom-most node of the octree indicates whether a point exists for each voxel. For example, a value of "1" indicates a voxel containing a point, and a value of "0" indicates a voxel not containing a point. In an octree, one node corresponds to eight voxels. That is, each node of the octree is configured with 8 bits of data, and the 8 bits indicate whether a point exists for each of the eight voxels.
[0084] The upper-level nodes of the octree indicate whether a point exists in the region where the eight voxels corresponding to the lower-level nodes belonging to that node are summarized within a voxel. In other words, the upper-level nodes are generated by summing the voxel information of the lower-level nodes. If the value of a node is "0" (i.e., all eight corresponding voxels do not contain a point), the node is deleted.
[0085] In this way, a tree structure (octree) consisting of nodes whose values are not "0" is constructed. That is, the octree can indicate whether there is a point in the voxel of each resolution. By forming an octree for encoding and decoding position information from the highest resolution (highest layer) to the desired layer (resolution), the point cloud data at that resolution can be restored. In other words, decoding can be easily performed at any resolution without decoding information about unnecessary layers (resolutions). In other words, voxel (resolution) scalability can be achieved.
[0086] As described above, by omitting nodes with a value of "0", the voxels in the region where no point exists can be made to have a low resolution. Therefore, the increase in the amount of information can be further suppressed (generally, the amount of information is reduced).
[0087] <Ascension>
[0088] In contrast, when attribute data (attribute information) is encoded, it is assumed that the geometric data (position information) that degrades due to encoding is known, so encoding is performed using the positional relationship between points. As encoding methods for attribute data, a method using a transformation called lifting, such as Region Adaptive Hierarchical Transform (RAHT) or the method described in Non-Patent Document 2, has been proposed. By applying such a technique, attribute data can also be hierarchical, similar to the octree of geometric data.
[0089] For example, in the case of boosting described in Non-Patent Document 2, the attribute data of each point is encoded as a difference from a predicted value obtained using the attribute data of other points. At this time, the points are hierarchical and the difference is obtained according to the hierarchical structure.
[0090] Specifically, for each point's attribute data, the point is classified into a prediction point and a reference point. The reference point's attribute data is used to obtain a predicted value for the prediction point's attribute data, and the difference between the predicted value and the prediction point's attribute data is calculated. By recursively repeating this process for each reference point, the point's attribute data is hierarchical.
[0091] Here, the hierarchical structure is generated independently of the hierarchical structure of the geometric data (e.g., octree) and does not substantially correspond to the hierarchical structure of the geometric data. To restore the point cloud data, the geometric data and attribute data must be made to correspond to each other. Therefore, the geometric data and attribute data must be restored to the highest resolution (i.e., the lowest layer). In other words, the scheme using the boosting described in Non-Patent Document 2 does not correspond to scalable decoding for resolution.
[0092] <Layering for Scalable Decoding>
[0093] In contrast, the hierarchical structure described in Non-Patent Document 3 corresponds to scalable decoding for resolution. In the case of the scheme described in Non-Patent Document 3, attribute data is hierarchical to match the hierarchical structure of the octree of geometric data. That is, when a point exists in the area corresponding to a voxel of geometric data (when attribute data corresponding to that point exists), the reference point and prediction point are selected so that a point exists in the voxel of the layer directly above that voxel (when attribute data corresponding to that point exists). In other words, attribute information is hierarchical according to the hierarchical structure of the octree of geometric data.
[0094] By associating the hierarchical structure of attribute data with the hierarchical structure of geometric data, it is possible to easily restore point cloud data at the desired resolution even without performing decoding down to the lowest level. Thus, the solution using the technology described in Non-Patent Document 3 corresponds to scalable decoding for resolution.
[0095] <Reference relationship in layer>
[0096] According to the above scheme, a reference relationship of attribute information is generated between layers. That is, the attribute information of the processing target layer can be predicted by referring to the attribute information of another layer.
[0097] In contrast, in the case of the scheme described in Non-Patent Document 4, when attribute information is decoded, the attribute information in the processing target layer can be referred to. For example, Figure 1 The hierarchical attribute data (Attribute Lod) 1 shown in A is the hierarchical data obtained by classifying the attribute data 2 of each point. Figure 1 As shown in B. Figure 1 In B, the vertical direction represents the level of detail (LoD), and each circle represents the attribute data of each point 2. Figure 1 In B, only one circle is given as a reference numeral, but Figure 1 The circles shown in B are the attribute data 2 of each point.
[0098] Decoding is performed sequentially one layer at a time starting from the upper layer. Therefore, when the attribute data 2A of a certain point is decoded, the attribute data 2 of each point of the upper layer indicated by the white circle is decoded and can be referred to.
[0099] In the layer, the attribute data 2 of each point is arranged in Morton order and decoded in this order. Figure 1 In B, the attribute data 2 of each point of each layer is arranged in the Morton order. In the figure, the direction oriented from left to right in the horizontal direction corresponds to the Morton order.
[0100] That is, when the attribute data 2A of a certain point is decoded, the attribute data 2B of each point located on the left side of the attribute data 2A is in a decoded state and can therefore be referred to.
[0101] By arranging the attribute data in Morton order, the attribute data 2 of each point is scanned for each three-dimensional local area obtained by dividing the three-dimensional space. Therefore, the directionality (deviation) of the three-dimensional space position appears in the order of processing.
[0102] For example, suppose each point in the point cloud data is Figure 2 As mentioned above, in the three-dimensional region 3 Figure 1 In the B of , the decoded attribute data 2B of each point is located in front of the attribute data 2A of a certain point in the Morton order. Figure 2 In the three-dimensional region 3, Figure 1 The decoded attribute data 2B of each point shown in FIG. B is located within a partial area 3B located in a predetermined direction from the attribute data 2A of a certain point. That is, when the position of the attribute data 2A of a certain point is set as a reference, a deviation occurs in the relative position (direction) of the decoded attribute data 2B of each point.
[0103] When processing is performed in the Morton order, such a deviation occurs in the reference direction at the time of prediction, and the prediction accuracy decreases due to the deviation, so there is a concern that the encoding efficiency deteriorates.
[0104] <Sub-hierarchy>
[0105] Accordingly, for example, Figure 3 As described in "Method 1" at the top level of the table shown, in the hierarchicalization of attribute data (attribute information), sub-layers (Sub LoDs) are further generated in the layer (LoD), and reference relationships of attribute data between sub-layers are generated (i.e., reference relationships of attribute data in the generated layer (LoD)).
[0106] For example, the attribute data (attribute information) of a point cloud representing a three-dimensional shape object is hierarchical to generate a reference relationship between the attribute data layers, and the attribute data of the layers in the generated attribute data layers are sub-hierarchical to generate a reference relationship between the attribute data sub-layers.
[0107] For example, an information processing device includes: a hierarchical unit that hierarchizes attribute data (attribute information) of a point cloud representing a three-dimensional shape object to generate a reference relationship between the attribute data between layers; and a sub-hierarchical unit that sub-hierarchizes the attribute data of the layer in the layer of attribute data generated by the hierarchical unit to generate a reference relationship between the attribute data between sub-layers.
[0108] In this way, a reference relationship between attribute data in each layer can be generated so as to suppress deviation in the prediction direction, thereby suppressing degradation in encoding efficiency.
[0109] In this case, any hierarchical scheme for attribute data can be used. For example, the boosting described in Non-Patent Document 2 that does not correspond to scalable decoding can be used. For example, the hierarchical technique corresponding to scalable decoding described in Non-Patent Document 3 can be applied. Of course, another scheme can be used.
[0110] Any sub-hierarchical scheme can be used. For example, Figure 3 As described in "Method 1-1" in the second level from the top of the table shown, the process of sampling (selecting) some of the attribute data of each point in the layer and sub-layering can be recursively repeated. That is, a sub-layer can be generated by sampling some of the attribute data in the node group of the processing target layer (LoD) in the hierarchical structure of the attribute data.
[0111] For example, Figure 3As described in "Method 1-1-1" in the third level from the top of the shown table, a sublayer can be generated by arranging attribute data of a processing target layer in Morton order and sampling some of the attribute data at equal intervals.
[0112] For example, Figure 1 In the case of B, for the hierarchical attribute data, the attribute data of each point of the layer where the sub-hierarchicalization is performed is arranged in Morton order. Then, the attribute data of each arranged point is sampled at equal intervals. Figure 4 This example shows sampling performed every three attribute data items, i.e., sampling one of the four data items (LodUniformQuant=4). LodUniformQuant is a syntax element indicating the sampling interval. LodUniformQuant=4 indicates that one of the four attribute data items in a row of attribute data for each point arranged in Morton order is sampled. That is, when one attribute data item is sampled, the fourth attribute data item from the attribute data in Morton order is sampled next.
[0113] exist Figure 4 In A, the attribute data 12 of each point indicated by a circle is arranged in Morton order. One of the four attribute data from this attribute data (the attribute data 12 of each point indicated by a gray circle) is sampled. That is, Figure 4 As shown in FIG. 8B , the bottommost sublayer (Sub LoD) formed of the unsampled attribute data 12 of each point indicated by a white circle is generated.
[0114] In the row of the sampled attribute data 12 of each point, similarly, one of the four attribute data (attribute data 12 of each point indicated by a black circle) is sampled. Figure 4 As shown in FIG. 3 , a second sublayer (Sub LoD) formed by the bottommost position of the unsampled attribute data 12 of each point indicated by a gray circle is generated.
[0115] In the row of the attribute data 12 of each point sampled, similarly, one of four attribute data (attribute data 12 of each point indicated by a hatched circle) is generated. Figure 4 As shown in D, the third sublayer is generated from the bottommost position of the unsampled attribute data 12 of each point indicated by a black circle.
[0116] In this case, since the attribute data 12 of each single point is sampled, the bottommost sublayer ( Figure 4 D).
[0117] A reference relationship is generated between these sub-layers. That is, the attribute data of the higher sub-layer is decoded earlier, so that the attribute data of the higher sub-layer can be referenced.
[0118] In this case, since the entire row of attribute data 12 for each point is sampled to generate the sublayer, the positional deviation of the point in three-dimensional space is minimal. In other words, compared to the method described in Non-Patent Document 4, the deviation of the reference direction of the attribute data can be suppressed. Consequently, it is possible to suppress a decrease in prediction accuracy and reduce degradation in coding efficiency.
[0119] Even in this case, since the attribute data 12 of each point is arranged in Morton order, it is possible to refer to attribute data that is relatively close in three-dimensional space. Therefore, compared with the case of randomly selecting attribute data, it is possible to suppress the reduction in prediction accuracy and the degradation of encoding efficiency.
[0120] Not only attribute data of a higher sub-layer but also decoded attribute data in the same sub-layer as the processing target attribute data can be referenced.
[0121] Figure 5 The diagram shows a state where attribute data 12 for each point in a certain layer is arranged in decoding order. In this case, when attribute data 12A for a certain point is the decoding target, attribute data 12 for each point within the range indicated by double-headed arrow 12B (i.e., attribute data 12 for each point located to the left of attribute data 12A for that point) is already decoded and can therefore be referenced. This increases the number of candidate reference points, thereby suppressing a decrease in prediction accuracy and reducing degradation in coding efficiency.
[0122] As described above, the attribute data is sampled at equal intervals when generating the sublayer. However, the present disclosure is not limited thereto and the attribute data may be sampled at unequal intervals. For example, Figure 3 As described in "Method 1-1-2" in the fourth level from the top of the shown table, a sub-layer can be generated by arranging the attribute data of the processing target layer in Morton order and sampling some attribute data at unequal intervals.
[0123] For example, the sampling intervals of the attribute data in the sub-layer can be set to unequal intervals (ie, the intervals are not fixed). For example, the intervals of three attribute data and the intervals of two attribute data can be repeated alternately (LodUniformQuant=2 or 3).
[0124] For example, the sampling interval can be changed for each sub-layer. For example, in the bottommost sub-layer, sampling is performed at intervals of two attribute data (LodUniformQuant=2). In higher sub-layers, sampling can be performed at intervals of four attribute data (LodUniformQuant=4). In other words, the sampling interval can be changed according to the depth of the sub-layer.
[0125] In this way, the sampling interval can be set according to, for example, the resolution. For example, it is possible to suppress the reduction of image quality or the degradation of encoding efficiency.
[0126] <Weighted value>
[0127] Sub-layering can be reflected in the weighted value of the attribute data. In the case of the related art method, the attribute data of each point is weighted based on the reference relationship (e.g., reference distance, reference number, etc.) between layers (LoD). As described above, when sub-layering is performed, the reference relationship (e.g., reference distance, reference number, etc.) between sub-layers can be reflected in the weighted value. That is, Figure 3 As described in "Method 1-2" in the fifth level from the top of the shown table, the weighted values can be obtained using the reference relationship between sub-layers (Sub LoDs).
[0128] For example, when attribute data is hierarchized (LoD-ized) using the promotion described in non-patent document 2, a weighted value is set for each attribute data based on the reference relationship. When attribute data hierarchized according to the scheme in which weighted values are set in this way is sub-hierarchized, similarly to the above, the reference relationship between the sub-layers is reflected in the weighted value set in each attribute data. That is, the weighted value of each attribute data is obtained using the reference relationship constructed between the layers and between the sub-layers, such as Figure 6 As shown by the arrows in . In this way, the reference relationship between sub-layers can be reflected in the weighted values between layers generated according to a scheme that does not correspond to scalable decoding.
[0129] For example, when attribute data is hierarchized (LoD-ized) using the scheme corresponding to scalable decoding described in Non-Patent Document 3, a weight value fixed for each layer (LoD) (weight value of each layer) is assigned to each piece of attribute data. When attribute data hierarchized according to the scheme in which weight values are set in this way is sub-hierarchized, as described above, Figure 3 As described in "Method 1-2-1" in the sixth level from the top of the table shown, the reference relationship between the sub-layers is reflected in the weight value of each layer. That is, the weight value of each attribute data is obtained by updating the weight value of each layer using the reference relationship between the sub-layers, as shown in FIG. Figure 7 Indicated by the arrow in A.
[0130] For example, the coefficient α is set according to the reference number between the sub-layers, and the weight value w1 of each layer is multiplied by the coefficient α, as shown in FIG. Figure 7 As shown in B, the weight value w1 of each layer can be updated.
[0131] When the weight value w1 of a certain layer is updated, the weight value w2 of another layer can be updated to correspond to the update of the weight value w1. Figure 7 As shown in C, when the weighted value w1 is multiplied by the coefficient α, the weighted value w2 can be multiplied by (1-α).
[0132] In this way, the reference relationship between sub-layers can be reflected in the weighted values between layers generated according to a scheme that does not correspond to scalable decoding. Therefore, it is possible to further suppress the degradation of coding efficiency.
[0133] <Signaling Control Information>
[0134] As in Figure 3 As described in "Methods 1-3" in the seventh level at the top of the table shown, signaling control information regarding sub-hierarchicalization of attribute data can be performed. Any control content can be used.
[0135] <sub_lod_enable_flag>
[0136] For example, control information indicating whether sub-layering of attribute data is permitted may be signaled (sent from the encoding side to the decoding side). The control information indicating whether sub-layering is permitted is flag information (e.g., sub_lod_enable_flag) indicating whether sub-layering can be performed in the target data unit. For example, when sub_lod_enable_flag is true (e.g., "1"), sub_lod_enable_flag indicates that sub-layering can be performed. Conversely, when sub_lod_enable_flag is false (e.g., "0"), sub_lod_enable_flag indicates that sub-layering cannot be performed.
[0137] When sub_lod_enable_flag is not signaled (not sent), the decoding side may consider sub_lod_enable_flag to be false. When sub_lod_enable_flag is not signaled (not sent), the decoding side may consider sub_lod_enable_flag to be true.
[0138] When sub_lod_enable_flag is false, sub-layering is disabled. Therefore, signaling of other control information regarding sub-layering within a data unit can be omitted. This can mitigate degradation in coding efficiency. In other words, the decoding side can omit parsing of other control information regarding sub-layering within a data unit. In other words, the decoding side can parse other control information regarding sub-layering only for data units where sub_lod_enable_flag is true. This can mitigate increases in decoding load.
[0139] As described above, the control information indicating whether sub-layering is allowed can be said to be control information indicating whether other control information signaling sub-layering exists in the data unit. The control information indicating whether sub-layering is allowed can be said to be control information indicating whether sub-layering is prohibited.
[0140] In the control information indicating whether sub-layering is permitted, any data unit can be set as a target, so signaling can be performed in any data unit. For example, a piece of attribute data can be set as a target data unit, and sub_lod_enable_flag can be signaled for each piece of attribute data. For example, multiple sub_lod_enable_flags can be transmitted together in each data unit above the attribute data (for example, for each sequence).
[0141] <sub_lod_distance>
[0142] For example, control information for controlling the sampling interval (or sampling period) in sub-layering can be signaled. The control information for controlling the sampling interval is information (e.g., sub_lod_distance) indicating at which interval sampling is performed when performing sub-layering in the target data unit. For example, when sub_lod_distance = 2, the sampling period is 2, that is, sampling is performed on one of the two nodes (sampling is performed every other interval). That is, when sub_lod_distance > 2, sampling is performed at equal intervals and at the interval indicated by sub_lod_distance to generate sub-layers.
[0143] sub_lod_distance=0 indicates that sub-layering is performed (sub-layer (Sub LoD) is not formed). That is, sub_lod_distance can be said to be control information indicating whether to perform sub-layering.
[0144] When sub_lod_distance is not signaled (not sent), the decoding end may consider sub_lod_distance=0.
[0145] In addition, the sampling interval can be unequal. For example, for the same data unit, multiple sub_lod_distances can be signaled and multiple intervals (periods) can be allocated. For example, the value of sub_lod_distance can be set to "2" and "3", and the intervals can be adopted in the order of 2 → 3 → 2 → 3, and unequal intervals can be achieved. The sampling interval can be indicated by an identification number of a table or function, etc.
[0146] As control information for controlling the sampling interval in sub-layering, any data unit can be set as a target, and signaling can be performed in any data unit. For example, the layer (LoD) of attribute data can be set as the target data unit, and sub_lod_distance can be signaled for each layer of attribute data.
[0147] <sub_lod_mode>
[0148] For example, control information (eg, sub_lod_mode) indicating a sampling method in sub-stratification may be signaled.
[0149] For example, sub_lod_mode=0 indicates that sampling is performed at equal intervals and the same intervals in all sub-layers. That is, in this case, sampling is performed at one type of interval in all sub-layers.
[0150] sub_lod_mode=1 indicates that the sampling interval is Pattern 1 (unequal interval). Similarly, sub_lod_mode=2 indicates that the sampling interval is Pattern 2 (unequal interval) which is different from Pattern 1.
[0151] By performing sampling at unequal intervals, the sampling interval can be changed according to, for example, the depth of the sub-layer (Sub LoD). For example, the sampling interval can also be changed within the sub-layer. That is, in the above Pattern 1 and Pattern 2, the pattern of sampling intervals in all sub-layers is shown. The method of obtaining the pattern distance can be overridden by the head, etc.
[0152] <Other>
[0153] The control information regarding sub-layering is not limited to the above examples. Multiple pieces of control information may be applied. For example, both sub_lod_distance and sub_lod_mode may be applied. For example, sub_lod_enable_flag may be applied together with sub_lod_distance, sub_lod_mode, or both sub_lod_distance and sub_lod_mode.
[0154] <Reverse Hierarchy>
[0155] Attribute data hierarchized and sub-hierarchized in this way can be de-hierarchized using reference relationships between sub-levels (Sub LoDs), such as Figure 3 The table shown is described in "Method 2" from the eighth level on the top.
[0156] For example, Figure 3 As described in "Method 2-1" in the ninth level from the top of the shown table, sub-layers (Sub LoDs) can be generated similarly to the case of "Method 1" described above, and inverse hierarchization can be performed using reference relationships between the generated sub-layers.
[0157] For example, the attribute data (attribute information) of a point cloud representing a three-dimensional object can be hierarchical to generate reference relationships between the attribute data of the layers, the attribute data in the layers can be sub-hierarchical to generate reference relationships between the attribute data of the sub-layers, and the attribute data can be inversely hierarchical based on the reference relationships between the generated attribute data of the layers and the reference relationships between the generated attribute data of the sub-layers.
[0158] For example, the information processing device may include: a hierarchical unit that hierarchizes attribute data (attribute information) of a point cloud representing a three-dimensional shape object to generate a reference relationship of the attribute data between layers; a sub-hierarchical unit that sub-hierarchizes the attribute data in the layer generated by the hierarchical unit to generate a reference relationship of the attribute data between sub-layers; and a de-hierarchical unit that de-hierarchizes the attribute data based on the reference relationship of the attribute data between the layers generated by the hierarchical unit and the reference relationship of the attribute data between the sub-layers generated by the sub-hierarchical unit.
[0159] By properly applying the above-mentioned "Method 1" and the like, hierarchical and sub-hierarchical attribute data can be reversely hierarchized, thereby suppressing degradation in coding efficiency.
[0160] For example, in sub-stratification, you can apply Figure 3 The table shown is "Method 1-1-1" in the third level from the top. That is, a sub-layer can be generated by arranging attribute data of the processing target layer in Morton order and sampling some of the attribute data at equal intervals.
[0161] In sub-stratification, for example, you can apply Figure 3 The table shown is "Method 1-1-2" in the fourth level from the top. That is, a sub-layer can be generated by arranging the attribute data of the processing target layer in Morton order and sampling some attribute data at unequal intervals.
[0162] In sub-stratification, for example, Figure 3 As described in "Method 2-2" of the tenth level from the top of the table shown, a sub-layer (Sub LoD) can be generated based on the control information about the sub-stratification of attribute data as signaled in the above-mentioned "Method 1-3", and inverse stratification can be performed using the reference relationship between the generated sub-layers.
[0163] For example, attribute data may be sub-layered based on control information (eg, sub_lod_enable_flag) indicating whether the above-described sub-layering of attribute data is allowed.
[0164] For example, the attribute data may be sub-hierarchical based on the control information (eg, sub_lod_distance) indicating the above-mentioned sampling interval of the attribute data.
[0165] Furthermore, for example, attribute data may be sub-hierarchical based on control information (eg, sub_lod_mode) indicating the above-described sampling method of attribute data.
[0166] Of course, the attribute data may be sub-layered based on other control information. The attribute data may be sub-layered based on multiple pieces of control information.
[0167] By performing inverse hierarchization in this manner, the sub-hierarchical attribute data can be more accurately inverse hierarchized. Therefore, deviation in the prediction direction can be suppressed, and degradation in encoding efficiency can be suppressed.
[0168] <2. First embodiment>
[0169] <Encoding device>
[0170] Next, a device to which the present technology described above in <1. Generation of Sub LoD> is applied will be described. Figure 8 : is a block diagram showing a configuration example of an encoding device as one type of information processing device to which the present technology is applied. Figure 8 The encoding device 100 shown is a device that encodes a point cloud (3D data). The encoding device 100 encodes a point cloud by applying the present technology described above in <1. Generation of Sub LoD>.
[0171] exist Figure 8 In the figure, the main processing units, data flows, etc. are mainly shown, and the present invention is not limited to Figure 8 The main processing units, data flows, etc. shown in FIG. That is, the encoding device 100 may include Figure 8 The processing units are not shown as blocks, or may be included in Figure 8The processing or flow of data not indicated by arrows, etc.
[0172] like Figure 8 As shown, the encoding device 100 includes a position information encoding unit 101, a position information decoding unit 102, a point cloud generation unit 103, an attribute information encoding unit 104 and a bit stream generation unit 105.
[0173] The position information encoding unit 101 encodes the geometric data (position information) of the point cloud (3D data) input to the encoding device 100. Any encoding method can be used as long as the method is a method corresponding to scalable decoding. For example, the position information encoding unit 101 hierarchizes the geometric data to generate an octree and encodes the octree. For example, processing such as filtering or quantization can be performed to suppress noise (perform denoising). The position information encoding unit 101 provides the encoded data of the generated geometric data to the position information decoding unit 102 and the bitstream generation unit 105.
[0174] The position information decoding unit 102 receives the encoded geometric data provided by the position information encoding unit 101 and decodes the encoded data. Any decoding method can be used as long as the decoding method is a method corresponding to the encoding by the position information encoding unit 101. For example, processing such as filtering or inverse quantization can be performed to perform noise removal. The position information decoding unit 102 provides the generated geometric data (decoding result) to the point cloud generation unit 103.
[0175] The point cloud generation unit 103 receives the attribute data (attribute information) of the point cloud input to the encoding device 100 and the geometric data (decoded result) provided by the position information decoding unit 102. The point cloud generation unit 103 performs processing (recoloring processing) to fit the attribute data to the geometric data (decoded result). The point cloud generation unit 103 provides the attribute data corresponding to the geometric data (decoded result) to the attribute information encoding unit 104.
[0176] The attribute information encoding unit 104 acquires the geometric data (decoded result) and attribute data supplied from the point cloud generation unit 103. The attribute information encoding unit 104 encodes the attribute data using the geometric data (decoded result) to generate encoded data of the attribute data.
[0177] At this point, the attribute information encoding unit 104 encodes the attribute data by applying the present technique described above in <1. Generation of Sub-LoDs>. For example, the attribute information encoding unit 104 also generates sub-layers (Sub-LoDs) within the layer (LoD) in the hierarchical structure of the attribute data (attribute information), and creates reference relationships between the attribute data of the sub-layers. The attribute information encoding unit 104 provides the encoded data of the generated attribute data to the bitstream generation unit 105.
[0178] The bitstream generation unit 105 obtains the encoded data of the geometric data provided by the position information encoding unit 101. The bitstream generation unit 105 obtains the encoded data of the attribute data provided by the attribute information encoding unit 104. The bitstream generation unit 105 generates a bitstream including the encoded data. The bitstream generation unit 105 outputs the generated bitstream to the outside of the encoding device 100.
[0179] In this configuration, encoding device 100 generates sublayers within a layer, creates reference relationships for attribute data between the sublayers, and uses these reference relationships to encode the attribute data. This allows for the generation of reference relationships for attribute data within a layer to suppress deviations in the prediction direction and reduce degradation in encoding efficiency.
[0180] The processing units of the encoding device 100 (position information encoding unit 101 to bit stream generation unit 105) all have any configuration. For example, each processing unit can be configured by a logic circuit that implements the above-mentioned processing. Each processing unit may include, for example, a central processing unit (CPU), a read-only memory (ROM) and a random access memory (RAM), and implements the above-mentioned processing by executing a program using them. Of course, each processing unit can have these two configurations, and some of the above-mentioned processing can be implemented by a logic circuit, and the processing can be implemented by executing a program. The configuration of each processing unit can be independent of each other. For example, some processing units can implement some of the above-mentioned processing by a logic circuit, while other processing units can implement the above-mentioned processing by executing a program. In addition, other processing units can use both a logic circuit and a program to perform the above-mentioned processing.
[0181] <Attribute Information Encoding Unit>
[0182] Figure 9 The attribute information encoding unit 104 ( Figure 8 ) is a block diagram of an exemplary main configuration. Figure 9 In the figure, the main processing units, data flows, etc. are mainly shown, and the present invention is not limited to Figure 9 The main processing units, data flows, etc. shown in FIG. That is, in the attribute information encoding unit 104, it can include Figure 9The processing units are not shown as blocks, or may be included in Figure 9 The processing or flow of data not indicated by arrows, etc.
[0183] like Figure 8 As shown, the attribute information encoding unit 104 includes a hierarchical processing unit 111 , a quantization unit 112 , and an encoding unit 113 .
[0184] The hierarchical processing unit 111 performs processing related to the hierarchicalization of attribute data. For example, the hierarchical processing unit 111 obtains attribute data or geometric data (decoding result) provided from the point cloud generation unit 103. The hierarchical processing unit 111 hierarchizes the attribute data using the geometric data. At this time, the hierarchical processing unit 111 performs hierarchicalization by applying the present technology described in <1. Generation of Sub Lod>. For example, the hierarchical processing unit 111 also generates sub-layers (Sub LoDs) in the layer (LoD) in the hierarchicalization of the attribute data (attribute information), and generates a reference relationship of the attribute data between the sub-layers. The hierarchical processing unit 111 provides the hierarchical attribute data (difference) to the quantization unit 112.
[0185] At this time, the hierarchical processing unit 111 may also generate control information regarding sub-hierarchicalization. In this case, the hierarchical processing unit 111 also supplies the generated control information to the quantization unit 112 together with the attribute data (difference value).
[0186] The quantization unit 112 receives the attribute data (and control information, if generated in the stratification unit 111) supplied from the stratification unit 111. The quantization unit 112 quantizes the attribute data. Any quantization method may be used. The quantization unit 112 supplies the quantized attribute data (and control information) to the encoding unit 113.
[0187] The encoding unit 113 receives the quantized attribute data (and control information) provided by the quantization unit 112. The encoding unit 113 encodes the attribute data to generate encoded data of the attribute data. Any encoding method can be used. When control information regarding sub-layering is provided, the encoding unit 113 includes the control information in the generated encoded data. In other words, the encoding unit 113 generates encoded data of the attribute data including the control information regarding sub-layering. The encoding unit 113 provides the generated encoded data to the bitstream generation unit 105.
[0188] By performing hierarchicalization in this manner, the attribute information encoding unit 104 can generate sub-layers within a layer, generate reference relationships between attribute data between the sub-layers, and encode the attribute data using the reference relationships. Thus, it is possible to generate reference relationships between attribute data within a layer, thereby suppressing deviations in the prediction direction and reducing degradation in coding efficiency.
[0189] These processing units (hierarchical processing unit 111 to encoding unit 113) have any configuration. For example, each processing unit can be configured by a logic circuit that implements the above-mentioned processing. Each processing unit may include, for example, a CPU, a ROM, and a RAM, and implements the above-mentioned processing by executing a program using them. Of course, each processing unit can have both configurations, and some of the above-mentioned processing can be implemented by a logic circuit, and the processing can be implemented by executing a program. The configuration of each processing unit can be independent of each other. For example, some processing units can implement some of the above-mentioned processing by a logic circuit, while other processing units can implement the above-mentioned processing by executing a program. In addition, other processing units can use both a logic circuit and a program to perform the above-mentioned processing.
[0190] <Hierarchical Processing Unit>
[0191] Figure 10 is a diagram showing the hierarchical processing unit 111 ( Figure 9 ) is a block diagram of an exemplary main configuration. Figure 10 In the figure, the main processing units, data flows, etc. are mainly shown, and the present invention is not limited to Figure 10 The main processing units, data flows, etc. shown in FIG. That is, the hierarchical processing unit 111 may include Figure 10 The processing units are not shown as blocks, or may be included in Figure 10 The processing or flow of data not indicated by arrows, etc.
[0192] like Figure 10 As shown, the hierarchical processing unit 111 includes a control unit 121 , a hierarchical processing unit 122 , a Sub LoD generating unit 123 , an inverting unit 124 , and a weighting unit 125 .
[0193] The control unit 121 performs processing related to the control of hierarchical and sub-hierarchical formation. For example, the control unit 121 obtains attribute data or geometric data (decoded result) provided by the point cloud generation unit 103. The control unit 121 provides the obtained attribute data or geometric data (decoded result) to the hierarchical processing unit 122.
[0194] The control unit 121 controls the hierarchical processing unit 122 or the Sub LoD generation unit 123 to perform hierarchical processing or sub-hierarchical processing. For example, the control unit 121 performs hierarchical processing or sub-hierarchical processing by applying the present technology described in <1. Sub LoD>. For example, the control unit 121 performs sub-hierarchical processing on a desired layer. In other words, the control unit 121 can perform sub-hierarchical processing on some layers or all layers.
[0195] The control unit 121 may also generate control information regarding the sub-stratification of the attribute data. For example, the control unit 121 may generate the various syntax elements described above in <1. Generation of Sub Lod> (e.g., sub_lod_enable_flag, sub_lod_distance, and sub_lod_mode) as control information. The control unit 121 provides the control information generated in this manner to the quantization unit 112 and transmits the control information to the decoding side.
[0196] The hierarchization processing unit 122 performs processing related to hierarchization of attribute data. For example, the hierarchization processing unit 122 acquires attribute data or geometry data (decoding result) supplied from the control unit 121.
[0197] The hierarchical processing unit 122 hierarchizes the acquired attribute data using the acquired geometric data under the control of the control unit 121. Any hierarchical scheme can be used. For example, a scheme that does not correspond to scalable decoding such as that described in Non-Patent Document 2 can be used, or a scheme that corresponds to scalable decoding described in Non-Patent Document 3 can be used. The hierarchical processing unit 122 supplies the hierarchical attribute data or geometric data to the Sub LoD generation unit 123.
[0198] The Sub LoD generation unit 123 performs processing related to sub-hierarchy. For example, the Sub LoD generation unit 123 acquires hierarchical attribute data or geometric data supplied from the hierarchy processing unit 122.
[0199] The Sub LoD generation unit 123 generates a sub-layer in the layer of attribute data under the control of the control unit 121. The Sub LoD generation unit 123 performs sub-layering using the geometry data. That is, the Sub LoD generation unit 123 is as described above in <1. Generation of Sub LoD> Figure 3 The reference relationship of the attribute data in the layer (LoD) is generated as in "Method 1" at the top level of the table shown.
[0200] In this manner, the Sub LoD generation unit 123 can generate a reference relationship of attribute data in a layer so that deviation in a prediction direction is suppressed, and thus can suppress degradation of encoding efficiency.
[0201] Any generation method may be used. For example, the Sub LoD generation unit 123 may recursively repeat a process in which some attribute data of each point in a layer is sampled (selected) and sub-layered, such as Figure 3 Same as "Method 1-1" in the second level from the top of the table shown.
[0202] The Sub LoD generating unit 123 may generate a sub layer by arranging the attribute data of the processing target layer in a Morton order and sampling some attribute data at equal intervals, such as Figure 3 Described in "Method 1-1-1" in the third level from the top of the table shown.
[0203] The Sub LoD generating unit 123 may generate a sub-layer by arranging the attribute data of the processing target layer in a Morton order and sampling some attribute data at unequal intervals, such as Figure 3 The table shown is described in "Method 1-1-2" in the fourth level from the top.
[0204] Of course, any other method may be used. When the control unit 121 does not allow sub-hierarchy, the Sub LoD generation unit 123 may omit the sub-hierarchy. That is, the Sub LoD generation unit 123 may perform sub-hierarchy only on the layers allowed by the control unit 121.
[0205] In this manner, the Sub LoD generating unit 123 supplies the sub-hierarchized attribute data to the inverting unit 124 under the control of the control unit 121 .
[0206] The inversion unit 124 performs processing related to the inversion of the layer. For example, the inversion unit 124 acquires the attribute data supplied from the Sub LoD generation unit 123. In the attribute data, information on each layer is hierarchized in the order of generation.
[0207] The inversion unit 124 inverts the layers of the attribute data. For example, the inversion unit 124 adds a layer number to each layer of the attribute data in the reverse order of generation (a number for identifying a layer, whose value increases by 1 each time a layer is lowered from the top layer 0, with the bottom layer having the highest number). In other words, by adding a layer number to the data of each layer, each layer is generated in order from the bottom layer to the top layer.
[0208] The inversion unit 124 supplies the attribute data in which the layers are inverted to the weighting unit 125 .
[0209] The weighting unit 125 performs processing related to weighting. For example, the weighting unit 125 acquires the attribute data provided from the inversion unit 124. The weighting unit 125 obtains a weighted value of the acquired attribute data. Any method of obtaining a weighted value can be used.
[0210] For example, the weighting unit 125 may use the reference relationship between sub-layers (Sub LoD) to obtain the weight value, as described above in <1. Generation of Sub LoD> Figure 3 As in "Method 1-2" of the fifth level from the top of the table shown.
[0211] When performing the layering (LoD-ization) of attribute data using the lifting described in Non-Patent Document 2, the weighting unit 125 can reflect the reference relationship of the attribute data between sub-layers in the layering in the weighted value set for each piece of attribute data. In other words, the weighting unit 125 can derive the weighted value based on both the reference relationship of the attribute data between layers and the reference relationship of the attribute data between sub-layers.
[0212] When the attribute data is hierarchized (LoD-ization) using the scheme corresponding to scalable decoding described in Non-Patent Document 3, the weighting unit 125 can reflect the reference relationship of the attribute data between sub-layers in the generated weight value of each layer in the hierarchization, as shown in FIG. Figure 3 Described in "Method 1-2-1" in the sixth level from the top of the table shown.
[0213] Of course, any other method may be used. The weighting unit 125 may omit weighting.
[0214] The weighting unit 125 obtains a predicted value by performing prediction on the attribute data of each point using the reference relationship of the attribute data obtained as described above and the weighted value. The weighting unit 125 obtains a difference between the attribute data of each point and the predicted value.
[0215] The weighting unit 125 supplies the obtained attribute data (difference) to the quantization unit 112 ( Figure 9 ). The weighting unit 125 may provide the obtained weighted value as control information to the quantization unit 112 and transmit the weighted value to the decoding side.
[0216] These processing units (control unit 121 to weighting unit 125) have any configuration. For example, each processing unit can be configured by a logic circuit that implements the above-mentioned processing. Each processing unit may include, for example, a CPU, a ROM, and a RAM, and implements the above-mentioned processing by using them to execute a program. Of course, each processing unit can have these two configurations, and some of the above-mentioned processing can be implemented by a logic circuit, and the processing can be implemented by executing a program. The configuration of each processing unit can be independent of each other. For example, some processing units can implement some of the above-mentioned processing by a logic circuit, while other processing units can implement the above-mentioned processing by executing a program. In addition, other processing units can use both a logic circuit and a program to perform the above-mentioned processing.
[0217] <Encoding Process>
[0218] Next, the processing performed by the encoding device 100 will be described. The encoding device 100 encodes the data of the point cloud by performing encoding. Figure 11 The flowchart describes an example of the encoding process.
[0219] When encoding starts, in step S101 , the position information encoding unit 101 of the encoding device 100 encodes geometric data (position information) of an input point cloud to generate encoded data of the geometric data.
[0220] In step S102 , the position information decoding unit 102 decodes the encoded data of the geometric data generated in step S101 to generate position information.
[0221] In step S103 , the point cloud generation unit 103 performs recoloring processing using the attribute data (attribute information) of the input point cloud and the geometric data (decoding result) generated in step S102 to match the attribute data with the geometric data.
[0222] In step S104, the attribute information encoding unit 104 encodes the attribute data recolored in step S103 to generate encoded attribute data. At this point, the attribute information encoding unit 104 applies the technology described above in <1. Sub-LoD Generation> to perform this processing. The details of attribute information encoding will be described below.
[0223] In step S105 , the bit stream generation unit 105 generates and outputs a bit stream including the encoded data of the geometry data generated in step S101 and the encoded data of the attribute data generated in step S104 .
[0224] When the process of step S105 is completed, encoding is completed.
[0225] By performing the processing of each step in this manner, the encoding device 100 can generate a reference relationship of attribute data in the layer so that deviation in the prediction direction is suppressed, and degradation of encoding efficiency can be suppressed.
[0226] <Attribute Information Encoding Process>
[0227] Next, we will refer to Figure 12 The flowchart is described in Figure 11 An example of the process of attribute information encoding performed in step S104.
[0228] When attribute information encoding begins, in step S111, the hierarchical processing unit 111 of the attribute information encoding unit 104 hierarchizes the attribute data by performing a hierarchical process and obtains the difference in attribute data for each point. At this time, the hierarchical processing unit 111 performs hierarchical processing by applying the present technique described above in <1. Generation of Sub-LoDs>. The details of the hierarchical processing will be described below.
[0229] In step S112 , the quantization unit 112 quantizes each difference value obtained in step S111 .
[0230] In step S113, the encoding unit 113 encodes the difference value quantized in step S112 to generate encoded data of the attribute data. When the control information is generated in the hierarchical processing of step S111, the encoding unit 113 generates the encoded data of the attribute data also including the control information.
[0231] When the process of step S113 ends, the attribute information encoding ends and the process returns to Figure 11 .
[0232] By performing the processing of each step in this manner, the attribute information encoding unit 104 can generate a reference relationship of attribute data in a layer so that deviation in the prediction direction is suppressed, and degradation of encoding efficiency can be suppressed.
[0233] <Hierarchical Processing Flow>
[0234] Next, we will refer to Figure 13 The flowchart is described in Figure 12 An example of the flow of the hierarchical processing performed in step S111 of .
[0235] When the hierarchization process starts, in step S121 , the control unit 121 of the hierarchization processing unit 111 sets the attribute data of all points as processing targets and performs each process of steps S122 to S126 to generate the first layer (LoD).
[0236] By the process of step S127 described later, the first layer (the layer generated first) becomes the bottom layer in the hierarchical attribute data. In other words, it can be said that the control unit 121 sets the bottom layer as the processing target LoD.
[0237] In step S122, the hierarchical processing unit 122 sets a reference point in the processing target point. A reference point is a point that the attribute data references when predicting the attribute data of the prediction point. A prediction point is a point in the attribute data of the prediction layer. In other words, the hierarchical processing unit 122 sets each processing target point as a prediction point or reference point.
[0238] In step S123, the control unit 121 determines whether to generate a sub-layer (Sub LoD) in the layer. For example, the control unit 121 determines whether to sub-layer the layer based on any information such as the user's or application's settings. If it is determined that sub-layering is to be performed, the process proceeds to step S124.
[0239] In step S124, the Sub LoD generation unit 123 generates a sub-layer in the processing target layer using the geometric data. That is, the Sub LoD generation unit 123 generates a reference relationship of the attribute data in the layer (LoD) as described above in <1. Generation of Sub LoD> Figure 3 As in "Method 1" at the top of the table shown.
[0240] Any generation method may be used. For example, the Sub LoD generation unit 123 may apply Figure 3 The second method from the top of the table shown in FIG1 may be "Method 1-1", the third method from the top of the table may be "Method 1-1-1", or the fourth method from the top of the table may be "Method 1-1-2". Of course, the Sub LoD generating unit 123 may apply any other method.
[0241] When the sub-layer is generated, the process proceeds to step S125.
[0242] When it is determined in step S123 that sub-stratification is not performed on the processing target layer, the process of step S124 is skipped and the process proceeds to step S125 .
[0243] In step S125 , the control unit 121 sets the attribute data of the reference point selected in step S122 as a processing target, and performs each process of steps S122 to S126 to generate a subsequent layer (LoD).
[0244] The subsequent layer as a new processing target is the immediately upper layer of the previous processing target layer in the layered attribute data processed in step S127 described below. That is, it can also be said that the control unit 121 updates the processing target LoD to the immediately upper layer.
[0245] In step S126, the control unit 121 determines whether all points have been processed. The above process is repeated to set all points as prediction points (in some cases, prediction is not performed at the final point). In other words, the control unit 121 determines whether all layers have been generated. If it is determined that there are points that have not been selected as prediction points and hierarchization is not complete, the process returns to step S122.
[0246] That is, each process of steps S122 to S126 is performed on the subsequent layer that is considered as a new processing target in step S125. That is, the point set as the previous reference point is set as a prediction point or a reference point. In this way, each process of steps S122 to S126 is recursively repeated for the point set as the reference point to generate each layer and each sub-layer, and to generate reference relationships between layers and between sub-layers.
[0247] When each process of steps S122 to S126 is repeatedly performed to generate all layers (and all sub-layers) and it is determined in step S126 that all points have been processed, the process proceeds to step S127 .
[0248] In step S127 , the reversing unit 124 reverses the layers of the generated attribute data and appends a layer number to each layer in the direction opposite to the generation order.
[0249] In step S128, the weighting unit 125 obtains a weighted value of the attribute data of each point. At this time, the weighting unit 125 obtains a weighted value that reflects the reference relationship between the sub-layers.
[0250] The weighting unit 125 predicts the attribute data of each point using the obtained weighted value and the reference relationship of the attribute data, and obtains a difference between the attribute data and the predicted value.
[0251] In step S129 , the control unit 121 generates control information on sub-hierarchy of attribute data, and transmits the control information to the decoding side.
[0252] When the process of step S129 ends, the hierarchical process ends and the process returns to Figure 12 .
[0253] By performing the processing of each step in this manner, the hierarchical processing unit 111 can generate a reference relationship of attribute data in the layer, thereby suppressing deviation in the prediction direction. Therefore, the encoding device 100 can suppress degradation of encoding efficiency.
[0254] <3. Second embodiment>
[0255] <Decoding Device>
[0256] Next, another example of the apparatus to which the present technology described above in <1. Generation of Sub LoD> is applied will be described. Figure 14 : is a block diagram showing a configuration example of a decoding device as one type of information processing device to which the present technology is applied. Figure 14 The decoding device 200 shown is a device that decodes the encoded data (3D data) of the point cloud. The decoding device 200 decodes the encoded data of the point cloud by applying the present technology described above in <1. Generation of Sub LoD>.
[0257] exist Figure 14 In the figure, the main processing units, data flows, etc. are mainly shown, and the present invention is not limited to Figure 14 The main processing units, data flows, etc. shown in FIG. That is, the decoding device 200 may include Figure 14 The processing units are not shown as blocks, or may be included in Figure 14 The processing or flow of data not indicated by arrows, etc.
[0258] like Figure 14 As shown, the decoding device 200 includes a decoding target LoD depth setting unit 201, a coded data extraction unit 202, a position information decoding unit 203, an attribute information decoding unit 204 and a point cloud generation unit 205.
[0259] The decoding target LoD depth setting unit 201 performs processing related to setting the depth of the decoding target layer (LoD). For example, the decoding target LoD depth setting unit 201 sets the layer for decoding the encoded data of the point cloud held in the encoded data extraction unit 202. Any method of setting the depth of the decoding target layer can be used.
[0260] For example, the decoding target LoD depth setting unit 201 may set the depth based on an instruction related to the depth of the layer from an external source such as a user or an application. The decoding target LoD depth setting unit 201 may acquire and set the depth of the decoding target layer based on any information such as an output image.
[0261] For example, the decoding target LoD depth setting unit 201 may set the depth of the decoding target layer based on the motion (movement, translation, tilt, and scaling) of the viewpoint of the two-dimensional image generated from the point cloud, the viewpoint position, the field angle, and the direction.
[0262] Any data unit for setting the depth of the decoding target layer can be used. For example, the decoding target LoD depth setting unit 201 can set the depth of the layer in the entire point cloud, can set the depth of the layer for each object, or can set the depth of the layer for each partial area in the object. Of course, the depth of the layer can also be set using data units other than those in this example.
[0263] The coded data extraction unit 202 acquires and retains the bitstream input to the decoding device 200. The coded data extraction unit 202 extracts coded data of geometric data (position information) and attribute data (attribute information) from the retained bitstream, from the topmost layer to the layer specified by the decoding target LoD depth setting unit 201. The coded data extraction unit 202 supplies the extracted coded data of geometric data to the position information decoding unit 203. The coded data extraction unit 202 supplies the extracted coded data of attribute data to the attribute information decoding unit 204.
[0264] The position information decoding unit 203 obtains the encoded data of the geometric data provided by the encoded data extraction unit 202. The position information decoding unit 203 decodes the encoded data of the geometric data to generate geometric data (decoding result). Any decoding method can be used as long as the decoding method is similar to the method used in the position information decoding unit 102 of the encoding device 100. The position information decoding unit 203 provides the generated geometric data (decoding result) to the attribute information decoding unit 204 and the point cloud generation unit 205.
[0265] The attribute information decoding unit 204 obtains the encoded attribute data provided by the encoded data extraction unit 202. The attribute information decoding unit 204 obtains the geometric data (decoding result) provided by the position information decoding unit 203. The attribute information decoding unit 204 decodes the encoded attribute data using the position information (decoding result) to generate attribute data (decoding result) according to the method to which the present technology described above in <1. Generation of Sub LoD> is applied. The attribute information decoding unit 204 provides the generated attribute data (decoding result) to the point cloud generation unit 205.
[0266] The point cloud generation unit 205 receives the geometric data (decoded result) provided by the position information decoding unit 203. The point cloud generation unit 205 also receives the attribute data (decoded result) provided by the attribute information decoding unit 204. The point cloud generation unit 205 generates a point cloud (decoded result) using the geometric data (decoded result) and the attribute data (decoded result). The point cloud generation unit 205 outputs the generated point cloud data (decoded result) to the outside of the decoding device 200.
[0267] In this configuration, the decoding device 200 can perform inverse hierarchicalization using multiple hierarchical schemes. Thus, hierarchical attribute data can be correctly inverse hierarchicalized using multiple hierarchical schemes. That is, coded data encoded using multiple hierarchical schemes can be correctly decoded. Consequently, degradation in coding efficiency can be suppressed.
[0268] These processing units (decoding target LoD depth setting unit 201 to point cloud generation unit 205) have any configuration. For example, each processing unit can be configured by a logic circuit that implements the above-mentioned processing. Each processing unit may include, for example, a CPU, ROM, and RAM, and implements the above-mentioned processing by executing a program using them. Of course, each processing unit can have both configurations, and some of the above-mentioned processing can be implemented by a logic circuit, and the processing can be implemented by executing a program. The configuration of each processing unit can be independent of each other. For example, some processing units can implement some of the above-mentioned processing by a logic circuit, while other processing units can implement the above-mentioned processing by executing a program. In addition, other processing units can use both a logic circuit and a program to perform the above-mentioned processing.
[0269] <Attribute Information Decoding Unit>
[0270] Figure 15 The attribute information decoding unit 204 ( Figure 14 ) is a block diagram of an exemplary main configuration. Figure 15 In the figure, the main processing units, data flows, etc. are mainly shown, and the present invention is not limited to Figure 15 The main processing units, data flows, etc. shown in FIG. That is, in the attribute information decoding unit 204, the following may be included: Figure 15 The processing units are not shown as blocks, or may be included in Figure 15 The processing or flow of data not indicated by arrows, etc.
[0271] like Figure 15 As shown, the attribute information decoding unit 204 includes a decoding unit 211 , an inverse quantization unit 212 , and an inverse hierarchization processing unit 213 .
[0272] The decoding unit 211 performs processing related to decoding of the encoded data of the attribute data. For example, the decoding unit 211 acquires the encoded data of the attribute data supplied to the attribute information decoding unit 204.
[0273] The decoding unit 211 decodes the encoded data of the attribute data to generate the attribute data (decoding result). Any decoding method can be used as long as the decoding method is consistent with the encoding unit 113 ( Figure 9 ) encoding method. The generated attribute data (decoded result) corresponds to the attribute data before encoding. As described in the first embodiment, the generated attribute data is the difference between the attribute data and the predicted value and is quantized. The decoding unit 211 provides the generated attribute data (decoded result) to the inverse quantization unit 212.
[0274] When the encoded data of the attribute data includes control information about the weighting value and control information about the hierarchization of the attribute data, the decoding unit 211 supplies the control information to the inverse quantization unit 212 .
[0275] The inverse quantization unit 212 performs processing related to inverse quantization of attribute data. For example, the inverse quantization unit 212 obtains attribute data (decoding result) supplied from the decoding unit 211. When control information is supplied from the decoding unit 211, the inverse quantization unit 212 also obtains the control information.
[0276] The inverse quantization unit 212 inversely quantizes the attribute data (decoding result). The inverse quantization unit 212 performs inverse quantization on the attribute data (decoding result). Figure 9 ) performs inverse quantization using a method corresponding to the quantization of the decoder. The inverse quantization unit 212 provides the inverse quantized attribute data to the inverse hierarchical processing unit 213. When the control information is obtained from the decoding unit 211, the inverse quantization unit 212 also provides the control information to the inverse hierarchical processing unit 213.
[0277] The inverse hierarchical processing unit 213 acquires the inversely quantized attribute data supplied from the inverse quantization unit 212. As described above, the attribute data is a difference value. The inverse hierarchical processing unit 213 acquires the geometric data (decoding result) supplied from the position information decoding unit 203. The inverse hierarchical processing unit 213 performs inverse hierarchical processing on the acquired attribute data (difference value) using the geometric data. Inverse hierarchical processing is a process of the hierarchical processing unit 111 ( Figure 9 ) is a hierarchical inverse process.
[0278] At this time, the inverse hierarchization processing unit 213 performs inverse hierarchization by applying the present technology described above in <1. Generation of Sub LoD>. For example, the inverse hierarchization processing unit 213 generates sub-layers (Sub LoDs) in the layer of attribute data, generates reference relationships of attribute data between sub-layers, predicts attribute data using the reference relationships, and performs inverse hierarchization. The inverse hierarchization processing unit 213 provides the inverse hierarchized attribute data as a decoding result to the point cloud generation unit 205 ( Figure 14 ).
[0279] By performing inverse hierarchization in this manner, the attribute information decoding unit 204 can inversely hierarchize the hierarchized and sub-hierarchized attribute data by correctly applying the above-mentioned "method 1." Therefore, the attribute information decoding unit 204 can suppress degradation of encoding efficiency.
[0280] These processing units (decoding unit 211 to inverse hierarchical processing unit 213) have any configuration. For example, each processing unit can be configured by a logic circuit that implements the above-mentioned processing. Each processing unit may include, for example, a CPU, a ROM, and a RAM, and implements the above-mentioned processing by executing a program using them. Of course, each processing unit can have both configurations, and some of the above-mentioned processing can be implemented by a logic circuit, and the processing can be implemented by executing a program. The configuration of each processing unit can be independent of each other. For example, some processing units can implement some of the above-mentioned processing by a logic circuit, while other processing units can implement the above-mentioned processing by executing a program. In addition, other processing units can use both a logic circuit and a program to perform the above-mentioned processing.
[0281] <De-hierarchical processing unit>
[0282] Figure 16 is a diagram showing the inverse hierarchical processing unit 213 ( Figure 15 ) is a block diagram of an exemplary main configuration. Figure 16 In the figure, the main processing units, data flows, etc. are mainly shown, and the present invention is not limited to Figure 16 The main processing units, data flows, etc. shown in FIG. That is, in the inverse hierarchical processing unit 213, the inverse hierarchical processing unit 213 may include Figure 16 The processing units are not shown as blocks, or may be included in Figure 16 The processing or flow of data not indicated by arrows, etc.
[0283] like Figure 16 As shown, the inverse hierarchization processing unit 213 includes a control unit 221 , a hierarchization processing unit 222 , a SubLoD generation unit 223 , an inversion unit 224 , and a inverse hierarchization processing unit 225 .
[0284] The control unit 221 performs processing related to hierarchical control. For example, the control unit 221 obtains the data from the inverse quantization unit 212 ( Figure 15 ) provides the inverse quantized attribute data. The control unit 221 acquires the geometric data (decoding result) provided by the position information decoding unit 203. The control unit 221 provides the acquired attribute data or geometric data to the hierarchical processing unit 222. In addition, when control information is provided from the inverse quantization unit 212, the control unit 221 also acquires the control information and provides the control information to the hierarchical processing unit 222.
[0285] The control unit 221 controls the hierarchical processing unit 222 or the Sub-LoD generation unit 223 to hierarchize or sub-stratify the attribute data and generate a layer or a sub-layer structure similar to a sub-layer generated during encoding. For example, the control unit 221 performs hierarchical processing and sub-stratification by applying the present technology described in <1. Generation of Sub-LoD>. For example, the control unit 221 performs sub-stratification on a desired layer. In other words, the control unit 221 can perform sub-stratification on some layers or all layers.
[0286] For example, the control unit 221 may perform sub-hierarchy based on control information related to sub-hierarchy of attribute data, such as from Figure 3 The top of the table shown is like "Method 2-2" in the tenth level.
[0287] For example, the control unit 221 may perform sub-hierarchy of attribute data based on control information (eg, sub_lod_enable_flag) indicating whether sub-hierarchy of attribute data is allowed.
[0288] The control unit 221 may perform sub-hierarchization (sampling) of the attribute data based on control information (eg, sub_lod_distance) indicating a sampling interval of the attribute data.
[0289] Furthermore, the control unit 221 may perform sub-hierarchization (sampling) of attribute data based on control information (eg, sub_lod_mode) indicating a sampling method of attribute data.
[0290] By using the control information transmitted from the encoding side, the control unit 221 can more easily perform sub-stratification similar to that of the encoding side.
[0291] The hierarchical processing unit 222 can perform processing related to the hierarchicalization of attribute data. For example, the hierarchical processing unit 222 acquires attribute data or geometry data (decoding result) supplied from the control unit 221.
[0292] The hierarchical processing unit 222, under the control of the control unit 221, hierarchizes the acquired attribute data using the acquired geometric data. The hierarchical processing scheme may be similar to that of the hierarchical processing unit 122. That is, the hierarchical processing unit 222 hierarchizes the attribute data into a structure similar to that generated by the hierarchical processing unit 122. In other words, the hierarchical structure of the attribute data generated by the hierarchical processing unit 122 is reproduced. The hierarchical processing unit 222 provides the hierarchical attribute data or geometric data to the Sub LoD generation unit 223.
[0293] The Sub LoD generation unit 223 performs processing related to sub-hierarchy. For example, the Sub LoD generation unit 223 acquires hierarchical attribute data or geometric data supplied from the hierarchy processing unit 222.
[0294] The Sub LoD generation unit 223 generates a sub-layer (SubLoD) in the layer of attribute data under the control of the control unit 221. The Sub LoD generation unit 223 performs sub-hierarchization using the geometry data.
[0295] That is, the Sub LoD generating unit 223 generates a sub-layer (Sub LoD) of attribute data in the layer (LoD), such as Figure 3 "Method 2-1" of the ninth level is described above in <1. Generation of Sub LoD> from the top of the shown table, and generates reference relationships between sub-layers.
[0296] In this way, the Sub LoD generation unit 223 can generate a reference relationship of attribute data in a layer so that deviation in the prediction direction is suppressed, and can suppress degradation of encoding efficiency.
[0297] The Sub LoD generation unit 223 performs sub-hierarchy according to a similar scheme to that of the Sub LoD generation unit 123. That is, the Sub LoD generation unit 223 generates a sub-layer having a structure similar to that generated by the Sub LoD generation unit 123. In other words, the structure of the sub-layer of the attribute data generated by the Sub LoD generation unit 123 is reproduced.
[0298] For example, the Sub LoD generation unit 223 may recursively repeat the process of sampling (selecting) some attribute data of each point in the layer and sub-stratifying, such as Figure 3 The top of the table shown is like "Method 1-1" in the second level.
[0299] The Sub LoD generating unit 223 may generate a sub-layer by arranging the attribute data of the processing target layer in a Morton order and sampling some attribute data at equal intervals, such as Figure 3 The third level from the top of the table shown is described in "Method 1-1-1".
[0300] The Sub LoD generation unit 223 may generate a sub-layer by arranging the attribute data of the processing target layer in a Morton order and sampling some attribute data at unequal intervals, such as Figure 3 The table shown is described in "Method 1-1-2" in the fourth level from the top.
[0301] Of course, any other method may be used. When the control unit 221 does not allow sub-hierarchy, the Sub LoD generation unit 223 may omit the sub-hierarchy. That is, the Sub LoD generation unit 223 may perform sub-hierarchy only on the layers allowed by the control unit 221.
[0302] In this manner, the Sub LoD generating unit 223 supplies the sub-hierarchized attribute data to the inverting unit 224 under the control of the control unit 221 .
[0303] The inversion unit 224 performs processing related to layer inversion. For example, the inversion unit 224 acquires attribute data supplied from the Sub LoD generation unit 223.
[0304] The inversion unit 224 inverts the layers of the attribute data as in the case of the inversion unit 124. For example, the inversion unit 224 appends a layer number to each layer of the attribute data in the reverse order of generation (a number for identifying a layer, whose value increases by 1 each time a layer is lowered from the top layer 0 by one layer, and the bottom layer has the largest number).
[0305] The inversion unit 224 supplies the attribute data in which the layers are inverted to the dehierarchization processing unit 225 .
[0306] The inverse hierarchization processing unit 225 performs processing related to inverse hierarchization. For example, the inverse hierarchization processing unit 225 acquires the attribute data provided by the inversion unit 224. This attribute data has a layer structure configured by the difference between the attribute data and the predicted value and generated (reproduced) by the hierarchization processing unit 222, and a sub-layer structure generated (reproduced) by the Sub LoD generation unit 223. The inverse hierarchization processing unit 225 inversely hierarchizes the acquired attribute data to generate (restore) attribute data for each point.
[0307] That is, the inverse hierarchical processing unit 225 performs prediction of attribute data of each point and obtains (restores) attribute data of each point from the difference using the obtained prediction value. At this time, the inverse hierarchical processing unit 225 performs prediction of attribute data (obtains the predicted value of attribute data) using the reference relationship between the reproduced layers or sub-layers, such as Figure 3 The eighth level from the top of the table shown is described in "Method 2".
[0308] For example, the inverse hierarchization processing unit 225 obtains the predicted value of the attribute data of each point of each layer in order from the uppermost layer to the lowermost layer (for each sublayer, from the uppermost sublayer to the lowermost sublayer in the layer).
[0309] Then, the inverse hierarchical processing unit 225 obtains the attribute data of the point by adding the obtained prediction value to the difference value corresponding to the point. In this way, the inverse hierarchical processing unit 225 generates (restores) the attribute data of each point.
[0310] The inverse hierarchical processing unit 225 supplies the attribute data (decoding result) generated (restored) by the inverse hierarchical processing to the point cloud generating unit 205 ( Figure 14 ).
[0311] By performing inverse hierarchization in this manner, the inverse hierarchization processing unit 225 can inversely hierarchize hierarchized and sub-hierarchized attribute data by properly applying the above-described "method 1" etc. Therefore, the decoding device 200 can suppress degradation of encoding efficiency.
[0312] These processing units (control unit 221 to inverse hierarchical processing unit 225) have any configuration. For example, each processing unit can be configured by a logic circuit that implements the above-mentioned processing. Each processing unit may include, for example, a CPU, a ROM, and a RAM, and implements the above-mentioned processing by executing a program using them. Of course, each processing unit can have both configurations, and some of the above-mentioned processing can be implemented by a logic circuit, and the processing can be implemented by executing a program. The configuration of each processing unit can be independent of each other. For example, some processing units can implement some of the above-mentioned processing by a logic circuit, while other processing units can implement the above-mentioned processing by executing a program. In addition, other processing units can use both a logic circuit and a program to perform the above-mentioned processing.
[0313] <Decoding Process>
[0314] Next, the processing performed by the decoding device 200 will be described. The decoding device 200 decodes the encoded data of the point cloud by performing decoding. Figure 17 The flowchart describes an example of the decoding process.
[0315] When decoding starts, the decoding target LoD depth setting unit 201 of the decoding apparatus 200 sets the LoD depth to be decoded (ie, the range of the decoding target layer) in step S201 .
[0316] In step S202, the coded data extraction unit 202 obtains and retains the bitstream, and extracts coded data of geometric data (position information) and attribute data (attribute information) from the top layer to the LoD depth set in step S201. The layers of the extracted geometric data may or may not match the layers (number of layers) of the attribute data.
[0317] In step S203 , the position information decoding unit 203 decodes the encoded data of the geometric data extracted in step S202 to generate geometric data (decoding result).
[0318] In step S204, the attribute information decoding unit 204 decodes the encoded attribute data extracted in step S202 to generate attribute data (decoding result). At this time, the attribute information decoding unit 204 performs processing by applying the present technology described above in <1. Generation of Sub LoD>. The details of attribute information decoding will be described below.
[0319] In step S205 , the point cloud generation unit 205 generates and outputs point cloud data (decoded result) using the geometric data (decoded result) generated in step S203 and the attribute data (decoded result) generated in step S204 .
[0320] When the process of step S205 is completed, decoding is completed.
[0321] By performing the processing of each step in this manner, the decoding device 200 inversely hierarchizes attribute data to be hierarchized and sub-hierarchized by properly applying the above-mentioned "method 1" etc. Therefore, the decoding device 200 can suppress degradation of encoding efficiency.
[0322] <Attribute Information Decoding Process>
[0323] Next, we will refer to Figure 18 The flowchart is described in Figure 17 An example of the process of attribute information decoding performed in step S204.
[0324] When attribute information decoding starts, in step S211, the decoding unit 211 of the attribute information decoding unit 204 decodes the encoded data of the attribute data to generate attribute data (decoding result). As described above, the attribute data (decoding result) is quantized.
[0325] In step S212, the inverse quantization unit 212 inversely quantizes the attribute data (decoding result) generated in step S211 by performing inverse quantization. The inversely quantized attribute data is a difference value.
[0326] In step S213, the inverse hierarchical processing unit 213 inversely hierarchizes the attribute data inversely quantized in step S212, and obtains attribute data for each point by performing the inverse hierarchical processing. At this time, the inverse hierarchical processing unit 213 performs the inverse hierarchical processing by applying the technique described above in <1. Generation of Sub-LoD>. The details of the inverse hierarchical processing will be described below.
[0327] When the process of step S213 ends, the attribute information decoding ends, and the process returns to Figure 17 .
[0328] By performing the processing of each step in this manner, the attribute information decoding unit 204 can reversely hierarchize the hierarchical and sub-hierarchical attribute data by properly applying the above-mentioned "method 1" etc. Therefore, the decoding device 200 can suppress the degradation of encoding efficiency.
[0329] <Flow of De-hierarchization Processing>
[0330] Next, we will refer to Figure 19 The flowchart is described in Figure 18 An example of the flow of the dehierarchical processing performed in step S213.
[0331] When the de-hierarchical processing starts, in step S221, the control unit 221 of the de-hierarchical processing unit 213 and step S121 ( Figure 13 ), the attribute data (difference values) of all points are set as processing targets, and each process in steps S222 to S226 is performed to generate the first layer (LoD).
[0332] By the process of step S227 described below, the first layer (the layer generated first) becomes the bottom layer in the hierarchical attribute data. In other words, it can be said that the control unit 221 sets the bottom layer as the processing target LoD.
[0333] In step S222, the hierarchical processing unit 222 and the hierarchical processing unit 222 in step S122 ( Figure 13 ), a reference point is set in the processing target point. That is, it can also be said that the hierarchical processing unit 222 sets each processing target point as a prediction point or a reference point.
[0334] In step S223, the same as step S123 ( Figure 13 ), the control unit 221 determines whether to generate a sub-layer (Sub LoD) in the layer. The control unit 221 can perform this determination based on any information, etc. For example, the control unit 221 determines whether to generate a sub-layer for the layer based on control information transmitted from the encoding side. If it is determined that sub-layering is to be performed, the process proceeds to step S224.
[0335] In step S224, the same as step S124 ( Figure 13 ), the Sub LoD generation unit 223 generates a sublayer in the processing target layer using the geometric data. That is, as described above in <1. Generation of Sub LoD> Figure 3As in “Method 2-1” at the ninth level from the top of the table shown in , the Sub LoD generation unit 223 generates sub-layers (Sub LoDs) of attribute data in the layer (LoD), and generates reference relationships between the sub-layers.
[0336] That is, in step S224, the Sub-LoD generation unit 223 performs sub-hierarchy according to a scheme similar to that performed in step S124. Specifically, the Sub-LoD generation unit 223 generates a sub-layer having a structure similar to that generated in step S124. In other words, the structure of the sub-layer of attribute data generated in step S124 is reproduced.
[0337] For example, the Sub LoD generation unit 223 may apply Figure 3 The second level "Method 1-1" from the top of the table shown may be applied to the third level "Method 1-1-1" or the fourth level "Method 1-1-2." Of course, the Sub LoD generation unit 223 may apply any other method.
[0338] When the sub-layer is generated, the process proceeds to step S225.
[0339] When it is determined in step S223 that sub-stratification is not performed on the processing target layer, the processing of step S224 is skipped, and the processing proceeds to step S225.
[0340] In step S225, the control unit 221 performs the operation as in step S125 ( Figure 13 ), the attribute data of the reference point selected in step S222 is set as the processing target, and each process of steps S222 to S226 is performed to generate a subsequent layer (LoD).
[0341] The subsequent layer as a new processing target is the immediately upper layer of the previous processing target in the attribute data hierarchized by the process of step S227 described below. In other words, it can be said that the control unit 221 updates the processing target LoD to the immediately upper layer.
[0342] In step S226, the control unit 221 performs the same operation as in step S126 ( Figure 13 ), it is determined whether all points have been processed. The above process is repeated to set all points as prediction points (in some cases, prediction is not performed at the final point). In other words, the control unit 221 determines whether all layers have been generated. If it is determined that there are points that have not been selected as prediction points and hierarchization is not complete, the process returns to step S222.
[0343] That is, each process of steps S222 to S226 is performed on the subsequent layer considered as a new processing target in step S225. That is, the point set as the previous reference point is set as a prediction point or a reference point. In this way, each process of steps S222 to S226 is recursively repeated for the point set as the reference point to generate each layer and each sub-layer, and to generate (reproduce) the reference relationship between the layers and between the sub-layers.
[0344] When each process of steps S222 to S226 is repeatedly performed to generate (reproduce) all layers (and all sub-layers) and it is determined in step S226 that all points have been processed, the process proceeds to step S227.
[0345] In step S227, the inversion unit 224 inverts the layer of the generated attribute data, and performs the same operation as in step S127 ( Figure 13 ), a layer number in the direction opposite to the generation order is added to each layer. Thus, attribute data having a hierarchical structure configured by the difference between the attribute data and the predicted value and generated (reproduced) in step S222 and a structure of sub-layers generated (reproduced) in step S224 is generated (reproduced).
[0346] In step S228 , the inverse hierarchization processing unit 225 inversely hierarchizes the generated attribute data, and generates (restores) attribute data for each point.
[0347] That is, the inverse hierarchical processing unit 225 performs prediction of attribute data of each point and obtains (restores) attribute data of each point according to the difference using the obtained prediction value. At this time, the inverse hierarchical processing unit 225 performs prediction of attribute data (obtains the predicted value of attribute data) using the reference relationship between the layers or sub-layers reproduced as described above, as shown in FIG. Figure 3 The table shown is described in "Method 2" in the eighth level from the top.
[0348] For example, the inverse hierarchization processing unit 225 obtains the predicted value of the attribute data of each point of each layer in order from the uppermost layer to the lowermost layer (for each sublayer, in order from the uppermost sublayer to the lowermost sublayer).
[0349] Then, the inverse hierarchical processing unit 225 obtains the attribute data of the point by adding the obtained prediction value to the difference value corresponding to the point. In this way, the inverse hierarchical processing unit 225 generates (restores) the attribute data of each point.
[0350] When the generation (restoration) and inverse hierarchization of attribute data of all points are completed, the inverse hierarchization process ends, and the process returns to Figure 18 .
[0351] By performing the processing of each step in this manner, the inverse hierarchization processing unit 213 can inversely hierarchize hierarchized and sub-hierarchized attribute data by properly applying the above-mentioned "method 1" etc. Therefore, the decoding device 200 can suppress degradation of encoding efficiency.
[0352] <4. Supplement>
[0353] <Hierarchical and De-hierarchical Methods>
[0354] While boosting has been described above as an example of a hierarchical and de-hierarchical method for attribute information, the present technology can be applied to any technology for hierarchicalizing attribute information. That is, the hierarchical and de-hierarchical method for attribute information may be a method other than boosting.
[0355] <Computer>
[0356] The above series of processes can be performed by hardware or software. When the series of processes are performed by software, the program including the software is installed in the computer. Here, the computer includes a computer embedded in dedicated hardware, or, for example, a general-purpose personal computer capable of performing various functions by installing various programs.
[0357] Figure 20 : is a block diagram illustrating an exemplary hardware configuration of a computer that executes the above-described series of processes according to a program.
[0358] exist Figure 20 In the illustrated computer 900 , a central processing unit (CPU) 901 , a read-only memory (ROM) 902 , and a random access memory (RAM) 903 are connected to one another via a bus 904 .
[0359] An input / output interface 910 is also connected to the bus 904. An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
[0360] The input unit 911 is, for example, a keyboard, a mouse, a microphone, a touch panel, or an input terminal. The output unit 912 is, for example, a display, a speaker, or an output terminal. The storage unit 913 is, for example, a hard disk, a RAM disk, or a nonvolatile memory. The communication unit 914 is, for example, a network interface. The drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
[0361] In the computer having the above-described configuration, the CPU 901 executes the above-described series of processing by, for example, loading a program stored in the storage unit 913 onto the RAM 903 via the input / output interface 910 and the bus 904 and executing the program. In the RAM 903, data and the like necessary for the CPU 901 to execute various types of processing are also appropriately stored.
[0362] For example, the program executed by the computer may be recorded on the removable medium 921 serving as a package medium of the application program. In this case, the program can be installed to the storage unit 913 via the input / output interface 910 by mounting the removable medium 921 in the drive 915.
[0363] The program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In this case, the program can be received by the communication unit 914 and installed in the storage unit 913.
[0364] Furthermore, the program may be installed in the ROM 902 or the storage unit 913 in advance.
[0365] <Application target of existing technology>
[0366] The above describes the application of this technology to the encoding and decoding of point cloud data. However, this technology is not limited to these cases and can be applied to the encoding and decoding of 3D data of any standard. In other words, any of various types of processing, such as encoding and decoding schemes, and any of various data specifications, such as 3D data or metadata, can be used, as long as the processing and specifications are incompatible with the above-described technology. Some of the above-described processing or specifications may be omitted as long as they are inconsistent with the present technology.
[0367] The encoding device 100 and the decoding device 200 have been described above as application examples of the present technology, but the present technology can be applied to any configuration.
[0368] For example, the present technology can be applied to various electronic devices, such as wired broadcasting by satellite broadcasting, cable television, etc., transmission via the Internet, or transmission via cellular communication to a transmitter or receiver in a terminal (for example, a television receiver or mobile phone), or a device that records images on a medium such as an optical disc, a magnetic disk, a flash memory, etc. or reproduces images from a storage medium (such as a hard disk recorder or a camera device).
[0369] For example, the present technology can be implemented as a configuration of a part of a device such as a processor of a system large-scale integration (LSI) (e.g., a video processor), a module using multiple processors, etc. (e.g., a video module), a unit using multiple modules, etc. (e.g., a video unit), or a group having other functions added to the unit (e.g., a video group).
[0370] For example, the present technology can also be applied to a network system composed of multiple devices. For example, the present technology can be implemented as cloud computing that collaboratively shares or processes with multiple devices via a network. For example, the present technology can be implemented in a cloud service that provides image (moving image) related services to any terminal such as a computer, audio-visual (AV) device, portable information processing terminal, or Internet of Things (IoT).
[0371] In this specification, a system is a group of multiple components (devices, modules (components), etc.), and all of these components may not be housed in the same housing. Therefore, multiple devices housed in different housings and connected via a network, as well as a single device housing multiple modules in a single housing, are both systems.
[0372] <Fields and Purposes Where This Technology Can Be Applied>
[0373] Systems, devices, processing units, and the like using this technology can be used in any field, such as transportation, medical care, security, agriculture, animal husbandry, mining, beauty, factories, home appliances, weather and nature monitoring, and can be set for any purpose.
[0374] <Other>
[0375] In this specification, a "flag" is information for identifying a plurality of states, including not only information for identifying two states of true (1) and false (0), but also information for identifying three or more states. Therefore, the value of the "flag" may be a binary value 1 / 0, or may be, for example, a ternary value, etc. That is, any number of bits in the "flag" may be used and may be 1 bit or more. For identification information (also including a flag), it is assumed that the identification information is included in a bit stream, and differential information of the identification information relative to information used as a specific standard is included in the bit stream. Therefore, in this specification, a "flag" or "identification information" includes not only the information, but also differential information about the information used as a standard.
[0376] Various types of information (metadata, etc.) about coded data (bitstream) can be transmitted or recorded in any form as long as the information is associated with the coded data. Here, the term "associated" means that, for example, when processing one piece of data, another piece of data can be used (can be linked). That is, the associated data can be collected as one piece of data, or can be separate data. For example, information associated with coded data (image) can be transmitted on a transmission path different from the transmission path of the coded data (image). For example, information associated with coded data (image) can be recorded on a recording medium different from the coded data (image) (or a separate recording area of the same recording medium). "Associated" may not be the entire data, but a part of the data. For example, an image and information corresponding to an image can be associated with any unit such as multiple frames, one frame, or a part of a frame.
[0377] In this specification, terms such as "combine", "multiplex", "add", "integrate", "include", "store", "push", "enter" or "insert" refer to a plurality of things being collected as one, for example, encoded data and metadata being collected as one data, and mean a method of the above-mentioned "association".
[0378] The embodiment of the present technology is not limited to the above-described embodiment and various changes can be made within the scope of the present technology without departing from the gist of the present technology.
[0379] For example, a configuration described as one device (or processing unit) may be divided and configured into a plurality of devices (or processing units). In contrast, a configuration described as a plurality of devices (or processing units) may be collected and configured into one device (or processing unit). Configurations other than the above configurations may be added to the configuration of each device (or each processing unit). Furthermore, when the configuration or operation in the entire system is substantially the same, a portion of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or another processing unit).
[0380] For example, the above program can be executed in any device. In this case, the device can have necessary functions (functional blocks, etc.) and can obtain necessary information.
[0381] For example, each step of a flowchart may be executed by a single device, or may be shared and executed by multiple devices. Furthermore, when multiple types of processing are included in a single step, the multiple types of processing may be executed by a single device, or may be shared and executed by multiple devices. In other words, the multiple types of processing included in a single step may be executed as a single step. In contrast, a process described as a single step may be executed collectively as a single step.
[0382] For example, for a program executed by a computer, the processing of the steps describing the program may be performed in chronological order according to the order described in this specification, or may be performed in parallel or individually at necessary timings, such as when the program is called. That is, the processing of each step may be performed in an order different from the order described above, as long as no inconsistency occurs. Furthermore, the processing of the steps describing the program may be performed in parallel with the processing of another program or may be performed in conjunction with the processing of another program.
[0383] For example, various techniques related to the present technology can be implemented independently and separately, as long as no inconsistencies occur. Of course, any of the various techniques can be implemented together. For example, some or all of the techniques described in several embodiments can be implemented in combination with some or all of the techniques described in other embodiments. Part or all of any of the above-described techniques can also be implemented together with another technique not described above.
[0384] The present technology may also be configured as follows.
[0385] (1) An information processing device comprising:
[0386] a hierarchical unit configured to hierarchize attribute information of a point cloud expressing an object of a three-dimensional shape as a point set, and generate a reference relationship of the attribute information between layers; and
[0387] A sub-hierarchical unit is configured to sub-hierarchically perform attribute information of the layer in the layer of attribute information generated by the hierarchical unit, and generate a reference relationship of the attribute information between the sub-layers.
[0388] (2) The information processing device according to (1), wherein the sub-hierarchicalization unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at equal intervals.
[0389] (3) The information processing device according to (1), wherein the sub-hierarchicalization unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at unequal intervals.
[0390] (4) The information processing device according to any one of (1) to (3) further includes a weighting unit, which is configured to obtain the weighted value by updating the weighted value of each attribute information of each layer based on the reference relationship of the attribute information between the sub-layers generated by the sub-stratification unit.
[0391] (5) The information processing device according to any one of (1) to (3) further includes a weighting unit, which is configured to obtain a weighted value of each attribute information based on the reference relationship of the attribute information between the layers generated by the hierarchical unit and the reference relationship of the attribute information between the sub-layers generated by the sub-hierarchical unit.
[0392] (6) The information processing device according to any one of (1) to (5), further including an encoding unit configured to encode the attribute information and generate encoded data of the attribute information.
[0393] (7) The information processing apparatus according to (6), further comprising a generation unit configured to generate control information regarding sub-hierarchy of the attribute information,
[0394] The encoding unit generates encoded data including the control information generated by the generating unit.
[0395] (8) The information processing device according to (7), wherein the generation unit generates control information indicating whether the sub-hierarchicalization of the attribute information is permitted.
[0396] (9) The information processing device according to (7) or (8), wherein the generation unit generates control information indicating a sampling interval of the attribute information by the sub-hierarchical unit.
[0397] (10) In the information processing device according to any one of (7) to (9), the generation unit generates control information indicating a method of sampling the attribute information by the sub-hierarchical unit.
[0398] (11) An information processing method comprising:
[0399] hierarchical attribute information of a point cloud representing a three-dimensional object as a point set, and generating reference relationships of the attribute information between layers; and
[0400] The attribute information of the layer is divided into sub-layers in the generated attribute information layer, and a reference relationship of the attribute information between the sub-layers is generated.
[0401] (12) An information processing device comprising:
[0402] a hierarchical unit configured to hierarchize attribute information of a point cloud expressing an object of a three-dimensional shape as a point set, and generate a reference relationship of the attribute information between layers;
[0403] a sub-hierarchical unit configured to sub-hierarchically perform attribute information of the layer in the layer of attribute information generated by the hierarchical unit, and generate a reference relationship of the attribute information between the sub-layers; and
[0404] A de-hierarchical unit is configured to de-hierarchize the attribute information based on the reference relationship of the attribute information between the layers generated by the hierarchical unit and the reference relationship of the attribute information between the sub-layers generated by the sub-hierarchical unit.
[0405] (13) The information processing device according to (12), wherein the sub-hierarchicalization unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at equal intervals.
[0406] (14) The information processing device according to (12), wherein the sub-hierarchicalization unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at unequal intervals.
[0407] (15) The information processing device according to any one of (12) to (14), further including a decoding unit configured to decode the encoded data of the attribute information to restore the attribute information.
[0408] (16) The information processing device according to (15),
[0409] wherein the decoding unit decodes the encoded data to restore the sub-layered control information about the attribute information, and
[0410] The sub-hierarchical unit sub-hierarchically performs the attribute information on the basis of the control information restored by the decoding unit.
[0411] (17) The information processing device according to (16), wherein the sub-stratification unit sub-stratifies the attribute information based on control information restored by the decoding unit and indicating whether the sub-stratification of the attribute information is allowed.
[0412] (18) The information processing device according to (16) or (17), wherein the sub-stratification unit sub-stratifies the attribute information based on control information restored by the decoding unit and indicating a sampling interval of the attribute information.
[0413] (19) An information processing device according to any one of (16) to (18), wherein the sub-stratification unit sub-stratifies the attribute information based on control information restored by the decoding unit and indicating a method for sampling the attribute information.
[0414] (20) An information processing method comprising:
[0415] hierarchical attribute information of a point cloud representing a three-dimensional object as a point set, and generate reference relationships of the attribute information between layers;
[0416] Sub-hierarchizing the attribute information of the layer in the generated attribute information layer, and generating reference relationships of the attribute information between the sub-layers; and
[0417] The attribute information is de-hierarchized based on the generated reference relationship of the attribute information between the layers and the generated reference relationship of the attribute information between the sub-layers.
[0418] [Reference Signs List]
[0419] 100 Encoding device
[0420] 101 Position information encoding unit
[0421] 102 Position information decoding unit
[0422] 103 Point Cloud Generation Unit
[0423] 104 Attribute Information Coding Unit
[0424] 105 Bitstream Generation Unit
[0425] 111 Hierarchical Processing Unit
[0426] 112 Quantization Unit
[0427] 113 coding units
[0428] 121 control unit
[0429] 122 Hierarchical Processing Units
[0430] 123 Sub LoD Generation Unit
[0431] 124 Inversion Unit
[0432] 125 weighted units
[0433] 200 Decoding Device
[0434] 201 Decoding target LoD depth setting unit
[0435] 202 Encoded data extraction unit
[0436] 203 Position information decoding unit
[0437] 204 Attribute Information Decoding Unit
[0438] 205 Point Cloud Generation Unit
[0439] 211 decoding unit
[0440] 212 Inverse Quantization Unit
[0441] 213 Inverse Hierarchical Processing Unit
[0442] 221 control unit
[0443] 222 Hierarchical Processing Unit
[0444] 223 Sub LoD Generation Unit
[0445] 224 Inversion Unit
[0446] 225 Inverse Hierarchical Processing Unit
Claims
1. An information processing device, comprising: a hierarchical unit configured to hierarchize attribute information of a point cloud expressing an object of a three-dimensional shape as a point set, and generate a reference relationship of the attribute information between a plurality of layers; a sub-hierarchical unit configured to sub-hierarchically perform attribute information of a processing target layer among the plurality of layers to generate a reference relationship of the attribute information between the plurality of sub-layers; as well as A weighting unit is configured to obtain a single weighting value for a corresponding layer among the plurality of layers in a case where the attribute information is layered using a scheme corresponding to scalable decoding.
2. The information processing device according to claim 1, wherein The sub-hierarchical unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at equal intervals.
3. The information processing device according to claim 1, wherein The sub-hierarchical unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at unequal intervals.
4. The information processing device according to claim 1, wherein the weighting unit is further configured to obtain the weighted value by updating the weighted value of each piece of attribute information of each layer according to the reference relationship of the attribute information between the sub-layers generated by the sub-stratification unit.
5. An information processing device according to claim 1, wherein the weighting unit is further configured to obtain a weighted value of each piece of attribute information based on the reference relationship of the attribute information between the layers generated by the hierarchical unit and the reference relationship of the attribute information between the sub-layers generated by the sub-hierarchical unit. 6 . The information processing apparatus according to claim 1 , further comprising an encoding unit configured to encode the attribute information and generate encoded data of the attribute information.
7. The information processing apparatus according to claim 6, further comprising a generating unit configured to generate control information on sub-hierarchy of the attribute information, in, The encoding unit generates encoded data including the control information generated by the generating unit.
8. The information processing apparatus according to claim 7, wherein: The generation unit generates control information indicating whether the sub-hierarchicalization of the attribute information is permitted.
9. The information processing apparatus according to claim 7, wherein: The generating unit generates control information indicating an interval at which the attribute information is sampled by the sub-hierarchical unit.
10. The information processing apparatus according to claim 7, wherein: The generating unit generates control information indicating a method of sampling the attribute information by the sub-hierarchical unit.
11. The information processing apparatus according to claim 1, wherein: The weighting unit is further configured to obtain corresponding weighted values of the plurality of pieces of property information for each of the plurality of layers in a case where the property information is layered using a scheme corresponding to non-scalable decoding.
12. An information processing method, comprising: hierarchical attribute information of a point cloud representing a three-dimensional object as a point set, and generating reference relationships between attribute information of multiple layers; Sub-hierarchizing the attribute information of the processing target layer among the multiple layers to generate a reference relationship of the attribute information between the multiple sub-layers; as well as In case the attribute information is layered using a scheme corresponding to scalable decoding, a single weighted value of a corresponding layer among the plurality of layers is obtained.
13. An information processing device comprising: a hierarchical unit configured to hierarchize attribute information of a point cloud expressing an object of a three-dimensional shape as a point set, and generate a reference relationship of the attribute information between a plurality of layers; a sub-hierarchical unit configured to sub-hierarchically perform attribute information of a processing target layer among the plurality of layers to generate a reference relationship of the attribute information between the plurality of sub-layers; a de-hierarchicalization unit configured to de-hierarchize the attribute information based on the reference relationship of the attribute information between the plurality of layers generated by the hierarchicalization unit and the reference relationship of the attribute information between the plurality of sub-layers generated by the sub-hierarchicalization unit; as well as A weighting unit is configured to obtain a single weighting value for a corresponding layer among the plurality of layers in a case where the attribute information is layered using a scheme corresponding to scalable decoding. The information processing apparatus according to claim 13 , wherein: The sub-hierarchical unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at equal intervals.
15. The information processing apparatus according to claim 13, wherein: The sub-hierarchical unit sub-hierarchically arranges the attribute information of the processing target layer in a Morton order and samples the attribute information at unequal intervals. 16 . The information processing apparatus according to claim 13 , further comprising a decoding unit configured to decode the encoded data of the attribute information to restore the attribute information.
17. The information processing device according to claim 16, in, The decoding unit decodes the encoded data to restore sub-layered control information about the attribute information, and The sub-hierarchical unit sub-hierarchically performs the attribute information on the basis of the control information restored by the decoding unit.
18. The information processing apparatus according to claim 17, wherein: The sub-hierarchical unit sub-hierarchically performs the attribute information on the basis of control information restored by the decoding unit and indicating whether the sub-hierarchical performance of the attribute information is permitted.
19. The information processing apparatus according to claim 17, wherein: The sub-hierarchical unit sub-hierarchically performs the attribute information on the basis of the control information restored by the decoding unit and indicating a sampling interval of the attribute information.
20. The information processing apparatus according to claim 17, wherein: The sub-hierarchical unit sub-hierarchically performs the attribute information on the basis of the control information restored by the decoding unit and indicating a method of sampling the attribute information.
21. The information processing apparatus according to claim 13, wherein: The weighting unit is further configured to obtain corresponding weighted values of the plurality of pieces of property information for each of the plurality of layers in a case where the property information is layered using a scheme corresponding to non-scalable decoding.
22. An information processing method, comprising: hierarchical attribute information of a point cloud representing a three-dimensional object as a point set, and generating reference relationships between attribute information of multiple layers; Sub-hierarchizing the attribute information of the processing target layer among the multiple layers to generate a reference relationship of the attribute information between the multiple sub-layers; De-hierarchizing the attribute information based on the generated reference relationship of the attribute information between the multiple layers and the generated reference relationship of the attribute information between the multiple sub-layers; as well as In case the attribute information is layered using a scheme corresponding to scalable decoding, a single weighted value of a corresponding layer among the plurality of layers is obtained.
Citation Information
Patent Citations
Three-dimensional data coding method, three-dimensional data decoding method, three-dimensional data coding device, and three-dimensional data decoding device
CN108369751A