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

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

Info

Publication number
WO2020262019A1
WO2020262019A1 PCT/JP2020/023040 JP2020023040W WO2020262019A1 WO 2020262019 A1 WO2020262019 A1 WO 2020262019A1 JP 2020023040 W JP2020023040 W JP 2020023040W WO 2020262019 A1 WO2020262019 A1 WO 2020262019A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
prediction
unit
position information
coding
Prior art date
Application number
PCT/JP2020/023040
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,412 priority Critical patent/US11991348B2/en
Publication of WO2020262019A1 publication Critical patent/WO2020262019A1/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/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/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/124Quantisation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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 suppressing a decrease in the coding efficiency of point cloud data.
  • DCM Direct Coding Mode
  • This disclosure is made in view of such a situation, and makes it possible to suppress a decrease in the coding efficiency of point cloud data.
  • the information processing device on one aspect of the present technology predicts the position information of the processing target point based on the position information of the reference point for the point cloud that expresses the object of the three-dimensional shape as a point group, and obtains the position information of the prediction point.
  • the prediction unit to be generated, the difference derivation unit for deriving the difference between the position information of the prediction point generated by the prediction unit and the position information of the processing target point, and the difference derived by the difference derivation unit are coded. It is an information processing device including a coding unit for converting and generating a bit stream.
  • the information processing method of one aspect of the present technology predicts the position information of the processing target point based on the position information of the reference point for the point cloud that expresses the object of the three-dimensional shape as a point group, and obtains the position information of the predicted point.
  • This is an information processing method for generating a bit stream by deriving the difference between the generated position information of the predicted point and the position information of the processing target point, and encoding the derived difference.
  • the information processing device of the other aspect of the present technology decodes and refers to the coded data encoded by using the prediction of the position information of the processing target point of the point cloud that expresses the object of the three-dimensional shape as a point group. Based on the position information of the reference point for the information processing unit that generates the difference between the position information of the predicted point predicted based on the position information of the point and the position information of the processing target point corresponding to the predicted point, and the point cloud. The position information of the prediction point generated by the prediction unit with respect to the difference generated by the decoding unit and the prediction unit that predicts the position information of the processing target point and generates the position information of the prediction point. Is an information processing device including an addition portion for deriving the position information of the processing target point.
  • the information processing method of another aspect of the present technology decodes and refers to the coded data encoded by using the prediction of the position information of the processing target point of the point cloud that expresses the object of the three-dimensional shape as a point group.
  • the difference between the position information of the predicted point predicted based on the position information of the point and the position information of the processing target point corresponding to the predicted point is generated, and the processing is performed on the point cloud based on the position information of the reference point.
  • the position information of the target point is predicted, the position information of the prediction point is generated, the position information of the generated prediction point is added to the generated difference, and the position information of the processing target point is derived. It is an information processing method.
  • the position information of the processing target point is predicted based on the position information of the reference point for the point cloud that expresses the object of the three-dimensional shape as a point group, and the predicted point
  • the position information is generated, the difference between the position information of the generated prediction point and the position information of the processing target point is derived, the derived difference is encoded, and a bit stream is generated.
  • the coded data encoded by using the prediction of the position information of the processing target point of the point cloud that expresses the object of the three-dimensional shape as a point group is decoded.
  • the difference between the position information of the predicted point predicted based on the position information of the reference point and the position information of the processing target point corresponding to the predicted point is generated, and the point cloud is based on the position information of the reference point.
  • the position information of the processing target point is predicted, the position information of the prediction point is generated, the position information of the generated prediction point is added to the generated difference, and the position information of the processing target point is added. Derived.
  • DCM Downlink Control
  • a block diagram which shows the main configuration example of the predictive coding apparatus. It is a flowchart explaining an example of the flow of a prediction coding process. It is a flowchart explaining an example of the flow of a prediction process. It is a block diagram which shows the main configuration example of the predictive decoding apparatus. It is a flowchart explaining the example of the flow of the predictive decoding process. It is a flowchart explaining an example of the flow of a prediction process. It is a figure explaining mode determination. It is a block diagram which shows the main configuration example of a coding apparatus. It is a block diagram which shows the main structure example of the geometry coding part.
  • 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 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).
  • ⁇ DCM> If the points are dense (when there are many points in the vicinity), the scalability of the number of points can be realized by making it Octree. However, when the points are sparse (when there are few points existing in the vicinity), the resolution of the position of the point in each layer of the Octree changes, but the number of points does not change significantly. That is, a node with few branches is formed under the sparse node, and the value as a tree structure is reduced. That is, when the points are sparse, the processing for generating low-value nodes increases, and the processing amount may increase unnecessarily.
  • DCM Direct Coding Mode
  • this DCM is an uncompressed process.
  • the relative distance in each direction of xyz from the processing target node to the leaf is indicated by the bit length.
  • the relative distance from node n0 to leaf p0 is indicated by (l-n) ⁇ 3 ⁇ nB (bit) as shown in the upper part of B in FIG.
  • the processing target point may be predicted using the reference point, and the difference in the position information between the generated prediction point and the processing target point may be obtained.
  • the sparse leaf p0 belonging to the sparse node n0 in the Octtree of the position information is set as the processing target point, and the prediction of the leaf p0 is performed using the leaf p1 which is the reference point.
  • the difference obtained in this way has a smaller amount of data than leaf p0. That is, by encoding / decoding the difference obtained in this way, it is possible to suppress a decrease in the coding efficiency of the point cloud data as compared with the case where the leaf p1 is encoded / decoded as it is.
  • First Embodiment> ⁇ Predictive coding device> For example, for a point cloud that expresses a three-dimensional object as a point group, the position information of the processing target point is predicted based on the position information of the reference point, the position information of the prediction point is generated, and the generated prediction point is generated.
  • the difference between the position information of the above and the position information of the processing target point may be derived, the derived difference may be encoded, and a bit stream may be generated.
  • a prediction unit that predicts the position information of the processing target point based on the position information of the reference point and generates the position information of the prediction point.
  • the difference derivation unit that derives the difference between the position information of the prediction point generated by the prediction unit and the position information of the processing target point, and the difference derived by the difference derivation unit are encoded to generate a bit stream. It may be provided with a coding unit.
  • FIG. 3 is a block diagram showing an example of a configuration of a predictive coding device, which is an aspect of an information processing device to which the present technology is applied.
  • the prediction coding device 100 shown in FIG. 3 is a device that encodes geometry data using prediction and generates the coded data.
  • FIG. 3 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 prediction coding apparatus 100, there may be a processing unit that is not shown as a block in FIG. 3, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the prediction coding device 100 has a prediction processing unit 101 and a reversible coding unit 102.
  • the prediction processing unit 101 performs processing related to point prediction. For example, the prediction processing unit 101 acquires the geometry data of the point cloud. Further, the prediction processing unit 101 sets a reference point corresponding to the processing target point for the prediction performing point (also referred to as the processing target point) included in the geometry data. The reference point is a point whose position is referred to during prediction. When there are a plurality of processing target points, the prediction processing unit 101 sets reference points for each processing target point.
  • the prediction processing unit 101 predicts the position of each processing target point and generates a prediction point.
  • the prediction point is a result of predicting the position of the processing target point, that is, a virtual point provided at the predicted position.
  • the prediction processing unit 101 refers to the position of the reference point corresponding to each processing target point, and predicts the position of the processing target point based on the position of the reference point (generates the prediction point).
  • the prediction processing unit 101 derives the difference between the position of the processing target point and the position of the prediction point. When there are a plurality of processing target points, the prediction processing unit 101 derives the difference for each processing target point. The prediction processing unit 101 quantizes the derived difference and supplies it to the reversible coding unit 102.
  • the prediction processing unit 101 includes a reference point setting unit 111, a prediction point generation unit 112, a difference derivation unit 113, and a difference quantization unit 114.
  • the reference point setting unit 111 performs processing related to the setting of the reference point. For example, the reference point setting unit 111 acquires geometry data supplied from the outside of the prediction processing unit 101. Further, the reference point setting unit 111 sets a reference point corresponding to the processing target point for the geometry data. The details of the reference point setting will be described later. The reference point setting unit 111 supplies the information about the set reference point and the geometry data to the prediction point generation unit 112.
  • Prediction point generation unit 112 performs processing related to generation of prediction points. For example, the prediction point generation unit 112 acquires the geometry data supplied from the reference point setting unit 111 and the information about the reference point. Further, the prediction point generation unit 112 predicts the position of the processing target point based on the position of the reference point based on the acquired information, and generates the prediction point. The details of the prediction point generation will be described later. The prediction point generation unit 112 supplies the information regarding the generated prediction point and the geometry data to the difference derivation unit 113.
  • the difference derivation unit 113 performs processing related to derivation of the difference in position information between the processing target point and the prediction point. For example, the difference derivation unit 113 acquires information and geometry data regarding the prediction points supplied from the prediction point generation unit 112. Further, the difference derivation unit 113 derives the difference between the position of the processing target point and the position of the prediction point described above based on the acquired information. The difference derivation unit 113 supplies the derived difference to the difference quantization unit 114.
  • the difference quantization unit 114 performs processing related to difference quantization. For example, the difference quantization unit 114 acquires the difference supplied from the difference derivation unit 113. Further, the difference quantization unit 114 quantizes the acquired difference by a predetermined method. The details of this quantization will be described later. The difference quantization unit 114 supplies the quantized difference to the reversible coding unit 102.
  • the reversible coding unit 102 performs processing related to coding the difference between the position of the processing target point and the position of the prediction point. For example, the reversible coding unit 102 acquires the difference supplied from the prediction processing unit 101 (the quantized difference supplied from the difference quantization unit 114). The reversible coding unit 102 encodes the difference to generate coded data. This coding method is arbitrary as long as it is a reversible method. The reversible coding unit 102 outputs the generated coded data to the outside of the predictive coding device 100.
  • the prediction coding device 100 derives the difference between the position of the processing target point and the position of the prediction point.
  • the position of the processing target point is expressed as the difference from the predicted point. Therefore, if the prediction accuracy is sufficiently high, the prediction coding apparatus 100 can derive a difference having a smaller amount of information than the processing target point.
  • the prediction coding device 100 can perform coding by reducing the amount of information of the geometry data. Therefore, the prediction coding device 100 can suppress the reduction of the coding efficiency of the point cloud data.
  • the amount of information can be reduced by predicting the position of the point instead of predicting the pixel value as in the case of a two-dimensional image.
  • each of these processing units (prediction processing unit 101 (reference point setting unit 111 to difference quantization unit 114) and reversible coding unit 102) of the prediction coding device 100 has an arbitrary configuration.
  • 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-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
  • the predictive coding apparatus 100 executes the predictive coding process to encode the geometry data.
  • An example of the flow of the predictive coding process executed by the predictive coding apparatus 100 will be described with reference to the flowchart of FIG.
  • the prediction processing unit 101 of the prediction coding device 100 performs the prediction processing in step S101, and the difference between the position of the processing target point and the position of the prediction point (quantized difference). ) Is derived.
  • step S102 the reversible coding unit 102 reversibly encodes the difference (quantized difference) derived in step S101 by a predetermined coding method.
  • step S102 When the process of step S102 is completed, the predictive coding process is completed.
  • the predictive coding apparatus 100 can suppress a decrease in the coding efficiency of the point cloud data.
  • the reference point setting unit 111 of the prediction processing unit 101 sets a reference point corresponding to the processing target point for the geometry data of the point cloud in step S111.
  • step S112 the prediction point generation unit 112 predicts the position of the processing target point using the position of the reference point set in step S111, and generates the prediction point corresponding to the processing target point.
  • step S113 the difference derivation unit 113 derives the difference between the position of the processing target point and the position of the prediction point corresponding to the processing target point generated in step S112.
  • step S114 the difference quantization unit 114 quantizes the difference derived in step S113 by a predetermined method.
  • step S114 When the process of step S114 is completed, the prediction process is completed, and the process returns to FIG.
  • the prediction processing unit 101 can reduce the amount of information of the geometry data.
  • ⁇ Predictive decoding device Further, for example, the coded data encoded by using the prediction of the position information of the processing target point of the point cloud that expresses the object of the three-dimensional shape as a point group is decoded, and the prediction is made based on the position information of the reference point. The difference between the position information of the predicted point and the position information of the processing target point corresponding to the prediction point is generated, and the position information of the processing target point is predicted for the point cloud based on the position information of the reference point. The position information of the prediction point may be generated, and the position information of the generated prediction point may be added to the generated difference to derive the position information of the processing target point.
  • the coded data encoded by using the prediction of the position information of the processing target point of the point cloud that expresses a three-dimensional object as a point group is decoded and used as the position information of the reference point.
  • the decoding unit that generates the difference between the position information of the prediction point predicted based on the prediction point and the position information of the processing target point corresponding to the prediction point, and the point cloud of the processing target point based on the position information of the reference point.
  • the position information of the prediction point generated by the prediction unit is added to the difference generated by the decoding unit and the prediction unit that predicts the position information and generates the position information of the prediction point, and the position information of the processing target point is added. It may be provided with an addition portion for deriving.
  • FIG. 6 is a block diagram showing an example of the configuration of a predictive coding device, which is an aspect of an information processing device to which the present technology is applied.
  • the predictive decoding device 200 shown in FIG. 6 decodes, for example, the coded data generated by the predictive coding device 100 (that is, the coded data of the geometry data encoded by the prediction), and the geometry of the point cloud. It is a device that generates data.
  • 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 prediction coding apparatus 100, 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 predictive decoding device 200 has a reversible decoding unit 201 and a predictive processing unit 202.
  • the reversible decoding unit 201 performs processing related to decoding of encoded data. For example, the reversible decoding unit 201 acquires the coded data.
  • This coded data is the geometry data of the point cloud encoded using prediction as described above. That is, this coded data is generated by encoding the difference (quantized difference) between the position of the processing target point and the position of the prediction point corresponding to the processing target point.
  • This coded data is generated by, for example, the predictive coding device 100 described above.
  • the reversible decoding unit 201 decodes the encoded data and generates (restores) the difference between the position of the processing target point and the position of the prediction point. This decoding method is arbitrary as long as it corresponds to the coding method performed by the predictive coding apparatus 100 described above.
  • the reversible decoding unit 201 supplies the generated difference to the prediction processing unit 202.
  • the prediction processing unit 202 performs processing related to prediction of processing target points. For example, the prediction processing unit 202 acquires the difference supplied from the reversible decoding unit 201. The prediction processing unit 202 predicts the processing target point using this difference to generate a prediction point, and generates (restores) geometry data using the prediction point and the difference. It can be said that this difference represents the position of the processing target point by the relative position with respect to the position of the prediction point. That is, this difference can also be said to be geometry data. Therefore, the prediction processing unit 202 can predict the processing target point as in the case of the prediction coding device 100.
  • the prediction processing unit 202 outputs the generated geometry data to the outside of the prediction decoding device 200.
  • the prediction processing unit 202 includes a reference point setting unit 211, a prediction point generation unit 212, and a difference addition unit 213.
  • the reference point setting unit 211 performs processing related to the setting of the reference point. For example, the reference point setting unit 211 acquires the difference supplied from the outside of the prediction processing unit 202. The reference point setting unit 211 sets the reference point corresponding to the processing target point by using the difference. As described above, this difference can be said to be geometry data (the position of the processing target point is represented by a relative position with respect to the position of the prediction point). Therefore, the reference point setting unit 211 can set the reference point for each processing target point by the same method as in the case of the reference point setting unit 111. The reference point setting unit 211 supplies the difference and the information about the set reference point to the prediction point generation unit 212.
  • Prediction point generation unit 212 performs processing related to generation of prediction points. For example, the prediction point generation unit 212 acquires the difference supplied from the reference point setting unit 211 and the information about the reference point. Further, the prediction point generation unit 212 predicts the processing target point using the set reference points based on the acquired information, and generates the prediction point. The details of the prediction point generation will be described later. The prediction point generation unit 212 supplies the difference and the information about the generated prediction point to the difference addition unit 213.
  • the difference addition unit 213 performs processing related to the generation of geometry data. For example, the difference addition unit 213 acquires the difference supplied from the prediction point generation unit 212 and the information regarding the prediction point. Further, the difference addition unit 213 adds the position of the prediction point indicated by the information about the acquired prediction point to the acquired difference, and generates (restores) the geometry data. The difference addition unit 213 outputs the generated geometry data to the outside of the predictive decoding device 200.
  • the predictive decoding device 200 can correctly decode the encoded data in which the difference between the position of the processing target point and the position of the predicted point is encoded, and restore the geometry data. That is, the predictive decoding device 200 can suppress a decrease in the coding efficiency of the point cloud data.
  • each of these processing units (reversible decoding unit 201 and prediction processing unit 202 (reference point setting unit 211 to difference addition unit 213)) of the prediction decoding device 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 predictive decoding device 200 executes a predictive decoding process to decode the encoded data.
  • An example of the flow of the predictive decoding process executed by the predictive decoding device 200 will be described with reference to the flowchart of FIG.
  • the reversible decoding unit 201 of the predictive decoding device 200 corresponds to the coding method of the predetermined decoding method (step S102 (FIG. 4)) of the coded data of the processing target point in step S201.
  • Decryption is performed by the decoding method), and the difference between the position of the processing target point and the position of the prediction point is generated (restored).
  • step S202 the prediction processing unit 202 performs prediction processing to generate a prediction point corresponding to the processing target point, adds the position of the generated prediction point to the difference generated in step S201, and determines the processing target point. Generate (restore) geometry data.
  • step S202 When the process of step S202 is completed, the predictive decoding process is completed.
  • the predictive decoding device 200 can correctly decode the coded data of the point cloud encoded using the prediction. That is, the predictive decoding device 200 can suppress the reduction of the coding efficiency of the point cloud data.
  • the reference point setting unit 211 of the prediction processing unit 202 sets the reference point corresponding to the processing target point based on the difference between the position of the processing target point and the position of the prediction point in step S211. Set.
  • the reference point setting unit 211 sets this reference point in the same manner as in the process of step S111 (FIG. 5).
  • step S212 the prediction point generation unit 212 predicts the position of the processing target point using the position of the reference point set in step S211 and generates the prediction point corresponding to the processing target point.
  • step S213 the difference addition unit 213 adds the prediction point derived in step S212 to the difference between the position of the processing target point and the position of the prediction point. As a result, the geometry data of the processing target point is generated (restored).
  • step S213 When the process of step S213 is completed, the prediction process is completed, and the process returns to FIG. 7.
  • the prediction processing unit 202 can correctly restore the geometry data.
  • Second Embodiment> ⁇ Mode selection>
  • the coding / decoding method (also referred to as prediction mode) using prediction described in the first embodiment may be used in combination with other coding / decoding methods. In that case, it may be possible to select which method is applied.
  • the mode may be determined and the coding / decoding method to be applied may be selected.
  • the mode may be determined and the coding / decoding method to be applied may be selected.
  • the mode is determined at the time of coding, and the mode information indicating the applied method is decoded from the coding side. It may be transmitted to the side.
  • the decoding method is selected according to the mode information. By doing so, it is possible to more easily apply the decoding method corresponding to the applied coding method. Therefore, it is possible to suppress an increase in the load of the decoding process (typically, reduce the load of the decoding process).
  • the mode determination method (coding method selection method) on the coding side is arbitrary.
  • each coding method prepared in advance as a candidate is applied to perform coding, and each coding result is obtained.
  • the RD (Rate Distortion) cost may be used for evaluation, and the optimum (for example, the lowest cost) coding method may be selected. By doing so, it is possible to apply the optimum coding method among the candidates to the point cloud to be processed. Therefore, it is possible to suppress a decrease in coding efficiency.
  • the method of selecting the coding method and the decoding method so as to correspond to each other is arbitrary and is not limited to the above-mentioned "method 2-1".
  • a common mode determination may be performed at the time of encoding / decoding. That is, the same mode determination may be performed both at the time of coding and at the time of decoding, and the same methods (encoding / decoding methods corresponding to each other) may be selected. By doing so, transmission of mode information can be omitted, so that reduction in coding efficiency can be suppressed.
  • the mode determination method in this case is arbitrary.
  • the prediction mode may always be applied as in "Method 2-2-1" in the fifth row from the top of the table in FIG. That is, in this case, the mode determination is omitted, and other modes such as DCM are not used together. By doing so, since the mode determination process becomes unnecessary, it is possible to suppress an increase in the load of the coding process and the decoding process (typically, reduce the load).
  • the mode is selected according to the hierarchy (LoD) of the Octree where the node to be processed is located. It may be.
  • the mode is selected according to the depth of the hierarchy (LoD) of the node to be processed (the node determined to be in a sparse state). You may do so.
  • the points in the voxel corresponding to the sparse node are sparse.
  • the more the nodes are determined to be sparse in the shallower layer (upper layer) the more the points are presumed to be sparse in a wider area. That is, it is presumed that the distance from the node to be processed to the surrounding points is likely to be longer. Therefore, when the prediction mode is applied, it is estimated that the prediction accuracy is greatly reduced as the processing target node is located in the upper layer. That is, it is presumed that the coding efficiency is likely to be significantly reduced.
  • a simple sparseness determination can be performed depending on the depth (LoD) of the node to be processed (the node determined to be in a sparse state). That is, by selecting the mode according to the depth of the hierarchy of the node to be processed, it is possible to realize the mode selection according to the result of the simple sparseness determination.
  • the prediction mode is applied to the processing target node located in the lower layer (node determined to be sparse in the lower layer), and the processing target node located in the upper layer (sparse state in the upper layer) is applied.
  • the DCM may be applied to the determined node). By doing so, it is possible to apply a mode in which a greater effect can be obtained for the node to be processed.
  • the prediction mode can be applied to a node with denser points and higher prediction accuracy. Therefore, the reduction of coding efficiency can be further suppressed.
  • the sparseness determination in this case is a simple process based on the hierarchy (LoD), it is possible to suppress an increase in the load of the coding process and the decoding process due to the sparseness determination.
  • the presence or absence of points (point distribution status) around the actual node to be processed is confirmed, and the presence or absence of points is confirmed.
  • the mode may be selected based on the confirmation result. That is, the actual state of sparseness may be determined, and a more appropriate mode (which gives a larger effect) may be selected based on the determination result.
  • the prediction mode may be applied if the point exists, and the DCM may be applied if the point does not exist.
  • the method 2-2-2 and the method 2-2-3 have been described so as to be performed on both the coding side and the decoding side, respectively, but the present invention is not limited to this, and the coding side is described as in the method 2-1.
  • the mode may be determined as in the method 2-2-2 and the method 2-2-3, and the mode information indicating the applied mode may be transmitted from the coding side to the decoding side.
  • FIG. 10 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 300 shown in FIG. 10 is a device that encodes 3D data such as a point cloud using voxels and Octree.
  • FIG. 10 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 300, there may be a processing unit that is not shown as a block in FIG. 10, or there may be a processing or data flow that is not shown as an arrow or the like in FIG. This also applies to other figures illustrating the processing unit and the like in the coding apparatus 300.
  • the coding device 300 includes a geometry coding unit 301, a geometry decoding unit 302, a point cloud generation unit 303, an attribute coding unit 304, and a bitstream generation unit 305.
  • the geometry coding unit 301 performs processing related to coding of geometry data. For example, the geometry coding unit 301 acquires the geometry data of the point cloud data input to the coding device 300. The geometry coding unit 301 encodes the geometry data and generates the coded data. The geometry coding unit 301 supplies the generated coded data to the geometry decoding unit 302 and the bitstream generation unit 305.
  • the geometry decoding unit 302 performs processing related to decoding the encoded data of the geometry data. For example, the geometry decoding unit 302 acquires the coded data of the geometry data supplied from the geometry coding unit 301. The geometry decoding unit 302 decodes the coded data by a decoding method corresponding to the coding method applied in the geometry coding unit 301, and generates (restores) the geometry data. The details of this decoding method will be described later using a decoding device as an example. The geometry decoding unit 302 supplies the generated geometry data to the point cloud generation unit 303.
  • the point cloud generation unit 303 performs processing related to the generation of point cloud data. For example, the point cloud generation unit 303 acquires the attribute data of the point cloud data input to the coding device 300. Further, the point cloud generation unit 303 acquires the geometry data supplied from the geometry decoding unit 302.
  • 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 302 may be different from the geometry data before being encoded by the geometry coding unit 301.
  • the point cloud generation unit 303 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 303 updates the attribute data so as to correspond to the update of the geometry data.
  • the point cloud generation unit 303 supplies the updated attribute data (attribute data corresponding to the geometry data (decoding result)) to the attribute coding unit 304.
  • the attribute coding unit 304 performs processing related to attribute coding. For example, the attribute coding unit 304 acquires the attribute data supplied from the point cloud generation unit 303. Further, the attribute coding unit 304 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 304 supplies the coded data of the generated attribute data to the bitstream generation unit 305.
  • the bitstream generation unit 305 performs processing related to bitstream generation. For example, the bitstream generation unit 305 acquires the geometry coding data supplied from the geometry coding unit 301. Further, the bitstream generation unit 305 acquires the coded data of the attribute data supplied from the attribute coding unit 304. The bitstream generation unit 305 generates a bitstream including those coded data. The bitstream generation unit 305 outputs the generated bitstream to the outside of the encoding device 300.
  • each of these processing units (geometry coding unit 301 to bitstream generation unit 305) of the coding apparatus 300 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.
  • FIG. 11 is a block diagram showing a main configuration example of the geometry coding unit 301 (FIG. 10).
  • the geometry coding unit 301 includes, for example, a bounding box setting unit 311, a voxel setting unit 312, and a coding unit 313.
  • the bounding box setting unit 311 performs processing related to the setting of the bounding box. For example, the bounding box setting unit 311 acquires the geometry data of the point cloud data input to the coding device 300. The bounding box setting unit 311 sets the bounding box for the geometry data. The bounding box is information for normalizing the geometry data to be encoded. Voxels are created based on this bounding box. The bounding box setting unit 311 supplies information about the bounding box to the voxel setting unit 312 together with the geometry data.
  • the voxel setting unit 312 performs processing related to voxel setting. For example, the voxel setting unit 312 acquires the geometry data supplied from the bounding box setting unit 311 and information on the bounding box. Further, the voxel setting unit 312 divides the bounding box set for the geometry data and sets the voxels based on the information. That is, the voxel setting unit 312 performs voxelization (quantization of the position of each point) of the geometry data. The voxel setting unit 312 supplies the voxel data, which is the geometry data converted into voxels in this way, to the coding unit 313.
  • the coding unit 313 performs processing related to coding of voxel data. For example, the coding unit 313 acquires the voxel data supplied from the voxel setting unit 312. Further, the coding unit 313 encodes the voxel data and generates voxel data encoded data (that is, geometry data encoded data). The coding unit 313 supplies the coded data to the geometry decoding unit 302 and the bitstream generation unit 305 (both of FIG. 10).
  • the coding unit 313 includes, for example, a mode selection unit 321, an Octree coding unit 322, a DCM coding unit 323, a prediction coding unit 324, and a metadata generation unit 325.
  • the mode selection unit 321 performs processing related to selection of a coding method (mode). For example, the mode selection unit 321 acquires voxel data supplied from the voxel setting unit 312. Further, the mode selection unit 321 selects the coding method (mode) for each voxel (node in Octree). For example, the mode selection unit 321 selects whether to apply a method using prediction of the position information of the processing target point or to apply DCM as the coding method of the processing target point.
  • mode coding method
  • the selection method of this mode is arbitrary.
  • the mode selection unit 321 may select the mode based on the RD cost as in the method 2-1-1 described above in ⁇ mode selection>. Further, the mode selection unit 321 may always select the prediction mode (select the prediction mode for all the nodes) as in the method 2-2-1 described above in ⁇ mode selection>. ..
  • the mode selection unit 321 may select the mode according to the depth of the hierarchy (LoD) of the processing target node as in the method 2-2-2 described above in ⁇ mode selection>. That is, the decoding method of the processing target point may be selected according to the hierarchy in which the nodes in the tree structure using the position information of each point constituting the point cloud are sparse. A simple sparseness determination can be made based on the depth of the hierarchy in which the nodes become sparse. That is, the decoding method of the processing target point may be selected according to the simple sparseness determination result.
  • the mode selection unit 321 selects the mode based on the presence / absence of points in the peripheral area of the processing target node (actual sparseness determination result) as in the method 2-2-3 described above in ⁇ mode selection>. You may do so.
  • the mode selection unit 321 selects one from these candidates. For example, when Octree is selected, the mode selection unit 321 supplies the voxel data of the voxel to be processed to the Octree coding unit 322. When DCM is selected, the mode selection unit 321 supplies the voxel data of the voxel to be processed to the DCM coding unit 323. Further, when the prediction mode is selected, the mode selection unit 321 supplies the voxel data of the voxel to be processed to the prediction coding unit 324.
  • the Octree coding unit 322 performs processing related to coding using Octree. For example, the Octree encoding unit 322 acquires voxel data of the voxel to be processed supplied from the mode selection unit 321. The Octree coding unit 322 uses the voxel data to generate Octree data of the node to be processed. The Octree coding unit 322 encodes the Octree data of the processing target node by a predetermined method and generates the coded data. This coding method is arbitrary as long as it is a reversible method. The Octree coding unit 322 supplies the generated coded data (encoded data of the voxel data of the processing target node) to the geometry decoding unit 302 and the bitstream generation unit 305 (both in FIG. 10).
  • the DCM coding unit 323 performs processing related to coding using DCM. For example, the DCM coding unit 323 acquires voxel data of the voxel to be processed supplied from the mode selection unit 321. The DCM coding unit 323 encodes the relative distance from the processing target node to the leaf using the voxel data, and generates the coded data. The DCM coding unit 323 supplies the generated coded data to the geometry decoding unit 302 and the bitstream generation unit 305 (both in FIG. 10).
  • the prediction coding unit 324 has the same configuration as the prediction coding device 100 (FIG. 3), and performs the same processing. That is, the prediction coding unit 324 performs processing related to coding using prediction (coding in the prediction mode). For example, the prediction coding unit 324 acquires voxel data of the voxel to be processed supplied from the mode selection unit 321. The prediction coding unit 324 uses the voxel data to ⁇ 1. Coding / Decoding Using Prediction> Coding using prediction is performed as explained in. That is, ⁇ 1. The description given in Coding / Decoding using Prediction> can also be applied to the predictive coding unit 324.
  • the prediction coding unit 324 expresses the position of the processing target point as a difference (relative position) from the prediction point by this coding, encodes the difference, and generates coded data. Therefore, if the prediction accuracy is sufficiently high, the prediction coding unit 324 can suppress the reduction of the coding efficiency (typically, the coding efficiency can be improved).
  • the prediction coding unit 324 supplies the generated difference coded data to the geometry decoding unit 302 and the bitstream generation unit 305 (both in FIG. 10).
  • the coding unit 313 can correspond to any mode (coding method). That is, the coding unit 313 may correspond to modes other than Octree, DCM, and prediction modes.
  • the processing is performed when the coding unit 313 has a processing unit corresponding to the coding method and the mode selection unit 321 applies the coding method.
  • the voxel data of the target voxel may be supplied to the processing unit.
  • mode information indicating the mode selected by the mode selection unit 321 is included in, for example, a bit stream and transmitted to the decoding side. Will be done.
  • the mode selection unit 321 supplies the metadata generation unit 325 with mode information indicating the selected mode.
  • the metadata generation unit 325 performs processing related to generation of metadata to be added (or associated with) to the encoded data of the geometry data. For example, the metadata generation unit 325 acquires the mode information supplied from the mode selection unit 321. The metadata generation unit 325 generates metadata including the mode information. The metadata generation unit 325 adds or associates the metadata as metadata of the coded data generated by either the Occtree coding unit 322 or the predictive coding unit 324 (for example, adding to or associating the metadata with the coded data. Then, it is supplied to the geometry decoding unit 302 and the bit stream generation unit 305 (both of FIG. 10).
  • this mode information is not transmitted as in method 2-2 described above in ⁇ mode selection>, and mode selection is performed on the decoding side by the same method as mode selection by the mode selection unit 321. (That is, the mode selection unit 321 selects the decoding method corresponding to the selected coding method).
  • the pixel value In the case of a two-dimensional image, the pixel value always exists according to the pixel array, but the number of points in the point cloud and the position of each point depend on the three-dimensional structure expressed by the point cloud. That is, the data structure of the point cloud is different for each data. Therefore, the optimum mode (coding / decoding method) differs depending on the data from the viewpoint of coding efficiency, processing load, and the like. For example, the prediction accuracy of the prediction mode can change depending on the state of density of points.
  • the mode selection unit 321 selects the mode to be applied based on the geometry data to be encoded, and the coding apparatus 300 encodes more various data more appropriately.
  • -Decryption can be performed.
  • the coding apparatus 300 can perform adaptive mode assignment such as applying the prediction mode only to the processing target nodes that can obtain sufficiently high prediction accuracy. That is, the coding device 300 can suppress a reduction in coding efficiency for a wider variety of data.
  • the coding device 300 encodes the geometry 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 301 When the coding process is started, the geometry coding unit 301 performs the geometry coding process in step S301, encodes the geometry data, and generates the coded data of the geometry data.
  • step S302 the geometry decoding unit 302 decodes the coded data generated in step S301 and generates (restores) the geometry data.
  • step S303 the point cloud generation unit 303 performs recolor processing to make the attribute data correspond to the geometry data generated in step S302.
  • step S304 the attribute coding unit 304 encodes the attribute data recolored in step S303.
  • step S305 the bitstream generation unit 305 generates a bitstream including the coded data of the geometry data generated in step S301 and the coded data of the attribute data generated in step S304.
  • step S305 When the process of step S305 is completed, the coding process is completed.
  • the bounding box setting unit 311 of the geometry coding unit 301 sets the bounding box for the geometry data in step S311.
  • step S312 the voxel setting unit 312 divides the bounding box set in step S311 to set voxels, and generates voxel data.
  • step S313 the coding unit 313 executes the voxel data coding process and encodes the voxel data.
  • step S313 When the process of step S313 is completed, the process returns to FIG.
  • the mode selection unit 321 of the coding unit 313 selects the voxel to be processed from the voxel data in step S321. For example, the mode selection unit 321 selects voxels in the order from the upper layer to the lower layer.
  • the mode selection unit 321 determines whether or not the points corresponding to the voxels to be processed are sparse points. For example, the mode selection unit 321 determines whether or not it is sparse depending on whether or not it satisfies a predetermined condition. This condition is optional. For example, when the mode selection unit 321 processes when the number of other nodes (also referred to as sibling nodes) directly belonging to the node (also referred to as a parent node) to which the node to be processed directly belongs is less than a predetermined threshold value. It may be determined that the target node is sparse.
  • a predetermined condition is optional. For example, when the mode selection unit 321 processes when the number of other nodes (also referred to as sibling nodes) directly belonging to the node (also referred to as a parent node) to which the node to be processed directly belongs is less than a predetermined threshold value. It may be determined that the target node is sparse.
  • the number of nodes (also referred to as cousin nodes) directly belonging to the sibling nodes of the parent node of the processing target node is less than a predetermined threshold value, it is determined that the processing target nodes are sparse. May be good. Of course, conditions other than these may be used.
  • step S323 the Octree coding unit 322 performs Octree coding. That is, the Octree coding unit 322 converts the voxel data of the voxel to be processed into Octree data, encodes it, and generates the coded data.
  • step S334 the process proceeds to step S334.
  • step S322 If it is determined in step S322 that the processing target nodes are sparse (not dense), the processing proceeds to step S324.
  • step S324 the mode selection unit 321 determines whether or not the number of leaves directly or indirectly belonging to the processing target node is less than the threshold value. If it is determined that the number of leaves is equal to or greater than the threshold value, it is determined that the processing target nodes are not sparse (dense), and the process proceeds to step S325.
  • step S325 the mode selection unit 321 turns the DCM flag off (OFF).
  • the DCM flag is flag information indicating whether to apply DCM or predictive mode. Setting the DCM flag off indicates that DCM or predictive mode is not applied (Octree is applied).
  • the metadata generation unit 325 includes this DCM flag in the metadata.
  • step S325 When the process of step S325 is completed, the process proceeds to step S323. That is, Octree coding is performed in this case as well.
  • step S324 If it is determined in step S324 that the number of leaves is less than the threshold value, the process proceeds to step S326.
  • step S326 the mode selection unit 321 turns the DCM flag ON (ON). Setting the DCM flag on indicates that DCM or predictive mode is applied (Octree is not applied).
  • the metadata generation unit 325 includes this DCM flag in the metadata.
  • step S327 the mode selection unit 321 applies each mode prepared as a candidate, evaluates the coding result of each mode using the RD cost, and compares them.
  • step S329 the mode selection unit 321 determines whether or not the prediction mode is optimal based on the comparison result. If it is determined that it is not optimal, the process proceeds to step S330.
  • step S330 the mode selection unit 321 turns off the prediction flag.
  • This prediction flag is flag information (mode information) indicating whether or not to apply the prediction mode. Setting the prediction flag off indicates that the prediction mode is not applied (DCM is applied).
  • the metadata generation unit 325 includes this prediction flag in the metadata as mode information.
  • step S331 the DCM coding unit 323 performs DCM coding. That is, the DCM coding unit 323 encodes the relative distance from the point (node) of the voxel to be processed to the leaf.
  • step S331 the process proceeds to step S334.
  • step S329 If it is determined in step S329 that the prediction mode is optimal, the process proceeds to step S332.
  • step S332 the mode selection unit 321 turns the prediction flag ON (ON). Setting the prediction flag to on indicates that the prediction mode is applied (DCM is not applied).
  • the metadata generation unit 325 includes this prediction flag in the metadata as mode information.
  • step S333 the prediction coding unit 324 performs the prediction coding process.
  • This predictive coding process is performed in the same flow as in the case described with reference to the flowchart of FIG. That is, the prediction coding unit 324 predicts the position of the leaf belonging to the voxel (node) to be processed and generates the prediction point. Further, the prediction coding unit 324 derives a difference between the processing target point and the prediction point, and encodes the difference.
  • step S333 the process proceeds to step S334.
  • step S334 the mode selection unit 321 determines whether or not all the points have been processed. If it is determined that there is an unprocessed point, the process returns to step S321, and the subsequent processes are repeated. That is, each process of step S321 to step S334 is executed for each voxel.
  • step S334 when it is determined that all the points have been processed, the voxel data coding process ends.
  • the coding apparatus 300 can suppress a decrease in coding efficiency for a wider variety of data.
  • FIG. 15 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 400 shown in FIG. 15 is a device such as a point cloud that decodes coded data in which 3D data is encoded using voxels and Octree.
  • the decoding device 400 corresponds to, for example, the coding device 300 (FIG. 10), and can correctly decode the coded data generated by the coding device 300.
  • FIG. 15 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the decoding device 400, 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. This also applies to other figures illustrating the processing unit and the like in the decoding device 400.
  • the decoding device 400 has a geometry decoding unit 401, an attribute decoding unit 402, and a point cloud generation unit 403.
  • the geometry decoding unit 401 performs processing related to decoding the encoded data of the geometry data. For example, the geometry decoding unit 401 acquires a bit stream input to the decoding device 400. The geometry decoding unit 401 decodes the coded data of the geometry data included in the bit stream and generates (restores) the geometry data.
  • the geometry decoding unit 401 performs this decoding by a decoding method corresponding to the coding method applied by the geometry coding unit 301 (FIG. 10).
  • the geometry decoding unit 302 (FIG. 10) has the same configuration as the geometry decoding unit 401, and performs the same processing. That is, the description regarding the geometry decoding unit 401 can also be applied to the geometry decoding unit 302.
  • the geometry decoding unit 401 supplies the generated geometry data to the point cloud generation unit 403.
  • the attribute decoding unit 402 performs processing related to decoding of the coded data of the attribute data. For example, the attribute decoding unit 402 acquires a bit stream input to the decoding device 400. The attribute decoding unit 402 decodes the encoded data of the attribute data included in the bit stream and generates (restores) the attribute data.
  • the attribute decoding unit 402 performs this decoding by a decoding method corresponding to the coding method applied by the attribute coding unit 304 (FIG. 10).
  • the attribute decoding unit 402 supplies the generated attribute data to the point cloud generation unit 403.
  • the point cloud generation unit 403 performs processing related to the generation of the point cloud. For example, the point cloud generation unit 403 acquires the geometry data supplied from the geometry decoding unit 401. Further, the point cloud generation unit 403 acquires the attribute data supplied from the attribute decoding unit 402. Then, the point cloud generation unit 403 associates the geometry data with the attribute data and generates the point cloud data. The point cloud generation unit 403 outputs the generated point cloud data to the outside of the decoding device 400.
  • each of these processing units (geometry decoding unit 401 to point cloud generation unit 403) of the decoding device 400 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.
  • FIG. 16 is a block diagram showing a main configuration example of the geometry decoding unit 401 (FIG. 15).
  • the geometry decoding unit 401 includes, for example, a mode selection unit 411, an Octree decoding unit 412, a DCM decoding unit 413, and a predictive decoding unit 414.
  • the mode selection unit 411 performs processing related to selection of the decoding method (mode). For example, the mode selection unit 411 acquires a bit stream input to the decoding device 400. Further, the mode selection unit 411 selects a decoding method (mode) for each voxel (node in Octree) based on the metadata (mode information) included in the bit stream.
  • mode decoding method
  • the mode selection unit 411 grasps the coding method applied by the geometry coding unit 301 by referring to this mode information, and selects the decoding method (mode) corresponding to the coding method. For example, the mode selection unit 411 selects whether to apply a method using prediction of the position information of the processing target point or to apply DCM as the decoding method of the processing target point.
  • the mode selection unit 411 selects one of these candidates. For example, when Octree is selected, the mode selection unit 411 supplies the encoded data of the geometry data corresponding to the node to be processed to the Octree decoding unit 412. When DCM is selected, the mode selection unit 411 supplies the encoded data of the geometry data corresponding to the node to be processed to the DCM decoding unit 413. Further, when the prediction mode is selected, the mode selection unit 411 supplies the prediction / decoding unit 414 with the encoded data of the geometry data corresponding to the node to be processed.
  • Octree decoding unit 412 performs processing related to decoding using Octree. For example, the Octree decoding unit 412 acquires the encoded data of the geometry data supplied from the mode selection unit 411. The Octree decoding unit 412 decodes the encoded data and generates (restores) geometry data (Octree data of the node to be processed) corresponding to the node to be processed. This decoding method is arbitrary as long as it corresponds to the coding method applied in the Octree coding unit 322.
  • the Octree decoding unit 412 converts the generated Octree data into geometry data consisting of coordinate information of the node to be processed.
  • the position of the node to be processed is quantized by voxelization. That is, this geometry data corresponds to the voxel data encoded by the Octree coding unit 322.
  • the Octree decoding unit 412 supplies the generated geometry data to the point cloud generation unit 403 (FIG. 15).
  • the DCM decoding unit 413 performs processing related to decoding using DCM. For example, the DCM decoding unit 413 acquires the encoded data of the geometry data supplied from the mode selection unit 411. The DCM decoding unit 413 decodes the encoded data and generates (restores) the geometry data of the processing target node and the relative distance from the processing target node to the leaf. This decoding method is arbitrary as long as it corresponds to the coding method applied in the DCM coding unit 323.
  • the DCM decoding unit 413 generates (restores) the geometry data of the leaf based on the generated information.
  • the DCM decoding unit 413 supplies the generated geometry data to the point cloud generation unit 403 (FIG. 15).
  • Predictive decoding unit 414 performs processing related to decoding using prediction (decoding in prediction mode).
  • the predictive decoding unit 414 has the same configuration as the predictive decoding device 200 (FIG. 6), and performs the same processing. That is, the predictive decoding unit 414 has ⁇ 1.
  • Decoding using prediction> Decoding using prediction is performed as explained in>. That is, ⁇ 1.
  • the description given in Coding / Decoding using Prediction> can also be applied to the predictive decoding unit 414. Therefore, if the prediction accuracy is sufficiently high, the prediction decoding unit 414 can suppress the reduction of the coding efficiency (typically, the coding efficiency can be improved).
  • the predictive decoding unit 414 acquires the encoded data of the geometry data supplied from the mode selection unit 411.
  • the predictive decoding unit 414 decodes the encoded data and generates (restores) the difference for the leaf that directly or indirectly belongs to the processing target node.
  • This decoding method is arbitrary as long as it corresponds to the coding method applied in the prediction coding unit 324.
  • the prediction decoding unit 414 makes a prediction in the same manner as in the case of the prediction coding unit 324, and generates prediction points. Further, the prediction decoding unit 414 generates (restores) the geometry data of the processing target point by adding the position of the prediction point to the difference (difference between the processing target point and the prediction point) obtained by decoding. ). The predictive decoding unit 414 supplies the generated geometry data to the point cloud generation unit 403 (FIG. 15).
  • the geometry decoding unit 401 can correspond to any mode (decoding method). That is, the geometry decoding unit 401 may correspond to modes other than Octree, DCM, and prediction modes.
  • the geometry decoding unit 401 corresponds to another decoding method
  • the geometry decoding unit 401 has a processing unit corresponding to the decoding method, and when the mode selection unit 411 applies the decoding method, the coded data is input. It may be supplied to the processing unit.
  • the mode selection unit 411 selects the mode to be applied based on the mode information and the like, so that the decoding device 400 more easily applies the decoding method corresponding to the coding method applied by the coding device 300. can do. Therefore, the decoding device 400 can more appropriately decode a wider variety of data.
  • the decoding device 400 can perform adaptive mode assignment such as applying the prediction mode only to the processing target node that can obtain sufficiently high prediction accuracy. That is, the decoding device 400 can suppress a reduction in coding efficiency for a wider variety of data.
  • the decoding device 400 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 401 When the decoding process is started, the geometry decoding unit 401 performs the geometry decoding process in step S401, decodes the coded data of the geometry data, and generates (restores) the geometry data.
  • step S402 the attribute decoding unit 402 decodes the coded data of the attribute data and generates (restores) the attribute data.
  • step S403 the point cloud generation unit 403 generates point cloud data by associating the geometry data generated in step S401 with the attribute data generated in step S402.
  • step S403 When the process of step S403 is completed, the decryption process is completed.
  • the mode selection unit 411 selects the node to be processed in step S411. For example, the mode selection unit 411 selects nodes in the order from the upper layer to the lower layer.
  • step S412 the mode selection unit 411 determines whether or not the node to be processed is a sparse point. This determination method is the same as in step S322.
  • step S413 the Octree decoding unit 412 performs Octree decoding. That is, the Octree decoding unit 412 decodes the encoded data to generate the Octree data, and further generates the geometry data using the Octree data.
  • step S413 the process proceeds to step S418.
  • step S412 If it is determined in step S412 that the processing target nodes are sparse (not dense), the processing proceeds to step S414.
  • step S414 the mode selection unit 411 refers to the DCM flag of the metadata included in the bit stream, and determines whether or not the DCM flag is ON. If it is determined that the DCM flag is OFF, the Octree coding has been applied and the process proceeds to step S413.
  • step S414 when it is determined in step S414 that the DCM flag is ON (ON), the DCM or prediction mode is applied, so the process proceeds to step S415.
  • step S415 the mode selection unit 411 refers to the prediction flag (mode information) of the metadata included in the bit stream, and determines whether or not the prediction flag is ON. If it is determined that the prediction flag is OFF, DCM coding has been applied and the process proceeds to step S416.
  • step S416 the DCM decoding unit 413 performs DCM decoding. That is, the DCM decoding unit 413 decodes the encoded data and generates (restores) the relative distance from the point (node) of the voxel to be processed to the leaf.
  • step S416 the process proceeds to step S418.
  • step S415 If the prediction flag is determined to be ON in step S415, the prediction coding is applied, so the process proceeds to step S417.
  • step S417 the predictive decoding unit 414 performs the predictive decoding process.
  • This predictive decoding process is performed in the same flow as in the case described with reference to the flowchart of FIG. 7, for example. That is, the predictive decoding unit 414 decodes the encoded data and generates (restores) the difference between the position of the processing target point, which is a leaf belonging to the voxel (node) to be processed, and the position of the predicted point. Further, the prediction decoding unit 414 sets a reference point, makes a prediction based on the reference point, and generates a prediction point. Then, the prediction decoding unit 414 generates (restores) the geometry data of the processing target point by adding the position of the prediction point to the difference. When the process of step S417 is completed, the process proceeds to step S418.
  • step S4108 the mode selection unit 411 determines whether or not all the points have been processed. If it is determined that there are unprocessed points, the process returns to step S411, and the subsequent processes are repeated. That is, each process of step S411 to step S418 is executed for each voxel.
  • step S4108 when it is determined that all the points have been processed, the geometry decoding process ends.
  • the decoding device 400 can suppress a decrease in coding efficiency for a wider variety of data.
  • each process of steps S451 to S456 is performed in the same manner as each process of steps S321 to S326 of FIG.
  • step S457 the mode selection unit 321 determines whether or not to apply the prediction mode.
  • This determination method is arbitrary. For example, any of the methods 2-2-1 to 2-2-3 described with reference to FIG. 9 may be applied. Moreover, other determination method may be applied.
  • step S457 If it is determined in step S457 that the prediction mode is not applied, the process proceeds to step S458.
  • step S458 the DCM coding unit 323 performs DCM coding. If it is determined in step S457 that the prediction mode is applied, the process proceeds to step S459.
  • step S459 the predictive coding unit 324 performs the predictive coding process. This predictive coding process is performed in the same flow as in the case described with reference to, for example, the flowchart of FIG.
  • step S460 is performed in the same manner as the process of step S334 of FIG. If it is determined in step S460 that all the points have been processed, the voxel data coding process is completed, and the process returns to FIG.
  • each process of steps S481 to S484 is executed in the same manner as each process of steps S411 to S414 of FIG.
  • the mode selection unit 411 since the mode information is not transmitted from the coding side, the mode selection unit 411 performs the same mode determination as the mode selection unit 321 instead of referring to the mode information.
  • step S485 the mode selection unit 411 determines whether or not to apply the prediction mode.
  • This determination method may correspond to the determination method performed by the mode selection unit 321. For example, any of the methods 2-2-1 to 2-2-3 described with reference to FIG. 9 may be applied. Moreover, other determination method may be applied.
  • step S485 If it is determined in step S485 that the prediction mode is not applied, the process proceeds to step S486.
  • step S486 the DCM decoding unit 413 performs DCM decoding. If it is determined in step S485 that the prediction mode is applied, the process proceeds to step S487.
  • step S487 the predictive decoding unit 414 performs the predictive decoding process. This predictive decoding process is performed in the same flow as in the case described with reference to the flowchart of FIG. 7, for example.
  • step S488 is performed in the same manner as the process of step S418 of FIG. If it is determined in step S488 that all the points have been processed, the geometry decoding process is completed, and the process returns to FIG.
  • the coding device 300 and the decoding device 400 can apply the method 2-2 (FIG. 9). Therefore, since the transmission of mode information becomes unnecessary, the reduction in coding efficiency can be further suppressed.
  • This prediction is performed, for example, by the prediction processing unit 101 (FIG. 3) of the prediction coding device 100 and the prediction processing unit 202 (FIG. 6) of the prediction decoding device 200. That is, the predictive coding unit 324 of the coding device 300 and the predictive decoding unit 414 of the decoding device 400 also perform the same prediction. That is, the following description can be applied to the predictions made in these processing units.
  • N points also referred to as neighborhood points
  • N is a natural number
  • It may be a point
  • the position of the center of gravity of the N reference points may be the position of the prediction point.
  • the position of the center of gravity may be derived from the position of each reference point, and the prediction point located at the center of gravity may be generated (the position information of the prediction point indicating the center of gravity of the reference point is generated).
  • the position of the prediction point may be a position that can be derived from the position of each reference point, and may be other than the center of gravity. Further, the reference points used for deriving the positions of the prediction points may be singular or plural.
  • the processing target point such as the parent node is directly or indirectly at the reference point (neighborhood point).
  • Nodes belonging to nodes in the upper layer of the processing target point in the tree structure using the position information of each point constituting the point cloud
  • a node determined to be DCM center point of voxel
  • the node to which the processing target point belongs directly or indirectly becomes the center point of the voxel including the processing target point, it is guaranteed to be located in the vicinity of the processing target point to some extent.
  • the prediction accuracy is guaranteed to some extent, and the reduction in coding efficiency can be suppressed.
  • the distance between such a node and the processing target point can be estimated by the number of layers between them. Therefore, by using such a node as a reference point, it is possible to more easily estimate the prediction accuracy and the coding efficiency.
  • one node (center point of voxel) determined to be DCM is set as a reference point, and the center of gravity of the one reference point (that is, the same position as the reference point).
  • the difference in position between the processing target point and the prediction point generated by making a prediction by this method is the same information as the relative position between the leaf and the node obtained by DCM.
  • the number N of reference points may be fixed as in "Method 3-1-2" shown in the fourth row from the top of the table in FIG.
  • the number N of reference points may be variable as in "Method 3-1-3" shown in the fifth row from the top of the table in FIG.
  • the number N of reference points may be set for each processing target point.
  • the number N of reference points may be set for each layer.
  • an M-dimensional function is fitted from nearby N points (N reference points) by, for example, a minimum square error.
  • the prediction point may be generated at the position where the distance from the center of the voxel of the node determined to be DCM to the function is the minimum.
  • the number N of reference points may be singular or plural, and in the "method 3-2-2" shown in the seventh row from the top of the table in FIG. As shown in the eighth row from the top of the table of FIG. 21, it may be fixed as shown in "Method 3-2-3". The same effects as in the cases of Method 3-1-2 and Method 3-1-3 can be obtained, respectively.
  • the degree M of the function may be fixed or variable. When M is variable, it is necessary to transmit information indicating M from the coding side to the decoding side.
  • prediction may be performed using a general interpolation algorithm such as spline interpolation or Lagrange interpolation. .. By supporting various interpolation algorithms, predictions can be optimized for a wider variety of cases.
  • the quantization of this difference is performed by, for example, the prediction processing unit 101 (FIG. 3) of the prediction coding apparatus 100. That is, the predictive coding unit 324 of the coding device 300 also performs the same quantization. That is, the following description can be applied to the quantization of the difference performed in these processing units.
  • the difference may not be quantized.
  • the difference quantization unit 114 (FIG. 3) can be omitted, and an increase in the load of the prediction process can be suppressed.
  • the reduction in image quality can be suppressed (point cloud data with higher image quality can be provided).
  • the difference may be quantized into a predetermined predetermined bit amount (that is, a fixed bit amount). Good.
  • a predetermined predetermined bit amount that is, a fixed bit amount.
  • the amount of bits after quantization may be variable for each point as in "Method 4-3" shown in the fourth row from the top of the table in FIG. By doing so, the image quality can be controlled for each point.
  • the amount of bits after quantization may be variable for each node.
  • the image quality can be controlled for each node. That is, the image quality of the point cloud can be controlled for each predetermined area of the three-dimensional space.
  • the number of designated bits to be transmitted is reduced as compared with the case of the method 4-3 in which the bit amount is specified for each point, the reduction in coding efficiency can be suppressed.
  • the amount of bits can be controlled according to the density of points (nodes). For example, it is possible to increase the bit amount of the portion where the points (nodes) are dense and decrease the bit amount of the portion where the points (nodes) are sparse. By doing so, it is possible to suppress the reduction in coding efficiency while suppressing the reduction in image quality. On the contrary, the bit amount may be controlled. By doing so, it is possible to increase the bit amount in the region where the prediction accuracy is likely to be reduced, and it is possible to suppress the reduction in image quality.
  • the amount of bits after quantization may be made variable for each reference point hierarchy (LoD). That is, the difference may be quantized so that the amount of bits corresponds to the hierarchy in which the nodes in the tree structure using the position information of each point constituting the point cloud become sparse.
  • one node determined to be DCM (center point of voxel) is set as a reference point, a prediction point is generated at the center of gravity of that one reference point (that is, the same position as the reference point), and the processing target point It is assumed that the difference in position from the prediction point is derived. In this case, the higher the reference point is, the more sparse the processing target point is likely to be. Further, as the reference point is located in the upper layer, the distance to the processing target point becomes longer, and the prediction accuracy is likely to decrease.
  • this difference is quantized by applying method 4-5 so that the bit amount is reduced as the reference point (one node determined to be DCM) is located in the upper layer.
  • one node (center point of the voxel) determined to be DCM is set as a reference point, and the center of gravity of the one reference point (that is, the same position as the reference point).
  • the point to which DCM is applied can also be quantized by applying this technique (for example, method 4-5). In that case as well, the same effect as in the case of the prediction mode described above can be obtained.
  • This processing order can also be applied to, for example, the prediction performed by the predictive decoding unit 414 (FIG. 16) of the decoding device 400. That is, the following description can be applied to the predictions made in these processing units.
  • the processing of the DCM or the prediction mode may be performed after the Octree coding.
  • the process of step S416 or step S417 may be performed after the process of step S413. That is, after decoding the point to which another decoding method of the point cloud is applied, the position information of the processing target point to which the decoding method using the prediction of the position information of the processing target point is applied is predicted, and the position information of the predicted point is predicted. May be generated.
  • the processing order between nodes performed in DCM or the prediction mode may be controlled.
  • the nodes to be processed are arranged in the shallow order of the hierarchy (LoD) (that is, from the upper layer to the lower layer). It may be selected in the order of going to). By doing so, when the nodes determined to be sparse are in the lower layer, that is, the prediction accuracy of the denser points can be improved.
  • LoD shallow order of the hierarchy
  • the nodes to be processed are sorted in the deepest order of the hierarchy (LoD) (that is, from the lower layer). It may be selected in the order of going to the upper layer). By doing so, when the node determined to be sparse is in a higher layer, that is, the prediction accuracy of the sparser point can be improved.
  • LoD deepest order of the hierarchy
  • the points where the nodes become sparse in the upper layer are defined. Priority may be given to points where nodes are sparse in the lower layer, and prediction may be performed to generate position information of the predicted points.
  • the processing order between nodes may be controlled even within the hierarchy (LoD).
  • Level 5-1-3 shown in the fifth row from the top of the table in FIG. 23
  • each node may be processed in Morton code order in the hierarchy.
  • Morton code order the neighborhood points can be reconstructed in order. Therefore, it becomes easy to set the neighborhood point as the reference point in the prediction.
  • each node is sorted in Morton code order in the hierarchy and processed in 2-minute search order. May be good.
  • processing in the order of the 2-minute search it becomes easy to generate a prediction point at the position of interpolation with respect to the reference point, and the prediction accuracy can be improved.
  • processing order is arbitrary, and processing orders other than these processing orders can be applied.
  • 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 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 prediction unit that predicts the position information of the processing target point based on the position information of the reference point and generates the position information of the prediction point.
  • a difference derivation unit for deriving the difference between the position information of the prediction point generated by the prediction unit and the position information of the processing target point, and
  • An information processing device including a coding unit that encodes the difference derived by the difference deriving unit and generates a bit stream.
  • the prediction unit uses one or a plurality of points located in the vicinity of the processing target point as the reference point, derives a function using the reference point, and uses the function to derive position information of the prediction point.
  • the information processing apparatus according to (1).
  • the prediction unit sets a node in the upper layer of the processing target point in the tree structure using the position information of each point constituting the point cloud as the reference point.
  • Information processing device described in. (5) A difference quantization unit for quantizing the difference derived by the difference derivation unit is further provided.
  • the information processing apparatus according to any one of (1) to (4), wherein the coding unit encodes the difference quantized by the difference quantization unit to generate the bit stream.
  • the difference quantization unit quantizes the difference and sets the bit amount according to the hierarchy in which the nodes in the tree structure using the position information of each point constituting the point cloud are sparse.
  • the information processing apparatus according to (5), wherein the coding unit encodes the difference quantized by the difference quantization unit into a bit amount corresponding to the layer to generate the bit stream.
  • a selection unit for selecting whether to apply the method of using the prediction of the position information of the processing target point or to apply the DCM (Direct Coding Mode) is further provided.
  • the prediction unit makes the prediction and generates position information of the prediction point.
  • the difference derivation unit derives the difference, The information processing apparatus according to any one of (1) to (6), wherein the coding unit encodes the difference to generate the bit stream.
  • the selection unit selects a decoding method of the processing target point according to the hierarchy in which the nodes in the tree structure using the position information of each point constituting the point cloud are sparse. Information processing equipment.
  • the position information of the processing target point is predicted based on the position information of the reference point, and the position information of the predicted point is generated. Derivation of the difference between the generated position information of the prediction point and the position information of the processing target point is derived.
  • An information processing method that encodes the derived difference and generates a bit stream.
  • the coded data encoded by using the prediction of the position information of the processing target point of the point cloud that expresses the object of the three-dimensional shape as a point group is decoded, and the prediction is made based on the position information of the reference point.
  • a decoding unit that generates a difference between the position information of the predicted point and the position information of the processing target point corresponding to the predicted point.
  • a prediction unit that predicts the position information of the processing target point based on the position information of the reference point and generates the position information of the prediction point.
  • An information processing device including an addition unit that adds the position information of the prediction point generated by the prediction unit to the difference generated by the decoding unit and derives the position information of the processing target point.
  • the prediction unit describes the position information of the prediction point indicating the center of gravity of the reference point, using one or a plurality of points located in the vicinity of the processing target point as the reference point.
  • Information processing device (13) The prediction unit uses one or a plurality of points located in the vicinity of the processing target point as the reference point, derives a function using the reference point, and uses the function to derive position information of the prediction point.
  • the information processing apparatus according to (11).
  • the prediction unit sets a node in the upper layer of the processing target point in the tree structure using the position information of each point constituting the point cloud as the reference point. Information processing device described in.
  • a selection unit for selecting whether to apply a method using prediction of the position information of the processing target point or to apply a DCM (Direct Coding Mode) is further provided.
  • the decoding unit decodes the coded data to generate the difference, and then generates the difference.
  • the prediction unit makes the prediction and generates position information of the prediction point.
  • the information processing apparatus according to any one of (11) to (14), wherein the addition portion adds the position information of the prediction point to the difference.
  • the selection unit selects a decoding method of the processing target point based on the information included in the bit stream indicating the coding method of the processing target point.
  • the selection unit selects a decoding method of the processing target point according to a hierarchy in which nodes are sparse in a tree structure using position information of each point constituting the point cloud (15).
  • Information processing equipment Information processing equipment.
  • the prediction unit predicts the position information of the processing target point to which the decoding method using the prediction of the position information of the processing target point is applied after decoding the point to which the other decoding method of the point cloud is applied.
  • the information processing apparatus according to any one of (11) to (17), wherein the position information of the prediction point is generated.
  • the prediction unit is a higher layer in a tree structure using the position information of each point constituting the point cloud among the points to which the decoding method using the prediction of the position information of the processing target point is applied.
  • the point where the node becomes sparse is prioritized, or the point where the node becomes sparse in the lower layer is prioritized, and the prediction is performed to generate the position information of the predicted point.
  • Information processing device described in Crab. (20) The coded data encoded by using the prediction of the position information of the processing target point of the point cloud that expresses the object of the three-dimensional shape as a point group is decoded, and the prediction is made based on the position information of the reference point. Generates the difference between the position information of the predicted point and the position information of the processing target point corresponding to the predicted point.
  • the position information of the processing target point is predicted based on the position information of the reference point, and the position information of the prediction point is generated.
  • 100 predictive coding device 101 predictive processing unit, 102 reversible coding unit, 111 reference point setting unit, 112 predictive point generation unit, 113 difference derivation unit, 114 difference quantization unit, 200 predictive decoding device, 201 reversible decoding unit, 202 Prediction processing unit, 211 Reference point setting unit, 212 Prediction point generation unit, 213 Difference addition unit, 300 coding device, 301 Geometry coding unit, 302 Geometry decoding unit, 303 Point cloud generation unit, 304 Attribute coding unit , 305 bit stream generation unit, 311 bounding box setting unit, 312 voxel setting unit, 313 coding unit, 321 mode selection unit, 322 Octtree coding unit, 323 DCM coding unit, 324 prediction coding unit, 325 metadata generation Unit, 400 decoding device, 401 geometry decoding unit, 402 attribute decoding unit, 403 point cloud generation unit, 411 mode selection unit, 412 Octtree decoding unit, 413 DCM decoding unit, 414 predictive decoding unit

Landscapes

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

Abstract

本開示は、ポイントクラウドデータの符号化効率の低減を抑制することができるようにする情報処理装置および方法に関する。 3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、その生成された予測ポイントの位置情報と処理対象ポイントの位置情報との差分を導出し、その導出された差分を符号化し、ビットストリームを生成する。本開示は、例えば、情報処理装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、ポイントクラウドデータの符号化効率の低減を抑制することができるようにした情報処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法として、例えばOctreeを用いた符号化があった(例えば、非特許文献1参照)。
 近年、そのOctreeにおいてリーフが特定の個数以下しか存在しないノードにおいて、そのノードから各リーフまでの相対距離を符号化するDCM(Direct Coding Mode)が提案された(例えば、非特許文献2参照)。
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 Sebastien Lasserre, David Flynn, "[PCC] Inference of a mode using point location direct coding in TMC3", ISO/IEC JTC1/SC29/WG11 MPEG2018/m42239, January 2018, Gwangju, Korea
 しかしながら、例えばライダーデータ(LiDAR(Light Detection and Ranging))のように、主に疎な点からなるデータでは、略全ての点がこのDCMで処理されることになる。DCMは非圧縮の処理のため、このような場合、ポイントクラウドデータの符号化効率が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドデータの符号化効率の低減を抑制することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成する予測部と、前記予測部により生成された前記予測ポイントの位置情報と前記処理対象ポイントの位置情報との差分を導出する差分導出部と、前記差分導出部により導出された前記差分を符号化し、ビットストリームを生成する符号化部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、生成された前記予測ポイントの位置情報と前記処理対象ポイントの位置情報との差分を導出し、導出された前記差分を符号化し、ビットストリームを生成する情報処理方法である。
 本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報と前記予測ポイントに対応する処理対象ポイントの位置情報との差分を生成する復号部と、前記ポイントクラウドについて、参照ポイントの位置情報に基づいて前記処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成する予測部と、前記復号部により生成された前記差分に対して、前記予測部により生成された前記予測ポイントの位置情報を足しこみ、前記処理対象ポイントの位置情報を導出する足しこみ部とを備える情報処理装置である。
 本技術の他の側面の情報処理方法は、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報と前記予測ポイントに対応する処理対象ポイントの位置情報との差分を生成し、前記ポイントクラウドについて、参照ポイントの位置情報に基づいて前記処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、生成された前記差分に対して、生成された前記予測ポイントの位置情報を足しこみ、前記処理対象ポイントの位置情報を導出する情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報が予測され、予測ポイントの位置情報が生成され、その生成された予測ポイントの位置情報と処理対象ポイントの位置情報との差分が導出され、その導出された差分が符号化され、ビットストリームが生成される。
 本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データが復号され、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報とその予測ポイントに対応する処理対象ポイントの位置情報との差分が生成され、そのポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報が予測され、予測ポイントの位置情報が生成され、その生成された差分に対して、生成された予測ポイントの位置情報が足しこまれ、その処理対象ポイントの位置情報が導出される。
DCMについて説明する図である。 予測について説明する図である。 予測符号化装置の主な構成例を示すブロック図である。 予測符号化処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 予測復号装置の主な構成例を示すブロック図である。 予測復号処理の流れの例を説明するフローチャートである。 予測処理の流れの例を説明するフローチャートである。 モード判定について説明する図である。 符号化装置の主な構成例を示すブロック図である。 ジオメトリ符号化部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 ジオメトリ符号化処理の流れの例を説明するフローチャートである。 ボクセルデータ符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 ジオメトリ復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 ジオメトリ復号処理の流れの例を説明するフローチャートである。 ボクセルデータ符号化処理の流れの例を説明するフローチャートである。 ジオメトリ復号処理の流れの例を説明するフローチャートである。 予測について説明する図である。 差分量子化について説明する図である。 処理順について説明する図である。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.予測を用いた符号化・復号
 2.第1の実施の形態(予測符号化装置・予測復号装置)
 3.第2の実施の形態(符号化装置・復号装置(モード判定))
 4.第3の実施の形態(予測方法)
 5.第4の実施の形態(差分量子化)
 6.第5の実施の形態(処理順)
 7.付記
 <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
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献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」のノードを省略することにより、ポイントが存在しない領域のボクセルを低解像度化することができるので、さらなる情報量の増大の抑制(典型的には情報量の削減)を行うことができる。
  <DCM>
 ポイントが密な状態であれば(近傍にポイントが多く存在する場合)、Octree化により、ポイント数のスケーラビリティを実現することができる。しかしながら、ポイントが疎な状態であると(近傍に存在するポイントが少ない場合)、Octreeの各階層のポイントの位置の解像度は変化するものの、ポイント数は大きく変化しない。つまり、疎なノードの下には分岐の少ないノードが形成されることになり、木構造としての価値が低減することになる。つまり、ポイントが疎な状態の場合、価値の低いノードを生成する処理が増大し、処理量が不要に増大するおそれがあった。
 そこで、近年、例えば非特許文献2に記載のように、Octreeにおいてリーフ(Octreeの最下位層のノード、すなわち、最高解像度のポイント)が特定の個数以下しか存在しないノードにおいて、そのノードから各リーフまでの相対距離を符号化するDCM(Direct Coding Mode)が提案された。つまり、このDCMの場合、処理対象ノードからその処理対象ノードに直接的または間接的に属する各リーフまでの相対距離(xyzの各方向について)が求められ、符号化される。例えば、ボクセルのOctree化において、疎な状態のノードが発生するとこのようなDCMが適用される。このようにDCMを適用することにより、処理対象ノードに属するOctreeの生成を省略することができる。つまり、Octreeの生成(つまり、符号化処理)をより容易かつより高速に行うことができる。
 しかしながら、このDCMは非圧縮の処理である。DCMの場合、処理対象ノードからリーフまでのxyzの各方向の相対距離がそれぞれビット長で示される。例えば図1のAに示されるように、Octreeにおける疎なノードn0の階層(LoD)がn(LoD=n)であり、そのノードn0に属する疎なリーフp0の階層がl(LoD=l)であるとする。DCMの場合、ノードn0からリーフp0までの相対距離は、図1のBの上段のように、(l-n)×3×nB(bit)で示される。同様に、図1のAのOctreeの疎なノードn2の階層(LoD)がn(LoD=m)であり、そのノードn2に属する疎なリーフp2の階層がl(LoD=l)であるとする。DCMの場合、ノードn2からリーフp2までの相対距離は、図1のBの下段のように、(l-m)×3×nB(bit)で示される。
 例えば、ライダーデータ(LiDAR(Light Detection and Ranging))のように主に疎なポイントからなるポイントクラウドデータの場合、略全てのポイントに対してこのDCMが適用されてしまう。つまりデータ量が低減されないまま符号化されてしまう。したがって、符号化効率が低減するおそれがあった。
  <予測の適用>
 そこで、参照ポイントを用いて処理対象ポイントの予測を行い、生成した予測ポイントと処理対象ポイントとの位置情報の差分を求めるようにしてもよい。
 例えば、図2に示されるように、位置情報のOctreeにおける疎なノードn0に属する疎なリーフp0を処理対象ポイントとし、そのリーフp0の予測(prediction)を、参照ポイントであるリーフp1を用いて行い、予測ポイントp'を生成し、リーフp0とその予測ポイントp'との差分(residual)を求める。このように求めた差分は、リーフp0よりもデータ量が少ない。つまり、このように求めた差分を符号化・復号することにより、リーフp1をそのまま符号化・復号する場合よりも、ポイントクラウドデータの符号化効率の低減を抑制することができる。
 <2.第1の実施の形態>
  <予測符号化装置>
 例えば、3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、その生成された予測ポイントの位置情報と処理対象ポイントの位置情報との差分を導出し、その導出された差分を符号化し、ビットストリームを生成するようにしてもよい。
 例えば、情報処理装置において、3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成する予測部と、その予測部により生成された予測ポイントの位置情報と処理対象ポイントの位置情報との差分を導出する差分導出部と、その差分導出部により導出された差分を符号化し、ビットストリームを生成する符号化部とを備えるようにしてもよい。
 このように差分を符号化することにより、ポイントクラウドデータの符号化効率の低減を抑制することができる。
 より具体的な例について説明する。図3は、本技術を適用した情報処理装置の一態様である予測符号化装置の構成の一例を示すブロック図である。図3に示される予測符号化装置100は、予測を用いてジオメトリデータを符号化し、その符号化データを生成する装置である。
 なお、図3においては、処理部やデータの流れ等の主なものを示しており、図3に示されるものが全てとは限らない。つまり、予測符号化装置100において、図3においてブロックとして示されていない処理部が存在したり、図3において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図3に示されるように予測符号化装置100は、予測処理部101および可逆符号化部102を有する。
 予測処理部101は、ポイントの予測に関する処理を行う。例えば、予測処理部101は、ポイントクラウドのジオメトリデータを取得する。また、予測処理部101は、そのジオメトリデータに含まれる、予測を行うポイント(処理対象ポイントとも称する)について、その処理対象ポイントに対応する参照ポイントを設定する。参照ポイントとは、予測の際に位置が参照されるポイントのことを示す。処理対象ポイントが複数存在する場合、予測処理部101は、各処理対象ポイントについて参照ポイントをそれぞれ設定する。
 さらに、予測処理部101は、各処理対象ポイントの位置について予測を行い、予測ポイントを生成する。予測ポイントとは、処理対象ポイントの位置を予測した結果、すなわち、予測された位置に設けられた仮想的なポイントである。予測処理部101は、各処理対象ポイントに対応する参照ポイントの位置を参照し、その参照ポイントの位置に基づいて処理対象ポイントの位置を予測する(予測ポイントを生成する)。
 また、予測処理部101は、処理対象ポイントの位置とその予測ポイントの位置との差分を導出する。処理対象ポイントが複数存在する場合、予測処理部101は、各処理対象ポイントについてその差分を導出する。予測処理部101は、導出した差分を量子化し、可逆符号化部102に供給する。
 図3に示されるように、予測処理部101は、参照ポイント設定部111、予測ポイント生成部112、差分導出部113、および差分量子化部114を備える。
 参照ポイント設定部111は、参照ポイントの設定に関する処理を行う。例えば、参照ポイント設定部111は、予測処理部101の外部から供給されるジオメトリデータを取得する。また、参照ポイント設定部111は、そのジオメトリデータについて、処理対象ポイントに対応する参照ポイントを設定する。参照ポイント設定の詳細については、後述する。参照ポイント設定部111は、設定した参照ポイントに関する情報とジオメトリデータとを予測ポイント生成部112に供給する。
 予測ポイント生成部112は、予測ポイントの生成に関する処理を行う。例えば、予測ポイント生成部112は、参照ポイント設定部111から供給されるジオメトリデータと参照ポイントに関する情報とを取得する。また、予測ポイント生成部112は、取得したそれらの情報に基づいて、参照ポイントの位置に基づく処理対象ポイントの位置の予測を行い、予測ポイントを生成する。予測ポイント生成の詳細については、後述する。予測ポイント生成部112は、生成した予測ポイントに関する情報とジオメトリデータとを差分導出部113に供給する。
 差分導出部113は、処理対象ポイントと予測ポイントとの位置情報の差分の導出に関する処理を行う。例えば、差分導出部113は、予測ポイント生成部112から供給される予測ポイントに関する情報とジオメトリデータとを取得する。また、差分導出部113は、取得したそれらの情報に基づいて、上述した処理対象ポイントの位置と予測ポイントの位置との差分を導出する。差分導出部113は、その導出した差分を、差分量子化部114に供給する。
 差分量子化部114は、差分の量子化に関する処理を行う。例えば、差分量子化部114は、差分導出部113から供給される差分を取得する。また、差分量子化部114は、取得した差分を所定の方法で量子化する。この量子化の詳細については後述する。差分量子化部114は、量子化された差分を可逆符号化部102に供給する。
 可逆符号化部102は、処理対象ポイントの位置と予測ポイントの位置との差分の符号化に関する処理を行う。例えば、可逆符号化部102は、予測処理部101から供給された差分(差分量子化部114から供給された量子化された差分)を取得する。可逆符号化部102は、その差分を符号化して符号化データを生成する。この符号化方法は、可逆な方法であれば任意である。可逆符号化部102は、生成した符号化データを予測符号化装置100の外部に出力する。
 以上のように、予測符号化装置100は、処理対象ポイントの位置と予測ポイントの位置との差分を導出する。この導出された差分においては、処理対象ポイントの位置が予測ポイントからの差分として表される。したがって、予測精度が十分に高ければ、予測符号化装置100は、処理対象ポイントよりも情報量の少ない差分を導出することができる。
 つまり、予測符号化装置100は、ジオメトリデータの情報量を低減させて符号化を行うことができる。したがって、予測符号化装置100は、ポイントクラウドデータの符号化効率の低減を抑制することができる。
 このように、ポイントクラウドのジオメトリデータの場合、2次元画像の場合のような画素値の予測ではなく、ポイントの位置の予測により、情報量を低減させることができる。
 なお、予測符号化装置100のこれらの処理部(予測処理部101(参照ポイント設定部111乃至差分量子化部114)および可逆符号化部102)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <予測符号化処理の流れ>
 予測符号化装置100は、予測符号化処理を実行してジオメトリデータを符号化する。この予測符号化装置100により実行される予測符号化処理の流れの例を、図4のフローチャートを参照して説明する。
 予測符号化処理が開始されると、予測符号化装置100の予測処理部101は、ステップS101において、予測処理を行い、処理対象ポイントの位置と予測ポイントの位置との差分(量子化された差分)を導出する。
 ステップS102において、可逆符号化部102は、ステップS101において導出された差分(量子化された差分)を、所定の符号化方法で可逆符号化する。
 ステップS102の処理が終了すると予測符号化処理が終了する。以上のような処理を各処理対象ポイントについて行うことにより、予測符号化装置100は、ポイントクラウドデータの符号化効率の低減を抑制することができる。
  <予測処理の流れ>
 図4のステップS101において実行される予測処理の流れの例を、図5のフローチャートを参照して説明する。
 予測処理が開始されると、予測処理部101の参照ポイント設定部111は、ステップS111において、ポイントクラウドのジオメトリデータについて、処理対象ポイントに対応する参照ポイントを設定する。
 ステップS112において、予測ポイント生成部112は、ステップS111において設定された参照ポイントの位置を用いて処理対象ポイントの位置の予測を行い、処理対象ポイントに対応する予測ポイントを生成する。
 ステップS113において、差分導出部113は、処理対象ポイントの位置と、ステップS112において生成されたその処理対象ポイントに対応する予測ポイントの位置との差分を導出する。
 ステップS114において、差分量子化部114は、ステップS113において導出された差分を、所定の方法で量子化する。
 ステップS114の処理が終了すると予測処理が終了し、処理は図4に戻る。
 以上のように予測処理を実行することにより、予測処理部101は、ジオメトリデータの情報量を低減させることができる。
  <予測復号装置>
 また、例えば、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報と前記予測ポイントに対応する処理対象ポイントの位置情報との差分を生成し、そのポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、その生成された差分に対して、生成された予測ポイントの位置情報を足しこみ、処理対象ポイントの位置情報を導出するようにしてもよい。
 例えば、情報処理装置において、3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報とその予測ポイントに対応する処理対象ポイントの位置情報との差分を生成する復号部と、そのポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成する予測部と、復号部により生成された差分に対して、予測部により生成された予測ポイントの位置情報を足しこみ、処理対象ポイントの位置情報を導出する足しこみ部とを備えるようにしてもよい。
 このように差分が符号化された符号化データを復号することにより、ポイントクラウドデータの符号化効率の低減の抑制を実現することができる。
 より具体的な例について説明する。図6は、本技術を適用した情報処理装置の一態様である予測符号化装置の構成の一例を示すブロック図である。図6に示される予測復号装置200は、例えば予測符号化装置100により生成された符号化データ(すなわち、予測を用いて符号化されたジオメトリデータの符号化データ)を復号し、ポイントクラウドのジオメトリデータを生成する装置である。
 なお、図6においては、処理部やデータの流れ等の主なものを示しており、図6に示されるものが全てとは限らない。つまり、予測符号化装置100において、図6においてブロックとして示されていない処理部が存在したり、図6において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図6に示されるように予測復号装置200は、可逆復号部201および予測処理部202を有する。
 可逆復号部201は、符号化データの復号に関する処理を行う。例えば、可逆復号部201は、符号化データを取得する。この符号化データは、ポイントクラウドのジオメトリデータが上述したように予測を用いて符号化されたものである。つまり、この符号化データは、処理対象ポイントの位置とその処理対象ポイントに対応する予測ポイントの位置との差分(量子化された差分)が符号化されて生成されたものである。この符号化データは、例えば、上述の予測符号化装置100により生成されたものである。
 可逆復号部201は、その符号化データを復号し、処理対象ポイントの位置と予測ポイントの位置との差分を生成(復元)する。この復号方法は、上述の予測符号化装置100が行う符号化方法に対応する方法であれば任意である。可逆復号部201は、生成した差分を予測処理部202に供給する。
 予測処理部202は、処理対象ポイントの予測に関する処理を行う。例えば、予測処理部202は、可逆復号部201から供給される差分を取得する。予測処理部202は、この差分を用いて処理対象ポイントの予測を行って予測ポイントを生成し、その予測ポイントと差分とを用いてジオメトリデータを生成(復元)する。この差分は、処理対象ポイントの位置を、予測ポイントの位置を基準とする相対位置により表したものと言える。つまり、この差分もジオメトリデータと言える。したがって、予測処理部202は、予測符号化装置100の場合と同様に、処理対象ポイントの予測を行うことができる。
 予測処理部202は、生成したジオメトリデータを予測復号装置200の外部に出力する。
 予測処理部202は、参照ポイント設定部211、予測ポイント生成部212、および差分足しこみ部213を備える。
 参照ポイント設定部211は、参照ポイントの設定に関する処理を行う。例えば、参照ポイント設定部211は、予測処理部202の外部から供給される差分を取得する。参照ポイント設定部211は、その差分を用いて、処理対象ポイントに対応する参照ポイントを設定する。この差分は、上述したようにジオメトリデータ(処理対象ポイントの位置が予測ポイントの位置を基準とする相対位置により表されたもの)と言える。したがって、参照ポイント設定部211は、参照ポイント設定部111の場合と同様の方法により、各処理対象ポイントについて、参照ポイントを設定することができる。参照ポイント設定部211は、差分と設定した参照ポイントに関する情報とを予測ポイント生成部212に供給する。
 予測ポイント生成部212は、予測ポイントの生成に関する処理を行う。例えば、予測ポイント生成部212は、参照ポイント設定部211から供給される差分と参照ポイントに関する情報とを取得する。また、予測ポイント生成部212は、取得したそれらの情報に基づいて、設定された参照ポイントを用いて処理対象ポイントの予測を行い、予測ポイントを生成する。予測ポイント生成の詳細については、後述する。予測ポイント生成部212は、差分と生成した予測ポイントに関する情報とを差分足しこみ部213に供給する。
 差分足しこみ部213は、ジオメトリデータの生成に関する処理を行う。例えば、差分足しこみ部213は、予測ポイント生成部212から供給される差分と予測ポイントに関する情報とを取得する。また、差分足しこみ部213は、取得した差分に、取得した予測ポイントに関する情報により示される予測ポイントの位置を足しこみ、ジオメトリデータを生成(復元)する。差分足しこみ部213は、生成したジオメトリデータを予測復号装置200の外部に出力する。
 このようにすることにより、予測復号装置200は、処理対象ポイントの位置と予測ポイントの位置との差分が符号化された符号化データを正しく復号し、ジオメトリデータを復元することができる。すなわち、予測復号装置200は、ポイントクラウドデータの符号化効率の低減を抑制することができる。
 なお、予測復号装置200のこれらの処理部(可逆復号部201および予測処理部202(参照ポイント設定部211乃至差分足しこみ部213))は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <予測復号処理の流れ>
 予測復号装置200は、予測復号処理を実行して符号化データを復号する。この予測復号装置200により実行される予測復号処理の流れの例を、図7のフローチャートを参照して説明する。
 予測復号処理が開始されると、予測復号装置200の可逆復号部201は、ステップS201において、処理対象ポイントの符号化データを所定の復号方法(ステップS102(図4)の符号化方法に対応する復号方法)で復号し、処理対象ポイントの位置と予測ポイントの位置との差分を生成(復元)する。
 ステップS202において、予測処理部202は、予測処理を行って処理対象ポイントに対応する予測ポイントを生成し、その生成した予測ポイントの位置をステップS201において生成された差分に足しこみ、処理対象ポイントのジオメトリデータを生成(復元)する。
 ステップS202の処理が終了すると予測復号処理が終了する。以上のような処理を各処理対象ポイントについて行うことにより、予測復号装置200は、予測を用いて符号化されたポイントクラウドの符号化データを正しく復号することができる。すなわち、予測復号装置200は、ポイントクラウドデータの符号化効率の低減の抑制を実現することができる。
  <予測処理の流れ>
 図7のステップS202において実行される予測処理の流れの例を、図8のフローチャートを参照して説明する。
 予測処理が開始されると、予測処理部202の参照ポイント設定部211は、ステップS211において、処理対象ポイントの位置と予測ポイントの位置との差分に基づいて、処理対象ポイントに対応する参照ポイントを設定する。参照ポイント設定部211は、ステップS111(図5)の処理と同様にしてこの参照ポイントを設定する。
 ステップS212において、予測ポイント生成部212は、ステップS211において設定された参照ポイントの位置を用いて処理対象ポイントの位置の予測を行い、処理対象ポイントに対応する予測ポイントを生成する。
 ステップS213において、差分足しこみ部213は、処理対象ポイントの位置と予測ポイントの位置との差分に対して、ステップS212において導出された予測ポイントを足しこむ。これにより、処理対象ポイントのジオメトリデータが生成(復元)される。
 ステップS213の処理が終了すると予測処理が終了し、処理は図7に戻る。
 以上のように予測処理を実行することにより、予測処理部202は、ジオメトリデータを正しく復元することができる。
 <3.第2の実施の形態>
  <モードの選択>
 第1の実施の形態において説明した予測を用いる符号化・復号方法(予測モードとも称する)は、他の符号化・復号方法と併用してもよい。その場合、いずれの方法を適用するかを選択することができるようにしてもよい。
 つまり、図9の表の一番上の段に示される「方法2」のように、モード判定を行い、どの符号化・復号方法を適用するかを選択するようにしてもよい。このようにすることにより、例えば、予測モードとDCMとの併用等、複数のモードの併用を実現することができる。このように複数の符号化・復号方法(モード)に対応することにより、より多様なデータに対してより適切に符号化・復号を行うことができる。例えば、より多様なデータに対して符号化効率の低減を抑制することができる。
 なお、その場合、符号化方法と復号方法とが互いに対応するように、それらの方法を選択する必要がある。そのために、例えば、図9の表の上から2段目の「方法2-1」のように、符号化の際にモード判定を行い、適用した方法を示すモード情報を、符号化側から復号側に伝送するようにしてもよい。この場合、復号方法は、そのモード情報に従って選択される。このようにすることにより、適用された符号化方法に対応する復号方法をより容易に適用することができる。したがって、復号処理の負荷の増大を抑制する(典型的には復号処理の負荷を低減させる)ことができる。
 また、その場合、符号化側におけるモード判定の方法(符号化方法の選択方法)は任意である。例えば、図9の表の上から3段目の「方法2-1-1」のように、候補として予め用意された各符号化方法を適用して符号化を行い、それぞれの符号化結果をRD(Rate Distortion)コストを用いて評価し、最適な(例えばコストが最小の)符号化方法を選択するようにしてもよい。このようにすることにより、処理対象のポイントクラウドに対して候補の中で最適な符号化方法を適用することができる。したがって、符号化効率の低減を抑制することができる。
 また、符号化方法と復号方法とが互いに対応するようにそれらを選択する方法(モード判定の方法)は、任意であり、上述の「方法2-1」に限定されない。例えば、図9の表の上から4段目の「方法2-2」のように、符号化・復号時において共通のモード判定を行うようにしてもよい。つまり、符号化の際と、復号の際の両方において同様のモード判定を行い、互いに同一の方法(互いに対応する符号化・復号方法)を選択するようにしてもよい。このようにすることにより、モード情報の伝送を省略することができるので、符号化効率の低減を抑制することができる。
 この場合のモード判定の方法は任意である。例えば、図9の表の上から5段目の「方法2-2-1」のように、常に、予測モードが適用されるようにしてもよい。つまり、この場合、モード判定が省略され、DCM等の他のモードは併用されない。このようにすることにより、モード判定の処理が不要になるので、符号化処理や復号処理の負荷の増大を抑制する(典型的には負荷を軽減させる)ことができる。
 また、例えば、図9の表の上から6段目の「方法2-2-2」のように、処理対象のノードが位置するOctreeの階層(LoD)に応じて、モードが選択されるようにしてもよい。例えば、疎な状態のノードに対して予測モードやDCMを適用する場合、その処理対象のノード(疎な状態と判定されたノード)の階層(LoD)の深さに応じてモードが選択されるようにしてもよい。
 疎な状態のノードに対応するボクセル内のポイントは疎であると推定される。例えば、より浅い階層(より上位層)においてノードが疎であると判定されるほど、より広い範囲の領域においてポイントが疎であると推定される。つまり、処理対象のノードから周辺のポイントまでの距離がより遠くなる可能性が高いと推定される。したがって、予測モードを適用する場合、処理対象のノードがより上位層に位置する程、予測精度がより大きく低減すると推定される。つまり、符号化効率がより大きく低減する可能性が高いと推定される。
 逆に、より深い階層(より下位層)においてノードが疎であると判定されるほど、より狭い範囲の領域においてポイントが疎であると推定される。つまり、処理対象のノードから周辺のポイントまでの距離がより近くなる可能性が高いと推定される。したがって、予測モードを適用する場合、処理対象のノードがより下位層に位置する程、予測精度がより大きく向上すると推定される。つまり、符号化効率がより大きく向上する可能性が高いと推定される。
 このように、処理対象のノード(疎な状態と判定されたノード)の階層(LoD)の深さによって、簡易的な疎密判定を行うことができる。つまり、処理対象のノードの階層の深さに応じてモード選択を行うことにより、その簡易的な疎密判定の結果に応じたモード選択を実現することができる。例えば、下位層に位置する処理対象のノード(下位層において疎な状態と判定されたノード)に対して予測モードを適用し、上位層に位置する処理対象のノード(上位層において疎な状態と判定されたノード)に対してDCMを適用するようにしてもよい。このようにすることにより、処理対象のノードに対してより大きな効果が得られるモードを適用することができる。例えば、上述の例の場合、ポイントがより密で予測精度がより高いノードに対して予測モードを適用することができる。したがって、符号化効率の低減をより抑制することができる。
 また、この場合の疎密判定は、階層(LoD)に基づく簡易的な処理であるので、この疎密判定による符号化処理や復号処理の負荷の増大を抑制することができる。
 さらに、例えば、図9の表の上から7段目の「方法2-2-3」のように、処理対象のノードの実際の周辺のポイントの有無(ポイントの分布状況)を確認し、その確認結果に基づいて、モードが選択されるようにしてもよい。つまり、実際の疎密の状態を判定し、その判定結果に基づいてより適切な(より大きな効果が得られる)モードが選択されるようにしてもよい。
 例えば処理対象のノードから所定の距離内の領域のポイントの有無を判定し、ポイントが存在する場合は予測モードを適用し、ポイントが存在しない場合はDCMを適用するようにしてもよい。
 このように疎密判定に基づいてモード選択を行うことにより、上述の方法2-2-2の場合よりも正確に、より適切なモードを選択することができる。したがって、符号化効率の低減をより抑制することができる。
 なお、方法2-2-2や方法2-2-3は、符号化側と復号側の両方においてそれぞれ行うように説明したが、これに限らず、方法2-1のように、符号化側において方法2-2-2や方法2-2-3のようにモード判定を行い、適用されたモードを示すモード情報を符号化側から復号側に伝送するようにしてもよい。
  <符号化装置>
 このようなモード選択を適用する例について説明する。図10は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図10に示される符号化装置300は、ポイントクラウドのような3Dデータをボクセル(Voxel)およびOctreeを用いて符号化する装置である。
 なお、図10においては、処理部やデータの流れ等の主なものを示しており、図10に示されるものが全てとは限らない。つまり、符号化装置300において、図10においてブロックとして示されていない処理部が存在したり、図10において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置300内の処理部等を説明する他の図においても同様である。
 図10に示されるように符号化装置300は、ジオメトリ符号化部301、ジオメトリ復号部302、ポイントクラウド生成部303、アトリビュート符号化部304、およびビットストリーム生成部305を有する。
 ジオメトリ符号化部301は、ジオメトリデータの符号化に関する処理を行う。例えば、ジオメトリ符号化部301は、符号化装置300に入力されるポイントクラウドデータのジオメトリデータを取得する。ジオメトリ符号化部301は、そのジオメトリデータを符号化し、符号化データを生成する。ジオメトリ符号化部301は、生成した符号化データをジオメトリ復号部302およびビットストリーム生成部305に供給する。
 ジオメトリ復号部302は、ジオメトリデータの符号化データの復号に関する処理を行う。例えば、ジオメトリ復号部302は、ジオメトリ符号化部301から供給されるジオメトリデータの符号化データを取得する。ジオメトリ復号部302は、ジオメトリ符号化部301において適用された符号化方法に対応する復号方法により、その符号化データを復号し、ジオメトリデータを生成(復元)する。この復号方法の詳細については、復号装置を例に後述する。ジオメトリ復号部302は、生成したジオメトリデータをポイントクラウド生成部303に供給する。
 ポイントクラウド生成部303は、ポイントクラウドデータの生成に関する処理を行う。例えば、ポイントクラウド生成部303は、符号化装置300に入力されるポイントクラウドデータのアトリビュートデータを取得する。また、ポイントクラウド生成部303は、ジオメトリ復号部302から供給されるジオメトリデータを取得する。
 ジオメトリデータは、符号化や復号等の処理によりデータが変化する場合がある(例えば、ポイントが増減したり、移動したりする可能性がある)。つまり、ジオメトリ復号部302から供給されるジオメトリデータは、ジオメトリ符号化部301により符号化される前のジオメトリデータと異なる場合がある。
 そこでポイントクラウド生成部303は、アトリビュートデータをジオメトリデータ(復号結果)に合わせる処理(リカラー処理とも称する)を行う。つまり、ポイントクラウド生成部303は、ジオメトリデータの更新に対応するように、アトリビュートデータを更新する。ポイントクラウド生成部303は、更新後のアトリビュートデータ(ジオメトリデータ(復号結果)に対応するアトリビュートデータ)をアトリビュート符号化部304に供給する。
 アトリビュート符号化部304は、アトリビュートの符号化に関する処理を行う。例えば、アトリビュート符号化部304は、ポイントクラウド生成部303から供給されるアトリビュートデータを取得する。また、アトリビュート符号化部304は、そのアトリビュートデータを所定の方法で符号化し、アトリビュートデータの符号化データを生成する。この符号化方法は任意である。アトリビュート符号化部304は、生成したアトリビュートデータの符号化データをビットストリーム生成部305に供給する。
 ビットストリーム生成部305は、ビットストリームの生成に関する処理を行う。例えば、ビットストリーム生成部305は、ジオメトリ符号化部301から供給されるジオメトリの符号化データを取得する。また、ビットストリーム生成部305は、アトリビュート符号化部304から供給されるアトリビュートデータの符号化データを取得する。ビットストリーム生成部305は、それらの符号化データを含むビットストリームを生成する。ビットストリーム生成部305は、生成したそのビットストリームを符号化装置300の外部に出力する。
 なお、符号化装置300のこれらの処理部(ジオメトリ符号化部301乃至ビットストリーム生成部305)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <ジオメトリ符号化部>
 図11は、ジオメトリ符号化部301(図10)の主な構成例を示すブロック図である。図11に示されるように、ジオメトリ符号化部301は、例えば、バウンディングボックス設定部311、ボクセル設定部312、および符号化部313を有する。
 バウンディングボックス設定部311は、バウンディングボックスの設定に関する処理を行う。例えば、バウンディングボックス設定部311は、符号化装置300に入力されるポイントクラウドデータのジオメトリデータを取得する。バウンディングボックス設定部311は、そのジオメトリデータに対してバウンディングボックスを設定する。バウンディングボックスは、符号化対象のジオメトリデータを正規化するための情報である。このバウンディングボックスを基準としてボクセル化が行われる。バウンディングボックス設定部311は、そのバウンディングボックスに関する情報を、ジオメトリデータとともにボクセル設定部312に供給する。
 ボクセル設定部312は、ボクセルの設定に関する処理を行う。例えば、ボクセル設定部312は、バウンディングボックス設定部311から供給されるジオメトリデータおよびバウンディングボックスに関する情報を取得する。また、ボクセル設定部312は、それらの情報に基づいて、ジオメトリデータに対して設定されたバウンディングボックスを分割してボクセルを設定する。つまり、ボクセル設定部312は、そのジオメトリデータのボクセル化(各ポイントの位置の量子化)を行う。ボクセル設定部312は、このようにボクセル化されたジオメトリデータであるボクセルデータを符号化部313に供給する。
 符号化部313は、ボクセルデータの符号化に関する処理を行う。例えば、符号化部313は、ボクセル設定部312から供給されるボクセルデータを取得する。また、符号化部313は、そのボクセルデータを符号化し、ボクセルデータの符号化データ(つまり、ジオメトリデータの符号化データ)を生成する。符号化部313は、その符号化データをジオメトリ復号部302およびビットストリーム生成部305(ともに図10)に供給する。
 図11に示されるように、符号化部313は、例えば、モード選択部321、Octree符号化部322、DCM符号化部323、予測符号化部324、およびメタデータ生成部325を有する。
 モード選択部321は、符号化方法(モード)の選択に関する処理を行う。例えば、モード選択部321は、ボクセル設定部312から供給されるボクセルデータを取得する。また、モード選択部321は、ボクセル(Octreeにおけるノード)毎に符号化方法(モード)の選択を行う。例えば、モード選択部321は、処理対象ポイントの符号化方法として、その処理対象ポイントの位置情報の予測を用いる方法を適用するか、DCMを適用するかを選択する。
 このモードの選択方法は任意である。例えば、モード選択部321が、<モードの選択>において上述した方法2-1-1のように、RDコストに基づいてモードを選択するようにしてもよい。また、モード選択部321が、<モードの選択>において上述した方法2-2-1のように、必ず予測モードを選択する(全てのノードに対して予測モードを選択する)ようにしてもよい。
 さらに、モード選択部321が、<モードの選択>において上述した方法2-2-2のように、処理対象ノードの階層(LoD)の深さに応じてモードを選択するようにしてもよい。つまり、ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じて、処理対象ポイントの復号方法を選択するようにしてもよい。ノードが疎になる階層の深さに基づいて、簡易的な疎密判定を行うことができる。つまり、簡易的な疎密判定結果に応じて処理対象ポイントの復号方法を選択するようにしてもよい。
 また、モード選択部321が、<モードの選択>において上述した方法2-2-3のように、処理対象ノードの周辺領域のポイントの有無(実際の疎密判定結果)に基づいてモードを選択するようにしてもよい。
 また、図11の例では、Octree、DCM、および予測モードの3つのモードが候補として用意されており、モード選択部321は、これらの候補の中から1つを選択する。例えば、Octreeが選択された場合、モード選択部321は、処理対象のボクセルのボクセルデータをOctree符号化部322に供給する。また、DCMが選択された場合、モード選択部321は、処理対象のボクセルのボクセルデータをDCM符号化部323に供給する。さらに、予測モードが選択された場合、モード選択部321は、処理対象のボクセルのボクセルデータを予測符号化部324に供給する。
 Octree符号化部322は、Octreeを用いた符号化に関する処理を行う。例えば、Octree符号化部322は、モード選択部321から供給される処理対象のボクセルのボクセルデータを取得する。Octree符号化部322は、そのボクセルデータを用いて、処理対象ノードのOctreeデータを生成する。Octree符号化部322は、その処理対象ノードのOctreeデータを所定の方法で符号化し、符号化データを生成する。この符号化方法は可逆な方法であれば任意である。Octree符号化部322は、生成した符号化データ(処理対象ノードのボクセルデータの符号化データ)をジオメトリ復号部302およびビットストリーム生成部305(ともに図10)に供給する。
 DCM符号化部323は、DCMを用いた符号化に関する処理を行う。例えば、DCM符号化部323は、モード選択部321から供給される処理対象のボクセルのボクセルデータを取得する。DCM符号化部323は、そのボクセルデータを用いて、処理対象ノードからリーフまでの相対距離を符号化し、符号化データを生成する。DCM符号化部323は、生成した符号化データをジオメトリ復号部302およびビットストリーム生成部305(ともに図10)に供給する。
 予測符号化部324は、予測符号化装置100(図3)と同様の構成を有し、同様の処理を行う。つまり、予測符号化部324は、予測を用いた符号化(予測モードの符号化)に関する処理を行う。例えば、予測符号化部324は、モード選択部321から供給される処理対象のボクセルのボクセルデータを取得する。予測符号化部324は、そのボクセルデータを用いて、<1.予測を用いた符号化・復号>において説明したように予測を用いた符号化を行う。つまり、<1.予測を用いた符号化・復号>において行った説明は、この予測符号化部324にも適用することができる。
 つまり、予測符号化部324は、この符号化により、処理対象ポイントの位置を予測ポイントからの差分(相対位置)として表現し、その差分を符号化し、符号化データを生成する。したがって、この予測精度が十分高ければ、予測符号化部324は、符号化効率の低減を抑制することができる(典型的には、符号化効率を向上させることができる)。
 予測符号化部324は、生成した差分の符号化データを、ジオメトリ復号部302およびビットストリーム生成部305(ともに図10)に供給する。
 もちろん、符号化部313は任意のモード(符号化方法)に対応することができる。つまり、符号化部313が、Octree、DCM、および予測モード以外のモードに対応するようにしてもよい。符号化部313をその他の符号化方法に対応させる場合、符号化部313が、その符号化方法に対応する処理部を有し、モード選択部321がその符号化方法を適用する場合に、処理対象のボクセルのボクセルデータをその処理部に供給するようにすればよい。
 また、図11の例では、<モードの選択>において上述した方法2-1のように、モード選択部321が選択したモードを示すモード情報が、例えばビットストリームに含められて、復号側に伝送される。モード選択部321は、選択したモードを示すモード情報をメタデータ生成部325に供給する。
 メタデータ生成部325は、ジオメトリデータの符号化データに付加する(または関連付ける)メタデータの生成に関する処理を行う。例えば、メタデータ生成部325は、モード選択部321から供給されるモード情報を取得する。メタデータ生成部325は、そのモード情報を含むメタデータを生成する。メタデータ生成部325は、そのメタデータを、Octree符号化部322乃至予測符号化部324のいずれかにおいて生成される符号化データのメタデータとして(例えば、符号化データに付加したり、関連付けたりして)、ジオメトリ復号部302およびビットストリーム生成部305(ともに図10)に供給する。
 なお、<モードの選択>において上述した方法2-2のように、このモード情報が伝送されず、復号側においても、このモード選択部321によるモード選択と同様の方法により、モード選択が行われる(すなわち、モード選択部321が選択した符号化方法に対応する復号方法を選択する)ようにしてもよい。
 2次元画像の場合、画素値は画素配列に応じて必ず存在するが、ポイントクラウドの点の数や各点の位置は、そのポイントクラウドが表現する3次元構造に依存する。つまり、ポイントクラウドのデータ構造は、データ毎に異なる。したがって、符号化効率や処理負荷等の観点から最適なモード(符号化・復号方法)は、データによって異なる。例えば、ポイントの疎密の状態によって予測モードの予測精度は変化し得る。
 そこで、以上のようにモード選択部321が、符号化対象のジオメトリデータ等に基づいて、適用するモードを選択することにより、符号化装置300は、より多様なデータに対してより適切に符号化・復号を行うことができる。例えば、符号化装置300は、十分に高い予測精度が得られる処理対象ノードに対してのみ予測モードを適用する等の、適応的なモードの割り当てを行うことができる。つまり、符号化装置300は、より多様なデータに対して符号化効率の低減を抑制することができる。
  <符号化処理の流れ>
 この符号化装置300は、符号化処理を実行することにより、ジオメトリデータの符号化を行う。この符号化処理の流れの例を、図12のフローチャートを参照して説明する。
 符号化処理が開始されると、ジオメトリ符号化部301は、ステップS301において、ジオメトリ符号化処理を行い、ジオメトリデータを符号化して、ジオメトリデータの符号化データを生成する。
 ステップS302において、ジオメトリ復号部302は、ステップS301において生成された符号化データを復号し、ジオメトリデータを生成(復元)する。
 ステップS303において、ポイントクラウド生成部303は、リカラー処理を行い、アトリビュートデータを、ステップS302において生成されたジオメトリデータに対応させる。
 ステップS304において、アトリビュート符号化部304は、ステップS303においてリカラー処理されたアトリビュートデータを符号化する。
 ステップS305において、ビットストリーム生成部305は、ステップS301において生成されたジオメトリデータの符号化データと、ステップS304において生成されたアトリビュートデータの符号化データとを含むビットストリームを生成する。
 ステップS305の処理が終了すると符号化処理が終了する。
  <ジオメトリ符号化処理の流れ>
 次に、図13のフローチャートを参照して、図12のステップS301において実行されるジオメトリ符号化処理の流れの例を説明する。
 ジオメトリ符号化処理が開始されると、ジオメトリ符号化部301のバウンディングボックス設定部311は、ステップS311において、ジオメトリデータに対してバウンディングボックスを設定する。
 ステップS312において、ボクセル設定部312は、ステップS311において設定されたバウンディングボックスを分割してボクセルを設定し、ボクセルデータを生成する。
 ステップS313において、符号化部313は、ボクセルデータ符号化処理を実行し、ボクセルデータを符号化する。
 ステップS313の処理が終了すると、処理は図12に戻る。
  <ボクセルデータ符号化処理の流れ>
 次に、図13のステップS313において実行されるボクセルデータ符号化処理の流れの例を、図14のフローチャートを参照して説明する。
 ボクセルデータ符号化処理が開始されると、符号化部313のモード選択部321は、ステップS321において、ボクセルデータから、処理対象とするボクセルを選択する。例えば、モード選択部321は、上位層から下位層に向かう順にボクセルを選択する。
 ステップS322において、モード選択部321は、処理対象のボクセルに対応するポイントが疎な点であるか否かを判定する。例えば、モード選択部321は、所定の条件を満たすか否かによって、疎であるか否かを判定する。この条件は任意である。例えば、モード選択部321が、処理対象のノードが直接的に属するノード(親ノードとも称する)に直接的に属する他のノード(兄弟ノードとも称する)の数が所定の閾値よりも少ない場合、処理対象のノードが疎であると判定するようにしてもよい。また、例えば、処理対象ノードの親ノードの兄弟ノードに直接的に属するノード(従弟ノードとも称する)の数が所定の閾値よりも少ない場合、処理対象のノードが疎であると判定するようにしてもよい。もちろんこれら以外の条件であってもよい。
 処理対象ノードが疎でない(密である)と判定された場合、処理はステップS323に進む。ステップS323において、Octree符号化部322は、Octree符号化を行う。つまり、Octree符号化部322は、処理対象のボクセルのボクセルデータをOctreeデータ化し、符号化してその符号化データを生成する。ステップS323の処理が終了すると、処理はステップS334に進む。
 また、ステップS322において、処理対象ノードが疎である(密でない)と判定された場合、処理はステップS324に進む。
 ステップS324において、モード選択部321は、処理対象ノードに直接的または間接的に属するリーフの数が閾値より少ないか否かを判定する。リーフ数が閾値以上であると判定された場合、処理対象ノードが疎でない(密である)と判定され、処理はステップS325に進む。
 ステップS325において、モード選択部321は、DCMフラグをオフ(OFF)にする。DCMフラグは、DCMまたは予測モードを適用するか否かを示すフラグ情報である。DCMフラグをオフに設定することにより、DCMまたは予測モードを適用しない(Octreeが適用される)ことが示される。メタデータ生成部325は、このDCMフラグをメタデータに含める。
 ステップS325の処理が終了すると、処理はステップS323に進む。つまり、この場合もOctree符号化が行われる。
 また、ステップS324において、リーフ数が閾値より少ないと判定された場合、処理はステップS326に進む。
 ステップS326において、モード選択部321は、DCMフラグをオン(ON)にする。DCMフラグをオンに設定することにより、DCMまたは予測モードを適用する(Octreeを適用しない)ことが示される。メタデータ生成部325は、このDCMフラグをメタデータに含める。
 ステップS327において、モード選択部321は、候補として用意された各モードを適用し、各モードの符号化結果を、RDコストを用いて評価し、比較する。
 ステップS329において、モード選択部321は、その比較結果に基づいて、予測モードが最適であるか否かを判定する。最適ではないと判定された場合処理はステップS330に進む。
 ステップS330において、モード選択部321は、予測フラグをオフ(OFF)にする。この予測フラグは、予測モードを適用するか否かを示すフラグ情報(モード情報)である。予測フラグをオフに設定することにより、予測モードを適用しない(DCMが適用される)ことが示される。メタデータ生成部325は、この予測フラグをモード情報としてメタデータに含める。
 ステップS331において、DCM符号化部323は、DCM符号化を行う。つまり、DCM符号化部323は、処理対象のボクセルのポイント(ノード)からリーフまでの相対距離を符号化する。ステップS331の処理が終了すると、処理はステップS334に進む。
 また、ステップS329において、予測モードが最適であると判定された場合、処理はステップS332に進む。
 ステップS332において、モード選択部321は、予測フラグをオン(ON)にする。予測フラグをオンに設定することにより、予測モードを適用する(DCMが適用されない)ことが示される。メタデータ生成部325は、この予測フラグをモード情報としてメタデータに含める。
 ステップS333において、予測符号化部324は、予測符号化処理を行う。この予測符号化処理は、図4のフローチャートを参照して説明した場合と同様の流れで行われる。つまり、予測符号化部324は、処理対象のボクセル(ノード)に属するリーフの位置を予測し、その予測ポイントを生成する。また、予測符号化部324は、処理対象ポイントとその予測ポイントとの差分を導出し、その差分を符号化する。ステップS333の処理が終了すると、処理はステップS334に進む。
 ステップS334において、モード選択部321は、全ての点を処理したか否かを判定する。未処理の点が存在すると判定された場合、処理はステップS321に戻り、それ以降の処理を繰り返す。つまり、各ボクセルについてステップS321乃至ステップS334の各処理が実行される。
 そして、ステップS334において、全ての点を処理したと判定された場合、ボクセルデータ符号化処理が終了する。
 以上のように各処理を実行することにより、符号化装置300は、より多様なデータに対して符号化効率の低減を抑制することができる。
  <復号装置>
 図15は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図15に示される復号装置400は、ポイントクラウドのような3Dデータがボクセル(Voxel)およびOctreeを用いて符号化された符号化データを復号する装置である。この復号装置400は、例えば、符号化装置300(図10)に対応し、符号化装置300により生成された符号化データを正しく復号することができる。
 なお、図15においては、処理部やデータの流れ等の主なものを示しており、図15に示されるものが全てとは限らない。つまり、復号装置400において、図15においてブロックとして示されていない処理部が存在したり、図15において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、復号装置400内の処理部等を説明する他の図においても同様である。
 図15に示されるように、復号装置400は、ジオメトリ復号部401、アトリビュート復号部402、およびポイントクラウド生成部403を有する。
 ジオメトリ復号部401は、ジオメトリデータの符号化データの復号に関する処理を行う。例えば、ジオメトリ復号部401は、復号装置400に入力されるビットストリームを取得する。ジオメトリ復号部401は、そのビットストリームに含まれるジオメトリデータの符号化データを復号し、ジオメトリデータを生成(復元)する。
 ジオメトリ復号部401は、ジオメトリ符号化部301(図10)が適用した符号化方法に対応する復号方法でこの復号を行う。なおジオメトリ復号部302(図10)は、このジオメトリ復号部401と同様の構成を有し、同様の処理を行う。つまり、ジオメトリ復号部401に関する説明は、ジオメトリ復号部302にも適用することができる。
 ジオメトリ復号部401は、生成したジオメトリデータをポイントクラウド生成部403に供給する。
 アトリビュート復号部402は、アトリビュートデータの符号化データの復号に関する処理を行う。例えば、アトリビュート復号部402は、復号装置400に入力されるビットストリームを取得する。アトリビュート復号部402は、そのビットストリームに含まれるアトリビュートデータの符号化データを復号し、アトリビュートデータを生成(復元)する。
 アトリビュート復号部402は、アトリビュート符号化部304(図10)が適用した符号化方法に対応する復号方法でこの復号を行う。アトリビュート復号部402は、生成したアトリビュートデータをポイントクラウド生成部403に供給する。
 ポイントクラウド生成部403は、ポイントクラウドの生成に関する処理を行う。例えば、ポイントクラウド生成部403は、ジオメトリ復号部401から供給されるジオメトリデータを取得する。また、ポイントクラウド生成部403は、アトリビュート復号部402から供給されるアトリビュートデータを取得する。そして、ポイントクラウド生成部403は、そのジオメトリデータとアトリビュートデータとを対応させ、ポイントクラウドデータを生成する。ポイントクラウド生成部403は、生成したポイントクラウドデータを復号装置400の外部に出力する。
 なお、復号装置400のこれらの処理部(ジオメトリ復号部401乃至ポイントクラウド生成部403)は、それぞれ、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <ジオメトリ復号部>
 図16は、ジオメトリ復号部401(図15)の主な構成例を示すブロック図である。図16に示されるように、ジオメトリ復号部401は、例えば、モード選択部411、Octree復号部412、DCM復号部413、および予測復号部414を有する。
 モード選択部411は、復号方法(モード)の選択に関する処理を行う。例えば、モード選択部411は、復号装置400に入力されるビットストリームを取得する。また、モード選択部411は、そのビットストリームに含まれるメタデータ(モード情報)に基づいてボクセル(Octreeにおけるノード)毎に復号方法(モード)の選択を行う。
 つまり、モード選択部411は、このモード情報を参照することにより、ジオメトリ符号化部301において適用された符号化方法を把握し、その符号化方法に対応する復号方法(モード)を選択する。例えば、モード選択部411は、処理対象ポイントの復号方法として、その処理対象ポイントの位置情報の予測を用いる方法を適用するか、DCMを適用するかを選択する。
 また、図16の例では、Octree、DCM、および予測モードの3つのモードが候補として用意されており、モード選択部411は、これらの候補の中から1つを選択する。例えば、Octreeが選択された場合、モード選択部411は、処理対象のノードに対応するジオメトリデータの符号化データをOctree復号部412に供給する。また、DCMが選択された場合、モード選択部411は、処理対象のノードに対応するジオメトリデータの符号化データをDCM復号部413に供給する。さらに、予測モードが選択された場合、モード選択部411は、処理対象のノードに対応するジオメトリデータの符号化データを予測復号部414に供給する。
 Octree復号部412は、Octreeを用いた復号に関する処理を行う。例えば、Octree復号部412は、モード選択部411から供給されるジオメトリデータの符号化データを取得する。Octree復号部412は、その符号化データを復号し、処理対象のノードに対応するジオメトリデータ(処理対象のノードのOctreeデータ)を生成(復元)する。この復号方法は、Octree符号化部322において適用された符号化方法に対応する方法であれば任意である。
 Octree復号部412は、生成したOctreeデータを、処理対象のノードの座標情報からなるジオメトリデータに変換する。この処理対象のノードの位置はボクセル化により量子化されている。つまり、このジオメトリデータは、Octree符号化部322において符号化されるボクセルデータに対応する。Octree復号部412は、生成したジオメトリデータをポイントクラウド生成部403(図15)に供給する。
 DCM復号部413は、DCMを用いた復号に関する処理を行う。例えば、DCM復号部413は、モード選択部411から供給されるジオメトリデータの符号化データを取得する。DCM復号部413は、その符号化データを復号し、処理対象ノードのジオメトリデータや処理対象ノードからリーフまでの相対距離を生成(復元)する。この復号方法は、DCM符号化部323において適用された符号化方法に対応する方法であれば任意である。
 DCM復号部413は、生成したそれらの情報に基づいてリーフのジオメトリデータを生成(復元)する。DCM復号部413は、生成したジオメトリデータをポイントクラウド生成部403(図15)に供給する。
 予測復号部414は、予測を用いた復号(予測モードの復号)に関する処理を行う。予測復号部414は、予測復号装置200(図6)と同様の構成を有し、同様の処理を行う。つまり、予測復号部414は、<1.予測を用いた符号化・復号>において説明したように予測を用いた復号を行う。つまり、<1.予測を用いた符号化・復号>において行った説明は、この予測復号部414にも適用することができる。したがって、この予測精度が十分高ければ、予測復号部414は、符号化効率の低減の抑制を実現することができる(典型的には、符号化効率を向上させることができる)。
 例えば、予測復号部414は、モード選択部411から供給されるジオメトリデータの符号化データを取得する。予測復号部414は、その符号化データを復号し、処理対象ノードに直接的にまたは間接的に属するリーフについての差分を生成(復元)する。この復号方法は、予測符号化部324において適用された符号化方法に対応する方法であれば任意である。
 予測復号部414は、予測符号化部324の場合と同様に予測を行い、予測ポイントを生成する。また、予測復号部414は、復号して得られた差分(処理対象ポイントとその予測ポイントとの差分)に、その予測ポイントの位置を足しこむことにより、処理対象ポイントのジオメトリデータを生成(復元)する。予測復号部414は、生成したジオメトリデータを、ポイントクラウド生成部403(図15)に供給する。
 符号化部313の場合と同様に、ジオメトリ復号部401は任意のモード(復号方法)に対応することができる。つまり、ジオメトリ復号部401が、Octree、DCM、および予測モード以外のモードに対応するようにしてもよい。ジオメトリ復号部401をその他の復号方法に対応させる場合、ジオメトリ復号部401が、その復号方法に対応する処理部を有し、モード選択部411がその復号方法を適用する場合に、符号化データをその処理部に供給するようにすればよい。
 このようにモード選択部411が、モード情報等に基づいて、適用するモードを選択することにより、復号装置400は、より容易に符号化装置300が適用した符号化方法に対応する復号方法を適用することができる。したがって、復号装置400は、より多様なデータに対してより適切に復号を行うことができる。例えば、復号装置400は、十分に高い予測精度が得られる処理対象ノードに対してのみ予測モードを適用する等の、適応的なモードの割り当てを行うことができる。つまり、復号装置400は、より多様なデータに対して符号化効率の低減を抑制することができる。
  <復号処理の流れ>
 この復号装置400は、復号処理を実行することにより、符号化データの復号を行う。この復号処理の流れの例を、図17のフローチャートを参照して説明する。
 復号処理が開始されると、ジオメトリ復号部401は、ステップS401において、ジオメトリ復号処理を行い、ジオメトリデータの符号化データを復号して、ジオメトリデータを生成(復元)する。
 ステップS402において、アトリビュート復号部402は、アトリビュートデータの符号化データを復号してアトリビュートデータを生成(復元)する。
 ステップS403において、ポイントクラウド生成部403は、ステップS401において生成されたジオメトリデータと、ステップS402において生成されたアトリビュートデータとを対応させてポイントクラウドデータを生成する。
 ステップS403の処理が終了すると復号処理が終了する。
  <ジオメトリ復号処理の流れ>
 次に、図17のステップS401において実行されるジオメトリ復号処理の流れの例を、図18のフローチャートを参照して説明する。
 ジオメトリ復号処理が開始されると、モード選択部411は、ステップS411において処理対象とするノードを選択する。例えば、モード選択部411は、上位層から下位層に向かう順にノードを選択する。
 ステップS412において、モード選択部411は、処理対象のノードが疎な点であるか否かを判定する。この判定方法は、ステップS322の場合と同様である。
 処理対象ノードが疎でない(密である)と判定された場合、処理はステップS413に進む。ステップS413において、Octree復号部412は、Octree復号を行う。つまり、Octree復号部412は、符号化データを復号してOctreeデータを生成し、さらにそのOctreeデータを用いてジオメトリデータを生成する。ステップS413の処理が終了すると、処理はステップS418に進む。
 また、ステップS412において、処理対象ノードが疎である(密でない)と判定された場合、処理はステップS414に進む。
 ステップS414において、モード選択部411は、ビットストリームに含まれるメタデータのDCMフラグを参照し、そのDCMフラグがオン(ON)であるか否かを判定する。DCMフラグがオフ(OFF)であると判定された場合、Octree符号化が適用されているので、処理はステップS413に進む。
 また、ステップS414において、DCMフラグがオン(ON)であると判定された場合、DCMまたは予測モードが適用されているので、処理はステップS415に進む。
 ステップS415において、モード選択部411は、ビットストリームに含まれるメタデータの予測フラグ(モード情報)を参照し、その予測フラグがオン(ON)であるか否かを判定する。予測フラグがオフ(OFF)であると判定された場合、DCM符号化が適用されているので、処理はステップS416に進む。
 ステップS416において、DCM復号部413は、DCM復号を行う。つまり、DCM復号部413は、符号化データを復号し、処理対象のボクセルのポイント(ノード)からリーフまでの相対距離を生成(復元)する。ステップS416の処理が終了すると、処理はステップS418に進む。
 また、ステップS415において、予測フラグがオン(ON)と判定された場合、予測符号化が適用されているので、処理はステップS417に進む。
 ステップS417において、予測復号部414は、予測復号処理を行う。この予測復号処理は、例えば図7のフローチャートを参照して説明した場合と同様の流れで行われる。つまり、予測復号部414は、符号化データを復号して、処理対象のボクセル(ノード)に属するリーフである処理対象ポイントの位置とその予測ポイントの位置との差分を生成(復元)する。また、予測復号部414は、参照ポイントを設定し、その参照ポイントに基づいて予測を行い、予測ポイントを生成する。そして、予測復号部414は、差分に予測ポイントの位置を足しこむことにより、処理対象ポイントのジオメトリデータを生成(復元)する。ステップS417の処理が終了すると、処理はステップS418に進む。
 ステップS418において、モード選択部411は、全ての点を処理したか否かを判定する。未処理の点が存在すると判定された場合、処理はステップS411に戻り、それ以降の処理を繰り返す。つまり、各ボクセルについてステップS411乃至ステップS418の各処理が実行される。
 そして、ステップS418において、全ての点を処理したと判定された場合、ジオメトリ復号処理が終了する。
 以上のように各処理を実行することにより、復号装置400は、より多様なデータに対して符号化効率の低減を抑制することができる。
  <ボクセルデータ符号化処理の流れ>
 以上においては、方法2-1(図9)を適用し、モード情報として予測フラグを符号化装置300から復号装置400に伝送する場合を例に説明したが、これに限らず、方法2-2(図9)を適用してもよい。つまり、モード情報を伝送する代わりに、符号化装置300と復号装置400とが共通のモード判定を行い、その判定結果に基づいて予測モードを適用するか否かを選択するようにしてもよい。
 その場合の、符号化装置300のジオメトリ符号化部301が実行するボクセルデータ符号化処理の流れの例を、図19のフローチャートを参照して説明する。
 この場合もステップS451乃至ステップS456の各処理は、図14のステップS321乃至ステップS326の各処理と同様に行われる。
 ステップS457において、モード選択部321は、予測モードを適用するか否かを判定する。この判定方法は任意である。例えば、図9を参照して説明した方法2-2-1乃至方法2-2-3のいずれかを適用してもよい。また、その他の判定方法を適用してもよい。
 ステップS457において予測モードを適用しないと判定された場合、処理はステップS458に進む。ステップS458において、DCM符号化部323は、DCM符号化を行う。また、ステップS457において予測モードを適用すると判定された場合、処理はステップS459に進む。ステップS459において、予測符号化部324は、予測符号化処理を行う。この予測符号化処理は、例えば図4のフローチャートを参照して説明した場合と同様の流れで行われる。
 ステップS460の処理は、図14のステップS334の処理と同様に行われる。ステップS460において、全ての点を処理したと判定された場合、ボクセルデータ符号化処理が終了し、処理は図13に戻る。
  <ジオメトリ復号処理の流れ>
 次に、上述のボクセルデータ符号化処理(図19)に対応する、復号装置400のジオメトリ復号部401により実行されるジオメトリ復号処理の流れの例を、図20のフローチャートを参照して説明する。
 この場合もステップS481乃至ステップS484の各処理は、図18のステップS411乃至ステップS414の各処理と同様に実行される。
 ただし、この場合、モード情報が符号化側から伝送されないので、モード選択部411は、そのモード情報を参照する代わりに、モード選択部321と同様のモード判定を行う。
 つまり、ステップS485において、モード選択部411は、予測モードを適用するか否かを判定する。この判定方法は、モード選択部321が行った判定方法に対応していればよい。例えば、図9を参照して説明した方法2-2-1乃至方法2-2-3のいずれかを適用してもよい。また、その他の判定方法を適用してもよい。
 ステップS485において予測モードを適用しないと判定された場合、処理はステップS486に進む。ステップS486において、DCM復号部413は、DCM復号を行う。また、ステップS485において予測モードを適用すると判定された場合、処理はステップS487に進む。ステップS487において、予測復号部414は、予測復号処理を行う。この予測復号処理は、例えば図7のフローチャートを参照して説明した場合と同様の流れで行われる。
 ステップS488の処理は、図18のステップS418の処理と同様に行われる。ステップS488において、全ての点を処理したと判定された場合、ジオメトリ復号処理が終了し、処理は図17に戻る。
 以上のように、ボクセルデータ符号化処理やジオメトリ復号処理を行うことにより、符号化装置300および復号装置400は、方法2-2(図9)を適用することができる。したがって、モード情報の伝送が不要になるので、符号化効率の低減をより抑制することができる。
 <4.第3の実施の形態>
  <予測方法>
 次に、第1の実施の形態および第2の実施の形態において説明した処理対象ポイントの位置の予測の方法について説明する。
 この予測は、例えば、予測符号化装置100の予測処理部101(図3)や、予測復号装置200の予測処理部202(図6)により行われる。つまり、符号化装置300の予測符号化部324や復号装置400の予測復号部414も同様の予測を行う。つまり、以下の説明は、これらの処理部において行われる予測に適用することができる。
 この予測の方法は任意である。例えば、図21の表の上から2段目に示される「方法3-1」のように、処理対象ポイントの近傍に存在するN個(Nは自然数)のポイント(近傍点とも称する)を参照ポイントとし、そのN個の参照ポイントの重心となる位置を予測ポイントの位置としてもよい。
 つまり、各参照ポイントの位置からその重心となる位置を導出し、その重心に位置する予測ポイントを生成する(参照ポイントの重心を示す予測ポイントの位置情報を生成する)ようにしてもよい。このようにすることにより、簡易な処理により予測ポイントを生成することができるので、予測による符号化処理や復号処理の負荷の増大を抑制することができる。
 なお、予測ポイントの位置は、各参照ポイントの位置から導出可能な位置であればよく、重心以外であってもよい。また、予測ポイントの位置の導出に用いる参照ポイントは、単数であってもよいし複数であってもよい。
 また、図21の表の上から3段目に示される「方法3-1-1」のように、参照ポイント(近傍点)に、例えば親ノード等の、処理対象ポイントが直接的または間接的に属するノード(ポイントクラウドを構成する各ポイントの位置情報を用いた木構造における処理対象ポイントの上位層のノード)を適用することができるようにしてもよい。例えば、DCMと判定されたノード(ボクセルの中心点)を適用することができるようにしてもよい。処理対象ポイントが直接的または間接的に属するノードは、処理対象ポイントを含むボクセルの中心点となるので、処理対象ポイントの近傍に位置することがある程度保証される。したがって、このようなノードを参照ポイントとすることにより、予測精度がある程度保証され、符号化効率の低減を抑制することができる。換言するに、このようなノードと処理対象ポイントとの距離は、両者の間の階層数により推定することができる。したがって、このようなノードを参照ポイントとすることにより、予測精度や符号化効率の見積もりをより容易に行うことができる。
 なお、この方法3-1-1を適用し、DCMと判定された1つのノード(ボクセルの中心点)を参照ポイントとして設定し、その1つの参照ポイントの重心(つまり、参照ポイントと同じ位置)に予測ポイントを生成することにより、DCMの場合と同様の処理結果を得ることができる。つまり、この方法で予測を行って生成される処理対象ポイントと予測ポイントとの位置の差分は、DCMにより得られるリーフとノードとの相対位置と同様の情報となる。
 また、参照ポイントの数Nは、図21の表の上から4段目に示される「方法3-1-2」のように固定としてもよい。参照ポイントの数を固定とすることにより、参照ポイントの数を示す情報の符号化側から復号側への伝送が不要になる。また、参照ポイントの設定がより容易になるため、符号化処理や復号処理の負荷の増大を抑制することができる。
 また、参照ポイントの数Nは、図21の表の上から5段目に示される「方法3-1-3」のように可変としてもよい。例えば、処理対象ポイント毎に参照ポイントの数Nを設定することができるようにしてもよい。また、例えば、階層毎に参照ポイントの数Nを設定することができるようにしてもよい。参照ポイントの数Nを制御することにより、予測精度の制御が可能になる。したがって、例えば、全体として予測精度を向上させ、符号化効率の増大をより抑制することができる。また、参照ポイントに対して外挿となる位置の予測も可能になる。ただし、参照ポイントの数Nを可変とする場合、そのNを示す情報を符号化側から復号側に伝送する必要がある。
 また、図21の表の上から6段目に示される「方法3-2」のように、近傍N点(N個の参照ポイント)から例えば最小自乗誤差等によりM次元の関数をフィッティング(Fitting)し、その関数とDCMと判定されたノードのボクセルの中心からの距離が最小となる位置に予測ポイントを生成するようにしてもよい。このようにすることにより、参照ポイントの重心から予測ポイントを求める場合(方法3-1)よりも、予測精度を向上させることができる。
 なお、この場合も、参照ポイントの数Nは、単数であってもよいし複数であってもよいし、図21の表の上から7段目に示される「方法3-2-2」のように固定としてもよいし、図21の表の上から8段目に示される「方法3-2-3」のように可変としてもよい。それぞれ、方法3-1-2や方法3-1-3の場合と同様の効果を得ることができる。同様に、関数の次数Mも固定としてもよいし、可変としてもよい。Mを可変とする場合は、Mを示す情報を符号化側から復号側へ伝送する必要がある。
 また、図21の表の上から9段目に示される「方法3-3」のように、例えばスプライン補間やラグランジュ補間等の、一般的な補間アルゴリズムを用いて予測を行うようにしてもよい。多様な補間アルゴリズムに対応することにより、より多様なケースに応じて予測を最適化することができる。
 <5.第4の実施の形態>
  <差分量子化>
 次に、第1の実施の形態および第2の実施の形態において説明した処理対象ポイントの位置の予測における差分の量子化について説明する。
 この差分の量子化は、例えば、予測符号化装置100の予測処理部101(図3)により行われる。つまり、符号化装置300の予測符号化部324も同様の量子化を行う。つまり、以下の説明は、これらの処理部において行われる差分の量子化に適用することができる。
 例えば、図22の表の上から2段目に示される「方法4-1」のように、差分の量子化を行わないようにしてもよい。この場合、差分量子化部114(図3)を省略することができ、予測処理の負荷の増大を抑制することができる。また、情報量が低減しないため、画質の低減を抑制することができる(より高画質なポイントクラウドデータを提供することができる)。
 また、図22の表の上から3段目に示される「方法4-2」のように、差分を予め定められた所定のビット量(つまり固定のビット量)に量子化するようにしてもよい。この方法の場合、量子化により情報量を低減させることができるので、符号化効率の低減を抑制する(より典型的には、符号化効率を向上させる)ことができる。また、量子化後のビット量は固定で既知であるので、そのビット量を示す情報の伝送は不要である。
 さらに、図22の表の上から4段目に示される「方法4-3」のように、量子化後のビット量をポイント毎に可変としてもよい。このようにすることにより、ポイント毎に画質を制御することができる。
 また、図22の表の上から5段目に示される「方法4-4」のように、量子化後のビット量をノード毎に可変としてもよい。このようにすることにより、ノード毎に画質を制御することができる。すなわち、3次元空間の所定の領域毎にポイントクラウドの画質を制御することができる。また、ポイント毎にビット量を指定する方法4-3の場合よりも、伝送するビット量の指定数が低減するので、符号化効率の低減を抑制することができる。
 一般的に、ポイントが疎な部分はデータとしての重要度が低い場合が多い。例えば、観測点の周囲を円形に観測するライダーデータの場合、観測点から遠い領域程ポイントが疎になり易い。また、観測点から遠くなる程、観測点への影響が少なく、データとしての重要度が低くなり易い。したがって、ポイント(ノード)の疎密に応じてビット量を制御することができる。例えば、ポイント(ノード)が密な部分のビット量を増大させ、ポイント(ノード)が疎な部分のビット量を低減させることができる。このようにすることにより、画質の低減を抑制しながら符号化効率の低減を抑制することができる。また、その逆にビット量を制御してもよい。このようにすることにより、予測精度が低減しやすい領域のビット量を増大させることができ、画質の低減を抑制することができる。
 また、図22の表の上から6段目に示される「方法4-5」のように、量子化後のビット量を、参照ポイントの階層(LoD)毎に可変としてもよい。つまり、ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じたビット量にするように差分を量子化してもよい。
 例えば、DCMと判定された1つのノード(ボクセルの中心点)を参照ポイントとして設定し、その1つの参照ポイントの重心(つまり、参照ポイントと同じ位置)に予測ポイントを生成し、処理対象ポイントとその予測ポイントとの位置の差分を導出するとする。この場合、参照ポイントがより上位層に位置する程、処理対象ポイントはより疎な点となる可能性が高い。また、参照ポイントがより上位層に位置する程、処理対象ポイントまでの距離が遠くなり、予測精度が低減する可能性が高い。
 そこで、この差分を、方法4-5を適用して量子化し、参照ポイント(DCMと判定された1つのノード)がより上位層に位置する程、ビット量を多く低減させるようにする。このようにすることにより、ポイントの疎密に応じたビット量制御が可能になり、かつ、予測精度に応じたビット量制御が可能になる。したがって、画質の低減を抑制しながら符号化効率の低減を抑制することができる。
 なお、<4.第3の実施の形態>において上述したように、DCMと判定された1つのノード(ボクセルの中心点)を参照ポイントとして設定し、その1つの参照ポイントの重心(つまり、参照ポイントと同じ位置)に予測ポイントを生成することにより、DCMの場合と同様の処理結果を得ることができる。つまり、DCMを適用したポイントについても、本技術(例えば方法4-5)を適用して量子化することができる。その場合も、上述した予測モードの場合と同様の効果を得ることができる。
 <6.第5の実施の形態>
  <処理順>
 次に、第1の実施の形態および第2の実施の形態において説明した予測の処理順について説明する。
 この処理順は、例えば、復号装置400の予測復号部414(図16)により行われる予測にも適用することができる。つまり、以下の説明は、これらの処理部において行われる予測に適用することができる。
 例えば、図23の表の一番上の段に示される「方法5」のように、DCMや予測モードの処理を、Octree符号化の後に行うようにしてもよい。例えば、図18のフローチャート(ジオメトリ復号処理)において、ステップS416やステップS417の処理が、ステップS413の処理よりも後に行われるようにしてもよい。つまり、ポイントクラウドの他の復号方法が適用されたポイントの復号後、処理対象ポイントの位置情報の予測を用いる復号方法が適用される処理対象ポイントの位置情報の予測を行って予測ポイントの位置情報を生成するようにしてもよい。
 このような処理順とすることにより、Octree処理により再構成されたポイントを用いてDCMや予測モードの処理を行うことができる。したがって、予測精度の低減を抑制し、符号化効率の低減を抑制することができる。
 また、例えば、図23の表の上から2番目の段に示される「方法5-1」のように、DCMや予測モードで行われるノード間の処理順も制御するようにしてもよい。
 例えば、図23の表の上から3番目の段に示される「方法5-1-1」のように、処理対象とするノードを、階層(LoD)の浅い順(つまり、上位層から下位層に向かう順)に選択するようにしてもよい。このようにすることにより、疎であると判定されるノードがより下位層である場合、すなわち、より密な点の予測精度を向上させることができる。
 また、例えば、図23の表の上から4番目の段に示される「方法5-1-2」のように、処理対象とするノードを、階層(LoD)の深い順(つまり、下位層から上位層に向かう順)に選択するようにしてもよい。このようにすることにより、疎であると判定されるノードがより上位層である場合、すなわち、より疎な点の予測精度を向上させることができる。
 つまり、処理対象ポイントの位置情報の予測を用いる復号方法が適用されるポイントの内、ポイントクラウドを構成する各ポイントの位置情報を用いた木構造において、より上位層においてノードが疎になるポイントを優先し、または、より下位層においてノードが疎になるポイントを優先し、予測を行って予測ポイントの位置情報を生成するようにしてもよい。
 また、階層(LoD)内においても、ノード間の処理順も制御するようにしてもよい。例えば、図23の表の上から5番目の段に示される「方法5-1-3」のように、階層内において、各ノードをモートンコード順に処理するようにしてもよい。モートンコード順に処理することにより、近傍点を順に再構成することができる。したがって、予測において近傍点を参照ポイントに設定しやすくなる。
 また、図23の表の上から6番目の段に示される「方法5-1-4」のように、階層内において、各ノードをモートンコード順にソートし、2分探索順に処理するようにしてもよい。2分探索順に処理することにより、参照ポイントに対して内挿の位置に予測ポイントを生成しやすくなり、予測精度を向上させることができる。
 もちろん、この処理順は任意であり、これらの処理順以外の処理順を適用することもできる。
 <7.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図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が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(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)に記載の情報処理装置。
 (3) 前記予測部は、前記処理対象ポイントの近傍に位置する単数または複数のポイントを前記参照ポイントとし、前記参照ポイントを用いて関数を導出し、前記関数を用いて前記予測ポイントの位置情報を生成する
 (1)に記載の情報処理装置。
 (4) 前記予測部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造における前記処理対象ポイントの上位層のノードを前記参照ポイントとして設定する
 (1)乃至(3)のいずれかに記載の情報処理装置。
 (5) 前記差分導出部により導出された前記差分を量子化する差分量子化部をさらに備え、
 前記符号化部は、前記差分量子化部により量子化された前記差分を符号化し、前記ビットストリームを生成する
 (1)乃至(4)のいずれかに記載の情報処理装置。
 (6) 前記差分量子化部は、前記差分を量子化し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じたビット量にし、
 前記符号化部は、前記差分量子化部により、前記階層に応じたビット量に量子化された前記差分を符号化し、前記ビットストリームを生成する
 (5)に記載の情報処理装置。
 (7) 前記処理対象ポイントの符号化方法として、前記処理対象ポイントの位置情報の予測を用いる方法を適用するか、DCM(Direct Coding Mode)を適用するかを選択する選択部をさらに備え、
 前記選択部により前記予測を用いる方法が選択された場合、
  前記予測部は、前記予測を行って前記予測ポイントの位置情報を生成し、
  前記差分導出部は、前記差分を導出し、
  前記符号化部は、前記差分を符号化して前記ビットストリームを生成する
 (1)乃至(6)のいずれかに記載の情報処理装置。
 (8) 前記選択部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じて、前記処理対象ポイントの復号方法を選択する
 (7)に記載の情報処理装置。
 (9) 前記符号化部は、前記選択部により選択された前記処理対象ポイントの符号化方法を示す情報を含む前記ビットストリームを生成する
 (7)または(8)に記載の情報処理装置。
 (10) 3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、
 生成された前記予測ポイントの位置情報と前記処理対象ポイントの位置情報との差分を導出し、
 導出された前記差分を符号化し、ビットストリームを生成する
 情報処理方法。
 (11) 3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報と前記予測ポイントに対応する処理対象ポイントの位置情報との差分を生成する復号部と、
 前記ポイントクラウドについて、参照ポイントの位置情報に基づいて前記処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成する予測部と、
 前記復号部により生成された前記差分に対して、前記予測部により生成された前記予測ポイントの位置情報を足しこみ、前記処理対象ポイントの位置情報を導出する足しこみ部と
 を備える情報処理装置。
 (12) 前記予測部は、前記処理対象ポイントの近傍に位置する単数または複数のポイントを前記参照ポイントとし、前記参照ポイントの重心を示す前記予測ポイントの位置情報を生成する
 (11)に記載の情報処理装置。
 (13) 前記予測部は、前記処理対象ポイントの近傍に位置する単数または複数のポイントを前記参照ポイントとし、前記参照ポイントを用いて関数を導出し、前記関数を用いて前記予測ポイントの位置情報を生成する
 (11)に記載の情報処理装置。
 (14) 前記予測部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造における前記処理対象ポイントの上位層のノードを前記参照ポイントとして設定する
 (11)乃至(13)のいずれかに記載の情報処理装置。
 (15) 前記処理対象ポイントの復号方法として、前記処理対象ポイントの位置情報の予測を用いる方法を適用するか、DCM(Direct Coding Mode)を適用するかを選択する選択部をさらに備え、
 前記選択部により前記予測を用いる方法が選択された場合、
  前記復号部は、前記符号化データを復号して前記差分を生成し、
  前記予測部は、前記予測を行って前記予測ポイントの位置情報を生成し、
  前記足しこみ部は、前記差分に前記予測ポイントの位置情報を足しこむ
 (11)乃至(14)のいずれかに記載の情報処理装置。
 (16) 前記選択部は、ビットストリームに含まれる、前記処理対象ポイントの符号化方法を示す情報に基づいて、前記処理対象ポイントの復号方法を選択する
 (15)に記載の情報処理装置。
 (17) 前記選択部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じて、前記処理対象ポイントの復号方法を選択する
 (15)に記載の情報処理装置。
 (18) 前記予測部は、前記ポイントクラウドの他の復号方法が適用されたポイントの復号後、前記処理対象ポイントの位置情報の予測を用いる復号方法が適用される処理対象ポイントの位置情報の予測を行って予測ポイントの位置情報を生成する
 (11)乃至(17)のいずれかに記載の情報処理装置。
 (19) 前記予測部は、前記処理対象ポイントの位置情報の予測を用いる復号方法が適用されるポイントの内、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造において、より上位層においてノードが疎になるポイントを優先し、または、より下位層においてノードが疎になるポイントを優先し、前記予測を行って前記予測ポイントの位置情報を生成する
 (11)乃至(18)のいずれかに記載の情報処理装置。
 (20) 3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報と前記予測ポイントに対応する処理対象ポイントの位置情報との差分を生成し、
 前記ポイントクラウドについて、参照ポイントの位置情報に基づいて前記処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、
 生成された前記差分に対して、生成された前記予測ポイントの位置情報を足しこみ、前記処理対象ポイントの位置情報を導出する
 情報処理方法。
 100 予測符号化装置, 101 予測処理部, 102 可逆符号化部, 111 参照ポイント設定部, 112 予測ポイント生成部, 113 差分導出部, 114 差分量子化部, 200 予測復号装置, 201 可逆復号部, 202 予測処理部, 211 参照ポイント設定部, 212 予測ポイント生成部, 213 差分足しこみ部, 300 符号化装置, 301 ジオメトリ符号化部, 302 ジオメトリ復号部, 303 ポイントクラウド生成部, 304 アトリビュート符号化部, 305 ビットストリーム生成部, 311 バウンディングボックス設定部, 312 ボクセル設定部, 313 符号化部, 321 モード選択部, 322 Octree符号化部, 323 DCM符号化部, 324 予測符号化部, 325 メタデータ生成部, 400 復号装置, 401 ジオメトリ復号部, 402 アトリビュート復号部, 403 ポイントクラウド生成部, 411 モード選択部, 412 Octree復号部, 413 DCM復号部, 414 予測復号部

Claims (20)

  1.  3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成する予測部と、
     前記予測部により生成された前記予測ポイントの位置情報と前記処理対象ポイントの位置情報との差分を導出する差分導出部と、
     前記差分導出部により導出された前記差分を符号化し、ビットストリームを生成する符号化部と
     を備える情報処理装置。
  2.  前記予測部は、前記処理対象ポイントの近傍に位置する単数または複数のポイントを前記参照ポイントとし、前記参照ポイントの重心を示す前記予測ポイントの位置情報を生成する
     請求項1に記載の情報処理装置。
  3.  前記予測部は、前記処理対象ポイントの近傍に位置する単数または複数のポイントを前記参照ポイントとし、前記参照ポイントを用いて関数を導出し、前記関数を用いて前記予測ポイントの位置情報を生成する
     請求項1に記載の情報処理装置。
  4.  前記予測部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造における前記処理対象ポイントの上位層のノードを前記参照ポイントとして設定する
     請求項1に記載の情報処理装置。
  5.  前記差分導出部により導出された前記差分を量子化する差分量子化部をさらに備え、
     前記符号化部は、前記差分量子化部により量子化された前記差分を符号化し、前記ビットストリームを生成する
     請求項1に記載の情報処理装置。
  6.  前記差分量子化部は、前記差分を量子化し、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じたビット量にし、
     前記符号化部は、前記差分量子化部により、前記階層に応じたビット量に量子化された前記差分を符号化し、前記ビットストリームを生成する
     請求項5に記載の情報処理装置。
  7.  前記処理対象ポイントの符号化方法として、前記処理対象ポイントの位置情報の予測を用いる方法を適用するか、DCM(Direct Coding Mode)を適用するかを選択する選択部をさらに備え、
     前記選択部により前記予測を用いる方法が選択された場合、
      前記予測部は、前記予測を行って前記予測ポイントの位置情報を生成し、
      前記差分導出部は、前記差分を導出し、
      前記符号化部は、前記差分を符号化して前記ビットストリームを生成する
     請求項1に記載の情報処理装置。
  8.  前記選択部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じて、前記処理対象ポイントの復号方法を選択する
     請求項7に記載の情報処理装置。
  9.  前記符号化部は、前記選択部により選択された前記処理対象ポイントの符号化方法を示す情報を含む前記ビットストリームを生成する
     請求項7に記載の情報処理装置。
  10.  3次元形状のオブジェクトをポイント群として表現するポイントクラウドについて、参照ポイントの位置情報に基づいて処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、
     生成された前記予測ポイントの位置情報と前記処理対象ポイントの位置情報との差分を導出し、
     導出された前記差分を符号化し、ビットストリームを生成する
     情報処理方法。
  11.  3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報と前記予測ポイントに対応する処理対象ポイントの位置情報との差分を生成する復号部と、
     前記ポイントクラウドについて、参照ポイントの位置情報に基づいて前記処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成する予測部と、
     前記復号部により生成された前記差分に対して、前記予測部により生成された前記予測ポイントの位置情報を足しこみ、前記処理対象ポイントの位置情報を導出する足しこみ部と
     を備える情報処理装置。
  12.  前記予測部は、前記処理対象ポイントの近傍に位置する単数または複数のポイントを前記参照ポイントとし、前記参照ポイントの重心を示す前記予測ポイントの位置情報を生成する
     請求項11に記載の情報処理装置。
  13.  前記予測部は、前記処理対象ポイントの近傍に位置する単数または複数のポイントを前記参照ポイントとし、前記参照ポイントを用いて関数を導出し、前記関数を用いて前記予測ポイントの位置情報を生成する
     請求項11に記載の情報処理装置。
  14.  前記予測部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造における前記処理対象ポイントの上位層のノードを前記参照ポイントとして設定する
     請求項11に記載の情報処理装置。
  15.  前記処理対象ポイントの復号方法として、前記処理対象ポイントの位置情報の予測を用いる方法を適用するか、DCM(Direct Coding Mode)を適用するかを選択する選択部をさらに備え、
     前記選択部により前記予測を用いる方法が選択された場合、
      前記復号部は、前記符号化データを復号して前記差分を生成し、
      前記予測部は、前記予測を行って前記予測ポイントの位置情報を生成し、
      前記足しこみ部は、前記差分に前記予測ポイントの位置情報を足しこむ
     請求項11に記載の情報処理装置。
  16.  前記選択部は、ビットストリームに含まれる、前記処理対象ポイントの符号化方法を示す情報に基づいて、前記処理対象ポイントの復号方法を選択する
     請求項15に記載の情報処理装置。
  17.  前記選択部は、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造におけるノードが疎になる階層に応じて、前記処理対象ポイントの復号方法を選択する
     請求項15に記載の情報処理装置。
  18.  前記予測部は、前記ポイントクラウドの他の復号方法が適用されたポイントの復号後、前記処理対象ポイントの位置情報の予測を用いる復号方法が適用される処理対象ポイントの位置情報の予測を行って予測ポイントの位置情報を生成する
     請求項11に記載の情報処理装置。
  19.  前記予測部は、前記処理対象ポイントの位置情報の予測を用いる復号方法が適用されるポイントの内、前記ポイントクラウドを構成する各ポイントの位置情報を用いた木構造において、より上位層においてノードが疎になるポイントを優先し、または、より下位層においてノードが疎になるポイントを優先し、前記予測を行って前記予測ポイントの位置情報を生成する
     請求項11に記載の情報処理装置。
  20.  3次元形状のオブジェクトをポイント群として表現するポイントクラウドの、処理対象ポイントの位置情報の予測を用いて符号化された符号化データを復号し、参照ポイントの位置情報に基づいて予測された予測ポイントの位置情報と前記予測ポイントに対応する処理対象ポイントの位置情報との差分を生成し、
     前記ポイントクラウドについて、参照ポイントの位置情報に基づいて前記処理対象ポイントの位置情報を予測し、予測ポイントの位置情報を生成し、
     生成された前記差分に対して、生成された前記予測ポイントの位置情報を足しこみ、前記処理対象ポイントの位置情報を導出する
     情報処理方法。
PCT/JP2020/023040 2019-06-25 2020-06-11 情報処理装置および方法 WO2020262019A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/620,412 US11991348B2 (en) 2019-06-25 2020-06-11 Information processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019116969 2019-06-25
JP2019-116969 2019-06-25

Publications (1)

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

Family

ID=74060271

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US11991348B2 (ja)
WO (1) WO2020262019A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443459B2 (en) * 2018-03-23 2022-09-13 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115918092A (zh) * 2020-06-22 2023-04-04 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017126890A (ja) * 2016-01-14 2017-07-20 キヤノン株式会社 符号化装置及びその制御方法
US20190080483A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Point Cloud Compression
WO2019082837A1 (ja) * 2017-10-24 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9324190B2 (en) * 2012-02-24 2016-04-26 Matterport, Inc. Capturing and aligning three-dimensional scenes
JP6469597B2 (ja) 2016-01-14 2019-02-13 ミハル通信株式会社 ネットワークシステムおよび光送受信器
US11095908B2 (en) * 2018-07-09 2021-08-17 Samsung Electronics Co., Ltd. Point cloud compression using interpolation
US11348283B2 (en) * 2018-07-10 2022-05-31 Samsung Electronics Co., Ltd. Point cloud compression via color smoothing of point cloud prior to texture video generation
US11138762B2 (en) * 2018-07-11 2021-10-05 Samsung Electronics Co., Ltd. Visual quality of video based point cloud compression using one or more additional patches
US11122279B2 (en) * 2018-10-02 2021-09-14 Samsung Electronics Co., Ltd. Point cloud compression using continuous surface codes
US10944991B2 (en) * 2018-10-03 2021-03-09 Samsung Electronics Co., Ltd. Prediction for matched patch index coding
EP4343702A3 (en) * 2018-10-09 2024-05-29 Panasonic Intellectual Property Corporation of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN110058594A (zh) * 2019-04-28 2019-07-26 东北大学 基于示教的多传感器的移动机器人定位导航系统及方法
WO2021141094A1 (ja) * 2020-01-09 2021-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11790601B2 (en) * 2021-09-28 2023-10-17 Sony Group Corporation Minimal volumetric 3D on demand for efficient 5G transmission

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017126890A (ja) * 2016-01-14 2017-07-20 キヤノン株式会社 符号化装置及びその制御方法
US20190080483A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Point Cloud Compression
WO2019082837A1 (ja) * 2017-10-24 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11443459B2 (en) * 2018-03-23 2022-09-13 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

Also Published As

Publication number Publication date
US11991348B2 (en) 2024-05-21
US20220353492A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
JP7480775B2 (ja) 情報処理装置および方法
WO2019198523A1 (ja) 画像処理装置および方法
WO2020012967A1 (ja) 画像処理装置および方法
JPWO2020066680A1 (ja) 画像処理装置および方法
JP2022516847A (ja) 適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム
WO2020262019A1 (ja) 情報処理装置および方法
WO2023132919A1 (en) Scalable framework for point cloud compression
WO2021140930A1 (ja) 情報処理装置および方法
WO2021010200A1 (ja) 情報処理装置および方法
WO2020145143A1 (ja) 情報処理装置および方法
WO2020071115A1 (ja) 画像処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2021002214A1 (ja) 情報処理装置および方法
WO2021010134A1 (ja) 情報処理装置および方法
WO2019198520A1 (ja) 情報処理装置および方法
WO2021029226A1 (ja) 情報処理装置および方法
WO2021140928A1 (ja) 情報処理装置および方法
WO2020262020A1 (ja) 情報処理装置および方法
WO2024029348A1 (ja) 情報処理装置および方法
WO2022004377A1 (ja) 情報処理装置および方法
WO2022075074A1 (ja) 画像処理装置および方法
WO2023113917A1 (en) Hybrid framework for point cloud compression
AU2022409165A1 (en) Hybrid framework for point cloud compression
CN104509114A (zh) 动图像编码方法、动图像解码方法、动图像编码装置、动图像解码装置、动图像编码程序、动图像解码程序以及记录介质

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP