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

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

Info

Publication number
WO2022145214A1
WO2022145214A1 PCT/JP2021/045929 JP2021045929W WO2022145214A1 WO 2022145214 A1 WO2022145214 A1 WO 2022145214A1 JP 2021045929 W JP2021045929 W JP 2021045929W WO 2022145214 A1 WO2022145214 A1 WO 2022145214A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
attribute data
data
unit
decoding
Prior art date
Application number
PCT/JP2021/045929
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 EP21915075.2A priority Critical patent/EP4270323A1/en
Priority to KR1020237019457A priority patent/KR20230125186A/ko
Priority to JP2022572979A priority patent/JPWO2022145214A1/ja
Priority to US18/265,387 priority patent/US20240056604A1/en
Priority to CN202180086127.8A priority patent/CN116670721A/zh
Publication of WO2022145214A1 publication Critical patent/WO2022145214A1/ja

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

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 more reliably decoding attribute data.
  • 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).
  • a method of realizing parallelization of decoding by signaling a flag that divides Octree into node groups (node group), and decoding of some node groups See, for example, Non-Patent Document 2).
  • the predicted value of the point to be processed is derived using the attribute data of the surrounding points, and the difference value between the attribute data of the point to be processed and the predicted value is coded.
  • a coding method for example, a method called Lifting has been considered (see, for example, Non-Patent Document 3).
  • a neighborhood point search is performed to set a point that refers to the attribute data in order to derive the predicted value.
  • Non-Patent Document 3 does not limit the points to be searched. Therefore, for example, when a node group is formed in a tree structure of attribute data, there is a possibility that a node belonging to the node group that is not decoded may also be searched. As a result, there is a risk that the decoding of the attribute data will fail.
  • This disclosure has been made in view of such a situation, and is intended to enable more reliable decoding of attribute data.
  • the information processing device uses the attribute data of each point in the point cloud, which expresses a three-dimensional object as a set of points, as a node, and forms a slice that is a node group that can be encoded independently of each other.
  • the neighborhood point search unit that executes the neighborhood point search for setting, the attribute data of the processing target node, and the attribute data of the reference point set by the neighborhood point search by the neighborhood point search unit.
  • This is an information processing apparatus including a coding unit that encodes a difference value from the predicted value derived from the above.
  • the attribute data of each point of the point cloud that expresses a three-dimensional object as a set of points is used as a node, and slices that are node groups that can be encoded independently of each other are formed.
  • the difference value between the attribute data of the processing target node and the predicted value derived by using the attribute data of the reference point set by the neighborhood point search. Is an information processing method that encodes.
  • the information processing device on the other side of the present technology uses the attribute data of each point of the point cloud, which expresses a three-dimensional object as a set of points, as a node, and forms a slice, which is a node group that can be encoded independently of each other.
  • a decoding unit that decodes the coded data in which the difference value between the attribute data and the predicted value of the attribute data of the processing target node of the tree structure is encoded and derives the difference value of the processing target node.
  • a reference point to be referred to when deriving the predicted value of the processing target node is targeted only to the node decoded by the decoding unit before the processing target node among the nodes of the tree structure.
  • the neighborhood point search unit that executes the neighborhood point search for setting, the difference value derived by the decoding unit, and the attribute data of the reference point set by the neighborhood point search by the neighborhood point search unit.
  • a restoration unit that restores the attribute data of the processing target node by adding the predicted value derived using the data, the attribute data of the point of the decoding target area restored by the restoration unit, and the attribute data. It is an information processing device provided with a matching unit that associates point geometry data with each other.
  • the information processing method of the other aspect of this technology uses the attribute data of each point of the point cloud that expresses a three-dimensional object as a set of points as a node, and forms a slice that is a node group that can be encoded independently of each other.
  • the coded data in which the difference value between the attribute data and the predicted value of the attribute data of the processing target node of the tree structure to be processed is encoded is decoded, the difference value of the processing target node is derived, and the tree is described. Neighboring point search for setting a reference point to be referred to when deriving the predicted value of the processing target node, targeting only the node decoded before the processing target node among the nodes of the structure.
  • the attribute data of each point of the point cloud that expresses a three-dimensional object as a set of points is used as a node, and the slice is a node group that can be encoded independently of each other.
  • the slice is a node group that can be encoded independently of each other.
  • the attribute data of each point of the point cloud that expresses a three-dimensional object as a set of points is used as a node, and is a node group that can be encoded independently of each other.
  • Encoded data in which the difference between the attribute data and the predicted value of the attribute data of the processing target node of the tree structure in which the slice is formed is encoded is decoded, and the difference value of the processing target node is derived, and the difference value is derived.
  • the neighborhood point search is executed to set the reference point to be referred to when deriving the predicted value of the processing target node, targeting only the nodes decoded before the processing target node.
  • the attribute data of the processing target node is restored and restored.
  • the attribute data of the point in the decoding target area is associated with the geometry data of that point.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 (above)
  • Point cloud data (also referred to as point cloud data) is composed of position information (also referred to as geometry) and attribute information (also referred to as attributes) at each point.
  • the attribute can contain any information. For example, it may include color information, reflectance information, normal information, etc. of each point.
  • the point cloud has a relatively simple data structure and can express an arbitrary three-dimensional structure with sufficient accuracy by using a sufficiently large number of points.
  • a voxel is a three-dimensional region for quantizing geometry (position information).
  • the three-dimensional area containing the point cloud (also referred to as a bounding box) is divided into a small three-dimensional area called a voxel, and each voxel indicates whether or not the point is included.
  • the position of each point is quantized in voxel units. Therefore, it is possible to suppress an increase in the amount of information (typically, reduce the amount of information).
  • the resolution of the geometry depends on the size of this voxel (in other words, the number of voxels).
  • the geometry was considered to make the geometry a tree structure by making it possible to recursively divide voxels by utilizing such characteristics.
  • the resolution of the geometry can be made variable. That is, the geometry can be expressed not only at the highest resolution corresponding to the lowest layer of the tree structure but also at the low resolution corresponding to the middle layer of the tree structure.
  • a method of encoding and decoding point cloud data was considered. For example, when transmitting point cloud data, the transmitting side encodes the point cloud data to generate a bit stream, the bit stream is transmitted, and the receiving side decodes the bit stream to generate the point cloud data. By doing so, the amount of data at the time of transmission can be reduced, and an increase in load can be suppressed. The same applies when storing point cloud data.
  • the point cloud is composed of geometry and attributes. That is, the geometry and attribute data are encoded and decoded respectively.
  • the geometry data (also referred to as geometry data) can be decoded in a scalable manner with respect to the resolution by encoding according to the above-mentioned tree structure. That is, it is possible to realize the scalability of the resolution in the decoding process. For example, partial decoding is possible, such as decoding only the nodes from the top layer of the tree structure to an arbitrary layer (do not decode the nodes in the lower layers). That is, it is possible to obtain a geometry having a desired resolution by decoding only a necessary part without decoding all the coded data of the geometry.
  • Non-Patent Document 2 discloses a method of signaling a flag for dividing this point cloud tree structure (Octree) into node groups.
  • decoding becomes possible independently for each node group. Therefore, for example, the decoding process can be divided into node groups and parallelized. It is also possible to decode only some node groups. For example, by dividing the node group for each partial area of the three-dimensional area, it is possible to decode only the geometry of a part of the area. That is, in the decoding process, it is possible to realize scalability for the area. That is, it is possible to obtain the geometry of a desired region by decoding only the necessary part without decoding all the coded data of the geometry.
  • This node group is also called a slice. That is, a slice is a grouping of nodes in a tree structure of geometry.
  • the geometry data can be independently encoded for each slice.
  • the coded data of the geometry data can be independently decoded for each slice.
  • the tree structure of the geometry may be any tree structure. For example, it may be Octree or KD Tree, or it may be other than that.
  • Figure 1 shows another example of the slice structure set in the geometry data.
  • the solid line of the thin line shows the tree structure, and the branch point of the practice shows the node.
  • the node group surrounded by the thick line forms one slice.
  • LoD indicates the hierarchy of the tree structure.
  • all the nodes of LoD0 to LoD4 belong to slice 1.
  • the node of the area 1 (gray area) of LoD5 to LoD7 belongs to the slice 2.
  • the nodes in region 2 (white background region) of LoD5 to LoD7 belong to slice 3.
  • the nodes in region 3 (gray area) of LoD5 to LoD7 belong to slice 4.
  • the nodes in region 4 (white background region) of LoD5 to LoD7 belong to slice 5.
  • each node of LoD0 to LoD4 is encoded layer by layer in the order from the upper layer to the lower layer for the entire region.
  • Each node of LoD5 to LoD7 is encoded layer by layer in the order from the upper layer to the lower layer for each region of region 1 to region 4.
  • the decoding order is the same.
  • the attribute data of each point is encoded as a difference value from the predicted value derived by referring to the attribute data of other points.
  • the attribute data of each point For example, it will be described as two-dimensional.
  • each circle indicates a point. It is assumed that the points are in such a positional relationship.
  • the attribute data of each point is encoded or decoded as a difference value from the predicted value derived by referring to the attribute data of other points as shown by the arrow shown in B of FIG.
  • the attribute data of each point may be hierarchized using geometry.
  • the predicted point is selected so that the attribute information remains in the voxel of the next higher hierarchy (LoD) to which the voxel in which the point exists belongs.
  • a square indicates a voxel and a circle indicates a point.
  • the voxel 20 is divided into four to form one lower layer voxel, and the lower right voxel is divided into four to further form one lower layer voxel. Leave the voxel point (gray point) of any one of the four points (three white points and one gray point) of the voxel in the lowest hierarchy in the voxel in the next higher hierarchy. ..
  • ⁇ Neighborhood point search> As shown in B of FIG. 2, in order to derive the predicted value of the attribute of the processing target point by referring to the attribute data of another point (neighborhood point), the search of the neighborhood point referring to the attribute data (also referred to as the neighborhood point search). ) Is executed.
  • an interreference also referred to as an inter-LoD reference
  • an intra-reference also called an in-LoD reference
  • FIG. 3 shows an example of the slice structure.
  • the entire area is sliced into one (slice # 1).
  • the lower 2LoD is divided into two regions, and each region is sliced (slice # 2, slice # 3).
  • the lowest layer nodes A to D belong to slice # 2
  • nodes E to G belong to slice # 3.
  • FIG. 4 shows an example of the slice structure of the attribute data in that case.
  • node A to node G correspond to FIG. 3, respectively.
  • the entire region of the upper 2LoD is sliced into one (slice # 4).
  • the lower 2LoD is divided into two regions, and each region is sliced (slice # 5, slice # 6).
  • Non-Patent Document 2 did not correspond to such a slice structure.
  • the attribute data of each node is decoded for each LoD, and the target of the neighborhood point search is not limited, so the attribute data of the points in the entire area is the target of the neighborhood point search. Therefore, there is a possibility that the attribute data of the point in the area that is not the decoding target (that is, the node belonging to the slice that is not decoded) is referred to.
  • the target of the neighborhood point search at the time of interreference is the node within the frame of the alternate long and short dash line. That is, among the nodes A to G, the node A, the node D, the node E, and the node G are the search targets. Further, the target of the neighborhood point search at the time of intra-reference is a node within the frame of the two-dot chain line. That is, in the node A to the node G, the node B and the node C are the search targets.
  • the neighborhood point search is performed only for the decoded nodes.
  • the decoded node is a node that is decoded before the processing target node at the time of decoding.
  • searching for neighborhood points only for decoded nodes means that "nodes that have been decoded” are targeted for neighborhood point search among the nodes of the tree structure, and other nodes (nodes that have not been decoded). Is not the target of the neighborhood point search.
  • the search is executed, and the difference value between the attribute data of the processing target node and the predicted value derived using the attribute data of the reference point set by the neighborhood point search is encoded.
  • a neighborhood point search is executed to set a reference point to be referred to when deriving the predicted value of the processed node, and the derived difference value is executed only for the node decoded before the processed node.
  • the predicted value derived using the attribute data of the reference point set by the neighborhood point search are added to restore the attribute data of the processing target node.
  • the decoding unit that decodes the coded data in which the difference value between the attribute data and the predicted value of the attribute data of the processing target node is encoded and derives the difference value of the processing target node, and the node of the tree structure.
  • Processing by adding the difference value derived by the point search unit and its decoding unit and the predicted value derived using the attribute data of the reference point set by the neighborhood point search unit by the neighborhood point search unit. It is provided with a restore unit that restores the attribute data of the target node.
  • the tree structure of the attribute data may use the attribute data of each point layered based on the geometry data as a node.
  • the tree structure of the attribute data is based on the geometry data, and the attribute data of each point layered so that the voxel in the next higher hierarchy to which the voxel in which the point in the processing target hierarchy belongs also has a point. It may be a node.
  • the geometry data may form a hierarchical tree structure based on the resolution of the geometry, and each node of the attribute data tree structure may correspond to each node of the geometry data tree structure.
  • slices which are node groups that can be encoded independently of each other, are formed in the tree structure of geometry data, and the structure of slices formed in the tree structure of attribute data is formed in the tree structure of the geometry data. It may correspond to the structure of.
  • the tree structure of attribute data corresponds to the tree structure of geometry data in this way, it is possible to realize scalable decoding of point cloud data. Further, by making the slice structure of the attribute data correspond to the slice structure of the geometry data, the point cloud data can be restored independently for each slice.
  • the neighborhood point search for the LoD-to-LoD reference may be executed for the decoded node (method 1-1). ).
  • the neighborhood point search unit targets only the nodes in the tree structure of the attribute data, which are higher than the processing target node and are decoded before the processing target node by the decoding unit. Therefore, the neighborhood point search may be executed.
  • the attribute data to which the interreference is applied at the time of decoding can be independently decoded for each slice, and the attribute data can be decoded more reliably.
  • the neighborhood point search may be executed for the nodes belonging to the decoded slice (method). 1-1-1).
  • the decoded slice is a slice (node) that is decoded before the processing target node at the time of decoding.
  • the neighborhood point search unit belongs to the same slice as the processing target node among the nodes of the attribute data tree structure, and is decoded before the processing target node at the time of decoding.
  • the neighborhood point search may be executed only for the nodes in the hierarchy higher than the processing target node and the nodes belonging to the slice to be decoded before the slice to which the processing target node belongs at the time of decoding.
  • the neighborhood point search unit belongs to the same slice as the processing target node among the nodes of the attribute data tree structure, and is decoded before the processing target node by the decoding unit.
  • the neighborhood point search may be executed only for the nodes higher than the target node and the nodes belonging to the slice to which the processing target node belongs by the decoding unit.
  • the neighborhood point search for interreference is executed for the node within the frame of the one-dot chain line shown in FIG. That is, among the nodes A to G, the node A, the node E, and the node G are the search targets.
  • node B to node D that is, the node belonging to slice # 5 is excluded from the neighborhood point search (it is made not set to the node that refers to the attribute data).
  • the attribute data can be independently decoded for each slice, and the attribute data can be decoded more reliably.
  • the neighborhood point search may be executed for the ancestor node of the tree structure of the attribute data as shown in the fourth row from the top of the table in FIG. (Method 1-1-2).
  • the ancestor node is a node of the upper LoD to which the processing target node directly or indirectly belongs in the attribute data tree structure.
  • the straight lines between the nodes indicate the parent-child relationship between the nodes.
  • a node that is directly or indirectly connected to the processing target node by this straight line in the direction from a certain node (reference node) toward a higher LoD is called an ancestor node of the reference node.
  • a node that is directly connected means a node that is connected to a certain node by the straight line without going through another node.
  • node E is a node directly connected to node F.
  • An indirectly connected node means a node connected to a certain node via another node by the straight line.
  • node G is a node indirectly connected to node F (connected via node E or the like). That is, the node E and the node G are the ancestor nodes of the node F.
  • the nodes A to D and the like are also indirectly connected to the node F (connected via the node G and the like), but these nodes belong to the lower LoD with respect to the node G. .. That is, since it is not a node connected (indirectly) in the direction toward the upper LoD when viewed from the node F, it is not an ancestor node of the node F.
  • the neighborhood point search unit may execute the neighborhood point search only for the ancestor node of the processing target node among the nodes of the tree structure of the attribute data.
  • the neighborhood point search for interreference is executed for the node within the frame of the one-dot chain line shown in FIG. That is, among the nodes A to G, the node E and the node G are the search targets. In other words, node A to node D are excluded from the neighborhood point search (they are not set to the node that refers to the attribute data). That is, in this case as well, the node belonging to slice # 5 is excluded from the neighborhood point search.
  • the neighborhood point search for interreference is executed for the node within the frame of the two-dot chain line shown in FIG. 7. That is, in the node A to the node G, the node A, the node D, and the node G are the search targets. In other words, node B, node E, and node F are excluded from the neighborhood point search (they are not set to the node that refers to the attribute data). That is, in this case, the node belonging to slice # 6 is excluded from the neighborhood point search.
  • the attribute data can be independently decoded for each slice, and the attribute data can be decoded more reliably.
  • the neighborhood point search for the LoD intra-reference may be executed for the decoded node (method 1-2). ).
  • the neighborhood point search unit targets only the nodes in the attribute data tree structure that are in the same layer as the processing target node and are decoded before the processing target node at the time of decoding. Therefore, the neighborhood point search may be executed.
  • the neighborhood point search unit targets only the nodes in the tree structure of the attribute data, which are in the same layer as the processing target node and are decoded before the processing target node by the decoding unit. , The neighborhood point search may be executed.
  • the attribute data to which the intra reference is applied at the time of decoding can be independently decoded for each slice, and the attribute data can be decoded more reliably.
  • the neighborhood point search may be executed for the decoded node in the processing target LoD of the processing target slice.
  • the processing target slice is a slice to which the processing target node belongs.
  • the processing target LoD is the LoD to which the processing target node belongs.
  • the decoded node is a node that is decoded before the processing target node at the time of decoding.
  • the neighborhood point search unit belongs to the same slice as the processing target node in the node of the attribute data tree structure, and is decoded before the processing target node at the time of decoding.
  • the neighborhood point search may be executed only for the nodes in the same layer as the processing target node.
  • the neighborhood point search unit belongs to the same slice as the processing target node among the nodes of the attribute data tree structure, and is decoded before the processing target node by the decoding unit.
  • the neighborhood point search may be executed only for the nodes in the same layer as the target node.
  • the neighborhood point search for intra-reference is executed for the node within the frame of the two-dot chain line shown in FIG. That is, in this case, the node of the lowest LoD in slice # 6 is searched. In other words, node B and node C, that is, the node belonging to slice # 5, are excluded from the neighborhood point search (the node that refers to the attribute data is not set).
  • the attribute data can be independently decoded for each slice, and the attribute data can be decoded more reliably.
  • slice # 1 and slice # 3 of the geometry data are decoded, and slice # 2 is not decoded.
  • the number of the geometry data to be decoded is 1 point, 2 points, 2 points, and 3 points from the upper LoD to the lower LoD.
  • the number of decoded attribute data is one color, two colors, three colors, and four colors from the upper LoD to the lower LoD. That is, in the lower 2 LoDs, the number of decoded geometry data and the number of attribute data do not match. Therefore, for the lower 2 LoDs, the geometry data and the attribute data cannot be associated with each other, and there is a possibility that the point cloud data cannot be generated.
  • the decoding target area is an area corresponding to the slice to be decoded (the area where the point corresponding to the node belonging to the slice is located).
  • a neighborhood point search is executed to set a reference point to be referred to when deriving the predicted value of the processed node, and the derived difference value is executed only for the node decoded before the processed node.
  • the attribute data of the processing target node is restored, and the point of the restored decoding target area is restored. Associate the attribute data with the geometry data at that point.
  • the decoding unit that decodes the coded data in which the difference value between the attribute data and the predicted value of the attribute data of the processing target node is encoded and derives the difference value of the processing target node, and the node of the tree structure.
  • Processing by adding the difference value derived by the point search unit and its decoding unit and the predicted value derived using the attribute data of the reference point set by the neighborhood point search unit by the neighborhood point search unit. It is provided with a restoration unit that restores the attribute data of the target node, and a matching unit that associates the attribute data of the point of the decoding target area restored by the restoration unit with the geometry data of the point.
  • the geometry data of the non-decoding target area may be included in the correspondence, and then the points of the non-decoding target area may be removed based on the geometry.
  • the non-decoding target area indicates an area in which a point corresponding to a node belonging to a slice that is not a decoding target is located.
  • the non-decoding target area indicates an area in which the point corresponding to the node belonging to the decoding target slice is not located.
  • the area where the points corresponding to the nodes belonging to the slice to be decoded are located is referred to as the decoding target area.
  • the undecrypted target area is used using the decoded geometry. You may try to remove the point of (Method 2-1-1).
  • the mapping unit associates the attribute data and the geometry data of all the points restored by the restoration unit, and among the points to which the attribute data and the geometry data are associated, non-decoding. You may try to remove the points in the target area.
  • the geometry data including the node A is associated with the attribute data obtained by decoding slices # 4 and # 6.
  • the node A can be removed by removing the points in the non-decoding target area based on the geometry data.
  • mapping between the geometry data and the attribute data can be executed more reliably, and the point cloud data can be generated more reliably.
  • the attribute data in the non-decoding target area may be removed, and then the geometry data and the attribute data may be associated with each other (method 2-2).
  • the geometry data associated with the node at the time of LoD Generation is used to remove the attribute data in the non-decoding target area, and then the geometry data and the attribute data are associated with each other.
  • the mapping unit may remove the attribute data of the points in the non-decoding target area restored by the restoration unit and associate the attribute data of the points in the decoding target area with the geometry data. good.
  • the geometry is associated with each node of the attribute data.
  • Each node of the lowest LoD is associated with intermediate resolution geometry data (that is, geometry data of the same LoD).
  • the attribute data of the points in the non-decoding target area is removed by using the geometry of each node as shown in FIG.
  • the node A since the geometry of the node A is located in the decoding target area, the node A is removed.
  • the lowest layer has three colors, and the numbers of geometry data and attribute data match.
  • the geometry data and the attribute data can be associated with each other. That is, by doing so, it is possible to more reliably execute the correspondence between the geometry data and the attribute data, and it is possible to generate the point cloud data more reliably.
  • FIG. 14 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 is applied.
  • the coding device 100 shown in FIG. 14 is a device that encodes a point cloud (3D data).
  • the present technique (for example, various methods described with reference to FIGS. 1 to 13) can be applied to the coding apparatus 100.
  • 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 coding apparatus 100, 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 coding device 100 includes a geometry data coding unit 101, a geometry data decoding unit 102, a point cloud generation unit 103, an attribute data coding unit 104, and a bitstream generation unit 105.
  • the geometry data coding unit 101 encodes the position information of the point cloud (3D data) input to the coding device 100, and generates the coding data of the geometry data.
  • This coding method is arbitrary. For example, processing such as filtering and quantization for noise suppression (denoise) may be performed.
  • the geometry data coding unit 101 supplies the generated coded data to the geometry data decoding unit 102 and the bitstream generation unit 105.
  • the geometry data decoding unit 102 acquires the coded data supplied from the geometry data coding unit 101.
  • the geometry data decoding unit 102 decodes the coded data and generates the geometry data.
  • This decoding method is arbitrary as long as it corresponds to the coding by the geometry data coding unit 101. For example, processing such as filtering for denoise and dequantization may be performed.
  • the geometry data 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 attribute data of the point cloud input to the coding device 100 and the geometry data (decoding result) supplied from the geometry data 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 data coding unit 104.
  • the attribute data coding unit 104 acquires point cloud data (geometry data (decoding result) and attribute data) supplied from the point cloud generation unit 103.
  • the attribute data coding unit 104 encodes the attribute data using the geometry data (decoding result) and generates the coded data of the attribute data.
  • the attribute data coding unit 104 supplies the generated coded data to the bitstream generation unit 105.
  • the bitstream generation unit 105 acquires the coded data of the geometry data supplied from the geometry data coding unit 101. Further, the bitstream generation unit 105 acquires the coded data of the attribute data supplied from the attribute data coding unit 104. The bitstream generation unit 105 multiplexes these coded data and generates a bitstream including these coded data. The bitstream generation unit 105 outputs the generated bitstream to the outside of the encoding device 100. This bit stream is supplied to a decoding side device (for example, a decoding device described later) via an arbitrary communication medium or an arbitrary storage medium, for example.
  • a decoding side device for example, a decoding device described later
  • the attribute data coding unit 104 has ⁇ 1.
  • the above-mentioned technique can be applied in the limitation of neighborhood point search>. That is, in that case, the attribute data coding unit 104 has ⁇ 1.
  • Attribute data is encoded by the method to which the present technique described above is applied in Restriction of neighborhood point search>.
  • the coding device 100 can encode the attribute data so that it can be independently decoded for each slice. Therefore, the attribute data can be decoded more reliably.
  • 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.
  • 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 processing may be realized, and another processing unit may realize the above-mentioned processing by both the logic circuit and the execution of the program.
  • FIG. 15 is a block diagram showing a main configuration example of the attribute data coding unit 104 (FIG. 14). It should be noted that FIG. 15 shows the main things such as the processing unit and the flow of data, and not all of them are shown in FIG. That is, in the attribute data coding unit 104, 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 attribute data coding unit 104 includes a layering unit 131, a slice structure generation unit 132, a neighborhood point search unit 133, a prediction processing unit 134, a quantization unit 135, and a coding unit 136.
  • the layering unit 131 executes a process related to layering (LoD Generation) of attribute data. For example, the layering unit 131 acquires the attribute data and the geometry data (decoding result) supplied from the point cloud generation unit 103. The layering unit 131 uses the geometry data to layer the attribute data. For example, the layering unit 131 layered the attribute data so as to generate a tree structure similar to the geometry data. The layered unit 131 supplies the layered attribute data to the slice structure generation unit 132 together with the geometry data.
  • Layering unit 131 executes a process related to layering (LoD Generation) of attribute data. For example, the layering unit 131 acquires the attribute data and the geometry data (decoding result) supplied from the point cloud generation unit 103. The layering unit 131 uses the geometry data to layer the attribute data. For example, the layering unit 131 layered the attribute data so as to generate a tree structure similar to the geometry data. The layered unit 131 supplies the layered attribute data to the slice structure generation unit 132 together with the
  • the slice structure generation unit 132 executes a process related to the generation of the slice structure. For example, the slice structure generation unit 132 acquires the attribute data and the geometry data supplied from the layering unit 131. The slice structure generation unit 132 executes slice division on the attribute data and generates a slice structure. That is, the slice structure generation unit 132 groups the nodes of the tree structure of the attribute data to form a node group. At that time, the slice structure generation unit 132 uses the geometry data (that is, based on the geometry of the point) to perform slice division so as to divide each node into each region. For example, the slice structure generation unit 132 generates a slice structure of attribute data so as to have a slice structure similar to that of geometry data. The slice structure generation unit 132 supplies the attribute data for which the slice structure is generated to the neighborhood point search unit 133 together with the geometry data.
  • the neighborhood point search unit 133 executes the process related to the search for the neighborhood point that refers to the attribute data in order to derive the predicted value of the processing target point. For example, the neighborhood point search unit 133 acquires the attribute data and the geometry data supplied from the slice structure generation unit 132. Further, the neighborhood point search unit 133 executes the neighborhood point search based on the geometry data.
  • the neighborhood point search unit 133 is ⁇ 1. Restriction of neighborhood point search> The above-mentioned technique is applied to execute neighborhood point search. For example, as described above in ⁇ Node grouping of attributes>, the neighborhood point search unit 133 uses the attribute data of each point of the point cloud as a node, and forms a slice which is a node group that can be encoded independently of each other. To set the reference point to be referred to when deriving the predicted value of the attribute data of the processing target node, targeting only the node that is decoded before the processing target node at the time of decoding among the nodes of the tree structure. You may perform a neighborhood point search for.
  • the tree structure of the attribute data may use the attribute data of each point layered based on the geometry data as a node.
  • the tree structure of the attribute data is based on the geometry data, and the attribute data of each point layered so that the voxel in the next higher hierarchy to which the voxel in which the point in the processing target hierarchy belongs also has a point. It may be a node.
  • the geometry data may form a hierarchical tree structure based on the resolution of the geometry, and each node of the attribute data tree structure may correspond to each node of the geometry data tree structure.
  • slices, which are node groups that can be encoded independently of each other, are formed in the tree structure of geometry data, and the structure of slices formed in the tree structure of attribute data is formed in the tree structure of the geometry data. It may correspond to the structure of.
  • the neighborhood point search unit 133 among the nodes of the attribute data tree structure higher than the processing target node, before the processing target node at the time of decoding.
  • the neighborhood point search may be executed only for the node to be decoded.
  • the neighborhood point search unit 133 has described the neighborhood point search target restriction for the interreference based on the slice structure in the node of the tree structure of the attribute data.
  • the neighborhood point search may be executed only for the nodes belonging to the slice to be decoded first.
  • the neighborhood point search unit 133 uses the tree structure node of the attribute data as described above in ⁇ Restriction of the neighborhood point search target for the interreference based on the tree structure>. Of these, the neighborhood point search may be executed only for the ancestor node of the processing target node.
  • the neighborhood point search unit 133 decodes the attribute data tree structure of the nodes in the same layer as the processing target node before the processing target node at the time of decoding. Peripheral point search may be executed only for the nodes to be used.
  • the neighborhood point search unit 133 has described the neighborhood point search target restriction for the intrareference based on the slice structure in the node of the tree structure of the attribute data.
  • the neighborhood point search may be executed only for the nodes belonging to the same slice as the processing target node and being decoded before the processing target node at the time of decoding, in the same layer as the processing target node.
  • the neighborhood point search unit 133 supplies the search result to the prediction processing unit 134 together with the attribute data and the geometry data.
  • the prediction processing unit 134 executes processing related to prediction of attribute data. For example, the prediction processing unit 134 acquires the search result, attribute data, and geometry data of the neighborhood point search supplied from the neighborhood point search unit 133. The prediction processing unit 134 uses the information to derive the predicted value of the attribute data of the processing target node. For example, the prediction processing unit 134 sets the searched neighborhood points to the parent node or the grandparent node, and derives the predicted value of the attribute data of the processing target node using the attribute data of those nodes.
  • the prediction processing unit 134 derives the difference value between the attribute data and the derived predicted value for the processing target node. Then, the prediction processing unit 134 supplies the derived difference value to the quantization unit 135.
  • the quantization unit 135 is supplied from the prediction processing unit 134 and acquires a difference value.
  • the quantization unit 135 quantizes the difference value.
  • the quantized unit 135 supplies the quantized difference value to the coding unit 136.
  • the coding unit 136 acquires the quantized difference value supplied from the quantizing unit 135.
  • the coding unit 136 encodes the quantized difference value and generates the coded data of the attribute data (difference value). This coding method is arbitrary.
  • the coding unit 136 supplies the generated coded data to the bitstream generation unit 105 (FIG. 14).
  • the neighborhood point search unit 133 applies the present technique to execute the neighborhood point search, so that the coding device 100 (attribute data coding unit 104) independently obtains the attribute data for each slice. It can be encoded so that it can be decoded. Therefore, the attribute data can be decoded more reliably.
  • 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 geometry data coding unit 101 of the coding device 100 encodes the input point cloud geometry data in step S101 and generates the coding data of the geometry data.
  • step S102 the geometry data decoding unit 102 decodes the coded data generated in step S101 and generates geometry data.
  • step S103 the point cloud generation unit 103 performs recolor processing using the input point cloud attribute data and the geometry data (decoding result) generated in step S102, and corresponds the attribute data to the geometry data. Let me.
  • step S104 the attribute data coding unit 104 encodes the attribute data recolored in step S103 by executing the attribute data coding process, and generates the coded data of the attribute data.
  • 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 attribute data coding process executed in step S104 of such a coding process includes ⁇ 1.
  • the above-mentioned technique can be applied in the limitation of neighborhood point search>. That is, in that case, the attribute data coding unit 104 has ⁇ 1.
  • the attribute data coding process is executed by the method to which the present technique is applied in the restriction of neighborhood point search>, and the attribute data is encoded.
  • the coding apparatus 100 can encode the attribute data so that it can be independently decoded for each slice. Therefore, the attribute data can be decoded more reliably.
  • the layering unit 131 of the attribute data coding unit 104 layers the attribute data so as to correspond to the hierarchical structure of the geometry data in step S131.
  • step S132 the slice structure generation unit 132 generates a slice structure of attribute data.
  • step S133 the neighborhood point search unit 133 searches for a neighborhood point that refers to the attribute data in order to derive a predicted value of the processing target point based on the geometry data.
  • the neighborhood point search unit 133 is ⁇ 1. Restriction of neighborhood point search>
  • the above-mentioned technique is applied to execute neighborhood point search.
  • the neighborhood point search unit 133 uses the attribute data of each point of the point cloud as a node, and forms a slice which is a node group that can be encoded independently of each other.
  • the reference point to be referred to when deriving the predicted value of the attribute data of the processing target node, targeting only the node that is decoded before the processing target node at the time of decoding among the nodes of the tree structure. You may perform a neighborhood point search for.
  • the tree structure of the attribute data may use the attribute data of each point layered based on the geometry data as a node.
  • the tree structure of the attribute data is based on the geometry data, and the attribute data of each point layered so that the voxel in the next higher hierarchy to which the voxel in which the point in the processing target hierarchy belongs also has a point. It may be a node.
  • the geometry data may form a hierarchical tree structure based on the resolution of the geometry, and each node of the attribute data tree structure may correspond to each node of the geometry data tree structure.
  • slices, which are node groups that can be encoded independently of each other, are formed in the tree structure of geometry data, and the structure of slices formed in the tree structure of attribute data is formed in the tree structure of the geometry data. It may correspond to the structure of.
  • the neighborhood point search unit 133 among the nodes of the attribute data tree structure higher than the processing target node, before the processing target node at the time of decoding.
  • the neighborhood point search may be executed only for the node to be decoded.
  • the neighborhood point search unit 133 has described the neighborhood point search target restriction for the interreference based on the slice structure in the node of the tree structure of the attribute data.
  • the neighborhood point search may be executed only for the nodes belonging to the slice to be decoded first.
  • the neighborhood point search unit 133 uses the tree structure node of the attribute data as described above in ⁇ Restriction of the neighborhood point search target for the interreference based on the tree structure>. Of these, the neighborhood point search may be executed only for the ancestor node of the processing target node.
  • the neighborhood point search unit 133 decodes the attribute data tree structure of the nodes in the same layer as the processing target node before the processing target node at the time of decoding. Peripheral point search may be executed only for the nodes to be used.
  • the neighborhood point search unit 133 has described the neighborhood point search target restriction for the intrareference based on the slice structure in the node of the tree structure of the attribute data.
  • the neighborhood point search may be executed only for the nodes belonging to the same slice as the processing target node and being decoded before the processing target node at the time of decoding, in the same layer as the processing target node.
  • step S134 the prediction processing unit 134 derives a predicted value of the attribute data of the node to be processed based on the reference structure between the nodes corresponding to the result of the neighborhood point search in step S133, and the attribute data and the predicted value are combined with each other. Derive the difference value.
  • step S135 the quantizing unit 135 quantizes the difference value derived in step S134.
  • step S136 the coding unit 136 encodes the difference value quantized in step S135.
  • step S136 When the process of step S136 is completed, the attribute data coding process is completed.
  • the coding device 100 (attribute data coding unit 104) can encode the attribute data so that it can be independently decoded for each slice. Therefore, the attribute data can be decoded more reliably.
  • FIG. 18 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. 18 is a device that decodes the coded data of the point cloud (3D data).
  • the present technique (for example, various methods described with reference to FIGS. 1 to 13) can be applied to the decoding device 200.
  • FIG. 18 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 decoding device 200, there may be a processing unit that is not shown as a block in FIG. 18, 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 has a decoding target setting unit 201, a coded data extraction unit 202, a geometry data decoding unit 203, an attribute data decoding unit 204, and a point cloud generation unit 205.
  • the decoding target setting unit 201 performs processing related to setting the hierarchy (LoD) and slice (node group) to be decoded.
  • the decoding target setting unit 201 has a layer or area to be decoded, such as to which layer the coded data of the point cloud held in the coded data extraction unit 202 is to be decoded, which slice is to be decoded, and the like. Set about.
  • the method of setting the hierarchy and slice to be decoded is arbitrary.
  • the decryption target setting unit 201 may be set based on an instruction regarding a hierarchy or slice supplied from the outside such as a user or an application. Further, the decoding target setting unit 201 may obtain and set the layer or slice to be decoded based on arbitrary information such as an output image.
  • the data unit of this decoding target setting is arbitrary.
  • the decryption target setting unit 201 can also set a hierarchy or a slice for the entire point cloud. Further, the decoding target setting unit 201 can also set a hierarchy or a slice for each object. Further, the decoding target setting unit 201 can also set a hierarchy or a slice for each partial area in the object. Of course, it is also possible to set hierarchies and slices in data units other than these examples.
  • the coded data extraction unit 202 acquires and holds a bit stream input to the decoding device 200.
  • the coded data extraction unit 202 extracts the coded data of the geometry data and the attribute data corresponding to the decoding target range specified by the decoding target setting unit 201 from the bit stream held therein.
  • the coded data extraction unit 202 supplies the coded data of the extracted geometry data to the geometry data decoding unit 203.
  • the coded data extraction unit 202 supplies the coded data of the extracted attribute data to the attribute data decoding unit 204.
  • the geometry data decoding unit 203 acquires the coded data of the geometry data supplied from the coded data extraction unit 202.
  • the geometry data decoding unit 203 decodes the coded data and generates geometry data (decoding result).
  • This decoding method is arbitrary as long as it is the same method as in the case of the geometry data decoding unit 102 of the coding apparatus 100.
  • the geometry data decoding unit 203 supplies the generated geometry data (decoding result) to the attribute data decoding unit 204 and the point cloud generation unit 205.
  • the attribute data decoding unit 204 acquires the coded data of the attribute data supplied from the coded data extraction unit 202.
  • the attribute data decoding unit 204 acquires the geometry data (decoding result) supplied from the geometry data decoding unit 203.
  • the attribute data decoding unit 204 decodes the coded data using the geometry data (decoding result) and generates the attribute data (decoding result).
  • the attribute data decoding unit 204 supplies the generated attribute data (decoding result) to the point cloud generation unit 205.
  • the point cloud generation unit 205 acquires the geometry data (decoding result) supplied from the geometry data decoding unit 203.
  • the point cloud generation unit 205 acquires the attribute data (decoding result) supplied from the attribute data decoding unit 204.
  • the point cloud generation unit 205 associates the geometry data (decoding result) with the attribute data (decoding result) and generates the point cloud data (decoding result).
  • the point cloud generation unit 205 outputs the generated point cloud data (decoding result) to the outside of the decoding device 200.
  • the attribute data decoding unit 204 has ⁇ 1.
  • the above-mentioned technique can be applied in the limitation of neighborhood point search>. That is, in that case, the attribute data decoding unit 204 has ⁇ 1.
  • the coded data of the attribute data is decoded by the method to which the present technique described above is applied in the restriction of the neighborhood point search>.
  • the decoding device 200 can encode the attribute data so that it can be independently decoded for each slice. Therefore, the attribute data can be decoded more reliably.
  • the point cloud generation unit 205 has ⁇ 2.
  • the above-mentioned technique can be applied in the restriction of association>. That is, in that case, the point cloud generation unit 205 is set to ⁇ 2.
  • Point cloud data is generated by the method to which the present technique described above is applied in the restriction of association>.
  • the point cloud generation unit 205 determines the attribute data of the points in the decoding target area restored by the attribute data decoding unit 204 (restoration unit 236 described later). It may be associated with the geometry data of the point.
  • the point cloud generation unit 205 associates the attribute data and the geometry data of all the points restored by the attribute data decoding unit 204 (restoration unit 236 described later) with the attribute data decoding unit 204 (recovery unit 236 described later) as described above in ⁇ Remove after mapping>. , Of the points to which the attribute data and the geometry data are associated, the points in the non-decoding target area may be removed.
  • the point cloud generation unit 205 removes the attribute data of the points in the non-decoding target area restored by the attribute data decoding unit 204 (restoration unit 236 described later) as described above in ⁇ Remove before mapping>.
  • the attribute data of the point in the decoding target area and the geometry data may be associated with each other.
  • the decoding device 200 can associate the geometry data with the attribute data. That is, by doing so, it is possible to more reliably execute the correspondence between the geometry data and the attribute data, and it is possible to generate the point cloud data more reliably.
  • 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. 19 is a block diagram showing a main configuration example of the attribute data decoding unit 204 (FIG. 18). It should be noted that FIG. 19 shows the main things such as the processing unit and the flow of data, and not all of them are shown in FIG. That is, in the attribute data decoding unit 204, there may be a processing unit that is not shown as a block in FIG. 19, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the attribute data decoding unit 204 has a decoding unit 231, an inverse quantization unit 232, a layering unit 233, a slice structure generation unit 234, a neighborhood point search unit 235, and a restoration unit 236.
  • Decoding unit 231 executes processing related to decoding. For example, the decoding unit 231 acquires the coded data of the attribute data supplied from the coded data extraction unit 202 (FIG. 18). The decoding unit 231 decodes the coded data. By this decoding, the difference value between the attribute data and the predicted value is obtained. It should be noted that this difference value is quantized. Further, this decoding method is arbitrary as long as it corresponds to the coding method by the coding unit 136 (FIG. 15) of the coding device 100. The decoding unit 231 supplies the generated difference value (quantized difference value) to the inverse quantization unit 232.
  • the inverse quantization unit 232 acquires the quantized difference value supplied from the decoding unit 231.
  • the dequantization unit 232 dequantizes the quantized difference value and derives the difference value.
  • the inverse quantization unit 232 supplies the difference value to the layering unit 233.
  • the layering unit 233 acquires the difference value supplied from the inverse quantization unit 232.
  • the layering unit 233 stratifies (tree-structures) the attribute data based on the geometry data supplied from the geometry data decoding unit 203. As a result, the layering unit 233 forms a tree structure similar to that in the case of the coding device 100 for the attribute data.
  • the layered unit 233 supplies the layered difference value to the slice structure generation unit 234.
  • the slice structure generation unit 234 acquires the layered difference value (attribute data) supplied from the layered unit 233.
  • the slice structure generation unit 234 executes slice division on the layered difference value (attribute data) in the same manner as the slice structure generation unit 132, and generates a slice structure.
  • the slice structure generation unit 234 uses the geometry data (that is, based on the geometry of the point) to perform slice division so as to divide each node into each region.
  • the slice structure generation unit 234 generates a slice structure of a difference value (attribute data) so that the slice structure is similar to the geometry data.
  • the slice structure generation unit 234 supplies the difference value (attribute data) that generated the slice structure to the neighborhood point search unit 235 together with the geometry data.
  • the neighborhood point search unit 235 executes the process related to the search for the neighborhood point that refers to the attribute data in order to derive the predicted value of the processing target point. For example, the neighborhood point search unit 235 acquires the difference value (attribute data) supplied from the slice structure generation unit 234 and the geometry data. Further, the neighborhood point search unit 235 executes the neighborhood point search based on the geometry data.
  • the neighborhood point search unit 235 has ⁇ 1. Restriction of neighborhood point search> The above-mentioned technique is applied to execute neighborhood point search. For example, as described above in ⁇ Node grouping of attributes>, the neighborhood point search unit 235 uses the attribute data of each point of the point cloud as a node, and forms a slice which is a node group that can be encoded independently of each other. Neighboring point search for setting a reference point to be referred to when deriving the predicted value of the processing target node, targeting only the node decoded before the processing target point by the decoding unit 231 in the node of the tree structure. May be executed.
  • the tree structure of the attribute data may use the attribute data of each point layered based on the geometry data as a node.
  • the tree structure of the attribute data is based on the geometry data, and the attribute data of each point layered so that the voxel in the next higher hierarchy to which the voxel in which the point in the processing target hierarchy belongs also has a point. It may be a node.
  • the geometry data may form a hierarchical tree structure based on the resolution of the geometry, and each node of the attribute data tree structure may correspond to each node of the geometry data tree structure.
  • slices, which are node groups that can be encoded independently of each other, are formed in the tree structure of geometry data, and the structure of slices formed in the tree structure of attribute data is formed in the tree structure of the geometry data. It may correspond to the structure of.
  • the tree structure of attribute data corresponds to the tree structure of geometry data in this way, it is possible to realize scalable decoding of point cloud data. Further, by making the slice structure of the attribute data correspond to the slice structure of the geometry data, the point cloud data can be restored independently for each slice.
  • the neighborhood point search unit 235 is higher than the processing target node among the nodes of the attribute data tree structure, and the decoding unit 231 precedes the processing target node.
  • the neighborhood point search may be executed only for the decoded node.
  • the neighborhood point search unit 235 has the neighborhood point search unit 235 in the node of the tree structure of the attribute data as described above in ⁇ Restriction of the neighborhood point search target for the interreference based on the slice structure>. From the slice that belongs to the same slice as the processing target node and is decoded before the processing target node by the decoding unit 231 and higher than the processing target node, and the slice to which the processing target node belongs by the decoding unit 231. You may also perform a neighborhood point search only for the nodes that belong to the slice that was decoded earlier.
  • the neighborhood point search unit 235 uses the tree structure node of the attribute data as described above in ⁇ Restriction of the neighborhood point search target for the interreference based on the tree structure>. Of these, the neighborhood point search may be executed only for the ancestor node of the processing target node.
  • the neighborhood point search unit 235 decodes the attribute data tree structure before the processing target node by the decoding unit 231 among the nodes in the same layer as the processing target node.
  • the neighborhood point search may be executed only for the nodes that have been created.
  • the neighborhood point search unit 235 As a neighborhood point search for the inter-reference, the neighborhood point search unit 235, as described above in ⁇ Restriction of neighborhood point search target for intra-reference based on slice structure>, among the nodes of the tree structure of the attribute data, The neighborhood point search may be executed only for the nodes belonging to the same slice as the processing target node and decoded by the decoding unit 231 before the processing target node in the same layer as the processing target node.
  • the neighborhood point search unit 235 supplies the search result to the restoration unit 236 together with the attribute data and the geometry data.
  • the restoration unit 236 executes a process related to restoration of attribute data. For example, the restoration unit 236 acquires the search result, the difference value (attribute data), and the geometry data of the neighborhood point search supplied from the neighborhood point search unit 235. The restoration unit 236 uses the information to derive the predicted value of the attribute data of the processing target node. For example, the restoration unit 236 sets the searched neighborhood points to the parent node or the grandparent node, and derives the predicted value of the attribute data of the processing target node using the attribute data of those nodes.
  • the restoration unit 236 restores the attribute data by adding the derived predicted value to the difference value for the processing target node. Then, the restoration unit 236 supplies the derived attribute data to the point cloud generation unit 205.
  • the neighborhood point search unit 235 applies the present technique to execute the neighborhood point search, so that the decoding device 200 (attribute data decoding unit 204) independently decodes the attribute data for each slice. be able to. Therefore, the attribute data can be decoded more reliably.
  • 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 this decoding process will be described with reference to the flowchart of FIG.
  • the decoding target setting unit 201 of the decoding device 200 sets the LoD or slice to be decoded in step S201.
  • step S202 the coded data extraction unit 202 acquires and holds the bit stream, and obtains the coded data of the LoD or slice (that is, the decoding target) geometry data and the attribute data (difference value) set in step S201. Extract.
  • step S203 the geometry data decoding unit 203 decodes the coded data extracted in step S202 and generates geometry data (decoding result).
  • step S204 the attribute data decoding unit 204 decodes the coded data extracted in step S202 by executing the attribute data decoding process, and generates a difference value (attribute data).
  • step S205 the point cloud generation unit 205 executes the point cloud generation process, and by associating the geometry data generated in step S203 with the difference value (attribute data) generated in step S204, the point cloud ( Decryption result) is generated.
  • step S205 When the process of step S205 is completed, the decryption process is completed.
  • the attribute data decoding process executed in step S204 of such a decoding process includes ⁇ 1.
  • the above-mentioned technique can be applied in the limitation of neighborhood point search>. That is, in that case, the attribute data decoding unit 204 has ⁇ 1.
  • the attribute data decoding process is executed by the method to which the present technique is applied in the restriction of neighborhood point search>, and the coded data of the difference value (attribute data) is decoded.
  • the point cloud generation process executed in step S205 includes ⁇ 2.
  • the above-mentioned technique can be applied in the restriction of association>. That is, in that case, the point cloud generation unit 205 has ⁇ 1.
  • Point cloud generation processing is executed by the method to which this technique is applied in Restriction of neighborhood point search>, and the attribute data of the restored point of the decoding target area is associated with the geometry data of that point, and the point cloud data To generate.
  • the decoding device 200 can independently decode the attribute data for each slice. Further, the decoding device 200 can associate the geometry data with the attribute data. Therefore, the attribute data can be decoded more reliably.
  • the decoding unit 231 of the attribute data decoding unit 204 decodes the coded data of the attribute data (difference value) in step S231 and generates the difference value. This difference value is quantized.
  • step S232 the dequantization unit 232 dequantizes the quantized difference value obtained in step S231 to obtain the difference value.
  • step S233 the layering unit 233 stratifies the difference value (attribute data) obtained in step S232. For example, the layering unit 233 layers the difference values so as to correspond to the hierarchical structure of the geometry data.
  • step S234 the slice structure generation unit 234 executes slice division on the layered difference value (attribute data) in step S233 in the same manner as the slice structure generation unit 132, and generates a slice structure.
  • the slice structure generation unit 234 uses the geometry data (that is, based on the geometry of the point) to perform slice division so as to divide each node into each region.
  • the slice structure generation unit 234 generates a slice structure of a difference value (attribute data) so that the slice structure is similar to the geometry data.
  • step S235 the neighborhood point search unit 235 executes a search for a neighborhood point that refers to the attribute data in order to derive a predicted value of the processing target point.
  • the neighborhood point search unit 235 is ⁇ 1. Restriction of neighborhood point search>
  • the above-mentioned technique is applied to execute neighborhood point search.
  • the neighborhood point search unit 235 uses the attribute data of each point of the point cloud as a node, and forms a slice which is a node group that can be encoded independently of each other.
  • Neighboring point search for setting a reference point to be referred to when deriving the predicted value of the processing target node, targeting only the node decoded before the processing target node by the decoding unit 231 in the node of the tree structure. May be executed.
  • the tree structure of the attribute data may use the attribute data of each point layered based on the geometry data as a node.
  • the tree structure of the attribute data is based on the geometry data, and the attribute data of each point layered so that the voxel in the next higher hierarchy to which the voxel in which the point in the processing target hierarchy belongs also has a point. It may be a node.
  • the geometry data may form a hierarchical tree structure based on the resolution of the geometry, and each node of the attribute data tree structure may correspond to each node of the geometry data tree structure.
  • slices, which are node groups that can be encoded independently of each other, are formed in the tree structure of geometry data, and the structure of slices formed in the tree structure of attribute data is formed in the tree structure of the geometry data. It may correspond to the structure of.
  • the neighborhood point search unit 235 uses the decoding unit 231 to precede the processing target node among the nodes in the hierarchy higher than the processing target node in the attribute data tree structure.
  • the neighborhood point search may be executed only for the decoded node.
  • the neighborhood point search unit 235 has the neighborhood point search unit 235 in the node of the tree structure of the attribute data as described above in ⁇ Restriction of the neighborhood point search target for the interreference based on the slice structure>. From the slice that belongs to the same slice as the processing target node and is decoded before the processing target node by the decoding unit 231 and higher than the processing target node, and the slice to which the processing target node belongs by the decoding unit 231. You may also perform a neighborhood point search only for the nodes that belong to the slice that was decoded earlier.
  • the neighborhood point search unit 235 uses the tree structure node of the attribute data as described above in ⁇ Restriction of the neighborhood point search target for the interreference based on the tree structure>. Of these, the neighborhood point search may be executed only for the ancestor node of the processing target node.
  • the neighborhood point search unit 235 decodes the attribute data tree structure before the processing target node by the decoding unit 231 among the nodes in the same layer as the processing target node.
  • the neighborhood point search may be executed only for the nodes that have been created.
  • the neighborhood point search unit 235 As a neighborhood point search for the inter-reference, the neighborhood point search unit 235, as described above in ⁇ Restriction of neighborhood point search target for intra-reference based on slice structure>, among the nodes of the tree structure of the attribute data, The neighborhood point search may be executed only for the nodes belonging to the same slice as the processing target node and decoded by the decoding unit 231 before the processing target node in the same layer as the processing target node.
  • step S236 the restoration unit 236 uses the search result of the neighborhood point search executed in step S235, the difference value (attribute data) obtained in step S232, and the geometry data to predict the attribute data of the node to be processed. Is derived. For example, the restoration unit 236 sets the searched neighborhood points to the parent node or the grandparent node, and derives the predicted value of the attribute data of the processing target node using the attribute data of those nodes. Further, the restoration unit 236 restores the attribute data by adding the derived predicted value to the difference value for the processing target node.
  • step S236 When the process of step S236 is completed, the attribute data decoding process is completed.
  • the decoding device 200 (attribute data decoding unit 204) can independently decode the attribute data for each slice. Therefore, the attribute data can be decoded more reliably.
  • the point cloud generation unit 205 associates the geometry data with the attribute data including the area not to be output in step S251.
  • step S252 the point cloud generation unit 205 deletes the points in the region not to be output based on the geometry data.
  • step S252 When the process of step S252 is completed, the process returns to FIG. 20.
  • the point cloud generation unit 205 can remove the points in the non-decoding target area and leave the points in the decoding target area as described above in ⁇ Remove after mapping>. Therefore, the decoding device 200 (point cloud generation unit 205) can more reliably execute the correspondence between the geometry data and the attribute data, and can more reliably generate the point cloud data.
  • the point cloud generation unit 205 deletes the attribute data of the area not to be output based on the low resolution geometry data in step S271.
  • step S272 the point cloud generation unit 205 associates the geometry data of the output target area with the attribute data.
  • step S272 When the process of step S272 is completed, the process returns to FIG. 20.
  • the point cloud generation unit 205 can associate the geometry data with the attribute data as described above in ⁇ Remove before association>. That is, by doing so, the decoding device 200 (point cloud generation unit 205) can more reliably execute the correspondence between the geometry data and the attribute data, and can more reliably generate the point cloud data. can.
  • Addendum> ⁇ Computer> The series of processes described above can be executed by hardware or software.
  • the programs constituting the software are installed in the computer.
  • the computer includes a computer embedded in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 24 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 ReadOnly Memory
  • RAM RandomAccessMemory
  • 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 is composed of, 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-mentioned 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 also be installed in advance in ROM 902 or storage unit 913.
  • this technology can be applied to any configuration.
  • this technology is a transmitter or receiver (for example, a television receiver or mobile phone) in satellite broadcasting, wired 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
  • the present technology includes a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example,
  • this technique 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 (video) to any terminal 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. .. The use is also arbitrary.
  • 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.
  • one device may execute the plurality of processes, or the plurality of devices may share and execute the plurality of processes.
  • 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 may be executed in parallel or in a row. 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 processes of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for describing 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 techniques related to this technique can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present techniques 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.
  • a part or all of any of the above-mentioned techniques may be carried out in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • Neighbor point search for setting a reference point to be referred to when deriving the predicted value of the attribute data of the processing target node, targeting only the node to be decoded before the processing target node at the time of decoding.
  • the neighborhood point searcher that executes Coding that encodes the difference value between the attribute data of the processing target node and the predicted value derived using the attribute data of the reference point set by the neighborhood point search unit.
  • the neighborhood point search unit targets only the node of the tree structure that is higher than the processing target node and is decoded before the processing target node at the time of decoding.
  • the information processing apparatus according to (1) which executes the neighborhood point search.
  • the neighborhood point search unit is located in the node of the tree structure. The node that belongs to the same slice as the processing target node, is decoded before the processing target node at the time of decoding, and is higher than the processing target node.
  • the information processing apparatus according to (2), wherein the neighborhood point search is executed only for the node belonging to the slice to be decoded before the slice to which the processing target node belongs at the time of decoding.
  • the information processing apparatus executes the neighborhood point search only for the ancestor node of the processing target node among the nodes of the tree structure.
  • the neighborhood point search unit targets only the node of the tree structure in the same layer as the processing target node, which is decoded before the processing target node at the time of decoding.
  • the information processing apparatus which executes the neighborhood point search.
  • the near point search unit belongs to the same slice as the processing target node among the nodes of the tree structure, and is decoded before the processing target node at the time of the decoding.
  • the information processing apparatus according to (5), which executes the neighborhood point search only for the node in the same layer as the target node.
  • the information processing apparatus has the attribute data of each point layered based on the geometry data as the node.
  • the tree structure is based on the geometry data, and the point is layered so that the point also exists in the voxel in the one higher layer to which the voxel in which the point exists in the processing target layer belongs.
  • the information processing apparatus according to (7), wherein the attribute data is the node.
  • the geometry data forms a hierarchical tree structure based on the resolution of the geometry. Each node of the tree structure of the attribute data corresponds to each node of the tree structure of the geometry data.
  • Slices which are node groups that can be encoded independently of each other, are formed in the tree structure of the geometry data.
  • the information processing apparatus according to (8), wherein the structure of the slice formed in the tree structure of the attribute data corresponds to the structure of the slice formed in the tree structure of the geometry data.
  • (10) Within the node of the tree structure in which slices, which are node groups that can be encoded independently of each other, are used as nodes, with the attribute data of each point in the point cloud that expresses a three-dimensional object as a set of points.
  • Neighbor point search for setting a reference point to be referred to when deriving the predicted value of the attribute data of the processing target node, targeting only the node to be decoded before the processing target node at the time of decoding. And execute An information processing method for encoding a difference value between the attribute data of the processing target node and the predicted value derived by using the attribute data of the reference point set by the neighborhood point search.
  • a tree structure processing target node in which slices are formed which is a node group that can be encoded independently of each other, with the attribute data of each point in the point cloud that expresses a three-dimensional object as a set of points as a node.
  • a decoding unit that decodes the coded data in which the difference value between the attribute data and the predicted value of the attribute data is encoded, and derives the difference value of the processing target node.
  • the nodes of the tree structure only the node decoded before the processing target node by the decoding unit is targeted, and a reference point to be referred to when deriving the predicted value of the processing target node is set.
  • a neighborhood point search unit that executes a neighborhood point search for By adding the difference value derived by the decoding unit and the predicted value derived using the attribute data of the reference point set by the neighborhood point search unit, the neighborhood point search unit is used.
  • a restore unit that restores the attribute data of the processing target node, An information processing device including an association unit that associates the attribute data of the point in the decoding target area restored by the restoration unit with the geometry data of the point. (12)
  • the neighborhood point search unit is located in the node of the tree structure. The node that belongs to the same slice as the processing target node and is decoded before the processing target node by the decoding unit, and is higher than the processing target node.
  • the information processing apparatus wherein the neighborhood point search is executed only for the node belonging to the slice decoded earlier than the slice to which the processing target node belongs by the decoding unit.
  • the information processing apparatus wherein the neighborhood point search unit executes the neighborhood point search only for the ancestor node of the processing target node among the nodes of the tree structure.
  • the processing target belongs to the same slice as the processing target node among the nodes of the tree structure, and is decoded before the processing target node by the decoding unit.
  • the information processing apparatus which executes the neighborhood point search only for the node in the same layer as the node.
  • the information processing apparatus according to any one of (11) to (14), wherein the tree structure has the attribute data of each point layered based on the geometry data as a node.
  • the tree structure is based on the geometry data, and the point is layered so that the point also exists in the voxel in the one higher layer to which the voxel in which the point exists in the processing target layer belongs.
  • the information processing apparatus according to (15), wherein the attribute data is the node.
  • the geometry data forms a hierarchical tree structure based on the resolution of the geometry. Each node of the tree structure of the attribute data corresponds to each node of the tree structure of the geometry data.
  • Slices which are node groups that can be encoded independently of each other, are formed in the tree structure of the geometry data.
  • the corresponding unit is The attribute data of all the points restored by the restoration unit and the geometry data are associated with each other.
  • the corresponding unit is The attribute data of the point of the non-decoding target area restored by the restoration unit is removed.
  • a tree structure processing target node in which slices are formed which is a node group that can be encoded independently of each other, with the attribute data of each point in the point cloud that expresses a three-dimensional object as a set of points as a node.
  • the nodes of the tree structure only the node decoded before the processing target node is targeted, and the vicinity for setting the reference point to be referred to when deriving the predicted value of the processing target node.
  • 100 coding device 101 geometry data coding unit, 102 geometry data decoding unit, 103 point cloud generation unit, 104 attribute data coding unit, 105 bit stream generation unit, 131 layering unit, 132 slice structure generation unit, 133 neighborhood Point search unit, 134 prediction processing unit, 135 quantization unit, 136 coding unit, 200 decoding device, 201 decoding target setting unit, 202 coding data extraction unit, 203 geometry data decoding unit, 204 attribute data decoding unit, 205 points Cloud generation unit, 231 decoding unit, 232 inverse quantization unit, 233 layering unit, 234 slice structure generation unit, 235 neighborhood point search unit, 236 restoration unit, 900 computer

Abstract

本開示は、より確実にアトリビュートデータを復号することができるようにする情報処理装置および方法に関する。 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノードの内、復号の際に処理対象ノードよりも先に復号されるノードのみを対象として、処理対象ノードのアトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する。本開示は、例えば、情報処理装置、符号化装置、復号装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、より確実にアトリビュートデータを復号することができるようにした情報処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。また、このポイントクラウドのジオメトリデータ(位置情報)について、Octreeをノードグループ(node group)に分割するフラグをシグナルすることにより、デコードの並列化等を実現する方法や、一部のノードグループを復号する方法が考えられた(例えば非特許文献2参照)。
 また、ポイントクラウドのアトリビュートデータ(属性情報)について、周辺のポイントのアトリビュートデータを用いて処理対象のポイントの予測値を導出し、処理対象のポイントのアトリビュートデータとその予測値との差分値を符号化する方法が考えられた。このような符号化方式として、例えば、Liftingと称する方法が考えられた(例えば非特許文献3参照)。このような符号化方式の場合、予測値を導出するためにアトリビュートデータを参照するポイントを設定するために、近傍点探索が実行される。
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 David Flynn, Khaled Mammou, "G-PCC: A hierarchical geometry slice structure", ISO/IEC JCTC1/SC29/WG11 MPEG/m54677, April 2020, Online 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
 しかしながら、非特許文献3に記載の方法では、探索対象とするポイントが制限されていなかった。そのため、例えば、アトリビュートデータの木構造においてノードグループを形成する場合、復号しないノードグループに属するノードも探索の対象となるおそれがあった。それにより、アトリビュートデータの復号が破綻するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、より確実にアトリビュートデータを復号することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の前記ノードの内、復号の際に処理対象ノードよりも先に復号される前記ノードのみを対象として、前記処理対象ノードの前記アトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、前記処理対象ノードの前記アトリビュートデータと、前記近傍点探索部による前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値との差分値を符号化する符号化部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の前記ノードの内、復号の際に処理対象ノードよりも先に復号される前記ノードのみを対象として、前記処理対象ノードの前記アトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、前記処理対象ノードの前記アトリビュートデータと、前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値との差分値を符号化する情報処理方法である。
 本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、前記アトリビュートデータと前記アトリビュートデータの予測値との差分値が符号化された符号化データを復号し、前記処理対象ノードの前記差分値を導出する復号部と、前記木構造の前記ノードの内、前記復号部により前記処理対象ノードよりも先に復号された前記ノードのみを対象として、前記処理対象ノードの前記予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、前記復号部により導出された前記差分値と、前記近傍点探索部による前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値とを加算することにより、前記処理対象ノードの前記アトリビュートデータを復元する復元部と、前記復元部により復元された復号対象領域の前記ポイントの前記アトリビュートデータと、前記ポイントのジオメトリデータとを対応付ける対応付け部とを備える情報処理装置である。
 本技術の他の側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、前記アトリビュートデータと前記アトリビュートデータの予測値との差分値が符号化された符号化データを復号し、前記処理対象ノードの前記差分値を導出し、前記木構造の前記ノードの内、前記処理対象ノードよりも先に復号された前記ノードのみを対象として、前記処理対象ノードの前記予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、導出された前記差分値と、前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値とを加算することにより、前記処理対象ノードの前記アトリビュートデータを復元し、復元された復号対象領域の前記ポイントの前記アトリビュートデータと、前記ポイントのジオメトリデータとを対応付ける情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノードの内、復号の際に処理対象ノードよりも先に復号されるノードのみを対象として、処理対象ノードのアトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索が実行され、その処理対象ノードのアトリビュートデータと、近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値との差分値が符号化される。
 本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、アトリビュートデータとそのアトリビュートデータの予測値との差分値が符号化された符号化データが復号され、その処理対象ノードの差分値が導出され、その木構造のノードの内、処理対象ノードよりも先に復号されたノードのみを対象として、処理対象ノードの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索が実行され、その導出された差分値と、その近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値とが加算されることにより、処理対象ノードのアトリビュートデータが復元され、復元された復号対象領域のポイントのアトリビュートデータと、そのポイントのジオメトリデータとが対応付けられる。
木構造およびスライス構造の例について説明する図である。 アトリビュートデータの階層化方法の例を説明する図である。 ジオメトリデータのスライス構造の例について説明する図である。 アトリビュートデータの参照対象の例について説明する図である。 近傍点探索の方法の例について説明する図である。 LoD間参照用の探索対象の例について説明する図である。 LoD間参照用の探索対象の例について説明する図である。 LoD内参照用の探索対象の例について説明する図である。 ジオメトリデータの一部のスライスを復号する場合の例について説明する図である。 アトリビュートデータの一部のスライスを復号する場合の例について説明する図である。 対応付けの方法の例について説明する図である。 対応付けの方法の例について説明する図である。 対応付けの方法の例について説明する図である。 符号化装置の主な構成例を示すブロック図である。 アトリビュートデータ符号化部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 アトリビュートデータ符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 アトリビュートデータ復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 アトリビュートデータ復号処理の流れの例を説明するフローチャートである。 ポイントクラウド生成処理の流れの例を説明するフローチャートである。 ポイントクラウド生成処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.近傍点探索の制限
 2.対応付けの制限
 3.第1の実施の形態(符号化装置)
 4.第2の実施の形態(復号装置)
 5.付記
 <1.近傍点探索の制限>
  <技術内容と技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、3Dデータとして、立体構造物(3次元形状のオブジェクト)を多数のポイントの集合として表現するポイントクラウドが存在した。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各点の位置情報(ジオメトリとも称する)と属性情報(アトリビュートとも称する)とにより構成される。アトリビュートは任意の情報を含みうる。例えば、各ポイントの色情報、反射率情報、法線情報等を含み得る。このようにポイントクラウドは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
 ポイントクラウドデータはそのデータ量が比較的大きい。また、ポイント数の増大に比例してそのデータ量も増大する。そのため、例えばポイントクラウドデータを伝送したり、記憶したりする際の負荷が増大する。そこで、データ量低減のために、ボクセル(Voxel)化が考えられた。ボクセルは、ジオメトリ(位置情報)を量子化するための3次元領域である。
 つまり、ポイントクラウドを内包する3次元領域(バウンディングボックス(Bounding box)とも称する)をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
 ジオメトリの解像度(すなわち、ポイントの数)は、このボクセルの大きさ(換言するに、ボクセルの数)に依存する。ボクセルサイズが小さい(ボクセルが多い)程、ポイント数が増大するので、ジオメトリの解像度は高くなる。
 このような特性を利用して、ボクセルを再帰的に分割することができるようにして、ジオメトリを木構造化することが考えられた。このような方法によりジオメトリの解像度を可変とすることができる。つまり、木構造の最下位層に対応する最高解像度だけでなく、木構造の中間階層に対応する低解像度でもジオメトリを表現することができる。
 また、ポイントクラウドデータを伝送する際や、記憶したりする際の負荷の増大を抑制するために、ポイントクラウドデータを符号化・復号する方法が考えられた。例えば、ポイントクラウドデータを伝送する際、送信側においてポイントクラウドデータを符号化してビットストリームを生成し、そのビットストリームを伝送し、受信側においてそのビットストリームを復号してポイントクラウドデータを生成する。このようにすることにより、伝送時のデータ量を低減させることができ、負荷の増大を抑制することができる。ポイントクラウドデータを記憶する場合も同様である。
 上述のように、ポイントクラウドはジオメトリとアトリビュートにより構成される。つまり、ジオメトリとアトリビュートのそれぞれのデータが符号化・復号される。
 ジオメトリのデータ(ジオメトリデータとも称する)は、上述の木構造に従って符号化することにより、ジオメトリの符号化データを解像度についてスケーラブルに復号することができる。つまり、復号処理において解像度についてのスケーラビリティを実現することができる。例えば、木構造の最上位層から任意の階層までのノードのみを復号する(それより下位層のノードを復号しない)といった部分的な復号が可能になる。つまり、ジオメトリの全ての符号化データを復号しなくても、必要な部分のみを復号することにより、所望の解像度のジオメトリを得ることができる。
  <ノードグループ化>
 ところで、非特許文献2において、このポイントクラウドの木構造(Octree)をノードグループ(node group)に分割するフラグをシグナルする方法が開示された。この方法により、ノードグループ毎に独立に復号が可能になる。したがって、例えば、デコード処理をノードグループ毎に分けて並列化することができる。また、一部のノードグループのみをデコードすることもできる。例えば、3次元領域の部分領域毎にノードグループを分けることにより、一部の領域のジオメトリのみを復号することができる。つまり、復号処理において、領域についてのスケーラビリティを実現することができる。つまり、ジオメトリの全ての符号化データを復号しなくても、必要な部分のみを復号することにより、所望の領域のジオメトリを得ることができる。
 このノードグループのことをスライスとも称する。つまり、スライスは、ジオメトリの木構造のノードをグループ化したものである。ジオメトリデータは、このスライス毎に独立に符号化され得る。換言するに、ジオメトリデータの符号化データは、このスライス毎に独立に復号され得る。ジオメトリの木構造は、どのような木構造であってもよい。例えば、OctreeやKD Treeであってもよいし、それ以外であってもよい。
 ジオメトリデータに設定されたスライス構造の他の例を図1に示す。図1において、細線の実線が木構造を示し、その実践の分岐点がノードを示す。太線で囲まれるノード群が1つのスライスを形成している。LoDは、木構造の階層を示す。
 つまり、LoD0乃至LoD4の全体のノードがスライス1に属する。LoD5乃至LoD7の領域1(グレー地の領域)のノードがスライス2に属する。LoD5乃至LoD7の領域2(白地の領域)のノードがスライス3に属する。LoD5乃至LoD7の領域3(グレー地の領域)のノードがスライス4に属する。LoD5乃至LoD7の領域4(白地の領域)のノードがスライス5に属する。
 点線矢印は、符号化や復号の順を示している。例えば、LoD0乃至LoD4の各ノードは、領域全体について上位層から下位層に向かう順に階層毎に符号化される。LoD5乃至LoD7の各ノードは、領域1乃至領域4の領域毎に、上位層から下位層に向かう順に階層毎に符号化される。復号順も同様である。
 このようなスライス構造が形成される場合、一部のスライスのみを復号することができる。例えば、LoD7の解像度で領域3のポイントのジオメトリデータが必要な場合、スライス1とスライス4のノードを復号すればよい。換言するに、その場合、スライス2、スライス3、およびスライス5のノードの復号は不要である。このようにすることにより、LoD7の全ノードを復号する場合に比べて、復号処理の処理量を低減させることができる。
  <リフティング>
 これに対してアトリビュートについて、符号化による劣化を含めジオメトリを既知であるものとして、点間の位置関係を利用して符号化したり、復号したりする方法が考えられた。このようなアトリビュートの符号化方法として、RAHT(Region Adaptive Hierarchical Transform)や、非特許文献2に記載のようなLiftingと称する変換を用いる方法が考えられた。これらの技術を適用することにより、ジオメトリのOctreeのように、アトリビュートを階層化することもできる。
 例えばLiftingの場合、各ポイントのアトリビュートデータは、他のポイントのアトリビュートデータを参照して導出される予測値との差分値として符号化される。例えば2次元として説明する。図2のAにおいて各丸がポイントを示している。ポイント群が、このような位置関係にあるとする。各ポイントのアトリビュートデータは、図2のBに示される矢印のように、他のポイントのアトリビュートデータを参照して導出した予測値との差分値として符号化されたり、復号されたりする。
 ジオメトリデータの場合と同様に、各ポイントのアトリビュートデータを階層化(木構造化)することにより、アトリビュートデータのスケーラブルな復号を実現することができる。さらに、このアトリビュートの木構造をジオメトリの木構造に対応させることにより、ポイントクラウドデータのスケーラブルな復号を実現することができる。その場合、ジオメトリを用いて各ポイントのアトリビュートデータを階層化すればよい。
 例えば、図2のCに示されるように、ポイントが存在するボクセルが属する1つ上位の階層(LoD)のボクセルに属性情報が残るように予測ポイントを選択する。図2のCにおいて四角がボクセルを示し、丸がポイントを示す。ボクセル20が4分割されて1つ下位層のボクセルが形成され、その右下のボクセルが4分割されてさらに1つ下位層のボクセルが形成されている。その一番下の階層のボクセルの4つのポイント(3つの白のポイントと1つのグレーのポイント)の内のいずれか1つのボクセルのポイント(グレーのポイント)を1つ上位の階層のボクセルに残す。つまり、ボクセル20を4分割したボクセルにおいては、1つの黒のポイントと3つのグレーのポイントが残る。同様に、その内の1つ(黒のポイント)を1つ上位の階層のボクセル(つまりボクセル20)に残す。このようにアトリビュートデータを階層化することにより、アトリビュートデータについても、ジオメトリデータと同様の階層構造(木構造)を形成することができる。
  <近傍点探索>
 図2のBのように他のポイント(近傍点)のアトリビュートデータを参照して処理対象ポイントのアトリビュートの予測値を導出するために、アトリビュートデータを参照する近傍点の探索(近傍点探索とも称する)が実行される。なお、この予測値導出のための参照の仕方として、処理対象ポイントが属するLoDと異なるLoDに属するポイントを参照するインター参照(LoD間参照とも称する)と、処理対象ポイントと同一のLoDに属するポイントを参照するイントラ参照(LoD内参照とも称する)とがある。
  <アトリビュートのノードグループ化>
 ところで、上述したように、ジオメトリデータは木構造をノードグループ化(スライス分割)することができる。図3にそのスライス構造の例を示す。図3の例の場合、上位の2LoDは、全領域が1つにスライス化されている(スライス#1)。これに対して下位の2LoDは、2領域に分割され、各領域がスライス化されている(スライス#2、スライス#3)。例えば、最下位層のノードA乃至ノードDは、スライス#2に属し、ノードE乃至ノードGは、スライス#3に属している。
 このようなスライス分割と同様に、アトリビュートデータにおいてもノードグループ化(スライス分割)することが考えられる。これにより、アトリビュートデータを、符号化処理や復号処理を並列化したり、一部のスライスのみを復号したりすることができるようにすることが期待される。図4にその場合のアトリビュートデータのスライス構造の例を示す。図4においてノードA乃至ノードGは、それぞれ図3に対応する。図4の例の場合、図3のジオメトリデータの場合と同様に、上位の2LoDは、全領域が1つにスライス化されている(スライス#4)。これに対して下位の2LoDは、2領域に分割され、各領域がスライス化されている(スライス#5、スライス#6)。
 しかしながら、非特許文献2に記載のアトリビュートの符号化方法および復号方法は、そのようなスライス構造に対応していなかった。
 例えば、各ノードのアトリビュートデータはLoD毎に復号され、近傍点探索の対象が制限されていないので、全領域のポイントのアトリビュートデータが近傍点探索の対象となる。そのため、復号対象でない領域のポイント(つまり、復号しないスライスに属するノード)のアトリビュートデータを参照してしまうおそれがあった。
 例えば、図4の例においてノードFを復号対象とした場合、非特許文献2に記載の方法では、インター参照のときの近傍点探索の対象は、1点鎖線の枠内のノードとなる。つまり、ノードA乃至ノードGの中では、ノードA、ノードD、ノードE、およびノードGが探索対象となる。また、イントラ参照の時の近傍点探索の対象は、2点鎖線の枠内のノードとなる。つまり、ノードA乃至ノードGの中では、ノードBおよびノードCが探索対象となる。
 図4のようにスライス分割されている場合、ノードFを復号するには、少なくともスライス#4およびスライス#6を復号すればよい。換言するに、スライス#5を復号しなくてもよい。しかしながら、非特許文献2に記載の方法の場合、上述のように、スライス#5のノードも参照するおそれがあった。その場合、スライス毎の独立した復号ができなくなり、アトリビュートデータを復号することができなくなるおそれがあった。
 そこで、図5の表の最上段に示されるように、スライス分割が適用されたアトリビュートデータの木構造(アトリビュートツリーとも称する)において、復号済みのノードのみを対象として近傍点探索をするようにする(方法1)。この復号済みのノードとは、復号の際に処理対象ノードよりも先に復号されるノードのことである。また、「復号済みのノードのみを対象として近傍点探索をする」とは、木構造のノードの内、「復号済みのノード」を近傍点探索の対象とし、その他のノード(復号済みでないノード)を近傍点探索の対象としないことを示す。
 例えば、情報処理方法において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノードの内、復号の際に処理対象ノードよりも先に復号されるノードのみを対象として、その処理対象ノードのアトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、その処理対象ノードのアトリビュートデータと、その近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値との差分値を符号化するようにする。
 例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノードの内、復号の際に処理対象ノードよりも先に復号されるノードのみを対象として、その処理対象ノードのアトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、その処理対象ノードのアトリビュートデータと、その近傍点探索部による近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値との差分値を符号化する符号化部とを備えるようにする。
 例えば、情報処理方法において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、アトリビュートデータとそのアトリビュートデータの予測値との差分値が符号化された符号化データを復号し、その処理対象ノードの差分値を導出し、その木構造のノードの内、その処理対象ノードよりも先に復号されたノードのみを対象として、その処理対象ノードの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、その導出された差分値と、その近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値とを加算することにより、その処理対象ノードのアトリビュートデータを復元するようにする。
 例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、アトリビュートデータとそのアトリビュートデータの予測値との差分値が符号化された符号化データを復号し、その処理対象ノードの差分値を導出する復号部と、その木構造のノードの内、その復号部により処理対象ノードよりも先に復号されたノードのみを対象として、その処理対象ノードの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、その復号部により導出された差分値と、その近傍点探索部による近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値とを加算することにより、処理対象ノードのアトリビュートデータを復元する復元部とを備えるようにする。
 なお、「処理対象ノードよりも先に復号される(または復号された)ノードのみを対象として、」「近傍点探索を実行する」とは、「木構造のノードの内、」「処理対象ノードよりも先に復号される(または復号された)ノード」を対象とし、その他のノードを対象から除外して、近傍点探索を行うことを示す。近傍点探索の対象を以上のように制限することにより、アトリビュートデータをスライス毎に独立に復号することができ、より確実にアトリビュートデータを復号することができる。
 なお、アトリビュートデータの木構造は、ジオメトリデータに基づいて階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。
 例えば、アトリビュートデータの木構造は、ジオメトリデータに基づいて、処理対象階層のポイントが存在するボクセルが属する1つ上位階層のボクセルにもポイントが存在するように階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。
 また、ジオメトリデータが、ジオメトリの解像度に基づいて階層化された木構造を形成し、アトリビュートデータの木構造の各ノードが、そのジオメトリデータの木構造の各ノードに対応してもよい。さらに、ジオメトリデータの木構造に、互いに独立に符号化可能なノードグループであるスライスが形成され、アトリビュートデータの木構造に形成されるスライスの構造が、そのジオメトリデータの木構造に形成されるスライスの構造に対応するようにしてもよい。
 このようにアトリビュートデータの木構造をジオメトリデータの木構造に対応させることにより、ポイントクラウドデータのスケーラブルな復号を実現することができる。また、アトリビュートデータのスライス構造をジオメトリデータのスライス構造に対応させることにより、ポイントクラウドデータをスライス毎に独立に復元することができる。
  <インター参照>
 図5の表の上から2段目に示されるように、LoD間参照(インター参照)のための近傍点探索を、復号済みのノードを対象として実行するようにしてもよい(方法1-1)。例えば、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードよりも上位階層の、復号の際にその処理対象ノードよりも先に復号されるノードのみを対象として、近傍点探索を実行するようにしてもよい。または、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードよりも上位階層の、復号部によりその処理対象ノードよりも先に復号されたノードのみを対象として、近傍点探索を実行するようにしてもよい。
 このようにすることにより、復号の際にインター参照が適用されるアトリビュートデータを、スライス毎に独立に復号することができ、より確実にアトリビュートデータを復号することができる。
  <スライス構造に基づくインター参照のための近傍点探索対象制限>
 そのインター参照のための近傍点探索として、図5の表の上から3段目に示されるように、復号済みのスライスに属するノードを対象として近傍点探索を実行するようにしてもよい(方法1-1-1)。この復号済みのスライスとは、復号の際に処理対象ノードよりも先に復号されるスライス(のノード)のことである。
 例えば、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号の際にその処理対象ノードよりも先に復号される、その処理対象ノードよりも上位階層のノードと、復号の際に処理対象ノードが属するスライスよりも先に復号されるスライスに属するノードとのみを対象として、近傍点探索を実行するようにしてもよい。または、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号部によりその処理対象ノードよりも先に復号された、その処理対象ノードよりも上位階層のノードと、復号部によりその処理対象ノードが属するスライスよりも先に復号されたスライスに属するノードとのみを対象として、近傍点探索を実行するようにしてもよい。
 この場合、例えば、図4の木構造においてノードFを復号対象とすると、図6に示される1点鎖線の枠内のノードを対象として、インター参照のための近傍点探索が実行される。つまり、ノードA乃至ノードGの中では、ノードA、ノードE、およびノードGが探索対象とされる。換言するに、ノードB乃至ノードD、つまり、スライス#5に属するノードが、近傍点探索の対象外とされる(アトリビュートデータを参照するノードに設定しないようになされる)。
 したがって、この場合、アトリビュートデータをスライス毎に独立に復号することができ、より確実にアトリビュートデータを復号することができる。
  <木構造に基づくインター参照のための近傍点探索対象制限>
 また、インター参照のための近傍点探索として、図5の表の上から4段目に示されるように、アトリビュートデータの木構造の先祖ノードを対象として近傍点探索を実行するようにしてもよい(方法1-1-2)。ここで先祖ノードとは、アトリビュートデータの木構造において、処理対象ノードが直接的または間接的に属する上位LoDのノードである。例えば、図7に示される木構造の場合、ノード間の直線がノード同士の親子関係を示している。あるノード(基準ノード)からより上位LoDに向かう方向に、この直線により直接的または間接的に処理対象ノードに接続されるノードを、基準ノードの先祖ノードと称する。
 直接的に接続されるノードとは、あるノードに対して、その直線によって他のノードを介さずに接続されるノードのことを示す。例えば、ノードEがノードFに直接的に接続されるノードである。間接的に接続されるノードとは、あるノードに対して、その直線によって他のノードを介して接続されるノードのことを示す。例えば、ノードGがノードFに間接的に接続されるノードである(ノードE等を介して接続されている)。つまり、このノードEやノードGは、ノードFの先祖ノードである。
 なお、ノードA乃至ノードD等も間接的にノードFに接続されていると言えるが(ノードG等を介して接続されている)、これらのノードは、ノードGに対してより下位LoDに属する。つまり、ノードFからみて上位LoDに向かう方向に(間接的に)接続されたノードではないので、ノードFの先祖ノードではない。
 例えば、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードの先祖ノードのみを対象として、近傍点探索を実行するようにしてもよい。
 つまり、この場合、例えば図4の木構造においてノードFを復号対象とすると、図7に示される1点鎖線の枠内のノードを対象として、インター参照のための近傍点探索が実行される。つまり、ノードA乃至ノードGの中では、ノードEおよびノードGが探索対象とされる。換言するに、ノードA乃至ノードDが近傍点探索の対象外とされる(アトリビュートデータを参照するノードに設定しないようになされる)。つまりこの場合も、スライス#5に属するノードが、近傍点探索の対象外とされる。なお、例えば、スライス#5に属するノードCを復号対象とすると、図7に示される2点鎖線の枠内のノードを対象として、インター参照のための近傍点探索が実行される。つまり、ノードA乃至ノードGの中では、ノードA、ノードD、およびノードGが探索対象とされる。換言するに、ノードB、ノードE、およびノードFが近傍点探索の対象外とされる(アトリビュートデータを参照するノードに設定しないようになされる)。つまりこの場合、スライス#6に属するノードが、近傍点探索の対象外とされる。
 したがって、この場合、アトリビュートデータをスライス毎に独立に復号することができ、より確実にアトリビュートデータを復号することができる。
  <イントラ参照>
 図5の表の上から5段目に示されるように、LoD内参照(イントラ参照)のための近傍点探索を、復号済みのノードを対象として実行するようにしてもよい(方法1-2)。例えば、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造の、処理対象ノードと同一階層のノードの内、復号の際にその処理対象ノードよりも先に復号されるノードのみを対象として、近傍点探索を実行するようにしてもよい。または、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードと同一階層の、復号部によりその処理対象ノードよりも先に復号されたノードのみを対象として、近傍点探索を実行するようにしてもよい。
 このようにすることにより、復号の際にイントラ参照が適用されるアトリビュートデータを、スライス毎に独立に復号することができ、より確実にアトリビュートデータを復号することができる。
  <スライス構造に基づくイントラ参照のための近傍点探索対象制限>
 そのイントラ参照のための近傍点探索として、図5の表の最下段に示されるように、処理対象スライスの処理対象LoD内の復号済みノードを対象として近傍点探索を実行するようにしてもよい(方法1-2-1)。処理対象スライスとは、処理対象ノードが属するスライスのことである。処理対象LoDとは、処理対象ノードが属するLoDのことである。復号済みノードとは、復号の際に処理対象ノードよりも先に復号されるノードのことである。
 例えば、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号の際にその処理対象ノードよりも先に復号される、その処理対象ノードと同一階層のノードのみを対象として、近傍点探索を実行するようにしてもよい。または、情報処理装置において、近傍点探索部が、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号部によりその処理対象ノードよりも先に復号された、その処理対象ノードと同一階層のノードのみを対象として、近傍点探索を実行するようにしてもよい。
 この場合、例えば、図4の木構造においてノードFを復号対象とすると、図8に示される2点鎖線の枠内のノードを対象として、イントラ参照のための近傍点探索が実行される。つまり、この場合、スライス#6内の最下位LoDのノードが探索対象とされる。換言するに、ノードBおよびノードC、つまり、スライス#5に属するノードが、近傍点探索の対象外とされる(アトリビュートデータを参照するノードに設定しないようになされる)。
 したがって、この場合、アトリビュートデータをスライス毎に独立に復号することができ、より確実にアトリビュートデータを復号することができる。
 <2.対応付けの制限>
  <ジオメトリとアトリビュートの対応付け>
 ところで、ジオメトリデータが復号され、アトリビュートデータが復号されると、そのジオメトリデータとアトリビュートデータの対応付けが実行される。つまり、ポイント毎にジオメトリとアトリビュートがまとめられ(紐付けされ)、ポイントクラウドデータが生成される。
 しかしながら、アトリビュートデータを復号する際に、上述したようにスライス分割して復号すると、ジオメトリとの対応が取れないおそれがあった。
 例えば、図9に示されるように、ジオメトリデータのスライス#1およびスライス#3を復号し、スライス#2を復号しないとする。この場合、復号されるジオメトリデータの数は、図9に示されるように、上位LoDから下位LoDに向かって、1点、2点、2点、3点となる。
 これに対して、図10に示されるように、アトリビュートデータのスライス#4およびスライス#6を復号し、スライス#5を復号しないとする。このばあい、復号されるアトリビュートデータの数は、図10に示されるように、上位LoDから下位LoDに向かって、1色、2色、3色、4色となる。つまり、下位2LoDにおいて、復号されたジオメトリデータの数とアトリビュートデータの数が一致しない。そのため、下位2LoDについては、ジオメトリデータとアトリビュートデータの対応付けができず、ポイントクラウドデータを生成することができないおそれがあった。
  <スライス構造に基づく対応付け制限>
 そこで、図11の表の最上段に示されるように、ジオメトリデータとアトリビュートデータとの対応付け(つまり、ポイントクラウドデータの生成)において、復号対象領域のアトリビュートをジオメトリと対応付けるようにする(方法2)。復号対象領域とは、復号対象のスライスに対応する領域(そのスライスに属するノードに対応するポイントが位置する領域)のことである。
 例えば、情報処理方法において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、アトリビュートデータとそのアトリビュートデータの予測値との差分値が符号化された符号化データを復号し、その処理対象ノードの差分値を導出し、その木構造のノードの内、その処理対象ノードよりも先に復号されたノードのみを対象として、その処理対象ノードの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、その導出された差分値と、その近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値とを加算することにより、処理対象ノードのアトリビュートデータを復元し、その復元された復号対象領域のポイントのアトリビュートデータと、そのポイントのジオメトリデータとを対応付けるようにする。
 例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、アトリビュートデータとそのアトリビュートデータの予測値との差分値が符号化された符号化データを復号し、その処理対象ノードの差分値を導出する復号部と、その木構造のノードの内、その復号部により処理対象ノードよりも先に復号されたノードのみを対象として、その処理対象ノードの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、その復号部により導出された差分値と、その近傍点探索部による近傍点探索によって設定された参照ポイントのアトリビュートデータを用いて導出された予測値とを加算することにより、処理対象ノードのアトリビュートデータを復元する復元部と、その復元部により復元された復号対象領域のポイントのアトリビュートデータと、そのポイントのジオメトリデータとを対応付ける対応付け部とを備えるようにする。
 このようにすることにより、より確実にジオメトリデータとアトリビュートデータの対応付けを実行することができ、より確実にポイントクラウドデータを生成することができる。
  <対応付け後に除去>
 図11の表の上から2段目に示されるように、非復号対象領域のジオメトリデータも含めて対応付けし、その後、ジオメトリに基づいて非復号対象領域のポイントを除去するようにしてもよい(方法2-1)。ここで、非復号対象領域とは、復号対象でないスライスに属するノードに対応するポイントが位置する領域のことを示す。換言するに、非復号対象領域とは、復号対象のスライスに属するノードに対応するポイントが位置しない領域のことを示す。なお、復号対象のスライスに属するノードに対応するポイントが位置する領域は、復号対象領域と称する。
 例えば、図11の表の上から3段目に示されるように、ジオメトリデータとアトリビュートデータとを対応付けた後、すなわち、ポイントクラウドデータの生成後、復号済みのジオメトリを用いて非復号対象領域のポイントを除去するようにしてもよい(方法2-1-1)。
 例えば、情報処理装置において、対応付け部が、復元部により復元された全てのポイントのアトリビュートデータとジオメトリデータとを対応付け、そのアトリビュートデータとジオメトリデータとが対応付けられたポイントの内、非復号対象領域のポイントを除去するようにしてもよい。
 この場合、例えば、図10のようにスライス#4およびスライス#6が復号されたアトリビュートデータに対して、図12に示されるようにノードAも含めたジオメトリデータを対応付ける。このようにすることにより、図12に示されるように、下位の2LoDにおいてもジオメトリデータとアトリビュートデータの数が一致するので、それらの対応付けが可能になる。そして、対応付けの後、ジオメトリデータに基づいて、非復号対象領域のポイントを除去することにより、このノードAを除去することができる。
 つまり、このようにすることにより、復号対象領域のポイントのみが残る。したがって、より確実にジオメトリデータとアトリビュートデータの対応付けを実行することができ、より確実にポイントクラウドデータを生成することができる。
  <対応付け前に除去>
 図11の表の上から4段目に示されるように、非復号対象領域のアトリビュートデータを除去してから、ジオメトリデータとアトリビュートデータとを対応付けるようにしてもよい(方法2-2)。例えば、図11の表の最下段に示されるように、LoD Generation時にノードと対応付けたジオメトリを用いて、非復号対象領域のアトリビュートデータを除去してから、ジオメトリデータとアトリビュートデータとを対応付けるようにしてもよい(方法2-2-1)。
 例えば、情報処理装置において、対応付け部が、復元部により復元された非復号対象領域のポイントのアトリビュートデータを除去し、その復号対象領域のポイントのアトリビュートデータとジオメトリデータとを対応付けるようにしてもよい。
 この場合、例えば、アトリビュートデータの木構造を構築する際に、アトリビュートデータの各ノードにジオメトリが対応付けられる。最下位のLoDの各ノードには、中間解像度のジオメトリデータ(つまり、同一のLoDのジオメトリデータ)が対応付けられる。そして、アトリビュートデータとジオメトリデータを対応付ける(つまり、ポイントクラウドデータを生成する)前に、その各ノードのジオメトリを用いて、図13のように、非復号対象領域のポイントのアトリビュートデータを除去する。図13の例の場合、ノードAのジオメトリが復号対象領域に位置するので、ノードAが除去される。これにより、最下位層が3色となり、ジオメトリデータとアトリビュートデータの数が一致する。
 したがって、ジオメトリデータとアトリビュートデータとを対応付けることができる。つまり、このようにすることにより、より確実にジオメトリデータとアトリビュートデータの対応付けを実行することができ、より確実にポイントクラウドデータを生成することができる。
 <3.第1の実施の形態>
  <符号化装置>
 図14は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図14に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100には、本技術(例えば図1乃至図13を参照して説明した各種方法等)を適用し得る。
 なお、図14においては、処理部やデータの流れ等の主なものを示しており、図14に示されるものが全てとは限らない。つまり、符号化装置100において、図14においてブロックとして示されていない処理部が存在したり、図14において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図14に示されるように符号化装置100は、ジオメトリデータ符号化部101、ジオメトリデータ復号部102、ポイントクラウド生成部103、アトリビュートデータ符号化部104、およびビットストリーム生成部105を有する。
 ジオメトリデータ符号化部101は、符号化装置100に入力されたポイントクラウド(3Dデータ)の位置情報を符号化し、ジオメトリデータの符号化データを生成する。この符号化方法は任意である。例えば、ノイズ抑制(デノイズ)のためのフィルタリングや量子化等の処理が行われるようにしてもよい。ジオメトリデータ符号化部101は、生成した符号化データをジオメトリデータ復号部102およびビットストリーム生成部105に供給する。
 ジオメトリデータ復号部102は、ジオメトリデータ符号化部101から供給される符号化データを取得する。ジオメトリデータ復号部102は、その符号化データを復号し、ジオメトリデータを生成する。この復号方法は、ジオメトリデータ符号化部101による符号化に対応する方法であれば任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。ジオメトリデータ復号部102は、生成したジオメトリデータ(復号結果)をポイントクラウド生成部103に供給する。
 ポイントクラウド生成部103は、符号化装置100に入力されるポイントクラウドのアトリビュートデータと、ジオメトリデータ復号部102から供給されるジオメトリデータ(復号結果)とを取得する。ポイントクラウド生成部103は、そのアトリビュートデータをジオメトリデータ(復号結果)に合わせる処理(リカラー処理)を行う。ポイントクラウド生成部103は、ジオメトリデータ(復号結果)に対応させたアトリビュートデータをアトリビュートデータ符号化部104に供給する。
 アトリビュートデータ符号化部104は、ポイントクラウド生成部103から供給されるポイントクラウドデータ(ジオメトリデータ(復号結果)およびアトリビュートデータ)を取得する。アトリビュートデータ符号化部104は、そのジオメトリデータ(復号結果)を用いて、アトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。アトリビュートデータ符号化部104は、生成した符号化データをビットストリーム生成部105に供給する。
 ビットストリーム生成部105は、ジオメトリデータ符号化部101から供給されるジオメトリデータの符号化データを取得する。また、ビットストリーム生成部105は、アトリビュートデータ符号化部104から供給されるアトリビュートデータの符号化データを取得する。ビットストリーム生成部105は、これらの符号化データを多重化し、これらの符号化データを含むビットストリームを生成する。ビットストリーム生成部105は、生成したビットストリームを符号化装置100の外部に出力する。このビットストリームは、例えば、任意の通信媒体や任意の記憶媒体を介して、復号側装置(例えば後述する復号装置)に供給される。
 このような符号化装置100において、アトリビュートデータ符号化部104には、<1.近傍点探索の制限>において上述した本技術を適用し得る。つまり、その場合、アトリビュートデータ符号化部104は、<1.近傍点探索の制限>において上述した本技術を適用した方法により、アトリビュートデータを符号化する。
 このような構成とすることにより、符号化装置100は、アトリビュートデータを、スライス毎に独立に復号することができるように符号化することができる。したがって、より確実にアトリビュートデータを復号することができる。
 なお、これらの処理部(ジオメトリデータ符号化部101乃至ビットストリーム生成部105)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <アトリビュートデータ符号化部>
 図15は、アトリビュートデータ符号化部104(図14)の主な構成例を示すブロック図である。なお、図15においては、処理部やデータの流れ等の主なものを示しており、図15に示されるものが全てとは限らない。つまり、アトリビュートデータ符号化部104において、図15においてブロックとして示されていない処理部が存在したり、図15において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図15に示されるようにアトリビュートデータ符号化部104は、階層化部131、スライス構造生成部132、近傍点探索部133、予測処理部134、量子化部135、および符号化部136を有する。
 階層化部131は、アトリビュートデータの階層化(LoD Generation)に関する処理を実行する。例えば、階層化部131は、ポイントクラウド生成部103から供給されるアトリビュートデータおよびジオメトリデータ(復号結果)を取得する。階層化部131は、そのジオメトリデータを用いてアトリビュートデータを階層化する。例えば、階層化部131は、ジオメトリデータと同様の木構造を生成するように、アトリビュートデータを階層化する。階層化部131は、階層化したアトリビュートデータを、ジオメトリデータとともにスライス構造生成部132に供給する。
 スライス構造生成部132は、スライス構造の生成に関する処理を実行する。例えば、スライス構造生成部132は、階層化部131から供給されるアトリビュートデータおよびジオメトリデータを取得する。スライス構造生成部132は、アトリビュートデータに対してスライス分割を実行し、スライス構造を生成する。つまり、スライス構造生成部132は、アトリビュートデータの木構造のノードをグループ分けし、ノードグループを形成する。その際、スライス構造生成部132は、ジオメトリデータを用いて(つまり、ポイントのジオメトリに基づいて)、各ノードを領域毎に分けるように、スライス分割を行う。例えば、スライス構造生成部132は、ジオメトリデータと同様のスライス構造となるように、アトリビュートデータのスライス構造を生成する。スライス構造生成部132は、スライス構造を生成したアトリビュートデータを、ジオメトリデータとともに近傍点探索部133に供給する。
 近傍点探索部133は、処理対象ポイントの予測値を導出するためにアトリビュートデータを参照する近傍点の探索に関する処理を実行する。例えば、近傍点探索部133は、スライス構造生成部132から供給されるアトリビュートデータとジオメトリデータとを取得する。また、近傍点探索部133は、そのジオメトリデータに基づいて近傍点探索を実行する。
 近傍点探索部133は、<1.近傍点探索の制限>において上述した本技術を適用して、近傍点探索を実行する。例えば、近傍点探索部133が、<アトリビュートのノードグループ化>において上述したように、ポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノードの内、復号の際に処理対象ノードよりも先に復号されるノードのみを対象として、その処理対象ノードのアトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行してもよい。
 なお、アトリビュートデータの木構造は、ジオメトリデータに基づいて階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。例えば、アトリビュートデータの木構造は、ジオメトリデータに基づいて、処理対象階層のポイントが存在するボクセルが属する1つ上位階層のボクセルにもポイントが存在するように階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。また、ジオメトリデータが、ジオメトリの解像度に基づいて階層化された木構造を形成し、アトリビュートデータの木構造の各ノードが、そのジオメトリデータの木構造の各ノードに対応してもよい。さらに、ジオメトリデータの木構造に、互いに独立に符号化可能なノードグループであるスライスが形成され、アトリビュートデータの木構造に形成されるスライスの構造が、そのジオメトリデータの木構造に形成されるスライスの構造に対応してもよい。
 また、近傍点探索部133が、<インター参照>において上述したように、アトリビュートデータの木構造の、処理対象ノードよりも上位階層のノードの内、復号の際にその処理対象ノードよりも先に復号されるノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部133が、<スライス構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号の際にその処理対象ノードよりも先に復号される、その処理対象ノードよりも上位階層のノードと、復号の際に処理対象ノードが属するスライスよりも先に復号されるスライスに属するノードとのみを対象として、近傍点探索を実行してもよい。
 また、そのインター参照のための近傍点探索として、近傍点探索部133が、<木構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードの先祖ノードのみを対象として、近傍点探索を実行してもよい。
 さらに、近傍点探索部133が、<イントラ参照>において上述したように、アトリビュートデータの木構造の、処理対象ノードと同一階層のノードの内、復号の際にその処理対象ノードよりも先に復号されるノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部133が、<スライス構造に基づくイントラ参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号の際にその処理対象ノードよりも先に復号される、その処理対象ノードと同一階層のノードのみを対象として、近傍点探索を実行してもよい。
 近傍点探索部133は、その探索結果を、アトリビュートデータおよびジオメトリデータとともに予測処理部134に供給する。
 予測処理部134は、アトリビュートデータの予測に関する処理を実行する。例えば、予測処理部134は、近傍点探索部133から供給される近傍点探索の探索結果、アトリビュートデータ、およびジオメトリデータを取得する。予測処理部134は、それらの情報を用いて、処理対象ノードのアトリビュートデータの予測値を導出する。例えば、予測処理部134は、探索された近傍点を親ノードまたは祖父母ノードに設定し、それらのノードのアトリビュートデータを用いて処理対象ノードのアトリビュートデータの予測値を導出する。
 また、予測処理部134は、処理対象ノードについて、そのアトリビュートデータと、導出した予測値との差分値を導出する。そして、予測処理部134は、導出した差分値を量子化部135に供給する。
 量子化部135は、予測処理部134から供給され差分値を取得する。量子化部135は、その差分値を量子化する。量子化部135は、量子化された差分値を、符号化部136に供給する。
 符号化部136は、量子化部135から供給される、量子化された差分値を取得する。符号化部136は、その量子化された差分値を符号化し、アトリビュートデータ(差分値)の符号化データを生成する。この符号化方法は任意である。符号化部136は、生成した符号化データをビットストリーム生成部105(図14)に供給する。
 以上のように、近傍点探索部133が、本技術を適用して近傍点探索を実行することにより、符号化装置100(アトリビュートデータ符号化部104)は、アトリビュートデータを、スライス毎に独立に復号することができるように符号化することができる。したがって、より確実にアトリビュートデータを復号することができる。
 なお、これらの処理部(階層化部131乃至符号化部136)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 次に、この符号化装置100により実行される処理について説明する。符号化装置100は、符号化処理を実行することによりポイントクラウドのデータを符号化する。この符号化処理の流れの例を、図16のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置100のジオメトリデータ符号化部101は、ステップS101において、入力されたポイントクラウドのジオメトリデータを符号化し、ジオメトリデータの符号化データを生成する。
 ステップS102において、ジオメトリデータ復号部102は、ステップS101において生成された符号化データを復号し、ジオメトリデータを生成する。
 ステップS103において、ポイントクラウド生成部103は、入力されたポイントクラウドのアトリビュートデータと、ステップS102において生成されたジオメトリデータ(復号結果)とを用いて、リカラー処理を行い、アトリビュートデータをジオメトリデータに対応させる。
 ステップS104において、アトリビュートデータ符号化部104は、アトリビュートデータ符号化処理を実行することにより、ステップS103においてリカラー処理されたアトリビュートデータを符号化し、アトリビュートデータの符号化データを生成する。
 ステップS105において、ビットストリーム生成部105は、ステップS101において生成されたジオメトリデータの符号化データと、ステップS104において生成されたアトリビュートデータの符号化データとを含むビットストリームを生成し、出力する。
 ステップS105の処理が終了すると符号化処理が終了する。
 このような符号化処理のステップS104において実行されるアトリビュートデータ符号化処理には、<1.近傍点探索の制限>において上述した本技術を適用し得る。つまり、その場合、アトリビュートデータ符号化部104は、<1.近傍点探索の制限>において上述した本技術を適用した方法によりアトリビュートデータ符号化処理を実行し、アトリビュートデータを符号化する。
 このように各ステップの処理を行うことにより、符号化装置100は、アトリビュートデータを、スライス毎に独立に復号することができるように符号化することができる。したがって、より確実にアトリビュートデータを復号することができる。
  <アトリビュートデータ符号化処理の流れ>
 次に、図16のステップS104において実行されるアトリビュートデータ符号化処理の流れの例を、図17のフローチャートを参照して説明する。
 アトリビュートデータ符号化処理が開始されると、アトリビュートデータ符号化部104の階層化部131は、ステップS131において、ジオメトリデータの階層構造に対応するように、アトリビュートデータを階層化する。
 ステップS132において、スライス構造生成部132は、アトリビュートデータのスライス構造を生成する。
 ステップS133において、近傍点探索部133は、ジオメトリデータに基づいて、処理対象ポイントの予測値を導出するためにアトリビュートデータを参照する近傍点を探索する。
 その際、近傍点探索部133は、<1.近傍点探索の制限>において上述した本技術を適用して、近傍点探索を実行する。例えば、近傍点探索部133が、<アトリビュートのノードグループ化>において上述したように、ポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノードの内、復号の際に処理対象ノードよりも先に復号されるノードのみを対象として、その処理対象ノードのアトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行してもよい。
 なお、アトリビュートデータの木構造は、ジオメトリデータに基づいて階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。例えば、アトリビュートデータの木構造は、ジオメトリデータに基づいて、処理対象階層のポイントが存在するボクセルが属する1つ上位階層のボクセルにもポイントが存在するように階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。また、ジオメトリデータが、ジオメトリの解像度に基づいて階層化された木構造を形成し、アトリビュートデータの木構造の各ノードが、そのジオメトリデータの木構造の各ノードに対応してもよい。さらに、ジオメトリデータの木構造に、互いに独立に符号化可能なノードグループであるスライスが形成され、アトリビュートデータの木構造に形成されるスライスの構造が、そのジオメトリデータの木構造に形成されるスライスの構造に対応してもよい。
 また、近傍点探索部133が、<インター参照>において上述したように、アトリビュートデータの木構造の、処理対象ノードよりも上位階層のノードの内、復号の際にその処理対象ノードよりも先に復号されるノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部133が、<スライス構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号の際にその処理対象ノードよりも先に復号される、その処理対象ノードよりも上位階層のノードと、復号の際に処理対象ノードが属するスライスよりも先に復号されるスライスに属するノードとのみを対象として、近傍点探索を実行してもよい。
 また、そのインター参照のための近傍点探索として、近傍点探索部133が、<木構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードの先祖ノードのみを対象として、近傍点探索を実行してもよい。
 さらに、近傍点探索部133が、<イントラ参照>において上述したように、アトリビュートデータの木構造の、処理対象ノードと同一階層のノードの内、復号の際にその処理対象ノードよりも先に復号されるノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部133が、<スライス構造に基づくイントラ参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号の際にその処理対象ノードよりも先に復号される、その処理対象ノードと同一階層のノードのみを対象として、近傍点探索を実行してもよい。
 ステップS134において、予測処理部134は、ステップS133の近傍点探索の結果に対応するノード間の参照構造に基づいて処理対象ノードのアトリビュートデータの予測値を導出し、そのアトリビュートデータと予測値との差分値を導出する。
 ステップS135において、量子化部135は、ステップS134において導出された差分値を量子化する。
 ステップS136において、符号化部136は、ステップS135において量子化された差分値を符号化する。
 ステップS136の処理が終了すると、アトリビュートデータ符号化処理が終了する。
 このように各ステップの処理を行うことにより、符号化装置100(アトリビュートデータ符号化部104)は、アトリビュートデータを、スライス毎に独立に復号することができるように符号化することができる。したがって、より確実にアトリビュートデータを復号することができる。
 <4.第2の実施の形態>
  <復号装置>
 図18は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図18に示される復号装置200は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置200には、本技術(例えば図1乃至図13を参照して説明した各種方法等)を適用し得る。
 なお、図18においては、処理部やデータの流れ等の主なものを示しており、図18に示されるものが全てとは限らない。つまり、復号装置200において、図18においてブロックとして示されていない処理部が存在したり、図18において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図18に示されるように復号装置200は、復号対象設定部201、符号化データ抽出部202、ジオメトリデータ復号部203、アトリビュートデータ復号部204、およびポイントクラウド生成部205を有する。
 復号対象設定部201は、復号対象とする階層(LoD)やスライス(ノードグループ)の設定に関する処理を行う。例えば、復号対象設定部201は、符号化データ抽出部202に保持されているポイントクラウドの符号化データについて、どの階層まで復号するか、どのスライスを復号するか等、復号対象とする階層や領域について設定する。この復号対象とする階層やスライスの設定の方法は任意である。
 例えば、復号対象設定部201が、ユーザやアプリケーション等の外部から供給される階層やスライスに関する指示に基づいて設定するようにしてもよい。また、復号対象設定部201が、出力画像等、任意の情報に基づいて復号対象とする階層やスライスを求め、設定するようにしてもよい。
 例えば、復号対象設定部201が、ポイントクラウドから生成する2次元画像の視点位置、方向、画角、視点の動き(移動、パン、チルト、ズーム)等に基づいて、復号対象とする階層やスライスを設定するようにしてもよい。
 なお、この復号対象の設定のデータ単位は任意である。例えば、復号対象設定部201は、ポイントクラウド全体について階層やスライスを設定することもできる。また、復号対象設定部201は、オブジェクト毎に階層やスライスを設定することもできる。さらに、復号対象設定部201は、オブジェクト内の部分領域毎に階層やスライスを設定することもできる。もちろん、これらの例以外のデータ単位で階層やスライスを設定することもできる。
 符号化データ抽出部202は、復号装置200に入力されるビットストリームを取得し、保持する。符号化データ抽出部202は、復号対象設定部201により指定された復号対象範囲内に対応するジオメトリデータおよびアトリビュートデータの符号化データを、その保持しているビットストリームから抽出する。符号化データ抽出部202は、抽出したジオメトリデータの符号化データをジオメトリデータ復号部203に供給する。符号化データ抽出部202は、抽出したアトリビュートデータの符号化データをアトリビュートデータ復号部204に供給する。
 ジオメトリデータ復号部203は、符号化データ抽出部202から供給されるジオメトリデータの符号化データを取得する。ジオメトリデータ復号部203は、その符号化データを復号し、ジオメトリデータ(復号結果)を生成する。この復号方法は、符号化装置100のジオメトリデータ復号部102の場合と同様の方法であれば任意である。ジオメトリデータ復号部203は、生成したジオメトリデータ(復号結果)を、アトリビュートデータ復号部204およびポイントクラウド生成部205に供給する。
 アトリビュートデータ復号部204は、符号化データ抽出部202から供給されるアトリビュートデータの符号化データを取得する。アトリビュートデータ復号部204は、ジオメトリデータ復号部203から供給されるジオメトリデータ(復号結果)を取得する。アトリビュートデータ復号部204は、そのジオメトリデータ(復号結果)を用いて符号化データを復号し、アトリビュートデータ(復号結果)を生成する。アトリビュートデータ復号部204は、生成したアトリビュートデータ(復号結果)をポイントクラウド生成部205に供給する。
 ポイントクラウド生成部205は、ジオメトリデータ復号部203から供給されるジオメトリデータ(復号結果)を取得する。ポイントクラウド生成部205は、アトリビュートデータ復号部204から供給されるアトリビュートデータ(復号結果)を取得する。ポイントクラウド生成部205は、そのジオメトリデータ(復号結果)およびアトリビュートデータ(復号結果)を対応付け、ポイントクラウドデータ(復号結果)を生成する。ポイントクラウド生成部205は、生成したポイントクラウドデータ(復号結果)を復号装置200の外部に出力する。
 このような復号装置200において、アトリビュートデータ復号部204には、<1.近傍点探索の制限>において上述した本技術を適用し得る。つまり、その場合、アトリビュートデータ復号部204は、<1.近傍点探索の制限>において上述した本技術を適用した方法により、アトリビュートデータの符号化データを復号する。
 このような構成とすることにより、復号装置200は、アトリビュートデータを、スライス毎に独立に復号することができるように符号化することができる。したがって、より確実にアトリビュートデータを復号することができる。
 また、ポイントクラウド生成部205には、<2.対応付けの制限>において上述した本技術を適用し得る。つまり、その場合、ポイントクラウド生成部205は、<2.対応付けの制限>において上述した本技術を適用した方法により、ポイントクラウドデータを生成する。
 例えば、ポイントクラウド生成部205が、<スライス構造に基づく対応付け制限>において上述したように、アトリビュートデータ復号部204(後述する復元部236)により復元された復号対象領域のポイントのアトリビュートデータと、そのポイントのジオメトリデータとを対応付けてもよい。
 また、ポイントクラウド生成部205が、<対応付け後に除去>において上述したように、アトリビュートデータ復号部204(後述する復元部236)により復元された全てのポイントのアトリビュートデータとジオメトリデータとを対応付け、そのアトリビュートデータとジオメトリデータとが対応付けられたポイントの内、非復号対象領域のポイントを除去してもよい。
 さらに、ポイントクラウド生成部205が、<対応付け前に除去>において上述したように、アトリビュートデータ復号部204(後述する復元部236)により復元された非復号対象領域のポイントのアトリビュートデータを除去し、その復号対象領域のポイントのアトリビュートデータとジオメトリデータとを対応付けてもよい。
 このような構成とすることにより、復号装置200は、ジオメトリデータとアトリビュートデータとを対応付けることができる。つまり、このようにすることにより、より確実にジオメトリデータとアトリビュートデータの対応付けを実行することができ、より確実にポイントクラウドデータを生成することができる。
 なお、これらの処理部(復号対象設定部201乃至ポイントクラウド生成部205)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <アトリビュートデータ復号部>
 図19は、アトリビュートデータ復号部204(図18)の主な構成例を示すブロック図である。なお、図19においては、処理部やデータの流れ等の主なものを示しており、図19に示されるものが全てとは限らない。つまり、アトリビュートデータ復号部204において、図19においてブロックとして示されていない処理部が存在したり、図19において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図19に示されるようにアトリビュートデータ復号部204は、復号部231、逆量子化部232、階層化部233、スライス構造生成部234、近傍点探索部235、および復元部236を有する。
 復号部231は、復号に関する処理を実行する。例えば、復号部231は、符号化データ抽出部202(図18)から供給されるアトリビュートデータの符号化データを取得する。復号部231は、その符号化データを復号する。この復号により、アトリビュートデータとその予測値との差分値が得られる。なお、この差分値は、量子化されている。また、この復号方法は、符号化装置100の符号化部136(図15)による符号化方法に対応する方法であれば任意である。復号部231は、生成した差分値(量子化された差分値)を逆量子化部232に供給する。
 逆量子化部232は、復号部231から供給される、量子化された差分値を取得する。逆量子化部232は、その量子化された差分値を逆量子化し、差分値を導出する。逆量子化部232は、その差分値を階層化部233に供給する。
 階層化部233は、逆量子化部232から供給される差分値を取得する。階層化部233は、ジオメトリデータ復号部203から供給されるジオメトリデータに基づいて、アトリビュートデータを階層化(木構造化)する。これにより、階層化部233は、アトリビュートデータについて、符号化装置100の場合と同様の木構造を形成する。階層化部233は、階層化した差分値をスライス構造生成部234に供給する。
 スライス構造生成部234は、階層化部233から供給される、階層化された差分値(アトリビュートデータ)を取得する。スライス構造生成部234は、その階層化された差分値(アトリビュートデータ)に対して、スライス構造生成部132と同様に、スライス分割を実行し、スライス構造を生成する。その際、スライス構造生成部234は、ジオメトリデータを用いて(つまり、ポイントのジオメトリに基づいて)、各ノードを領域毎に分けるように、スライス分割を行う。例えば、スライス構造生成部234は、ジオメトリデータと同様のスライス構造となるように、差分値(アトリビュートデータ)のスライス構造を生成する。スライス構造生成部234は、スライス構造を生成した差分値(アトリビュートデータ)を、ジオメトリデータとともに近傍点探索部235に供給する。
 近傍点探索部235は、処理対象ポイントの予測値を導出するためにアトリビュートデータを参照する近傍点の探索に関する処理を実行する。例えば、近傍点探索部235は、スライス構造生成部234から供給される差分値(アトリビュートデータ)とジオメトリデータとを取得する。また、近傍点探索部235は、そのジオメトリデータに基づいて近傍点探索を実行する。
 近傍点探索部235は、<1.近傍点探索の制限>において上述した本技術を適用して、近傍点探索を実行する。例えば、近傍点探索部235が、<アトリビュートのノードグループ化>において上述したように、ポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノード内、復号部231により処理対象ポイントよりも先に復号されたノードのみを対象として、その処理対象ノードの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行してもよい。
 なお、アトリビュートデータの木構造は、ジオメトリデータに基づいて階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。例えば、アトリビュートデータの木構造は、ジオメトリデータに基づいて、処理対象階層のポイントが存在するボクセルが属する1つ上位階層のボクセルにもポイントが存在するように階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。また、ジオメトリデータが、ジオメトリの解像度に基づいて階層化された木構造を形成し、アトリビュートデータの木構造の各ノードが、そのジオメトリデータの木構造の各ノードに対応してもよい。さらに、ジオメトリデータの木構造に、互いに独立に符号化可能なノードグループであるスライスが形成され、アトリビュートデータの木構造に形成されるスライスの構造が、そのジオメトリデータの木構造に形成されるスライスの構造に対応してもよい。
 このようにアトリビュートデータの木構造をジオメトリデータの木構造に対応させることにより、ポイントクラウドデータのスケーラブルな復号を実現することができる。また、アトリビュートデータのスライス構造をジオメトリデータのスライス構造に対応させることにより、ポイントクラウドデータをスライス毎に独立に復元することができる。
 また、近傍点探索部235が、<インター参照>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードよりも上位階層の、復号部231によりその処理対象ノードよりも先に復号されたノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部235が、<スライス構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号部231によりその処理対象ノードよりも先に復号された、その処理対象ノードよりも上位階層のノードと、復号部231によりその処理対象ノードが属するスライスよりも先に復号されたスライスに属するノードとのみを対象として、近傍点探索を実行してもよい。
 また、そのインター参照のための近傍点探索として、近傍点探索部235が、<木構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードの先祖ノードのみを対象として、近傍点探索を実行してもよい。
 さらに、近傍点探索部235が、<イントラ参照>において上述したように、アトリビュートデータの木構造の、処理対象ノードと同一階層のノードの内、復号部231によりその処理対象ノードよりも先に復号されたノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部235が、<スライス構造に基づくイントラ参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号部231によりその処理対象ノードよりも先に復号された、その処理対象ノードと同一階層のノードのみを対象として、近傍点探索を実行してもよい。
 近傍点探索部235は、その探索結果を、アトリビュートデータおよびジオメトリデータとともに復元部236に供給する。
 復元部236は、アトリビュートデータの復元に関する処理を実行する。例えば、復元部236は、近傍点探索部235から供給される近傍点探索の探索結果、差分値(アトリビュートデータ)、およびジオメトリデータを取得する。復元部236は、それらの情報を用いて、処理対象ノードのアトリビュートデータの予測値を導出する。例えば、復元部236は、探索された近傍点を親ノードまたは祖父母ノードに設定し、それらのノードのアトリビュートデータを用いて処理対象ノードのアトリビュートデータの予測値を導出する。
 また、復元部236は、処理対象ノードについて、導出した予測値を差分値に加算し、アトリビュートデータを復元する。そして、復元部236は、導出したアトリビュートデータをポイントクラウド生成部205に供給する。
 以上のように、近傍点探索部235が、本技術を適用して近傍点探索を実行することにより、復号装置200(アトリビュートデータ復号部204)は、アトリビュートデータを、スライス毎に独立に復号することができる。したがって、より確実にアトリビュートデータを復号することができる。
 なお、これらの処理部(復号部231乃至復元部236)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 次に、この復号装置200により実行される処理について説明する。復号装置200は、復号処理を実行することによりポイントクラウドの符号化データを復号する。この復号処理の流れの例を、図20のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200の復号対象設定部201は、ステップS201において、復号対象とするLoDやスライスを設定する。
 ステップS202において、符号化データ抽出部202は、ビットストリームを取得して保持し、ステップS201において設定されたLoDやスライス(すなわち復号対象)のジオメトリデータおよびアトリビュートデータ(差分値)の符号化データを抽出する。
 ステップS203において、ジオメトリデータ復号部203は、ステップS202において抽出された符号化データを復号し、ジオメトリデータ(復号結果)を生成する。
 ステップS204において、アトリビュートデータ復号部204は、アトリビュートデータ復号処理を実行することにより、ステップS202において抽出された符号化データを復号し、差分値(アトリビュートデータ)を生成する。
 ステップS205において、ポイントクラウド生成部205は、ポイントクラウド生成処理を実行し、ステップS203において生成されたジオメトリデータと、ステップS204において生成された差分値(アトリビュートデータ)とを対応付けることにより、ポイントクラウド(復号結果)を生成する。
 ステップS205の処理が終了すると、復号処理が終了する。
 このような復号処理のステップS204において実行されるアトリビュートデータ復号処理には、<1.近傍点探索の制限>において上述した本技術を適用し得る。つまり、その場合、アトリビュートデータ復号部204は、<1.近傍点探索の制限>において上述した本技術を適用した方法によりアトリビュートデータ復号処理を実行し、差分値(アトリビュートデータ)の符号化データを復号する。
 また、ステップS205において実行されるポイントクラウド生成処理には、<2.対応付けの制限>において上述した本技術を適用し得る。つまり、その場合、ポイントクラウド生成部205は、<1.近傍点探索の制限>において上述した本技術を適用した方法によりポイントクラウド生成処理を実行し、復元された復号対象領域のポイントのアトリビュートデータと、そのポイントのジオメトリデータとを対応付け、ポイントクラウドデータを生成する。
 このように各ステップの処理を行うことにより、復号装置200は、アトリビュートデータを、スライス毎に独立に復号することができる。また、復号装置200は、ジオメトリデータとアトリビュートデータとを対応付けることができる。したがって、より確実にアトリビュートデータを復号することができる。
  <アトリビュートデータ復号処理の流れ>
 次に、図20のステップS204において実行されるアトリビュートデータ復号処理の流れの例を、図21のフローチャートを参照して説明する。
 アトリビュートデータ復号処理が開始されると、アトリビュートデータ復号部204の復号部231は、ステップS231において、アトリビュートデータ(差分値)の符号化データを復号し、差分値を生成する。この差分値は、量子化されている。
 ステップS232において、逆量子化部232は、ステップS231において得られた、量子化された差分値を逆量子化し、差分値を得る。
 ステップS233において、階層化部233は、ステップS232において得られた差分値(アトリビュートデータ)を階層化する。例えば、階層化部233は、ジオメトリデータの階層構造に対応するようにその差分値を階層化する。
 ステップS234において、スライス構造生成部234は、ステップS233において階層化された差分値(アトリビュートデータ)に対して、スライス構造生成部132と同様に、スライス分割を実行し、スライス構造を生成する。その際、スライス構造生成部234は、ジオメトリデータを用いて(つまり、ポイントのジオメトリに基づいて)、各ノードを領域毎に分けるように、スライス分割を行う。例えば、スライス構造生成部234は、ジオメトリデータと同様のスライス構造となるように、差分値(アトリビュートデータ)のスライス構造を生成する。
 ステップS235において、近傍点探索部235は、処理対象ポイントの予測値を導出するためにアトリビュートデータを参照する近傍点の探索を実行する。
 その際、近傍点探索部235は、<1.近傍点探索の制限>において上述した本技術を適用して、近傍点探索を実行する。例えば、近傍点探索部235が、<アトリビュートのノードグループ化>において上述したように、ポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造のノード内、復号部231により処理対象ノードよりも先に復号されたノードのみを対象として、その処理対象ノードの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行してもよい。
 なお、アトリビュートデータの木構造は、ジオメトリデータに基づいて階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。例えば、アトリビュートデータの木構造は、ジオメトリデータに基づいて、処理対象階層のポイントが存在するボクセルが属する1つ上位階層のボクセルにもポイントが存在するように階層化された各ポイントのアトリビュートデータをノードとするようにしてもよい。また、ジオメトリデータが、ジオメトリの解像度に基づいて階層化された木構造を形成し、アトリビュートデータの木構造の各ノードが、そのジオメトリデータの木構造の各ノードに対応してもよい。さらに、ジオメトリデータの木構造に、互いに独立に符号化可能なノードグループであるスライスが形成され、アトリビュートデータの木構造に形成されるスライスの構造が、そのジオメトリデータの木構造に形成されるスライスの構造に対応してもよい。
 また、近傍点探索部235が、<インター参照>において上述したように、アトリビュートデータの木構造の、処理対象ノードよりも上位階層のノードの内、復号部231によりその処理対象ノードよりも先に復号されたノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部235が、<スライス構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号部231によりその処理対象ノードよりも先に復号された、その処理対象ノードよりも上位階層のノードと、復号部231によりその処理対象ノードが属するスライスよりも先に復号されたスライスに属するノードとのみを対象として、近傍点探索を実行してもよい。
 また、そのインター参照のための近傍点探索として、近傍点探索部235が、<木構造に基づくインター参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードの先祖ノードのみを対象として、近傍点探索を実行してもよい。
 さらに、近傍点探索部235が、<イントラ参照>において上述したように、アトリビュートデータの木構造の、処理対象ノードと同一階層のノードの内、復号部231によりその処理対象ノードよりも先に復号されたノードのみを対象として、近傍点探索を実行してもよい。
 そのインター参照のための近傍点探索として、近傍点探索部235が、<スライス構造に基づくイントラ参照のための近傍点探索対象制限>において上述したように、アトリビュートデータの木構造のノードの内、処理対象ノードと同一のスライスに属し、復号部231によりその処理対象ノードよりも先に復号された、その処理対象ノードと同一階層のノードのみを対象として、近傍点探索を実行してもよい。
 ステップS236において、復元部236は、ステップS235において実行される近傍点探索の探索結果、ステップS232において得られる差分値(アトリビュートデータ)、およびジオメトリデータを用いて、処理対象ノードのアトリビュートデータの予測値を導出する。例えば、復元部236は、探索された近傍点を親ノードまたは祖父母ノードに設定し、それらのノードのアトリビュートデータを用いて処理対象ノードのアトリビュートデータの予測値を導出する。また、復元部236は、処理対象ノードについて、導出した予測値を差分値に加算し、アトリビュートデータを復元する。
 ステップS236の処理が終了すると、アトリビュートデータ復号処理が終了する。
 このように各ステップの処理を行うことにより、復号装置200(アトリビュートデータ復号部204)は、アトリビュートデータを、スライス毎に独立に復号することができる。したがって、より確実にアトリビュートデータを復号することができる。
  <ポイントクラウド生成処理の流れ1>
 次に、図20のステップS205において実行されるポイントクラウド生成処理の流れの例を、図22のフローチャートを参照して説明する。なお、このフローチャートは、<2.対応付けの制限>の<対応付け後に除去>において説明した例に対応する。
 ポイントクラウド生成処理が開始されると、ポイントクラウド生成部205は、ステップS251において、出力対象外の領域も含めてジオメトリデータとアトリビュートデータとを対応付ける。
 そして、ステップS252において、ポイントクラウド生成部205は、ジオメトリデータに基づいて出力対象外の領域のポイントを削除する。
 ステップS252の処理が終了すると、処理は図20に戻る。
 このようにすることにより、ポイントクラウド生成部205は、<対応付け後に除去>において上述したように、非復号対象領域のポイントを除去し、復号対象領域のポイントを残すことができる。したがって、復号装置200(ポイントクラウド生成部205)は、より確実にジオメトリデータとアトリビュートデータの対応付けを実行することができ、より確実にポイントクラウドデータを生成することができる。
  <ポイントクラウド生成処理の流れ2>
 次に、図20のステップS205において実行されるポイントクラウド生成処理の流れの他の例を、図23のフローチャートを参照して説明する。なお、このフローチャートは、<2.対応付けの制限>の<対応付け前に除去>において説明した例に対応する。
 ポイントクラウド生成処理が開始されると、ポイントクラウド生成部205は、ステップS271において、低解像度のジオメトリデータに基づいて出力対象外の領域のアトリビュートデータを削除する。
 ステップS272において、ポイントクラウド生成部205は、出力対象領域のジオメトリデータとアトリビュートデータとを対応付ける。
 ステップS272の処理が終了すると、処理は図20に戻る。
 このようにすることにより、ポイントクラウド生成部205は、<対応付け前に除去>において上述したように、ジオメトリデータとアトリビュートデータとを対応付けることができる。つまり、このようにすることにより、復号装置200(ポイントクラウド生成部205)は、より確実にジオメトリデータとアトリビュートデータの対応付けを実行することができ、より確実にポイントクラウドデータを生成することができる。
 <5.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図24は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図24に示されるコンピュータ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データの符号化や復号に対して適用することができる。例えば、メッシュ(Mesh)データの符号化や復号において、メッシュデータをポイントクラウドデータに変換し、本技術を適用して符号化・復号を行うようにしてもよい。つまり、上述した本技術と矛盾しない限り、符号化や復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野と用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の前記ノードの内、復号の際に処理対象ノードよりも先に復号される前記ノードのみを対象として、前記処理対象ノードの前記アトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、
 前記処理対象ノードの前記アトリビュートデータと、前記近傍点探索部による前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値との差分値を符号化する符号化部と
 を備える情報処理装置。
 (2) 前記近傍点探索部は、前記木構造の、前記処理対象ノードよりも上位階層の前記ノードの内、前記復号の際に前記処理対象ノードよりも先に復号される前記ノードのみを対象として、前記近傍点探索を実行する
 (1)に記載の情報処理装置。
 (3) 前記近傍点探索部は、前記木構造の前記ノードの内、
  前記処理対象ノードと同一の前記スライスに属し、前記復号の際に前記処理対象ノードよりも先に復号される、前記処理対象ノードよりも上位階層の前記ノードと、
  前記復号の際に前記処理対象ノードが属する前記スライスよりも先に復号される前記スライスに属する前記ノードと
 のみを対象として、前記近傍点探索を実行する
 (2)に記載の情報処理装置。
 (4) 前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードの先祖ノードのみを対象として、前記近傍点探索を実行する
 (2)に記載の情報処理装置。
 (5) 前記近傍点探索部は、前記木構造の、前記処理対象ノードと同一階層の前記ノードの内、前記復号の際に前記処理対象ノードよりも先に復号される前記ノードのみを対象として、前記近傍点探索を実行する
 (1)に記載の情報処理装置。
 (6) 前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードと同一の前記スライスに属し、前記復号の際に前記処理対象ノードよりも先に復号される、前記処理対象ノードと同一階層の前記ノードのみを対象として、前記近傍点探索を実行する
 (5)に記載の情報処理装置。
 (7) 前記木構造は、ジオメトリデータに基づいて階層化された各ポイントの前記アトリビュートデータを前記ノードとする
 (1)乃至(6)のいずれかに記載の情報処理装置。
 (8) 前記木構造は、前記ジオメトリデータに基づいて、処理対象階層の前記ポイントが存在するボクセルが属する1つ上位階層の前記ボクセルにも前記ポイントが存在するように階層化された各ポイントの前記アトリビュートデータを前記ノードとする
 (7)に記載の情報処理装置。
 (9) 前記ジオメトリデータは、ジオメトリの解像度に基づいて階層化された木構造を形成し、
 前記アトリビュートデータの前記木構造の各ノードは、前記ジオメトリデータの前記木構造の各ノードに対応し、
 前記ジオメトリデータの前記木構造には、互いに独立に符号化可能なノードグループであるスライスが形成され、
 前記アトリビュートデータの前記木構造に形成される前記スライスの構造は、前記ジオメトリデータの前記木構造に形成される前記スライスの構造に対応する
 (8)に記載の情報処理装置。
 (10) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の前記ノードの内、復号の際に処理対象ノードよりも先に復号される前記ノードのみを対象として、前記処理対象ノードの前記アトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、
 前記処理対象ノードの前記アトリビュートデータと、前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値との差分値を符号化する
 情報処理方法。
 (11) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、前記アトリビュートデータと前記アトリビュートデータの予測値との差分値が符号化された符号化データを復号し、前記処理対象ノードの前記差分値を導出する復号部と、
 前記木構造の前記ノードの内、前記復号部により前記処理対象ノードよりも先に復号された前記ノードのみを対象として、前記処理対象ノードの前記予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、
 前記復号部により導出された前記差分値と、前記近傍点探索部による前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値とを加算することにより、前記処理対象ノードの前記アトリビュートデータを復元する復元部と、
 前記復元部により復元された復号対象領域の前記ポイントの前記アトリビュートデータと、前記ポイントのジオメトリデータとを対応付ける対応付け部と
 を備える情報処理装置。
 (12) 前記近傍点探索部は、前記木構造の前記ノードの内、
  前記処理対象ノードと同一の前記スライスに属し、前記復号部により前記処理対象ノードよりも先に復号された、前記処理対象ノードよりも上位階層の前記ノードと、
  前記復号部により前記処理対象ノードが属する前記スライスよりも先に復号された前記スライスに属する前記ノードと
 のみを対象として、前記近傍点探索を実行する
 (11)に記載の情報処理装置。
 (13) 前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードの先祖ノードのみを対象として、前記近傍点探索を実行する
 (11)に記載の情報処理装置。
 (14) 前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードと同一の前記スライスに属し、前記復号部により前記処理対象ノードよりも先に復号された、前記処理対象ノードと同一階層の前記ノードのみを対象として、前記近傍点探索を実行する
 (11)に記載の情報処理装置。
 (15) 前記木構造は、ジオメトリデータに基づいて階層化された各ポイントの前記アトリビュートデータをノードとする
 (11)乃至(14)のいずれかに記載の情報処理装置。
 (16) 前記木構造は、前記ジオメトリデータに基づいて、処理対象階層の前記ポイントが存在するボクセルが属する1つ上位階層の前記ボクセルにも前記ポイントが存在するように階層化された各ポイントの前記アトリビュートデータを前記ノードとする
 (15)に記載の情報処理装置。
 (17) 前記ジオメトリデータは、ジオメトリの解像度に基づいて階層化された木構造を形成し、
 前記アトリビュートデータの前記木構造の各ノードは、前記ジオメトリデータの前記木構造の各ノードに対応し、
 前記ジオメトリデータの前記木構造には、互いに独立に符号化可能なノードグループであるスライスが形成され、
 前記アトリビュートデータの前記木構造に形成される前記スライスの構造は、前記ジオメトリデータの前記木構造に形成される前記スライスの構造に対応する
 (16)に記載の情報処理装置。
 (18) 前記対応付け部は、
  前記復元部により復元された全ての前記ポイントの前記アトリビュートデータと前記ジオメトリデータとを対応付け、
  前記アトリビュートデータと前記ジオメトリデータとが対応付けられた非復号対象領域の前記ポイントを除去する
 (17)に記載の情報処理装置。
 (19) 前記対応付け部は、
  前記復元部により復元された非復号対象領域の前記ポイントの前記アトリビュートデータを除去し、
 前記復号対象領域のポイントの前記アトリビュートデータと前記ジオメトリデータとを対応付ける
 (17)に記載の情報処理装置。
 (20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、前記アトリビュートデータと前記アトリビュートデータの予測値との差分値が符号化された符号化データを復号し、前記処理対象ノードの前記差分値を導出し、
 前記木構造の前記ノードの内、前記処理対象ノードよりも先に復号された前記ノードのみを対象として、前記処理対象ノードの前記予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、
 導出された前記差分値と、前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値とを加算することにより、前記処理対象ノードの前記アトリビュートデータを復元し、
 復元された復号対象領域の前記ポイントの前記アトリビュートデータと、前記ポイントのジオメトリデータとを対応付ける
 情報処理方法。
 100 符号化装置, 101 ジオメトリデータ符号化部, 102 ジオメトリデータ復号部, 103 ポイントクラウド生成部, 104 アトリビュートデータ符号化部, 105 ビットストリーム生成部, 131 階層化部, 132 スライス構造生成部, 133 近傍点探索部, 134 予測処理部, 135 量子化部, 136 符号化部, 200 復号装置, 201 復号対象設定部, 202 符号化データ抽出部, 203 ジオメトリデータ復号部, 204 アトリビュートデータ復号部, 205 ポイントクラウド生成部, 231 復号部, 232 逆量子化部, 233 階層化部, 234 スライス構造生成部, 235 近傍点探索部, 236 復元部, 900 コンピュータ

Claims (20)

  1.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の前記ノードの内、復号の際に処理対象ノードよりも先に復号される前記ノードのみを対象として、前記処理対象ノードの前記アトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、
     前記処理対象ノードの前記アトリビュートデータと、前記近傍点探索部による前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値との差分値を符号化する符号化部と
     を備える情報処理装置。
  2.  前記近傍点探索部は、前記木構造の、前記処理対象ノードよりも上位階層の前記ノードの内、前記復号の際に前記処理対象ノードよりも先に復号される前記ノードのみを対象として、前記近傍点探索を実行する
     請求項1に記載の情報処理装置。
  3.  前記近傍点探索部は、前記木構造の前記ノードの内、
      前記処理対象ノードと同一の前記スライスに属し、前記復号の際に前記処理対象ノードよりも先に復号される、前記処理対象ノードよりも上位階層の前記ノードと、
      前記復号の際に前記処理対象ノードが属する前記スライスよりも先に復号される前記スライスに属する前記ノードと
     のみを対象として、前記近傍点探索を実行する
     請求項2に記載の情報処理装置。
  4.  前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードの先祖ノードのみを対象として、前記近傍点探索を実行する
     請求項2に記載の情報処理装置。
  5.  前記近傍点探索部は、前記木構造の、前記処理対象ノードと同一階層の前記ノードの内、前記復号の際に前記処理対象ノードよりも先に復号される前記ノードのみを対象として、前記近傍点探索を実行する
     請求項1に記載の情報処理装置。
  6.  前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードと同一の前記スライスに属し、前記復号の際に前記処理対象ノードよりも先に復号される、前記処理対象ノードと同一階層の前記ノードのみを対象として、前記近傍点探索を実行する
     請求項5に記載の情報処理装置。
  7.  前記木構造は、ジオメトリデータに基づいて階層化された各ポイントの前記アトリビュートデータを前記ノードとする
     請求項1に記載の情報処理装置。
  8.  前記木構造は、前記ジオメトリデータに基づいて、処理対象階層の前記ポイントが存在するボクセルが属する1つ上位階層の前記ボクセルにも前記ポイントが存在するように階層化された各ポイントの前記アトリビュートデータを前記ノードとする
     請求項7に記載の情報処理装置。
  9.  前記ジオメトリデータは、ジオメトリの解像度に基づいて階層化された木構造を形成し、
     前記アトリビュートデータの前記木構造の各ノードは、前記ジオメトリデータの前記木構造の各ノードに対応し、
     前記ジオメトリデータの前記木構造には、互いに独立に符号化可能なノードグループであるスライスが形成され、
     前記アトリビュートデータの前記木構造に形成される前記スライスの構造は、前記ジオメトリデータの前記木構造に形成される前記スライスの構造に対応する
     請求項8に記載の情報処理装置。
  10.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の前記ノードの内、復号の際に処理対象ノードよりも先に復号される前記ノードのみを対象として、前記処理対象ノードの前記アトリビュートデータの予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、
     前記処理対象ノードの前記アトリビュートデータと、前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値との差分値を符号化する
     情報処理方法。
  11.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、前記アトリビュートデータと前記アトリビュートデータの予測値との差分値が符号化された符号化データを復号し、前記処理対象ノードの前記差分値を導出する復号部と、
     前記木構造の前記ノードの内、前記復号部により前記処理対象ノードよりも先に復号された前記ノードのみを対象として、前記処理対象ノードの前記予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行する近傍点探索部と、
     前記復号部により導出された前記差分値と、前記近傍点探索部による前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値とを加算することにより、前記処理対象ノードの前記アトリビュートデータを復元する復元部と、
     前記復元部により復元された復号対象領域の前記ポイントの前記アトリビュートデータと、前記ポイントのジオメトリデータとを対応付ける対応付け部と
     を備える情報処理装置。
  12.  前記近傍点探索部は、前記木構造の前記ノードの内、
      前記処理対象ノードと同一の前記スライスに属し、前記復号部により前記処理対象ノードよりも先に復号された、前記処理対象ノードよりも上位階層の前記ノードと、
      前記復号部により前記処理対象ノードが属する前記スライスよりも先に復号された前記スライスに属する前記ノードと
     のみを対象として、前記近傍点探索を実行する
     請求項11に記載の情報処理装置。
  13.  前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードの先祖ノードのみを対象として、前記近傍点探索を実行する
     請求項11に記載の情報処理装置。
  14.  前記近傍点探索部は、前記木構造の前記ノードの内、前記処理対象ノードと同一の前記スライスに属し、前記復号部により前記処理対象ノードよりも先に復号された、前記処理対象ノードと同一階層の前記ノードのみを対象として、前記近傍点探索を実行する
     請求項11に記載の情報処理装置。
  15.  前記木構造は、ジオメトリデータに基づいて階層化された各ポイントの前記アトリビュートデータをノードとする
     請求項11に記載の情報処理装置。
  16.  前記木構造は、前記ジオメトリデータに基づいて、処理対象階層の前記ポイントが存在するボクセルが属する1つ上位階層の前記ボクセルにも前記ポイントが存在するように階層化された各ポイントの前記アトリビュートデータを前記ノードとする
     請求項15に記載の情報処理装置。
  17.  前記ジオメトリデータは、ジオメトリの解像度に基づいて階層化された木構造を形成し、
     前記アトリビュートデータの前記木構造の各ノードは、前記ジオメトリデータの前記木構造の各ノードに対応し、
     前記ジオメトリデータの前記木構造には、互いに独立に符号化可能なノードグループであるスライスが形成され、
     前記アトリビュートデータの前記木構造に形成される前記スライスの構造は、前記ジオメトリデータの前記木構造に形成される前記スライスの構造に対応する
     請求項16に記載の情報処理装置。
  18.  前記対応付け部は、
      前記復元部により復元された全ての前記ポイントの前記アトリビュートデータと前記ジオメトリデータとを対応付け、
      前記アトリビュートデータと前記ジオメトリデータとが対応付けられた非復号対象領域の前記ポイントを除去する
     請求項17に記載の情報処理装置。
  19.  前記対応付け部は、
      前記復元部により復元された非復号対象領域の前記ポイントの前記アトリビュートデータを除去し、
     前記復号対象領域のポイントの前記アトリビュートデータと前記ジオメトリデータとを対応付ける
     請求項17に記載の情報処理装置。
  20.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの各ポイントのアトリビュートデータをノードとし、互いに独立に符号化可能なノードグループであるスライスが形成される木構造の処理対象ノードの、前記アトリビュートデータと前記アトリビュートデータの予測値との差分値が符号化された符号化データを復号し、前記処理対象ノードの前記差分値を導出し、
     前記木構造の前記ノードの内、前記処理対象ノードよりも先に復号された前記ノードのみを対象として、前記処理対象ノードの前記予測値を導出する際に参照する参照ポイントを設定するための近傍点探索を実行し、
     導出された前記差分値と、前記近傍点探索によって設定された前記参照ポイントの前記アトリビュートデータを用いて導出された前記予測値とを加算することにより、前記処理対象ノードの前記アトリビュートデータを復元し、
     復元された復号対象領域の前記ポイントの前記アトリビュートデータと、前記ポイントのジオメトリデータとを対応付ける
     情報処理方法。
PCT/JP2021/045929 2020-12-28 2021-12-14 情報処理装置および方法 WO2022145214A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP21915075.2A EP4270323A1 (en) 2020-12-28 2021-12-14 Information processing device and method
KR1020237019457A KR20230125186A (ko) 2020-12-28 2021-12-14 정보 처리 장치 및 방법
JP2022572979A JPWO2022145214A1 (ja) 2020-12-28 2021-12-14
US18/265,387 US20240056604A1 (en) 2020-12-28 2021-12-14 Information processing apparatus and method
CN202180086127.8A CN116670721A (zh) 2020-12-28 2021-12-14 信息处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-218500 2020-12-28
JP2020218500 2020-12-28

Publications (1)

Publication Number Publication Date
WO2022145214A1 true WO2022145214A1 (ja) 2022-07-07

Family

ID=82260464

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/045929 WO2022145214A1 (ja) 2020-12-28 2021-12-14 情報処理装置および方法

Country Status (6)

Country Link
US (1) US20240056604A1 (ja)
EP (1) EP4270323A1 (ja)
JP (1) JPWO2022145214A1 (ja)
KR (1) KR20230125186A (ja)
CN (1) CN116670721A (ja)
WO (1) WO2022145214A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117213725A (zh) * 2023-09-12 2023-12-12 国能龙源环保有限公司 火电厂脱硫设备密封检测方法、系统、终端及存储介质
CN117213725B (zh) * 2023-09-12 2024-05-14 国能龙源环保有限公司 火电厂脱硫设备密封检测方法、系统、终端及存储介质

Citations (3)

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

Patent Citations (3)

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

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DAVID FLYNNKHALED MAMMOU: "G-PCC: A hierarchical geometry slice structure", ISO/IEC JCTC1/SC29/WG11 MPEG/M54677, April 2020 (2020-04-01)
KHALED MAMMOUALEXIS TOURAPISJUNGSUN KIMFABRICE ROBINETVALERY VALENTINYEPING SU: "Lifting Scheme for Lossy Attribute Encoding in TMC 1", ISO/IEC JTC1/SC29/WG11 MPEG2018/M42640, April 2018 (2018-04-01)
R. MEKURIAK. BLOMP. CESAR., DESIGN, IMPLEMENTATION AND EVALUATION OF A POINT CLOUD CODEC FOR TELE-IMMERSIVE VIDEO

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117213725A (zh) * 2023-09-12 2023-12-12 国能龙源环保有限公司 火电厂脱硫设备密封检测方法、系统、终端及存储介质
CN117213725B (zh) * 2023-09-12 2024-05-14 国能龙源环保有限公司 火电厂脱硫设备密封检测方法、系统、终端及存储介质

Also Published As

Publication number Publication date
CN116670721A (zh) 2023-08-29
US20240056604A1 (en) 2024-02-15
EP4270323A1 (en) 2023-11-01
JPWO2022145214A1 (ja) 2022-07-07
KR20230125186A (ko) 2023-08-29

Similar Documents

Publication Publication Date Title
JP7384159B2 (ja) 画像処理装置および方法
WO2019198523A1 (ja) 画像処理装置および方法
JP7327166B2 (ja) 画像処理装置および方法
US11943457B2 (en) Information processing apparatus and method
WO2020188932A1 (ja) 情報処理装置および情報生成方法
WO2021140930A1 (ja) 情報処理装置および方法
WO2020262019A1 (ja) 情報処理装置および方法
JP7396302B2 (ja) 画像処理装置および方法
WO2020145143A1 (ja) 情報処理装置および方法
WO2020071115A1 (ja) 画像処理装置および方法
WO2021002214A1 (ja) 情報処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2021010200A1 (ja) 情報処理装置および方法
WO2021010134A1 (ja) 情報処理装置および方法
WO2021140928A1 (ja) 情報処理装置および方法
WO2021261237A1 (ja) 情報処理装置および方法
WO2020262020A1 (ja) 情報処理装置および方法
WO2021095565A1 (ja) 画像処理装置および方法
JP2022036353A (ja) 画像処理装置および方法
JP2022051968A (ja) 情報処理装置および方法

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: 21915075

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022572979

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18265387

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180086127.8

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2021915075

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021915075

Country of ref document: EP

Effective date: 20230728