Information processing device and method
By using multiple hierarchical methods in the information processing device to layer and inversely layer the attribute information of point cloud data, the problem of decreasing encoding efficiency in the prior art is solved, and efficient and flexible point cloud data encoding is achieved.
Patent Information
- Application Number
- CN202080038761.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-02
- Filing Date
- 2020-06-18
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2040-06-18
AI Technical Summary
The prior art encodes point cloud data, encoding efficiency may be reduced, especially when points are in sparse states.
By using multiple hierarchical methods in the information processing device to layer and inversely layer the attribute information of the point cloud data, specifically, it includes classifying the points into prediction points or reference points, derive the predicted value of the attribute information of the predicted point using the attribute information of the reference point, and derive the difference between the attribute information of the predicted point and the predicted value. The hierarchical unit and the inverse hierarchical unit process different levels using different hierarchical methods to generate different hierarchical structures.
Through the switching of multiple hierarchical methods and the control of reference relationships, scalable decoding can be supported while suppressing the reduction of encoding efficiency, improving the efficiency and flexibility of point cloud data encoding.
Smart Images

Figure CN113875248B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing device and method, and in particular to an information processing device and method capable of suppressing a decrease in encoding efficiency. Background Art
[0002] For example, a conventional method for encoding 3D data representing a three-dimensional structure, such as a point cloud, has been designed (for example, see non-patent document 1). Point cloud data is composed of 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 separately for the geometric data and the attribute data. As a method for encoding attribute data, various methods have been proposed. For example, a method using a technique such as Lifting has been proposed (for example, see non-patent document 2). In addition, a method capable of scalably decoding attribute data has also been proposed (for example, see non-patent document 3).
[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,US
[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, CH Summary of the invention
[0011] [Technical issues]
[0012] However, each of these methods has its own characteristics, and all methods may not always be optimal in all cases. For example, the method using the technology described in non-patent document 3 can perform scalable decoding of attribute information that is difficult to perform in the method using Lifting described in non-patent document 2. However, in the method using the technology described in non-patent document 3, the overall coding efficiency may be reduced compared to the method using Lifting described in non-patent document 2.
[0013] In view of such circumstances, the present disclosure aims to suppress a reduction in encoding efficiency.
[0014] [Solution to the problem]
[0015] An information processing device according to one aspect of the present technology is an information processing device for processing attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, the information processing device comprising: a hierarchical unit configured to perform hierarchical processing of the attribute information by recursively repeating the following processing on the reference point among the points classified as a prediction point or a reference point: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein the hierarchical unit hierarchizes a first level using a first hierarchical method, and hierarchizes a second level different from the first level using a second hierarchical method different from the first hierarchical method.
[0016] An information processing method of one aspect of the present technology is an information processing method for: for attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when performing layering of the attribute information by recursively repeating the following processing for a reference point, a plurality of layering methods are used to generate different layers according to the plurality of layering methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0017] An information processing device on the other hand of the present technology is an information processing device for processing attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, the information processing device comprising: an inverse stratification unit configured to perform inverse stratification on attribute information stratified by recursively repeating the following processing on the reference point among the points classified as prediction points or reference points: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein the inverse stratification unit performs inverse stratification on a first level using a first stratification method, and performs inverse stratification on a second level different from the first level using a second stratification method different from the first stratification method.
[0018] An information processing method on the other hand of the present technology is an information processing method for: for attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, when performing inverse stratification on the attribute information that has been stratified by recursively repeating the following processing for a reference point, inverse stratification is performed using multiple stratification methods on different levels according to the multiple stratification methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0019] An information processing device according to another aspect of the present technology is an information processing device for processing attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, the information processing device comprising: a hierarchical unit configured to: recursively repeat the following processing on the reference point among the points classified as a prediction point or a reference point to perform hierarchical processing of the attribute information: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein the hierarchical unit derives predicted values of prediction points of multiple levels with reference to reference points of the same level.
[0020] An information processing method according to another aspect of the present technology is an information processing method for deriving predicted values of predicted points of a plurality of levels with reference to reference points of the same level while performing layering of the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points by recursively repeating the following processing for a reference point: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0021] An information processing device according to another aspect of the present technology is an information processing device for processing attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, the information processing device comprising: an inverse stratification unit configured to: perform inverse stratification on attribute information stratified by recursively repeating the following processing on the reference point among points classified as prediction points or reference points: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein the inverse stratification unit, when performing inverse stratification, derives predicted values of the attribute information of prediction points of multiple levels with reference to the attribute information of the reference points of the same level, and generates the attribute information of the prediction point by adding the derived predicted value to the difference.
[0022] An information processing method according to another aspect of the present technology is an information processing method for deriving predicted values of attribute information of predicted points of multiple levels with reference to attribute information of reference points of the same level when performing inverse stratification on attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, the predicted values of attribute information of predicted points of multiple levels being derived with reference to attribute information of reference points of the same level, and generating the attribute information of the predicted points by adding the derived predicted values to the differences.
[0023] In an information processing device and method of one aspect of the present technology, for the attribute information of each point in a point cloud that represents an object of a three-dimensional shape as a collection of points, when layering of the attribute information is performed by recursively repeating the following processing for a reference point, multiple layering methods are used to generate different levels according to the multiple layering methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0024] In an information processing device and method in another aspect of the present technology, for the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when performing inverse stratification on the attribute information that has been stratified by recursively repeating the following processing for a reference point, inverse stratification is performed on different levels according to the multiple stratification methods using multiple stratification methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0025] In an information processing device and method on another aspect of the present technology, for the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, predicted values of predicted points of multiple levels are derived with reference to reference points of the same level when layering of the attribute information is performed by recursively repeating the following processing for a reference point: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0026] In an information processing device and method of another aspect of the present technology, for the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when inverse stratification is performed on the attribute information that has been stratified by recursively repeating a process of classifying points as prediction points or reference points with respect to reference points, deriving predicted values of the attribute information of the prediction points using the attribute information of the reference points, and deriving the difference between the attribute information of the prediction points and the predicted values, predicted values of the attribute information of prediction points of multiple levels are derived with reference to the attribute information of the reference points of the same level, and the attribute information of the prediction points is generated by adding the derived predicted values to the difference. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] [ Figure 1 ] Figure 1 This is a diagram for describing an example of a state in which Lifting does not support scalable decoding.
[0028] [ Figure 2 ] Figure 2 This is a diagram for describing an example of a state in which Lifting does not support scalable decoding.
[0029] [ Figure 3 ] Figure 3 This is a diagram for describing an example of a state of Lifting that supports scalable decoding.
[0030] [ Figure 4 ] Figure 4 This is a diagram for describing an example of a state of Lifting that supports scalable decoding.
[0031] [ Figure 5 ] Figure 5 It is a diagram used to describe the hierarchical method of attribute data.
[0032] [ Figure 6 ] Figure 6 is a diagram for describing an example of a state when both the Lifting method that supports scalable decoding and the Lifting method that does not support scalable decoding are applied.
[0033] [ Figure 7 ] Figure 7 A diagram for describing Lifting that supports scalable decoding.
[0034] [ Figure 8 ] Figure 8 is a diagram showing a reference relationship.
[0035] [ Fig. 9 ] Fig. 9 It is a diagram used to describe the hierarchical method of attribute data.
[0036] [ Fig.10 ] Fig.10 is a diagram showing a reference relationship.
[0037] [ Fig.11 ] Fig.11 is a block diagram showing an example of main components of an encoding device.
[0038] [ Fig.12 ] Fig.12 is a block diagram showing an example of main components of a property information encoding unit.
[0039] [ Fig.13 ] Fig.13 is a block diagram illustrating an example of the main components of a hierarchical processing unit.
[0040] [ Fig.14 ] Fig.14 is a flowchart for describing an example of the encoding process flow.
[0041] [ Fig.15 ] Fig.15 is a flowchart for describing an example of the attribute information encoding process flow.
[0042] [ Fig.16 ] Fig.16 is a flowchart for describing an example of a hierarchical processing flow.
[0043] [ Fig.17 ] Fig.17 is a block diagram showing an example of main components of a decoding device.
[0044] [ Fig.18 ] Fig.18 is a block diagram showing an example of main components of an attribute information decoding unit.
[0045] [ Fig.19 ] Fig.19 is a block diagram showing an example of main components of a reverse layering processing unit.
[0046] [ Fig. 20 ] Fig. 20 is a flowchart for describing an example of a decoding process flow.
[0047] [ Fig.21 ] Fig.21 is a flowchart for describing an example of the attribute information decoding process flow.
[0048] [ Fig. 22 ] Fig. 22 is a flowchart for describing an example of a de-layering process flow.
[0049] [ Fig.23 ] Fig.23 is a flow chart for describing an example of a scalable inverse tiering process flow.
[0050] [ Fig.24 ] Fig.24 is a flowchart for describing an example of a hierarchical processing flow.
[0051] [ Fig.25 ] Fig.25 is a flowchart for describing an example of a de-layering process flow.
[0052] [ Fig.26 ] Fig.26 is a block diagram illustrating an example of main components of a computer. DETAILED DESCRIPTION
[0053] Hereinafter, a mode for implementing the present disclosure (hereinafter referred to as an embodiment) will be described. The description will be made in the following order.
[0054] 1. Switching between stratification and inverse stratification methods
[0055] 2. Control of reference relationships
[0056] 3. First Embodiment (Encoding Device)
[0057] 4. Second Embodiment (Decoding Device)
[0058] 5. Third Embodiment (Encoding Device)
[0059] 6. Fourth Embodiment (Decoding Device)
[0060] 7. Supplement
[0061] <1. Switching between stratification and inverse stratification methods>
[0062] <Documents supporting technical details and technical terms, etc.>
[0063] The scope of the present technical disclosure includes not only the details described in the embodiments but also the details described in the following non-patent documents known at the time of filing the application.
[0064] Non-patent document 1: (as mentioned above)
[0065] Non-patent document 2: (as mentioned above)
[0066] Non-patent document 3: (as mentioned above)
[0067] Non-patent document 4: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04 / 2017
[0068] Non-patent document 5: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12 / 2016
[0069] Non-patent document 6: Jianle Chen, Elena Alshina, Gary J.Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC1 / SC 29 / WG 11 7th Meeting:Torino,IT,13-21 July 2017
[0070] That is, the details described in the above non-patent literature are also the basis for determining the support conditions. For example, although the quadtree block structure described in non-patent literature 5 and the QTBT (quadtree plus binary tree) block structure described in non-patent literature 6 are not explicitly described in the implementation, they are considered to be included in the disclosure scope of the present technology and meet the support requirements of the claims. In addition, even if technical terms such as parsing, grammar, and semantics are not explicitly described in the implementation, they are considered to be included in the disclosure scope of the present technology and meet the support requirements of the claims.
[0071] <Point Cloud>
[0072] Conventionally, there are 3D data such as point clouds, which represent a three-dimensional structure according to position information, attribute information, etc. of a point group, and meshes, which are composed of vertices, edges, and faces and define a three-dimensional shape using polygonal representation.
[0073] For example, in the case of a point cloud, a three-dimensional structure (an object of a three-dimensional shape) can be represented as a collection of multiple 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) of each point in the point group. The attribute data can include arbitrary information. For example, color information, reflection information, normal information, etc. can be included in the attribute data. Therefore, the data structure is relatively simple, and any spatial structure can be represented with sufficient accuracy using a sufficient number of points.
[0074] <Using voxels to quantify position information>
[0075] Since the amount of such point cloud data is relatively large, an encoding method using voxels is conceived in order to compress the amount of data by encoding, etc. A voxel is a three-dimensional area for quantizing geometric data (position information).
[0076] That is, the three-dimensional area including the point cloud is divided into small three-dimensional areas called voxels, and whether each voxel includes a point is indicated. By doing so, the position of each point is quantified in units of voxels. Therefore, the increase in the amount of information can be suppressed (usually the amount of information can be reduced) by converting the point cloud data into data of voxels (also called voxel data).
[0077] <Octtree>
[0078] In addition, it has been conceived to construct an octree using such voxel data for geometric data. An octree is a tree structure in which voxel data is structured. The value of each bit of the lowest node of the octree represents the presence or absence of a point in each voxel. For example, a value of "1" represents a voxel that includes a point, and a value of "0" represents a voxel that does not include a point. In an octree, 1 node corresponds to 8 voxels. That is, each node of the octree is composed of 8 bits of data, and the 8 bits represent the presence or absence of a point in the 8 voxels.
[0079] In addition, the upper node of the octree indicates the presence or absence of a dot in an area where 8 voxels corresponding to the lower node belonging to the upper node are combined into one voxel. That is, the upper node is generated by combining the information of the voxels of the lower node. Meanwhile, in the case of a node whose value is "0", that is, when all 8 voxels corresponding thereto do not include a dot, the node is deleted.
[0080] By doing so, an octree consisting of nodes whose values are not "0" is constructed. That is, the octree can represent the presence or absence of a point in a voxel at each resolution. According to structuring into an octree and encoding, the position information can be decoded from the lowest resolution (highest level) to the required level (resolution), so that the point cloud data with the required resolution can be reconstructed. That is, information can be easily decoded at an arbitrary resolution without decoding information at unnecessary levels (resolutions). In other words, scalability of voxels (resolutions) can be achieved.
[0081] In addition, as described above, since the resolution of voxels in a region without a point can be reduced by omitting nodes having a value of "0", an increase in the amount of information can be further suppressed (generally, the amount of information can be reduced).
[0082] <lifting>
[0083] On the other hand, when encoding attribute data (attribute information), it is assumed that geometric data (position information) including degradation caused by encoding is known, and encoding is performed using the positional relationship between points. As a method for encoding such attribute data, a method using a transformation called Lifting (RAHT) and a method described in Non-Patent Document 2 are conceived. By applying these techniques, attribute data can be hierarchical like an octree of geometric data.
[0084] For example, in the case of Lifting described in Non-Patent Literature 2, the attribute data of each point is encoded as a difference value relative to a predicted value derived using the attribute data of another point. In this case, the points are hierarchical, and the difference values are derived according to the hierarchical structure.
[0085] That is, for each point's attribute data, the point is classified as a prediction point or a reference point, the predicted value of the attribute data of the prediction point is derived using the attribute data of the reference point, and the difference between the attribute data of the prediction point and the predicted value is derived. This process is recursively repeated for the reference point to stratify the attribute data of each point.
[0086] In the case of Lifting described in Non-Patent Document 2, such layering is performed based on the distance between points using geometric data. That is, a point located within a predetermined distance range from a reference point is set as a prediction point, and a prediction value of the prediction point is derived with reference to the reference point. For example, in Figure 1 In the example, it can be assumed that point P5 is selected as the reference point. In this case, the prediction point is searched within a circular area with a radius R and a center at point P5. In this case, point P9 is located in the area, so point P9 is set as a prediction point (prediction point with point P5 as the reference point) to derive its prediction value with reference to point P5.
[0087] According to such processing, for example, the difference values of points P7 to P9 represented by white circles, the difference values of points P1, P3 and P6 represented by oblique line patterns, and the difference values of points P0, P2, P4 and P5 represented by gray circles are derived as differences of different levels.
[0088] However, this hierarchical structure is generated independently of the hierarchical structure of the geometric data (e.g., octree) and is essentially unrelated to the hierarchical structure of the geometric data. In order to reconstruct the point cloud data, the geometric data needs to be associated with the attribute data, so the geometric data and the attribute data need to be decoded to the highest resolution (i.e., the lowest level).
[0089] For example, when decoding geometry data 1 at a specific resolution, such as Figure 2 As shown, only part of the geometry data 1A may be decoded. However, in order to obtain attribute data of the same resolution, both the geometry data 1 and the attribute data 2 need to be decoded to the highest resolution (i.e., the lowest level). That is, the method using Lifting described in Non-Patent Document 2 does not support resolution scalable decoding.
[0090] <Layer support for scalable decoding>
[0091] On the other hand, the hierarchical support resolution scalable decoding described in non-patent document 3. In the case of the method described in non-patent document 3, the hierarchical support of attribute data is performed so that the hierarchical structure of the attribute data is consistent with the hierarchical structure of the octree of geometric data. That is, when a point exists in an area corresponding to a voxel of geometric data (when attribute data corresponding to the point exists), a reference point and a prediction point are selected so that the point also exists in a voxel one level higher than the voxel (attribute data corresponding to the point exists). That is, attribute information is hierarchical according to the hierarchical structure of the octree of geometric data.
[0092] For example, in Figure 3 , when describing the two-dimensional hierarchical structure for the sake of simplicity of description, voxels 10-1 to 10-4 are formed one level lower than a specific voxel 10, and voxels 10-4-1 to 10-4-4 are formed one level lower than voxel 10-4. Point 11-1 of attribute data (indicating attribute data corresponding to point 11-1, the same below) exists in voxel 10-1. Point 11-2 of attribute data exists in voxel data 10-2, and point 11-3 of attribute data exists in voxel data 10-3. Points 11-4-1 to 11-4-4 of attribute data exist in voxels 10-4-1 to 10-4-4.
[0093] In this case, for voxels 10-4-1 to 10-4-4, for example, point 11-4-1 is set as a reference point, and points 11-4-2 to 11-4-4 are set as prediction points, so that one point (attribute data) is retained in voxel 10-4 which is one level higher than voxels 10-4-1 to 10-4-4.
[0094] Likewise, for the voxels 10-1 to 10-4, for example, the point 11-1 is set as a reference point, and the points 11-2, 11-3, and 11-4-1 are set as prediction points so that one point remains in the voxel 10 one level higher than the voxels 10-1 to 10-4.
[0095] In this way, the same hierarchical structure as that of geometric data can also be achieved for attribute data. Furthermore, the hierarchical structure of attribute data can be associated with the hierarchical structure of geometric data to support scalable decoding.
[0096] For example, when decoding the geometry data 21 at a specific resolution, such as Figure 4 As shown, only part of the geometry data 21A may be decoded. In this case, since the hierarchical structures in the geometry data 21 and the attribute data 22 are associated with each other, only part of the attribute data 22A corresponding to the geometry data 21A may be decoded in the attribute data 22.
[0097] That is, point cloud data can be easily reconstructed at a desired resolution without performing decoding to the lowest level. In this way, the method using the technology described in Non-Patent Document 3 supports resolution scalable decoding.
[0098] However, this method may reduce the encoding efficiency to be lower than that of the method described in Non-Patent Document 2. In particular, when the points are in a sparse state, the reduction in encoding efficiency may be greater.
[0099] <Switching of layering methods during layering>
[0100] Accordingly, in the layering of attribute data, the layering method of attribute data can be switched at the intermediate level, such as Figure 5 The first row of the table shown is described in "Method 1".
[0101] For example, for the attribute information of each point in a point cloud that represents an object of a three-dimensional shape as a collection of points, different levels are generated using multiple hierarchical methods when the attribute information is hierarchized by recursively repeating the following processing for a reference point: classifying the point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving the difference between the attribute information of the predicted point and the predicted value.
[0102] For example, an information processing device may include a hierarchical unit, which performs hierarchical layering of the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points by recursively repeating the following processing for a reference point: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value, wherein the hierarchical unit may perform hierarchical layering using a plurality of hierarchical layering methods, and generate hierarchies that differ according to the hierarchical layering methods. In other words, an information processing device, which processes the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, may include a hierarchical unit, which performs hierarchical layering of the attribute information by recursively repeating the following processing for a reference point: deriving a difference between the predicted value of the attribute information of the predicted point derived using the attribute information of the reference point among the points classified as the predicted point or the reference point and the attribute information of the predicted point, wherein the hierarchical unit may perform hierarchical layering of a first level using a first hierarchical layering method, and perform hierarchical layering of a second level that is different from the first level using a second hierarchical layering method that is different from the first hierarchical layering method.
[0103] By doing so, a hierarchical structure can be formed using a plurality of hierarchical methods, so that a method suitable for the characteristics of each level can be selected. Therefore, hierarchical layers can be performed on more different types of attribute data by a more appropriate method to suppress a decrease in encoding efficiency.
[0104] At the same time, the number of switching of the layering method is arbitrary and can be one or more times. In addition, the number of layering methods applied can be any plural number, such as 3 or more. In addition, the same layering method can be applied multiple times. For example, the layering methods can be switched between in the order of layering method A, layering method B, and layering method A at the intermediate level.
[0105] In addition, when switching between layered methods in this manner, for example, switching can be performed between a method that supports scalable decoding and a method that does not support scalable decoding, such as Figure 5 As described in "Method 1-1" in the second row of the table shown in FIG. 1-1, in other words, some levels of the hierarchical structure of attribute data may be hierarchical according to a method supporting scalable decoding.
[0106] For example, the hierarchical method described in non-patent document 3 (a method that supports scalable decoding) and the Lifting method described in non-patent document 2 (a method that does not support scalable decoding) may be switched at an intermediate level of the hierarchical structure. That is, the hierarchical method described in non-patent document 3 may be applied only to certain levels of the hierarchical structure of attribute data.
[0107] By doing so, only the layers that are likely to be scalably decodable can be generated using the layered method described in Non-Patent Document 3, while the other layers can be generated using Lifting described in Non-Patent Document 2. Therefore, it is possible to suppress a decrease in encoding efficiency compared to the case where all layers are generated using the layered method described in Non-Patent Document 3. In other words, scalable decoding can be supported while suppressing a decrease in encoding efficiency.
[0108] In this case, a layer higher than a predetermined layer may be layered according to a method that does not support scalable decoding, and a predetermined layer and a lower layer may be layered according to a method that supports scalable decoding, for example, Figure 5 As described in "Method 1-1-1" in the third row of the table shown. For example, a layer including a first layer higher than a predetermined layer can be generated according to a first layering method that does not support scalable decoding, and a layer including a second layer lower than a predetermined layer can be generated according to a second layering method that supports scalable decoding.
[0109] In this case, it is possible to switch between Lifting that does not support scalable decoding (the method described in Non-Patent Document 2) and Lifting that supports scalable decoding (the method described in Non-Patent Document 3), for example, Figure 5 As described in "Method 1-1-1-1" in the fourth row of the table shown.
[0110] For example, a layer higher than a predetermined layer may be layered according to Lifting described in Non-Patent Document 2, and a predetermined layer and a lower layer may be layered according to the layering method (Lifting supporting scalable decoding) described in Non-Patent Document 3.
[0111] When a method for supporting scalable decoding is applied to a higher layer where points may be sparse, coding efficiency may be reduced. In addition, the resolution is significantly reduced at a layer close to the highest layer, so it is unlikely to perform decoding at that layer. That is, it is unlikely to perform scalable decoding at a higher layer.
[0112] Therefore, as described above, by applying a method that does not support scalable decoding at a level higher than a predetermined level in the hierarchical structure of attribute data, it is possible to suppress a reduction in encoding efficiency while suppressing substantial restrictions on scalable decoding. In other words, it is possible to support scalable decoding while suppressing a reduction in encoding efficiency.
[0113] In this case, when the geometry data 31 is decoded at a certain resolution, such as Figure 6 As shown, only part of the geometry data 31A may be decoded. In this case, since the hierarchical structures in the geometry data 31 and the attribute data 32 correspond to each other, only part of the attribute data 32A and part of the attribute data 32B corresponding to the geometry data 31A may be decoded.
[0114] That is, the point cloud data can be easily reconstructed at a desired resolution without performing decoding to the lowest level. However, in this case, the attribute data 32A is data that is layered according to Lifting that does not support scalable decoding. That is, in this case, the higher level (stage L1) of the attribute data 32 is layered according to Lifting that does not support scalable decoding, and the level (stage L2) lower than the higher level is layered according to Lifting that supports scalable decoding. Therefore, scalable decoding cannot be performed on the 0th stage to the (L1-1)th stage from the top (both the geometry data 31 and the attribute data 32 need to be decoded to stage L1). However, as described above, since such a higher level has a low resolution, it is unlikely to perform scalable decoding on it, and therefore, it is possible to suppress a reduction in coding efficiency while suppressing substantial restrictions on scalable decoding.
[0115] <Other examples of switching methods>
[0116] At the same time, the level of switching the layering method is arbitrary. In addition, the layering method to be switched may be any method and is not limited to the above example (switching between a method that supports scalable decoding and a method that does not support scalable decoding). For example, a layering method using distance sampling (such as Lifting described in Non-Patent Document 2) and a method of layering points by arranging each point (attribute data corresponding to each point) in Morton order and sampling the points at equal intervals may be switched, such as Figure 5 As described in "Method 1-2" in the fifth row of the table shown.
[0117] For example, a hierarchical method using sampling according to distance can be applied to a hierarchy higher than a predetermined hierarchy, and a hierarchical method using sampling at equal intervals in Morton order can be applied to a predetermined hierarchy and lower hierarchies. By doing so, as in the above example, a reduction in encoding efficiency can be suppressed.
[0118] <Processing Order>
[0119] In the hierarchy, the order of layer processing (generation order) is arbitrary. For example, the hierarchy can be executed sequentially starting from the lowest level, such as Figure 5 As described in "Method 1-3" in the sixth row of the table shown. For example, the levels are generated one by one, and after all the levels are generated, the levels are reversed. For example, the level numbers can be assigned in the reverse order of the generation order. By doing so, the levels can be generated from the lowest level toward the highest level.
[0120] According to the hierarchy, each point is classified as a reference point or a prediction point, and the reference point is processed again as a point of a higher hierarchy. That is, the reference relationship between the hierarchies is constructed according to the hierarchy. As described above, the above recursive processing can be performed by generating the hierarchies in sequence starting from the lowest level, so the reference relationship between the hierarchies can be constructed more easily.
[0121] <Control Information>
[0122] For example, control information about the layering of attribute information (sent from the encoding side to the decoding side) can be sent by signaling, such as Figure 5 As described in "Method 1-4" in the seventh row of the table shown.
[0123] The method of transmitting the control information is arbitrary. For example, the control information may be defined by syntax, etc., included in the encoded data (bit stream) of the point cloud data (e.g., written in a header, etc.), and transmitted. In addition, the control information may be transmitted as data associated with the encoded data of the point cloud data, unlike the encoded data of the point cloud data.
[0124] <scalable_enable_flag>
[0125] The content of the control information is arbitrary. For example, when it is possible to switch between a method supporting scalable decoding and a method not supporting scalable decoding at an intermediate level, control information indicating whether a hierarchical method supporting scalable decoding can be applied can be sent to the decoder side. In this case, the control information can indicate whether a hierarchical method supporting scalable decoding can be applied in any manner.
[0126] For example, scalable_enable_flag can be sent as flag information. scale_enable_flag is flag information indicating whether the layered method supporting scalable decoding can be applied. This flag information indicates that the layered method supporting scalable decoding can be applied when its value is true (for example, "1"), and indicates that the layered method supporting scalable decoding cannot be applied when its value is false (for example, "0"). For example, it can be assumed that the case where scalable_enable_flag is omitted is equivalent to the case where the value of the flag information is false (for example, "0").
[0127] In addition, the data unit used to send the control information (scalable_enable_flag) is arbitrary. For example, scalable_enable_flag can be sent for each sequence of point cloud data. In addition, for example, scalable_enable_flag can be sent for each attribute data. For example, when there are multiple attribute data for geometric data, it is possible to indicate whether a hierarchical method supporting scalable decoding can be applied to each attribute data by sending scalable_enable_flag for each attribute data. That is, for example, only certain attribute data can be made suitable for scalable decoding. It goes without saying that scalable_enable_flag can be sent for each data unit other than these examples.
[0128] By transmitting the control information in this way, the decoding side can recognize whether to perform inverse layering corresponding to the layering method applicable to scalable decoding based on the control information. Therefore, the recognition can be performed more easily. Thus, the increase in the decoding processing load can be suppressed.
[0129] For example, the layered method applicable to scalable decoding is not applied to attribute data for which scalable_enable_flag is false, and therefore processing related to scalable decoding is not required. Therefore, based on the fact that scalable_enable_flag is false, the decoding device can omit all processing related to scalable decoding. For example, reference to control information indicating the range of hierarchical levels to which the layered method applicable to scalable decoding is applied can also be omitted, which will be described later. In addition, determination of whether to use the layered method applicable to scalable decoding can also be omitted at the time of inverse layering. In this way, an increase in the decoding processing load can be suppressed.
[0130] <scalable_enable_num_of_lod>
[0131] In addition, for example, control information indicating a hierarchical range to which the hierarchical method applicable to scalable decoding can be applied may be transmitted to the decoding side. In this case, the control information may indicate a hierarchical range to which the hierarchical method applicable to scalable decoding can be applied in any manner. For example, the control information may indicate a range, indicating a hierarchical level to which the hierarchical method is switched (a hierarchical level as a boundary of the range), or indicating a hierarchical range to which the hierarchical method applicable to scalable decoding is not applied.
[0132] For example, when the control information indicates a range of hierarchical levels to which a hierarchical method suitable for scalable decoding can be applied, the control information may indicate the upper and lower limits of the range, or may indicate the range by the size of the range (number of levels) and the level number (identification number, starting from the highest level 0, and increasing by 1 for each level down) of the reference position of the range (e.g., start position, middle position, end position, etc.). In addition, when the lower limit is equal to the lowest level or the upper limit is equal to the highest level, the range may be indicated by the level number starting from the lower limit (lowest level) or the upper limit (highest level).
[0133] For example, the syntax element scalable_enable_num_of_lod may be sent. scale_enable_num_of_lod is control information indicating the range of hierarchical levels to which a hierarchical method applicable to scalable decoding may be applied. Its value indicates the range of hierarchical levels to which a hierarchical method applicable to scalable decoding may be applied by the number of hierarchical levels starting from the lowest level. That is, when scalable_enable_num_of_lod=N, the encoded data of the attribute data of the levels from the lowest level to the Nth stage is applicable to scalable decoding, and the (N+1)th stage and higher levels are not applicable to scalable decoding.
[0134] By sending such control information, the decoding side can easily and accurately determine the level to which the hierarchical method applicable to scalable decoding can be applied based on the control information. Therefore, the encoded data to which multiple hierarchical methods have been applied can be correctly decoded. Therefore, the reduction in encoding efficiency can be suppressed.
[0135] <Others>
[0136] Meanwhile, the control information is not limited to the above examples, and any information may be transmitted. In addition, the number of pieces of control information transmitted is arbitrary, and multiple pieces of control information may be transmitted. For example, the above scalable_enable_flag and scalable_enable_num_of_lod may be transmitted. scalable_enable_num_of_lod may be transmitted only when scalable_enable_flag is true.
[0137] In any case, scalable_enable_num_of_lod is referred to only when scalable_enable_flag is true, and identifies the level to which the hierarchical method applicable to scalable decoding is applied at the decoding side.
[0138] <Switching of stratification methods in reverse stratification>
[0139] Although the above has described the processing in encoding, the present technology can be applied to the decoding side. For example, in reverse layering, the attribute information layering method can be switched at the middle level (that is, switching between reverse layering methods), such as Figure 5 As described in "Method 2" in the eighth row of the table shown.
[0140] For example, for the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when inverse stratification is performed on the attribute information that has been stratified by recursively repeating the following processing for a reference point, inverse stratification is performed on different levels using multiple stratification methods: points are classified as predicted points or reference points, predicted values of the attribute information of the predicted points are derived using the attribute information of the reference points, and the difference between the attribute information of the predicted points and the predicted values is derived.
[0141] For example, the information processing device may include a reverse stratification unit that performs reverse stratification on the attribute information that has been stratified by recursively repeating the following processing for a reference point: classifying the point as a prediction point or a reference point, deriving a predicted value of the attribute information of the prediction point using the attribute information of the reference point, and deriving a difference between the attribute information of the prediction point and the predicted value, for each point in a point cloud that represents an object of a three-dimensional shape as a set of points, wherein the reverse stratification unit may perform reverse stratification on different levels using a plurality of stratification methods. In other words, the information processing device that processes the attribute information of each point in a point cloud that represents an object of a three-dimensional shape as a set of points may include a reverse stratification unit that performs reverse stratification on the attribute information that has been stratified by recursively repeating the following processing for a reference point among the points that have been classified as a prediction point or a reference point: deriving a difference between the predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein the reverse stratification unit may perform reverse stratification on a first level using a first stratification method, and may perform reverse stratification on a second level that is different from the first level using a second stratification method that is different from the first stratification method.
[0142] By doing so, inverse stratification can be performed using multiple stratification methods, so attribute data stratified using multiple stratification methods can be appropriately inversely stratified. That is, coded data that has been coded using multiple stratification methods can be correctly decoded. Therefore, the reduction in coding efficiency can be suppressed.
[0143] At the same time, the number of switching of the layering method is arbitrary and can be one or more times. In addition, the number of layering methods applied can be any plural number, such as 3 or more. In addition, the same layering method can be applied multiple times. For example, at the middle level, the layering methods can be switched in the order of layering method A, layering method B, and layering method A.
[0144] In addition, as in the case of layering, it is possible to switch between a method suitable for scalable decoding and a method not suitable for scalable decoding, for example, Figure 5 In other words, some levels of the hierarchical structure of attribute data may be inversely hierarchical according to a method suitable for scalable decoding.
[0145] For example, at an intermediate level of the hierarchical structure, switching may be performed between the hierarchical method described in Non-Patent Document 3 (a method that supports scalable decoding) and Lifting (a method that does not support scalable decoding) described in Non-Patent Document 2. That is, the hierarchical method described in Non-Patent Document 3 may be applied only to inverse hierarchicalization of certain levels of the hierarchical structure of attribute data.
[0146] By doing so, scalable decoding can be supported while suppressing a decrease in coding efficiency.
[0147] In this case, the layers higher than the predetermined layer may be inversely layered according to a method not applicable to scalable decoding, and the predetermined layer and the lower layers may be inversely layered according to a method applicable to scalable decoding, for example, Figure 5 As described in "Method 2-1-1" in the tenth row of the table shown. For example, inverse layering may be performed on layers higher than a predetermined layer including a first layer according to a first layering method not applicable to scalable decoding, and inverse layering may be performed on layers lower than a predetermined layer including a second layer according to a second layering method applicable to scalable decoding.
[0148] In this case, for example, Figure 5 As described in "Method 2-1-1-1" in the eleventh row of the table shown, it is possible to switch between Lifting not applicable to scalable decoding (the method described in Non-Patent Document 2) and Lifting applicable to scalable decoding (the method described in Non-Patent Document 3).
[0149] For example, inverse layering can be performed on a layer higher than a predetermined layer according to Lifting described in non-patent document 2, and inverse layering can be performed on a predetermined layer and lower layers according to the layering method described in non-patent document 3 (Lifting applicable to scalable decoding).
[0150] By doing so, it is possible to suppress a reduction in coding efficiency while suppressing substantial restrictions on scalable decoding. In other words, it is possible to apply to scalable decoding while suppressing a reduction in coding efficiency.
[0151] <Other examples of switching methods>
[0152] At the same time, the level of switching the layering method is arbitrary. In addition, the layering method to be switched may be any method and is not limited to the above example (switching between a method that supports scalable decoding and a method that does not support scalable decoding). For example, it is possible to switch between a layering method that uses distance sampling (such as Lifting described in Non-Patent Document 2) and a method that layers points by arranging each point (attribute data corresponding to each point) in Morton order and sampling the points at equal intervals, such as Figure 5 As described in "Method 2-2" in the twelfth row of the table shown.
[0153] For example, a hierarchical method using sampling according to distance can be applied to inverse hierarchical layers of a layer higher than a predetermined layer, and a hierarchical method using sampling at equal intervals in Morton order can be applied to inverse hierarchical layers of a predetermined layer and a lower layer. By doing so, as in the above example, a reduction in coding efficiency can be suppressed.
[0154] <Control Information>
[0155] For example, Figure 5 As described in “Method 2-3” in the thirteenth row of the table shown, inverse layering (switching between inverse layering methods) can be performed based on attribute data transmitted by signaling (transmitted from the encoding side to the decoding side).
[0156] The content of the control information is arbitrary. For example, the control information may be the aforementioned scalable_enable_flag. In addition, the control information may be, for example, the aforementioned scalable_enable_num_of_lod. In addition, both of them are possible. For example, when scalable_enable_flag indicates that a hierarchical method suitable for scalable decoding can be applied, the level of switching the inverse hierarchical method can be identified based on scalable_enable_num_of_lod for the attribute data.
[0157] It goes without saying that examples other than these are possible. By using such control information, it is possible to switch between layered methods as in encoding. Therefore, it is possible to correctly decode coded data to which multiple layered methods have been applied. Therefore, it is possible to suppress the reduction of coding efficiency.
[0158] <2. Control of reference relationship>
[0159] <Hierarchical structure of attribute data>
[0160] However, since attribute data is stratified by classifying its points as reference points or prediction points, nodes may not be formed at the lowest level when the points are sparse.
[0161] For example, in Figure 7 In the region of the voxel 50 shown in A of FIG. 1 , voxels 50-1 to 50-4 are formed at a level one level lower than the voxel 50, as shown in FIG. Figure 7 As shown in B.
[0162] In the case of layered geometry, such as Figure 7 As shown in A of FIG. 5 , even at a level lower than the voxel 50, a node corresponding to the unique point 51 existing in the voxel 50 is generated. For example, in Figure 7 In B, a node of point 51 is formed in voxel 50-4. However, in the case of attribute data, when the unique point 51 is assigned to the level of voxel 50, a node cannot be assigned to a voxel lower than voxel 50.
[0163] Therefore, in the case of attribute data, there may be fewer points at a particular level than at levels above the particular level. Figure 8 A shows an example of a hierarchical structure of attribute data. Figure 8 An example of four levels of level (LoD) = 0 to LoD = 3 is shown in A of FIG. The circle at each level represents a point. In the case of this example, the number of points of LoD = 2 is 6, and the number of points of LoD = 3, which is lower than LoD = 2, is 2. In this case, the reference relationship is formed according to this hierarchical structure, and thus Figure 8 The configuration is shown by the arrow in B.
[0164] The number of levels and the level width (the number of points per level) have optimal values that depend on the data. However, in general, a configuration where the number of points increases monotonically from higher levels to lower levels has the highest coding efficiency. Figure 8 As in the example of , in a configuration where the number of points in the lower layer is less than the number of points in the higher layer, the encoding efficiency may decrease.
[0165] <Merging of nodes at multiple levels>
[0166] Therefore, a reference relationship can be constructed by merging points (nodes) at multiple levels.
[0167] For example, for the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when the attribute information is layered by recursively repeating the following processing for a reference point, the derivation of predicted values of predicted points of multiple levels is performed with reference to the reference points of the same level: the points are classified as predicted points or reference points, the predicted values of the attribute information of the predicted points are derived using the attribute information of the reference points, and the difference between the attribute information of the predicted points and the predicted values is derived.
[0168] For example, an information processing device may include a hierarchical unit, which performs hierarchical attribute information by recursively repeating the following processing for reference points for each point in a point cloud representing an object of a three-dimensional shape as a set of points: classifying a point as a prediction point or a reference point, deriving a predicted value of the attribute information of the prediction point using the attribute information of the reference point, and deriving a difference between the attribute information of the prediction point and the predicted value, wherein the hierarchical unit may perform deriving the predicted values of the prediction points of multiple levels with reference to the reference points of the same level. In other words, an information processing device, which processes the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, may include a hierarchical unit, which performs hierarchical attribute information by recursively repeating the following processing for reference points among the points classified as the prediction point or the reference point: deriving a difference between the predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein the hierarchical unit may perform deriving the predicted values of the prediction points of multiple levels with reference to the reference points of the same level.
[0169] By doing so, a reference relationship of a configuration in which the number of points monotonically increases from a higher level to a lower level can be constructed, and thus a decrease in coding efficiency can be suppressed.
[0170] For example, the nodes (points) of the processing target level are merged into the nodes (points) of the level one level higher to build a reference relationship in the hierarchical structure of the attribute information, such as Fig. 9 As described in "Method 3" in the first row of the table shown in FIG. Figure 8 In the attribute data of the hierarchical structure shown in A of FIG, the points of the level of LoD=3 are merged with the points of the level of LoD=2 which is the level immediately above to construct a reference relationship. By doing so, a reference relationship of a configuration in which the number of points monotonically increases from a higher level to a lower level can be constructed, such as Fig.10 shown.
[0171] Furthermore, when the number of nodes of the processing target level is greater than the number of nodes of the level one level higher, the above processing may be performed, for example, as Fig. 9 As described in "Method 3-1" in the second row of the table shown. That is, when the number of nodes of the processing target level is greater than the number of nodes of the level one level higher, a reference relationship is constructed so that the nodes of the processing target level refer to the nodes of the level one level higher. By doing so, it is easier to construct a reference relationship of a configuration in which the number of points increases monotonically from a higher level to a lower level.
[0172] <Control Information>
[0173] For example, control information about the construction of the reference relationship can be sent by signal (sent from the encoding side to the decoding side), such as Fig. 9 As described in "Method 3-2" in the third row of the table shown.
[0174] The method of transmitting the control information is arbitrary. For example, the control information may be defined by syntax, etc., included in the encoded data (bit stream) of the point cloud data (for example, described in a header, etc.), and transmitted. In addition, the control information may be transmitted as data associated with the encoded data of the point cloud data, unlike the encoded data of the point cloud data.
[0175] <merge_lower_lod_flag>
[0176] The content of the control information is arbitrary. For example, control information indicating whether to construct a reference relationship based on merging with other layers can be sent to the decoding side. In this case, the control information can indicate in any way whether to construct a reference relationship based on merging with other layers.
[0177] For example, merge_lower_lod_flag can be sent as flag information. merge_lower_lod_flag is flag information indicating whether to construct a reference relationship based on a merge with a hierarchy of one higher level. For a point (node) of a hierarchy, merge_lower_lod_flag indicates that a reference relationship is constructed based on a merge with a hierarchy of one higher level when its value is true (for example, "1"), and indicates that a reference relationship is constructed without merging with a hierarchy of one higher level (usually only referring to a hierarchy of one higher level) when its value is false (for example, "0"). For example, it can be assumed that the case where merge_lower_lod_flag is omitted is equivalent to the case where the value of the flag information is false (for example, "0").
[0178] Meanwhile, this control information (merge_lower_lod_flag) is set for each level (layer (LoD)).
[0179] <Reverse Stratification>
[0180] Although the above describes the processing in encoding, the present technology can be applied to the decoding side. For example, in reverse layering, based on building a reference relationship based on the merging of points (nodes) of multiple layers, the prediction points of multiple layers can be reconstructed with reference to the reference points of the same layer.
[0181] For example, with respect to the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when inverse stratification is performed on the attribute information that has been stratified by recursively repeating a process of classifying points as prediction points or reference points with respect to reference points, deriving predicted values of the attribute information of the prediction points using the attribute information of the reference points, and deriving the difference between the attribute information of the prediction points and the predicted values, predicted values of the attribute information of the prediction points of multiple levels are derived with reference to the attribute information of the reference points of the same level, and the derived predicted values and the difference are added to generate the attribute information of the prediction points.
[0182] For example, an information processing device may include a reverse stratification unit which, for attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, performs reverse stratification on the attribute information stratified by recursively repeating a process of classifying points as prediction points or reference points with respect to reference points, deriving predicted values of the attribute information of the prediction points using the attribute information of the reference points, and deriving a difference between the attribute information of the prediction points and the predicted values, wherein the reverse stratification unit may derive predicted values of the attribute information of prediction points of multiple levels with reference to the attribute information of the reference points of the same level when performing the reverse stratification, and add the derived predicted values to the difference to generate the attribute information of the prediction points. In other words, an information processing device - which processes attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points - may include a de-stratification unit that performs de-stratification on attribute information that has been stratified by recursively repeating the process of deriving, for a reference point among points classified as a prediction point or a reference point, a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein the de-stratification unit may derive predicted values of the attribute information of prediction points of multiple levels with reference to the attribute information of the reference point of the same level when performing the de-stratification, and add the derived predicted values to the difference to generate the attribute information of the prediction point.
[0183] By doing so, it is possible to correctly inversely hierarchize the attribute data of the reference relationship of a configuration in which the number of points monotonically increases from a higher hierarchy to a lower hierarchy, thereby suppressing a decrease in encoding efficiency.
[0184] For example, a reference destination of a node (point) of a processing target level may be searched at a level two levels higher, such as Fig. 9 The fourth row of the table shown in "Method 4" is described in this way. By doing so, the stratification can be correctly reversed as Fig.10 As shown, attribute data of a reference relationship of a configuration in which the number of points monotonically increases from a higher level to a lower level is constructed. Therefore, a decrease in encoding efficiency can be suppressed.
[0185] <Control Information>
[0186] For example, inverse layering may be performed based on attribute data (sent from the encoding side to the decoding side) that is signaled (and switching between inverse layering methods may be performed), such as Fig. 9 As described in "Method 4-1" in the fifth row of the table shown.
[0187] The content of this control information is arbitrary. For example, the aforementioned merge_lower_lod_flag can be used. merge_lower_lod_flag can also be control information indicating whether to refer to the same hierarchy as other hierarchies when de-stratifying. That is, when de-stratifying, the hierarchy of the reference destination can be identified based on merge_lower_lod_flag. For example, the hierarchy of the reference destination of the processing target hierarchy can be identified based on merge_lower_lod_flag, and the predicted value of the attribute data of the prediction point of the processing target hierarchy can be derived with reference to the attribute data of the reference point of the identified hierarchy.
[0188] By using such control information, inverse layering can be performed by the same method as that used in encoding. Therefore, a decrease in encoding efficiency can be suppressed.
[0189] <When control information is not used>
[0190] Meanwhile, the inverse hierarchical method may be set without using the aforementioned control information. For example, on the decoding side, the number of points of the processing target hierarchy may be compared with the number of points of a hierarchy one hierarchy higher, and for a hierarchy whose number of points is not sufficiently greater than the number of points of a hierarchy one hierarchy higher, a predicted value of the attribute information of the predicted point may be derived with reference to the attribute information of the reference point of the hierarchy two hierarchies higher. That is, the same determination processing as that performed on the encoding side may be performed on the decoding side, and a reference relationship may be constructed based on the determination result, and a predicted value may be derived.
[0191] By doing so, inverse layering can be performed by the same method as that used in encoding. Therefore, the reduction in coding efficiency can be suppressed. In addition, the transmission of control information can be omitted, so the reduction in coding efficiency can be further suppressed.
[0192] <3. First Embodiment>
[0193] <Encoding device>
[0194] Next, a device to which the present technology described above in <1. Switching of hierarchical / inverse hierarchical method> is applied will be described. Fig.11 : is a block diagram showing an example of the configuration of an encoding device as one aspect of an information processing device to which the present technology is applied. Fig.11 The illustrated encoding device 100 is a device that encodes a point cloud (3D data). The encoding device 100 encodes a point cloud using the present technology described above in <1. Switching of hierarchical / inverse hierarchical methods>.
[0195] at the same time, Fig.11 The main parts such as processing units and data flows are shown, but the processing units and data flows are not limited to Fig.11 The processing units and data flows shown in FIG. Fig.11 Processing units not shown as blocks and Fig.11 Processing and data flows not shown as arrows or the like may exist in the encoding device 100 .
[0196] like Fig.11 As shown, the encoding device 100 includes a position information encoding unit 101, a position information decoding unit 102, a point cloud generating unit 103, an attribute information encoding unit 104 and a bit stream generating unit 105.
[0197] The position information encoding unit 101 encodes the geometric data (position information) of the point cloud (3D data) input to the encoding device 100. The encoding method may be any 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. In addition, for example, processing such as filtering and quantization for suppressing noise (denoising) may be performed. The position information encoding unit 101 provides the encoded data of the generated geometric data to the position information decoding unit 102 and the bit stream generation unit 105.
[0198] The position information decoding unit 102 acquires the encoded data of the geometric data provided from the position information encoding unit 101 and decodes the encoded data. The decoding method may be any method corresponding to the encoding performed by the position information encoding unit 101. For example, processing such as filtering and quantization for denoising may be performed. The position information decoding unit 102 provides the generated geometric data (decoding result) to the point cloud generation unit 103.
[0199] The point cloud generation unit 103 acquires the attribute data (attribute information) of the point cloud input to the encoding device 100 and the geometric data (decoding result) supplied from the position information decoding unit 102. The point cloud generation unit 103 performs a process (recoloring process) of associating the attribute data with the geometric data (decoding result). The point cloud generation unit 103 supplies the attribute data associated with the geometric data (decoding result) to the attribute information encoding unit 104.
[0200] The attribute information encoding unit 104 acquires the geometry data (decoding result) and the attribute data supplied from the point cloud generating unit 103. The attribute information encoding unit 104 encodes the attribute data using the geometry data (decoding result), and generates encoded data of the attribute data.
[0201] In this case, the attribute information encoding unit 104 encodes the attribute data using the present technology described above in <1. Switching of hierarchical / reverse hierarchical methods>. For example, the attribute information encoding unit 104 switches the hierarchical method of the attribute data at an intermediate level in the hierarchical layer of the attribute data. The attribute information encoding unit 104 supplies the generated encoded data of the attribute data to the bitstream generating unit 105.
[0202] The bitstream generation unit 105 acquires the encoded data of the position information supplied from the position information encoding unit 101. In addition, the bitstream generation unit 105 acquires the encoded data of the attribute information supplied from 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.
[0203] By adopting this configuration, the encoding device 100 can form a hierarchical structure of attribute data using a plurality of hierarchical methods. Therefore, hierarchical structure can be performed on more different types of attribute data by a more appropriate method to suppress a decrease in encoding efficiency.
[0204] At the same time, these processing units (position information encoding unit 101 to bit stream generating unit 105) of the encoding device 100 have an arbitrary configuration. For example, each processing unit can be configured as a logic circuit for implementing the above-mentioned processing. In addition, each processing unit may include, for example, a central processing unit (CPU), a read-only memory (ROM), a random access memory (RAM), etc., and use these components to execute a program to implement the above-mentioned processing. It goes without saying that each processing unit can have the above-mentioned two configurations, implementing a part of the above-mentioned processing according to the logic circuit, and implementing another part of the processing by executing the program. The processing units can have independent configurations, for example, some processing units can implement the above-mentioned part of the processing according to the logic circuit, other processing units can implement the above-mentioned processing by executing the program, and some processing units can implement the above-mentioned processing by both the logic circuit and the execution of the program.
[0205] <Attribute Information Encoding Unit>
[0206] Fig.12 The attribute information encoding unit 104 ( Fig.11 ) is a block diagram of an example of the main components. Fig.12 The main parts such as processing units and data flows are shown, but the processing units and data flows are not limited to Fig.12 The processing units and data flows shown in FIG. Fig.12 Processing units not shown as blocks and Fig.12 Processing and data flows not shown as arrows or the like may exist in the attribute information encoding unit 104 .
[0207] like Fig.12 As shown, the attribute information encoding unit 104 includes a hierarchical processing unit 111, a quantization unit 112, and an encoding unit 113.
[0208] The layering processing unit 111 performs layering processing on the attribute data. For example, the layering processing unit 111 obtains the attribute data and the geometric data (decoding result) provided from the point cloud generation unit 103. The layering processing unit 111 uses the geometric data to layer the attribute data. In this case, the layering processing unit 111 uses the present technology described above in <1. Switching of layering / inverse layering method> to perform layering. For example, the layering processing unit 111 switches the layering method of the attribute data at an intermediate level in the layering of the attribute data. In other words, the layering processing unit 111 performs layering on the attribute data using a plurality of layering methods, and generates different layers according to the layering methods. The layering processing unit 111 provides the layered attribute data (difference) to the quantization unit 112.
[0209] In this case, the hierarchical processing unit 111 also generates control information about the hierarchical layers. The hierarchical processing unit 111 also supplies the generated control information to the quantization unit 112 together with the attribute data (difference value).
[0210] The quantization unit 112 acquires the attribute data (difference value) and control information supplied from the hierarchical processing unit 111. The quantization unit 112 quantizes the attribute data (difference value). The method used for quantization is arbitrary. The quantization unit 112 supplies the quantized attribute data (difference value) and control information to the encoding unit 113.
[0211] The encoding unit 113 obtains the quantized attribute data (difference value) and control information provided from the quantization unit 112. The encoding unit 113 encodes the quantized attribute data (difference value) to generate encoded data of the attribute data. The method used for encoding is arbitrary. In addition, the encoding unit 113 includes the control information in the generated encoded data. In other words, the encoding unit 113 generates the encoded data of the attribute data including the control information. The encoding unit 113 provides the generated encoded data to the bit stream generation unit 105.
[0212] By performing the layering as described above, the attribute information encoding unit 104 can form a layered structure of attribute data using a plurality of layering methods. Therefore, layering can be performed on more different types of attribute data by a more appropriate method to suppress a decrease in encoding efficiency.
[0213] Meanwhile, the processing units (hierarchical processing units 111 to encoding units 113) have any configuration. For example, each processing unit may be configured as a logic circuit for implementing the above-mentioned processing. In addition, each processing unit may include, for example, a CPU, a ROM, a RAM, etc. and use these components to execute a program to implement the above-mentioned processing. It goes without saying that each processing unit may have the above-mentioned two configurations, implementing a part of the above-mentioned processing according to a logic circuit, and implementing another part of the processing by executing a program. The processing units may have independent configurations, for example, some processing units may implement the above-mentioned partial processing according to a logic circuit, other processing units may implement the above-mentioned processing by executing a program, and some processing units may implement the above-mentioned processing by both a logic circuit and an execution program.
[0214] <Hierarchical Processing Unit>
[0215] Fig.13 is a diagram showing the hierarchical processing unit 111 ( Fig.12 ) is a block diagram of an example of the main components. Fig.13 The main parts such as processing units and data flows are shown, but the processing units and data flows are not limited to Fig.13 The processing units and data flows shown in FIG. Fig.13 Processing units not shown as blocks and Fig.13 Processing and data flows not shown as arrows or the like may exist in the hierarchical processing unit 111 .
[0216] Here, a description will be given assuming that the hierarchical processing unit 111 switches the hierarchical method applicable to scalable decoding and the hierarchical method not applicable to scalable decoding at an intermediate level. Fig.13 The hierarchical processing unit 111 shown includes a control unit 121 , a scalable hierarchical processing unit 122 , a non-scalable hierarchical processing unit 123 , an inversion unit 124 , and a weighting unit 125 .
[0217] The control unit 121 performs processing related to hierarchical control. For example, the control unit 121 acquires attribute data and geometric data (decoding result) supplied from the point cloud generation unit 103. The control unit 121 supplies the acquired attribute data and geometric data (decoding result) to the scalable hierarchical processing unit 122.
[0218] In addition, the control unit 121 controls the scalable layering processing unit 122 and the non-scalable layering processing unit 123 so that they perform layering. For example, the control unit 121 causes layering to be performed using the present technology described above in <1. Switching of layering / reverse layering method>. That is, for example, the control unit 121 drives the scalable layering processing unit 122, the non-scalable layering processing unit 123, or both of them, and causes them to perform layering according to their layering methods.
[0219] Furthermore, the control unit 121 generates control information regarding the hierarchical layers of the attribute data and supplies the control information to the quantization unit 112 .
[0220] The scalable layered processing unit 122 performs processing on the layering of attribute data according to a method suitable for scalable decoding (for example, the layered method described in Non-Patent Document 3). For example, the scalable layered processing unit 122 acquires the attribute data and the geometry data (decoding result) supplied from the control unit 121.
[0221] The scalable layering processing unit 122 layers the acquired attribute data using the acquired geometry data by a method suitable for scalable decoding according to the control of the control unit 121. For example, the scalable layering processing unit 122 generates a layer specified by the control unit 121 (for example, a layer that allows the execution of the processing, and a layer that does not prohibit the processing is also possible) using a method suitable for scalable decoding.
[0222] The scalable hierarchical processing unit 122 supplies the attribute data of the generated hierarchy, the attribute data that has not been hierarchized yet, the geometric data, and the like to the non-scalable hierarchical processing unit 123 .
[0223] Meanwhile, when the control unit 121 does not allow layering, the scalable layering processing unit 122 may omit layering. In this case, the scalable layering processing unit 122 supplies all acquired attribute data and geometry data to the non-scalable layering processing unit 123.
[0224] The non-scalable layered processing unit 123 performs layered processing on attribute data according to a method not applicable to scalable decoding (for example, Lifting described in Non-Patent Document 2). For example, the non-scalable layered processing unit 123 acquires attribute data and geometry data (decoding result) supplied from the scalable layered processing unit 122.
[0225] The non-scalable hierarchical processing unit 123 hierarchizes the non-hierarchical attribute data by a method not applicable to scalable decoding using the acquired geometric data according to the control of the control unit 121. For example, the non-scalable hierarchical processing unit 123 generates a hierarchy specified by the control unit 121 (for example, a hierarchy that allows the execution of the processing, and a hierarchy that does not prohibit the processing is also possible) by using a method not applicable to scalable decoding.
[0226] All hierarchies of attribute data are generated according to the hierarchization performed by the scalable hierarchization processing unit 122 and the non-scalable hierarchization processing unit 123 (all attribute data are hierarchized).
[0227] The non-scalable hierarchical processing unit 123 supplies the hierarchical attribute data to the inversion unit 124 .
[0228] Meanwhile, when the control unit 121 does not allow layering, the non-scalable layering processing unit 123 may omit layering. In this case, all acquired attribute data are layered, and the scalable layering processing unit 122 supplies the attribute data to the inversion unit 124.
[0229] The inversion unit 124 performs processing regarding inversion of the hierarchy. For example, the inversion unit 124 acquires the hierarchical attribute data supplied from the non-scalable hierarchical processing unit 123. In this attribute data, information of each hierarchy has been hierarchical in the order of generation.
[0230] The inversion unit 124 inverts the hierarchy of the attribute data. For example, the inversion unit 124 assigns a hierarchy number (a number for identifying a hierarchy, which increases by 1 each time a hierarchy is lowered from the highest hierarchy 0 to reach a maximum value corresponding to the lowest hierarchy) to each hierarchy of the attribute data in the reverse order of generation, so that the generation order becomes the order from the lowest hierarchy to the highest hierarchy.
[0231] The inversion unit 124 supplies the attribute data in which the hierarchy has been inverted to the weighting unit 125 .
[0232] 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 derives the weight value of the acquired attribute data. The method of deriving the weight value is arbitrary. The method for deriving the weight value may be changed at the level generated by the scalable hierarchical processing unit 122 and the level generated by the non-scalable hierarchical processing unit 123.
[0233] The weighting unit 125 supplies the attribute data (difference value) and the derived weight value to the quantization unit 112 ( Fig.12 ). In addition, the weighting unit 125 may provide the derived weight value to the quantization unit 112 as control information and cause the control information to be transmitted to the decoding side.
[0234] The control unit 121 controls the scalable layering processing unit 122 and the non-scalable layering processing unit 123, and switches the attribute data layering method at the intermediate level as described above in <1. Switching of layering / reverse layering method>. By doing so, the layering processing unit 111 can form a hierarchical structure of attribute data using a plurality of layering methods. Therefore, layering can be performed on more different types of attribute data by a more appropriate method to suppress a decrease in encoding efficiency.
[0235] Meanwhile, the processing units (control unit 121 to weighting unit 125) have any configuration. For example, each processing unit may be configured as a logic circuit for implementing the above-mentioned processing. In addition, each processing unit may include, for example, a CPU, a ROM, a RAM, etc. and use these components to execute a program to implement the above-mentioned processing. It goes without saying that each processing unit may have the above-mentioned two configurations, implementing a part of the above-mentioned processing according to the logic circuit, and implementing another part of the processing by executing the program. The processing units may have independent configurations, for example, some processing units may implement the above-mentioned partial processing according to the logic circuit, other processing units may implement the above-mentioned processing by executing the program, and some processing units may implement the above-mentioned processing by both the logic circuit and the execution program.
[0236] <Encoding Process Flow>
[0237] 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 the encoding processing. Fig.14 The flowchart describes an example of the flow of the encoding process.
[0238] When the encoding process starts, in step S101 , the position information encoding unit 101 of the encoding device 100 encodes the geometric data (position information) of the input point cloud to generate encoded data of the geometric data.
[0239] In step S102 , the position information decoding unit 102 decodes the encoded data of the geometry data generated in step S101 to generate position information.
[0240] In step S103 , the point cloud generation unit 103 performs a recoloring process using the attribute data (attribute information) of the input point cloud and the geometry data (decoding result) generated in step S102 to associate the attribute data with the geometry data.
[0241] In step S104, the attribute information encoding unit 104 encodes the attribute data for which the recoloring process has been performed in step S103 by performing the attribute information encoding process to generate encoded data of the attribute data. In this case, the attribute information encoding unit 104 encodes the attribute data using the present technology described above in <1. Switching of hierarchical / reverse hierarchical method>. For example, the attribute information encoding unit 104 switches the hierarchical method of the attribute data at an intermediate level in the hierarchical layer of the attribute data. The details of the attribute information encoding process will be described later.
[0242] 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 .
[0243] When the process of step S105 ends, the encoding process ends.
[0244] In this way, the encoding device 100 can form a hierarchical structure of attribute data using multiple hierarchical methods by performing the processing of each step. Therefore, hierarchical layers can be performed on more different types of attribute information by a more appropriate method to suppress the reduction of encoding efficiency.
[0245] <Flow of attribute information encoding processing>
[0246] Next, we will refer to Fig.15 The flowchart is described in Fig.14 An example of the flow of the attribute information encoding process performed in step S104.
[0247] When the attribute information encoding process starts, in step S111, the hierarchical processing unit 111 of the attribute information encoding unit 104 hierarchizes the attribute data by performing hierarchical processing, and derives the difference value of the attribute data of each point. In this case, the hierarchical processing unit 111 performs hierarchical processing using the present technology described above in <1. Switching of hierarchical / inverse hierarchical methods>. For example, the hierarchical processing unit 111 switches the attribute data hierarchical method at the middle hierarchical level. The details of the hierarchical processing will be described later.
[0248] In step S112 , the quantization unit 112 quantizes each difference value derived in step S111 .
[0249] In step S113 , the encoding unit 113 encodes the difference value quantized in step S112 to generate encoded data of attribute data.
[0250] When the process of step S113 ends, the attribute information encoding process ends and the process returns to Fig.14 .
[0251] In this way, the attribute information encoding unit 104 can form a hierarchical structure of attribute data using multiple hierarchical methods by performing the processing of each step. Therefore, hierarchical layers can be performed on more different types of attribute information by a more appropriate method to suppress a decrease in encoding efficiency.
[0252] <Flow of layer processing>
[0253] Next, we will refer to Fig.16 The flowchart is described in Fig.15 An example of the flow of the hierarchical processing performed in step S111 of FIG.
[0254] When the layering process starts, in step S121, the control unit 121 of the layering process unit 111 sets the application range of the method applicable to scalable decoding. The control unit 121 controls the layering based on the setting.
[0255] In step S122, the scalable layer processing unit 122 generates a layer according to the method applicable to scalable decoding, within the application range of the method applicable to scalable decoding set in step S121. That is, the scalable layer processing unit 122 sets a reference point and a prediction point for each layer encoded in a manner that scalable decoding can be performed using the method applicable to scalable decoding, derives a predicted value of attribute data of the prediction point using the attribute data of the reference point, and derives a difference between the attribute data of the prediction point and the predicted value.
[0256] In step S123, the non-scalable hierarchical processing unit 123 generates a hierarchy not generated in step S122, that is, a hierarchy outside the application range of the method applicable to scalable decoding set in step S121, according to the method not applicable to scalable decoding. That is, the non-scalable hierarchical processing unit 123 sets a reference point and a prediction point for each hierarchy encoded in a manner that scalable decoding cannot be performed using the method not applicable to scalable decoding, derives a predicted value of the attribute data of the prediction point using the attribute data of the reference point, and derives a difference between the attribute data of the prediction point and the predicted value.
[0257] When all hierarchies of the attribute data are generated according to the processing of step S122 and step S123 , in step S124 , the inversion unit 124 inverts the generated hierarchies of the attribute data and assigns hierarchical numbers to the respective hierarchies in the reverse order of generation.
[0258] In step S125 , the weighting unit 125 derives a weight value for the attribute data of each hierarchy.
[0259] In step S126 , the control unit 121 generates control information about the hierarchical layer of the attribute data, supplies the control information to the quantization unit 112 , and causes the control information to be transmitted to the decoding side.
[0260] When the processing of step S126 is completed, the processing returns to Fig.15 .
[0261] In this way, the hierarchical processing unit 111 can form a hierarchical structure of attribute data using a plurality of hierarchical methods by performing the processing of each step. Therefore, hierarchical processing can be performed on more different types of attribute data by a more appropriate method to suppress a decrease in encoding efficiency.
[0262] <4. Second Embodiment>
[0263] <Decoding device>
[0264] Next, a device to which the present technology described above in <1. Switching of hierarchical / inverse hierarchical method> is applied will be described. Fig.17 : is a block diagram showing an example of the configuration of a decoding device as one aspect of the present technology is applied. Fig.17 The illustrated decoding device 200 is a device that decodes coded data of a point cloud (3D data). The decoding device 200 decodes coded data of a point cloud using the present technique described above in <1. Switching of hierarchical / inverse hierarchical methods>.
[0265] at the same time, Fig.17 The main parts such as processing units and data flows are shown, but the processing units and data flows are not limited to Fig.17 The processing units and data flows shown in Fig.17 The processing units not shown as blocks and Fig.17 Processing and data flows not shown as arrows or the like may exist in the decoding device 200 .
[0266] like Fig.17 As shown, the decoding device 200 includes a decoding target LoD depth setting unit 201, a coded data extracting unit 202, a position information decoding unit 203, an attribute information decoding unit 204 and a point cloud generating unit 205.
[0267] The decoding target LoD depth setting unit 201 performs processing on setting the depth of the hierarchy (LoD) as a decoding target. For example, the decoding target LoD depth setting unit 201 sets the hierarchy to which the encoded data of the point cloud held in the encoded data extraction unit 202 is decoded. The method of setting the depth of the hierarchy as a decoding target is arbitrary.
[0268] For example, the decoding target LoD depth setting unit 201 may set the hierarchical depth based on an instruction about the hierarchical depth from an external source such as a user or an application. In addition, the decoding target LoD depth setting unit 201 may obtain the hierarchical depth as a decoding target based on arbitrary information such as an output image and set the hierarchical depth.
[0269] For example, the decoding target LoD depth setting unit 201 may set the hierarchical depth as a decoding target based on the viewpoint position, direction, viewing angle, viewpoint movement (movement, translation, tilt, and scaling) of a two-dimensional image generated from a point cloud, and the like.
[0270] Meanwhile, the data unit used to set the hierarchical depth as a decoding target is arbitrary. For example, the decoding target LoD depth setting unit 201 may set the hierarchical depth for all point clouds, set the hierarchical depth for each object, or set the hierarchical depth for each local area in an object. It goes without saying that the hierarchical depth may also be set in data units other than these examples.
[0271] The coded data extraction unit 202 acquires and holds a bit stream input to the decoding device 200. The coded data extraction unit 202 extracts coded data of geometry data (position information) and attribute data (attribute information) from the highest hierarchy to the hierarchy specified by the decoding target LoD depth setting unit 201 from the bit stream held therein. The coded data extraction unit 202 supplies the extracted coded data of geometry 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.
[0272] The position information decoding unit 203 acquires the encoded data of the geometry data provided from the encoded data extraction unit 202. The position information decoding unit 203 decodes the encoded data of the geometry data to generate geometry data (decoding result). The decoding method may be the same as the method used for the position information decoding unit 102 of the encoding device 100. The position information decoding unit 203 provides the generated geometry data (decoding result) to the attribute information decoding unit 204 and the point cloud generation unit 205.
[0273] The attribute information decoding unit 204 acquires the encoded data of the attribute data provided from the encoded data extraction unit 202. The attribute information decoding unit 204 acquires the geometric data (decoding result) provided from the position information decoding unit 203. The attribute information decoding unit 204 decodes the encoded data of the attribute data according to the method using the present technology described above in <1. Switching of hierarchical / inverse hierarchical method> using the position information (decoding result) to generate the attribute data (decoding result). For example, the attribute information decoding unit 204 switches the inverse hierarchical method of the attribute data at the intermediate level. The attribute information decoding unit 204 provides the generated attribute data (decoding result) to the point cloud generation unit 205.
[0274] The point cloud generation unit 205 acquires the geometric data (decoding result) provided from the position information decoding unit 203. The point cloud generation unit 205 acquires the attribute data (decoding result) provided from the attribute information decoding unit 204. The point cloud generation unit 205 generates a point cloud (decoding result) using the geometric data (decoding result) and the attribute data (decoding result). The point cloud generation unit 205 outputs the data of the generated point cloud (decoding result) to the outside of the decoding device 200.
[0275] By adopting such a configuration, the decoding device 200 can perform inverse layering using multiple layering methods, and thus can correctly perform inverse layering on attribute data layered using multiple layering methods. That is, it is possible to correctly decode coded data that has been coded using multiple layering methods. Therefore, it is possible to suppress the reduction of coding efficiency.
[0276] Meanwhile, the processing units (decoding target LoD depth setting unit 201 to point cloud generation unit 205) have any configuration. For example, each processing unit may be configured as a logic circuit for implementing the above-mentioned processing. In addition, each processing unit may include, for example, a CPU, a ROM, a RAM, etc. and execute a program using these components to implement the above-mentioned processing. It goes without saying that each processing unit may have the above-mentioned two configurations, implementing a part of the above-mentioned processing according to the logic circuit, and implementing another part of the processing by executing the program. The processing units may have independent configurations, for example, some processing units may implement part of the above-mentioned processing according to the logic circuit, other processing units may implement the above-mentioned processing by executing the program, and some processing units may implement the above-mentioned processing by both the logic circuit and the execution of the program.
[0277] <Attribute Information Decoding Unit>
[0278] Fig.18 The attribute information decoding unit 204 ( Fig.17 ) is a block diagram of an example of the main components. Fig.18 The main parts such as processing units and data flows are shown, but the processing units and data flows are not limited to Fig.18 The processing units and data flows shown in Fig.18 The processing units not shown as blocks and Fig.18 Processing and data flows not shown as arrows or the like may exist in the attribute information decoding unit 204.
[0279] like Fig.18 As shown, the attribute information decoding unit 204 includes a decoding unit 211, an inverse quantization unit 212, and an inverse layering processing unit 213.
[0280] The decoding unit 211 performs a process of decoding the encoded data of the attribute data. For example, the decoding unit 211 acquires the encoded data of the attribute data supplied from the attribute information decoding unit 204.
[0281] The decoding unit 211 decodes the encoded data of the attribute data to generate the attribute data (decoding result). The decoding method may be the same as the encoding unit 113 ( Fig.12 ) is performed. In addition, the generated attribute data (decoded result) corresponds to the attribute data before being encoded, and is the difference between the attribute data and its predicted value, and has been quantized, as described in the first embodiment. The decoding unit 211 provides the generated attribute data (decoded result) to the inverse quantization unit 212.
[0282] Meanwhile, when the encoded data of the attribute data includes control information on the weight value and control information on the hierarchical layer of the attribute data, the decoding unit 211 also supplies the control information to the inverse quantization unit 212 .
[0283] The inverse quantization unit 212 performs a process on inverse quantization of the attribute data. The inverse quantization unit 212 acquires the attribute data (decoding result) and the control information supplied from the decoding unit 211.
[0284] The inverse quantization unit 212 inversely quantizes the attribute data (decoding result). In this case, when control information about the weight value is provided from the decoding unit 211, the inverse quantization unit 212 also obtains the control information and performs inverse quantization on the attribute data (decoding result) based on the control information (using the weight value derived based on the control information).
[0285] In addition, when control information on the hierarchical layer of attribute data is supplied from the decoding unit 211 , the inverse quantization unit 212 also acquires the control information.
[0286] The inverse quantization unit 212 supplies the inversely quantized attribute data (decoding result) to the inverse layering processing unit 213. Furthermore, when control information on layering of attribute data is acquired from the decoding unit 211, the inverse quantization unit 212 also supplies the control information to the inverse layering processing unit 213.
[0287] The inverse layering processing unit 213 acquires the inversely quantized attribute data (decoding result) supplied from the inverse quantization unit 212. As described above, the attribute data is a difference value. In addition, the inverse layering processing unit 213 acquires the geometric data (decoding result) supplied from the position information decoding unit 203. The inverse layering processing unit 213 performs inverse layering on the acquired attribute data (difference value) using the geometric data, which is performed by the layering processing unit 111 ( Fig.12 ) performs the inverse processing of the layering.
[0288] In this case, the inverse layering processing unit 213 performs inverse layering using the present technology described above in <1. Switching of layering / inverse layering methods>. That is, the inverse layering processing unit 213 switches the attribute information layering method at an intermediate level in the inverse layering (that is, switches between inverse layering methods). The inverse layering processing unit 213 supplies the inversely layered attribute data as a decoding result to the point cloud generation unit 205 ( Fig.17 ).
[0289] By performing the inverse layering as described above, the attribute information decoding unit 204 can correctly perform inverse layering on the attribute data layered using multiple layering methods. That is, the encoded data that has been encoded using multiple layering methods can be correctly decoded. Therefore, the reduction in encoding efficiency can be suppressed.
[0290] Meanwhile, the processing units (decoding unit 211 to inverse hierarchical processing unit 213) have any configuration. For example, each processing unit may be configured as a logic circuit for implementing the above-mentioned processing. In addition, each processing unit may include, for example, a CPU, a ROM, a RAM, etc. and use these components to execute a program to implement the above-mentioned processing. It goes without saying that each processing unit may have the above-mentioned two configurations, implementing a part of the above-mentioned processing according to the logic circuit, and implementing another part of the processing by executing the program. The processing units may have independent configurations, for example, some processing units may implement the above-mentioned partial processing according to the logic circuit, other processing units may implement the above-mentioned processing by executing the program, and some processing units may implement the above-mentioned processing by both the logic circuit and the execution of the program.
[0291] <Reverse layering processing unit>
[0292] Fig.19 is a diagram showing the reverse layering processing unit 213 ( Fig.18 ) is a block diagram of an example of the main components. Fig.19 The main parts such as processing units and data flows are shown, but the processing units and data flows are not limited to Fig.19 The processing units and data flows shown in Fig.19 The processing units not shown as blocks and Fig.19 Processing and data flows not shown as arrows or the like may exist in the inverse hierarchical processing unit 213 .
[0293] Here, description will be made assuming that the inverse layering processing unit 213 switches between an inverse layering method applicable to scalable decoding and an inverse layering method not applicable to scalable decoding at an intermediate layer level. Fig.19 As shown, the inverse layering processing unit 213 includes a control unit 221 , a non-scalable inverse layering processing unit 222 , and a scalable inverse layering processing unit 223 .
[0294] The control unit 221 performs processing related to the control of inverse layering. For example, the control unit 221 obtains the inverse quantization unit 212 ( Fig.18 ) provides the inversely quantized attribute data and the control information on the inverse layering of the attribute data. In addition, the control unit 221 also acquires the geometric data (decoding result) provided from the position information decoding unit 203.
[0295] The control unit 221 controls the non-scalable inverse layering processing unit 222 and the scalable inverse layering processing unit 223 using the present technology described above in <1. Switching of layering / inverse layering method>, and causes them to perform layering.
[0296] For example, the control unit 221 determines whether to apply the method applicable to scalable decoding to the acquired attribute data based on control information (for example, scalable_enable_flag) indicating whether the hierarchical method applicable to scalable decoding can be applied.
[0297] For example, if the control information indicates that a layering method suitable for scalable decoding cannot be applied, the control unit 221 provides the attribute data and geometry data to the non-scalable inverse layering processing unit 222, and inversely layers all levels of the attribute data using a method not suitable for scalable decoding.
[0298] Furthermore, if the control information indicates that the hierarchical method applicable to scalable decoding can be applied, the control unit 221 refers to control information indicating a hierarchical range to which the hierarchical method applicable to scalable decoding is applied (eg, scalable_enable_num_of_lod).
[0299] Furthermore, the control unit 221 selects whether to perform inverse layering of attribute data as a processing target using a method not applicable to scalable decoding or using both a method not applicable to scalable decoding and a method applicable to scalable decoding based on the control information.
[0300] For example, if the hierarchy of the attribute data as a processing target does not include at least a part of the hierarchy range to which the hierarchical method applicable to scalable decoding is applied, as indicated by the control information, the control unit 221 provides all the attribute data, geometric data, etc. as the processing target to the non-scalable inverse hierarchical processing unit 222, and inversely hierarchizes all the hierarchical levels of the attribute data according to a method that is not applicable to scalable decoding.
[0301] Furthermore, for example, if the hierarchy of the attribute data as the processing target includes at least a part of the hierarchy range to which the hierarchical method applicable to scalable decoding is applied indicated by the control information, the control unit 221 supplies the attribute data and the geometric data of the hierarchy included in the range to the scalable inverse hierarchical processing unit 223. Furthermore, the control unit 221 supplies the attribute data and the geometric data of the hierarchy not included in the range to the non-scalable inverse hierarchical processing unit 222. That is, each inverse hierarchical processing unit is caused to perform inverse hierarchical processing by each method.
[0302] The non-scalable inverse layering processing unit 222 uses the geometric data supplied from the control unit 221 to perform inverse layering on the attribute data supplied from the control unit 221 by a method not suitable for scalable decoding. The non-scalable inverse layering processing unit 222 supplies the inversely layered attribute data (non-scalable layer) to the point cloud generation unit 205 ( Fig.17 ).
[0303] The scalable inverse layering processing unit 223 inversely layers the attribute data supplied from the control unit 221 using the geometric data supplied from the control unit 221 by a method suitable for scalable decoding. The scalable inverse layering processing unit 223 supplies the inversely layered attribute data (scalable layer) to the point cloud generation unit 205 ( Fig.17 ).
[0304] In this way, the control unit 221 controls the non-scalable inverse layering processing unit 222 and the scalable inverse layering processing unit 223, and switches between the inverse layering methods of the attribute data at the intermediate level as described above in <1. Switching of layering / inverse layering methods>. Therefore, the inverse layering processing unit 213 can correctly inversely layer the attribute data layered using a plurality of layering methods. That is, the encoded data that has been encoded using a plurality of layering methods can be correctly decoded. Therefore, the reduction in encoding efficiency can be suppressed.
[0305] At the same time, the processing units (control unit 221 to scalable inverse hierarchical processing unit 223) have an arbitrary configuration. For example, each processing unit can be configured as a logic circuit for implementing the above-mentioned processing. In addition, each processing unit may include, for example, a CPU, ROM, RAM, etc. and use these components to execute a program to implement the above-mentioned processing. It goes without saying that each processing unit can have the above-mentioned two configurations, implementing a part of the above-mentioned processing according to the logic circuit, and implementing another part of the processing by executing the program. The processing units can have independent configurations, for example, some processing units can implement the above-mentioned part of the processing according to the logic circuit, other processing units can implement the above-mentioned processing by executing the program, and some processing units can implement the above-mentioned processing by both the logic circuit and the execution of the program.
[0306] <Decoding Process Flow>
[0307] 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 the decoding processing. Fig. 20 The flowchart describes the flow of the decoding process.
[0308] When the decoding process starts, in step S201 , the decoding target LoD depth setting unit 201 of the decoding device 200 sets the LoD depth to be decoded (ie, the hierarchical range as a decoding target).
[0309] In step S202, the encoded data extraction unit 202 acquires and maintains a bit stream, and determines whether to decode the layers up to the layer that can be scalably decoded based on the decoding target layer range set in step S201 and the control information (e.g., scalable_enable_num_of_lod) indicating the layer range of the hierarchical method applicable to scalable decoding.
[0310] If the decoding target hierarchy range overlaps with the hierarchy range to which the hierarchical method applicable to scalable decoding is applied, and it is determined to decode hierarchies up to a hierarchy that can be scalably decoded (also referred to as a scalable hierarchy), the process proceeds to step S203.
[0311] In step S203, the encoded data extracting unit 202 extracts the encoded data of all hierarchies within the decoding target hierarchy range. When the process of S203 ends, the process proceeds to step S205.
[0312] Furthermore, in step S202 , if the decoding target hierarchy range does not overlap with the hierarchy range to which the hierarchical method applicable to scalable decoding is applied, and it is determined not to decode the hierarchy up to the scalable hierarchy, the process proceeds to step S204 .
[0313] In step S204, the encoded data extracting unit 202 extracts the encoded data of all the hierarchies that cannot be scalably decoded (also referred to as non-scalable hierarchies). When the process of S204 ends, the process proceeds to step S205.
[0314] In step S205 , the position information decoding unit 203 decodes the encoded data of the geometry data extracted in step S203 or step S204 to generate position information (decoding result).
[0315] In step S206, the attribute information decoding unit 204 decodes the encoded data of the attribute data extracted in step S203 or step S204 to generate attribute information (decoding result). In this case, the attribute information decoding unit 204 performs processing using the present technology described above in <1. Switching of layering / reverse layering methods>. For example, the attribute information decoding unit 204 switches between attribute information layering methods at an intermediate level in the reverse layering (that is, switches between reverse layering methods). The details of the attribute information decoding processing will be described later.
[0316] In step S207 , the point cloud generation unit 205 generates a point cloud (decoded result) using the geometry data (decoded result) generated in step S205 and the attribute data (decoded result) generated in step S206 and outputs the point cloud.
[0317] When the process of step S207 ends, the decoding process ends.
[0318] By performing the processing of each step in this way, the decoding device 200 can perform inverse layering using multiple layering methods, and thus can correctly perform inverse layering on attribute data layered using multiple layering methods. That is, it is possible to correctly decode coded data that has been coded using multiple layering methods. Therefore, it is possible to suppress the reduction in coding efficiency.
[0319] <Flow of attribute information decoding process>
[0320] Next, we will refer to Fig.21 The flowchart is described in Fig. 20 An example of the flow of the attribute information decoding process performed in step S206.
[0321] When the attribute information decoding process starts, in step S211, the decoding unit 211 of the attribute information decoding unit 204 decodes the encoded data of the attribute data (attribute information) to generate attribute data (decoded result). The attribute data (decoded result) is quantized as described above.
[0322] In step S212 , the inverse quantization unit 212 inversely quantizes the attribute data (decoding result) generated in step S211 by performing an inverse quantization process.
[0323] In step S213, the inverse layering processing unit 213 performs inverse layering on the attribute data (difference) inversely quantized in step S212 by performing inverse layering processing to derive the attribute data of each point. In this case, the inverse layering processing unit 213 performs inverse layering using the present technology described above in <1. Switching of layering / inverse layering methods>. For example, the inverse layering processing unit 213 switches between attribute information layering methods at an intermediate level in the inverse layering (i.e., switches between inverse layering methods). The details of the inverse layering processing will be described later.
[0324] When the process of step S213 ends, the attribute information decoding process ends and the process returns to Fig. 20 .
[0325] By performing the processing of each step in this way, the attribute information decoding unit 204 can perform inverse layering using multiple layering methods, and thus can correctly perform inverse layering on the attribute data layered using multiple layering methods. That is, the encoded data that has been encoded using multiple layering methods can be correctly decoded. Therefore, the reduction in encoding efficiency can be suppressed.
[0326] <Flow of reverse layering>
[0327] Next, we will refer to Fig. 22 The flowchart is described in Fig.21 An example of the flow of the inverse layering process performed in step S213 of FIG.
[0328] When the inverse layering process starts, in step S221, the control unit 221 of the inverse layering process unit 213 layers the attribute data (decoding result) using the geometric data (decoding result). That is, the control unit 221 performs the same processing as the layering process described in the first embodiment for the layer as the decoding target, so that the layered structure of the attribute data is associated with the layered structure of the geometric data. Therefore, the attribute data (decoding result) and the geometric data (decoding result) of each point are associated with each other. The following processing is performed based on this association relationship.
[0329] In step S222, the non-scalable inverse layering processing unit 222 performs inverse layering on the attribute data of the non-scalable layer.
[0330] In step S223, the control unit 221 determines whether to decode the layers up to the scalable layer. When it is determined that the layers up to the scalable layer are decoded, the process proceeds to step S224.
[0331] In step S224, the scalable inverse layering processing unit 223 inversely layers the attribute data of the scalable layer by performing a scalable inverse layering process. The details of this scalable inverse layering process will be described later.
[0332] When the processing of step S224 is completed, the de-layering processing is completed, and the processing returns to Fig.21 .
[0333] In addition, when it is determined in step S223 that the layers up to the scalable layer are not to be decoded, the process of step S224 is omitted, the inverse layering process ends, and the process returns to Fig.21 .
[0334] By performing the processing of each step in this way, the inverse layering processing unit 213 can perform inverse layering using multiple layering methods, so that the attribute data layered using multiple layering methods can be correctly inversely layered. That is, the encoded data that has been encoded using multiple layering methods can be correctly decoded. Therefore, the reduction in encoding efficiency can be suppressed.
[0335] <Flow of Scalable Inverse Hierarchical Processing>
[0336] Next, we will refer to Fig.23 The flowchart is described in Fig. 22 An example of the flow of scalable inverse hierarchical processing performed in step S224.
[0337] When the scalable inverse hierarchical processing is started, in step S231, the scalable inverse hierarchical processing unit 223 sets the processing target LoD to the highest LoD of the scalable hierarchy.
[0338] In step S232, the scalable inverse hierarchical processing unit 223 derives a prediction value of a prediction point from a reference point based on the geometric data of the resolution of the processing target LoD.
[0339] In step S233, the scalable inverse hierarchical processing unit 223 adds the prediction value derived in step S232 to the difference value to reconstruct the attribute information of the prediction point.
[0340] In step S234, the scalable inverse hierarchical processing unit 223 merges the attribute data of the prediction point and the reference point.
[0341] In step S235, the scalable inverse hierarchical processing unit 223 determines whether the processing target LoD is the lowest LoD of the decoding target hierarchy range. When it is determined that the processing target LoD is not the lowest LoD of the decoding target hierarchy range, the process proceeds to step S236.
[0342] In step S236, the scalable inverse hierarchical processing unit 223 moves (updates) the processing target LoD to the next hierarchical level. When the process of step S236 ends, the process returns to S232 and the subsequent processes are repeated.
[0343] That is, the processing of steps S232 to S236 is performed on all hierarchies that are processing targets.
[0344] Then, when it is determined in step S235 that the processing target LoD reaches the lowest LoD of the decoding target hierarchy range, that is, when it is determined that all the hierarchies that are decoding targets have been processed, the scalable inverse hierarchical processing ends, and the processing returns to step S236. Fig. 22 .
[0345] By performing the processing of each step in this way, the scalable inverse layering processing unit 223 can correctly perform inverse layering on the scalable layer as the decoding target. That is, the encoded data that has been encoded using multiple layering methods can be correctly decoded. Therefore, the reduction in encoding efficiency can be suppressed.
[0346] <5. Third Embodiment>
[0347] <Encoding device>
[0348] Next, a device to which the present technology described above in <2. Control of reference relationship> is applied will be described. In this case, the encoding device 100 has a reference relationship with Fig.11 The configuration in the first embodiment described is the same configuration and performs substantially the same processing. However, the attribute information encoding unit 104 encodes the attribute data using the present technology described above in <2. Control of reference relationship>. For example, the attribute information encoding unit 104 constructs a reference relationship by merging multiple hierarchies (nodes).
[0349] <Attribute Information Encoding Unit>
[0350] In addition, even in this case, the attribute information encoding unit 104 has the same Fig.12 The configuration in the first embodiment described is the same configuration and performs substantially the same processing. However, the hierarchical processing unit 111 performs hierarchical processing using the present technology described above in <2. Control of reference relationship>. For example, the hierarchical processing unit 111 merges points (nodes) of multiple levels to construct a reference relationship.
[0351] <Hierarchical Processing Unit>
[0352] In this case, the hierarchical processing unit 111 also has Fig.13 The configuration of the first embodiment described above is the same as that of the configuration of the first embodiment and performs substantially the same processing. However, in this case, the layering processing unit 111 may include at least one of a scalable layering processing unit 122 and a non-scalable layering processing unit 123. That is, layering can be performed according to a method suitable for scalable decoding or a method not suitable for scalable decoding.
[0353] In addition, the control unit 121 controls the stratification by using the method of the present technology described above in <2. Control of reference relationship>. For example, the control unit 121 merges points (nodes) of multiple levels to construct a reference relationship. For example, the control unit 121 derives the predicted values of the predicted points of multiple levels with reference to the reference points of the same level. For example, the control unit 121 compares the number of points (number of nodes) of the level that is the processing target of the attribute data with the number of points (number of nodes) of the level that is one level higher. Then, if the number of points of the level that is the processing target is not sufficiently greater than the number of points of the level that is one level higher (if the predetermined number of points is not increased (for example, the number of points is reduced)), the control unit 121 merges the points of the level that is the processing target into the level that is one level higher.
[0354] In addition, the control unit 121 generates control information (e.g., merge_lower_lod_flag) indicating whether a reference relationship has been established for each hierarchy by merging with other hierarchies, and provides the control information to the quantization unit 112 so that the control information is transmitted to the decoding side. When the encoding unit 113 acquires the control information through the quantization unit 112, the encoding unit 113 includes the control information in the encoded data of the attribute data.
[0355] By performing the hierarchical layering as described above, the hierarchical layer processing unit 111 can construct a reference relationship of a configuration in which the number of points increases monotonically from a higher hierarchy to a lower hierarchy. Therefore, the encoding device 100 can suppress a decrease in encoding efficiency.
[0356] <Encoding Process Flow>
[0357] Next, the processing performed by the encoding device 100 in this case will be described. In this case, the encoding device 100 also performs the Fig.14 The encoding process is performed by the same process as in the first embodiment described. However, in step S104, the attribute information encoding unit 104 performs processing using the present technology described above in <2. Control of reference relationship>. For example, the attribute information encoding unit 104 merges points (nodes) of multiple levels to construct a reference relationship.
[0358] <Flow of attribute information encoding processing>
[0359] In this case, the attribute information encoding unit 104 performs Fig.15 The process described in the first embodiment is basically the same as the process to execute Fig.14 However, in step S111, the hierarchical processing unit 111 performs processing using the present technique described above in <2. Control of reference relationship>.
[0360] <Flow of layer processing>
[0361] Will refer to Fig.24 The flowchart describes an example of the flow of the hierarchical processing in this case.
[0362] When the hierarchical processing starts, in step S301 , the control unit 121 compares the number of nodes of each level with the number of nodes of a level one level higher.
[0363] In step S302 , the control unit 121 includes (merges) the nodes of a hierarchy whose number of nodes is not sufficiently greater than that of a hierarchy one hierarchy higher (eg, whose number of nodes is reduced) in the nodes of the hierarchy one hierarchy higher.
[0364] In step S303, the control unit 121 controls the scalable layer processing unit 122 or the non-scalable layer processing unit 123 to set a reference point from a layer one layer higher for each layer, that is, to construct a reference relationship between layers.
[0365] With the processing of steps S124 to S126 ( Fig.16 )Execute the processing of steps S304 to S306 in the same manner.
[0366] When the processing of step S306 ends, the layering processing ends and the processing returns to Fig.15 .
[0367] By performing the processing as described above, the hierarchical processing unit 111 can construct a reference relationship of a configuration in which the number of points monotonically increases from a higher hierarchy to a lower hierarchy. Therefore, the encoding device 100 can suppress a decrease in encoding efficiency.
[0368] <6. Fourth embodiment>
[0369] <Decoding device>
[0370] Next, another example of the device to which the present technology described above in <2. Control of reference relationship> is applied will be described. In this case, the decoding device 200 has a reference relationship with Fig.17 The configuration of the second embodiment described above is the same as that of the configuration of the second embodiment described above and performs substantially the same processing. However, the attribute information decoding unit 204 decodes the attribute data using the present technology described above in <2. Control of reference relationship>. For example, the attribute information decoding unit 204 reconstructs the prediction points of multiple levels with reference to the reference points of the same level based on the construction of the reference relationship according to the merging of the points (nodes) of the multiple levels at the time of inverse layering.
[0371] <Attribute Information Decoding Unit>
[0372] In this case, the attribute information decoding unit 204 also has the same Fig.18 The configuration of the second embodiment described above is the same as that of the configuration of the second embodiment and performs substantially the same processing. However, the inverse layering processing unit 213 performs layering using the present technology described above in <2. Control of reference relationship>. For example, the inverse layering processing unit 213 reconstructs prediction points of multiple layers with reference to reference points of the same layer based on the construction of reference relationships based on the merging of points (nodes) of multiple layers at the time of inverse layering.
[0373] <Reverse layering processing unit>
[0374] In this case, the inverse layering processing unit 213 also has the same Fig.19 The configuration of the second embodiment described above is the same as that of the configuration of the second embodiment and performs substantially the same processing. However, in this case, the inverse layering processing unit 213 may include at least one of the non-scalable inverse layering processing unit 222 and the scalable inverse layering processing unit 223. That is, inverse layering can be performed according to a method applicable to scalable decoding or a method not applicable to scalable decoding.
[0375] In addition, the control unit 221 controls the inverse stratification by using the method of the present technology described above in <2. Control of reference relationship>. For example, the control unit 221 reconstructs the prediction points of multiple levels based on the construction of the reference relationship based on the merging of points (nodes) of multiple levels, with reference to the reference points of the same level. For example, the control unit 221 appropriately merges the points of the level that is the processing target into the level of the higher level to construct the reference relationship based on the control information (e.g., merge_lower_lod_flag) indicating whether the reference relationship has been constructed based on the merging with other levels.
[0376] By performing inverse layering as described above, the inverse layering processing unit 213 can correctly inverse layer attribute data in which a reference relationship of a configuration in which the number of points monotonically increases from a higher layer to a lower layer is constructed. Therefore, the decoding device 200 can suppress a decrease in encoding efficiency.
[0377] <Decoding Process Flow>
[0378] Next, the processing performed by the decoding device 200 in this case will be described. In this case, the decoding device 200 also performs the Fig. 20 The decoding process is performed by the process substantially the same as the process in the second embodiment described above. However, the attribute information decoding unit 204 performs processing in step S206 using the present technology described above in <2. Control of reference relationship>. For example, the attribute information decoding unit 204 reconstructs the prediction points of multiple levels with reference to the reference points of the same level based on the construction of the reference relationship according to the merging of the points (nodes) of multiple levels.
[0379] <Flow of attribute information decoding process>
[0380] In this case, the attribute information decoding unit 204 decodes the Fig.21 The process described in the second embodiment is basically the same as the process to perform Fig. 20 However, the inverse hierarchical processing unit 213 performs processing in step S213 using the present technique described above in <2. Control of reference relationship>.
[0381] <Flow of reverse layering>
[0382] Will refer to Fig.25 The flowchart describes an example of the flow of the inverse hierarchical processing in this case.
[0383] When the reverse layering process starts, in step S401 , the control unit 221 layers the attribute data using the geometry data.
[0384] In step S402, the control unit 221 includes the nodes of a hierarchy whose number of nodes is not sufficiently greater than the number of nodes of a hierarchy one level higher in the nodes of a hierarchy one level higher, based on control information (e.g., merge_lower_lod_flag) indicating whether a reference relationship has been constructed based on a merge with other hierarchies.
[0385] In step S403, the non-scalable inverse hierarchical processing unit 222 (or the scalable inverse hierarchical processing unit 223) derives a prediction value of a prediction point using a reference point of a hierarchy higher by one hierarchy for each hierarchy.
[0386] In step S404, the non-scalable inverse layering processing unit 222 (or the scalable inverse layering processing unit 223) adds the predicted value and the difference value for each layer to reconstruct the attribute information of the predicted point.
[0387] In step S405, the non-scalable inverse hierarchical processing unit 222 (or the scalable inverse hierarchical processing unit 223) merges the attribute data of the prediction point and the reference point for each hierarchy.
[0388] When the process of step S405 is completed, the de-layering process is completed and the process returns to Fig.21 .
[0389] By performing the processing as described above, the inverse layering processing unit 213 can correctly inverse layer the attribute data in which the reference relationship of the configuration in which the number of points monotonically increases from the higher layer to the lower layer is constructed. Therefore, the decoding device 200 can suppress the reduction in encoding efficiency.
[0390] <7.Supplement>
[0391] <Stratification / de-stratification method>
[0392] Although Lifting has been exemplified above as an attribute information stratification / destratification method, the present technology can be applied to any technology for stratifying attribute information. That is, the attribute information stratification / destratification method may be a method other than Lifting.
[0393] <Control Information>
[0394] Control information about the present technology described in each embodiment can be sent from the encoding side to the decoding side. For example, control information (e.g., enabled_flag) for controlling whether to allow (or prohibit) the application of the above-mentioned present technology can be sent. In addition, for example, control information for specifying a range (e.g., an upper limit or a lower limit of a block size or both, a slice, a picture, a sequence, a component, a view, a layer, etc.) for allowing (or prohibiting) the application of the above-mentioned present technology can be sent.
[0395] <Surrounding / Nearby>
[0396] Meanwhile, positional relationships such as “around” and “nearby” in this specification include not only spatial positional relationships but also temporal positional relationships.
[0397] <Computer>
[0398] The above series of processing can be performed by hardware or software. In the case where a series of processing is performed by software, a program configuring the software is installed on a computer. Here, the computer includes, for example, a computer built into dedicated hardware and a general-purpose personal computer on which various programs are installed to be able to perform various functions.
[0399] Fig.26 : is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processes according to a program.
[0400] exist Fig.26 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 .
[0401] 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.
[0402] The input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, etc. The output unit 912 includes, for example, a display, a speaker, an output terminal, etc. The storage unit 913 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, etc. The communication unit 914 includes, 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.
[0403] In the computer configured as above, for example, the CPU 901 performs the above-described series of processing by loading a program stored in the storage unit 913 to the RAM 903 via the input / output interface 910 and the bus 904 and executing the program. Data and the like necessary for the CPU 901 to perform various types of processing are also appropriately stored in the RAM 903.
[0404] The program executed by the computer may be recorded on the removable medium 921 as a package medium or the like to be applied. In this case, the program can be installed in the storage unit 913 via the input / output interface 910 by inserting the removable medium 921 into the drive 915 .
[0405] In addition, 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 can be installed in the storage unit 913.
[0406] Furthermore, the program may be installed in the ROM 902 or the storage unit 913 in advance.
[0407] <Application target of existing technology>
[0408] Although the case where the present technology is applied to encoding / decoding of point cloud data has been described above, the present technology is not limited to such an example and can be applied to encoding / decoding of 3D data of any standard. That is, various types of processing such as encoding / decoding methods and specifications of various types of data such as 3D data and metadata can be arbitrary as long as they do not contradict the above-mentioned present technology. In addition, some of the above-mentioned processing and specifications can be omitted as long as they do not contradict the present technology.
[0409] Furthermore, although the encoding device 100 and the decoding device 200 have been described above as examples to which the present technology is applied, the present technology can be applied to any configuration.
[0410] For example, the present technology can be applied to various electronic devices such as transmitters and receivers (e.g., television receivers or cellular phones) in satellite broadcasting, cable broadcasting such as cable television, distribution on the Internet, distribution to terminals based on cellular communication, etc.; or devices that record images on media such as optical disks, magnetic disks, and flash memories or reproduce images from these storage media (e.g., hard disk recorders or cameras).
[0411] In addition, for example, the present technology can also be implemented as part of a component of a device, such as a processor used as a system large-scale integration (LSI) circuit, etc. (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 collection of units having additional other functions (e.g., a video collection).
[0412] In addition, the present technology can also be applied to a network system formed by, for example, a plurality of devices. For example, the present technology can be implemented as cloud computing in which a plurality of devices share and jointly process functions via a network. For example, the present technology can also be implemented in a cloud service that provides services related to images (moving images) to any terminal such as a computer, an audio-visual (AV) device, a portable information processing terminal, an Internet of Things (IoT) device, etc.
[0413] Meanwhile, in this specification, a system means a collection of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are arranged in a single housing. Therefore, a plurality of devices housed in different housings and connected via a network and a device in which a plurality of modules are housed in one housing are both systems.
[0414] <Fields / Applications Where This Technology Can Be Applied>
[0415] Systems, devices, processing units, etc. to which the present technology is applied can be used in any field, such as transportation, medical treatment, crime prevention, agriculture, animal husbandry, mining, beauty, factories, household appliances, weather and nature monitoring. In addition, its application is arbitrary.
[0416] <Others>
[0417] Meanwhile, in the present specification, a "flag" is information for identifying a plurality of states, and includes not only information for identifying two states of true (1) and false (0), but also information capable of identifying three or more states. Therefore, a "flag" can have not only two values of 1 / 0, but also three or more values. That is, the number of bits constituting the "flag" is arbitrary, and can be 1 bit or more bits. In addition, it is assumed that the identification information (also including the flag) has not only a form in which the identification information is included in the bit stream, but also a form in which the difference information of the identification information relative to specific reference information is included in the bit stream, therefore in the present specification, a "flag" and "identification information" include not only the information itself, but also the difference information relative to the reference information.
[0418] In addition, various types of information (metadata, etc.) about the coded data (bitstream) can be sent or recorded in any form as long as they are associated with the coded data. Here, the term "association" means, for example, making other information available (linkable) when processing a piece of information. That is, the associated information can be collected as a piece of data, or it can be individual information. For example, information associated with the coded data (image) can be transmitted on a transmission path different from the transmission path used for the coded data (image). In addition, for example, information associated with the coded data (image) can be recorded on a recording medium different from the recording medium of the coded data (image) (or another recording area of the same recording medium). At the same time, this "association" can be for part of the data, not all of the data. For example, an image and information corresponding to the image can be associated with each other in arbitrary units such as multiple frames, one frame, or a portion within a frame.
[0419] At the same time, in this specification, the terms "compose", "multiplex", "add", "integrate", "include", "store", "put in", "introduce", "insert" and the like refer to combining multiple things into one, such as combining encoded data and metadata into one piece of data, and refer to the above-mentioned "association" method.
[0420] Furthermore, the embodiments of the present technology are not limited to the above-described embodiments, and various modifications may be made without departing from the gist of the present technology.
[0421] For example, a configuration described as one device (or one processing unit) may be divided and configured into a plurality of devices (or processing units). Conversely, a configuration described as a plurality of devices (or processing units) in the above description may be configured together into one device (or one processing unit). Furthermore, it goes without saying that components other than the above components may be added to the configuration of each device (or each processing unit). Furthermore, as long as the configuration or operation of the entire system is substantially the same, a portion of the configuration of one device (or one processing unit) may be included in the configuration of another device (or another processing unit).
[0422] In addition, for example, the above-mentioned program can be executed in any device. In this case, the device can have a necessary function (functional block, etc.) that can obtain necessary information.
[0423] In addition, for example, each step of the flowchart may be performed by one device or by multiple devices in a shared manner. In addition, in the case where multiple processes are included in a single step, the multiple processes may be performed by one device or by multiple devices in a shared manner. In other words, the multiple processes included in a single step may be performed as processes of multiple steps. Conversely, the processes described as multiple steps may be performed collectively as a single step.
[0424] In addition, for example, the program executed by the computer may be executed so that the processing steps describing the program are executed in chronological order according to the order described in this specification, or are executed in parallel or individually at necessary timings, such as in response to a call. That is, each processing step may be executed in an order different from the above order as long as no contradiction is generated. In addition, various processing steps describing the program may be executed in parallel with the processing of another program, or may be executed in conjunction with the processing of another program.
[0425] In addition, for example, as long as no contradiction occurs, multiple technologies related to the present technology can be implemented independently and separately. It goes without saying that any number of the present technologies can also be implemented in parallel. For example, part or all of the present technology described in any embodiment can be implemented in combination with part or all of the present technology described in other embodiments. In addition, part or all of the above-mentioned present technology can be implemented in combination with other technologies not described above.
[0426] At the same time, the present technology can also adopt the following configurations.
[0427] (1) An information processing device comprising:
[0428] A hierarchical unit is configured to perform hierarchical processing of attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points by recursively repeating the following processing for a reference point: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value, wherein
[0429] The hierarchical unit performs hierarchical processing using a plurality of hierarchical processing methods to generate hierarchical levels that differ according to the hierarchical processing methods.
[0430] (2) The information processing device according to (1), wherein the hierarchical unit generates a hierarchy higher than a predetermined hierarchy according to a hierarchical method not applicable to scalable decoding, and generates a hierarchy lower than a predetermined hierarchy according to a hierarchical method applicable to scalable decoding.
[0431] (3) The information processing device according to (2), wherein the hierarchical unit generates the respective hierarchies in ascending order from the lowest level to the highest level.
[0432] (4) The information processing device according to any one of (1) to (3), further comprising:
[0433] a generating unit configured to generate control information regarding the layering of the attribute information performed by the layering unit; and
[0434] An encoding unit configured to encode the attribute information that has been layered by the layering unit, and generate encoded data of the attribute information including the control information that has been generated by the generating unit.
[0435] (5) An information processing method, for: for attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when performing layering of the attribute information by recursively repeating the following processing for a reference point, using multiple layering methods to generate different levels according to the multiple layering methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0436] (6) An information processing device comprising:
[0437] A reverse stratification unit configured to perform reverse stratification on the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, which is stratified by recursively repeating the following processing for the reference point: classifying the point as a prediction point or a reference point, deriving a predicted value of the attribute information of the prediction point using the attribute information of the reference point, and deriving a difference between the attribute information of the prediction point and the predicted value, wherein
[0438] The inverse hierarchical unit performs inverse hierarchical processing on hierarchies that differ according to the hierarchical processing methods using a plurality of hierarchical processing methods.
[0439] (7) An information processing device according to (6), wherein the inverse layering unit performs inverse layering on a layer higher than a predetermined layer according to a layering method that is not suitable for scalable decoding, and performs inverse layering on a layer lower than a predetermined layer according to a layering method that is suitable for scalable decoding.
[0440] (8) The information processing device according to (7), wherein the de-hierarchical unit identifies the predetermined hierarchy based on first control information indicating a hierarchy range to which a hierarchical method suitable for scalable decoding is applied.
[0441] (9) An information processing device according to (8), wherein the inverse layering unit identifies the predetermined layer based on the first control information, with respect to the second control information indicating whether the layered method suitable for scalable decoding can be applied, indicating attribute information that the layered method suitable for scalable decoding can be applied.
[0442] (10) The information processing device according to any one of (6) to (9), further comprising:
[0443] A decoding unit configured to decode the encoded data of the attribute information to generate the attribute information, wherein
[0444] The inverse layering unit performs inverse layering on the attribute information obtained by decoding the encoded data by the decoding unit.
[0445] (11) An information processing method, for: for attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when performing inverse stratification on the attribute information that has been stratified by recursively repeating the following processing for a reference point, inverse stratification is performed using multiple stratification methods on different levels according to the multiple stratification methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0446] (12) An information processing device comprising:
[0447] A stratification unit is configured to perform stratification of the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points by recursively repeating the following processing for the reference point: classifying the point as a prediction point or a reference point, deriving a prediction value of the attribute information of the prediction point using the attribute information of the reference point, and deriving a difference between the attribute information of the prediction point and the prediction value, wherein
[0448] The hierarchical unit refers to reference points at the same level to derive prediction values of prediction points at multiple levels.
[0449] (13) The information processing device according to (12), wherein the hierarchical unit calculates the prediction value of the prediction point of the hierarchy whose point number is not sufficiently greater than the point number of the hierarchy one level higher, with reference to the reference point of the hierarchy two levels higher.
[0450] (14) The information processing device according to (12) or (13), further comprising:
[0451] a generating unit configured to generate control information indicating whether a reference relationship has been constructed based on merging with other hierarchies; and
[0452] An encoding unit configured to encode the attribute information that has been layered by the layering unit, and generate encoded data of the attribute information including the control information that has been generated by the generating unit.
[0453] (15) An information processing method, for:
[0454] For the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, predicted values of predicted points of multiple levels are derived with reference to reference points of the same level when layering of the attribute information is performed by recursively repeating the following processing for a reference point: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value.
[0455] (16) An information processing device comprising:
[0456] A reverse stratification unit configured to perform reverse stratification on the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, which is stratified by recursively repeating the following processing for the reference point: classifying the point as a prediction point or a reference point, deriving a predicted value of the attribute information of the prediction point using the attribute information of the reference point, and deriving a difference between the attribute information of the prediction point and the predicted value, wherein
[0457] The inverse layering unit derives predicted values of attribute information of prediction points of multiple layers with reference to attribute information of reference points of the same layer when performing inverse layering, and generates attribute information of the prediction points by adding the derived predicted values to the difference values.
[0458] (17) An information processing device according to (16), wherein, when performing inverse layering, the inverse layering unit identifies a layer as a reference destination for a processing target layer based on control information indicating whether to refer to a layer identical to other layers, and derives a predicted value of the attribute information of a prediction point of the processing target layer with reference to the attribute information of the reference point of the identified layer.
[0459] (18) An information processing device according to (16) or (17), wherein the inverse hierarchical unit derives a predicted value of the attribute information of the predicted point for a level whose number of points is not sufficiently greater than the number of points of a level one level higher, by referring to the attribute information of the reference point of a level two levels higher.
[0460] (19) The information processing device according to any one of (16) to (18), further comprising:
[0461] A decoding unit configured to decode the encoded data of the attribute information to generate the attribute information, wherein
[0462] The inverse layering unit performs inverse layering on the attribute information reconstructed by decoding the encoded data by the decoding unit.
[0463] (20) An information processing method, for:
[0464] For attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, when inverse stratification is performed on the attribute information that has been stratified by recursively repeating, for a reference point, a process of classifying a point as a prediction point or a reference point, deriving a predicted value of the attribute information of the prediction point using the attribute information of the reference point, and deriving a difference between the attribute information of the prediction point and the predicted value,
[0465] deriving predicted values of attribute information of prediction points of multiple levels with reference to attribute information of reference points of the same level, and
[0466] The attribute information of the prediction point is generated by adding the derived prediction value to the difference value.
[0467] [reference numerals list]
[0468] 100 Encoding device
[0469] 101 Position information encoding unit
[0470] 102 Position information decoding unit
[0471] 103 Point cloud generation unit
[0472] 104 Attribute information encoding unit
[0473] 105 Bitstream Generation Unit
[0474] 111 Layered Processing Unit
[0475] 112 Quantization Unit
[0476] 113 Coding Unit
[0477] 121 Control unit
[0478] 122 Scalable Hierarchical Processing Units
[0479] 123 Non-scalable hierarchical processing unit
[0480] 124 Inversion Unit
[0481] 125 weighted units
[0482] 200 Decoding device
[0483] 201 Decoding target LoD depth setting unit
[0484] 202 Encoded data extraction unit
[0485] 203 Position information decoding unit
[0486] 204 attribute information decoding unit
[0487] 205 Point cloud generation unit
[0488] 211 Decoding Unit
[0489] 212 Inverse Quantization Unit
[0490] 213 Inverse layering processing unit
[0491] 221 Control Unit
[0492] 222 Non-scalable Inverse Hierarchical Processing Unit
[0493] 223 Scalable Inverse Hierarchical Processing Unit< / lifting>
Claims
1. An information processing device for processing attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, the information processing device comprising: a hierarchical unit configured to perform hierarchical processing of the attribute information by recursively repeating the following processing for the reference point among the points classified as the prediction point or the reference point: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein The hierarchical unit hierarchizes a first level using a first hierarchical method, and hierarchizes a second level different from the first level using a second hierarchical method different from the first hierarchical method, and The first layered method is not applicable to scalable decoding, and the second layered method is applicable to scalable decoding.
2. The information processing device according to claim 1, wherein: The hierarchical unit generates hierarchies higher than a predetermined level including the first level according to the first hierarchical method not applicable to scalable decoding, and generates hierarchies lower than the predetermined level including the second level according to the second hierarchical method applicable to scalable decoding.
3. The information processing device according to claim 2, wherein: The hierarchical unit generates the respective hierarchies in ascending order from the lowest level to the highest level.
4. The information processing device according to claim 1, further comprising: a generating unit configured to generate control information regarding the layering of the attribute information performed by the layering unit; as well as An encoding unit configured to encode the attribute information that has been layered by the layering unit, and generate encoded data of the attribute information including the control information that has been generated by the generating unit.
5. An information processing method for: for attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, when performing hierarchical layering of the attribute information by recursively repeating the following processing for a reference point, using a plurality of hierarchical layering methods to generate hierarchies that differ according to the plurality of hierarchical layering methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value, wherein A first hierarchical method for hierarchizing a first level among the plurality of hierarchical methods is not applicable to scalable decoding, and a second hierarchical method for hierarchizing a second level among the plurality of hierarchical methods is applicable to scalable decoding.
6. An information processing device for processing attribute information of each point in a point cloud representing a three-dimensional object as a collection of points, the information processing device comprising: a reverse stratification unit configured to perform reverse stratification on attribute information stratified by recursively repeating the following process for the reference point among the points classified as the prediction point or the reference point: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein The de-stratification unit de-stratifies a first level using a first stratification method, and de-stratifies a second level different from the first level using a second stratification method different from the first stratification method, and The first layered method is not applicable to scalable decoding, and the second layered method is applicable to scalable decoding.
7. The information processing device according to claim 6, wherein: The inverse layering unit performs inverse layering on layers higher than a predetermined layer including the first layer according to the first layering method not applicable to scalable decoding, and performs inverse layering on layers lower than the predetermined layer including the second layer according to the second layering method applicable to scalable decoding.
8. The information processing device according to claim 7, wherein: The inverse hierarchical unit identifies the predetermined hierarchy based on first control information indicating a hierarchy range to which a second hierarchical method applicable to scalable decoding is applied.
9. The information processing device according to claim 8, wherein: The de-hierarchical unit identifies the predetermined hierarchy based on the first control information for attribute information indicating that a second hierarchical method applicable to scalable decoding can be applied according to second control information indicating whether the second hierarchical method applicable to scalable decoding can be applied.
10. The information processing device according to claim 6, further comprising: A decoding unit configured to decode the encoded data of the attribute information to generate the attribute information, wherein The inverse layering unit performs inverse layering on the attribute information obtained by decoding the encoded data by the decoding unit.
11. An information processing method, for: for attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, when performing inverse stratification on attribute information that has been stratified by recursively repeating the following processing for a reference point, performing inverse stratification on different levels according to the multiple stratification methods using multiple stratification methods: classifying a point as a predicted point or a reference point, deriving a predicted value of the attribute information of the predicted point using the attribute information of the reference point, and deriving a difference between the attribute information of the predicted point and the predicted value, wherein A first hierarchical method for inversely hierarchizing a first level among the plurality of hierarchical methods is not applicable to scalable decoding, and a second hierarchical method for inversely hierarchizing a second level among the plurality of hierarchical methods is applicable to scalable decoding.
12. An information processing device for processing attribute information of each point in a point cloud representing a three-dimensional object as a collection of points, the information processing device comprising: A hierarchical unit configured to perform hierarchical processing of the attribute information by recursively repeating the following processing for the reference point among the points classified as the prediction point or the reference point: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein The hierarchical unit refers to reference points of the same level to derive prediction values of prediction points of multiple levels, and The hierarchical unit calculates a predicted value of a predicted point of a hierarchy whose point number is less than the point number of a hierarchy one hierarchy higher by a predetermined number of points.
13. The information processing device according to claim 12, wherein: The hierarchical unit calculates a predicted value of a predicted point of a level whose number of points is less than a predetermined number of points of a level one level higher, with reference to a reference point of a level two levels higher.
14. The information processing device according to claim 12, further comprising: a generating unit configured to generate control information indicating whether a reference relationship has been constructed based on merging with other hierarchies; as well as An encoding unit configured to encode the attribute information that has been layered by the layering unit, and generate encoded data of the attribute information including the control information that has been generated by the generating unit.
15. An information processing method, for: For the attribute information of each point in a point cloud representing an object of a three-dimensional shape as a collection of points, when layering of the attribute information is performed by recursively repeating the following processing for a reference point, predicted values of predicted points of multiple levels are derived with reference to reference points of the same level, and predicted values of predicted points of a level whose number of points is not more than a predetermined number of points than a level one level higher are calculated: a point is classified as a predicted point or a reference point, a predicted value of the attribute information of the predicted point is derived using the attribute information of the reference point, and a difference between the attribute information of the predicted point and the predicted value is derived.
16. An information processing device for processing attribute information of each point in a point cloud representing a three-dimensional object as a collection of points, the information processing device comprising: A reverse stratification unit configured to: perform reverse stratification on attribute information stratified by recursively repeating the following process on the reference point among the points classified as the prediction point or the reference point: deriving a difference between a predicted value of the attribute information of the prediction point derived using the attribute information of the reference point and the attribute information of the prediction point, wherein The inverse layering unit, when performing inverse layering, refers to the attribute information of the reference point of the same layer to derive the predicted value of the attribute information of the prediction point of the plurality of layers, and generates the attribute information of the prediction point by adding the derived predicted value to the difference value, and The de-stratification unit derives a predicted value of the attribute information of the prediction point for a level having a point number less than a predetermined number of points of a level one level higher.
17. The information processing device according to claim 16, wherein: When performing inverse layering, the inverse layering unit identifies a layer as a reference destination for a processing target layer based on control information indicating whether to refer to a layer identical to another layer, and derives a predicted value of the attribute information of a prediction point of the processing target layer with reference to the attribute information of the reference point of the identified layer.
18. The information processing device according to claim 16, wherein: The inverse hierarchical unit refers to the attribute information of the reference point of the layer two levels higher, for the layer whose point number is less than the point number of the layer one level higher by a predetermined number, to derive the predicted value of the attribute information of the predicted point.
19. The information processing device according to claim 16, further comprising: A decoding unit configured to decode the encoded data of the attribute information to generate the attribute information, wherein The inverse layering unit performs inverse layering on the attribute information reconstructed by decoding the encoded data by the decoding unit.
20. An information processing method, for: For attribute information of each point in a point cloud representing an object of a three-dimensional shape as a set of points, when inverse stratification is performed on the attribute information that has been stratified by recursively repeating, for a reference point, a process of classifying a point as a prediction point or a reference point, deriving a predicted value of the attribute information of the prediction point using the attribute information of the reference point, and deriving a difference between the attribute information of the prediction point and the predicted value, The predicted values of the attribute information of the prediction points at multiple levels are derived by referring to the attribute information of the reference points at the same level. generating attribute information of the prediction point by adding the derived prediction value to the difference value, and For a level whose point number is less than a predetermined number of points of a level one level higher, a predicted value of the attribute information of the predicted point is derived.
Citation Information
Patent Citations
Hierarchical point cloud compression
US20190081638A1