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

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

Info

Publication number
WO2020262020A1
WO2020262020A1 PCT/JP2020/023041 JP2020023041W WO2020262020A1 WO 2020262020 A1 WO2020262020 A1 WO 2020262020A1 JP 2020023041 W JP2020023041 W JP 2020023041W WO 2020262020 A1 WO2020262020 A1 WO 2020262020A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
information processing
selection unit
information
point
Prior art date
Application number
PCT/JP2020/023041
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 US17/620,429 priority Critical patent/US20220353493A1/en
Priority to CN202080038710.7A priority patent/CN113906477A/zh
Publication of WO2020262020A1 publication Critical patent/WO2020262020A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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
    • 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present disclosure relates to an information processing device and a method, and more particularly to an information processing device and a method capable of realizing the scalability of the number of points of point cloud data.
  • Octree enables not only the scalability of the resolution but also the scalability of the number of points to be output.
  • the number of output points can be further reduced by making the decoding layer (LoD) shallower (discontinuing the decoding process in the higher layer). That is, the amount of information in the point cloud can be reduced, and the load of output processing such as display can be reduced.
  • LiD decoding layer
  • the number of output points can be further increased by making the decoding layer (LoD) deeper (decoding processing is performed down to the lower layer).
  • the point cloud will be able to express the three-dimensional structure more accurately.
  • This disclosure was made in view of such a situation, and makes it possible to realize the scalability of the number of points in the point cloud data.
  • the information processing device decodes the coded data of the point cloud that expresses a three-dimensional object as a point cloud, and generates a tree structure using the position information of each point that constitutes the point cloud. It is an information processing apparatus including a position information decoding unit for selecting an information processing unit and a selection unit for selecting a number of nodes according to the depth of the layer with respect to a part or all of the layers constituting the tree structure.
  • the information processing method of one aspect of the present technology decodes the coded data of the point cloud that expresses a three-dimensional object as a point cloud, and generates a tree structure using the position information of each point constituting the point cloud. This is an information processing method for selecting a number of nodes according to the depth of the hierarchy for a part or all of the hierarchies constituting the tree structure.
  • the coded data of the point cloud that expresses the three-dimensional object as a point cloud is decoded, and the tree using the position information of each point constituting the point cloud is decoded.
  • a structure is generated and a number of nodes are selected for some or all of the hierarchies that make up the tree structure, depending on the depth of that hierarchy.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Non-Patent Document 3 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
  • Non-Patent Document 4 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
  • Non-Patent Document 5 Jianle Chen, Maria Alshina, Gary J.
  • Non-Patent Document 6 Ohji Nakagami, Satoru Kuma, "[G-PCC] Spatial scalability support for G-PCC", ISO / IEC JTC1 / SC29 / WG11 MPEG2019 / m47352, March 2019, Geneva, CH
  • non-patent documents are also the basis for determining the support requirements.
  • Quad-Tree Block Structure described in Non-Patent Document 4 and the QTBT (Quad Tree Plus Binary Tree) Block Structure described in Non-Patent Document 5 are not directly described in the embodiment. It is within the scope of disclosure of this technology and shall meet the support requirements of the scope of claims.
  • technical terms such as Parsing, Syntax, and Semantics are also within the scope of disclosure of the present technology even if there is no direct description in the embodiment. It shall meet the support requirements of the claims.
  • ⁇ Point cloud> Conventionally, a point cloud that represents a three-dimensional structure based on the position information and attribute information of a point cloud, and a mesh that is composed of vertices, edges, and faces and defines a three-dimensional shape using polygonal representation. ) Etc. existed.
  • Point cloud data (also referred to as point cloud data) is composed of position information and attribute information (for example, color, etc.) of each point (each point).
  • Position information (also referred to as geometry data) is information indicating the position (for example, coordinates) of a point.
  • the attribute information (also referred to as attribute data) includes arbitrary information about the point, for example, the color of the point, the reflectance, the normal direction, and the like.
  • 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 position information.
  • the three-dimensional area containing the point cloud is divided into small three-dimensional areas called voxels, and each voxel indicates whether or not the points are included. By doing so, the position of each point is quantized in voxel units. Therefore, by converting the point cloud data into such voxel data (also referred to as voxel data), the increase in the amount of information is suppressed (typically, the amount of information is reduced). Can be done.
  • Octree is a tree-structured version of voxel data.
  • the value of each bit of the lowest node of this Octree indicates the presence or absence of a point for each voxel. For example, a value "1" indicates a voxel containing points, and a value "0" indicates a voxel containing no points.
  • one node corresponds to eight voxels. That is, each node of the Octtree is composed of 8 bits of data, and the 8 bits indicate the presence or absence of points of 8 voxels.
  • the upper node of the Octtree indicates the presence or absence of a point in the area where the eight voxels corresponding to the lower node belonging to the node are combined into one. That is, the upper node is generated by collecting the voxel information of the lower node. If a node with a value of "0", that is, all eight corresponding voxels do not contain points, that node is deleted.
  • Octree can indicate the presence or absence of voxel points at each resolution. Therefore, by converting the voxel data into an Octree and encoding it, it is possible to more easily restore the voxel data having various resolutions at the time of decoding. In other words, voxel scalability can be realized more easily.
  • the voxel in the area where the point does not exist can be reduced in resolution, so that further increase in the amount of information can be suppressed (typically, the amount of information). Can be reduced).
  • the number of points decreases in the higher layer and increases in the lower layer.
  • the scalability of the number of output points becomes possible.
  • the number of output points can be further reduced by making the decoding layer (LoD) shallower (discontinuing the decoding process in the higher layer).
  • This number of points affects the processing load related to the output (for example, display) of point cloud data.
  • the point cloud data is transferred from the CPU (Central Processing Unit) to the GPU (Graphics Processing Unit).
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the number of points does not change significantly regardless of which layer (LoD) the decoding process is stopped.
  • the point cloud is composed of sparse points
  • the Octree has a configuration as shown in FIG. 1, for example.
  • a black circle indicates an Octree node.
  • the black circle at the bottom indicates the leaf.
  • the line between the black circles shows the parent-child relationship.
  • the number of output points is limited according to the depth of the layer to be processed.
  • the coded data of a point cloud that expresses a three-dimensional object as a point cloud is decoded, a tree structure using the position information of each point that constitutes the point cloud is generated, and the tree structure is constructed.
  • position information decoding that decodes the coded data of a point cloud that expresses a three-dimensional object as a point cloud and generates a tree structure using the position information of each point that constitutes the point cloud.
  • a section and a selection section for selecting a number of nodes according to the depth of the hierarchy are provided for a part or all of the hierarchies constituting the tree structure.
  • the output points are selected as shown in FIG. 2 (in other words, the output points are thinned out).
  • the number of points to be output for the geometry data is controlled according to the layer (LoD) to be decoded.
  • the layer (LoD) the layer that is controlled according to the layer (LoD) to be decoded.
  • the scalability of the number of points as described above can be realized.
  • the number of nodes selected in the case of the first layer of Octree is larger than the number of nodes selected in the case of the second layer shallower than the first layer.
  • the node may be selected in the hierarchy to be processed. In other words, the deeper the hierarchy of Octtree, the more nodes may be selected. In other words, the number of selected nodes may be monotonically increased from the shallower hierarchy of the Octree to the deeper hierarchy.
  • the method of selecting the output point is arbitrary as shown in method 1-1 shown in the second row from the top of the table in FIG.
  • points may be selected using pseudo-random numbers as in method 1-1-1 shown in the third row from the top of the table in FIG.
  • pseudo-random numbers various (nearly random) selections can be made, and similar point selections can be made on both the coding side and the decoding side (the same points can be selected).
  • a point in which the number of points in the vicinity region of a predetermined size is equal to or greater than the threshold value It may be selected. That is, the points in the denser state may be preferentially selected. Also in this method, the same point selection can be performed on both the coding side and the decoding side (the same point can be selected).
  • the number of points to be output is as shown in method 1-2 shown in the fifth row from the top of the table in FIG.
  • the target value target number of output points
  • point selection may be performed until the number of output points reaches the target value (using pseudo-random numbers).
  • the method for setting the target number of output points in that case is arbitrary.
  • the target number of output points may be preset for each layer as in the method 1-2-1-1 shown in the seventh row from the top of the table in FIG. That is, among the predetermined number of target output points for each layer, the number of target output points corresponding to the layer to be processed is set, and points are selected using pseudo-random numbers until the target number of output points is reached. You may be asked.
  • the target number of output points is specified for each layer by the user, the application, or the like. May be good. That is, among the target output points for each specified layer, the target output points corresponding to the layer to be processed are set, and points are selected using pseudo-random numbers until the target output points are reached. You may be asked.
  • the target number of output points may be specified by a function by the user, the application, or the like. Good. That is, the target number of output points corresponding to the layer to be processed may be derived using the specified function, and points may be selected using pseudo-random numbers until the target number of output points is reached. ..
  • control method for the number of output points when selecting points using pseudo-random numbers is arbitrary and is not limited to these examples.
  • the probability of occurrence may be weighted according to the depth of the hierarchy, and the probability of occurrence weighted according to the hierarchy may be reflected in the selection of points.
  • the setting method of the seed information is optional as shown in method 1-2-2 shown in the tenth column from the top of the table in FIG. It may be.
  • the species information may be set in advance.
  • the species information may be set by the user, the application, or the like.
  • a predetermined function for deriving seed information may be specified by a user, an application, or the like.
  • the number of points in the neighboring region is equal to or greater than the threshold value as in method 1-1-2, as in method 1-3 shown in the eleventh column from the top of the table in FIG.
  • the threshold value may be selected according to the depth of the hierarchy.
  • the threshold setting method in that case is arbitrary.
  • the threshold value may be set in advance for each layer. That is, even if a threshold value corresponding to the layer to be processed is set from the predetermined threshold values for each layer, and points having a number of points equal to or greater than the threshold value are selected in the neighboring area. Good.
  • the threshold value may be specified for each layer by the user, the application, or the like. That is, even if a threshold value corresponding to the layer to be processed is set among the threshold values for each specified layer, and points having a number of points equal to or greater than the threshold value are selected in the neighboring area. Good.
  • the threshold value may be specified by a function by a user, an application, or the like. That is, a threshold value corresponding to the hierarchy to be processed may be derived using the designated function, and points whose number of points exceeds the threshold value may be selected in the neighboring region.
  • the method of setting the range (radius) of the neighboring region is arbitrary.
  • this radius may be set in advance.
  • this radius may be set by the user, application, or the like.
  • a predetermined function for deriving this radius may be specified by the user, application, or the like.
  • parameters related to point selection may be transmitted from the coding side to the decoding side as in method 1-4 shown in the 17th column from the top of the table in FIG.
  • the seed information used to generate the pseudo-random number may be included as metadata, for example, in a bitstream and transmitted from the encoding side to the decoding side. Good. That is, in this case, on the decoding side, the pseudo-random number is derived by using the seed information supplied from the coding side.
  • the target value of the number of output points described above may be included as metadata in, for example, a bit stream and transmitted from the encoding side to the decoding side. That is, in this case, the decoding side selects the output points until the target value of the number of output points supplied from the coding side is reached.
  • the threshold value may be included as metadata in, for example, a bit stream and transmitted from the coding side to the decoding side. .. That is, in this case, the decoding side selects points by using the threshold value supplied from the coding side.
  • the range (radius) of the neighborhood region is included as metadata in, for example, a bit stream and transmitted from the coding side to the decoding side. You may do so. That is, in this case, on the decoding side, the neighborhood region is set by the radius supplied from the coding side.
  • FIG. 4 is a block diagram showing a main configuration example of a point selection device, which is an embodiment of a signal processing device to which the present technology is applied.
  • the point selection device 100 shown in FIG. 4 is a device that controls the number of points to be output according to the layer (LoD) to be decoded for the geometry data. By doing so, the point selection device 100 can realize the scalability of the number of points as described above.
  • FIG. 4 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 point selection device 100, there may be a processing unit that is not shown as a block in FIG. 4, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the point selection device 100 includes a point number setting unit 101, a pseudo-random number generation unit 102, and a point selection unit 103.
  • the point number setting unit 101 performs processing related to setting the number of output points. For example, the point number setting unit 101 acquires the geometry data (octree-ized geometry data) input to the point selection device 100. The point number setting unit 101 sets the number of points to be output for the geometry data according to the layer (LoD) to be processed.
  • the layer LiD
  • the point number setting unit 101 uses the method 1-2-1, the method 1-2-1-1, the method 1-2-1-2, the method 1-2-1-3, and the like in FIG. , Set the target number of output points corresponding to the layer to be processed.
  • the point number setting unit 101 supplies the set target output point number to the point selection unit 103 together with the geometry data.
  • the pseudo-random number generation unit 102 performs processing related to the generation of pseudo-random numbers. For example, the pseudo-random number generator 102 generates a pseudo-random number used for selecting points.
  • the pseudo-random number generator 102 sets the pseudo-random number by using the method 1-2-2 or the like shown in FIG. 3 (that is, using the seed information).
  • the method of setting this kind of information is as described with reference to FIG.
  • the pseudo-random number generation unit 102 supplies the generated pseudo-random number to the point selection unit 103.
  • the point selection unit 103 performs processing related to selection of output points. For example, the point selection unit 103 acquires the geometry data supplied from the point number setting unit 101 and the target number of output points. Further, the point selection unit 103 acquires a pseudo-random number supplied from the pseudo-random number generation unit 102.
  • the point selection unit 103 selects points to be output using such information. For example, the point selection unit 103 uses pseudo-random numbers (that is, using method 1-1-1 in FIG. 3) to select points from the geometry data until the target number of output points is reached. That is, the point selection unit 103 selects a number of nodes constituting the Octree from a part or all the layers of the Octree of the geometry data according to the depth of the layer.
  • pseudo-random numbers that is, using method 1-1-1 in FIG. 3
  • the point selection unit 103 outputs the selected point (geometry data). By doing so, the point selection unit 103 can select and output a number of points according to (depth) of the layer to be processed. That is, the scalability of the number of points can be realized.
  • the point selection device 100 may select points by using the method 1-1-2 of FIG. That is, the point selection device 100 may select points in which the number of points in the vicinity region is equal to or greater than the threshold value (according to the hierarchy to be processed).
  • a processing unit for setting a neighborhood area, a threshold value, or the like may be provided instead of the point number setting unit 101 and the pseudo-random number generation unit 102.
  • 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 point selection device 100 selects points by executing a point selection process. An example of the flow of this point selection process will be described with reference to the flowchart of FIG.
  • the point number setting unit 101 acquires the geometry data (octree-ized geometry data) of the layer (LoD) to be processed in step S101.
  • step S102 the point number setting unit 101 sets the number of points to be output (target value) according to the layer (LoD) to be processed.
  • step S103 the pseudo-random number generator 102 sets the pseudo-random number.
  • step S104 the point selection unit 103 selects a point to be output using the pseudo-random number generated in step S103. At that time, the point selection unit 103 sets the number of points set in step S102 as the target value, and selects the number of points to be output until the target value is reached.
  • step S105 the point selection unit 103 outputs the point selected in step S104.
  • the point selection process is completed.
  • the point selection device 100 can select and output a number of points according to the layer to be processed. Therefore, the scalability of the number of points can be realized more easily.
  • Second Embodiment> ⁇ Encoding device>
  • the present technology can be applied to any device.
  • the present technology can be applied to devices other than the point selection device 100 described with reference to FIG.
  • FIG. 6 is a block diagram showing a main configuration example of a coding device which is an embodiment of a signal processing device to which the present technology is applied.
  • the coding device 200 is a device that encodes 3D data such as a point cloud using voxels and Octree.
  • FIG. 6 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 200, there may be a processing unit that is not shown as a block in FIG. 6, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the coding device 200 includes a geometry coding unit 201, a geometry decoding unit 202, a point cloud generation unit 203, an output point selection unit 204, an attribute coding unit 205, and a bitstream generation unit 206. ..
  • the geometry coding unit 201 performs processing related to coding of geometry data. For example, the geometry coding unit 201 acquires the geometry data of the point cloud data input to the coding device 200. The geometry coding unit 201 encodes the geometry data and generates the coded data. That is, the geometry coding unit 201 encodes an Octree using the geometry data of each point constituting the point cloud, and generates the coded data. The geometry coding unit 201 supplies the generated coded data to the geometry decoding unit 202 and the bitstream generation unit 206.
  • the geometry decoding unit 202 performs processing related to decoding the encoded data of the geometry data. For example, the geometry decoding unit 202 acquires the coded data of the geometry data supplied from the geometry coding unit 201. The geometry decoding unit 202 decodes the coded data by a decoding method corresponding to the coding method applied in the geometry coding unit 201, and generates (restores) the geometry data. That is, the geometry decoding unit 202 decodes the coded data of the point cloud and generates a tree structure (Octree) using the geometry data of each point constituting the point cloud. The geometry decoding unit 202 supplies the generated geometry data (Octree) to the point cloud generation unit 203.
  • the geometry decoding unit 202 supplies the generated geometry data (Octree) to the point cloud generation unit 203.
  • the point cloud generation unit 203 performs processing related to the generation of point cloud data. For example, the point cloud generation unit 203 acquires the attribute data of the point cloud data input to the encoding device 200. Further, the point cloud generation unit 203 acquires the geometry data supplied from the geometry decoding unit 202.
  • Geometry data may change due to processing such as coding and decoding (for example, points may increase or decrease or move). That is, the geometry data supplied from the geometry decoding unit 202 may be different from the geometry data before being encoded by the geometry coding unit 201.
  • the point cloud generation unit 203 performs a process (also referred to as a recolor process) to match the attribute data with the geometry data (decoding result). That is, the point cloud generation unit 203 updates the attribute data so as to correspond to the update of the geometry data.
  • the point cloud generation unit 203 supplies the geometry data and the updated attribute data (attribute data corresponding to the geometry data (decoding result)) to the output point selection unit 204.
  • the output point selection unit 204 performs processing related to selection of output points. For example, the output point selection unit 204 acquires the geometry data and the attribute data supplied from the point cloud generation unit 203.
  • the output point selection unit 204 selects the number of points corresponding to the layer to be processed for the geometry data. That is, the output point selection unit 204 selects a number of nodes according to the depth of the hierarchy in a part or all of the hierarchies constituting the Octtree of the geometry data.
  • the output point selection unit 204 basically has the same configuration as the point selection device 100 (FIG. 4), and performs the same processing (FIG. 5).
  • the output point selection unit 204 can apply various methods described with reference to FIG. Therefore, the output point selection unit 204 can realize the scalability of the number of points.
  • the output point selection unit 204 not only selects points for geometry data, but also selects attribute data. That is, the output point selection unit 204 selects points for geometry data in the same manner as the point selection device 100 described above, and also selects attribute data corresponding to the selected points (geometry data).
  • the output point selection unit 204 supplies the attribute data corresponding to the points selected in this way to the attribute coding unit 205.
  • the attribute coding unit 205 performs processing related to attribute coding. For example, the attribute coding unit 205 acquires the attribute data supplied from the output point selection unit 204. Further, the attribute coding unit 205 encodes the attribute data by a predetermined method and generates coded data of the attribute data. This coding method is arbitrary. The attribute coding unit 205 supplies the coded data of the generated attribute data to the bitstream generation unit 206.
  • the bitstream generation unit 206 performs processing related to bitstream generation. For example, the bitstream generation unit 206 acquires the geometry coding data supplied from the geometry coding unit 201. Further, the bitstream generation unit 206 acquires the coded data of the attribute data supplied from the attribute coding unit 205. The bitstream generation unit 206 generates a bitstream including those coded data. Note that the bitstream generation unit 206 can also include arbitrary information as metadata in the bitstream, if necessary. The bitstream generation unit 206 outputs the generated bitstream to the outside of the encoding device 200.
  • each of these processing units (geometry coding unit 201 to bitstream generation unit 206) of the coding apparatus 200 has an arbitrary configuration.
  • 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 200 encodes the point cloud data 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 coding unit 201 encodes the geometry data in step S201 to generate the coded data of the geometry data.
  • step S202 the geometry decoding unit 202 decodes the coded data generated in step S201 and generates (restores) the geometry data.
  • step S203 the point cloud generation unit 203 performs recolor processing to make the attribute data correspond to the geometry data generated in step S202.
  • step S204 the output point selection unit 204 executes the point selection process and selects a number of points according to the layer (LoD) to be processed. Note that this point selection process can be performed, for example, in the same flow as the flowchart of FIG.
  • the output point selection unit 204 further selects the attribute data corresponding to the selected point (geometry data).
  • step S205 the attribute coding unit 205 encodes the attribute data recolored in step S203.
  • step S206 the bitstream generation unit 206 generates a bitstream including the coded data of the geometry data generated in step S201 and the coded data of the attribute data generated in step S205.
  • step S206 When the process of step S206 is completed, the coding process is completed.
  • the coding device 200 can select a number of points according to the layer (LoD) to be processed. Therefore, the encoding device 200 can realize the scalability of the number of points.
  • FIG. 8 is a block diagram showing a main configuration example of a decoding device according to an embodiment of a signal processing device to which the present technology is applied.
  • the decoding device 300 is a device that decodes coded data in which 3D data such as a point cloud is encoded using voxels and Octree.
  • the decoding device 300 corresponds to, for example, the coding device 200 (FIG. 6), and can correctly decode the coded data generated by the coding device 200.
  • FIG. 8 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 300, there may be a processing unit that is not shown as a block in FIG. 8, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the decoding device 300 includes a geometry decoding unit 301, an output point selection unit 302, an attribute decoding unit 303, and a point cloud generation unit 304.
  • the geometry decoding unit 301 performs processing related to decoding geometry data. For example, the geometry decoding unit 301 acquires the coded data of the point cloud data input to the decoding device 300. This coded data includes both geometry data and attribute data.
  • the geometry decoding unit 301 decodes the coded data of the geometry data and generates the geometry data. That is, the geometry decoding unit 301 decodes the coded data of the point cloud and generates an Octree using the geometry data of each point constituting the point cloud.
  • the geometry decoding unit 301 supplies the generated geometry data and the coded data of the attribute data to the output point selection unit 302.
  • the output point selection unit 302 performs processing related to output point selection. For example, the output point selection unit 302 acquires the geometry data supplied from the geometry decoding unit 301 and the coded data of the attribute data.
  • the output point selection unit 302 selects a number of points corresponding to the layer to be processed for the geometry data. That is, the output point selection unit 302 selects a number of nodes according to the depth of the hierarchy in a part or all of the hierarchies constituting the Octree.
  • the output point selection unit 302 basically has the same configuration as the point selection device 100 (FIG. 4), and performs the same processing (FIG. 5). That is, the output point selection unit 302 can apply various methods described with reference to FIG. Therefore, the output point selection unit 302 can realize the scalability of the number of points.
  • the output point selection unit 302 skips the selection of points for the attribute data.
  • the output point selection unit 302 supplies the geometry data corresponding to the selected point and the coded data of the attribute data to the attribute decoding unit 303.
  • the attribute decoding unit 303 performs processing related to attribute decoding. For example, the attribute decoding unit 303 acquires the coded data of the attribute supplied from the output point selection unit 302. Further, the attribute decoding unit 303 acquires the geometry data supplied from the output point selection unit 302.
  • the attribute decoding unit 303 decodes the acquired encoded data and generates (restores) the attribute data.
  • the attribute data generated by the attribute decoding unit 303 has already been selected as a point to be output by the encoding device 200. That is, this attribute data corresponds to the geometry data supplied from the output point selection unit 302 (geometry data in which the output point is selected). Therefore, the attribute decoding unit 303 supplies the geometry data and the attribute data corresponding to the selected points to the point cloud generation unit 304.
  • the point cloud generation unit 304 performs processing related to the generation of the point cloud. For example, the point cloud generation unit 304 acquires the geometry data and the attribute data supplied from the attribute decoding unit 303. The point cloud generation unit 304 associates the geometry data with the attribute data and generates point cloud data.
  • the attribute data and the geometry data supplied from the attribute decoding unit 303 correspond to the points selected by the output point selection unit 302. That is, the point cloud generation unit 304 generates point cloud data corresponding to the output points.
  • the point cloud generation unit 304 outputs the generated point cloud data to the outside of the decoding device 300.
  • 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 300 decodes the encoded data by executing the decoding process. An example of the flow of the decoding process will be described with reference to the flowchart of FIG.
  • the geometry decoding unit 301 decodes the encoded data of the geometry data in step S301 to generate (restore) the geometry data.
  • step S302 the output point selection unit 302 executes the point selection process and selects a number of points according to the layer (LoD) to be processed from the geometry data generated in step S301.
  • This point selection process can be performed, for example, in the same flow as the flowchart of FIG.
  • step S303 the attribute decoding unit 303 decodes the coded data of the attribute data and generates (restores) the attribute data.
  • This attribute data is the data corresponding to the points selected at the time of encoding. Therefore, this attribute data corresponds to the geometry data obtained by the process of step S302. In other words, these geometry data and attribute data correspond to the points to be output.
  • step S304 the point cloud generation unit 304 generates point cloud data by associating the geometry data corresponding to the point selected in step S302 with the attribute data generated in step S303. That is, the point cloud generation unit 304 generates point cloud data corresponding to the output points.
  • step S304 When the process of step S304 is completed, the decoding process is completed.
  • the decoding device 300 can select a number of points according to the layer (LoD) to be processed. Therefore, the decoding device 300 can realize the scalability of the number of points.
  • the method of encoding / decoding the attribute data is arbitrary.
  • the attribute data may be encoded by using general Lifting or the like.
  • the coded data of the attribute data may be decoded by using the same Lifting or the like.
  • the attribute data may be encoded / decoded in a scalable manner.
  • the attribute data can be encoded and decoded in a scalable manner.
  • Addendum> ⁇ Computer> The series of processes described above can be executed by hardware or by software.
  • the programs constituting the software are installed on the computer.
  • the computer includes a computer embedded in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • FIG. 10 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 914 includes, for example, a network interface.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-described series. Is processed.
  • the RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to the removable media 921 as a package media or the like, for example.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
  • the program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in advance in ROM 902 or storage unit 913.
  • this technology can be applied to any configuration.
  • this technology is a transmitter or receiver (for example, a television receiver or mobile phone) for satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • devices for example, hard disk recorders and cameras
  • a processor as a system LSI (Large Scale Integration) or the like (for example, a video processor), a module using a plurality of processors (for example, a video module), a unit using a plurality of modules (for example, a video unit)
  • a processor as a system LSI (Large Scale Integration) or the like
  • a module using a plurality of processors for example, a video module
  • a unit using a plurality of modules for example, a video unit
  • it can be implemented as a configuration of a part of the device, such as a set (for example, a video set) in which other functions are added to the unit.
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing units, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. The use is also arbitrary.
  • the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. Therefore, the value that this "flag” can take may be, for example, 2 values of 1/0 or 3 or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be 1 bit or a plurality of bits.
  • the identification information (including the flag) is assumed to include not only the identification information in the bit stream but also the difference information of the identification information with respect to a certain reference information in the bit stream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
  • various information (metadata, etc.) regarding the coded data may be transmitted or recorded in any form as long as it is associated with the coded data.
  • the term "associate" means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data.
  • the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
  • the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). Good.
  • this "association" may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part within the frame.
  • the embodiment of the present technology is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present technology.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, and may be executed in parallel or in calls. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • a position information decoding unit that decodes the coded data of the point cloud that expresses a three-dimensional object as a point cloud and generates a tree structure using the position information of each point that constitutes the point cloud.
  • An information processing device including a selection unit that selects a number of nodes according to the depth of the hierarchy with respect to a part or all of the hierarchies constituting the tree structure.
  • the number of the nodes selected in the case of the first layer of the tree structure is larger than the number of the nodes selected in the case of the second layer shallower than the first layer.
  • a position information coding unit that encodes a tree structure using the position information of each point constituting the point cloud and generates the coded data is further provided.
  • the information processing apparatus according to any one of (1) to (11), wherein the position information decoding unit decodes the coded data generated by the position information coding unit to generate the tree structure.
  • the selection unit also selects attribute information corresponding to the selected node from the attribute information of each point constituting the point cloud.
  • the information processing apparatus according to (14) further comprising an attribute information coding unit that encodes the attribute information selected by the selection unit and generates the encoded data.
  • (16) Further includes a bitstream generation unit that generates a bitstream including the coded data generated by the position information coding unit and pseudo-random number seed information used for selecting the node by the selection unit.
  • the information processing apparatus according to any one of (13) to (15).
  • Bitstream generation that generates a bitstream including the coded data generated by the position information coding unit and information on the target number of the nodes selected by the selection unit using pseudo-time random numbers.
  • the information processing apparatus according to any one of (13) to (15), further comprising a unit.
  • (18) A bit stream that generates a bit stream including the coded data generated by the position information coding unit and information on a threshold number of nodes in a neighboring region used for selecting the node by the selection unit.
  • the information processing apparatus according to any one of (13) to (15), further comprising a generation unit.
  • (19) Further includes a bitstream generation unit that generates a bitstream including the coded data generated by the position information coding unit and information on a neighborhood region used for selection of the node by the selection unit (19).
  • the information processing apparatus according to any one of 13) to (15).
  • (20) The coded data of the point cloud that expresses a three-dimensional object as a point cloud is decoded, and a tree structure using the position information of each point constituting the point cloud is generated. An information processing method for selecting a number of nodes according to the depth of the hierarchy for a part or all of the hierarchies constituting the tree structure.
  • 100 point selection device 101 point number setting unit, 102 pseudo-random number generation unit, 103 point selection unit, 200 coding device, 201 geometry coding unit, 202 geometry decoding unit, 203 point cloud generation unit, 204 output point selection unit, 205 attribute coding unit, 206 bitstream generation unit, 300 decoding device, 301 geometry decoding unit, 302 output point selection unit, 303 attribute decoding unit, 304 point cloud generation unit

Abstract

本開示は、ポイントクラウドデータのポイント数のスケーラビリティを実現することができるようにする情報処理装置および方法に関する。 3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、そのポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成し、その木構造を構成する一部または全部の階層に対して、その階層の深さに応じた数のノードを選択する。本開示は、例えば、情報処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、ポイントクラウドデータのポイント数のスケーラビリティを実現することができるようにした情報処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法として、例えばOctreeを用いた符号化があった(例えば、非特許文献1参照)。Octreeを用いることにより、ジオメトリデータは、解像度についてスケーラブルなデコードが可能になる。例えば、任意の階層(LoD(Level of Detail))においてデコード処理を打ち切ることができるので、容易に任意の解像度のジオメトリデータを生成することができる。
 また、ポイントが密な状態の場合、Octreeにより、解像度のスケーラビリティだけでなく、出力するポイント数のスケーラビリティも可能になる。例えば、デコードする階層(LoD)をより浅くする(より上位層においてデコード処理を打ち切る)ことにより、出力するポイント数をより低減させることができる。つまり、ポイントクラウドの情報量を低減させ、表示等の出力処理の負荷を低減させることができる。
 逆に、デコードする階層(LoD)をより深くする(より下位層までデコード処理を行う)ことにより、出力するポイント数をより増大させることができる。つまり、ポイントクラウドがより正確に3次元構造を表現することができるようになる。
 ポイントが密な状態であれば、Octreeを適用することにより、このようなポイント数のスケーラビリティを容易に実現することができる。したがって、より多様な状況においてより適切なデコードを行うことができる。
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
 しかしながら、例えばライダーデータ(LiDAR(Light Detection and Ranging))のように、主に疎な点からなるデータの場合、どの階層(LoD)においてデコード処理を打ち切ってもポイント数が大きく変化しない。したがって、このような場合、従来の方法では、ポイント数のスケーラビリティを実現することが困難であった。
 本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドデータのポイント数のスケーラビリティを実現することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成する位置情報復号部と、前記木構造を構成する一部または全部の階層に対して前記階層の深さに応じた数のノードを選択する選択部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成し、前記木構造を構成する一部または全部の階層に対して前記階層の深さに応じた数のノードを選択する情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データが復号され、そのポイントクラウドを構成する各ポイントの位置情報を用いた木構造が生成され、その木構造を構成する一部または全部の階層に対してその階層の深さに応じた数のノードが選択される。
疎なポイントのOctreeについて説明する図である。 ポイント数のスケーラビリティ化について説明する図である。 ポイント数のスケーラビリティ化の各種方法についてまとめた図である。 ポイント選択装置の主な構成例を示すブロック図である。 ポイント選択処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.ポイント数のスケーラビリティ
 2.第1の実施の形態(ポイント選択装置)
 3.第2の実施の形態(符号化装置)
 4.第3の実施の形態(復号装置)
 5.付記
 <1.ポイント数のスケーラビリティ>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
 非特許文献4:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
 非特許文献5:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
 非特許文献6:Ohji Nakagami, Satoru Kuma, "[G-PCC] Spatial scalability support for G-PCC", ISO/IEC JTC1/SC29/WG11 MPEG2019/m47352, March 2019, Geneva, CH
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献4に記載されているQuad-Tree Block Structure、非特許文献5に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
  <ポイントクラウド>
 従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
 例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点(ポイントとも称する)の集合(点群)として表現する。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各点(各ポイント)の位置情報や属性情報(例えば色等)により構成される。位置情報(ジオメトリデータとも称する)は、ポイントの位置(例えば座標)を示す情報である。属性情報(アトリビュートデータとも称する)は、例えば、ポイントの色、反射率、法線方向等、ポイントに関する任意の情報を含む。このように、ポイントクラウドは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
  <ボクセルを用いた位置情報の量子化>
 このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、位置情報を量子化するための3次元領域である。
 つまり、ポイントクラウドを内包する3次元領域をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド(Point cloud)データをこのようなボクセルのデータ(ボクセル(Voxel)データとも称する)に変換することにより、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
  <Octree>
 さらに、このようなボクセル(Voxel)データを用いてOctreeを構築することが考えられた。Octreeは、ボクセルデータを木構造化したものである。このOctreeの最下位のノードの各ビットの値が、各ボクセルのポイントの有無を示す。例えば、値「1」がポイントを内包するボクセルを示し、値「0」がポイントを内包しないボクセルを示す。Octreeでは、1ノードが8つのボクセルに対応する。つまり、Octreeの各ノードは、8ビットのデータにより構成され、その8ビットが8つのボクセルのポイントの有無を示す。
 そして、Octreeの上位のノードは、そのノードに属する下位ノードに対応する8つのボクセルを1つにまとめた領域のポイントの有無を示す。つまり、下位ノードのボクセルの情報をまとめることにより上位ノードが生成される。なお、値が「0」のノード、すなわち、対応する8つのボクセルが全てポイントを内包しない場合、そのノードは削除される。
 このようにすることにより、値が「0」でないノードからなる木構造(Octree)が構築される。つまり、Octreeは、各解像度のボクセルのポイントの有無を示すことができる。したがって、ボクセルデータをOctree化して符号化することにより、復号の際により多様な解像度のボクセルデータをより容易に復元することができる。つまり、より容易にボクセルのスケーラビリティを実現することができる。
 また、上述のように値が「0」のノードを省略することにより、ポイントが存在しない領域のボクセルを低解像度化することができるので、さらなる情報量の増大の抑制(典型的には情報量の削減)を行うことができる。
  <ポイント数のスケーラビリティ>
 上述のように、Octreeを用いることにより、ジオメトリデータは、解像度についてスケーラブルなデコードが可能になる。例えば、任意の階層(LoD)においてデコード処理を打ち切ることができるので、容易に任意の解像度のジオメトリデータを生成することができる。
 また、ポイントが密な状態であれば(近傍にポイントが多く存在する場合)、Octreeにおいて、より上位層ほどポイント数が低減し、より下位層ほどポイント数が増大する。つまり、Octreeを適用することにより、出力するポイント数のスケーラビリティも可能になる。例えば、デコードする階層(LoD)をより浅くする(より上位層においてデコード処理を打ち切る)ことにより、出力するポイント数をより低減させることができる。
 このポイント数は、ポイントクラウドデータの出力(例えば表示)に関する処理の負荷に影響を及ぼす。例えば、ポイントクラウドを画面にレンダリングする際にポイントクラウドデータはCPU(Central Processing Unit)からGPU(Graphics Processing Unit)に転送される。ポイント数が増大すると情報量が増大する。つまり、CPUからGPUへの転送コストが増大する。
 したがって、上述のようにポイント数のスケーラビリティを実現することにより、この転送コストの制御が可能になる。つまり、表示等の出力処理の負荷を制御することができる。
 しかしながら、例えばライダーデータ(LiDAR(Light Detection and Ranging))のように、主に疎な点からなるデータの場合、どの階層(LoD)においてデコード処理を打ち切ってもポイント数が大きく変化しない。ポイントクラウドが疎なポイントにより構成される場合、そのOctreeは、例えば図1に示されるような構成となる。図1の場合、黒丸がOctreeのノードを示している。最下層の黒丸はリーフを示す。黒丸間の線は親子関係を示す。
 この場合、各ポイントが疎であるため、上から3番目以下の階層においてポイント数Nが変化していない(いずれの階層もN=7である)。したがって、このような場合、従来の方法では、ポイント数のスケーラビリティを実現することが困難であった。つまり、デコードする階層を制御することにより、表示等の出力処理の負荷を制御することは困難であった。
  <出力するポイントの選択>
 そこで、出力するポイント数を処理対象の階層の深さに応じて制限するようにする。例えば、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、そのポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成し、その木構造を構成する一部または全部の階層に対して、その階層の深さに応じた数のノードを選択するようにする。
 例えば、情報処理装置において、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、そのポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成する位置情報復号部と、その木構造を構成する一部または全部の階層に対して、その階層の深さに応じた数のノードを選択する選択部とを備えるようにする。
 例えば、図1に示されるOctreeに対して、図2に示されるように、出力するポイントを選択する(換言するに、出力するポイントを間引く)。この場合、図中、点線白丸で示されるノードは、間引かれたノードを示す。つまり、図2の場合、各階層の出力ポイント数Nは、上位層から順にN=1、3、4、5、7となる。したがって、デコードする階層を制御することによって、出力するポイント数のスケーラビリティが可能になる。
  <ポイント選択方法の詳細例>
 つまり、図3の表の一番上の段に示される方法1のように、ジオメトリデータについて、復号する階層(LoD)に応じて出力するポイント数を制御する。このようにすることにより、上述のようなポイント数のスケーラビリティを実現することができる。例えば、図2の例と同様に、Octreeの第1の階層の場合に選択されるノードの数が、その第1の階層より浅い第2の階層の場合に選択されるノードの数より多くなるように、処理対象の階層においてノードが選択されるようにしてもよい。つまり、Octreeのより深い階層程、より多くのノードが選択されるようにしてもよい。換言するに、選択されるノードの数が、Octreeのより浅い階層からより深い階層に向かう方向に単調増加するようにしてもよい。
 なお、図3の表の上から2番目の段に示される方法1-1のように、出力するポイントの選択方法は任意である。例えば、図3の表の上から3番目の段に示される方法1-1-1のように、擬似乱数を用いてポイントの選択が行われるようにしてもよい。擬似乱数を用いることにより、多様な(ランダムに近い)選択を行うことができるとともに、符号化側と復号側の両方において同様のポイント選択を行うことができる(同一のポイントを選択することができる)。
 また、図3の表の上から4番目の段に示される方法1-1-2のように、擬似乱数を用いる代わりに、所定の大きさの近傍領域内のポイント数が閾値以上のポイントが選択されるようにしてもよい。つまり、より密な状態のポイントを優先的に選択するようにしてもよい。この方法の場合も、符号化側と復号側の両方において同様のポイント選択を行うことができる(同一のポイントを選択することができる)。
 また、例えば、方法1-1-1のように擬似乱数を用いてポイント選択を行う場合、図3の表の上から5番目の段に示される方法1-2のように、出力するポイント数の目標値(目標出力ポイント数)を設定し、出力ポイント数がその目標値に達するまで(擬似乱数を用いた)ポイント選択が行われるようにしてもよい。
 図3の表の上から6番目の段に示される方法1-2-1のように、その場合の目標出力ポイント数の設定方法は任意である。例えば、図3の表の上から7番目の段に示される方法1-2-1-1のように、目標出力ポイント数が階層毎に予め設定されているようにしてもよい。つまり、予め定められた階層毎の目標出力ポイント数の内、処理対象の階層に対応する目標出力ポイント数が設定され、その目標出力ポイント数に達するまで、擬似乱数を用いてポイントの選択が行われるようにしてもよい。
 また、例えば、図3の表の上から8番目の段に示される方法1-2-1-2のように、ユーザやアプリケーション等により、目標出力ポイント数が階層毎に指定されるようにしてもよい。つまり、その指定された階層毎の目標出力ポイント数の内、処理対象の階層に対応する目標出力ポイント数が設定され、その目標出力ポイント数に達するまで、擬似乱数を用いてポイントの選択が行われるようにしてもよい。
 さらに、例えば、図3の表の上から9番目の段に示される方法1-2-1-3のように、ユーザやアプリケーション等により、目標出力ポイント数が関数により指定されるようにしてもよい。つまり、その指定された関数を用いて処理対象の階層に対応する目標出力ポイント数が導出され、その目標出力ポイント数に達するまで、擬似乱数を用いてポイントの選択が行われるようにしてもよい。
 なお、擬似乱数を用いてポイントを選択する場合の、出力ポイント数の制御方法は任意であり、これらの例に限定されない。例えば、階層の深さに応じて発生確率に重みを付け、その階層に応じて重み付けされた発生確率をポイントの選択に反映させるようにしてもよい。
 なお、擬似乱数の生成に種情報(seed)が用いられる場合、図3の表の上から10番目の段に示される方法1-2-2のように、その種情報の設定方法が任意であるようにしてもよい。例えば、方法1-2-1-1の場合と同様に、種情報が予め設定されているようにしてもよい。また、方法1-2-1-2の場合と同様に、ユーザやアプリケーション等により種情報が設定されるようにしてもよい。さらに、方法1-2-1-3のように、ユーザやアプリケーション等により種情報を導出するための所定の関数が指定されるようにしてもよい。
 また、例えば、方法1-1-2のように近傍領域内のポイント数が閾値以上となるポイントを選択する場合、図3の表の上から11番目の段に示される方法1-3のように、その閾値を制御することにより、階層の深さに応じたポイント数の選択が行われるようにしてもよい。
 図3の表の上から12番目の段に示される方法1-3-1のように、その場合の閾値の設定方法は任意である。例えば、図3の表の上から13番目の段に示される方法1-3-1-1のように、閾値が階層毎に予め設定されているようにしてもよい。つまり、予め定められた階層毎の閾値の内、処理対象の階層に対応する閾値が設定され、近傍領域内にその閾値以上の数のポイント数が存在するポイントの選択が行われるようにしてもよい。
 また、例えば、図3の表の上から14番目の段に示される方法1-3-1-2のように、ユーザやアプリケーション等により、閾値が階層毎に指定されるようにしてもよい。つまり、その指定された階層毎の閾値の内、処理対象の階層に対応する閾値が設定され、近傍領域内にその閾値以上の数のポイント数が存在するポイントの選択が行われるようにしてもよい。
 さらに、例えば、図3の表の上から15番目の段に示される方法1-3-1-3のように、ユーザやアプリケーション等により、閾値が関数により指定されるようにしてもよい。つまり、その指定された関数を用いて処理対象の階層に対応する閾値が導出され、近傍領域内にその閾値以上の数のポイント数が存在するポイントの選択が行われるようにしてもよい。
 また、図3の表の上から16番目の段に示される方法1-3-2のように、近傍領域の範囲(半径)の設定方法は任意である。例えば、方法1-3-1-1の場合と同様に、この半径が予め設定されているようにしてもよい。また、方法1-3-1-2の場合と同様に、ユーザやアプリケーション等によりこの半径が設定されるようにしてもよい。さらに、方法1-3-1-3のように、ユーザやアプリケーション等によりこの半径を導出するための所定の関数が指定されるようにしてもよい。
 なお、図3の表の上から17番目の段に示される方法1-4のように、ポイント選択に関するパラメータが、符号化側から復号側に伝送されるようにしてもよい。
 例えば、擬似乱数を用いてポイントの選択が行われる場合、その擬似乱数の生成に用いる種情報がメタデータとして例えばビットストリームに含められて、符号化側から復号側に伝送されるようにしてもよい。つまり、この場合、復号側においては、符号化側から供給される種情報が用いられて擬似乱数が導出される。
 また、上述した出力ポイント数の目標値がメタデータとして例えばビットストリームに含められて、符号化側から復号側に伝送されるようにしてもよい。つまり、この場合、復号側においては、符号化側から供給される出力ポイント数の目標値に達するまで、出力するポイントの選択が行われる。
 また、例えば、近傍領域内のポイント数が閾値以上となるポイントを選択する場合、その閾値がメタデータとして例えばビットストリームに含められて、符号化側から復号側に伝送されるようにしてもよい。つまり、この場合、復号側においては、符号化側から供給される閾値が用いられてポイントの選択が行われる。
 また、例えば、近傍領域内のポイント数が閾値以上となるポイントを選択する場合、その近傍領域の範囲(半径)がメタデータとして例えばビットストリームに含められて、符号化側から復号側に伝送されるようにしてもよい。つまり、この場合、復号側においては、符号化側から供給される半径により近傍領域が設定される。
 以上のように、多様な方法で出力するポイントを選択することができるようにすることにより、より多様なポイントクラウドデータにおいて、ポイント数のスケーラビリティを実現することができる。
 <2.第1の実施の形態>
  <ポイント選択装置>
 図4は、本技術を適用した信号処理装置の一実施の形態であるポイント選択装置の主な構成例を示すブロック図である。図4に示されるポイント選択装置100は、ジオメトリデータについて、復号する階層(LoD)に応じて出力するポイント数を制御する装置である。このようにすることにより、ポイント選択装置100は、上述のようなポイント数のスケーラビリティを実現することができる。
 なお、ここでは、ポイント選択装置100が、擬似乱数を用いてポイントを選択する場合について説明する。
 図4においては、処理部やデータの流れ等の主なものを示しており、図4に示されるものが全てとは限らない。つまり、ポイント選択装置100において、図4においてブロックとして示されていない処理部が存在したり、図4において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図4に示されるように、ポイント選択装置100は、ポイント数設定部101、擬似乱数生成部102、およびポイント選択部103を有する。
 ポイント数設定部101は、出力するポイント数の設定に関する処理を行う。例えば、ポイント数設定部101は、ポイント選択装置100に入力されるジオメトリデータ(Octree化されたジオメトリデータ)を取得する。ポイント数設定部101は、そのジオメトリデータに対して、処理対象の階層(LoD)に応じて、出力するポイント数を設定する。
 例えば、ポイント数設定部101は、図3の方法1-2-1、方法1-2-1-1、方法1-2-1-2、または方法1-2-1-3等を用いて、処理対象の階層に対応する目標出力ポイント数を設定する。
 ポイント数設定部101は、設定した目標出力ポイント数を、ジオメトリデータとともに、ポイント選択部103に供給する。
 擬似乱数生成部102は、擬似乱数の生成に関する処理を行う。例えば、擬似乱数生成部102は、ポイントの選択に用いられる擬似乱数を生成する。
 例えば、擬似乱数生成部102は、図3の方法1-2-2等を用いて(つまり種情報を用いて)、擬似乱数を設定する。この種情報の設定方法は図3を参照して説明した通りである。
 擬似乱数生成部102は、生成した擬似乱数をポイント選択部103に供給する。
 ポイント選択部103は、出力するポイントの選択に関する処理を行う。例えば、ポイント選択部103は、ポイント数設定部101から供給されるジオメトリデータと目標出力ポイント数とを取得する。またポイント選択部103は、擬似乱数生成部102から供給される擬似乱数を取得する。
 ポイント選択部103は、それらの情報を用いて出力するポイントの選択を行う。例えば、ポイント選択部103は、擬似乱数を用いて(つまり、図3の方法1-1-1を用いて)、目標出力ポイント数に達するまで、ジオメトリデータからポイントを選択する。つまり、ポイント選択部103は、ジオメトリデータのOctreeの一部または全部の階層から、そのOctreeを構成する、その階層の深さに応じた数のノードを選択する。
 ポイント選択部103は、選択したポイント(のジオメトリデータ)を出力する。このようにすることにより、ポイント選択部103は、処理対象の階層(の深さ)に応じた数のポイントを選択し、出力することができる。つまり、ポイント数のスケーラビリティを実現することができる。
 なお、勿論、ポイント選択装置100が、図3の方法1-1-2を用いて、ポイントの選択を行うようにしてもよい。つまり、ポイント選択装置100が、近傍領域内のポイント数が(処理対象の階層に応じた)閾値以上のポイントを選択するようにしてもよい。
 その場合、ポイント数設定部101および擬似乱数生成部102の代わりに、近傍領域や閾値等を設定する処理部を設けるようにすればよい。
 なお、ポイント選択装置100のこれらの処理部(ポイント数設定部101乃至ポイント選択部103)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <ポイント選択処理の流れ>
 ポイント選択装置100は、ポイント選択処理を実行することにより、ポイントを選択する。このポイント選択処理の流れの例を、図5のフローチャートを参照して説明する。
 ポイント選択処理が開始されると、ポイント数設定部101は、ステップS101において、処理対象の階層(LoD)のジオメトリデータ(Octree化されたジオメトリデータ)を取得する。
 ステップS102において、ポイント数設定部101は、処理対象の階層(LoD)に応じて、出力するポイント数(の目標値)を設定する。
 ステップS103において、擬似乱数生成部102は、擬似乱数を設定する。
 ステップS104において、ポイント選択部103は、ステップS103において生成された擬似乱数を用いて、出力するポイントを選択する。その際、ポイント選択部103は、ステップS102において設定されたポイント数を目標値とし、その目標値に達するまで、出力するポイント数を選択する。
 ステップS105において、ポイント選択部103は、ステップS104において選択されたポイントを出力する。ステップS105の処理が終了するとポイント選択処理が終了する。
 以上のようにポイント選択処理を実行することにより、ポイント選択装置100は、処理対象の階層に応じた数のポイントを選択し、出力することができる。したがって、より容易にポイント数のスケーラビリティを実現することができる。
 <3.第2の実施の形態>
  <符号化装置>
 本技術は、任意の装置に適用することができる。例えば、本技術は、図4を参照して説明したポイント選択装置100以外のデバイスにも適用することができる。
 図6は、本技術を適用した信号処理装置の一実施の形態である符号化装置の主な構成例を示すブロック図である。この符号化装置200は、ポイントクラウドのような3Dデータをボクセル(Voxel)およびOctreeを用いて符号化する装置である。
 なお、図6においては、処理部やデータの流れ等の主なものを示しており、図6に示されるものが全てとは限らない。つまり、符号化装置200において、図6においてブロックとして示されていない処理部が存在したり、図6において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図6に示されるように符号化装置200は、ジオメトリ符号化部201、ジオメトリ復号部202、ポイントクラウド生成部203、出力ポイント選択部204、アトリビュート符号化部205、およびビットストリーム生成部206を有する。
 ジオメトリ符号化部201は、ジオメトリデータの符号化に関する処理を行う。例えば、ジオメトリ符号化部201は、符号化装置200に入力されるポイントクラウドデータのジオメトリデータを取得する。ジオメトリ符号化部201は、そのジオメトリデータを符号化し、符号化データを生成する。つまり、ジオメトリ符号化部201は、ポイントクラウドを構成する各ポイントのジオメトリデータを用いたOctreeを符号化し、その符号化データを生成する。ジオメトリ符号化部201は、生成した符号化データをジオメトリ復号部202およびビットストリーム生成部206に供給する。
 ジオメトリ復号部202は、ジオメトリデータの符号化データの復号に関する処理を行う。例えば、ジオメトリ復号部202は、ジオメトリ符号化部201から供給されるジオメトリデータの符号化データを取得する。ジオメトリ復号部202は、ジオメトリ符号化部201において適用された符号化方法に対応する復号方法により、その符号化データを復号し、ジオメトリデータを生成(復元)する。つまり、ジオメトリ復号部202は、ポイントクラウドの符号化データを復号し、そのポイントクラウドを構成する各ポイントのジオメトリデータを用いた木構造(Octree)を生成する。ジオメトリ復号部202は、生成したジオメトリデータ(Octree)をポイントクラウド生成部203に供給する。
 ポイントクラウド生成部203は、ポイントクラウドデータの生成に関する処理を行う。例えば、ポイントクラウド生成部203は、符号化装置200に入力されるポイントクラウドデータのアトリビュートデータを取得する。また、ポイントクラウド生成部203は、ジオメトリ復号部202から供給されるジオメトリデータを取得する。
 ジオメトリデータは、符号化や復号等の処理によりデータが変化する場合がある(例えば、ポイントが増減したり、移動したりする可能性がある)。つまり、ジオメトリ復号部202から供給されるジオメトリデータは、ジオメトリ符号化部201により符号化される前のジオメトリデータと異なる場合がある。
 そこでポイントクラウド生成部203は、アトリビュートデータをジオメトリデータ(復号結果)に合わせる処理(リカラー処理とも称する)を行う。つまり、ポイントクラウド生成部203は、ジオメトリデータの更新に対応するように、アトリビュートデータを更新する。ポイントクラウド生成部203は、ジオメトリデータと、更新後のアトリビュートデータ(ジオメトリデータ(復号結果)に対応するアトリビュートデータ)を出力ポイント選択部204に供給する。
 出力ポイント選択部204は、出力するポイントの選択に関する処理を行う。例えば、出力ポイント選択部204は、ポイントクラウド生成部203から供給されるジオメトリデータおよびアトリビュートデータを取得する。
 出力ポイント選択部204は、そのジオメトリデータについて、処理対象の階層に対応する数のポイントを選択する。つまり、出力ポイント選択部204は、ジオメトリデータのOctreeを構成する一部または全部の階層において、その階層の深さに応じた数のノードを選択する。
 この出力ポイント選択部204は、基本的にポイント選択装置100(図4)と同様の構成を有し、同様の処理(図5)を行う。出力ポイント選択部204は、図3を参照して説明した各種方法を適用することができる。したがって、出力ポイント選択部204は、ポイント数のスケーラビリティを実現することができる。
 なお、出力ポイント選択部204は、ジオメトリデータについてポイントの選択を行うだけでなく、さらに、アトリビュートデータの選択も行う。つまり、出力ポイント選択部204は、上述のポイント選択装置100と同様にジオメトリデータについてポイント選択を行い、その選択したポイント(ジオメトリデータ)に対応するアトリビュートデータも選択する。
 出力ポイント選択部204は、このように選択したポイントに対応するアトリビュートデータをアトリビュート符号化部205に供給する。
 アトリビュート符号化部205は、アトリビュートの符号化に関する処理を行う。例えば、アトリビュート符号化部205は、出力ポイント選択部204から供給されるアトリビュートデータを取得する。また、アトリビュート符号化部205は、そのアトリビュートデータを所定の方法で符号化し、アトリビュートデータの符号化データを生成する。この符号化方法は任意である。アトリビュート符号化部205は、生成したアトリビュートデータの符号化データをビットストリーム生成部206に供給する。
 ビットストリーム生成部206は、ビットストリームの生成に関する処理を行う。例えば、ビットストリーム生成部206は、ジオメトリ符号化部201から供給されるジオメトリの符号化データを取得する。また、ビットストリーム生成部206は、アトリビュート符号化部205から供給されるアトリビュートデータの符号化データを取得する。ビットストリーム生成部206は、それらの符号化データを含むビットストリームを生成する。なお、ビットストリーム生成部206は、必要に応じて、任意の情報をメタデータとしてビットストリームに含めることもできる。ビットストリーム生成部206は、生成したそのビットストリームを符号化装置200の外部に出力する。
 なお、符号化装置200のこれらの処理部(ジオメトリ符号化部201乃至ビットストリーム生成部206)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 この符号化装置200は、符号化処理を実行することにより、ポイントクラウドデータの符号化を行う。この符号化処理の流れの例を、図7のフローチャートを参照して説明する。
 符号化処理が開始されると、ジオメトリ符号化部201は、ステップS201において、ジオメトリデータを符号化して、ジオメトリデータの符号化データを生成する。
 ステップS202において、ジオメトリ復号部202は、ステップS201において生成された符号化データを復号し、ジオメトリデータを生成(復元)する。
 ステップS203において、ポイントクラウド生成部203は、リカラー処理を行い、アトリビュートデータを、ステップS202において生成されたジオメトリデータに対応させる。
 ステップS204において、出力ポイント選択部204は、ポイント選択処理を実行し、処理対象の階層(LoD)に応じた数のポイントを選択する。なお、このポイント選択処理は、例えば、図5のフローチャートと同様の流れで行うことができる。
 また、ジオメトリデータについてポイントが選択されると、出力ポイント選択部204は、さらに、選択したポイント(ジオメトリデータ)に対応するアトリビュートデータを選択する。
 ステップS205において、アトリビュート符号化部205は、ステップS203においてリカラー処理されたアトリビュートデータを符号化する。
 ステップS206において、ビットストリーム生成部206は、ステップS201において生成されたジオメトリデータの符号化データと、ステップS205において生成されたアトリビュートデータの符号化データとを含むビットストリームを生成する。
 ステップS206の処理が終了すると符号化処理が終了する。
 以上のように符号化処理を実行することにより、符号化装置200は、処理対象の階層(LoD)に応じた数のポイントを選択することができる。したがって、符号化装置200は、ポイント数のスケーラビリティを実現することができる。
 <4.第3の実施の形態>
  <復号装置>
 本技術は、また、例えば、復号装置にも適用することができる。図8は、本技術を適用した信号処理装置の一実施の形態である復号装置の主な構成例を示すブロック図である。この復号装置300は、ポイントクラウドのような3Dデータがボクセル(Voxel)およびOctreeを用いて符号化された符号化データを復号する装置である。この復号装置300は、例えば、符号化装置200(図6)に対応し、符号化装置200により生成された符号化データを正しく復号することができる。
 なお、図8においては、処理部やデータの流れ等の主なものを示しており、図8に示されるものが全てとは限らない。つまり、復号装置300において、図8においてブロックとして示されていない処理部が存在したり、図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図8に示されるように復号装置300は、ジオメトリ復号部301、出力ポイント選択部302、アトリビュート復号部303、およびポイントクラウド生成部304を有する。
 ジオメトリ復号部301は、ジオメトリデータの復号に関する処理を行う。例えば、ジオメトリ復号部301は、復号装置300に入力されるポイントクラウドデータの符号化データを取得する。この符号化データには、ジオメトリデータとアトリビュートデータの両方が含まれる。
 ジオメトリ復号部301は、そのジオメトリデータの符号化データを復号し、ジオメトリデータを生成する。つまり、ジオメトリ復号部301は、ポイントクラウドの符号化データを復号し、そのポイントクラウドを構成する各ポイントのジオメトリデータを用いたOctreeを生成する。ジオメトリ復号部301は、生成したジオメトリデータと、アトリビュートデータの符号化データとを出力ポイント選択部302に供給する。
 出力ポイント選択部302は、出力ポイントの選択に関する処理を行う。例えば、出力ポイント選択部302は、ジオメトリ復号部301から供給されるジオメトリデータと、アトリビュートデータの符号化データを取得する。
 また、出力ポイント選択部302は、そのジオメトリデータについて、処理対象の階層に対応する数のポイントを選択する。つまり、出力ポイント選択部302は、Octreeを構成する一部または全部の階層において、その階層の深さに応じた数のノードを選択する。この出力ポイント選択部302は、基本的にポイント選択装置100(図4)と同様の構成を有し、同様の処理(図5)を行う。つまり、出力ポイント選択部302は、図3を参照して説明した各種方法を適用することができる。したがって、出力ポイント選択部302は、ポイント数のスケーラビリティを実現することができる。
 なお、アトリビュートデータは、符号化装置200において出力するポイントが選択済みである。したがって、出力ポイント選択部302は、アトリビュートデータについてのポイントの選択をスキップする。出力ポイント選択部302は、選択したポイントに対応するジオメトリデータと、アトリビュートデータの符号化データとをアトリビュート復号部303に供給する。
 アトリビュート復号部303は、アトリビュートの復号に関する処理を行う。例えば、アトリビュート復号部303は、出力ポイント選択部302から供給されるアトリビュートの符号化データを取得する。また、アトリビュート復号部303は、出力ポイント選択部302から供給されるジオメトリデータを取得する。
 アトリビュート復号部303は、取得した符号化データを復号し、アトリビュートデータを生成(復元)する。上述のように、アトリビュート復号部303により生成されたアトリビュートデータは、符号化装置200において、出力するポイントが選択済みである。つまり、このアトリビュートデータは、出力ポイント選択部302から供給されるジオメトリデータ(出力するポイントが選択されたジオメトリデータ)に対応している。したがって、アトリビュート復号部303は、選択されたポイントに対応するジオメトリデータおよびアトリビュートデータをポイントクラウド生成部304に供給する。
 ポイントクラウド生成部304は、ポイントクラウドの生成に関する処理を行う。例えば、ポイントクラウド生成部304は、アトリビュート復号部303から供給されるジオメトリデータおよびアトリビュートデータを取得する。ポイントクラウド生成部304は、そのジオメトリデータとアトリビュートデータとを対応させ、ポイントクラウドデータを生成する。
 上述のように、アトリビュート復号部303から供給されるアトリビュートデータおよびジオメトリデータは、出力ポイント選択部302により選択されたポイントに対応する。つまり、ポイントクラウド生成部304は、出力するポイントに対応するポイントクラウドデータを生成する。
 ポイントクラウド生成部304は、生成したポイントクラウドデータを復号装置300の外部に出力する。
 なお、復号装置300のこれらの処理部(ジオメトリ復号部301乃至ポイントクラウド生成部304)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 この復号装置300は、復号処理を実行することにより、符号化データの復号を行う。この復号処理の流れの例を、図9のフローチャートを参照して説明する。
 復号処理が開始されると、ジオメトリ復号部301は、ステップS301において、ジオメトリデータの符号化データを復号して、ジオメトリデータを生成(復元)する。
 ステップS302において、出力ポイント選択部302は、ポイント選択処理を実行し、ステップS301において生成されたジオメトリデータについて、処理対象の階層(LoD)に応じた数のポイントを選択する。このポイント選択処理は、例えば、図5のフローチャートと同様の流れで行うことができる。
 ステップS303において、アトリビュート復号部303は、アトリビュートデータの符号化データを復号し、アトリビュートデータを生成(復元)する。このアトリビュートデータは、符号化の際に選択されたポイントに対応するデータである。したがって、このアトリビュートデータは、ステップS302の処理により得られたジオメトリデータに対応する。換言するに、これらのジオメトリデータおよびアトリビュートデータは、出力するポイントに対応する。
 ステップS304において、ポイントクラウド生成部304は、ステップS302において選択されたポイントに対応するジオメトリデータと、ステップS303において生成されたアトリビュートデータとを対応させてポイントクラウドデータを生成する。つまり、ポイントクラウド生成部304は、出力するポイントに対応するポイントクラウドデータを生成する。
 ステップS304の処理が終了すると復号処理が終了する。
 以上のように復号処理を実行することにより、復号装置300は、処理対象の階層(LoD)に応じた数のポイントを選択することができる。したがって、復号装置300は、ポイント数のスケーラビリティを実現することができる。
  <アトリビュートデータのスケーラビリティ>
 なお、アトリビュートデータの符号化・復号方法は任意である。例えば、アトリビュートデータが、一般的なLifting等を用いて符号化されるようにしてもよい。同様に、アトリビュートデータの符号化データが、同様のLifting等を用いて復号されるようにしてもよい。
 また、アトリビュートデータがスケーラブルに符号化・復号されるようにしてもよい。例えば、非特許文献6に記載の技術を適用することにより、アトリビュートデータは、スケーラブルに符号化・復号することができる。
 <5.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図10に示されるコンピュータ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が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
 また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
 なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成する位置情報復号部と、
 前記木構造を構成する一部または全部の階層に対して前記階層の深さに応じた数のノードを選択する選択部と
 を備える情報処理装置。
 (2) 前記選択部は、前記木構造の第1の階層の場合に選択する前記ノードの数が、前記第1の階層より浅い第2の階層の場合に選択する前記ノードの数より多くなるように、前記ノードを選択する
 (1)に記載の情報処理装置。
 (3) 前記選択部は、擬似乱数を用いて前記ノードを選択する
 (2)に記載の情報処理装置。
 (4) 前記選択部は、前記階層の深さに応じた所定の目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
 (3)に記載の情報処理装置。
 (5) 前記選択部は、予め定められた前記階層毎の目標数の内、処理対象の階層に対応する目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
 (4)に記載の情報処理装置。
 (6) 前記選択部は、指定された前記階層毎の目標数の内、処理対象の階層に対応する目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
 (4)に記載の情報処理装置。
 (7) 前記選択部は、指定された関数に基づいて特定される処理対象の階層に対応する目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
 (4)に記載の情報処理装置。
 (8) 前記選択部は、近傍領域内のノード数が所定の閾値以上のノードを選択する
 (2)に記載の情報処理装置。
 (9) 前記選択部は、前記近傍領域内のノード数が、予め定められた前記階層毎の閾値の内の、処理対象の階層に対応する閾値以上のノードを選択する
 (8)に記載の情報処理装置。
 (10) 前記選択部は、前記近傍領域内のノード数が、指定された前記階層毎の閾値の内の、処理対象の階層に対応する閾値以上のノードを選択する
 (8)に記載の情報処理装置。
 (11) 前記選択部は、前記近傍領域内のノード数が、指定された関数に基づいて特定される処理対象の階層に対応する閾値以上のノードを選択する
 (8)に記載の情報処理装置。
 (12) 前記ポイントクラウドの符号化データを復号し、前記選択部によりノードが選択された前記位置情報に対応する前記ポイントの属性情報を生成する属性情報復号部をさらに備える
 (1)乃至(11)のいずれかに記載の情報処理装置。
 (13) 前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を符号化し、前記符号化データを生成する位置情報符号化部をさらに備え、
 前記位置情報復号部は、前記位置情報符号化部により生成された前記符号化データを復号し、前記木構造を生成する
 (1)乃至(11)のいずれかに記載の情報処理装置。
 (14) 前記選択部は、さらに、前記ポイントクラウドを構成する各ポイントの属性情報の中から、選択した前記ノードに対応する属性情報も選択する
 (13)に記載の情報処理装置。
 (15) 前記選択部により選択された前記属性情報を符号化し、前記符号化データを生成する属性情報符号化部をさらに備える
 (14)に記載の情報処理装置。
 (16) 前記位置情報符号化部により生成された前記符号化データと、前記選択部による前記ノードの選択に用いられる擬似乱数の種情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
 (13)乃至(15)のいずれかに記載の情報処理装置。
 (17) 前記位置情報符号化部により生成された前記符号化データと、前記選択部により擬似時乱数を用いて選択される前記ノードの目標数に関する情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
 (13)乃至(15)のいずれかに記載の情報処理装置。
 (18) 前記位置情報符号化部により生成された前記符号化データと、前記選択部による前記ノードの選択に用いられる近傍領域内のノード数の閾値に関する情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
 (13)乃至(15)のいずれかに記載の情報処理装置。
 (19) 前記位置情報符号化部により生成された前記符号化データと、前記選択部による前記ノードの選択に用いられる近傍領域に関する情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
 (13)乃至(15)のいずれかに記載の情報処理装置。
 (20) 3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成し、
 前記木構造を構成する一部または全部の階層に対して前記階層の深さに応じた数のノードを選択する
 情報処理方法。
 100 ポイント選択装置, 101 ポイント数設定部, 102 擬似乱数生成部, 103 ポイント選択部, 200 符号化装置, 201 ジオメトリ符号化部, 202 ジオメトリ復号部, 203 ポイントクラウド生成部, 204 出力ポイント選択部, 205 アトリビュート符号化部, 206 ビットストリーム生成部, 300 復号装置, 301 ジオメトリ復号部, 302 出力ポイント選択部, 303 アトリビュート復号部, 304 ポイントクラウド生成部

Claims (20)

  1.  3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成する位置情報復号部と、
     前記木構造を構成する一部または全部の階層に対して前記階層の深さに応じた数のノードを選択する選択部と
     を備える情報処理装置。
  2.  前記選択部は、前記木構造の第1の階層の場合に選択する前記ノードの数が、前記第1の階層より浅い第2の階層の場合に選択する前記ノードの数より多くなるように、前記ノードを選択する
     請求項1に記載の情報処理装置。
  3.  前記選択部は、擬似乱数を用いて前記ノードを選択する
     請求項2に記載の情報処理装置。
  4.  前記選択部は、前記階層の深さに応じた所定の目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
     請求項3に記載の情報処理装置。
  5.  前記選択部は、予め定められた前記階層毎の目標数の内、処理対象の階層に対応する目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
     請求項4に記載の情報処理装置。
  6.  前記選択部は、指定された前記階層毎の目標数の内、処理対象の階層に対応する目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
     請求項4に記載の情報処理装置。
  7.  前記選択部は、指定された関数に基づいて特定される処理対象の階層に対応する目標数に達するまで、前記擬似乱数を用いて前記ノードを選択する
     請求項4に記載の情報処理装置。
  8.  前記選択部は、近傍領域内のノード数が所定の閾値以上のノードを選択する
     請求項2に記載の情報処理装置。
  9.  前記選択部は、前記近傍領域内のノード数が、予め定められた前記階層毎の閾値の内の、処理対象の階層に対応する閾値以上のノードを選択する
     請求項8に記載の情報処理装置。
  10.  前記選択部は、前記近傍領域内のノード数が、指定された前記階層毎の閾値の内の、処理対象の階層に対応する閾値以上のノードを選択する
     請求項8に記載の情報処理装置。
  11.  前記選択部は、前記近傍領域内のノード数が、指定された関数に基づいて特定される処理対象の階層に対応する閾値以上のノードを選択する
     請求項8に記載の情報処理装置。
  12.  前記ポイントクラウドの符号化データを復号し、前記選択部によりノードが選択された前記位置情報に対応する前記ポイントの属性情報を生成する属性情報復号部をさらに備える
     請求項1に記載の情報処理装置。
  13.  前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を符号化し、前記符号化データを生成する位置情報符号化部をさらに備え、
     前記位置情報復号部は、前記位置情報符号化部により生成された前記符号化データを復号し、前記木構造を生成する
     請求項1に記載の情報処理装置。
  14.  前記選択部は、さらに、前記ポイントクラウドを構成する各ポイントの属性情報の中から、選択した前記ノードに対応する属性情報も選択する
     請求項13に記載の情報処理装置。
  15.  前記選択部により選択された前記属性情報を符号化し、前記符号化データを生成する属性情報符号化部をさらに備える
     請求項14に記載の情報処理装置。
  16.  前記位置情報符号化部により生成された前記符号化データと、前記選択部による前記ノードの選択に用いられる擬似乱数の種情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
     請求項13に記載の情報処理装置。
  17.  前記位置情報符号化部により生成された前記符号化データと、前記選択部により擬似時乱数を用いて選択される前記ノードの目標数に関する情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
     請求項13に記載の情報処理装置。
  18.  前記位置情報符号化部により生成された前記符号化データと、前記選択部による前記ノードの選択に用いられる近傍領域内のノード数の閾値に関する情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
     請求項13に記載の情報処理装置。
  19.  前記位置情報符号化部により生成された前記符号化データと、前記選択部による前記ノードの選択に用いられる近傍領域に関する情報とを含むビットストリームを生成するビットストリーム生成部をさらに備える
     請求項13に記載の情報処理装置。
  20.  3次元形状のオブジェクトをポイント群として表現するポイントクラウドの符号化データを復号し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造を生成し、
     前記木構造を構成する一部または全部の階層に対して前記階層の深さに応じた数のノードを選択する
     情報処理方法。
PCT/JP2020/023041 2019-06-25 2020-06-11 情報処理装置および方法 WO2020262020A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/620,429 US20220353493A1 (en) 2019-06-25 2020-06-11 Information processing apparatus and method
CN202080038710.7A CN113906477A (zh) 2019-06-25 2020-06-11 信息处理装置和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-117533 2019-06-25
JP2019117533 2019-06-25

Publications (1)

Publication Number Publication Date
WO2020262020A1 true WO2020262020A1 (ja) 2020-12-30

Family

ID=74061859

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/023041 WO2020262020A1 (ja) 2019-06-25 2020-06-11 情報処理装置および方法

Country Status (3)

Country Link
US (1) US20220353493A1 (ja)
CN (1) CN113906477A (ja)
WO (1) WO2020262020A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009314A1 (ja) * 2017-07-06 2019-01-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
WO2019069711A1 (ja) * 2017-10-05 2019-04-11 ソニー株式会社 情報処理装置および方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10825244B1 (en) * 2017-11-07 2020-11-03 Arvizio, Inc. Automated LOD construction for point cloud
CN113597771A (zh) * 2019-03-16 2021-11-02 Lg电子株式会社 用于处理点云数据的设备和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019009314A1 (ja) * 2017-07-06 2019-01-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
WO2019069711A1 (ja) * 2017-10-05 2019-04-11 ソニー株式会社 情報処理装置および方法

Also Published As

Publication number Publication date
CN113906477A (zh) 2022-01-07
US20220353493A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
WO2019198523A1 (ja) 画像処理装置および方法
JP7384159B2 (ja) 画像処理装置および方法
JP7327166B2 (ja) 画像処理装置および方法
US11282239B2 (en) Device and method of transmitting point cloud data, device and method of processing point cloud data
US11699248B2 (en) Image processing apparatus and method
WO2021065536A1 (ja) 情報処理装置および方法
JPWO2020026846A1 (ja) 画像処理装置および方法
WO2019142665A1 (ja) 情報処理装置および方法
WO2020188932A1 (ja) 情報処理装置および情報生成方法
JP7396302B2 (ja) 画像処理装置および方法
US20220044448A1 (en) Image processing device and method
WO2021002214A1 (ja) 情報処理装置および方法
WO2020262020A1 (ja) 情報処理装置および方法
WO2021010200A1 (ja) 情報処理装置および方法
JP2022047546A (ja) 情報処理装置および方法
WO2021010134A1 (ja) 情報処理装置および方法
WO2021065535A1 (ja) 情報処理装置および方法
KR20220062556A (ko) 중간 샘플들에 대한 패치들을 사용하는 포인트 클라우드의 인코딩 및 디코딩
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2021090701A1 (ja) 情報処理装置および方法
WO2022050088A1 (ja) 画像処理装置および方法
US20230370636A1 (en) Image processing device and method
WO2021095565A1 (ja) 画像処理装置および方法
WO2023113917A1 (en) Hybrid framework for point cloud compression

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20830982

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP