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

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

Info

Publication number
WO2021140930A1
WO2021140930A1 PCT/JP2020/048358 JP2020048358W WO2021140930A1 WO 2021140930 A1 WO2021140930 A1 WO 2021140930A1 JP 2020048358 W JP2020048358 W JP 2020048358W WO 2021140930 A1 WO2021140930 A1 WO 2021140930A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
points
information
reference point
attribute information
Prior art date
Application number
PCT/JP2020/048358
Other languages
English (en)
French (fr)
Inventor
加藤 毅
智 隈
央二 中神
弘幸 安田
幸司 矢野
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202080091116.4A priority Critical patent/CN114902284A/zh
Priority to KR1020227021436A priority patent/KR20220122995A/ko
Priority to JP2021569833A priority patent/JPWO2021140930A1/ja
Priority to EP20912609.3A priority patent/EP4071715A4/en
Priority to US17/790,393 priority patent/US20230023219A1/en
Publication of WO2021140930A1 publication Critical patent/WO2021140930A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present disclosure relates to an information processing device and a method, and more particularly to an information processing device and a method capable of suppressing a decrease in coding efficiency.
  • Non-Patent Document 1 a method for encoding 3D data representing a three-dimensional structure such as a point cloud has been considered (see, for example, Non-Patent Document 1).
  • the point cloud data is composed of geometry data (also referred to as position information) and attribute data (also referred to as attribute information) of each point. Therefore, the point cloud is coded for each of its geometry data and attribute data.
  • Various methods have been proposed as methods for encoding attribute data. For example, it has been proposed to use a technique called Lifting (see, for example, Non-Patent Document 2).
  • a method has been proposed in which attribute data can be decoded in a scalable manner (see, for example, Non-Patent Document 3).
  • attribute data is hierarchized by recursively repeating the process of setting points as reference points or prediction points with respect to reference points. Then, according to this hierarchical structure, the predicted value of the attribute data of the predicted point is derived using the attribute data of the reference point, and the difference value between the predicted value and the attribute data is encoded.
  • a method has been proposed in which the first point and the last point in the Morton order among the reference point candidates are alternately selected for each hierarchy as reference points ( For example, see Non-Patent Document 4).
  • Non-Patent Document 4 is not always optimal, and other methods have also been sought.
  • This disclosure has been made in view of such a situation, and makes it possible to suppress a decrease in coding efficiency.
  • the information processing device of one aspect of the present technology derives the difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the stratification unit is provided with a stratification unit that stratifies the attribute information by recursively repeating the classification of the prediction point to be performed and the reference point used for deriving the prediction value with respect to the reference point. Is an information processing device that sets the reference point based on the center of gravity of the point.
  • the information processing method of one aspect of the present technology derives a difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the reference point is referred to as a point when the attribute information is layered. This is an information processing method that is set based on the center of gravity.
  • the information processing device of the other aspect of the present technology obtains a difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the layering unit is provided to layer the attribute information by recursively repeating the classification of the predicted point to be derived and the reference point used for deriving the predicted value with respect to the reference point.
  • the unit is an information processing device that sets the reference points based on the distribution mode of the points.
  • the information processing method of another aspect of the present technology is to obtain a difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the reference point is pointed when the attribute information is hierarchized. It is an information processing method set based on the distribution mode of.
  • the information processing device of the other aspect of the present technology is a difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the layering unit for layering the attribute information and the layering It is an information processing apparatus including a coding unit that encodes information related to the setting of the reference point by the unit.
  • the information processing method of yet another aspect of the present technology is a difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the attribute information is hierarchized and the information regarding the setting of the reference point is performed. Is an information processing method for encoding.
  • the information processing device on the other aspect of the present technology is a difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the hierarchy is provided with a layering unit for layering the attribute information by recursively repeating the classification of the prediction point for deriving the predicted value and the reference point used for deriving the predicted value with respect to the reference point.
  • the information processing method of yet another aspect of the present technology is a difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points.
  • the difference value between the attribute information and the predicted value of the attribute information is calculated.
  • the reference point becomes the center of gravity of the point when layering the attribute information.
  • the difference value between the attribute information and the predicted value of the attribute information for the attribute information for each point of the point cloud that expresses the object of the three-dimensional shape as a set of points.
  • the reference point is the distribution mode of the points when the attribute information is hierarchized. It is set based on.
  • the difference between the attribute information and the predicted value of the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points By recursively repeating the classification of the prediction point for deriving the value and the reference point used for deriving the predicted value with respect to the reference point, the attribute information is hierarchized and the information regarding the setting of the reference point is coded. Will be converted.
  • the difference between the attribute information and the predicted value of the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points By recursively repeating the classification of the prediction point for deriving the value and the reference point used for deriving the predicted value with respect to the reference point, the reference point is used as a reference point when layering the attribute information.
  • the point closer to the center of the bounding box and the point farther from the center of the bounding box are alternately selected for each layer.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 (above)
  • Non-Patent Document 4 (above)
  • ⁇ Point cloud> Conventionally, a point cloud that represents a three-dimensional structure based on point position information and attribute information, and a mesh that is composed of vertices, edges, and faces and defines a three-dimensional shape using polygonal representation. There was 3D data such as.
  • Point cloud data (also referred to as point cloud data) is composed of position information (also referred to as geometry data) and attribute information (also referred to as attribute data) at each point.
  • Attribute data can contain arbitrary information. For example, the color information, reflectance information, normal information, etc. of each point may be included in the attribute data.
  • the point cloud data has a relatively simple data structure, and by using a sufficiently large number of points, an arbitrary three-dimensional structure can be expressed with sufficient accuracy.
  • a voxel is a three-dimensional area for quantizing geometry data (position information).
  • the three-dimensional area containing the point cloud (also referred to as the Bounding box) is divided into small three-dimensional areas called voxels, and each voxel indicates whether or not points are included. By doing so, the position of each point is quantized in voxel units. Therefore, by converting the point cloud data into such voxel data (also referred to as voxel data), the increase in the amount of information is suppressed (typically, the amount of information is reduced). Can be done.
  • Octree is a tree-structured version of voxel data.
  • the value of each bit of the lowest node of this Octree indicates the presence or absence of a point for each voxel. For example, a value "1" indicates a voxel containing points, and a value "0" indicates a voxel containing no points.
  • one node corresponds to eight voxels. That is, each node of the Octtree is composed of 8 bits of data, and the 8 bits indicate the presence or absence of points of 8 voxels.
  • the upper node of Octtree indicates the presence or absence of a point in the area where eight voxels corresponding to the lower node belonging to the node are combined into one. That is, the upper node is generated by collecting the voxel information of the lower node. If a node with a value of "0", that is, all eight corresponding voxels do not contain points, that node is deleted.
  • Octree can indicate the presence or absence of voxel points at each resolution.
  • the position information can be decoded from the highest resolution (highest layer) to a desired layer (resolution), and the point cloud data of that resolution can be restored. That is, it is possible to easily decode information at an arbitrary resolution without decoding unnecessary layer (resolution) information. In other words, voxel (resolution) scalability can be achieved.
  • the voxel in the area where the point does not exist can be reduced in resolution, so that further increase in the amount of information can be suppressed (typically, the amount of information). Can be reduced).
  • attribute data attribute data
  • RAHT Restriction Adaptive Hierarchical Transform
  • Lifting a transformation called Lifting as described in Non-Patent Document 2
  • attribute data is hierarchized by recursively repeating the process of setting a point as a reference point or a prediction point with respect to the reference point. Then, according to this hierarchical structure, the predicted value of the attribute data of the predicted point is derived using the attribute data of the reference point, and the difference value between the predicted value and the attribute data is encoded.
  • point P5 is selected as a reference point in FIG.
  • the predicted point is searched for in a circular region having a radius R centered on the point P5.
  • the point P9 since the point P9 is located in the region, it is set as a prediction point (a prediction point with the point P5 as a reference point) from which the prediction value is derived with reference to the point P5.
  • the difference values of P0, point P2, point P4, and point P5 are derived as difference values in different layers.
  • the point cloud is arranged in a three-dimensional space, and the above-mentioned processing is performed in the three-dimensional space.
  • the three-dimensional space is modeled using a two-dimensional plane. Is shown. That is, the description given with reference to FIG. 1 can be similarly applied to processing, phenomena, and the like in the three-dimensional space.
  • each circle indicates a node
  • a black circle indicates a node selected as a reference point (that is, selected as a node one level higher).
  • each node is sorted in Morton order from left to right. That is, in the case of the example of FIG. 2, the leftmost node is always selected.
  • Non-Patent Document 4 in such a hierarchy of attribute data, as reference points, the first point and the last point in the Morton order among the reference point candidates are set for each hierarchy.
  • a method of selecting alternately was proposed. That is, as in the example of FIG. 3, in the LoDN hierarchy, the first node in the Morton order is selected as the reference point, and in the next hierarchy (LoDN-1), the last node in the Morton order is selected. Selected as a reference point.
  • FIG. 4 describes an example of selecting a reference point in a three-dimensional space using a two-dimensional plane.
  • Each square of A in FIG. 4 indicates a voxel in a certain hierarchy.
  • the circle indicates a candidate reference point to be processed.
  • a reference point is selected from the 2x2 points shown in A of FIG. 4, for example, the first point (gray point) in the Morton order is selected as the reference point.
  • the last point (gray point) in Morton order among the 2x2 points is selected as the reference point.
  • the first point (gray point) in the Morton order is selected as the reference point.
  • the arrows shown in each of A to C in FIG. 4 indicate the movement of the reference point.
  • the movement range of the reference point is limited to a narrow range as shown by the dotted line frame shown in FIG. 4C, the reduction of the prediction accuracy is suppressed.
  • FIG. 4 illustrates another example of selecting a reference point in a three-dimensional space using a two-dimensional plane. That is, the moving range of the reference point becomes wider than that in the case of FIG. 4, as shown by the dotted line frame shown in C of FIG. 5, and there is a risk that the prediction accuracy may be reduced.
  • the prediction accuracy may be reduced depending on the position of the point, and the coding efficiency may be reduced.
  • the reference points are selected according to the distribution pattern (distribution mode) of the points. May be good.
  • the information regarding the setting of the reference point is transmitted from the coding side to the decoding side. May be good.
  • points near the center of the bounding box and points far from the center of the bounding box are set for each layer as reference points. It may be selected alternately.
  • each of the above-mentioned methods can be applied to the coding / decoding of attribute data corresponding to scalable decoding, or can be applied to the coding / decoding of attribute data not corresponding to scalable decoding. ..
  • Method 1 The case where the above-mentioned "method 1" is applied will be described.
  • the center of gravity of the point is derived, and the reference point is selected based on the center of gravity. Any point may be set as a reference point with respect to the derived center of gravity. For example, a point close to the derived center of gravity (for example, a point located closer to the center of gravity) may be selected as a reference point.
  • a in FIG. 7 shows an example of a target area for setting a reference point.
  • squares indicate voxels and circles indicate points. That is, A of FIG. 7 is a diagram schematically showing an example of a voxel structure in a three-dimensional space using a two-dimensional plane. For example, assuming that points A to C arranged as shown in A of FIG. 7 are candidates for reference points, as shown in B of FIG. 7, point B close to the center of gravity of these candidates is selected as a reference point. You may.
  • FIG. 7B shows a hierarchical structure of attribute data as in FIG. 2 and the like, and black circles indicate reference points. That is, the point B is selected as the reference point from the points A to C.
  • the reference points can be set so as to suppress the reduction in the prediction accuracy for more prediction points, and the reduction in the coding efficiency can be suppressed.
  • the method of deriving the center of gravity is arbitrary.
  • the center of gravity for any point may be applied as the center of gravity used for selecting the reference point.
  • the center of gravity of a point located within a predetermined range may be derived and the center of gravity may be used for selecting a reference point. By doing so, it is possible to suppress an increase in the number of points used for deriving the center of gravity, and it is possible to suppress an increase in the load.
  • the range of points used for deriving the center of gravity may be any range.
  • the center of gravity of the candidate reference point may be derived as in the method (1) shown in the second row from the top of the table of "Method of deriving the center of gravity" shown in FIG. That is, for example, as shown in A of FIG. 9, a voxel region composed of 2x2x2 voxels in which a point that is a candidate for a reference point exists may be set as the center of gravity derivation target range.
  • a 2x2x2 voxel region in a three-dimensional space is schematically shown on a two-dimensional plane (as a 2x2 square).
  • the centers of gravity of the three points indicated by circles in A in FIG. 9 are derived, and the centers of gravity are used for setting the reference points.
  • the center of gravity of the point to be processed (candidate for the reference point) may be derived, so that it is not necessary to search for other points, and the center of gravity can be easily derived.
  • the voxel area to be derived from the center of gravity is arbitrary and is not limited to 2x2x2.
  • the voxel region to be derived from the center of gravity (the voxel region shown by the thick line in A of FIG. 10) and the voxel region to be derived from the reference point (A in FIG. 10).
  • the voxel region shown in gray in the above may be at the same position (both ranges may be completely matched).
  • a voxel region actually formed in a three-dimensional space is schematically shown on a two-dimensional plane.
  • the center of gravity derivation target range and the voxel region of the target from which the reference point is derived are shown slightly offset from each other, but in reality, both ranges are shown to be completely the same. Shown.
  • the voxel region (the voxel region shown by the thick line in B of FIG. 10) which is the target range for deriving the center of gravity is the voxel region of the target for which the reference point is derived (B of FIG. 10). It may be wider than the voxel region (shown in gray).
  • the voxel region of 4x4x4 is set as the center of gravity derivation target range.
  • the center of the voxel region (the voxel region shown by the thick line in FIG. 10C) as the center of gravity derivation target range is the target voxel region from which the reference point is derived (FIG. 10). It does not have to coincide with the center of the voxel region (shown in gray in C). That is, the center of gravity derivation target range may be biased in a predetermined direction with respect to the voxel region of the target from which the reference point is derived. For example, in order to prevent the center of gravity derivation target range from protruding from the bounding box near the edge of the bounding box, the expansion of the center of gravity derivation target range may be biased in this way.
  • the center of gravity of the neighboring N points may be obtained. That is, for example, as shown in B of FIG. 9, N points are searched from the side closer to the center coordinate of the voxel region consisting of 2x2x2 voxels in which a candidate point for a reference point exists, and the N points are searched for.
  • the center of gravity of the point may be derived.
  • B of FIG. 9 the distribution of points actually arranged in the three-dimensional space is schematically shown on the two-dimensional plane.
  • the black circle indicates the center coordinates of the target voxel region from which the reference point is derived. That is, N points (white circles) are selected in order from the one closest to the black circle, and the center of gravity is derived.
  • the number of points to be searched can be limited to N, so that the increase in load due to the search can be suppressed.
  • the reference point is derived from the neighboring N points derived by the method (2).
  • Candidates points existing in the voxel region consisting of 2x2x2 voxels
  • the 2x2x2 voxel region may be excluded from the center of gravity derivation target range, and the center of gravity of the point located outside the 2x2x2 voxel region may be derived.
  • the distribution of points actually arranged in the three-dimensional space is schematically shown on the two-dimensional plane.
  • the center of gravity of a point in a region having a radius r centered on the center coordinates of the voxel region may be derived. That is, in this case, for example, as shown in D of FIG. 9, the center of gravity of the point located within the region of radius r centered on the center coordinates of the voxel region consisting of 2x2x2 voxels shown by the dotted line frame is derived. To. In D of FIG.
  • the distribution of points actually arranged in the three-dimensional space is schematically shown on the two-dimensional plane.
  • the black circles indicate the center coordinates of the target voxel region from which the reference point is derived
  • the white circles indicate the points in the region having a radius r centered on the center coordinates of the voxel region composed of 2x2x2 voxels.
  • this technology can be applied to Lifting that does not use voxel structure and does not support scalability.
  • a point close to the derived center of gravity can be set as a reference point.
  • any one of them is selected as a reference point.
  • This selection method is arbitrary.
  • reference points may be set as in each method shown in the table of "How to select reference points from a plurality of candidates" in FIG.
  • points located sufficiently close to each other may be set as "points close to the center of gravity”.
  • points located within the radius Dth from the center of gravity are regarded as “points close to the center of gravity”.
  • the point to be processed may be selected first.
  • the first or the first in a predetermined search order may be selected after the turn. For example, it is possible to switch for each layer whether to select the point to be processed first in the predetermined search order or the point to be processed last in the predetermined search order.
  • the middle (number / 2) in a predetermined search order. ) May be used to select the point to be processed.
  • the order is specified in a predetermined search order. You may choose the point to be processed. That is, the Nth point to be processed may be selected in a predetermined search order.
  • This designated order (N) may be predetermined or may be set by a user, an application, or the like. Further, when the designated order can be set, the information regarding the designated order (N) may be signaled (transmitted).
  • a reference point is set from the plurality of candidates based on a predetermined search order. It may be.
  • the search order is arbitrary. For example, it may be in Morton order or not in Morton order. Further, this search order may be predetermined by a standard or the like, or may be set by a user, an application, or the like. When this search order can be set, information regarding the search order may be signaled (transmitted).
  • the range of the center of gravity derivation is made wider. It is also possible to derive the center of gravity of a point within the range of derivation of the center of gravity in a wide range, and select the point using the newly derived center of gravity. That is, the center of gravity may be derived again by changing the conditions.
  • FIG. 13 is a block diagram showing an example of a configuration of a coding device, which is an aspect of an information processing device to which the present technology (“Method 1”) is applied.
  • the coding device 100 shown in FIG. 13 is a device that encodes a point cloud (3D data).
  • the coding device 100 encodes the point cloud by applying the present technology described in the present embodiment.
  • FIG. 13 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the coding apparatus 100, there may be a processing unit that is not shown as a block in FIG. 13, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the coding device 100 includes a position information coding unit 101, a position information decoding unit 102, a point cloud generation unit 103, an attribute information coding unit 104, and a bitstream generation unit 105.
  • the position information coding unit 101 encodes the geometry data (position information) of the point cloud (3D data) input to the coding device 100.
  • This coding method is arbitrary as long as it supports scalable decoding.
  • the position information coding unit 101 stratifies the geometry data to generate an Octree, and encodes the Octree. Further, for example, processing such as filtering or quantization for noise suppression (denoise) may be performed.
  • the position information coding unit 101 supplies the coded data of the generated geometry data to the position information decoding unit 102 and the bit stream generation unit 105.
  • the position information decoding unit 102 acquires the coded data of the geometry data supplied from the position information coding unit 101, and decodes the coded data.
  • This decoding method is arbitrary as long as it corresponds to the coding by the position information coding unit 101. For example, processing such as filtering for denoise and dequantization may be performed.
  • the position information decoding unit 102 supplies the generated geometry data (decoding result) to the point cloud generation unit 103.
  • the point cloud generation unit 103 acquires the point cloud attribute data (attribute information) input to the coding device 100 and the geometry data (decoding result) supplied from the position information decoding unit 102.
  • the point cloud generation unit 103 performs a process (recolor process) of matching the attribute data with the geometry data (decoding result).
  • the point cloud generation unit 103 supplies the attribute data corresponding to the geometry data (decoding result) to the attribute information coding unit 104.
  • the attribute information coding unit 104 acquires the geometry data (decoding result) and the attribute data supplied from the point cloud generation unit 103.
  • the attribute information coding unit 104 encodes the attribute data using the geometry data (decoding result) and generates the coded data of the attribute data.
  • the attribute information coding unit 104 applies the above-mentioned technique (method 1) to encode the attribute data.
  • the attribute information coding unit 104 supplies the coded data of the generated attribute data to the bitstream generation unit 105.
  • the bitstream generation unit 105 acquires the coded data of the geometry data supplied from the position information coding unit 101. Further, the bitstream generation unit 105 acquires the coded data of the attribute data supplied from the attribute information coding unit 104. The bitstream generation unit 105 generates a bitstream including these coded data. The bitstream generation unit 105 outputs the generated bitstream to the outside of the coding device 100.
  • the coding device 100 can obtain the center of gravity of the point in the layering of the attribute data and set the reference point based on the center of gravity.
  • the reference points can be set so as to suppress the reduction in the prediction accuracy for more prediction points, and the reduction in the coding efficiency can be suppressed.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and the above-mentioned processing is realized by executing a program using them. You may do so.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • FIG. 14 is a block diagram showing a main configuration example of the attribute information coding unit 104 (FIG. 13). It should be noted that FIG. 14 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the attribute information coding unit 104, there may be a processing unit that is not shown as a block in FIG. 14, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the attribute information coding unit 104 includes a layering processing unit 111, a quantization unit 112, and a coding unit 113.
  • the layering processing unit 111 performs processing related to layering of attribute data. For example, the layering processing unit 111 acquires attribute data and geometry data (decoding result) supplied from the point cloud generation unit 103. The layering processing unit 111 uses the geometry data to layer the attribute data. At that time, the layering processing unit 111 applies the above-mentioned technique (method 1) to perform layering. That is, the layering processing unit 111 derives the center of gravity of the point in each layer and selects the reference point based on the center of gravity.
  • the layering processing unit 111 sets a reference relationship in each layer of the hierarchical structure, derives a predicted value of the attribute data of each predicted point using the attribute data of the reference point based on the reference relationship, and derives the predicted value of the attribute. Derivation of the difference between the data and its predicted value.
  • the layered processing unit 111 supplies the layered attribute data (difference value) to the quantization unit 112.
  • the layering processing unit 111 can also generate control information related to layering.
  • the layering processing unit 111 may also supply the generated control information to the quantization unit 112 together with the attribute data (difference value).
  • the quantization unit 112 acquires attribute data (difference value) and control information supplied from the layering processing unit 111.
  • the quantization unit 112 quantizes the attribute data (difference value). This quantization method is arbitrary.
  • the quantized unit 112 supplies the quantized attribute data (difference value) and control information to the coding unit 113.
  • the coding unit 113 acquires the quantized attribute data (difference value) and control information supplied from the quantizing unit 112.
  • the coding unit 113 encodes the quantized attribute data (difference value) and generates coded data of the attribute data.
  • This coding method is arbitrary. Further, the coding unit 113 includes control information in the generated coded data. In other words, the coded data of the attribute data including the control information is generated.
  • the coding unit 113 supplies the generated coded data to the bitstream generation unit 105.
  • the attribute information coding unit 104 can set a point close to the center of gravity as a reference point, and therefore sets a point close to more other points as a reference point. can do. Therefore, that is, the reference points can be set so as to suppress the reduction in the prediction accuracy for more prediction points, and the reduction in the coding efficiency can be suppressed.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • FIG. 15 is a block diagram showing a main configuration example of the layered processing unit 111 (FIG. 14). It should be noted that FIG. 15 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the layered processing unit 111, there may be a processing unit that is not shown as a block in FIG. 15, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the layering processing unit 111 includes a reference point setting unit 121, a reference relationship setting unit 122, an inversion unit 123, and a weight value derivation unit 124.
  • the reference point setting unit 121 performs processing related to the setting of the reference point. For example, the reference point setting unit 121 classifies the point group to be processed into a reference point for which the attribute data is referred and a prediction point for deriving the prediction value of the attribute data based on the geometry data of each point. That is, the reference point setting unit 121 sets the reference point and the prediction point. The reference point setting unit 121 recursively repeats this process with respect to the reference point. That is, the reference point setting unit 121 sets the reference point and the prediction point of the layer to be processed with the reference point set in the previous layer as the processing target. In this way, a hierarchical structure is constructed. That is, the attribute data is hierarchized. The reference point setting unit 121 supplies information indicating the set reference points and prediction points of each layer to the reference relationship setting unit 122.
  • the reference relationship setting unit 122 performs processing related to the setting of the reference relationship of each layer based on the information supplied from the reference point setting unit 121. That is, the reference relationship setting unit 122 sets a reference point (that is, a reference destination) to be referred to for deriving the predicted value for each predicted point in each layer. Then, the reference relationship setting unit 122 derives the predicted value of the attribute data of each prediction point based on the reference relationship. That is, the reference relationship setting unit 122 derives the predicted value of the attribute data of the predicted point using the attribute data of the reference point set as the reference destination. Further, the reference relationship setting unit 122 derives the difference value between the derived predicted value and the attribute data of the predicted point. The reference relationship setting unit 122 supplies the derived difference value (layered attribute data) to the inversion unit 123 for each layer.
  • the reference point setting unit 121 can generate control information and the like related to the layering of attribute data as described above, supply it to the quantization unit 112, and transmit it to the decoding side.
  • the reversing unit 123 performs processing related to reversing the hierarchy.
  • the inversion unit 123 acquires the layered attribute data supplied from the reference relationship setting unit 122.
  • the information of each layer is layered in the order of generation.
  • the inversion unit 123 inverts the hierarchy of the attribute data. For example, the inversion unit 123 sets the layer number (the highest layer is 0, the value is incremented by 1 each time the upper layer is lowered by 1 and the lowest layer is the maximum value) for each layer of attribute data in the reverse order of its generation. (Number to identify the layer) is attached so that the order of generation is from the lowest layer to the highest layer.
  • the inversion unit 123 supplies the attribute data in which the hierarchy is inverted to the weight value derivation unit 124.
  • the weight value derivation unit 124 performs processing related to weighting. For example, the weight value derivation unit 124 acquires the attribute data supplied from the inversion unit 123. The weight value derivation unit 124 derives the weight value of the acquired attribute data. The method of deriving this weight value is arbitrary. The weight value derivation unit 124 supplies the attribute data (difference value) and the derived weight value to the quantization unit 112 (FIG. 14). Further, the weight value derivation unit 124 may supply the derived weight value as control information to the quantization unit 112 and transmit it to the decoding side.
  • the reference point setting unit 121 can apply the above-mentioned technology. That is, the reference relationship setting unit 122 can apply the above-mentioned "method 1" to derive the center of gravity of the point, and set the reference point based on the center of gravity. By doing so, it is possible to suppress a decrease in prediction accuracy and a decrease in coding efficiency.
  • this layering procedure is optional.
  • the processing of the reference point setting unit 121 and the processing of the reference relationship setting unit 122 may be executed in parallel.
  • the reference point setting unit 121 may set the reference point and the prediction point
  • the reference relationship setting unit 122 may set the reference relationship for each layer.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • the coding device 100 encodes the data in the point cloud by executing the coding process. An example of the flow of this coding process will be described with reference to the flowchart of FIG.
  • the position information coding unit 101 of the coding device 100 encodes the input point cloud geometry data (position information) in step S101 and generates the geometry data coded data. To do.
  • step S102 the position information decoding unit 102 decodes the coded data of the geometry data generated in step S101 and generates the position information.
  • step S103 the point cloud generation unit 103 performs recolor processing using the input point cloud attribute data (attribute information) and the geometry data (decoding result) generated in step S102, and obtains the attribute data. Corresponds to geometry data.
  • step S104 the attribute information coding unit 104 encodes the attribute data recolored in step S103 by executing the attribute information coding process, and generates the coded data of the attribute data.
  • the attribute information coding unit 104 applies the above-described technique (method 1) to perform processing.
  • the attribute information coding unit 104 derives the center of gravity of the point in the layering of the attribute data, and sets the reference point based on the center of gravity. The details of the attribute information coding process will be described later.
  • step S105 the bitstream generation unit 105 generates and outputs a bitstream including the coded data of the geometry data generated in step S101 and the coded data of the attribute data generated in step S104.
  • step S105 When the process of step S105 is completed, the coding process is completed.
  • the coding device 100 can suppress the reduction of the prediction accuracy and the reduction of the coding efficiency.
  • the layering processing unit 111 of the attribute information coding unit 104 stratifies the attribute data by executing the layering process in step S111. That is, the reference points and prediction points of each layer are set, and the reference relationships are set. At that time, the layering processing unit 111 applies the above-mentioned technique (method 1) to perform layering. For example, the attribute information coding unit 104 derives the center of gravity of the point in the layering of the attribute data, and sets the reference point based on the center of gravity. The details of the layering process will be described later.
  • step S112 the layering processing unit 111 derives the predicted value of the attribute data for each predicted point in each layer of the layered attribute data in step S111, and the attribute data of the predicted point and the predicted value thereof. Derive the difference value.
  • step S113 the quantization unit 112 quantizes each difference value derived in step S112.
  • step S114 the coding unit 113 encodes the difference value quantized in step S112 and generates the coded data of the attribute data.
  • step S114 When the process of step S114 is completed, the attribute information coding process is completed, and the process returns to FIG.
  • the layering processing unit 111 applies the above-mentioned "method 1", derives the center of gravity of the point in the layering of the attribute data, and refers to the reference point based on the center of gravity. Can be set. Therefore, the layering processing unit 111 can layer the attribute data so as to suppress the reduction in the prediction accuracy, and thereby the reduction in the coding efficiency can be suppressed.
  • the reference point setting unit 121 of the layering processing unit 111 sets the value of the variable LoDIndex indicating the layer to be processed to the initial value (for example, "0") in step S121.
  • step S122 the reference point setting unit 121 executes the reference point setting process and sets the reference point in the layer to be processed (that is, the prediction point is also set). The details of the reference point setting process will be described later.
  • step S123 the reference relationship setting unit 122 sets the reference relationship of the layer to be processed (which reference point is referred to in deriving the predicted value of each predicted point).
  • step S124 the reference point setting unit 121 increments the LoDIndex and sets the processing target to the next layer.
  • step S125 the reference point setting unit 121 determines whether or not all the points have been processed. When it is determined that there are unprocessed points, that is, when it is determined that the layering has not been completed, the process returns to step S122, and the subsequent processes are repeated. When each process of steps S122 to S125 is executed for each layer in this way and it is determined in step S125 that all the points have been processed, the process proceeds to step S126.
  • step S126 the inversion unit 123 inverts the hierarchy of the attribute data generated as described above, and assigns a hierarchy number to each hierarchy in the reverse direction of the generation order.
  • step S127 the weight value derivation unit 124 derives the weight value for the attribute data of each layer.
  • step S127 When the process of step S127 is completed, the process returns to FIG.
  • the layering processing unit 111 applies the above-mentioned "method 1", derives the center of gravity of the point in the layering of the attribute data, and refers to the reference point based on the center of gravity. Can be set. Therefore, the layering processing unit 111 can layer the attribute data so as to suppress the reduction in the prediction accuracy, and thereby the reduction in the coding efficiency can be suppressed.
  • the reference point setting unit 121 specifies the point group used for deriving the center of gravity in step S141, and derives the center of gravity of the point group to be processed.
  • the method of deriving the center of gravity is arbitrary as described above.
  • the center of gravity may be derived by using any of the methods shown in the table of FIG.
  • step S142 the reference point setting unit 121 selects a point close to the center of gravity derived in step S141 as a reference point.
  • the method of selecting this reference point is arbitrary.
  • the center of gravity may be derived by using any of the methods shown in the table of FIG.
  • step S142 When the process of step S142 is completed, the reference point setting process is completed, and the process returns to FIG.
  • the reference point setting unit 121 applies the above-mentioned "method 1" to derive the center of gravity of the point in the hierarchy of the attribute data, and the reference point is based on the center of gravity. Can be set. Therefore, the layering processing unit 111 can layer the attribute data so as to suppress the reduction in the prediction accuracy, and thereby the reduction in the coding efficiency can be suppressed.
  • FIG. 20 is a block diagram showing an example of a configuration of a decoding device, which is an aspect of an information processing device to which the present technology is applied.
  • the decoding device 200 shown in FIG. 20 is a device that decodes the coded data of the point cloud (3D data).
  • the decoding device 200 decodes the coded data of the point cloud by applying the present technology (method 1) described in the present embodiment.
  • FIG. 20 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. 20. That is, in the decoding device 200, there may be a processing unit that is not shown as a block in FIG. 20, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the decoding device 200 includes a coded data extraction unit 201, a position information decoding unit 202, an attribute information decoding unit 203, and a point cloud generation unit 204.
  • the coded data extraction unit 201 acquires and holds a bit stream input to the decoding device 200.
  • the coded data extraction unit 201 extracts the coded data of the geometry data (position information) and the attribute data (attribute information) from the bit stream held therein.
  • the coded data extraction unit 201 supplies the coded data of the extracted geometry data to the position information decoding unit 202.
  • the coded data extraction unit 201 supplies the coded data of the extracted attribute data to the attribute information decoding unit 203.
  • the position information decoding unit 202 acquires the coded data of the geometry data supplied from the coded data extraction unit 201.
  • the position information decoding unit 202 decodes the coded data of the geometry data and generates the geometry data (decoding result).
  • This decoding method is arbitrary as long as it is the same method as in the case of the position information decoding unit 102 of the coding device 100.
  • the position information decoding unit 202 supplies the generated geometry data (decoding result) to the attribute information decoding unit 203 and the point cloud generation unit 204.
  • the attribute information decoding unit 203 acquires the coded data of the attribute data supplied from the coded data extraction unit 201.
  • the attribute information decoding unit 203 acquires the geometry data (decoding result) supplied from the position information decoding unit 202.
  • the attribute information decoding unit 203 uses the position information (decoding result) to decode the coded data of the attribute data by the method to which the present technology (method 1) described above is applied, and generates the attribute data (decoding result). ..
  • the attribute information decoding unit 203 supplies the generated attribute data (decoding result) to the point cloud generation unit 204.
  • the point cloud generation unit 204 acquires the geometry data (decoding result) supplied from the position information decoding unit 202.
  • the point cloud generation unit 204 acquires the attribute data (decoding result) supplied from the attribute information decoding unit 203.
  • the point cloud generation unit 204 generates a point cloud (decoding result) using the geometry data (decoding result) and attribute data (decoding result).
  • the point cloud generation unit 204 outputs the generated point cloud (decoding result) data to the outside of the decoding device 200.
  • the decoding device 200 can select a point close to the center of gravity of the point as a reference point in the reverse layering. Therefore, the decoding device 200 can correctly decode the coded data of the attribute data encoded by the coding device 100 described above, for example. Therefore, the reduction in prediction accuracy can be suppressed, and the reduction in coding efficiency can be suppressed.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • FIG. 21 is a block diagram showing a main configuration example of the attribute information decoding unit 203 (FIG. 20). Note that FIG. 21 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. 21. That is, in the attribute information decoding unit 203, there may be a processing unit that is not shown as a block in FIG. 21, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the attribute information decoding unit 203 includes a decoding unit 211, an inverse quantization unit 212, and an inverse layer processing unit 213.
  • the decoding unit 211 performs processing related to decoding of the coded data of the attribute data. For example, the decoding unit 211 acquires the encoded data of the attribute data supplied to the attribute information decoding unit 203.
  • the decoding unit 211 decodes the encoded data of the attribute data and generates the attribute data (decoding result). This decoding method is arbitrary as long as it corresponds to the coding method by the coding unit 113 (FIG. 14) of the coding device 100. Further, the generated attribute data (decoding result) corresponds to the attribute data before encoding, is a difference value between the attribute data and the predicted value, and is quantized. The decoding unit 211 supplies the generated attribute data (decoding result) to the inverse quantization unit 212.
  • the decoding unit 211 also supplies the control information to the inverse quantization unit 212.
  • the dequantization unit 212 performs processing related to dequantization of attribute data. For example, the inverse quantization unit 212 acquires attribute data (decoding result) and control information supplied from the decoding unit 211.
  • the dequantization unit 212 dequantizes the attribute data (decoding result). At that time, when the control information regarding the weight value is supplied from the decoding unit 211, the inverse quantization unit 212 also acquires the control information and based on the control information (the weight value derived based on the control information). (Using) to dequantize the attribute data (decoding result).
  • the dequantization unit 212 supplies the control information regarding the layering of the attribute data from the decoding unit 211, the inverse quantization unit 212 also acquires the control information.
  • the dequantization unit 212 supplies the dequantized attribute data (decoding result) to the dequantization processing unit 213. Further, when the control information regarding the layering of the attribute data is acquired from the decoding unit 211, the dequantization unit 212 also supplies the control information to the delayering processing unit 213.
  • the dequantization processing unit 213 acquires the dequantized attribute data (decoding result) supplied from the dequantization unit 212. As described above, this attribute data is a difference value. Further, the reverse layer processing unit 213 acquires the geometry data (decoding result) supplied from the position information decoding unit 202. The reverse layering processing unit 213 uses the geometry data to reverse the layering of the acquired attribute data (difference value) by the layering processing unit 111 (FIG. 14) of the coding apparatus 100. Hierarchize.
  • the reverse layering processing unit 213 layered the attribute data based on the geometry data supplied from the position information decoding unit 202 by the same method as the coding device 100 (layering processing unit 111). That is, the reverse layering processing unit 213 sets the reference point and the prediction point of each layer based on the decoded geometry data, and sets the hierarchical structure of the attribute data. The reverse layering processing unit 213 further uses the reference points and prediction points to set a reference relationship (reference destination for each prediction point) of each layer of the hierarchical structure.
  • the reverse layering processing unit 213 reversely layers the acquired attribute data (difference value) by using the hierarchical structure and the reference relationship of each layer. That is, the reverse layering processing unit 213 derives the predicted value of the predicted point from the reference point according to the reference relationship, and restores the attribute data of each predicted point by adding the predicted value to the difference value.
  • the reverse layering processing unit 213 performs this processing layer by layer from the upper layer to the lower layer. That is, the reverse layering processing unit 213 uses the prediction point for which the attribute data is restored in the layer higher than the processing target layer as a reference point, and restores the attribute data of the prediction point of the processing target layer as described above. ..
  • the reverse layering processing unit 213 applies the above-described technique (method 1) to reference when layering the attribute data based on the decoded geometry data. Set points. That is, the reverse layer processing unit 213 derives the center of gravity of the point and selects a point close to the center of gravity as a reference point. The reverse layer processing unit 213 supplies the reverse layered attribute data as a decoding result to the point cloud generation unit 204 (FIG. 20).
  • the reverse layering processing unit 213 can set the point near the center of gravity as the reference point, so that the attribute data is layered so as to suppress the decrease in the prediction accuracy. It can be carried out. That is, the attribute information decoding unit 203 can correctly decode the coded data encoded by the same method. For example, the attribute information decoding unit 203 can correctly decode the coded data of the attribute data encoded by the attribute information coding unit 104 described above. Therefore, the reduction in coding efficiency can be suppressed.
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
  • the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • the decoding device 200 decodes the coded data of the point cloud by executing the decoding process.
  • An example of the flow of the decoding process will be described with reference to the flowchart of FIG.
  • the coded data extraction unit 201 of the decoding device 200 acquires and holds a bit stream in step S201, and the coded data of the geometry data and the coded data of the attribute data from the bit stream. Is extracted.
  • step S202 the position information decoding unit 202 decodes the coded data of the extracted geometry data and generates the geometry data (decoding result).
  • step S203 the attribute information decoding unit 203 executes the attribute information decoding process, decodes the coded data of the attribute data extracted in step S201, and generates the attribute data (decoding result).
  • the attribute information decoding unit 203 applies the above-described technique (method 1) to perform the process.
  • the attribute information decoding unit 203 derives the center of gravity of a point in the layering of attribute data, and sets a point close to the center of gravity as a reference point. The details of the attribute information decoding process will be described later.
  • step S204 the point cloud generation unit 204 generates a point cloud (decoding result) using the geometry data (decoding result) generated in step S202 and the attribute data (decoding result) generated in step S203. ,Output.
  • step S204 When the process of step S204 is completed, the decryption process is completed.
  • the decoding device 200 can correctly decode the coded data of the attribute data encoded by the same method.
  • the decoding device 200 can correctly decode the coded data of the attribute data encoded by the coding device 100 described above. Therefore, the reduction in prediction accuracy can be suppressed, and the reduction in coding efficiency can be suppressed.
  • the decoding unit 211 of the attribute information decoding unit 203 decodes the coded data of the attribute data and generates the attribute data (decoding result) in step S211.
  • This attribute data (decoding result) is quantized as described above.
  • step S212 the dequantization unit 212 dequantizes the attribute data (decoding result) generated in step S211 by executing the dequantization process.
  • step S213 the reverse layering processing unit 213 reverse-layers the dequantized attribute data (difference value) in step S212 by executing the reverse layering process, and derives the attribute data of each point.
  • the reverse layering processing unit 213 applies the above-mentioned present technology (method 1) to perform reverse layering.
  • the reverse layering processing unit 213 derives the center of gravity of the point in the layering of the attribute data, and sets a point close to the center of gravity as a reference point. The details of the reverse layering process will be described later.
  • step S213 When the process of step S213 is completed, the attribute information decoding process is completed, and the process returns to FIG. 22.
  • the attribute information decoding unit 203 can apply the above-mentioned "method 1" and set a point close to the center of gravity of the point as a reference point in the layering of the attribute data. it can. Therefore, the reverse layering processing unit 213 can layer the attribute data so as to suppress the decrease in the prediction accuracy. That is, the attribute information decoding unit 203 can correctly decode the coded data encoded by the same method. For example, the attribute information decoding unit 203 can correctly decode the coded data of the attribute data encoded by the attribute information coding unit 104 described above. Therefore, the reduction in coding efficiency can be suppressed.
  • the reverse layering processing unit 213 When the reverse layering process is started, the reverse layering processing unit 213 performs layering processing of the attribute data (decoding result) using the geometry data (decoding result) in step S221, and is set on the coding side. In addition, the reference points and prediction points of each layer are restored, and the reference relationships of each layer are also restored. That is, the reverse layering processing unit 213 performs the same processing as the layering process performed by the layering processing unit 111, sets the reference points and prediction points of each layer, and further sets the reference relationship of each layer.
  • the reverse layering processing unit 213 applies the above-mentioned "method 1" to the layering processing unit 111, derives the center of gravity of the point, and sets a point close to the center of gravity as a reference point.
  • step S222 the reverse layering processing unit 213 reversely layers the attribute data (decoding result) using this hierarchical structure and the reference relationship, and restores the attribute data at each point. That is, the reverse layering processing unit 213 derives the predicted value of the attribute data of the predicted point from the attribute data of the reference point based on the reference relationship, and adds the predicted value to the difference value of the attribute data (decoding result). Restore attribute data.
  • step S222 When the process of step S222 is completed, the reverse layering process is completed, and the process returns to FIG. 23.
  • the reverse layering processing unit 213 can realize the same layering as in the case of coding. That is, the attribute information decoding unit 203 can correctly decode the coded data encoded by the same method. For example, the attribute information decoding unit 203 can correctly decode the coded data of the attribute data encoded by the attribute information coding unit 104 described above. Therefore, the reduction in coding efficiency can be suppressed.
  • the distribution pattern (distribution mode) of points in the area to be processed for setting reference points and the information (index) indicating the points selected in that case are associated with each other.
  • the index is "2", that is, it appears second. It is shown that points are selected.
  • Each bit value of the distribution pattern "10100001" indicates the presence or absence of a point in each voxel of 2x2x2, a value “1” indicates that a point exists in the voxel to which the bit is assigned, and a value "0" indicates that there is a point. Indicates that there are no points in the voxel to which the bit is assigned.
  • this table the index of the selected points is shown for each distribution pattern. That is, in the hierarchy of attribute data, this table is referred to, and the point of the index corresponding to the distribution pattern of the points in the area to be processed in which the reference point is set is selected as the reference point.
  • the reference point can be selected more easily.
  • This table information may be any information as long as it links the distribution pattern of points with the information indicating the points to be selected.
  • the table information is for selecting points close to the center of gravity for each point distribution mode. You may. That is, the index of the point close to the position of the center of gravity in the case of the distribution pattern may be associated with each distribution pattern.
  • the table information for selecting an arbitrary point for each point distribution mode is used. There may be. Further, for example, as in the method (3) shown in the fourth column from the top of this "table" table, the table to be used may be selected from a plurality of tables. For example, the table to be used may be switched according to the hierarchy (LoD depth).
  • this table information may be prepared in advance.
  • predetermined table information may be specified by the standard. In that case, signaling of table information (transmission from the coding side to the decoding side) is unnecessary.
  • this table information may be derived from the geometry data by the position information decoding unit 102. Further, the position information decoding unit 202 may also derive this table information from the geometry data (decoding result). In that case, signaling of table information (transmission from the coding side to the decoding side) is unnecessary.
  • this table information may be generated (or updated) by the user, application, or the like.
  • the generated (or updated) table information may be signaled. That is, for example, the coding unit 113 may encode the information related to this table information and include the coded data in the bit stream for signaling.
  • this table information may be switched according to the hierarchy (LoD depth).
  • the switching method is defined in advance in the standard or the like, and the information indicating the switching method is shown. May not be signaled.
  • an index (identification information) indicating the selected table may be signaled as in the method (2) shown in the third column from the top of the "table" table shown in FIG. 26B.
  • this index may be signaled in the AttributeParameterSet.
  • the selected table information itself may be signaled as in the method (3) shown in the fourth column from the top of the "table" table shown in FIG. 26B.
  • this table information may be signaled in the AttributeBrickHeader.
  • a part of the selected table information may be signaled as in the method (4) shown in the fifth column from the top of the "table" table shown in B of FIG. 26. That is, the table information may be partially updated. For example, this table information may be signaled in the AttributeBrickHeader.
  • the configurations of the coding device 100 and the decoding device 200 are basically the same as when the above-mentioned method 1 is applied. Therefore, the coding apparatus 100 can execute each process such as the coding process, the attribute information coding process, and the layering process in the same flow as in the case of the first embodiment.
  • the reference point setting unit 121 refers to the table information in step S301 and selects a reference point according to the point distribution pattern.
  • step S302 the reference point setting unit 121 determines whether or not to signal information regarding the used table. If it is determined to signal, the process proceeds to step S303.
  • step S303 the reference point setting unit 121 signals information about the used table.
  • the reference point setting process is completed, and the process returns to FIG.
  • the decoding device 200 can perform decoding using the table information.
  • the decoding device 200 can execute each process such as the decoding process, the attribute information decoding process, and the reverse layering process in the same flow as in the case of the first embodiment.
  • any node (point) is referred to for a part of the hierarchy.
  • a hierarchy (LoD) to be signaled may be specified, all the nodes in the hierarchy may be sorted in Morton order, and each node may be indexed.
  • the attribute data has a hierarchical structure as shown in FIG. 30A. That is, one point is selected as a reference point from the # 0 point of LoD2, the # 1 point of LoD2, and the # 2 point of LoD2, and each point of # 0 of LoD1 is formed.
  • each point of LoD1 # 0 is based on the index of LoD2 as shown in C of FIG. Shown.
  • the distribution mode of the points of LoD1 # 0 can be expressed.
  • the LoDN-1 index can specify the LoDN 2x2x2 voxel area.
  • one 2x2x2 voxel can be specified by LoD (hierarchy specification) and order (mth).
  • LoD hierarchy specification
  • mth order
  • signaling can be performed only for a part of the hierarchy as needed, so that the increase in the code amount is suppressed as compared with the case of method (1), and the code is coded. It is possible to suppress the reduction of the conversion efficiency.
  • the point to be signaled is set in the lower NxNxN voxel region. It may be limited by the number of points. That is, information regarding the setting of reference points for points satisfying a predetermined condition may be signaled. By doing so, as shown in C of FIG. 29, it is possible to further reduce the number of nodes to be signaled. Thereby, the reduction of the coding efficiency can be suppressed.
  • the attribute data has a hierarchical structure as shown in A of FIG. 31.
  • the target of signaling is limited to a 2x2x2 voxel region containing three or more points.
  • the points of LoD2 are indexed in the search order as shown in B of FIG. 31, the voxel region shown on the right side of LoD2 is excluded from the target of signaling. Therefore, no index is assigned to this voxel area. Therefore, as shown in C of FIG. 31, the amount of signaling data can be reduced as compared with the case of C of FIG. 30, and the increase in the code amount can be suppressed.
  • the method (2) and the method (3) are applied in combination. May be good.
  • num_Lod is a parameter indicating the number of LoDs to be signaled.
  • lodNo [i] is a parameter indicating the Lod number.
  • voxelType [i] is a parameter indicating the type of voxel to signal. By specifying this parameter, the transmission target in the Lod can be limited.
  • num_node is a parameter that indicates the number of signals actually signaled. This num_node can be derived from the geometry data.
  • node [k] indicates the information signaled for each 2x2x2 voxel region. k indicates the number of the node in Morton order.
  • signaling may be performed by the syntax shown in B of FIG. 32.
  • num_node can be signaled.
  • the syntax shown in A of FIG. 33 may be applied.
  • the flag Flag [k] that controls the signal is signaled.
  • signaling may be performed by the syntax shown in B of FIG. 33. When parsing is required in this way, num_node can be signaled.
  • the above signaling may be performed with variable length data.
  • the position of the node in the 2x2x2 voxel region may be signaled.
  • the bit length of the signaling may be set according to the number of nodes in the 2x2x2 voxel region, for example, based on the table information shown in FIG. 34A.
  • the number of nodes included in the 2x2x2 voxel area can be obtained from the geometry data. Therefore, as in the example shown in B of FIG. 34, even if a bit string such as "10111010 " is input, the number of nodes included in the 2x2x2 voxel area can be grasped from the geometry data, which is appropriate. It is possible to correctly obtain information for each voxel area by dividing it into various bit lengths.
  • the index of the table information to be used may be signaled.
  • the bit length of the signaling may be made variable according to the number of nodes in the 2x2x2 voxel region, for example, as shown in FIG. 35A.
  • the bit string "00" indicates that the first node in a predetermined search order (for example, Morton order) is selected.
  • the bit string "01" indicates that the first node in the reverse order (reverce) of a predetermined search order (for example, Morton order) is selected.
  • the bit string "10” indicates that the second node in the predetermined search order (No reverce) is selected.
  • the bit string "11" indicates that the second node in the reverse order (reverce) of the predetermined search order is selected.
  • the bit string "0" indicates that the first node in a predetermined search order (for example, Morton order) is selected.
  • the bit string "1" indicates that the first node in the reverse order (reverce) of a predetermined search order (for example, Morton order) is selected.
  • the number of nodes included in the 2x2x2 voxel area can be obtained from the geometry data. Therefore, as in the example shown in D of FIG. 35, even if a bit string such as "10111010 " is input, the number of nodes included in the 2x2x2 voxel area can be grasped from the geometry data, which is appropriate. It is possible to correctly obtain information for each voxel area by dividing it into various bit lengths.
  • FIG. 36 shows an example of syntax in the case of variable length.
  • bitLength is a parameter indicating the bit length.
  • signalType [i] is a parameter indicating a variable length coding method for each LoD.
  • variable length when it is necessary to perform parsing before the geometry data is obtained for parallel processing or the like, num_node is signaled or flag [ j] may be signaled.
  • step S322 the reference point setting unit 121 signals information about the reference point set in step S321.
  • the reference point setting process is completed, and the process returns to FIG.
  • the coding device 100 transmits the table information in this way, the decoding device 200 can perform decoding using the table information.
  • a point closer to the center of the bounding box and a point farther from the center of the bounding box, as in A to C in FIG. 39 are selected. Is alternately selected for each layer. By doing so, as shown in C of FIG. 39, the movement range of the reference point is limited to a narrow range such as the dotted line frame, so that the reduction in prediction accuracy is suppressed.
  • point selection may be realized by changing the point search order according to the position in the bounding box.
  • this search order may be the order of distance from the center of the bounding box. By doing so, the search order can be changed according to the position in the bounding box. Further, for example, the search order may be changed for each of the eight division regions in which the bounding box is divided into eight (two divisions in each direction of xyz).
  • the reference point setting unit 121 determines in step S341 whether or not a point closer to the center of the bounding box is selected as the reference point of the previous layer.
  • step S342 the reference point setting unit 121 selects the point farthest from the center of the bounding box as the reference point among the reference point candidates.
  • step S341 If it is determined in step S341 that the closer point has not been selected, the process proceeds to step S343.
  • step S343 the reference point setting unit 121 selects the point closest to the center of the bounding box as the reference point among the reference point candidates.
  • the coding device 100 can suppress a decrease in the prediction accuracy of the reference point. Thereby, the reduction of the coding efficiency can be suppressed.
  • Lifting has been described as an example as a method for layering / reversing attribute information, but this technique can be applied to any technique for layering attribute information. That is, the method of layering / reversing the attribute information may be other than Lifting. Further, the method of layering / reversing the attribute information may be a scalable method as described in Non-Patent Document 3 or a non-scalable method.
  • control information related to the present technology described in each of the above embodiments may be transmitted from the coding side to the decoding side.
  • control information for example, enabled_flag
  • enabled_flag controls whether or not the application of the present technology described above is permitted (or prohibited)
  • a control for designating a range for example, 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.
  • Information may be transmitted.
  • the positional relationship such as “neighborhood” and “periphery” may include not only a spatial positional relationship but also a temporal positional relationship.
  • the series of processes described above can be executed by hardware or software.
  • the programs constituting the software are installed on the computer.
  • the computer includes a computer embedded in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • FIG. 41 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 is composed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • 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.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-described series. Is processed.
  • the RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to the removable media 921 as a package media or the like, for example.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
  • This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in advance in ROM 902 or storage unit 913.
  • the coding device 100 and the decoding device 200 have been described as application examples of the present technology, but the present technology can be applied to any configuration.
  • this technology is a transmitter or receiver (for example, a television receiver or mobile phone) for satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • devices for example, hard disk recorders and cameras
  • a processor as a system LSI (Large Scale Integration) or the like (for example, a video processor), a module using a plurality of processors (for example, a video module), a unit using a plurality of modules (for example, a video unit)
  • a processor as a system LSI (Large Scale Integration) or the like
  • a module using a plurality of processors for example, a video module
  • a unit using a plurality of modules for example, a video unit
  • it can be implemented as a configuration of a part of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing units, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. Moreover, the use is arbitrary.
  • the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. Therefore, the value that this "flag” can take may be, for example, 2 values of 1/0 or 3 or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or a plurality of bits.
  • the identification information (including the flag) is assumed to include not only the identification information in the bitstream but also the difference information of the identification information with respect to a certain reference information in the bitstream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
  • various information (metadata, etc.) related to the coded data may be transmitted or recorded in any form as long as it is associated with the coded data.
  • the term "associate" means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). Good.
  • this "association" may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part within the frame.
  • the embodiment of the present technology is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present technology.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, and the calls may be made in parallel or in parallel. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • (1) Regarding the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points, a prediction point for deriving a difference value between the attribute information and the predicted value of the attribute information, and the predicted value. It is provided with a layering unit for layering the attribute information by recursively repeating the classification with the reference point used for deriving the reference point with respect to the reference point.
  • the layering unit is an information processing device that sets the reference point based on the center of gravity of the point.
  • (2) The information processing apparatus according to (1), wherein the layering unit sets a point closer to the center of gravity as the reference point among the candidate points.
  • a prediction point for deriving a difference value between the attribute information and the predicted value of the attribute information, and the predicted value. It is provided with a layering unit for layering the attribute information by recursively repeating the classification with the reference point used for deriving the reference point with respect to the reference point.
  • the layering unit is an information processing device that sets the reference points based on the distribution mode of the points.
  • the information processing apparatus sets the reference points based on table information that specifies predetermined points for each distribution mode of the points.
  • the information processing apparatus according to (8) further including a coding unit that encodes information related to the table information.
  • a prediction point for deriving a difference value between the attribute information and the predicted value of the attribute information, and the predicted value.
  • a prediction point for deriving a difference value between the attribute information and the predicted value of the attribute information, and the predicted value.
  • the layering unit for layering the attribute information and the layering unit.
  • An information processing device including a coding unit that encodes information related to the setting of the reference point by the layering unit.
  • the information processing apparatus (13) The information processing apparatus according to (11), wherein the coding unit encodes information relating to the setting of the reference point for points in a part of the hierarchy. (14) The information processing apparatus according to (13), wherein the coding unit further encodes information regarding setting of the reference point for a point satisfying a predetermined condition. (15) Regarding the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points, a prediction point for deriving a difference value between the attribute information and the predicted value of the attribute information, and the predicted value. By recursively repeating the classification with the reference point used for deriving the reference point with respect to the reference point, the attribute information is hierarchized. An information processing method that encodes information related to the setting of the reference point.
  • a prediction point for deriving a difference value between the attribute information and the predicted value of the attribute information, and the predicted value. It is provided with a layering unit for layering the attribute information by recursively repeating the classification with the reference point used for deriving the reference point with respect to the reference point.
  • the layering unit alternately selects, as the reference point, a point closer to the center of the bounding box and a point farther from the center of the bounding box from the candidates for the reference point for each layer.
  • the layered portion is a point closer to the center of the bounding box and a point farther from the center of the bounding box among the candidates based on the search order according to the position in the bounding box.
  • the search order is the order of distance from the center of the bounding box.
  • the search order is set for each region in which the bounding box is divided into eight. (20) Regarding the attribute information for each point of the point cloud that expresses a three-dimensional object as a set of points, a prediction point for deriving a difference value between the attribute information and the predicted value of the attribute information, and the predicted value.
  • the reference point is bounded among the candidates of the reference point.
  • 100 coding device 101 position information coding unit, 102 position information decoding unit, 103 point cloud generation unit, 104 attribute information coding unit, 105 bit stream generation unit, 111 layering processing unit, 112 quantization unit, 113 code Quantization unit, 121 reference point setting unit, 122 reference relationship setting unit, 123 inversion unit, 124 weight value derivation unit, 200 decoding device, 201 coding data extraction unit, 202 position information decoding unit, 203 attribute information decoding unit, 204 points Cloud generation unit, 211 decoding unit, 212 dequantization unit, 213 delayering processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示は、符号化効率の低減を抑制することができるようにする情報処理装置および方法に関する。 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、属性情報とその属性情報の予測値との差分値を導出する予測ポイントと、予測値の導出に用いられる参照ポイントとの分類を参照ポイントに対して再帰的に繰り返すことにより、属性情報の階層化を行う際に、参照ポイントを、ポイントの重心に基づいて設定する。本開示は、例えば、情報処理装置、画像処理装置、符号化装置、復号装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした情報処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。ポイントクラウドのデータは、各ポイントのジオメトリデータ(位置情報とも称する)およびアトリビュートデータ(属性情報とも称する)により構成される。したがってポイントクラウドの符号化は、そのジオメトリデータとアトリビュートデータとのそれぞれについて行われる。アトリビュートデータの符号化方法として様々な方法が提案されている。例えば、Liftingという技術を用いて行うことが提案された(例えば非特許文献2参照)。また、アトリビュートデータをスケーラブルに復号することができるようにする方法も提案された(例えば、非特許文献3参照)。
 このようなLifting Schemeにおいては、ポイントを参照ポイントまたは予測ポイントに設定する処理を参照ポイントに対して再帰的に繰り返すことにより、アトリビュートデータが階層化される。そしてこの階層構造に従って、参照ポイントのアトリビュートデータを用いて予測ポイントのアトリビュートデータの予測値が導出され、その予測値とアトリビュートデータとの差分値が符号化される。このようなアトリビュートデータの階層化において、参照ポイントとして、その参照ポイントの候補の内の、モートン順における先頭のポイントと、最後のポイントとを、階層毎に交互に選択する方法が提案された(例えば、非特許文献4参照)。
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf Khaled Mammou, Alexis Tourapis, Jungsun Kim, Fabrice Robinet, Valery Valentin, Yeping Su, "Lifting Scheme for Lossy Attribute Encoding in TMC1", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42640, April 2018, San Diego, US Ohji Nakagami, Satoru Kuma, "[G-PCC] Spatial scalability support for G-PCC", ISO/IEC JTC1/SC29/WG11 MPEG2019/m47352, March 2019, Geneva, CH Hyejung Hur, Sejin Oh, "[G-PCC][New Proposal] on improved spatial scalable lifting", ISO/IEC JTC1/SC29/WG11 MPEG2019/M51408, October 2019, Geneva, CH
 しかしながら、非特許文献4に記載の方法が常に最適であるとは限らず、他の方法も求められていた。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、前記階層化部は、ポイントの重心に基づいて、前記参照ポイントを設定する情報処理装置である。
 本技術の一側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントを、ポイントの重心に基づいて設定する情報処理方法である。
 本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、前記階層化部は、前記参照ポイントを、ポイントの分布態様に基づいて設定する情報処理装置である。
 本技術の他の側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントを、ポイントの分布態様に基づいて設定する情報処理方法である。
 本技術のさらに他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部と、前記階層化部による前記参照ポイントの設定に関する情報を符号化する符号化部とを備える情報処理装置である。
 本技術のさらに他の側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行い、前記参照ポイントの設定に関する情報を符号化する情報処理方法である。
 本技術のさらに他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、前記階層化部は、前記参照ポイントとして、前記参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、前記バウンディングボックスの中心から遠い方のポイントとを、階層毎に交互に選択する情報処理装置である。
 本技術のさらに他の側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントとして、前記参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、バウンディングボックスの中心から遠い方のポイントとを、階層毎に交互に選択する情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、属性情報とその属性情報の予測値との差分値を導出する予測ポイントと、その予測値の導出に用いられる参照ポイントとの分類を参照ポイントに対して再帰的に繰り返すことにより、属性情報の階層化を行う際に、参照ポイントが、ポイントの重心に基づいて設定される。
 本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、属性情報とその属性情報の予測値との差分値を導出する予測ポイントと、予測値の導出に用いられる参照ポイントとの分類を参照ポイントに対して再帰的に繰り返すことにより、属性情報の階層化を行う際に、参照ポイントが、ポイントの分布態様に基づいて設定される。
 本技術のさらに他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、属性情報とその属性情報の予測値との差分値を導出する予測ポイントと、予測値の導出に用いられる参照ポイントとの分類を参照ポイントに対して再帰的に繰り返すことにより、属性情報の階層化が行われ、参照ポイントの設定に関する情報が符号化される。
 本技術のさらに他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドのポイント毎の属性情報について、属性情報とその属性情報の予測値との差分値を導出する予測ポイントと、予測値の導出に用いられる参照ポイントとの分類を参照ポイントに対して再帰的に繰り返すことにより、属性情報の階層化を行う際に、参照ポイントとして、参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、バウンディングボックスの中心から遠い方のポイントとが、階層毎に交互に選択される。
Liftingの様子の例を説明する図である。 モートン順に基づく参照ポイントの設定方法の例を説明する図である。 モートン順に基づく参照ポイントの設定方法の例を説明する図である。 モートン順に基づく参照ポイントの設定方法の例を説明する図である。 モートン順に基づく参照ポイントの設定方法の例を説明する図である。 参照ポイント設定方法の例を説明する図である。 重心に基づく参照ポイントの設定方法の例を説明する図である。 重心の導出方法の例を説明する図である。 重心の導出方法の例を説明する図である。 重心の導出対象の領域の例を示す図である。 ポイントの選択方法の例を説明する図である。 同条件の例を説明する図である。 符号化装置の主な構成例を示すブロック図である。 属性情報符号化部の主な構成例を示すブロック図である。 階層化処理部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 属性情報符号化処理の流れの例を説明するフローチャートである。 階層化処理の流れの例を説明するフローチャートである。 参照ポイント設定処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 属性情報復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 属性情報復号処理の流れの例を説明するフローチャートである。 逆階層化処理の流れの例を説明するフローチャートである。 テーブルの例を示す図である。 テーブルの例とシグナリングについて説明する図である。 参照ポイント設定処理の流れの例を説明するフローチャートである。 シグナリングする情報の例を示す図である。 シグナリングの対象の例を示す図である。 シグナリングされる情報の例を示す図である。 シグナリングされる情報の例を示す図である。 固定長ビットの情報をシグナリングする場合のシンタックスの例を示す図である。 固定長ビットの情報をシグナリングする場合のシンタックスの例を示す図である。 シグナリングする可変長ビットの情報の例を示す図である。 シグナリングする可変長ビットの情報の例を示す図である。 可変長ビットの情報をシグナリングする場合のシンタックスの例を示す図である。 可変長ビットの情報をシグナリングする場合のシンタックスの例を示す図である。 参照ポイント設定処理の流れの例を説明するフローチャートである。 探索順の例を説明する図である。 参照ポイント設定処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.参照ポイントの設定
 2.第1の実施の形態(方法1)
 3.第2の実施の形態(方法2)
 4.第3の実施の形態(方法3)
 5.第4の実施の形態(方法4)
 6.付記
 <1.参照ポイントの設定>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、ポイントの位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
 例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合として表現する。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各点の位置情報(ジオメトリデータとも称する)と属性情報(アトリビュートデータとも称する)とにより構成される。アトリビュートデータは任意の情報を含むことができる。例えば、各ポイントの色情報、反射率情報、法線情報等がアトリビュートデータに含まれるようにしてもよい。このようにポイントクラウドデータは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
  <ボクセルを用いた位置情報の量子化>
 このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、ジオメトリデータ(位置情報)を量子化するための3次元領域である。
 つまり、ポイントクラウドを内包する3次元領域(バウンディングボックス(Bounding box)とも称する)をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド(Point cloud)データをこのようなボクセルのデータ(ボクセル(Voxel)データとも称する)に変換することにより、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
  <Octree>
 さらに、ジオメトリデータについて、このようなボクセル(Voxel)データを用いてOctreeを構築することが考えられた。Octreeは、ボクセルデータを木構造化したものである。このOctreeの最下位のノードの各ビットの値が、各ボクセルのポイントの有無を示す。例えば、値「1」がポイントを内包するボクセルを示し、値「0」がポイントを内包しないボクセルを示す。Octreeでは、1ノードが8つのボクセルに対応する。つまり、Octreeの各ノードは、8ビットのデータにより構成され、その8ビットが8つのボクセルのポイントの有無を示す。
 そして、Octreeの上位のノードは、そのノードに属する下位ノードに対応する8つのボクセルを1つにまとめた領域のポイントの有無を示す。つまり、下位ノードのボクセルの情報をまとめることにより上位ノードが生成される。なお、値が「0」のノード、すなわち、対応する8つのボクセルが全てポイントを内包しない場合、そのノードは削除される。
 このようにすることにより、値が「0」でないノードからなる木構造(Octree)が構築される。つまり、Octreeは、各解像度のボクセルのポイントの有無を示すことができる。Octree化して符号化することにより、位置情報は、最高解像度(最上位層)から所望の階層(解像度)まで復号することにより、その解像度のポイントクラウドデータを復元することができる。つまり、不要な階層(解像度)の情報を復号せずに、容易に任意の解像度で復号することができる。換言するに、ボクセル(解像度)のスケーラビリティを実現することができる。
 また、上述のように値が「0」のノードを省略することにより、ポイントが存在しない領域のボクセルを低解像度化することができるので、さらなる情報量の増大の抑制(典型的には情報量の削減)を行うことができる。
  <Lifting>
 これに対してアトリビュートデータ(属性情報)を符号化する際は、符号化による劣化を含めジオメトリデータ(位置情報)を既知であるものとして、ポイント間の位置関係を利用して符号化が行われる。このようなアトリビュートデータの符号化方法として、RAHT(Region Adaptive Hierarchical Transform)や、非特許文献2に記載のようなLiftingと称する変換を用いる方法が考えられた。これらの技術を適用することにより、ジオメトリデータのOctreeのように、アトリビュートデータを階層化することもできる。
 例えば非特許文献2に記載のLiftingの場合、ポイントを参照ポイントまたは予測ポイントに設定する処理を参照ポイントに対して再帰的に繰り返すことにより、アトリビュートデータが階層化される。そしてこの階層構造に従って、参照ポイントのアトリビュートデータを用いて予測ポイントのアトリビュートデータの予測値が導出され、その予測値とアトリビュートデータとの差分値が符号化される。
 例えば、図1においてポイントP5を参照ポイントとして選択するとする。その場合、予測ポイントは、そのポイントP5を中心とする半径Rの円形領域内において探索される。この場合、ポイントP9が、その領域内に位置するので、ポイントP5を参照して予測値が導出される予測ポイント(ポイントP5を参照ポイントとする予測ポイント)として設定される。
 このような処理により、例えば、白丸で示されるポイントP7乃至ポイントP9の各差分値と、斜線模様で示されるポイントP1、ポイントP3、およびポイントP6の各差分値と、グレーの丸で示されるポイントP0、ポイントP2、ポイントP4、およびポイントP5の各差分値とが、互いに異なる階層の差分値として導出される。
 なお、実際には、ポイントクラウドは3次元空間に配置され、上述の処理は3次元空間において行われるが、図1においては、説明の便宜上、その3次元空間を、2次元平面を用いて模式的に示している。つまり、この図1を参照して行われた説明は、3次元空間における処理や現象等に対しても同様に適用することができる。
 以下においても、適宜、3次元空間に対する説明を、2次元平面を用いて行っている。特に言及しない限り、基本的に、その説明は3次元空間における処理や現象等に対しても同様に適用することができる。
 この階層化における参照ポイントの選択は、例えばモートン順(Morton Order)に従って行われていた。例えば、図2に示されるツリー構造のように、ある階層の複数のノードから1つの参照ポイントを選択し、それを1階層上位のノードとする場合、その複数のノードをモートン順に探索し、最初に出現するノードを参照ポイントに選択していた。図2においては、各丸がノードを示し、黒丸が参照ポイントに選択された(つまり、1階層上位のノードとして選択された)ノードを示す。図2においては、左から右に向かって各ノードがモートン順にソートされている。つまり、図2の例の場合、左端のノードが常に選択される。
 これに対して、非特許文献4では、このようなアトリビュートデータの階層化において、参照ポイントとして、その参照ポイントの候補の内の、モートン順における先頭のポイントと、最後のポイントとを、階層毎に交互に選択する方法が提案された。つまり、図3の例のように、LoD Nの階層においては、モートン順における先頭のノードが参照ポイントに選択され、その次の階層(LoD N-1)においては、モートン順における最後のノードが参照ポイントに選択される。
 図4は、3次元空間における参照ポイントの選択の様子の例を、2次元平面を用いて説明している。図4のAの各四角はある階層のボクセルを示す。また、丸は、処理対象とされる参照ポイントの候補を示す。図4のAに示される2x2個のポイントから参照ポイントを選択する場合、例えば、モートン順の先頭のポイント(グレーのポイント)が参照ポイントとして選択される。その1つ上位の階層においては、図4のBに示されるように、2x2個のポイントの内、モートン順の最後のポイント(グレーのポイント)が参照ポイントとして選択される。さらに、その1つ上位の階層においては、図4のCに示されるように、2x2個のポイントの内、モートン順の先頭のポイント(グレーのポイント)が参照ポイントとして選択される。
 図4のA乃至図4のCのそれぞれに示される矢印は、参照ポイントの移動を示す。この場合、参照ポイントの移動範囲が図4のCに示される点線枠のように狭い範囲に限定されるので、予測精度の低減が抑制される。
 しかしながら、図5に示される位置において図4の場合と同様に参照ポイントが選択されると、参照ポイントの位置は、図5のA乃至図5のCのように移動する。図4は、3次元空間における参照ポイントの選択の様子の他の例を、2次元平面を用いて説明している。つまりその参照ポイントの移動範囲が、図5のCに示される点線枠のように、図4の場合に比べて広くなってしまい、予測精度が低減するおそれがあった。
 このように、非特許文献4に記載の方法では、ポイントの位置によって予測精度が低減し、符号化効率が低減するおそれがあった。
  <参照ポイントの設定方法>
 そこで、例えば図6の表の一番上の段に示される方法1のように、このアトリビュートデータの階層化において、ポイントの重心を求め、その重心に基づいて参照ポイントを設定するようにしてもよい。例えば、導出した重心に近いポイントを参照ポイントに選択するようにしてもよい。
 また、例えば図6の表の上から2番目の段に示される方法2のように、このアトリビュートデータの階層化において、ポイントの分布パタン(分布態様)に応じて参照ポイントを選択するようにしてもよい。
 さらに、例えば図6の表の上から3番目の段に示される方法3のように、このアトリビュートデータの階層化において、参照ポイントの設定に関する情報を符号化側から復号側に伝送するようにしてもよい。
 また、例えば図6の表の上から4番目の段に示される方法4のように、このアトリビュートデータの階層化において、参照ポイントとして、バウンディングボックスの中心に近いポイントと遠いポイントとを階層毎に交互に選択するようにしてもよい。
 これらのいずれかの方法を適用することにより、符号化効率の低減を抑制することができる。なお、上述した各方法は任意に組み合わせて適用することができる。また、上述した各方法は、スケーラブルな復号に対応したアトリビュートデータの符号化・復号に適用することもできるし、スケーラブルな復号に対応していないアトリビュートデータの符号化・復号に適用することもできる。
 <2.第1の実施の形態>
  <方法1>
 上述した「方法1」を適用する場合について説明する。この「方法1」の場合、ポイントの重心が導出され、その重心に基づいて参照ポイントが選択される。この導出された重心に対してどのようなポイントを参照ポイントとして設定してもよい。例えば、導出された重心に近いポイント(例えば重心に対してより近傍に位置するポイント)を参照ポイントとして選択するようにしてもよい。
 図7のAは、参照ポイントの設定を行う対象領域の例を示している。図7のAにおいて四角はボクセルを示し、丸は、ポイントを示す。つまり、図7のAは、3次元空間上のボクセル構造の例を、2次元平面を用いて模式的に示した図である。例えば図7のAのように配置されたポイントA乃至ポイントCが参照ポイントの候補であるとすると、図7のBに示されるように、これらの候補の重心に近いポイントBを参照ポイントとして選択してもよい。図7のBは、図2等と同様にアトリビュートデータの階層構造を示しており、黒丸が参照ポイントを示している。つまり、ポイントA乃至ポイントCの中からポイントBが参照ポイントとして選択されている。
 このように重心に近いポイントを参照ポイントすることにより、より多くの他のポイントに対して近いポイントを参照ポイントとして設定することができる。したがって、つまりより多くの予測ポイントに対する予測精度の低減を抑制するように参照ポイントを設定することができ、符号化効率の低減を抑制することができる。
  <重心の導出方法>
 この重心の導出方法は任意である。例えば、参照ポイントの選択に用いる重心として、どのポイントに対する重心を適用してもよい。例えば、所定の範囲内に位置するポイントの重心を導出し、その重心を参照ポイントの選択に用いるようにしてもよい。このようにすることにより、重心の導出に用いられるポイントの数の増大を抑制することができ、負荷の増大を抑制することができる。
 この重心の導出に用いるポイントの範囲(重心導出対象範囲とも称する)は、どのような範囲であってもよい。例えば、図8に示される「重心の導出方法」の表の上から2番目の段に示される方法(1)のように、参照ポイントの候補の重心を導出するようにしてもよい。つまり、例えば、図9のAに示されるように、参照ポイントの候補となるポイントが存在する2x2x2のボクセルからなるボクセル領域を重心導出対象範囲としてもよい。図9のAにおいては、3次元空間の2x2x2のボクセル領域を2次元平面上で(2x2の四角として)模式的に示している。この場合、図9のAにおいて丸で示される3つのポイントの重心が導出され、その重心が参照ポイントの設定に利用される。
 このようにすることにより、処理対象のポイント(参照ポイントの候補)の重心を導出すればよいので、他のポイントの検索等が不要になり、容易にその重心を導出することができる。
 なお、重心導出対象範囲とするボクセル領域は任意であり2x2x2に限定されない。例えば、NxNxN(N>=2)のボクセルからなるボクセル領域内に位置するポイントの重心を導出してもよい。つまり、このNxNxNのボクセル領域を重心導出対象範囲としてもよい。
 例えば、図10のAに示されるように、この重心導出対象範囲とするボクセル領域(図10のAにおいて太線で示されるボクセル領域)と、参照ポイントを導出する対象のボクセル領域(図10のAにおいてグレーで示されるボクセル領域)とを同位置としてもよい(両範囲を完全一致させてもよい)。なお、図10においては、実際には3次元空間上に構成されるボクセル領域を2次元平面上において模式的に示している。また、図10のAにおいては、説明の便宜上、重心導出対象範囲と参照ポイントを導出する対象のボクセル領域とを互いに少しずらして示しているが、実際には両範囲が完全に一致することを示している。
 また、例えば図10のBに示されるように、重心導出対象範囲とするボクセル領域(図10のBにおいて太線で示されるボクセル領域)を、参照ポイントを導出する対象のボクセル領域(図10のBにおいてグレーで示されるボクセル領域)よりも広くしてもよい。図10のBの例では、4x4x4のボクセル領域が重心導出対象範囲とされている。
 また、例えば図10のCに示されるように、重心導出対象範囲とするボクセル領域(図10のCにおいて太線で示されるボクセル領域)の中心が、参照ポイントを導出する対象のボクセル領域(図10のCにおいてグレーで示されるボクセル領域)の中心と一致しなくてもよい。つまり、重心導出対象範囲が、参照ポイントを導出する対象のボクセル領域に対して所定の方向に偏って拡がるようにしてもよい。例えば、バウンディングボックスの端付近等において、重心導出対象範囲がバウンディングボックスからはみ出さないようにするために、このように重心導出対象範囲の拡がりを偏らせてもよい。
 また、例えば、図8に示される「重心の導出方法」の表の上から3番目の段に示される方法(2)のように、近傍N点の重心を求めるようにしてもよい。つまり、例えば、図9のBに示されるように、参照ポイントの候補となるポイントが存在する2x2x2のボクセルからなるボクセル領域の中心座標に近い方からN個のポイントを探索し、そのN個のポイントの重心を導出してもよい。図9のBにおいては、実際には3次元空間上に配置されるポイントの分布を2次元平面上で模式的に示している。また、黒丸が参照ポイントを導出する対象のボクセル領域の中心座標を示している。つまり、この黒丸に近い方から順にポイント(白丸)がN個選択され、その重心が導出される。
 このようにすることにより、探索するポイントをN個に限定することができるので、その探索による負荷の増大を抑制することができる。
 また、例えば、図8に示される「重心の導出方法」の表の上から4番目の段に示される方法(3)のように、方法(2)により導出される近傍N点から、参照ポイントの候補(2x2x2のボクセルからなるボクセル領域に存在するポイント)を除外してもよい。つまり、図9のCに示されるように、2x2x2のボクセル領域を重心導出対象範囲から除外し、この2x2x2のボクセル領域の外に位置するポイントの重心を導出するようにしてもよい。図9のCにおいては、実際には3次元空間上に配置されるポイントの分布を2次元平面上で模式的に示している。
 さらに、例えば、図8に示される「重心の導出方法」の表の上から5番目の段に示される方法(4)のように、参照ポイントの候補となるポイントが存在する2x2x2のボクセルからなるボクセル領域の中心座標を中心とする半径rの領域内のポイントの重心を導出するようにしてもよい。つまり、この場合、例えば図9のDに示されるように、点線枠で示される、2x2x2のボクセルからなるボクセル領域の中心座標を中心とする半径rの領域内に位置するポイントの重心が導出される。なお、図9のDにおいては、実際には3次元空間上に配置されるポイントの分布を2次元平面上で模式的に示している。また、黒丸が参照ポイントを導出する対象のボクセル領域の中心座標を示し、白丸が2x2x2のボクセルからなるボクセル領域の中心座標を中心とする半径rの領域内のポイントを示している。
 このようにすることにより、ボクセル構造を利用しない、スケーラブルに非対応なLiftingにも本技術を適用することができる。
  <参照点の選択方法>
 上述したように「方法1」の場合、例えば導出された重心に近いポイントを参照ポイントに設定することができる。「重心に近いポイント」が複数存在する場合、その中のいずれか1つが参照ポイントとして選択される。この選択方法は任意である。例えば、図11の「複数の候補からの参照点の選び方」の表に示される各方法のように参照ポイントを設定してもよい。
 例えば、図12のAに示されるように、重心からの距離が互いに等しいポイントが複数存在することもあり得る。また、例えば、図12のBに示されるように、演算による負荷の増大を抑制するために、例えば十分に近くに位置するポイントは全て「重心に近いポイント」としてもよい。図12のBの場合、重心から半径Dthの範囲内に位置するポイントは全て「重心に近いポイント」とされる。この場合、「重心に近いポイント」が複数存在し得る。
 このような場合、例えば、図11に示される「複数の候補からの参照点の選び方」の表の上から2番目の段に示される方法(1)のように、所定の探索順において一番先に処理対象となるポイントを選択するようにしてもよい。
 また、例えば、図11に示される「複数の候補からの参照点の選び方」の表の上から3番目の段に示される方法(2)のように、所定の探索順において一番先または一番後に処理対象となるポイントを選択するようにしてもよい。例えば、所定の探索順において一番先に処理対象となるポイントを選択するか、所定の探索順において一番後に処理対象となるポイントを選択するかを階層毎に切り替えるようにしてもよい。
 さらに、例えば、図11に示される「複数の候補からの参照点の選び方」の表の上から4番目の段に示される方法(3)のように、所定の探索順において中間(個数/2)に処理対象となるポイントを選択するようにしてもよい。
 また、例えば、図11に示される「複数の候補からの参照点の選び方」の表の上から5番目の段に示される方法(4)のように、所定の探索順において指定された順位に処理対象となるポイントを選択するようにしてもよい。つまり、所定の探索順においてN番目に処理対象となるポイントを選択するようにしてもよい。この指定順位(N)は、予め定められていてもよいし、ユーザやアプリケーション等により設定可能としてもよい。また、指定順位を設定可能とする場合は、この指定順位(N)に関する情報をシグナリング(伝送)させてもよい。
 以上の方法(1)乃至方法(4)のように、重心に対して略同条件の候補が複数存在する場合、その複数の候補の中から、所定の探索順に基づいて参照ポイントを設定するようにしてもよい。
 なお、この探索順は任意である。例えば、モートン順であってもよいし、モートン順以外であってもよい。また、この探索順は、規格等により予め規定されていてもよいし、ユーザやアプリケーション等により設定可能としてもよい。この探索順を設定可能とする場合、その探索順に関する情報をシグナリング(伝送)させてもよい。
 さらに、例えば、図11に示される「複数の候補からの参照点の選び方」の表の上から6番目の段に示される方法(5)のように、重心導出対象範囲をより広範囲とし、その広範囲の重心導出対象範囲内のポイントの重心を導出し、その新たに導出した重心を用いてポイントを選択するようにしてもよい。つまり、条件を変えて重心を導出し直してもよい。
  <符号化装置>
 次に、本技術を適用する装置について説明する。図13は、本技術(の「方法1」)を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図13に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、本実施の形態において説明した本技術を適用してポイントクラウドを符号化する。
 なお、図13においては、処理部やデータの流れ等の主なものを示しており、図13に示されるものが全てとは限らない。つまり、符号化装置100において、図13においてブロックとして示されていない処理部が存在したり、図13において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図13に示されるように符号化装置100は、位置情報符号化部101、位置情報復号部102、ポイントクラウド生成部103、属性情報符号化部104、およびビットストリーム生成部105を有する。
 位置情報符号化部101は、符号化装置100に入力されたポイントクラウド(3Dデータ)のジオメトリデータ(位置情報)を符号化する。この符号化方法は、スケーラブルな復号に対応した方法であれば任意である。例えば位置情報符号化部101は、ジオメトリデータを階層化してOctreeを生成し、そのOctreeを符号化する。また、例えば、ノイズ抑制(デノイズ)のためのフィルタリングや量子化等の処理が行われるようにしてもよい。位置情報符号化部101は、生成したジオメトリデータの符号化データを位置情報復号部102およびビットストリーム生成部105に供給する。
 位置情報復号部102は、位置情報符号化部101から供給されるジオメトリデータの符号化データを取得し、その符号化データを復号する。この復号方法は、位置情報符号化部101による符号化に対応する方法であれば任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。位置情報復号部102は、生成したジオメトリデータ(復号結果)をポイントクラウド生成部103に供給する。
 ポイントクラウド生成部103は、符号化装置100に入力されるポイントクラウドのアトリビュートデータ(属性情報)と、位置情報復号部102から供給されるジオメトリデータ(復号結果)を取得する。ポイントクラウド生成部103は、アトリビュートデータをジオメトリデータ(復号結果)に合わせる処理(リカラー処理)を行う。ポイントクラウド生成部103は、ジオメトリデータ(復号結果)に対応させたアトリビュートデータを属性情報符号化部104に供給する。
 属性情報符号化部104は、ポイントクラウド生成部103から供給されるジオメトリデータ(復号結果)およびアトリビュートデータを取得する。属性情報符号化部104は、そのジオメトリデータ(復号結果)を用いて、アトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。
 その際、属性情報符号化部104は、上述した本技術(方法1)を適用し、アトリビュートデータを符号化する。属性情報符号化部104は、生成したアトリビュートデータの符号化データをビットストリーム生成部105に供給する。
 ビットストリーム生成部105は、位置情報符号化部101から供給されるジオメトリデータの符号化データを取得する。また、ビットストリーム生成部105は、属性情報符号化部104から供給されるアトリビュートデータの符号化データを取得する。ビットストリーム生成部105は、これらの符号化データを含むビットストリームを生成する。ビットストリーム生成部105は、生成したビットストリームを符号化装置100の外部に出力する。
 このような構成とすることにより、符号化装置100は、アトリビュートデータの階層化において、ポイントの重心を求め、その重心に基づいて参照ポイントを設定することができる。このように重心に近いポイントを参照ポイントすることにより、より多くの他のポイントに対して近いポイントを参照ポイントとして設定することができる。したがって、つまりより多くの予測ポイントに対する予測精度の低減を抑制するように参照ポイントを設定することができ、符号化効率の低減を抑制することができる。
 なお、符号化装置100のこれらの処理部(位置情報符号化部101乃至ビットストリーム生成部105)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <属性情報符号化部>
 図14は、属性情報符号化部104(図13)の主な構成例を示すブロック図である。なお、図14においては、処理部やデータの流れ等の主なものを示しており、図14に示されるものが全てとは限らない。つまり、属性情報符号化部104において、図14においてブロックとして示されていない処理部が存在したり、図14において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図14に示されるよう属性情報符号化部104は、階層化処理部111、量子化部112、および符号化部113を有する。
 階層化処理部111は、アトリビュートデータの階層化に関する処理を行う。例えば、階層化処理部111は、ポイントクラウド生成部103から供給されるアトリビュートデータやジオメトリデータ(復号結果)を取得する。階層化処理部111は、そのジオメトリデータを用いてアトリビュートデータを階層化する。その際、階層化処理部111は、上述した本技術(方法1)を適用して階層化を行う。つまり、階層化処理部111は、各階層において、ポイントの重心を導出し、その重心に基づいて参照ポイントを選択する。そして階層化処理部111はその階層構造の各階層において参照関係を設定し、その参照関係に基づいて、参照ポイントのアトリビュートデータを用いて、各予測ポイントのアトリビュートデータの予測値を導出し、アトリビュートデータとその予測値との差分値を導出する。階層化処理部111は、階層化したアトリビュートデータ(差分値)を量子化部112に供給する。
 その際、階層化処理部111は、階層化に関する制御情報も生成し得る。階層化処理部111は、生成した制御情報も、アトリビュートデータ(差分値)とともに量子化部112に供給し得る。
 量子化部112は、階層化処理部111から供給されるアトリビュートデータ(差分値)や制御情報を取得する。量子化部112は、そのアトリビュートデータ(差分値)を量子化する。この量子化の方法は任意である。量子化部112は、その量子化されたアトリビュートデータ(差分値)や制御情報を、符号化部113に供給する。
 符号化部113は、量子化部112から供給される、量子化されたアトリビュートデータ(差分値)や制御情報を取得する。符号化部113は、その量子化されたアトリビュートデータ(差分値)を符号化し、アトリビュートデータの符号化データを生成する。この符号化方法は任意である。また、符号化部113は、生成した符号化データに、制御情報を含める。換言するに、制御情報を含むアトリビュートデータの符号化データを生成する。符号化部113は、生成した符号化データをビットストリーム生成部105に供給する。
 以上のように階層化を行うことにより、属性情報符号化部104は、重心に近いポイントを参照ポイントとして設定することができるので、より多くの他のポイントに対して近いポイントを参照ポイントとして設定することができる。したがって、つまりより多くの予測ポイントに対する予測精度の低減を抑制するように参照ポイントを設定することができ、符号化効率の低減を抑制することができる。
 なお、これらの処理部(階層化処理部111乃至符号化部113)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <階層化処理部>
 図15は、階層化処理部111(図14)の主な構成例を示すブロック図である。なお、図15においては、処理部やデータの流れ等の主なものを示しており、図15に示されるものが全てとは限らない。つまり、階層化処理部111において、図15においてブロックとして示されていない処理部が存在したり、図15において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図15に示されるように階層化処理部111は、参照ポイント設定部121、参照関係設定部122、反転部123、および重み値導出部124を有する。
 参照ポイント設定部121は、参照ポイントの設定に関する処理を行う。例えば、参照ポイント設定部121は、各ポイントのジオメトリデータに基づいて、処理対象のポイント群を、アトリビュートデータを参照される参照ポイントと、アトリビュートデータの予測値を導出する予測ポイントとに分類する。つまり、参照ポイント設定部121は、参照ポイントと予測ポイントとを設定する。参照ポイント設定部121は、この処理を参照ポイントに対して再帰的に繰り返す。つまり、参照ポイント設定部121は、1つ前の階層において設定された参照ポイントを処理対象として、処理対象の階層の参照ポイントと予測ポイントとを設定する。このようにして階層構造が構築される。つまり、アトリビュートデータが階層化される。参照ポイント設定部121は、設定した各階層の参照ポイントおよび予測ポイントを示す情報を参照関係設定部122に供給する。
 参照関係設定部122は、その参照ポイント設定部121から供給される情報に基づいて、各階層の参照関係の設定に関する処理を行う。つまり、参照関係設定部122は、各階層の各予測ポイントについて、その予測値を導出するのに参照される参照ポイント(すなわち参照先)を設定する。そして、参照関係設定部122は、その参照関係に基づいて各予測ポイントのアトリビュートデータの予測値を導出する。つまり、参照関係設定部122は、参照先に設定された参照ポイントのアトリビュートデータを用いて予測ポイントのアトリビュートデータの予測値を導出する。さらに、参照関係設定部122は、その導出した予測値とその予測ポイントのアトリビュートデータとの差分値を導出する。参照関係設定部122は、導出した差分値(階層化されたアトリビュートデータ)を階層毎に反転部123に供給する。
 なお、参照ポイント設定部121は、以上のようなアトリビュートデータの階層化に関する制御情報等を生成し、それを量子化部112に供給し、復号側に伝送させることができる。
 反転部123は、階層の反転に関する処理を行う。例えば、反転部123は、参照関係設定部122から供給される階層化されたアトリビュートデータを取得する。このアトリビュートデータは、各階層の情報が、その生成順に階層化されている。反転部123は、そのアトリビュートデータの階層を反転させる。例えば、反転部123は、アトリビュートデータの各階層に対して、その生成順と逆順に階層番号(最上位層が0、1階層下がる毎に値が1ずつインクリメントされ、最下位層が最大値となる階層を識別するための番号)を付し、生成順が最下位層から最上位層に向かう順となるようにする。反転部123は、階層を反転させたアトリビュートデータを重み値導出部124に供給する。
 重み値導出部124は、重み付けに関する処理を行う。例えば、重み値導出部124は、反転部123から供給されるアトリビュートデータを取得する。重み値導出部124は、取得したアトリビュートデータの重み値を導出する。この重み値の導出方法は任意である。重み値導出部124は、アトリビュートデータ(差分値)と導出した重み値とを量子化部112(図14)に供給する。また、重み値導出部124は、導出した重み値を制御情報として量子化部112に供給し、復号側に伝送させるようにしてもよい。
 以上のような階層化処理部111において、参照ポイント設定部121は、上述した本技術を適用することができる。つまり、参照関係設定部122は、上述の「方法1」を適用し、ポイントの重心を導出し、その重心に基づいて参照ポイントの設定を行うことができる。このようにすることにより、予測精度の低減を抑制し、符号化効率の低減を抑制することができる。
 なお、この階層化の手順は任意である。例えば、参照ポイント設定部121の処理と参照関係設定部122の処理を並行して実行してもよい。例えば、1階層毎に、参照ポイント設定部121が参照ポイントおよび予測ポイントを設定し、参照関係設定部122が参照関係を設定するようにしてもよい。
 なお、これらの処理部(参照ポイント設定部121乃至重み値導出部124)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 次に、この符号化装置100により実行される処理について説明する。符号化装置100は、符号化処理を実行することによりポイントクラウドのデータを符号化する。この符号化処理の流れの例を、図16のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置100の位置情報符号化部101は、ステップS101において、入力されたポイントクラウドのジオメトリデータ(位置情報)を符号化し、ジオメトリデータの符号化データを生成する。
 ステップS102において、位置情報復号部102は、ステップS101において生成されたジオメトリデータの符号化データを復号し、位置情報を生成する。
 ステップS103において、ポイントクラウド生成部103は、入力されたポイントクラウドのアトリビュートデータ(属性情報)と、ステップS102において生成されたジオメトリデータ(復号結果)とを用いて、リカラー処理を行い、アトリビュートデータをジオメトリデータに対応させる。
 ステップS104において、属性情報符号化部104は、属性情報符号化処理を実行することにより、ステップS103においてリカラー処理されたアトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。その際、属性情報符号化部104は、上述した本技術(方法1)を適用して処理を行う。例えば、属性情報符号化部104は、アトリビュートデータの階層化において、ポイントの重心を導出し、その重心に基づいて参照ポイントを設定する。属性情報符号化処理の詳細については後述する。
 ステップS105において、ビットストリーム生成部105は、ステップS101において生成されたジオメトリデータの符号化データと、ステップS104において生成されたアトリビュートデータの符号化データとを含むビットストリームを生成し、出力する。
 ステップS105の処理が終了すると符号化処理が終了する。
 このように各ステップの処理を行うことにより、符号化装置100は、予測精度の低減を抑制することができ、符号化効率の低減を抑制することができる。
  <属性情報符号化処理の流れ>
 次に、図16のステップS104において実行される属性情報符号化処理の流れの例を、図17のフローチャートを参照して説明する。
 属性情報符号化処理が開始されると、属性情報符号化部104の階層化処理部111は、ステップS111において、階層化処理を実行することによりアトリビュートデータを階層化する。つまり、各階層の参照ポイントと予測ポイントが設定され、さらに、その参照関係が設定される。その際、階層化処理部111は、上述した本技術(方法1)を適用して階層化を行う。例えば、属性情報符号化部104は、アトリビュートデータの階層化において、ポイントの重心を導出し、その重心に基づいて参照ポイントを設定する。階層化処理の詳細については後述する。
 ステップS112において、階層化処理部111は、ステップS111において階層化されたアトリビュートデータの各階層において、各予測ポイントについてアトリビュートデータの予測値を導出し、その予測ポイントのアトリビュートデータとその予測値との差分値を導出する。
 ステップS113において、量子化部112は、ステップS112において導出された各差分値を量子化する。
 ステップS114において、符号化部113は、ステップS112において量子化された差分値を符号化し、アトリビュートデータの符号化データを生成する。
 ステップS114の処理が終了すると属性情報符号化処理が終了し、処理は図16に戻る。
 このように各ステップの処理を行うことにより、階層化処理部111は、上述した「方法1」を適用し、アトリビュートデータの階層化において、ポイントの重心を導出し、その重心に基づいて参照ポイントを設定することができる。したがって、階層化処理部111は、予測精度の低減を抑制するようにアトリビュートデータの階層化を行うことができ、これにより符号化効率の低減を抑制することができる。
  <階層化処理の流れ>
 次に、図18のフローチャートを参照して、図17のステップS111において実行される階層化処理の流れの例を説明する。
 階層化処理が開始されると、階層化処理部111の参照ポイント設定部121は、ステップS121において、処理対象の階層を示す変数LoD Indexの値を初期値(例えば「0」)に設定する。
 ステップS122において、参照ポイント設定部121は、参照ポイント設定処理を実行し、処理対象の階層において参照ポイントを設定する(つまり、予測ポイントも設定する)。参照ポイント設定処理の詳細については後述する。
 ステップS123において、参照関係設定部122は、処理対象の階層の参照関係(各予測ポイントの予測値の導出にどの参照ポイントが参照されるか)を設定する。
 ステップS124において、参照ポイント設定部121は、LoD Indexをインクリメントし、処理対象を次の階層に設定する。
 ステップS125において、参照ポイント設定部121は、全ポイントを処理したか否かを判定する。未処理のポイントが存在すると判定された場合、すなわち、階層化が終了していないと判定された場合、処理はステップS122に戻り、それ以降の処理を繰り返す。このようにステップS122乃至ステップS125の各処理が各階層について実行され、ステップS125において、全てのポイントが処理されたと判定された場合、処理はステップS126に進む。
 ステップS126において、反転部123は、以上のように生成されたアトリビュートデータの階層を反転し、各階層に、生成順と逆向きに階層番号を付す。
 ステップS127において、重み値導出部124は、各階層のアトリビュートデータについて重み値を導出する。
 ステップS127の処理が終了すると処理は図14に戻る。
 このように各ステップの処理を行うことにより、階層化処理部111は、上述した「方法1」を適用し、アトリビュートデータの階層化において、ポイントの重心を導出し、その重心に基づいて参照ポイントを設定することができる。したがって、階層化処理部111は、予測精度の低減を抑制するようにアトリビュートデータの階層化を行うことができ、これにより符号化効率の低減を抑制することができる。
  <参照関係設定処理の流れ>
 次に、図18のステップS122において実行される参照ポイント設定処理の流れの例を、図19のフローチャートを参照して説明する。
 参照ポイント設定処理が開始されると、参照ポイント設定部121は、ステップS141において、重心の導出に用いるポイント群を特定し、その処理対象のポイント群の重心を導出する。この重心の導出方法は上述したように任意である。例えば図8の表に示されるいずれかの方法を用いて重心を導出するようにしてもよい。
 ステップS142において、参照ポイント設定部121は、ステップS141において導出された重心に近いポイントを参照ポイントとして選択する。この参照ポイントの選択方法は任意である。例えば図11の表に示されるいずれかの方法を用いて重心を導出するようにしてもよい。
 ステップS142の処理が終了すると参照ポイント設定処理が終了し、処理は図18に戻る。
 このように各ステップの処理を行うことにより、参照ポイント設定部121は、上述した「方法1」を適用し、アトリビュートデータの階層化において、ポイントの重心を導出し、その重心に基づいて参照ポイントを設定することができる。したがって、階層化処理部111は、予測精度の低減を抑制するようにアトリビュートデータの階層化を行うことができ、これにより符号化効率の低減を抑制することができる。
  <復号装置>
 次に、本技術を適用する装置の他の例について説明する。図20は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図20に示される復号装置200は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置200は、本実施の形態において説明した本技術(方法1)を適用してポイントクラウドの符号化データを復号する。
 なお、図20においては、処理部やデータの流れ等の主なものを示しており、図20に示されるものが全てとは限らない。つまり、復号装置200において、図20においてブロックとして示されていない処理部が存在したり、図20において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図20に示されるように復号装置200は、符号化データ抽出部201、位置情報復号部202、属性情報復号部203、およびポイントクラウド生成部204を有する。
 符号化データ抽出部201は、復号装置200に入力されるビットストリームを取得し、保持する。符号化データ抽出部201は、ジオメトリデータ(位置情報)およびアトリビュートデータ(属性情報)の符号化データを、その保持しているビットストリームから抽出する。符号化データ抽出部201は、抽出したジオメトリデータの符号化データを位置情報復号部202に供給する。符号化データ抽出部201は、抽出したアトリビュートデータの符号化データを属性情報復号部203に供給する。
 位置情報復号部202は、符号化データ抽出部201から供給されるジオメトリデータの符号化データを取得する。位置情報復号部202は、そのジオメトリデータの符号化データを復号し、ジオメトリデータ(復号結果)を生成する。この復号方法は、符号化装置100の位置情報復号部102の場合と同様の方法であれば任意である。位置情報復号部202は、生成したジオメトリデータ(復号結果)を、属性情報復号部203およびポイントクラウド生成部204に供給する。
 属性情報復号部203は、符号化データ抽出部201から供給されるアトリビュートデータの符号化データを取得する。属性情報復号部203は、位置情報復号部202から供給されるジオメトリデータ(復号結果)を取得する。属性情報復号部203は、その位置情報(復号結果)を用いて、上述した本技術(方法1)を適用した方法によりアトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。属性情報復号部203は、生成したアトリビュートデータ(復号結果)をポイントクラウド生成部204に供給する。
 ポイントクラウド生成部204は、位置情報復号部202から供給されるジオメトリデータ(復号結果)を取得する。ポイントクラウド生成部204は、属性情報復号部203から供給されるアトリビュートデータ(復号結果)を取得する。ポイントクラウド生成部204は、そのジオメトリデータ(復号結果)およびアトリビュートデータ(復号結果)を用いて、ポイントクラウド(復号結果)を生成する。ポイントクラウド生成部204は、生成したポイントクラウド(復号結果)のデータを復号装置200の外部に出力する。
 このような構成とすることにより、復号装置200は、逆階層化において、ポイントの重心に近いポイントを参照ポイントとして選択することができる。したがって、復号装置200は、例えば上述した符号化装置100により符号化されたアトリビュートデータの符号化データを正しく復号することができる。したがって、予測精度の低減を抑制することができ、符号化効率の低減を抑制することができる。
 なお、これらの処理部(符号化データ抽出部201乃至ポイントクラウド生成部204)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <属性情報復号部>
 図21は、属性情報復号部203(図20)の主な構成例を示すブロック図である。なお、図21においては、処理部やデータの流れ等の主なものを示しており、図21に示されるものが全てとは限らない。つまり、属性情報復号部203において、図21においてブロックとして示されていない処理部が存在したり、図21において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図21に示されるよう属性情報復号部203は、復号部211、逆量子化部212、および逆階層化処理部213を有する。
 復号部211は、アトリビュートデータの符号化データの復号に関する処理を行う。例えば、復号部211は、属性情報復号部203に供給されるアトリビュートデータの符号化データを取得する。
 復号部211は、そのアトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。この復号方法は、符号化装置100の符号化部113(図14)による符号化方法に対応する方法であれば任意である。また、生成したアトリビュートデータ(復号結果)は、符号化前のアトリビュートデータに対応し、アトリビュートデータとその予測値との差分値であり、量子化されている。復号部211は、生成したアトリビュートデータ(復号結果)を逆量子化部212に供給する。
 なお、アトリビュートデータの符号化データに重み値に関する制御情報やアトリビュートデータの階層化に関する制御情報が含まれている場合、復号部211は、その制御情報も逆量子化部212に供給する。
 逆量子化部212は、アトリビュートデータの逆量子化に関する処理を行う。例えば、逆量子化部212は、復号部211から供給されるアトリビュートデータ(復号結果)や制御情報を取得する。
 逆量子化部212は、そのアトリビュートデータ(復号結果)を逆量子化する。その際、復号部211から重み値に関する制御情報が供給される場合、逆量子化部212は、その制御情報も取得し、その制御情報に基づいて(その制御情報に基づいて導出される重み値を用いて)アトリビュートデータ(復号結果)の逆量子化を行う。
 また、逆量子化部212は、復号部211からアトリビュートデータの階層化に関する制御情報が供給される場合、その制御情報も取得する。
 逆量子化部212は、逆量子化したアトリビュートデータ(復号結果)を逆階層化処理部213に供給する。また、復号部211からアトリビュートデータの階層化に関する制御情報を取得した場合、逆量子化部212は、その制御情報も逆階層化処理部213に供給する。
 逆階層化処理部213は、逆量子化部212から供給される、逆量子化されたアトリビュートデータ(復号結果)を取得する。上述したようにこのアトリビュートデータは差分値である。また、逆階層化処理部213は、位置情報復号部202から供給されるジオメトリデータ(復号結果)を取得する。逆階層化処理部213は、そのジオメトリデータを用いて、取得したアトリビュートデータ(差分値)に対して、符号化装置100の階層化処理部111(図14)による階層化の逆処理である逆階層化を行う。
 ここで逆階層化について説明する。例えば、逆階層化処理部213は、位置情報復号部202から供給されるジオメトリデータに基づいて、符号化装置100(階層化処理部111)と同様の手法によりアトリビュートデータの階層化を行う。つまり、逆階層化処理部213は、復号されたジオメトリデータに基づいて、各階層の参照ポイントおよび予測ポイントを設定し、アトリビュートデータの階層構造を設定する。逆階層化処理部213は、さらにその参照ポイントおよび予測ポイントを用いて、その階層構造の各階層の参照関係(各予測ポイントに対する参照先)を設定する。
 そして、逆階層化処理部213は、その階層構造と各階層の参照関係を用いて、取得したアトリビュートデータ(差分値)の逆階層化を行う。つまり、逆階層化処理部213は、参照関係に従って参照ポイントから予測ポイントの予測値を導出し、その予測値を差分値に加算することにより各予測ポイントのアトリビュートデータを復元する。逆階層化処理部213は、この処理を上位層から下位層に向かって階層毎に行う。つまり、逆階層化処理部213は、処理対象の階層よりも上位の階層においてアトリビュートデータを復元した予測ポイントを参照ポイントとして用い、処理対象の階層の予測ポイントのアトリビュートデータを上述のように復元する。
 このような手順で行われる逆階層化において、逆階層化処理部213は、復号されたジオメトリデータに基づいてアトリビュートデータを階層化する際に、上述した本技術(方法1)を適用して参照ポイントを設定する。つまり、逆階層化処理部213は、ポイントの重心を導出し、その重心に近いポイントを参照ポイントとして選択する。逆階層化処理部213は、逆階層化したアトリビュートデータを復号結果としてポイントクラウド生成部204(図20)に供給する。
 以上のように逆階層化を行うことにより、逆階層化処理部213は、重心に近いポイントを参照ポイントに設定することができるので、予測精度の低減を抑制するようにアトリビュートデータの階層化を行うことができる。つまり、属性情報復号部203は、同様の方法で符号化された符号化データを正しく復号することができる。例えば、属性情報復号部203は、上述した属性情報符号化部104により符号化されたアトリビュートデータの符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
 なお、これらの処理部(復号部211乃至逆階層化処理部213)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 次に、この復号装置200により実行される処理について説明する。復号装置200は、復号処理を実行することによりポイントクラウドの符号化データを復号する。この復号処理の流れの例を、図22のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200の符号化データ抽出部201は、ステップS201において、ビットストリームを取得して保持し、そのビットストリームからジオメトリデータの符号化データとアトリビュートデータの符号化データを抽出する。
 ステップS202において、位置情報復号部202は、抽出されたジオメトリデータの符号化データを復号し、ジオメトリデータ(復号結果)を生成する。
 ステップS203において、属性情報復号部203は、属性情報復号処理を実行し、ステップS201において抽出されたアトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。その際、属性情報復号部203は、上述した本技術(方法1)を適用して処理を行う。例えば、属性情報復号部203は、アトリビュートデータの階層化において、ポイントの重心を導出し、その重心に近いポイントを参照ポイントとして設定する。属性情報復号処理の詳細については後述する。
 ステップS204において、ポイントクラウド生成部204は、ステップS202において生成されたジオメトリデータ(復号結果)と、ステップS203において生成されたアトリビュートデータ(復号結果)とを用いてポイントクラウド(復号結果)を生成し、出力する。
 ステップS204の処理が終了すると、復号処理が終了する。
 このように各ステップの処理を行うことにより、復号装置200は、同様の手法により符号化されたアトリビュートデータの符号化データを正しく復号することができる。例えば、復号装置200は、上述した符号化装置100により符号化されたアトリビュートデータの符号化データを正しく復号することができる。したがって、予測精度の低減を抑制することができ、符号化効率の低減を抑制することができる。
  <属性情報復号処理の流れ>
 次に、図22のステップS203において実行される属性情報復号処理の流れの例を、図23のフローチャートを参照して説明する。
 属性情報復号処理が開始されると、属性情報復号部203の復号部211は、ステップS211において、アトリビュートデータの符号化データを復号し、アトリビュートデータ(復号結果)を生成する。このアトリビュートデータ(復号結果)は上述のように量子化されている。
 ステップS212において、逆量子化部212は、逆量子化処理を実行することにより、ステップS211において生成されたアトリビュートデータ(復号結果)を逆量子化する。
 ステップS213において、逆階層化処理部213は、逆階層化処理を実行することにより、ステップS212において逆量子化されたアトリビュートデータ(差分値)を逆階層化し、各ポイントのアトリビュートデータを導出する。その際、逆階層化処理部213は、上述した本技術(方法1)を適用して逆階層化を行う。例えば、逆階層化処理部213は、アトリビュートデータの階層化において、ポイントの重心を導出し、その重心に近いポイントを参照ポイントとして設定する。逆階層化処理の詳細については後述する。
 ステップS213の処理が終了すると属性情報復号処理が終了し、処理は図22に戻る。
 このように各ステップの処理を行うことにより、属性情報復号部203は、上述した「方法1」を適用し、アトリビュートデータの階層化において、ポイントの重心に近いポイントを参照ポイントとして設定することができる。したがって、逆階層化処理部213は、予測精度の低減を抑制するようにアトリビュートデータの階層化を行うことができる。つまり、属性情報復号部203は、同様の方法で符号化された符号化データを正しく復号することができる。例えば、属性情報復号部203は、上述した属性情報符号化部104により符号化されたアトリビュートデータの符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
  <逆階層化処理の流れ>
 次に、図23のステップS213において実行される逆階層化処理の流れの例を、図24のフローチャートを参照して説明する。
 逆階層化処理が開始されると、逆階層化処理部213は、ステップS221において、ジオメトリデータ(復号結果)を用いてアトリビュートデータ(復号結果)の階層化処理を行い、符号化側において設定された、各階層の参照ポイントおよび予測ポイントを復元し、さらに、各階層の参照関係を復元する。つまり、逆階層化処理部213は、階層化処理部111が行う階層化処理と同様の処理を行い、各階層の参照ポイントおよび予測ポイントを設定し、さらに、各階層の参照関係を設定する。
 例えば、逆階層化処理部213は、階層化処理部111と同様に、上述した「方法1」を適用し、ポイントの重心を導出し、その重心に近いポイントを参照ポイントとして設定する。
 ステップS222において、逆階層化処理部213は、この階層構造および参照関係を用いてアトリビュートデータ(復号結果)の逆階層化を行い、各ポイントのアトリビュートデータを復元する。つまり、逆階層化処理部213は、参照関係に基づいて参照ポイントのアトリビュートデータから予測ポイントのアトリビュートデータの予測値を導出し、その予測値をアトリビュートデータ(復号結果)の差分値に加算してアトリビュートデータを復元する。
 ステップS222の処理が終了すると逆階層化処理が終了し、処理は図23に戻る。
 このように各ステップの処理を行うことにより、逆階層化処理部213は、符号化の際と同様の階層化を実現することができる。つまり、属性情報復号部203は、同様の方法で符号化された符号化データを正しく復号することができる。例えば、属性情報復号部203は、上述した属性情報符号化部104により符号化されたアトリビュートデータの符号化データを正しく復号することができる。したがって、符号化効率の低減を抑制することができる。
 <3.第2の実施の形態>
  <方法2>
 次に、図6を参照して上述した「方法2」を適用する場合について説明する。この「方法2」の場合、アトリビュートデータの階層化において、ポイントの分布パタン(分布態様)に応じて参照ポイントが選択される。
 例えば、図25に示される表(テーブル情報)においては、参照ポイントを設定する処理対象の領域におけるポイントの分布パタン(分布態様)と、その場合に選択されるポイントとを示す情報(インデックス)とが互いに関連付けられている。例えば、この表の上から2番目の段においては、参照ポイントを設定する2x2x2のボクセル領域におけるポイントの分布パタンが「10100001」である場合、インデックスが「2」のポイント、つまり2番目に出現するポイントが選択されることが示されている。分布パタン「10100001」の各ビット値は、2x2x2の各ボクセルのポイントの有無を示しており、値「1」がそのビットが割り当てられたボクセルにポイントが存在することを示し、値「0」がそのビットが割り当てられたボクセルにポイントが存在しないことを示す。
 この表においては、同様に、分布パタン毎に、選択されるポイントのインデックスが示されている。つまり、アトリビュートデータの階層化において、この表を参照し、参照ポイントを設定する処理対象の領域におけるポイントの分布パタンに対応するインデックスのポイントを参照ポイントに選択する。
 このようにすることにより、より容易に参照ポイントを選択することができる。
  <テーブル情報>
 このテーブル情報は、ポイントの分布パタンと選択するポイントを示す情報とを紐づけるものであればどのような情報であってもよい。例えば、図26のAに示される「テーブル」の表の上から2番目の段に示される方法(1)のように、ポイントの分布態様毎に、重心に近いポイントを選択するテーブル情報であってもよい。つまり、各分布パタンに対して、その分布パタンの場合の重心位置に近いポイントのインデックスが紐づけられるようにしてもよい。
 また、例えば、図26のAに示される「テーブル」の表の上から3番目の段に示される方法(2)のように、ポイントの分布態様毎に、任意のポイントを選択するテーブル情報であってもよい。さらに、例えば、この「テーブル」の表の上から4番目の段に示される方法(3)のように、複数のテーブルの中から、使用するテーブルを選択するようにしてもよい。例えば、階層(LoDの深さ)によって使用するテーブルを切り替えるようにしてもよい。
  <テーブル情報のシグナリング>
 なお、このテーブル情報は、予め用意されていてもよい。例えば、規格により所定のテーブル情報が規定されていてもよい。その場合、テーブル情報のシグナリング(符号化側から復号側への伝送)は不要である。
 また、このテーブル情報は、位置情報復号部102がジオメトリデータから導出してもよい。また、位置情報復号部202もジオメトリデータ(復号結果)からこのテーブル情報を導出してもよい。その場合、テーブル情報のシグナリング(符号化側から復号側への伝送)は不要である。
 もちろん、このテーブル情報がユーザやアプリケーション等によって生成可能(または更新可能)としてもよい。その場合、その生成された(または更新された)テーブル情報をシグナリングしてもよい。つまり、例えば符号化部113がこのテーブル情報に関する情報を符号化し、その符号化データをビットストリームに含める等して、シグナリングするようにしてもよい。
 また、上述したようにこのテーブル情報を階層(LoDの深さ)によって切り替えてもよい。その場合、図26のBに示される「テーブル」の表の上から2番目の段に示される方法(1)のように、その切り替え方を規格等において予め規定し、その切り替え方を示す情報をシグナリングしないようにしてもよい。
 また、図26のBに示される「テーブル」の表の上から3番目の段に示される方法(2)のように、選択されたテーブルを示すインデックス(識別情報)をシグナリングしてもよい。例えば、アトリビュートパラメータセット(AttributeParameterSet)において、このインデックスをシグナリングしてもよい。
 さらに、例えば、図26のBに示される「テーブル」の表の上から4番目の段に示される方法(3)のように、選択されたテーブル情報そのものをシグナリングしてもよい。例えば、アトリビュートブリックヘッダ(AttributeBrickHeader)において、このテーブル情報をシグナリングしてもよい。
 また、図26のBに示される「テーブル」の表の上から5番目の段に示される方法(4)のように、選択されたテーブル情報の一部をシグナリングしてもよい。つまり、テーブル情報を部分更新することができるようにしてもよい。例えば、アトリビュートブリックヘッダ(AttributeBrickHeader)において、このテーブル情報をシグナリングしてもよい。
 この方法2を適用する場合も、符号化装置100および復号装置200の構成は、上述した方法1を適用する場合と基本的に同様である。したがって、符号化装置100は、符号化処理、属性情報符号化処理、および階層化処理等の各処理を、第1の実施の形態の場合と同様の流れで実行することができる。
  <参照ポイント設定処理の流れ>
 この場合の参照ポイント設定処理の流れの例を図27のフローチャートを参照して説明する。参照ポイント設定処理が開始されると、参照ポイント設定部121は、ステップS301において、テーブル情報を参照し、ポイント分布パタンに応じて参照ポイントを選択する。
 ステップS302において、参照ポイント設定部121は、使用したテーブルに関する情報をシグナリングするか否かを判定する。シグナリングすると判定された場合、処理はステップS303に進む。
 ステップS303において、参照ポイント設定部121は、使用したテーブルに関する情報をシグナリングする。ステップS303の処理が終了すると参照ポイント設定処理が終了し、処理は図18に戻る。
 このように符号化装置100がテーブル情報を伝送することにより、復号装置200は、そのテーブル情報を用いて、復号を行うことができる。
 なお、復号装置200は、復号処理、属性情報復号処理、および逆階層化処理等の各処理を、第1の実施の形態の場合と同様の流れで実行することができる。
 <4.第3の実施の形態>
  <方法3>
 次に、図6を参照して上述した「方法3」を適用する場合について説明する。この「方法3」の場合、アトリビュートデータの階層化において設定される参照ポイントについてシグナリングしてもよい。
 例えば、図28に示される「シグナリングの対象」の表の上から2番目の段に示される方法(1)のように、全ノード(全ポイント)について、参照するか否か、すなわち、参照ポイントとするか予測ポイントとするかを示す情報をシグナリングしてもよい。例えば、図29のAに示されるように、全階層の全ノードをモートン順にソートし、各ノードに対してインデックス(インデックス0乃至インデックスK)を付与してもよい。換言するに、このインデックス0乃至インデックスKにより各ノード(および各ノードに対して付与される情報)を識別することができる。
 また、例えば、図28に示される「シグナリングの対象」の表の上から3番目の段に示される方法(2)のように、一部の階層について、いずれのノード(ポイント)を参照ポイントして選択するかを示す情報をシグナリングしてもよい。例えば、図29のBに示されるように、シグナリングの対象とする階層(LoD)を指定し、その階層の全ノードをモートン順にソートし、各ノードに対してインデックスを付与してもよい。
 例えば、アトリビュートデータが図30のAに示されるような階層構造を有するとする。つまり、LoD2の#0のポイント、LoD2の#1のポイント、および、LoD2の#2のポイントから1つずつポイントが参照ポイントとして選択され、LoD1の#0の各ポイントを形成している。この場合において、LoD2のポイントに対して、図30のBに示されるような探索順でインデックスを割り当てるとすると、LoD1#0の各ポイントは、図30のCに示されるようなLoD2のインデックスにより示される。換言するに、「LoD2 0,1,0」と指定することにより、LoD1#0のポイントの分布態様を表すことができる。
 このように、LoD N-1のインデックスでLoD Nの2x2x2のボクセル領域を指定することができる。つまり、LoD(階層指定)と順番(m番目)により1つの2x2x2のボクセルを指定することができる。このように、階層およびインデックスにより指定を行うことにより、必要に応じて一部の階層についてのみシグナリングを行うことができるので、方法(1)の場合に比べて符号量の増大を抑制し、符号化効率の低減を抑制することができる。
 さらに、例えば、図28に示される「シグナリングの対象」の表の上から4番目の段に示される方法(3)のように、シグナリングの対象とするポイントを、下位のNxNxNのボクセル領域内のポイントの数により制限するようにしてもよい。つまり、所定の条件を満たすポイントについての参照ポイントの設定に関する情報をシグナリングしてもよい。このようにすることにより、図29のCに示されるように、さらにシグナリングの対象となるノードを低減させることができる。これにより、符号化効率の低減を抑制することができる。
 例えば、アトリビュートデータが図31のAに示されるような階層構造を有するとする。この場合において、シグナリングの対象を3つ以上のポイントを含む2x2x2ボクセル領域に制限するとする。LoD2のポイントに対して、図31のBに示されるような探索順でインデックスを割り当てるとすると、LoD2の右側に示されるボクセル領域は、シグナリングの対象から除外される。したがって、このボクセル領域にはインデックスが割り当てられない。したがって、図31のCに示されるように、図30のCの場合よりもシグナリングのデータ量を低減させることができ、符号量の増大を抑制することができる。
 なお、例えば、図28に示される「シグナリングの対象」の表の上から5番目の段に示される方法(4)のように、方法(2)と方法(3)とを組み合わせて適用してもよい。
  <固定長シグナリング>
 以上のようなシグナリングを固定長のデータで行うようにしてもよい。例えば、図32のAに示されるようなシンタックスでシグナリングを行うようにしてもよい。図32のAのシンタックスにおいて、num_Lodは、シグナリングするLoDの数を示すパラメータである。lodNo[ i ]は、Lod番号を示すパラメータである。voxelType[i]は、signallingするvoxelのタイプを示すパラメータである。このパラメータを指定することによりLod内での伝送対象を限定することができる。num_nodeは、実際にシグナルする数を示すパラメータである。このnum_nodeは、ジオメトリデータから導出することができる。node[k]は、2x2x2のボクセル領域毎にシグナルされる情報を示す。kは、ノードのモートン順での番号を示す。
 なお、並列処理等のためにジオメトリデータが得られる前にパースを行う必要がある場合、図32のBに示されるシンタックスでシグナリングを行うようにしてもよい。このようにパースが必要な場合、num_nodeをシグナリングすればよい。
 また、シグナリングを固定長のデータで行う場合、図33のAに示されるシンタックスを適用してもよい。この場合、シグナルを制御するフラグFlag[k]がシグナリングされる。この場合も、並列処理等のためにジオメトリデータが得られる前にパースを行う必要があるときは、図33のBに示されるシンタックスでシグナリングを行うようにしてもよい。このようにパースが必要な場合、num_nodeをシグナリングすればよい。
  <可変長シグナリング>
 また、以上のようなシグナリングを可変長のデータで行うようにしてもよい。例えば、図34の例のように、2x2x2ボクセル領域内のノードの位置をシグナリングするようにしてもよい。その場合、そのシグナリングのビット長が、例えば図34のAに示されるテーブル情報に基づいて、2x2x2ボクセル領域内のノードの数に応じて設定されるようにしてもよい。
 復号側においては、2x2x2ボクセル領域に含まれるノード数は、ジオメトリデータから求めることができる。したがって、図34のBに示される例のように、「10111010・・・」のようなビット列が入力されても、ジオメトリデータから2x2x2ボクセル領域に含まれるノード数を把握することができるので、適切なビット長で分割し、各ボクセル領域に対する情報を正しく得ることができる。
 また、図35の例のように、使用するテーブル情報のインデックスをシグナリングするようにしてもよい。その場合、そのシグナリングのビット長を、例えば図35のAに示されるように、2x2x2ボクセル領域内のノードの数に応じて可変とするようにしてもよい。
 例えば、図35のAに示されるテーブル情報に基づいて、ノード数が5乃至8の場合、2ビットが割り当てられ、図35のBのテーブル情報が選択される。この場合、ビット列「00」は、所定の探索順(例えばモートン順)における1番目のノードを選択することを示す。また、ビット列「01」は、所定の探索順(例えばモートン順)の逆順(reverce)における1番目のノードを選択することを示す。さらに、ビット列「10」は、所定の探索順(No reverce)における2番目のノードを選択することを示す。また、ビット列「11」は、所定の探索順の逆順(reverce)の2番目のノードを選択することを示す。
 また、例えば、図35のAに示されるテーブル情報に基づいて、ノード数が3または4の場合、1ビットが割り当てられ、図35のCのテーブル情報が選択される。この場合、ビット列「0」は、所定の探索順(例えばモートン順)における1番目のノードを選択することを示す。また、ビット列「1」は、所定の探索順(例えばモートン順)の逆順(reverce)における1番目のノードを選択することを示す。
 復号側においては、2x2x2ボクセル領域に含まれるノード数は、ジオメトリデータから求めることができる。したがって、図35のDに示される例のように、「10111010・・・」のようなビット列が入力されても、ジオメトリデータから2x2x2ボクセル領域に含まれるノード数を把握することができるので、適切なビット長で分割し、各ボクセル領域に対する情報を正しく得ることができる。
 可変長の場合のシンタックスの例を図36に示す。図36のシンタックスにおいて、bitLengthは、ビット長を示すパラメータである。また、signalType[i]は、LoD毎の可変長符号化の方法を示すパラメータである。
 なお、この可変長の場合も、並列処理等のためにジオメトリデータが得られる前にパースを行う必要があるときは、図37に示されるシンタックスのように、num_nodeをシグナリングしたり、flag[j]をシグナリングしたりしてもよい。
  <参照ポイント設定処理の流れ>
 この場合の参照ポイント設定処理の流れの例を図38のフローチャートを参照して説明する。参照ポイント設定処理が開始されると、参照ポイント設定部121は、ステップS321において、参照ポイントを選択する。
 ステップS322において、参照ポイント設定部121は、ステップS321において設定された参照ポイントに関する情報をシグナリングする。ステップS322の処理が終了すると参照ポイント設定処理が終了し、処理は図18に戻る。このように符号化装置100がテーブル情報を伝送することにより、復号装置200は、そのテーブル情報を用いて、復号を行うことができる。
 <5.第4の実施の形態>
  <方法4>
 次に、図6を参照して上述した「方法4」を適用する場合について説明する。この「方法4」の場合、参照ポイントとして、参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、バウンディングボックスの中心から遠い方のポイントとを、階層毎に交互に選択するようにしてもよい。
 例えば、図39に示される位置において参照ポイントを選択する場合、図39のA乃至図39のCのように、バウンディングボックスの中心に近い方のポイントと、バウンディングボックスの中心から遠い方のポイントとが、階層毎に交互に選択される。このようにすることにより、図39のCに示されるように、参照ポイントの移動範囲が点線枠のように狭い範囲に限定されるので、予測精度の低減が抑制される。
 このようにポイントの選択方向をバウンディングボックスの中心を基準とすることにより、バウンディングボックス内の位置に依らず、予測精度の低減を抑制させることができる。
 なお、ポイントの探索順をバウンディングボックス内の位置に応じて変化させることにより、このようなポイントの選択を実現してもよい。例えば、この探索順をバウンディングボックスの中心からの距離順としてもよい。このようにすることにより、探索順をバウンディングボックス内の位置に応じて変化させることができる。また、例えば、バウンディングボックスを8分割(xyzの各方向に2分割)した8分割領域毎にこの探索順を変化させてもよい。
  <参照ポイント設定処理の流れ>
 この場合の参照ポイント設定処理の流れの例を図40のフローチャートを参照して説明する。参照ポイント設定処理が開始されると、参照ポイント設定部121は、ステップS341において、1つ前の階層の参照ポイントとしてバウンディングボックスの中心に近い方のポイントを選択したか否かを判定する。
 近い方のポイントを選択したと判定された場合、処理はステップS342に進む。
 ステップS342において、参照ポイント設定部121は、参照ポイントの候補の内、バウンディングボックスの中心から最も遠いポイントを参照ポイントとして選択する。ステップS342の処理が終了すると参照ポイント設定処理が終了し、処理は図18に戻る。
 また、ステップS341において、近い方のポイントを選択していないと判定された場合、処理はステップS343に進む。
 ステップS343において、参照ポイント設定部121は、参照ポイントの候補の内、バウンディングボックスの中心から最も近いポイントを参照ポイントとして選択する。ステップS343の処理が終了すると参照ポイント設定処理が終了し、処理は図18に戻る。
 このように参照ポイントを選択することにより、符号化装置100は、参照ポイントの予測精度の低減を抑制することができる。これにより、符号化効率の低減を抑制することができる。
 <6.付記>
  <階層化・逆階層化方法>
 以上においては、属性情報の階層化・逆階層化方法としてLiftingを例に説明したが、本技術は、属性情報を階層化する任意の技術に適用することができる。つまり、属性情報の階層化・逆階層化の方法は、Lifting以外であってもよい。また、属性情報の階層化・逆階層化の方法は、非特許文献3に記載のようなスケーラブルな方法であってもよいし、非スケーラブルな方法であってもよい。
  <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
  <周辺・近傍>
 なお、本明細書において、「近傍」や「周辺」等の位置関係は、空間的な位置関係だけでなく、時間的な位置関係も含みうる。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図41は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図41に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 また、以上においては、本技術の適用例として符号化装置100および復号装置200について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
 前記階層化部は、ポイントの重心に基づいて、前記参照ポイントを設定する
 情報処理装置。
 (2) 前記階層化部は、候補となるポイントの内、前記重心に対してより近傍のポイントを前記参照ポイントとして設定する
 (1)に記載の情報処理装置。
 (3) 前記階層化部は、所定の範囲内に位置するポイントの重心に基づいて、前記参照ポイントを設定する
 (1)または(2)に記載の情報処理装置。
 (4) 前記階層化部は、前記重心に対して略同条件の複数の候補の中から、所定の探索順に基づいて前記参照ポイントを設定する
 (1)乃至(3)のいずれかに記載の情報処理装置。
 (5) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントを、ポイントの重心に基づいて設定する
 情報処理方法。
 (6) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
 前記階層化部は、前記参照ポイントを、ポイントの分布態様に基づいて設定する
 情報処理装置。
 (7) 前記階層化部は、前記ポイントの分布態様毎に、ポイントの重心に近いポイントを指定するテーブル情報に基づいて、前記参照ポイントを設定する
 (6)に記載の情報処理装置。
 (8) 前記階層化部は、前記ポイントの分布態様毎に所定のポイントを指定するテーブル情報に基づいて、前記参照ポイントを設定する
 (6)または(7)に記載の情報処理装置。
 (9) 前記テーブル情報に関する情報を符号化する符号化部をさらに備える
 (8)に記載の情報処理装置。
 (10) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントを、ポイントの分布態様に基づいて設定する
 情報処理方法。
 (11) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部と、
 前記階層化部による前記参照ポイントの設定に関する情報を符号化する符号化部と
 を備える情報処理装置。
 (12) 前記符号化部は、全てのポイントについての前記参照ポイントの設定に関する情報を符号化する
 (11)に記載の情報処理装置。
 (13) 前記符号化部は、一部の階層のポイントについての前記参照ポイントの設定に関する情報を符号化する
 (11)に記載の情報処理装置。
 (14) 前記符号化部は、さらに所定の条件を満たすポイントについての前記参照ポイントの設定に関する情報を符号化する
 (13)に記載の情報処理装置。
 (15) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行い、
 前記参照ポイントの設定に関する情報を符号化する
 情報処理方法。
 (16) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
 前記階層化部は、前記参照ポイントとして、前記参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、前記バウンディングボックスの中心から遠い方のポイントとを、階層毎に交互に選択する
 情報処理装置。
 (17) 前記階層化部は、前記バウンディングボックス内の位置に応じた探索順に基づいて、前記候補の内の前記バウンディングボックスの中心に近い方のポイントと、前記バウンディングボックスの中心から遠い方のポイントとを選択する
 (16)に記載の情報処理装置。
 (18) 前記探索順は、前記バウンディングボックスの中心からの距離順である
 (17)に記載の情報処理装置。
 (19) 前記探索順は、前記バウンディングボックスを8分割した領域毎に設定される
 (17)に記載の情報処理装置。
 (20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントとして、前記参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、バウンディングボックスの中心から遠い方のポイントとを、階層毎に交互に選択する
 情報処理方法。
 100 符号化装置, 101 位置情報符号化部, 102 位置情報復号部, 103 ポイントクラウド生成部, 104 属性情報符号化部, 105 ビットストリーム生成部, 111 階層化処理部, 112 量子化部, 113 符号化部, 121 参照ポイント設定部, 122 参照関係設定部, 123 反転部, 124 重み値導出部, 200 復号装置, 201 符号化データ抽出部, 202 位置情報復号部, 203 属性情報復号部, 204 ポイントクラウド生成部, 211 復号部, 212 逆量子化部, 213 逆階層化処理部

Claims (20)

  1.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
     前記階層化部は、ポイントの重心に基づいて、前記参照ポイントを設定する
     情報処理装置。
  2.  前記階層化部は、候補となるポイントの内、前記重心に対してより近傍のポイントを前記参照ポイントとして設定する
     請求項1に記載の情報処理装置。
  3.  前記階層化部は、所定の範囲内に位置するポイントの重心に基づいて、前記参照ポイントを設定する
     請求項1に記載の情報処理装置。
  4.  前記階層化部は、前記重心に対して略同条件の複数の候補の中から、所定の探索順に基づいて前記参照ポイントを設定する
     請求項1に記載の情報処理装置。
  5.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントを、ポイントの重心に基づいて設定する
     情報処理方法。
  6.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
     前記階層化部は、前記参照ポイントを、ポイントの分布態様に基づいて設定する
     情報処理装置。
  7.  前記階層化部は、前記ポイントの分布態様毎に、ポイントの重心に近いポイントを指定するテーブル情報に基づいて、前記参照ポイントを設定する
     請求項6に記載の情報処理装置。
  8.  前記階層化部は、前記ポイントの分布態様毎に所定のポイントを指定するテーブル情報に基づいて、前記参照ポイントを設定する
     請求項6に記載の情報処理装置。
  9.  前記テーブル情報に関する情報を符号化する符号化部をさらに備える
     請求項8に記載の情報処理装置。
  10.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントを、ポイントの分布態様に基づいて設定する
     情報処理方法。
  11.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部と、
     前記階層化部による前記参照ポイントの設定に関する情報を符号化する符号化部と
     を備える情報処理装置。
  12.  前記符号化部は、全てのポイントについての前記参照ポイントの設定に関する情報を符号化する
     請求項11に記載の情報処理装置。
  13.  前記符号化部は、一部の階層のポイントについての前記参照ポイントの設定に関する情報を符号化する
     請求項11に記載の情報処理装置。
  14.  前記符号化部は、さらに所定の条件を満たすポイントについての前記参照ポイントの設定に関する情報を符号化する
     請求項13に記載の情報処理装置。
  15.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行い、
     前記参照ポイントの設定に関する情報を符号化する
     情報処理方法。
  16.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う階層化部を備え、
     前記階層化部は、前記参照ポイントとして、前記参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、前記バウンディングボックスの中心から遠い方のポイントとを、階層毎に交互に選択する
     情報処理装置。
  17.  前記階層化部は、前記バウンディングボックス内の位置に応じた探索順に基づいて、前記候補の内の前記バウンディングボックスの中心に近い方のポイントと、前記バウンディングボックスの中心から遠い方のポイントとを選択する
     請求項16に記載の情報処理装置。
  18.  前記探索順は、前記バウンディングボックスの中心からの距離順である
     請求項17に記載の情報処理装置。
  19.  前記探索順は、前記バウンディングボックスを8分割した領域毎に設定される
     請求項17に記載の情報処理装置。
  20.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの前記ポイント毎の属性情報について、前記属性情報と前記属性情報の予測値との差分値を導出する予測ポイントと、前記予測値の導出に用いられる参照ポイントとの分類を前記参照ポイントに対して再帰的に繰り返すことにより、前記属性情報の階層化を行う際に、前記参照ポイントとして、前記参照ポイントの候補の内の、バウンディングボックスの中心に近い方のポイントと、バウンディングボックスの中心から遠い方のポイントとを、階層毎に交互に選択する
     情報処理方法。
PCT/JP2020/048358 2020-01-07 2020-12-24 情報処理装置および方法 WO2021140930A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202080091116.4A CN114902284A (zh) 2020-01-07 2020-12-24 信息处理装置和方法
KR1020227021436A KR20220122995A (ko) 2020-01-07 2020-12-24 정보 처리 장치 및 방법
JP2021569833A JPWO2021140930A1 (ja) 2020-01-07 2020-12-24
EP20912609.3A EP4071715A4 (en) 2020-01-07 2020-12-24 INFORMATION PROCESSING DEVICE AND METHOD
US17/790,393 US20230023219A1 (en) 2020-01-07 2020-12-24 Information processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020000679 2020-01-07
JP2020-000679 2020-01-07

Publications (1)

Publication Number Publication Date
WO2021140930A1 true WO2021140930A1 (ja) 2021-07-15

Family

ID=76788592

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/048358 WO2021140930A1 (ja) 2020-01-07 2020-12-24 情報処理装置および方法

Country Status (6)

Country Link
US (1) US20230023219A1 (ja)
EP (1) EP4071715A4 (ja)
JP (1) JPWO2021140930A1 (ja)
KR (1) KR20220122995A (ja)
CN (1) CN114902284A (ja)
WO (1) WO2021140930A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023127052A1 (ja) * 2021-12-27 2023-07-06 日本電信電話株式会社 復号装置、符号化装置、復号プログラム、符号化プログラム、復号方法および符号化方法
WO2023163387A1 (ko) * 2022-02-24 2023-08-31 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019065298A1 (ja) * 2017-09-29 2019-04-04 ソニー株式会社 情報処理装置および方法
WO2019240286A1 (ja) * 2018-06-15 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10861196B2 (en) * 2017-09-14 2020-12-08 Apple Inc. Point cloud compression

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019065298A1 (ja) * 2017-09-29 2019-04-04 ソニー株式会社 情報処理装置および方法
WO2019240286A1 (ja) * 2018-06-15 2019-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HYEJUNG HURSEJIN OH: "G-PCC][New Proposal] on improved spatial scalable lifting", ISO/IEC JTC1/SC29/WG11 MPEG2019/M51408, October 2019 (2019-10-01)
KHALED MAMMOUALEXIS TOURAPISJUNGSUN KIMFABRICE ROBINETVALERY VALENTINYEPING SU: "Lifting Scheme for Lossy Attribute Encoding in TMC1", ISO/IEC JTC1/SC29/WG11 MPEG2018/M42640, April 2018 (2018-04-01)
OHJI NAKAGAMISATORU KUMA: "G-PCC] Spatial scalability support for G-PCC", ISO/IEC JTC1/SC29/WG11 MPEG2019/M47352, March 2019 (2019-03-01)
R. MEKURIASTUDENT MEMBER IEEEK. BLOMP. CESAR.MEMBER, IEEE, DESIGN, IMPLEMENTATION AND EVALUATION OF A POINT CLOUD CODEC FOR TELE-IMMERSIVE VIDEO
See also references of EP4071715A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023127052A1 (ja) * 2021-12-27 2023-07-06 日本電信電話株式会社 復号装置、符号化装置、復号プログラム、符号化プログラム、復号方法および符号化方法
WO2023163387A1 (ko) * 2022-02-24 2023-08-31 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법

Also Published As

Publication number Publication date
JPWO2021140930A1 (ja) 2021-07-15
KR20220122995A (ko) 2022-09-05
EP4071715A4 (en) 2023-04-05
EP4071715A1 (en) 2022-10-12
CN114902284A (zh) 2022-08-12
US20230023219A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
WO2019198523A1 (ja) 画像処理装置および方法
KR102423499B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020189296A1 (ja) 情報処理装置および方法
US11328440B2 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
JPWO2020066680A1 (ja) 画像処理装置および方法
US20230164353A1 (en) Point cloud data processing device and processing method
US20220321912A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021140930A1 (ja) 情報処理装置および方法
US20210366159A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
US11418800B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2021010200A1 (ja) 情報処理装置および方法
US11991348B2 (en) Information processing device and method
WO2021002214A1 (ja) 情報処理装置および方法
WO2021010134A1 (ja) 情報処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2020071115A1 (ja) 画像処理装置および方法
JP2022047546A (ja) 情報処理装置および方法
WO2019198520A1 (ja) 情報処理装置および方法
WO2021140928A1 (ja) 情報処理装置および方法
WO2021261237A1 (ja) 情報処理装置および方法
CN115086716B (zh) 点云中邻居点的选择方法、装置及编解码器
US20230206510A1 (en) Point cloud data processing device and processing method
EP4325853A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230316581A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
KR20240027776A (ko) 스피닝 센서 헤드에 의해 캡처된 포인트 클라우드에 대해 인코딩/디코딩하는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20912609

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021569833

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020912609

Country of ref document: EP

Effective date: 20220704

NENP Non-entry into the national phase

Ref country code: DE