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

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

Info

Publication number
WO2020145143A1
WO2020145143A1 PCT/JP2019/050770 JP2019050770W WO2020145143A1 WO 2020145143 A1 WO2020145143 A1 WO 2020145143A1 JP 2019050770 W JP2019050770 W JP 2019050770W WO 2020145143 A1 WO2020145143 A1 WO 2020145143A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute information
unit
encoding
information
decoding
Prior art date
Application number
PCT/JP2019/050770
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 ソニー株式会社
Publication of WO2020145143A1 publication Critical patent/WO2020145143A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Definitions

  • the present disclosure relates to an information processing device and method, and more particularly, to an information processing device and method that enable easier encoding/decoding.
  • Non-Patent Document 1 a method of encoding 3D data representing a three-dimensional structure such as a point cloud has been considered (see Non-Patent Document 1, for example).
  • a point cloud that represents a three-dimensional structure as a point cloud is composed of point position information and attribute information.
  • a method of encoding (decoding) position information and subsequently encoding (decoding) attribute information has been considered.
  • the position information including the deterioration due to the encoding is known, and the position information is used to perform the encoding.
  • the present disclosure has been made in view of such a situation, and makes it possible to more easily encode and decode 3D data.
  • An information processing apparatus encodes the interpolation processing unit that interpolates the attribute information of a point cloud that represents a three-dimensional object as a point cloud, and the attribute information that has been interpolated by the interpolation processing unit.
  • An information processing device including an encoding unit.
  • the information processing method is an information processing method that interpolates the attribute information of a point cloud that represents a three-dimensional object as a point cloud and encodes the attribute information after interpolation.
  • An information processing device is a decoding unit that decodes encoded data of attribute information of a point cloud that represents a three-dimensional object as a point cloud, and the decoding unit decodes the encoded data.
  • An information processing apparatus including: an extraction unit that extracts attribute information corresponding to the position information of the point cloud from the generated attribute information.
  • An information processing method is to decode the encoded data of the attribute information of the point cloud that represents a three-dimensional object as a point cloud, and to generate the attribute information generated by decoding the encoded data.
  • the attribute information of the point cloud that represents a three-dimensional object as a point cloud is interpolated, and the attribute information after the interpolation is encoded.
  • the encoded data of the attribute information of the point cloud that represents a three-dimensional object as a point cloud is decoded, and the encoded data is decoded and generated. Attribute information corresponding to the position information of the point cloud is extracted from the attribute information.
  • Non-Patent Document 1 (described above)
  • Non-Patent Document 2 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017.
  • Non-Patent Document 3 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
  • Non-Patent Document 4 Jianle Chen, Maria Alshina, Gary J.
  • the contents described in the above non-patent documents are also the basis for determining support requirements.
  • the Quad-Tree Block Structure described in Non-Patent Document 3 and the QTBT (Quad Tree Plus Binary Tree) Block Structure described in Non-Patent Document 4 are not directly described in the embodiment, It is within the disclosure range of the present technology and satisfies the support requirements of the claims.
  • the technical terms such as Parsing, Syntax, and Semantics are also within the disclosure range of the present technology even when 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 position information and attribute information of points, and a mesh that is composed of vertices, edges, and faces and that defines a three-dimensional shape using polygon representation (Mesh) ) Etc. 3D data existed.
  • a three-dimensional structure (three-dimensional object) is represented as a set of many points (point cloud). That is, the point cloud data (also referred to as point cloud data) is composed of position information and attribute information of each point of this point cloud.
  • the attribute information includes, for example, color information, reflectance information, normal line information and the like. Therefore, the data structure is relatively simple, and an arbitrary three-dimensional structure can be expressed with sufficient accuracy by using a sufficient number of points.
  • points may be interpolated in the decoding result of the encoded data of the position information. Further, as in method 1-2, points may be interpolated in the data before encoding. Further, as in the method 1-3, orthogonal transform may be used in encoding (inverse orthogonal transform is used in decoding). In addition, like the method 1-4, prediction may be used in encoding/decoding.
  • the sparse points of the point cloud are interpolated to make them dense, and the attribute information is encoded/decoded.
  • the attribute information of a point cloud that represents a three-dimensional object as a point cloud is interpolated, and the attribute information after the interpolation is encoded.
  • an interpolation processing unit that interpolates the attribute information of a point cloud that represents a three-dimensional object as a point cloud, and an encoding unit that encodes the attribute information after the interpolation by the interpolation processing unit. Be prepared.
  • the encoded data of the attribute information of the point cloud that represents a three-dimensional object as a point cloud is decoded, and the attribute information generated by decoding the encoded data corresponds to the position information of the point cloud.
  • the attribute information to be extracted is extracted.
  • a decoding unit that decodes coded data of attribute information of a point cloud that represents a three-dimensional object as a point cloud, and attribute information that is generated by decoding the coded data by the decoding unit
  • an extraction unit that extracts attribute information corresponding to the position information of the point cloud.
  • the attribute information can be processed in a dense state, when processing is performed using the attribute information of the neighboring points, it is not necessary to distinguish the presence or absence of the neighboring points, which is easier. Can be encoded and decoded.
  • points can exist at arbitrary positions. That is, in the case of an image, the pixels are arranged at equal intervals, but in the case of a point cloud, the interval between points is not always constant, and there may be a part where the points are sparse.
  • FIG. 2 shows image data of 4 pixels ⁇ 4 pixels, a gray square represents a pixel, and a white square represents a region where no pixel exists. That is, in this case, only information for 10 pixels exists in the area where 16 pixels can exist.
  • a pixel does not exist at a position where the pixel may exist at a predetermined resolution, the pixel is in a sparse state.
  • this pixel corresponds to a point. That is, when there is no point at a position where the point may exist in the predetermined resolution, the point is in a sparse state.
  • location information and attribute information The same applies to location information and attribute information. That is, since the position information indicates the position of each such point and the attribute information is associated with each point, when the point is sparse, the position information and the attribute information are also sparse.
  • the points are sparse, it is necessary to classify the processing depending on whether or not there are neighboring points, which may complicate the processing.
  • the pixels are sparse as shown in A of FIG. 2, in the case of the process of referring to the adjacent pixels, the number and positions of the adjacent pixels are different depending on the position of the pixel to be processed, and therefore all processes can be performed by the same method. It can be difficult.
  • the processing becomes complicated when it is necessary to classify cases depending on the presence or absence of adjacent pixels, the number of adjacent pixels, and the like. If the processing becomes complicated, there is a risk that the load of encoding and decoding and the processing time will increase. Therefore, the cost of encoding and decoding may increase.
  • the attribute information is interpolated as described above.
  • the sparse points of the point cloud are interpolated to make them dense, and attribute information corresponding to the interpolated points is generated.
  • FIG. 2B there is no region where pixels (that is, points) do not exist (becomes a dense state). Therefore, in the processing using the information on the neighboring points as described above, it is not necessary to divide the cases, and the encoding/decoding can be performed more easily. That is, it is possible to suppress the load of encoding and decoding and the increase in processing time. As a result, it is possible to suppress an increase in encoding and decoding costs.
  • the attribute information of another point (neighboring point) located near the interpolated point may be used.
  • the attribute information corresponding to the interpolated points can be generated more easily. That is, the attribute information can be more easily interpolated.
  • the attribute information corresponding to the interpolated point when the attribute information corresponding to the interpolated point is generated, the attribute information of the other point (nearest point) closest to the point may be duplicated. By doing so, the attribute information corresponding to the interpolated points can be generated more easily than the case where the attribute information corresponding to the interpolated points is derived using the attribute information of a plurality of neighboring points.
  • the attribute information corresponding to the interpolated point when the attribute information corresponding to the interpolated point is generated, it may be derived using the attribute information of a plurality of other points located near that point. By doing this, the attribute information with a smaller difference (more harmonious) from the attribute information in the surroundings is generated as compared with the case where the attribute information of the nearest point is duplicated and the attribute information corresponding to the interpolated point is generated. Can be generated.
  • the position information of the point cloud that has not been interpolated may be further encoded.
  • the decoding side may further decode the encoded data of the position information of the point cloud that has not been interpolated. By doing so, on the decoding side, the position information and the attribute information can be associated with each other to generate a point cloud.
  • the encoded data to be acquired is the data generated by interpolating and encoding the attribute information of the point cloud, and the attribute information after interpolation, which is generated by decoding the encoded data From, it is possible to extract the attribute information corresponding to the position information that is not interpolated. By doing so, the attribute information corresponding to the position information can be easily obtained.
  • Octree is a tree structure of the 3D area of the point cloud.
  • Figure 3 shows an example of Octree.
  • the value of each node of this Octree indicates the presence/absence of points in the partial area corresponding to the node in the three-dimensional area of the point cloud. For example, the value "1" indicates a partial area that includes a point, and the value "0" indicates a partial area that does not include a point.
  • one node corresponds to eight partial areas. That is, each node of the Octree is composed of 8-bit data, and the 8-bit indicates the presence/absence of points in the eight partial areas.
  • the upper node of the Octree indicates the presence or absence of points in the area in which the eight partial areas corresponding to the lower nodes belonging to that node are put together into one. That is, the upper node is generated by collecting the information of the partial areas of the lower nodes. If the value of the node is “0”, that is, if the corresponding eight partial areas do not include all the points, the node is deleted.
  • Octree a tree structure consisting of nodes whose value is not "0" is constructed.
  • Octree can indicate the presence or absence of points in the partial area of each resolution. Therefore, by converting the point cloud into an octree and then encoding, it is possible to more easily restore the point cloud of various resolutions at the time of decoding. That is, the scalability of the point cloud can be realized more easily.
  • the attribute information may be interpolated as described above.
  • the sparse nodes of the octree of the point cloud may be interpolated and made dense, and attribute information corresponding to the dense nodes may be generated.
  • the 4th (E'), 8th (L'), 12th (S'), 14th (V'), and 16th (Y') nodes from the left of the lowest layer are It doesn't exist. Therefore, these nodes are interpolated to generate their attribute information.
  • Octree it is possible to easily identify whether points (nodes) are sparse and which points (nodes) should be interpolated. It can be done easily.
  • the method of deriving the attribute information to be interpolated is arbitrary.
  • information about neighboring nodes may be used in an Octree having a dependency relationship.
  • the attribute information of the node B can be expressed as the following Expression (1) using the attribute information of the nodes A and C.
  • the attribute information of the node F can be expressed by the following equation (2) using the attribute information of the nodes E and E′.
  • the attribute information of the node E' can be derived using the attribute information of the node F and the node E.
  • the attribute information of the node L′ is the attribute information of the nodes M and L
  • the attribute information of the node S′ is the attribute information of the nodes T and S
  • the attribute information of the node V′ is the node W.
  • the attribute information of the node V, and the attribute information of the node Y′ can be derived using the attribute information of the node Z and the node Y, respectively.
  • the attribute information to be interpolated can be derived more easily.
  • the interpolation may be performed by using the attribute information of the neighboring points in the three-dimensional space without considering the dependency relationship of the Octree nodes. However, in that case, it may be necessary to update the attribute information of the upper node of the Octree based on the dependency relationship such as Expression (1) or Expression (2).
  • node interpolation can be performed in any hierarchy (level) of Octree. Interpolation may be performed at the lowest layer or at a higher level.
  • the attribute information is interpolated at a level higher than the lowest level, the encoding/decoding of the attribute information lower than the level is omitted, and the attribute information at the lower level is used by using the attribute information at the interpolated level. Should be derived.
  • the attribute information is interpolated using the result of encoding and decoding the position information of the point cloud.
  • the attribute information can be interpolated so as to correspond to the encoding/decoding result of the position information. Therefore, at the time of decoding, the attribute information corresponding to the position information (decoding result) can be obtained more easily. That is, by doing so, not only the effect described in the first embodiment can be obtained, but also the encoded data of the point cloud can be more easily decoded. That is, it is possible to further suppress an increase in decoding load and processing time and an increase in cost.
  • FIG. 4 is a block diagram showing a main configuration example of the encoding device.
  • the coding apparatus 10 shown in FIG. 4 is a conventional coding apparatus that codes a point cloud.
  • the encoding device 10 includes a position information encoding unit 11, a position information decoding unit 12, a point cloud generation unit 13, an attribute information encoding unit 14, and a bitstream generation unit 15.
  • the position information encoding unit 11 encodes the position information of the point cloud (3D data) input to the encoding device 10.
  • This encoding method is arbitrary. For example, processing such as filtering or quantization for noise suppression (denoise) may be performed.
  • the position information encoding unit 11 supplies the generated encoded data of the position information to the position information decoding unit 12 and the bitstream generation unit 15.
  • the position information decoding unit 12 acquires the coded data of the position information supplied from the position information coding unit 11, and decodes the coded data.
  • This decoding method is arbitrary as long as it is a method corresponding to the encoding by the position information encoding unit 11. For example, processing such as denoising filtering and inverse quantization may be performed.
  • the position information decoding unit 12 supplies the generated position information (decoding result) to the point cloud generation unit 13.
  • the point cloud generation unit 13 acquires the attribute information of the point cloud input to the encoding device 10 and the position information (decoding result) supplied from the position information decoding unit 12.
  • the position information may change due to processing such as filtering or quantization (or dequantization) at the time of encoding/decoding by the position information encoding unit 11 (that is, the number of points may increase or decrease due to encoding). , There is a possibility to move). Therefore, the position information (decoding result) generated by the position information decoding unit 12 may be different from the position information before being encoded by the position information encoding unit 11.
  • the point cloud generation unit 13 performs a process (recolor process) of matching the attribute information with the position information (decoding result).
  • the point cloud generation unit 13 supplies the attribute information corresponding to the position information (decoding result) to the attribute information encoding unit 14.
  • the attribute information encoding unit 14 acquires and encodes the attribute information supplied from the point cloud generation unit 13. This encoding method is arbitrary.
  • the attribute information encoding unit 14 supplies the generated encoded data of the attribute information to the bitstream generation unit 15.
  • the bitstream generation unit 15 acquires the coded data of the position information supplied from the position information coding unit 11 and the coded data of the attribute information supplied from the attribute information coding unit 14.
  • the bitstream generation unit 15 generates a bitstream including the encoded data, and outputs the bitstream to the outside of the encoding device 10.
  • the position information encoding unit 11 encodes the position information of the point cloud in step S11.
  • step S12 the position information decoding unit 12 decodes the encoded data of the position information generated in step S11.
  • step S13 the point cloud generation unit 13 performs recolor processing using the decoding result of the position information obtained in step S12, and associates the attribute information with the position information (decoding result).
  • step S14 the attribute information encoding unit 14 encodes the attribute information associated with the position information decoding result in step S13 to generate encoded data.
  • step S15 the bitstream generation unit 15 generates and outputs a bitstream including the encoded data of the position information generated in step S11 and the encoded data of the attribute information generated in step S14.
  • the encoding process ends when the process of step S15 ends.
  • FIG. 6 is a block diagram showing a main configuration example of the decoding device.
  • the decoding device 30 shown in FIG. 6 corresponds to the encoding device 10 and is a conventional decoding device that decodes the encoded data of the point cloud generated in the encoding device 10.
  • the decoding device 30 includes a position information decoding unit 31, an attribute information decoding unit 32, and a point cloud generation unit 33.
  • the position information decoding unit 31 decodes the encoded data of the position information of the point cloud (3D data) input to the decoding device 30.
  • This decoding method is arbitrary as long as it corresponds to the encoding performed by the position information encoding unit 11 (FIG. 4). For example, processing such as denoising filtering and inverse quantization may be performed.
  • the position information decoding unit 31 supplies the generated position information to the point cloud generation unit 33.
  • the attribute information decoding unit 32 decodes the encoded data of the attribute information of the point cloud (3D data) input to the decoding device 30.
  • This decoding method is arbitrary as long as it corresponds to the encoding performed by the attribute information encoding unit 14 (FIG. 4). For example, processing such as denoising filtering and inverse quantization may be performed.
  • the attribute information decoding unit 32 supplies the generated attribute information to the point cloud generation unit 33.
  • the point cloud generation unit 33 acquires the position information supplied from the position information decoding unit 31 and the attribute information supplied from the attribute information decoding unit 32.
  • the point cloud generation unit 33 associates the position information with the attribute information, generates a point cloud, and outputs the point cloud to the outside of the decoding device 30.
  • the position information decoding unit 31 decodes the position information encoded data in step S31.
  • step S32 the attribute information decoding unit 32 decodes the encoded data of the attribute information.
  • step S33 the point cloud generation unit 33 associates the position information generated in step S31 with the attribute information generated in step S32, generates a point cloud, and outputs the point cloud.
  • step S33 ends, the decryption process ends.
  • the attribute information is processed in a sparse state. Therefore, the encoding and decoding processes may be complicated, and the encoding and decoding loads and the processing time may increase. Therefore, the cost of encoding and decoding may increase.
  • FIG. 8 is a block diagram showing an example of the configuration of an encoding device that is an aspect of an information processing device to which the present technology is applied.
  • the encoding apparatus 100 shown in FIG. 8 is an apparatus that encodes a point cloud (3D data).
  • the encoding apparatus 100 encodes the point cloud using the method 1-1 described above.
  • FIG. 8 shows main components such as a processing unit and a data flow, and the components shown in FIG. 8 are not necessarily all. That is, in the encoding device 100, a processing unit not shown as a block in FIG. 8 may exist, or a process or data flow not shown as an arrow or the like in FIG. 8 may exist.
  • the encoding device 100 includes a position information encoding unit 101, a position information decoding unit 102, a point cloud generation unit 103, an interpolation processing unit 104, an attribute information encoding unit 105, and a bitstream generation unit 106.
  • a position information encoding unit 101 a position information decoding unit 102
  • a point cloud generation unit 103 a point cloud generation unit 103
  • an interpolation processing unit 104 an attribute information encoding unit 105
  • a bitstream generation unit 106 bitstream generation unit 106.
  • the position information encoding unit 101 encodes the position information of the point cloud (3D data) input to the encoding device 100.
  • This encoding method is arbitrary. For example, each method described in the first embodiment can be applied. For example, processing such as filtering or quantization for noise suppression (denoise) may be performed.
  • the position information coding unit 101 supplies the generated coded data of the position information to the position information decoding unit 102 and the bitstream generation unit 106.
  • the position information decoding unit 102 acquires the coded data of the position information supplied from the position information coding unit 101, and decodes the coded data.
  • This decoding method is arbitrary as long as it corresponds to the encoding by the position information encoding unit 101. For example, processing such as denoising filtering and inverse quantization may be performed.
  • the position information decoding unit 102 supplies the generated position information (decoding result) to the point cloud generation unit 103.
  • the point cloud generation unit 103 acquires the attribute information of the point cloud input to the encoding device 100 and the position information (decoding result) supplied from the position information decoding unit 102.
  • the point cloud generation unit 103 performs a process (recolor process) of matching the attribute information with the position information (decoding result).
  • the point cloud generation unit 103 supplies the attribute information associated with the position information (decoding result) to the interpolation processing unit 104.
  • the interpolation processing unit 104 acquires the attribute information supplied from the point cloud generation unit 103. As described in the first embodiment, the interpolation processing unit 104 interpolates the sparse portion of the attribute information to make it dense. This interpolation method is arbitrary. For example, each method described in the first embodiment can be applied. The interpolation processing unit 104 supplies the attribute information after interpolation to the attribute information coding unit 105.
  • the attribute information encoding unit 105 acquires the attribute information after interpolation supplied from the interpolation processing unit 104. As described in the first embodiment, the attribute information encoding unit 105 encodes the attribute information after the interpolation to generate encoded data. This encoding method is arbitrary. For example, each method described in the first embodiment can be applied. For example, processing such as filtering or quantization for noise suppression (denoise) may be performed. The attribute information encoding unit 105 supplies the generated encoded data of the attribute information after interpolation to the bitstream generation unit 106.
  • the bitstream generation unit 106 acquires the encoded data of the position information supplied from the position information encoding unit 101. Further, the bitstream generation unit 106 acquires the coded data of the attribute information after interpolation supplied from the attribute information coding unit 105. The bitstream generation unit 106 generates a bitstream including encoded data of position information and encoded data of attribute information after interpolation. The bitstream generation unit 106 outputs the generated bitstream to the outside of the encoding device 100.
  • the position information coding unit 101 and the attribute information coding unit 105 may be integrated.
  • the encoding device 100 can encode the attribute information in a dense state. Therefore, when processing is performed using the attribute information of the neighboring points, the presence or absence of the neighboring points is determined. The division and the like are unnecessary, and the encoding can be performed more easily. Therefore, the encoding device 100 can obtain the effects described in the first embodiment.
  • the attribute information can be interpolated so as to correspond to the encoding/decoding result of the position information. Therefore, at the time of decoding, the attribute information corresponding to the position information (decoding result) can be obtained more easily. That is, since the encoded data of the point cloud can be more easily decoded, it is possible to further suppress an increase in decoding load and processing time and an increase in cost.
  • each processing unit may be configured by a logic circuit that realizes the above processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), etc., and realizes the above processing by executing a program using them. You may do it.
  • each processing unit may have both configurations, and a part of the above-described 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 of the processing units may implement part of the above-described processing by a logic circuit, and some of the other processing units may execute the program. May be realized, and another processing unit may realize the above-mentioned processing by both executing the logic circuit and executing the program.
  • the position information encoding unit 101 encodes the position information of the point cloud in step S101.
  • step S102 the position information decoding unit 102 decodes the point cloud encoded data of the position information generated in step S101.
  • step S103 the point cloud generation unit 13 performs recoloring processing using the decoding result of the position information obtained in step S102, and associates the attribute information with the position information (decoding result).
  • step S104 the interpolation processing unit 104 interpolates position information (points).
  • step S105 the interpolation processing unit 104 interpolates the attribute information corresponding to the interpolated point.
  • step S106 the attribute information encoding unit 105 encodes the interpolated attribute information generated in step S105 to generate encoded data.
  • step S107 the bitstream generation unit 106 generates and outputs a bitstream including the encoded data of the position information generated in step S101 and the encoded data of the attribute information generated in step S106.
  • the encoding process ends when the process of step S107 ends.
  • the encoding device 100 can encode the attribute information in a dense state, and therefore, when performing processing using the attribute information of the neighboring points, the presence/absence of the neighboring points is detected. In this case, it is not necessary to divide the case, and encoding can be performed more easily. Therefore, the encoding device 100 can obtain the effects described in the first embodiment.
  • the attribute information can be interpolated so as to correspond to the encoding/decoding result of the position information. Therefore, at the time of decoding, the attribute information corresponding to the position information (decoding result) can be obtained more easily. That is, since the encoded data of the point cloud can be more easily decoded, it is possible to further suppress an increase in decoding load and processing time and an increase in cost.
  • FIG. 10 is a block diagram showing an example of the configuration of a decoding device that is an aspect of an information processing device to which the present technology is applied.
  • the decoding device 130 shown in FIG. 10 corresponds to the encoding device 100 and decodes the encoded data of the point cloud generated in the encoding device 100.
  • the decoding device 130 decodes the coded data of the point cloud using the method 1-1 described above.
  • FIG. 10 shows main components such as a processing unit and a data flow, and the components shown in FIG. 10 are not necessarily all. That is, in the decoding device 130, a processing unit not shown as a block in FIG. 10 may exist, or a process or data flow not shown as an arrow or the like in FIG. 10 may exist.
  • the decoding device 130 includes a position information decoding unit 131, an attribute information decoding unit 132, an attribute information extraction unit 133, and a point cloud generation unit 134.
  • the position information decoding unit 131 decodes the encoded data of the position information of the point cloud (3D data) input to the decoding device 130. This position information is not interpolated as described above in the first embodiment and the like. That is, the position information decoding unit 131 generates the position information that is not interpolated by decoding the encoded data. Note that this decoding method is arbitrary as long as it is a method corresponding to the encoding performed by the position information encoding unit 101 (FIG. 8). For example, each method described in the first embodiment can be applied. For example, processing such as filtering for denoising or inverse quantization may be performed. The position information decoding unit 131 supplies the generated position information that has not been interpolated to the attribute information extraction unit 133.
  • the attribute information decoding unit 132 decodes the encoded data of the attribute information after the interpolation of the point cloud (3D data) input to the decoding device 130. As described above in the first embodiment and the like, the attribute information of the encoded data is interpolated by the encoding device 100 so that the data becomes dense when the encoded data is generated. Therefore, the attribute information decoding unit 132 generates the interpolated attribute information by decoding the encoded data. Note that this decoding method is arbitrary as long as it corresponds to the encoding performed by the attribute information encoding unit 105 (FIG. 8). For example, each method described in the first embodiment can be applied. For example, processing such as filtering for denoising or inverse quantization may be performed. The attribute information decoding unit 132 supplies the generated attribute information after interpolation to the attribute information extraction unit 133.
  • the attribute information extraction unit 133 acquires the non-interpolated position information supplied from the position information decoding unit 131. In addition, the attribute information extraction unit 133 acquires the interpolated attribute information supplied from the attribute information decoding unit 132. As described in the first embodiment, the attribute information extraction unit 133 extracts the attribute information corresponding to the non-interpolated position information (that is, a point) from the interpolated attribute information. That is, the attribute information extraction unit 133 extracts the attribute information corresponding to the position information that is the decoding result. Note that this extraction method is arbitrary. For example, each method described in the first embodiment can be applied.
  • the attribute information is recolored in the encoding device 100 so as to correspond to the position information (decoding result). Therefore, the attribute information after the interpolation includes the attribute information corresponding to all the position information (decoding result). Therefore, the attribute information extraction unit 133 can easily extract the attribute information corresponding to the position information.
  • the attribute information extraction unit 133 supplies the non-interpolated position information and the extracted attribute information to the point cloud generation unit 134.
  • the point cloud generation unit 134 acquires the position information and the attribute information supplied from the attribute information extraction unit 133.
  • the point cloud generation unit 134 associates the position information and the attribute information with each other to generate a point cloud (that is, a point cloud that is not interpolated) and outputs the point cloud to the outside of the decoding device 130.
  • the decoding device 130 can decode the attribute information in a dense state. Therefore, when processing is performed using the attribute information of the neighboring points, the presence/absence of the neighboring points is classified. Is unnecessary, and decoding can be performed more easily. Therefore, the decoding device 130 can obtain the effects described in the first embodiment.
  • the encoded data of the point cloud can be decoded more easily. Therefore, it is possible to further suppress an increase in decoding load and processing time, and an increase in cost.
  • each processing unit may be configured by a logic circuit that realizes the above processing.
  • each processing unit may have, for example, a CPU, a ROM, a RAM, etc., and the above-described processing may be realized by executing a program using these.
  • each processing unit may have both configurations, and a part of the above-described 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 of the processing units may implement part of the above-described processing by a logic circuit, and some of the other processing units may execute the program. May be realized, and another processing unit may realize the above-mentioned processing by both executing the logic circuit and executing the program.
  • the position information decoding unit 131 decodes the non-interpolated coded data of the position information in step S131.
  • step S132 the attribute information decoding unit 132 decodes the encoded data of the attribute information after interpolation.
  • step S133 the attribute information extraction unit 133 extracts attribute information corresponding to the non-interpolated position information generated in step S131 from the interpolated attribute information generated in step S132.
  • step S134 the point cloud generation unit 134 associates the position information generated in step S131 and the attribute information generated in step S132 with each other, generates a point cloud, and outputs the point cloud to the outside of the decoding device 130.
  • step S134 ends, the decryption process ends.
  • the decoding device 130 can decode the attribute information in a dense state. Therefore, when processing is performed using the attribute information of the neighboring points, the presence or absence of the neighboring points Since division etc. are not necessary, decoding can be performed more easily. Therefore, the decoding device 130 can obtain the effects described in the first embodiment.
  • the encoded data of the point cloud can be decoded more easily. Therefore, it is possible to further suppress an increase in decoding load and processing time, and an increase in cost.
  • method 1-2 will be described.
  • the attribute information is interpolated using the position information of the point cloud before encoding.
  • the encoding of the position information and the encoding of the attribute information can be executed independently of each other. Therefore, for example, the encoding of position information and the encoding of attribute information can be executed in parallel. By doing so, not only the effect described in the first embodiment can be obtained, but also an increase in processing time can be suppressed. This can suppress an increase in cost.
  • FIG. 12 is a block diagram showing a main configuration example of the encoding device 100 in this case.
  • the encoding device 100 illustrated in FIG. 12 is a device that encodes a point cloud (3D data), as in the case of FIG. 8.
  • the encoding device 100 encodes the point cloud using the method 1-2 described above.
  • FIG. 12 shows main components such as a processing unit and a data flow, and the components shown in FIG. 12 are not necessarily all. That is, in the encoding device 100, there may be a processing unit not shown as a block in FIG. 12 or a process or data flow not shown as an arrow or the like in FIG.
  • the encoding device 100 in this case includes a position information encoding unit 101, an interpolation processing unit 104, an attribute information encoding unit 105, and a bitstream generation unit 106. That is, in the encoding device 100 in this case, the position information decoding unit 102 and the point cloud generating unit 103 are omitted as compared with the case of the second embodiment (FIG. 8).
  • the position information encoding unit 101 in this case encodes the position information of the point cloud (3D data) input to the encoding device 100, as in the case of the second embodiment (FIG. 8). Then, the position information coding unit 101 supplies the generated coded data of the position information to the bitstream generation unit 106.
  • the interpolation processing unit 104 acquires the point cloud (3D data) input to the encoding device 100. Then, the interpolation processing unit 104 interpolates the sparse portion of the attribute information to make it dense, as in the case of the second embodiment (FIG. 8). However, the interpolation processing unit 104 in this case interpolates the attribute information using the position information before encoding, as described above. The interpolation processing unit 104 supplies the attribute information after interpolation to the attribute information coding unit 105.
  • the attribute information coding unit 105 acquires the attribute information after interpolation supplied from the interpolation processing unit 104.
  • the attribute information encoding unit 105 encodes the attribute information after the interpolation as in the case of the second embodiment (FIG. 8) to generate encoded data.
  • the attribute information encoding unit 105 supplies the generated encoded data of the attribute information after interpolation to the bitstream generation unit 106.
  • the bit stream generation unit 106 acquires the encoded data of the position information supplied from the position information encoding unit 101. Further, the bitstream generation unit 106 acquires the coded data of the attribute information after interpolation supplied from the attribute information coding unit 105. As in the case of the second embodiment (FIG. 8), the bitstream generation unit 106 generates a bitstream including the encoded data of the position information and the encoded data of the attribute information after interpolation. The bitstream generation unit 106 outputs the generated bitstream to the outside of the encoding device 100.
  • the position information encoding unit 101 and the attribute information encoding unit 105 may be integrated.
  • the encoding device 100 can encode the attribute information in a dense state. Therefore, when processing is performed using the attribute information of the neighboring points, the presence or absence of the neighboring points is determined. The division and the like are unnecessary, and the encoding can be performed more easily. Therefore, the encoding device 100 can obtain the effects described in the first embodiment.
  • the encoding device 100 can encode the position information and the attribute information independently of each other. Therefore, the encoding device 100 can execute the encoding of the position information and the encoding of the attribute information in parallel, for example. By doing so, the encoding apparatus 100 can further suppress an increase in processing time. This can suppress an increase in cost.
  • each processing unit may be configured by a logic circuit that realizes the above processing.
  • each processing unit may have, for example, a CPU, a ROM, a RAM, etc., and the above-described processing may be realized by executing a program using these.
  • each processing unit may have both configurations, and a part of the above-described 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 of the processing units may implement part of the above-described processing by a logic circuit, and some of the other processing units may execute the program. May be realized, and another processing unit may realize the above-mentioned processing by both executing the logic circuit and executing the program.
  • step S151 When the encoding process is started, the position information encoding unit 101 encodes the position information of the point cloud in step S151.
  • step S151 ends, the process proceeds to step S155.
  • each process of steps S152 to S154 is executed.
  • step S152 the interpolation processing unit 104 interpolates the position information (point) before encoding.
  • step S153 the interpolation processing unit 104 interpolates the attribute information corresponding to the interpolated point.
  • step S154 the attribute information encoding unit 105 encodes the interpolated attribute information generated in step S153 to generate encoded data.
  • the process of step S154 ends the process proceeds to step S155.
  • step S155 the bitstream generation unit 106 and the non-interpolated position information coded data generated in step S151 and the interpolation generated in step S154.
  • a bitstream including encoded data of later attribute information is generated and output.
  • the encoding process ends when the process of step S155 ends.
  • the encoding device 100 can encode the attribute information in a dense state, and therefore, when performing processing using the attribute information of the neighboring points, the presence/absence of the neighboring points is detected. In this case, it is not necessary to divide the case, and encoding can be performed more easily. Therefore, the encoding device 100 can obtain the effects described in the first embodiment.
  • the encoding device 100 can encode the position information and the attribute information independently of each other. Therefore, the encoding device 100 can execute the encoding of the position information and the encoding of the attribute information in parallel, for example. By doing so, the encoding apparatus 100 can further suppress an increase in processing time. This can suppress an increase in cost.
  • the configuration of the decoding device 130 in this case is the same as that of the second embodiment (FIG. 10), and therefore its description is omitted.
  • the attribute information extraction unit 133 may not be able to extract the attribute information corresponding to all the position information.
  • the point cloud generation unit 134 causes the other position information (points) located near the position information (point). ) Is used to generate attribute information corresponding to the position information (point). By doing so, even in this case, the attribute information corresponding to all the position information can be obtained.
  • step S134 the point cloud generation unit 134 causes another position information (position) other than the position information (point) located near the position information (point). Using the attribute information corresponding to the point), the attribute information corresponding to the position information (point) is generated. By doing so, even in this case, the attribute information corresponding to all the position information can be obtained.
  • step 1-3 conversion/inverse conversion of attribute information is applied in encoding/decoding of attribute information.
  • the attribute information is orthogonally transformed into coefficient data and encoded, and the coefficient data obtained by decoding is inversely orthogonally transformed to generate attribute information.
  • the attribute information is interpolated for each processing unit of the conversion processing for converting the attribute information into coefficient data. By doing so, the coding efficiency can be improved.
  • a simple orthogonal transform such as DCT (Discrete Cosine Transform) or wavelet transform can be applied. As a result, it is possible to suppress an increase in encoding/decoding load and processing time. Therefore, the increase in cost can be suppressed.
  • DCT Discrete Cosine Transform
  • FIG. 14 is a block diagram illustrating a main configuration example of an encoding device when orthogonal transform is applied.
  • the coding apparatus 200 shown in FIG. 14 is a conventional coding apparatus that codes a point cloud. As described above, in the point cloud that is 3D data, it is difficult to use DCT or wavelet transform like 2D data because it is not guaranteed that there are neighboring points at each point. Therefore, this encoding device 200 applies RAHT (Region Adaptive Hierarchical Transform) as orthogonal transformation.
  • RAHT Registered Adaptive Hierarchical Transform
  • RAHT is one of the orthogonal transformations considering the three-dimensional structure, and weighting (Weight value) according to the positional relationship of points in a voxelized space (for example, whether or not a point exists in an adjacent voxel). Is the Haar transformation using.
  • the Weight values are summed up. If not, the Weight values are inherited as they are and the processing proceeds. In other words, the higher the point, the higher the Weight value. Therefore, it is possible to judge the density of points from the Weight value.
  • the encoding device 200 includes a position information encoding unit 201, a weight derivation unit 202, a RAHT processing unit 203, a quantization unit 204, an attribute information rearranging unit 205, an attribute information encoding unit 206, And a bitstream generation unit 207.
  • the position information encoding unit 201 encodes the position information of the point cloud (3D data) input to the encoding device 200.
  • the position information coding unit 201 supplies the generated coded data of the position information to the Weight derivation unit 202 and the bitstream generation unit 207.
  • the Weight derivation unit 202 acquires the encoded data of the position information supplied from the position information encoding unit 201.
  • the weight derivation unit 202 RAHTs the coefficient of the encoded data of the position information in the Morton code order to derive the Weight value.
  • the Weight derivation unit 202 supplies the derived Weight value to the RAHT processing unit 203 and the attribute information rearranging unit 205.
  • RAHT processing unit 203 performs RAHT on the attribute information of the point cloud (3D data) input to encoding device 200, using the Weight value supplied from Weight derivation unit 202.
  • the RAHT processing unit 203 supplies the conversion coefficient of the attribute information obtained by the processing to the quantization unit 204.
  • the quantization unit 204 quantizes the supplied conversion coefficient of the attribute information to generate a quantized coefficient.
  • the quantization unit 204 supplies the quantized coefficient to the attribute information rearrangement unit 205.
  • the attribute information sorting unit 205 sorts the quantized coefficients supplied from the quantization unit 204 in descending order of Weight value supplied from the Weight derivation unit 202.
  • the attribute information rearranging unit 205 supplies the rearranged quantized coefficient to the attribute information encoding unit 206.
  • the attribute information encoding unit 206 encodes the rearranged quantized coefficients supplied from the attribute information rearranging unit 205. That is, the attribute information coding unit 206 codes each coefficient of the attribute information in descending order of Weight value.
  • the attribute information encoding unit 206 supplies the encoded data of the attribute information generated by the encoding to the bitstream generation unit 207.
  • the bitstream generation unit 207 acquires the coded data of the position information supplied from the position information coding unit 201 and the coded data of the attribute information supplied from the attribute information coding unit 206.
  • the bitstream generation unit 207 generates a bitstream including the encoded data and outputs the bitstream to the outside of the encoding device 200.
  • the position information encoding unit 201 encodes the position information of the point cloud in step S201.
  • step S202 the weight derivation unit 202 RAHTs the coefficients of the encoded data of the position information generated in step S201 in the Morton code order, and derives the weight value.
  • step S203 the RAHT processing unit 203 performs RAHT on the attribute information of the point cloud (3D data) input to the encoding device 200 using the Weight value derived in step S202 to convert the attribute information. Convert to a coefficient (generate a conversion coefficient of attribute information).
  • step S204 the quantization unit 204 quantizes the conversion coefficient of the attribute information generated in step S203 to generate a quantized coefficient.
  • step S205 the attribute information sorting unit 205 sorts the quantized coefficients generated in step S204 in descending order of Weight value derived in step S202.
  • step S206 the attribute information encoding unit 206 encodes each coefficient of the attribute information in the order rearranged in step S205, that is, in the descending order of Weight value.
  • step S207 the bitstream generation unit 207 generates and outputs a bitstream including the encoded data of the position information generated in step S201 and the encoded data of the attribute information generated in step S206.
  • the encoding process ends when the process of step S207 ends.
  • FIG. 16 is a block diagram showing a main configuration example of the decoding device.
  • a decoding device 230 shown in FIG. 16 corresponds to the encoding device 200 and is a conventional decoding device that decodes the encoded data of the point cloud generated in the encoding device 200.
  • the decoding device 230 includes a position information decoding unit 231, a Weight derivation unit 232, an attribute information decoding unit 233, an attribute information rearranging unit 234, an inverse quantization unit 235, an inverse RAHT processing unit 236, and It has a point cloud generation unit 237.
  • the position information decoding unit 231 acquires and decodes the encoded data of the position information included in the bitstream input to the decoding device 230.
  • the position information decoding unit 231 supplies the generated position information to the Weight derivation unit 232 and the point cloud generation unit 237.
  • the Weight derivation unit 232 acquires the position information supplied from the position information decoding unit 231, RAHTs the position information in Morton code order, and derives the Weight value.
  • the Weight derivation unit 232 supplies the derived Weight value to the attribute information rearrangement unit 234 and the inverse RAHT processing unit 236.
  • the attribute information decoding unit 233 acquires and decodes the encoded data of the attribute information included in the bitstream input to the decoding device 230.
  • the attribute information decoding unit 233 supplies the generated quantization coefficient of the attribute information to the attribute information rearranging unit 234.
  • the attribute information rearranging unit 234 arranges the quantization coefficients of the attribute information, which are supplied from the attribute information decoding unit 233 and are arranged in descending order of weight value, in Morton code order based on the Weight values supplied from the weight deriving unit 232. Change.
  • the attribute information rearrangement unit 234 supplies the rearranged quantized coefficient to the inverse quantization unit 235.
  • the inverse quantization unit 235 inversely quantizes the quantization coefficient of the attribute information rearranged in the Morton code order, which is supplied from the attribute information rearrangement unit 234.
  • the inverse quantization unit 235 supplies the transform coefficient of the attribute information generated by the inverse quantization to the inverse RAHT processing unit 236.
  • the inverse RAHT processing unit 236 uses the weight value of the position information supplied from the weight derivation unit 232 to perform inverse RAHT, which is the inverse process of RAHT, on the transform coefficient supplied from the inverse quantization unit 235, The conversion coefficient is converted into attribute information (attribute information is generated).
  • the reverse RAHT processing unit 236 supplies the generated attribute information to the point cloud generation unit 237.
  • the point cloud generation unit 237 associates the position information supplied from the position information decoding unit 231 with the attribute information supplied from the inverse RAHT processing unit 236 to generate a point cloud, and the point cloud of the decoding device 230. Output to the outside.
  • the position information decoding unit 231 decodes the coded data of the position information in step S231.
  • step S232 the weight derivation unit 232 RAHTs the position information generated in step S231 in Morton code order to derive a weight value.
  • step S233 the attribute information decoding unit 233 decodes the encoded data of the attribute information.
  • step S234 the attribute information sorting unit 234 sets the quantization coefficient (quantization coefficient arranged in descending order of weight value) of the attribute information generated in step S233 based on the weight value derived in step S232. , Sort by Morton code.
  • step S235 the inverse quantization unit 235 inversely quantizes the quantization coefficient of the attribute information rearranged in the Morton code order in step S234 to generate the conversion coefficient of the attribute information.
  • step S236 the inverse RAHT processing unit 236 performs inverse RAHT processing on the conversion coefficient of the attribute information generated in step S235 using the Weight value derived in step S232, and converts the conversion coefficient into attribute information. Yes (generate attribute information).
  • step S237 the point cloud generation unit 237 associates the position information generated in step S231 with the attribute information generated in step S236, and generates and outputs a point cloud.
  • the decryption process ends when the process of step S237 ends.
  • the attribute information is processed in a sparse state. Therefore, the encoding and decoding processes may be complicated, and the encoding and decoding loads and the processing time may increase. Therefore, the cost of encoding and decoding may increase.
  • the attribute information may be sparse
  • FIG. 18 is a block diagram showing an example of the configuration of an encoding device that is an aspect of an information processing device to which the present technology is applied.
  • the encoding device 300 illustrated in FIG. 18 is a device that encodes a point cloud (3D data).
  • the encoding device 300 encodes the point cloud using the above-mentioned methods 1-3.
  • FIG. 18 shows main components such as a processing unit and a data flow, and the components shown in FIG. 18 are not necessarily all. That is, in the encoding device 300, a processing unit not shown as a block in FIG. 18 may exist, or a process or data flow not shown as an arrow or the like in FIG. 18 may exist.
  • the encoding device 300 includes a position information encoding unit 301, an interpolation processing unit 302, an orthogonal transformation unit 303, a quantization unit 304, an attribute information encoding unit 305, and a bitstream generation unit 306. .
  • the encoding device 300 in this case interpolates the attribute information using the position information of the point cloud before encoding, as in the encoding device 100 (FIG. 12) of the third embodiment.
  • the position information encoding unit 301 acquires the point cloud (3D data) input to the encoding device 300, and the position information thereof, similar to the position information encoding unit 101 of the third embodiment (FIG. 12). Is encoded. Then, the position information encoding unit 301 supplies the generated encoded data of the position information to the bitstream generation unit 306.
  • the interpolation processing unit 302 similar to the interpolation processing unit 104 of the third embodiment (FIG. 12), acquires the point cloud (3D data) input to the encoding device 300, and the sparse portion of the attribute information thereof. Interpolate and make dense. That is, the interpolation processing unit 302 interpolates the attribute information using the position information before encoding. The interpolation processing unit 302 supplies the attribute information after the interpolation to the orthogonal transformation unit 303.
  • the orthogonal transformation unit 303 acquires the attribute information supplied from the interpolation processing unit 302.
  • the orthogonal transformation unit 303 orthogonally transforms the attribute information and transforms it into transformation coefficients.
  • the attribute information supplied from the interpolation processing unit 302 is the attribute information after interpolation. That is, the orthogonal transformation unit 303 acquires the attribute information in a data dense state. Therefore, the orthogonal transformation unit 303 applies a simpler orthogonal transformation than RAHT such as DCT or wavelet transformation to the orthogonal transformation for this attribute information.
  • the orthogonal transform unit 303 supplies the transform coefficient generated by the orthogonal transform to the quantization unit 304.
  • the quantizing unit 304 acquires the transform coefficient of the attribute information supplied from the orthogonal transform unit 303.
  • the quantizer 304 quantizes the transform coefficient of the attribute information to generate a quantized coefficient. This quantization method is arbitrary.
  • the quantization unit 304 supplies the generated quantization coefficient of the attribute information to the attribute information coding unit 305.
  • the attribute information encoding unit 305 acquires the quantization coefficient of the attribute information supplied from the quantization unit 304.
  • the attribute information encoding unit 305 encodes the quantized coefficient of the attribute information and generates encoded data, as in the attribute information encoding unit 105 of the third embodiment (FIG. 12).
  • the attribute information encoding unit 305 supplies the generated encoded data of the attribute information (quantization coefficient) after interpolation to the bitstream generation unit 306.
  • the bitstream generation unit 306 acquires the encoded data of the position information supplied from the position information encoding unit 301. Further, the bitstream generation unit 306 acquires the encoded data of the attribute information after interpolation supplied from the attribute information encoding unit 305. The bitstream generation unit 306, similarly to the bitstream generation unit 106 of the third embodiment (FIG. 12), generates a bitstream including the encoded data of the position information and the encoded data of the attribute information after interpolation. To generate. The bitstream generation unit 306 outputs the generated bitstream to the outside of the encoding device 300.
  • the position information coding unit 301 and the attribute information coding unit 305 may be integrated. Further, the orthogonal transformation unit 303 (and the quantization unit 304) may be integrated with the attribute information coding unit 305. The quantizer 304 may be omitted.
  • the encoding device 300 can encode the attribute information in a dense state. Therefore, when processing is performed using the attribute information of the neighboring points, the presence or absence of the neighboring points The division and the like are unnecessary, and the encoding can be performed more easily. Therefore, the encoding device 300 can obtain the effects described in the first embodiment.
  • the encoding device 300 can encode the position information and the attribute information independently of each other. For example, the encoding device 300 can execute the encoding of the position information and the encoding of the attribute information in parallel. Therefore, the encoding device 300 can obtain the effects described in the third embodiment.
  • the coding apparatus 300 can apply a simpler orthogonal transform than RAHT such as DCT or wavelet transform. Therefore, the encoding device 300 can further suppress an increase in encoding load and processing time. This can further suppress the increase in cost.
  • each processing unit may be configured by a logic circuit that realizes the above processing.
  • each processing unit may have, for example, a CPU, a ROM, a RAM, etc., and the above-described processing may be realized by executing a program using these.
  • each processing unit may have both configurations, and a part of the above-described 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 of the processing units may implement part of the above-described processing by a logic circuit, and some of the other processing units may execute the program. May be realized, and another processing unit may realize the above-mentioned processing by both executing the logic circuit and executing the program.
  • step S301 When the encoding process is started, the position information encoding unit 301 encodes the position information of the point cloud in step S301 to generate encoded data of the position information that has not been interpolated.
  • step S301 ends, the process proceeds to step S307.
  • step S301 in parallel with the processing of step S301 (independently of the processing of step S301), each processing of steps S302 to S306 is executed.
  • step S302 the interpolation processing unit 302 interpolates position information (points) before encoding.
  • step S303 the interpolation processing unit 302 interpolates the attribute information corresponding to the interpolated point.
  • step S304 the orthogonal transformation unit 303 performs a simpler orthogonal transformation than RAHT such as DCT or wavelet transformation on the interpolated attribute information generated in step S303, and transforms it into transformation coefficients (attribute). Generate information conversion factors).
  • step S305 the quantization unit 304 quantizes the conversion coefficient of the attribute information after interpolation generated in step S304 to generate a quantized coefficient.
  • step S306 the attribute information coding unit 305 codes the quantized coefficient of the attribute information after interpolation generated in step S305, and generates the coded data.
  • the process of step S306 ends, the process proceeds to step S307.
  • step S307 the bitstream generation unit 306 and the non-interpolated position information coded data generated in step S301 and the interpolation generated in step S306.
  • a bitstream including the subsequent quantized coefficient encoded data of the attribute information is generated and output.
  • the encoding process ends when the process of step S307 ends.
  • the encoding device 300 can encode the attribute information in a dense state, and therefore, when performing processing using the attribute information of the neighboring points, It is not necessary to divide the case of presence or absence, and the coding can be performed more easily. Therefore, the encoding device 300 can obtain the effects described in the first embodiment.
  • the encoding device 300 can perform encoding of position information and encoding of attribute information independently of each other. For example, the encoding device 300 can execute the encoding of the position information and the encoding of the attribute information in parallel. Therefore, the encoding device 300 can obtain the effects described in the third embodiment.
  • the encoding apparatus 300 can apply a simpler orthogonal transform than RAHT such as DCT and wavelet transform. Therefore, the encoding device 300 can further suppress an increase in encoding load and processing time. This can further suppress the increase in cost.
  • the encoding device 300 interpolates the attribute information using the position information of the point cloud before encoding, as in the encoding device 100 (FIG. 12) of the third embodiment.
  • the present invention is not limited to this, and similarly to the encoding device 100 (FIG. 8) of the second embodiment, the attribute information is interpolated using the result of encoding and decoding the position information of the point cloud. You may do it.
  • the encoding device 300 has the same configuration as the encoding device 100 (FIG. 8) of the second embodiment, and further, between the interpolation processing unit 104 and the attribute information encoding unit 105, The orthogonal transformation unit 303 and the quantization unit 304 (FIG. 18) may be included. Further, in the encoding process in that case, the processes of steps S304 and S305 (FIG. 19) are added between the processes of steps S105 and S106 in the encoding process of the second embodiment (FIG. 9). do it.
  • FIG. 20 is a block diagram showing an example of the configuration of a decoding device which is an aspect of an information processing device to which the present technology is applied.
  • the decoding device 330 shown in FIG. 20 corresponds to the encoding device 300 and decodes the point cloud encoded data generated in the encoding device 300.
  • the decoding device 330 decodes the coded data of the point cloud using the above-mentioned methods 1-3.
  • FIG. 20 shows main components such as a processing unit and a data flow, and the components shown in FIG. 20 are not necessarily all. That is, in the decoding device 330, a processing unit not shown as a block in FIG. 20 may exist, or a process or data flow not shown as an arrow or the like in FIG. 20 may exist.
  • the decoding device 330 includes a position information decoding unit 331, an attribute information decoding unit 332, a dequantization unit 333, an inverse orthogonal transformation unit 334, an attribute information extraction unit 335, and a point cloud generation unit 336.
  • a position information decoding unit 331 an attribute information decoding unit 332, a dequantization unit 333, an inverse orthogonal transformation unit 334, an attribute information extraction unit 335, and a point cloud generation unit 336.
  • the position information decoding unit 331 decodes the encoded data of the position information of the point cloud (3D data) input to the decoding device 330, similarly to the position information decoding unit 131 of the second embodiment (FIG. 10). , Generates non-interpolated position information.
  • the position information decoding unit 331 supplies the generated non-interpolated position information to the attribute information extraction unit 335.
  • the attribute information decoding unit 33 similar to the attribute information decoding unit 132 of the second embodiment (FIG. 10), performs (quantization of the quantization of the attribute information after interpolation of the point cloud (3D data) input to the decoding device 330.
  • the encoded data (of the coefficient) is decoded, and the quantized coefficient of the attribute information after the interpolation is generated.
  • the attribute information decoding unit 332 supplies the generated quantization coefficient of the attribute information after interpolation to the inverse quantization unit 333.
  • the inverse quantization unit 333 acquires the quantization coefficient of the attribute information after interpolation supplied from the attribute information decoding unit 332.
  • the inverse quantization unit 333 inversely quantizes the quantized coefficient of the attribute information, and generates a conversion coefficient of the attribute information after interpolation.
  • This inverse quantization may be the inverse process of the quantization performed by the quantization unit 304 (FIG. 18).
  • the inverse quantization unit 333 supplies the generated transform coefficient of the attribute information after interpolation to the inverse orthogonal transform unit 334.
  • the inverse orthogonal transformation unit 334 acquires the transformation coefficient of the attribute information supplied from the dequantization unit 333.
  • the inverse orthogonal transform unit 334 performs an orthogonal transform on the transform coefficient of the attribute information to transform it into attribute information.
  • the conversion coefficient supplied from the inverse quantization unit 333 is the conversion coefficient of the attribute information after interpolation. That is, the inverse orthogonal transformation unit 334 acquires the transformation coefficient of the attribute information in the data dense state. Therefore, the inverse orthogonal transform unit 334 applies a simpler inverse orthogonal transform than RAHT such as DCT or wavelet transform in the inverse orthogonal transform for this transform coefficient.
  • the inverse orthogonal transform may be an inverse process of the orthogonal transform performed by the orthogonal transform unit 303 (FIG. 18).
  • the inverse orthogonal transformation unit 334 supplies the attribute information after the interpolation generated by the inverse orthogonal transformation to the attribute information extraction unit 335.
  • the attribute information extraction unit 335 acquires the non-interpolated position information supplied from the position information decoding unit 331. In addition, the attribute information extraction unit 335 acquires the attribute information after interpolation supplied from the inverse orthogonal transform unit 334. Similar to the attribute information extraction unit 133 (FIG. 10) of the second embodiment, the attribute information extraction unit 335 determines attribute information corresponding to the non-interpolated position information (that is, points) from the interpolated attribute information. To extract. The attribute information extraction unit 335 supplies the non-interpolated position information and the extracted attribute information to the point cloud generation unit 336.
  • the point cloud generation unit 336 acquires the position information and the attribute information supplied from the attribute information extraction unit 335.
  • the point cloud generation unit 336 associates the position information and the attribute information with each other, similarly to the point cloud generation unit 134 (FIG. 10) of the second embodiment, that is, a point cloud (that is, a point cloud that is not interpolated). Is generated and output to the outside of the decoding device 330.
  • the position information decoding unit 331 and the attribute information decoding unit 332 may be integrated. Further, the inverse orthogonal transformation unit 334 (and the inverse quantization unit 333) may be integrated with the attribute information decoding unit 332. Further, the inverse quantization unit 333 may be omitted.
  • the decoding device 330 can decode the encoded data of the attribute information in a state in which the attribute information is dense, and therefore, when performing processing using the attribute information of the neighboring points, Since it is not necessary to distinguish the presence or absence of the neighboring points, decoding can be performed more easily. Therefore, the decoding device 330 can obtain the effects described in the first embodiment.
  • the decoding device 330 can apply a simpler inverse orthogonal transform than RAHT, such as inverse DCT or inverse wavelet transform. Therefore, the decoding device 330 can further suppress an increase in decoding load and processing time. This can further suppress the increase in cost.
  • the point cloud generation unit 336 determines that the position information (point) is in the vicinity.
  • the attribute information corresponding to the position information (point) is generated by using the attribute information corresponding to the other position information (point) located at. By doing so, even in this case, the attribute information corresponding to all the position information can be obtained.
  • each processing unit may be configured by a logic circuit that realizes the above processing.
  • each processing unit may have, for example, a CPU, a ROM, a RAM, etc., and the above-described processing may be realized by executing a program using these.
  • each processing unit may have both configurations, and a part of the above-described 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 of the processing units may implement part of the above-described processing by a logic circuit, and some of the other processing units may execute the program. May be realized, and another processing unit may realize the above-mentioned processing by both executing the logic circuit and executing the program.
  • the position information decoding unit 331 decodes the coded data of the position information that has not been interpolated in step S331.
  • step S332 the attribute information decoding unit 332 decodes the encoded data of the quantized coefficient of the attribute information after interpolation, and generates the quantized coefficient of the attribute information after interpolation.
  • step S333 the dequantization unit 333 dequantizes the quantized coefficient of the attribute information after interpolation generated in step S332, and generates the conversion coefficient of the attribute information after interpolation.
  • step S334 the inverse orthogonal transform unit 334 performs simpler inverse orthogonal transform than the inverse RAHT such as the inverse DCT or the inverse wavelet transform on the transform coefficient of the attribute information after the interpolation generated in step S333. , Convert to the attribute information after interpolation (generate attribute information after interpolation).
  • step S335 the attribute information extraction unit 335 extracts attribute information corresponding to the non-interpolated position information generated in step S331 from the interpolated attribute information generated in step S334.
  • step S336 the point cloud generation unit 336 associates the position information and the attribute information with each other, generates a point cloud, and outputs the point cloud.
  • the decryption process ends when the process of step S336 ends.
  • the decoding device 330 can obtain the effects described in the first embodiment.
  • the decoding device 330 can apply a simpler inverse orthogonal transform than RAHT such as inverse DCT or inverse wavelet transform. Therefore, the decoding device 330 can further suppress an increase in decoding load and processing time. This can further suppress the increase in cost.
  • the present invention is not limited to this, and a transform process other than the orthogonal transform may be applied.
  • the interpolation of the attribute information may be performed for the entire attribute information (so that the resolution of the attribute information is constant for the entire point cloud), or may be performed for each predetermined data unit. Good. For example, it may be performed for each processing unit of orthogonal transformation (inverse orthogonal transformation).
  • method 1-4 prediction of attribute information is applied in encoding/decoding of attribute information. For example, the predicted value of the attribute information is derived, and the difference between the attribute information and the predicted value is encoded. In addition, for example, the encoded data is decoded, the difference between the attribute information and its predicted value is generated, the predicted value of the attribute information is derived, and the derived predicted value is added to the generated difference to generate attribute information. To do so. By doing so, the coding efficiency can be improved.
  • the encoding device 500 can further suppress an increase in encoding load and processing time. This can further suppress the increase in cost.
  • FIG. 22 is a block diagram illustrating a main configuration example of an encoding device when prediction is applied.
  • the coding apparatus 400 shown in FIG. 22 is a conventional coding apparatus that codes a point cloud.
  • the encoding device 400 includes a position information encoding unit 401, a position information decoding unit 402, a point cloud generation unit 403, a prediction unit 404, a residual derivation unit 405, a quantization unit 406, and attribute information. It has an encoding unit 407 and a bitstream generation unit 408.
  • the position information encoding unit 401 like the position information encoding unit 11, encodes the position information of the point cloud (3D data) input to the encoding device 400.
  • the position information coding unit 401 supplies the generated coded data of the position information to the position information decoding unit 402 and the bitstream generation unit 408.
  • the position information decoding unit 402 acquires the coded data of the position information supplied from the position information coding unit 401, and, like the position information decoding unit 12, decodes the coded data.
  • the position information decoding unit 402 supplies the generated position information (decoding result) to the point cloud generation unit 403.
  • the point cloud generation unit 403 acquires the attribute information of the point cloud input to the encoding device 400 and the position information (decoding result) supplied from the position information decoding unit 402.
  • the point cloud generation unit 403 supplies the attribute information associated with the position information (decoding result) to the prediction unit 404.
  • the prediction unit 404 predicts the attribute information supplied from the point cloud generation unit 403 and generates a predicted value of the attribute information. For example, the prediction unit 404 predicts the attribute information of the processing target based on the attribute information located around the attribute information, and generates a predicted value of the attribute information of the processing target. The prediction unit 404 supplies the attribute information and its predicted value to the residual derivation unit 405.
  • the residual derivation unit 405 derives the difference (residual difference) between the attribute information and the predicted value supplied from the prediction unit 404.
  • the residual derivation unit 405 supplies the difference between the derived attribute information and its predicted value to the quantization unit 406.
  • the quantizing unit 406 acquires the difference supplied from the residual deriving unit 405, quantizes the difference, and generates a difference quantized coefficient.
  • the quantization unit 406 supplies the generated difference quantization coefficient to the attribute information encoding unit 407.
  • the attribute information encoding unit 407 acquires the quantization coefficient of the difference between the attribute information and its predicted value supplied from the quantization unit 406.
  • the attribute information encoding unit 407 encodes the quantized coefficient in the same manner as the attribute information encoding unit 14, and generates encoded data of attribute information.
  • the attribute information encoding unit 407 supplies the generated encoded data of the attribute information (encoded data of the quantized coefficient of the difference between the attribute information and its predicted value) to the bitstream generation unit 408.
  • the bitstream generation unit 408 acquires the encoded data of the position information supplied from the positional information encoding unit 401 and the encoded data of the attribute information supplied from the attribute information encoding unit 407. Like the bitstream generation unit 15, the bitstream generation unit 408 generates a bitstream including the encoded data and outputs the bitstream to the outside of the encoding device 400.
  • the position information encoding unit 401 encodes the position information of the point cloud in step S401.
  • step S402 the position information decoding unit 402 decodes the encoded data of the position information generated in step S401.
  • step S403 the point cloud generation unit 403 performs recolor processing using the decoding result of the position information obtained in step S402, and associates the attribute information with the position information (decoding result).
  • step S404 the prediction unit 404 searches for points near the point corresponding to the attribute information to be processed.
  • step S405 the prediction unit 404 derives the predicted value of the attribute information of the processing target using the attribute information of the searched neighboring points.
  • step S406 the residual derivation unit 405 derives the difference (residual) between the attribute information and the predicted value.
  • step S407 the quantization unit 406 quantizes the difference derived in step S406 to generate a quantized coefficient.
  • step S408 the attribute information encoding unit 407 encodes the difference quantization coefficient generated in step S407 to generate attribute information encoded data.
  • step S409 the bitstream generation unit 408 generates and outputs a bitstream including the encoded data of the position information generated in step S401 and the encoded data of the attribute information generated in step S408.
  • the encoding process ends when the process of step S409 ends.
  • FIG. 24 is a block diagram showing a main configuration example of the decoding device.
  • the decoding device 430 shown in FIG. 24 is a conventional decoding device corresponding to the encoding device 400 and decoding the encoded data of the point cloud generated in the encoding device 400.
  • the decoding device 430 includes a position information decoding unit 431, an attribute information decoding unit 432, a dequantization unit 433, a prediction unit 434, an attribute information derivation unit 435, and a point cloud generation unit 436.
  • the position information decoding unit 431 decodes the coded data of the position information of the point cloud (3D data) input to the decoding device 430, and generates the position information.
  • the position information decoding unit 431 supplies the generated position information to the prediction unit 434 and the point cloud generation unit 436.
  • the attribute information decoding unit 432 similarly to the attribute information decoding unit 32, encodes the encoded data of the attribute information of the point cloud (3D data) input to the decoding device 430 (the quantization coefficient of the difference between the attribute information and its predicted value). (Encoded data of ), and generate a quantized difference coefficient.
  • the attribute information decoding unit 432 supplies the generated quantization coefficient to the inverse quantization unit 433.
  • the dequantization unit 433 acquires the quantized coefficient supplied from the attribute information decoding unit 432, dequantizes it, and generates the difference between the attribute information and its predicted value.
  • the inverse quantization unit 433 supplies the generated difference to the prediction unit 434.
  • the prediction unit 434 acquires the difference supplied from the dequantization unit 433.
  • the prediction unit 434 also acquires the position information supplied from the position information decoding unit 431.
  • the prediction unit 434 acquires the derived attribute information supplied from the attribute information derivation unit 435.
  • the prediction unit 434 derives the predicted value of the attribute information corresponding to the difference supplied from the dequantization unit 433.
  • the prediction unit 434 searches for a point (neighboring point) located near the point to which the attribute information for deriving the predicted value corresponds, based on the position information supplied from the position information decoding unit 431.
  • the prediction unit 434 obtains the attribute information corresponding to the searched neighboring points based on the derived attribute information supplied from the attribute information derivation unit 435.
  • the prediction unit 434 derives a predicted value of the attribute information of the processing target (that is, attribute information corresponding to the difference supplied from the dequantization unit 433) using the attribute information of the neighboring points thus obtained.
  • the prediction unit 434 supplies the difference supplied from the inverse quantization unit 433 and the derived predicted value to the attribute information derivation unit 435.
  • the attribute information derivation unit 435 acquires the difference and the predicted value supplied from the prediction unit 434, and derives the attribute information using them. That is, the attribute information derivation unit 435 derives the attribute information by adding the predicted value to the difference.
  • the attribute information derivation unit 435 supplies the derived attribute information to the prediction unit 434 and the point cloud generation unit 436.
  • the point cloud generation unit 436 acquires the position information supplied from the position information decoding unit 431 and the attribute information supplied from the attribute information derivation unit 435.
  • the point cloud generation unit 436 associates the position information with the attribute information, generates a point cloud, and outputs the point cloud to the outside of the decoding device 430.
  • the position information decoding unit 431 decodes the encoded data of the position information and generates the position information in step S431.
  • step S432 the attribute information decoding unit 432 decodes the encoded data of the attribute information (the encoded data of the quantized coefficient of the difference between the attribute information and its predicted value) to determine the difference between the attribute information and its predicted value. Generate quantized coefficients.
  • step S433 the dequantization unit 433 dequantizes the quantized coefficient generated in step S432, and generates a difference between the attribute information and its predicted value.
  • step S434 the prediction unit 434 searches for a point near the point (point to be processed) corresponding to the attribute information to be processed based on the position information generated in step S431.
  • step S435 the prediction unit 434 derives the predicted value of the attribute information of the processing target point using the attribute information of the neighboring points searched in step S434.
  • step S436 the attribute information derivation unit 435 derives attribute information by adding the predicted value derived in step S435 to the difference generated in step S433.
  • step S437 the point cloud generation unit 436 generates a point cloud by associating the position information generated in step S431 with the attribute information derived in step S436, and outputs the point cloud.
  • step S437 ends, the decryption process ends.
  • the attribute information is processed in a sparse state. Therefore, the encoding and decoding processes may be complicated, and the encoding and decoding loads and the processing time may increase. Therefore, the cost of encoding and decoding may increase.
  • FIG. 26 is a block diagram showing an example of the configuration of an encoding device that is an aspect of an information processing device to which the present technology is applied.
  • the encoding device 500 illustrated in FIG. 26 is a device that encodes a point cloud (3D data).
  • the encoding apparatus 500 encodes the point cloud using the methods 1-4 described above.
  • FIG. 26 shows main components such as a processing unit and a data flow, and the components shown in FIG. 26 are not necessarily all. That is, in the encoding device 500, a processing unit not shown as a block in FIG. 26 may exist, or a process or data flow not shown as an arrow or the like in FIG. 26 may exist.
  • the encoding device 500 includes a position information encoding unit 501, an interpolation processing unit 502, a prediction unit 503, a residual derivation unit 504, a quantization unit 505, an attribute information encoding unit 506, and a bit stream. It has a generation unit 507.
  • the encoding device 500 in this case interpolates the attribute information by using the position information of the point cloud before encoding, similarly to the encoding device 300 (FIG. 18) of the fourth embodiment.
  • the position information encoding unit 501 acquires the point cloud (3D data) input to the encoding device 500, and the position information thereof, similarly to the position information encoding unit 301 of the fourth embodiment (FIG. 18). Is encoded. Then, the position information encoding unit 501 supplies the generated encoded data of the position information to the bitstream generation unit 507.
  • the interpolation processing unit 502 similar to the interpolation processing unit 302 of the fourth embodiment (FIG. 18), acquires the point cloud (3D data) input to the encoding device 500, and the sparse portion of the attribute information thereof. Interpolate and make dense. That is, the interpolation processing unit 502 interpolates the attribute information using the position information before encoding. The interpolation processing unit 502 supplies the attribute information after the interpolation to the prediction unit 503.
  • the prediction unit 503 acquires the attribute information supplied from the interpolation processing unit 502. The prediction unit 503 derives the predicted value of the attribute information.
  • the method of this prediction is arbitrary.
  • the prediction unit 503 may derive the predicted value of the attribute information of the processing target by using the attribute information in the vicinity (periphery) of the attribute information (attribute information of the processing target) to be predicted.
  • the average value of a plurality of neighborhood attribute information may be used as the predicted value.
  • the attribute information that is closest (nearest to) the attribute information to be processed may be used as the predicted value (the attribute information may be duplicated and used as the predicted value).
  • a method other than these methods may be used.
  • the attribute information supplied from the interpolation processing unit 502 is the attribute information after interpolation. That is, the prediction unit 503 acquires the attribute information in a data-dense state. That is, the attribute information always includes the neighboring (peripheral) attribute information. Therefore, the prediction unit 503 can easily obtain the neighborhood (peripheral) attribute information without searching for the neighboring points using the position information. Therefore, the prediction unit 503 can easily derive the prediction value by using the attribute information in the vicinity (periphery) thereof.
  • the prediction unit 503 supplies the attribute information after interpolation supplied from the interpolation processing unit 502 and the derived predicted value to the residual derivation unit 504.
  • the residual derivation unit 504 acquires the attribute information and the predicted value supplied from the prediction unit 503.
  • the residual deriving unit 504 derives the difference (residual) between the attribute information and the predicted value.
  • the residual deriving unit 504 supplies the difference between the derived attribute information and its predicted value to the quantizing unit 505.
  • the quantizing unit 505 acquires the difference supplied from the residual deriving unit 504.
  • the quantizing unit 505 quantizes the difference and generates a quantized coefficient, similarly to the quantizing unit 304 of the fourth embodiment (FIG. 18).
  • the quantization unit 505 supplies the generated difference quantization coefficient to the attribute information encoding unit 506.
  • the attribute information encoding unit 506 acquires the difference quantization coefficient supplied from the quantization unit 505.
  • the attribute information encoding unit 506 encodes the quantized coefficient of the difference, similarly to the attribute information encoding unit 305 of the fourth embodiment (FIG. 18), and encodes the encoded data of the attribute information (the attribute after interpolation).
  • the encoded data of the quantized coefficient of the difference between the information and its predicted value is generated.
  • the attribute information encoding unit 506 supplies the generated encoded data of the attribute information to the bitstream generation unit 507.
  • the bitstream generation unit 507 acquires the encoded data of the position information supplied from the position information encoding unit 501. Further, the bitstream generation unit 507 acquires the encoded data of the attribute information supplied from the attribute information encoding unit 506.
  • the bitstream generation unit 507 similar to the bitstream generation unit 306 of the fourth embodiment (FIG. 18), generates a bitstream including the encoded data of the position information and the encoded data of the attribute information.
  • the bitstream generation unit 507 outputs the generated bitstream to the outside of the encoding device 500.
  • the position information encoding unit 501 and the attribute information encoding unit 506 may be integrated. Further, the prediction unit 503 and the residual derivation unit 504 (and the quantization unit 505) may be integrated with the attribute information coding unit 506. The quantizer 505 may be omitted.
  • the encoding device 500 can encode the attribute information in a dense state. Therefore, when processing is performed using the attribute information of the neighboring points, the presence or absence of the neighboring points is determined. The division and the like are unnecessary, and the encoding can be performed more easily. Therefore, the encoding device 300 can obtain the effects described in the first embodiment.
  • the encoding device 500 can perform encoding of position information and encoding of attribute information independently of each other. For example, the encoding device 500 can execute the encoding of the position information and the encoding of the attribute information in parallel. Therefore, the encoding device 500 can obtain the effects described in the third embodiment.
  • the encoding device 500 can more easily derive the prediction value. Therefore, the encoding device 500 can further suppress an increase in encoding load and processing time. This can further suppress the increase in cost.
  • each processing unit may be configured by a logic circuit that realizes the above processing.
  • each processing unit may have, for example, a CPU, a ROM, a RAM, etc., and the above-described processing may be realized by executing a program using these.
  • each processing unit may have both configurations, and a part of the above-described 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 of the processing units may implement part of the above-described processing by a logic circuit, and some of the other processing units may execute the program. May be realized, and another processing unit may realize the above-mentioned processing by both executing the logic circuit and executing the program.
  • step S501 When the encoding process is started, the position information encoding unit 501 encodes the position information of the point cloud in step S501, and generates encoded data of the position information that has not been interpolated.
  • step S501 ends, the process proceeds to step S508.
  • step S501 in parallel with the processing of step S501 (independently of the processing of step S501), each processing of steps S502 to S507 is executed.
  • step S502 the interpolation processing unit 502 interpolates position information (points) before encoding.
  • step S503 the interpolation processing unit 502 interpolates the attribute information corresponding to the interpolated point.
  • step S504 the prediction unit 503 derives a predicted value of the interpolated attribute information generated in step S503.
  • the prediction unit 503 derives the predicted value of the attribute information of the processing target by using the attribute information around the attribute information (the attribute information of the processing target) for which the prediction is performed, for example.
  • step S505 the residual derivation unit 504 derives the difference (residual error) between the interpolated attribute information generated in step S503 and the predicted value derived in step S504.
  • step S506 the quantization unit 505 quantizes the difference between the interpolated attribute information derived in step S505 and its predicted value, and generates its quantized coefficient.
  • step S507 the attribute information encoding unit 506 encodes the quantized coefficient generated in step S506, and encodes the encoded data of the attribute information (the code of the quantized coefficient of the difference between the attribute information after interpolation and its predicted value). Data) is generated.
  • step S507 ends, the process proceeds to step S508.
  • step S508 the bitstream generation unit 507 and the encoded data of the non-interpolated position information generated in step S501 and the interpolation generated in step S507.
  • a bit stream including the subsequent attribute information and the encoded data of the quantized coefficient of the difference between the predicted value and the subsequent attribute information is generated and output.
  • the encoding process ends when the process of step S507 ends.
  • the encoding device 500 can encode the attribute information in a dense state, and therefore, when performing processing using the attribute information of the neighboring points, It is not necessary to divide the case of presence or absence, and the coding can be performed more easily. Therefore, the encoding device 300 can obtain the effects described in the first embodiment.
  • the encoding apparatus 500 can encode the position information and the attribute information independently of each other.
  • the encoding device 500 can execute the encoding of the position information and the encoding of the attribute information in parallel. Therefore, the encoding device 500 can obtain the effects described in the third embodiment.
  • the encoding device 500 can more easily derive the prediction value. Therefore, the encoding device 500 can further suppress an increase in encoding load and processing time. This can further suppress the increase in cost.
  • the encoding device 500 interpolates the attribute information using the position information before encoding of the point cloud, as in the encoding device 100 (FIG. 12) of the third embodiment.
  • the present invention is not limited to this, and similarly to the encoding device 100 (FIG. 8) of the second embodiment, the attribute information is interpolated using the result of encoding and decoding the position information of the point cloud. You may do it.
  • the encoding device 500 has the same configuration as the encoding device 100 (FIG. 8) of the second embodiment, and further, between the interpolation processing unit 104 and the attribute information encoding unit 105, The prediction unit 503 to the quantization unit 505 (FIG. 26) may be included. In addition, in the encoding process in that case, the processes of steps S504 to S506 (FIG. 27) are added between the processes of step S105 and step S106 in the encoding process of the second embodiment (FIG. 9). do it.
  • FIG. 28 is a block diagram showing an example of the configuration of a decoding device that is one aspect of an information processing device to which the present technology is applied.
  • the decoding device 530 illustrated in FIG. 28 corresponds to the encoding device 500 and decodes the encoded data of the point cloud generated in the encoding device 500.
  • This decoding device 530 decodes the coded data of the point cloud using the above-mentioned methods 1-4.
  • FIG. 28 shows main components such as a processing unit and a data flow, and the components shown in FIG. 28 are not necessarily all. That is, in the decoding device 530, a processing unit not shown as a block in FIG. 28 may exist, or a process or data flow not shown as an arrow or the like in FIG. 28 may exist.
  • the decoding device 530 includes a position information decoding unit 531, an attribute information decoding unit 532, a dequantization unit 533, a prediction unit 534, an attribute information derivation unit 535, an attribute information extraction unit 536, and a point cloud. It has a generation unit 537.
  • the position information decoding unit 531 decodes the encoded data of the position information of the point cloud (3D data) input to the decoding device 530, similarly to the position information decoding unit 331 of the fourth embodiment (FIG. 20). , Generates non-interpolated position information.
  • the position information decoding unit 531 supplies the generated non-interpolated position information to the attribute information extraction unit 536.
  • the attribute information decoding unit 532 is encoded data of attribute information after interpolation of the point cloud (3D data) input to the decoding device 530. (The encoded data of the quantized coefficient of the difference between the attribute information after interpolation and its predicted value) is decoded to generate the quantized coefficient. The attribute information decoding unit 532 supplies the generated quantized coefficient to the inverse quantization unit 533.
  • the inverse quantization unit 533 acquires the quantization coefficient supplied from the attribute information decoding unit 532.
  • the inverse quantization unit 533 inversely quantizes the quantized coefficient thereof, as in the case of the inverse quantization unit 333 of the fourth embodiment (FIG. 20), and calculates the difference (difference between the attribute information after interpolation and its predicted value). ) Is generated.
  • This inverse quantization may be the inverse process of the quantization performed by the quantization unit 505 (FIG. 26).
  • the inverse quantization unit 533 supplies the generated difference to the prediction unit 534.
  • the prediction unit 534 acquires the difference supplied from the inverse quantization unit 533.
  • the prediction unit 534 derives the predicted value of the attribute information corresponding to the difference supplied from the inverse quantization unit 533.
  • this prediction method is arbitrary.
  • the prediction unit 534 may derive the predicted value of the attribute information of the processing target by using the attribute information in the vicinity (periphery) of the attribute information (attribute information of the processing target) to be predicted.
  • the average value of a plurality of neighborhood attribute information may be used as the predicted value.
  • the attribute information that is closest (nearest to) the attribute information to be processed may be used as the predicted value (the attribute information may be duplicated and used as the predicted value).
  • a method other than these methods may be used.
  • the prediction unit 534 can easily obtain the neighboring (surrounding) attribute information without searching for the neighboring points using the position information. .. Therefore, the prediction unit 534 can easily derive the predicted value by using the attribute information in the vicinity (periphery) thereof.
  • the prediction unit 534 supplies the difference supplied from the dequantization unit 533 and the derived predicted value to the attribute information derivation unit 535.
  • the attribute information derivation unit 535 acquires the difference and the prediction value supplied from the prediction unit 534.
  • the attribute information derivation unit 535 derives attribute information using them. That is, the attribute information derivation unit 535 derives attribute information (post-interpolation attribute information) by adding the predicted value to the difference.
  • the attribute information derivation unit 535 supplies the derived attribute information to the attribute information extraction unit 536.
  • the attribute information extraction unit 536 acquires the non-interpolated position information supplied from the position information decoding unit 531.
  • the attribute information extraction unit 536 also acquires the interpolated attribute information supplied from the attribute information derivation unit 535.
  • the attribute information extraction unit 536 like the attribute information extraction unit 335 (FIG. 20) of the fourth embodiment, converts the attribute information after the interpolation from the attribute information corresponding to the non-interpolated position information (that is, points). To extract.
  • the attribute information extraction unit 536 supplies the non-interpolated position information and the extracted attribute information to the point cloud generation unit 537.
  • the point cloud generation unit 537 acquires the position information and the attribute information supplied from the attribute information extraction unit 536.
  • the point cloud generation unit 537 associates the position information and the attribute information with each other, similarly to the point cloud generation unit 336 (FIG. 20) of the fourth embodiment, that is, a point cloud (that is, a point cloud that is not interpolated). Is generated and output to the outside of the decoding device 530.
  • the position information decoding unit 531 and the attribute information decoding unit 532 may be integrated. Also, the prediction unit 534 and the attribute information derivation unit 535 (and the inverse quantization unit 533) may be integrated with the attribute information decoding unit 532. Further, the inverse quantization unit 533 may be omitted.
  • the decoding device 530 can decode the coded data of the attribute information in a state in which the attribute information is dense. Therefore, when performing processing using the attribute information of the neighboring points, Since it is not necessary to distinguish the presence or absence of the neighboring points, decoding can be performed more easily. Therefore, the decoding device 530 can obtain the effects described in the first embodiment.
  • the decoding device 530 can more easily derive the prediction value. Therefore, the decoding device 530 can further suppress an increase in decoding load and processing time. This can further suppress the increase in cost.
  • the point cloud generation unit 537 determines that the position information (point) is in the vicinity of the position information.
  • the attribute information corresponding to the position information (point) is generated by using the attribute information corresponding to the other position information (point) located at. By doing so, even in this case, the attribute information corresponding to all the position information can be obtained.
  • each processing unit may be configured by a logic circuit that realizes the above processing.
  • each processing unit may have, for example, a CPU, a ROM, a RAM, etc., and the above-described processing may be realized by executing a program using these.
  • each processing unit may have both configurations, and a part of the above-described 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 of the processing units may implement part of the above-described processing by a logic circuit, and some of the other processing units may execute the program. May be realized, and another processing unit may realize the above-mentioned processing by both executing the logic circuit and executing the program.
  • the position information decoding unit 531 decodes the coded data of the position information that has not been interpolated in step S531.
  • step S532 the attribute information decoding unit 532 decodes the encoded data of the attribute information (the encoded data of the quantized coefficient of the difference between the attribute information after interpolation and its predicted value) to generate the quantized coefficient.
  • step S533 the dequantization unit 533 dequantizes the quantized coefficient (quantized coefficient of the difference between the interpolated attribute information and its predicted value) generated in step S532 to generate a difference.
  • step S534 the prediction unit 534 derives the predicted value of the attribute information corresponding to the difference generated in step S533 (difference between the attribute information after interpolation and its predicted value). For example, the prediction unit 534 derives the predicted value of the attribute information of the processing target by using the attribute information in the vicinity (periphery) of the attribute information (attribute information of the processing target) to be predicted.
  • the prediction unit 534 can easily identify the attribute information in the vicinity without requiring a complicated process such as searching for a neighboring point using the position information. , Can be used for prediction.
  • step S535 the attribute information derivation unit 535 uses the difference generated in step S533 (the difference between the attribute information after interpolation and its predicted value) and the predicted value of the attribute information derived in step S534, The attribute information after interpolation is derived. That is, the attribute information deriving unit 535 adds the predicted value to the difference to derive the attribute information after interpolation.
  • step S536 the attribute information extraction unit 536 extracts attribute information corresponding to the non-interpolated position information generated in step S531, from the interpolated attribute information generated in step S535.
  • step S537 the point cloud generation unit 537 associates the position information and the attribute information with each other, generates a point cloud, and outputs the point cloud.
  • step S537 ends, the decryption process ends.
  • the decoding device 530 can obtain the effects described in the first embodiment.
  • the decoding device 530 can more easily derive the prediction value. Therefore, the decoding device 530 can further suppress an increase in decoding load and processing time. This can further suppress the increase in cost.
  • control information related to the present technology described in each of the above embodiments may be transmitted from the encoding side to the decoding side.
  • control information for example, enabled_flag
  • control for designating a range for example, an upper limit or a lower limit of a block size, or both, a slice, a picture, a sequence, a component, a view, a layer, etc.
  • a range for example, an upper limit or a lower limit of a block size, or both, a slice, a picture, a sequence, a component, a view, a layer, etc.
  • the positional relationship such as “vicinity” and “surroundings” may include not only a spatial positional relationship but also a temporal positional relationship.
  • the series of processes described above can be executed by hardware or software.
  • the programs constituting the software are installed in the computer.
  • the computer includes a computer incorporated in dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 30 is a block diagram showing a configuration example of hardware of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input/output interface 910.
  • 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 program to execute the above-described series of operations. Is processed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be applied by being recorded in the removable medium 921 as a package medium 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 medium 921 in the drive 915.
  • this program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or 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 the ROM 902 or the storage unit 913.
  • the encoding device 100, the decoding device 130, the encoding device 300, the decoding device 330, the encoding device 500, and the decoding device 530 have been described as application examples of the present technology, the present technology is arbitrary. It can be applied to the configuration.
  • the present technology is applied to a transmitter or a receiver (for example, a television receiver or a mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to a terminal by cellular communication, or It can be applied to various electronic devices such as an apparatus (for example, a hard disk recorder or a camera) that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or reproduces an image from these storage media.
  • an apparatus for example, a hard disk recorder or a camera
  • the present technology includes a processor (for example, a video processor) as a system LSI (Large Scale Integration) or the like, a module (for example, a video module) using a plurality of processors or the like, or a unit (for example, a video unit) using a plurality of modules or the like Alternatively, it may be implemented as a part of the configuration of the device such as a set (for example, a video set) in which the unit is provided with other functions.
  • a processor for example, a video processor
  • LSI Large Scale Integration
  • module for example, a video module
  • a unit for example, a video unit
  • the present technology can be applied to a network system composed of multiple devices.
  • the present technology may be implemented as cloud computing in which a plurality of devices share and jointly process 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 (Audio Visual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may do so.
  • the system means a set of a plurality of constituent elements (devices, modules (parts), etc.), and it does not matter whether or not all constituent elements are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. ..
  • the system, device, processing unit, and the like to which the present technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factory, home appliance, weather, nature monitoring, etc. .. Further, its application is also arbitrary.
  • the “flag” is information for identifying a plurality of states, and is not only information used to identify two states of true (1) or false (0), but also three or more states. Information that can identify the state is also included. Therefore, the possible value of this "flag” may be, for example, a binary value of 1/0, or may be a ternary value or more. That is, the number of bits forming this "flag” is arbitrary and may be 1 bit or multiple bits. Further, since the identification information (including the flag) may include not only the identification information included in the bitstream but also the difference information of the identification information with respect to certain reference information, included in the bitstream. In the above, "flag” and “identification information” include not only that information but also difference information with respect to reference information.
  • various types of information (metadata, etc.) regarding the encoded data (bit stream) may be transmitted or recorded in any form as long as it is associated with the encoded data.
  • the term “associate” means, for example, that when processing one data, the other data can be used (linked). That is, the data associated with each other may be collected as one data or may be individual data.
  • the information associated with the encoded data (image) may be transmitted on a transmission path different from that of the encoded data (image). Further, for example, the information associated with the encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from that of the encoded data (image). Good.
  • association may be a part of the data instead of the entire data.
  • the image and the 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 of the frame.
  • composite means to combine a plurality of objects into one, for example, to combine encoded data and metadata into one data, and means one method of “associating” described above.
  • 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 integrated into one device (or processing unit).
  • part of the configuration of a certain 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 a necessary function (function block or the like) so that necessary information can be obtained.
  • one device may execute each step of one flowchart, or a plurality of devices may share and execute each step. Further, when one step includes a plurality of processes, one device may execute the plurality of processes, or a plurality of devices may share the processes. In other words, a plurality of processes included in one step can be executed as a process of a plurality of steps. On the contrary, 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 time series according to the order described in this specification, or in parallel or by calling. It may be executed individually at a necessary timing such as when it is released. That is, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the process of the step of writing this program may be executed in parallel with the process of another program, or may be executed in combination with the process of another program.
  • An interpolation processing unit that interpolates attribute information of a point cloud that represents a three-dimensional object as a point cloud
  • An information processing apparatus comprising: an encoding unit that encodes the attribute information after the interpolation by the interpolation processing unit.
  • the interpolation processing unit interpolates a sparse point of the point cloud to make it dense and generates attribute information corresponding to the interpolated point.
  • the interpolation processing unit generates attribute information corresponding to the interpolated point using attribute information of another point located near the point.
  • the information processing device (4) The information processing device according to (3), wherein the interpolation processing unit copies the attribute information corresponding to the interpolated point to the attribute information of another point closest to the point. (5) The information processing device according to (3), wherein the interpolation processing unit derives attribute information corresponding to the interpolated point using attribute information of a plurality of other points located near the point. (6) The information processing device according to (1), wherein the interpolation processing unit interpolates a sparse node of the octree of the point cloud to make it dense and generates attribute information corresponding to the dense node. (7) The information processing device according to (1), wherein the interpolation processing unit interpolates the attribute information by using a result of encoding and decoding the position information of the point cloud.
  • the information processing device wherein the interpolation processing unit interpolates the attribute information by using position information of the point cloud before encoding.
  • the encoding unit converts the attribute information into coefficient data and encodes the coefficient data
  • the information processing device wherein the interpolation processing unit interpolates the attribute information for each processing unit of a conversion process for converting the attribute information into the coefficient data.
  • the information processing device (10) The information processing device according to (9), wherein the conversion process is orthogonal transform.
  • the encoding unit derives a prediction value of the attribute information and encodes a difference between the attribute information and the prediction value.
  • a decoding unit that decodes encoded data of attribute information of a point cloud that represents a three-dimensional object as a point cloud
  • An information processing device comprising: an extraction unit that extracts attribute information corresponding to position information of the point cloud from the attribute information generated by decoding the encoded data by the decoding unit.
  • the encoded data is data generated by interpolating and encoding the attribute information of the point cloud.
  • the information processing apparatus according to (14), wherein the extraction unit extracts attribute information corresponding to the non-interpolated position information from the interpolated attribute information generated by the decoding unit.
  • the attribute information of another point located near the point is used.
  • the information processing apparatus further including a generation unit that generates attribute information corresponding to the point.
  • the encoded data is encoded data of coefficient data obtained by orthogonally transforming the attribute information, The information processing device according to (14), wherein the decoding unit decodes the encoded data to generate the coefficient data, and inverse orthogonally transforms the generated coefficient data to generate the attribute information.
  • the encoded data is encoded data of a difference between the attribute information and a predicted value of the attribute information, The decoding unit decodes the encoded data to generate the difference, derives a prediction value of the attribute information, adds the derived prediction value to the generated difference, and generates the attribute information. 14) The information processing device described in 14).
  • 100 encoding device 101 position information encoding unit, 102 position information decoding unit, 103 point cloud generation unit, 104 interpolation processing unit, 105 attribute information encoding unit, 106 bitstream generation unit, 130 decoding device, 131 position information decoding Part, 132 attribute information decoding part, 133 attribute information extracting part, 134 point cloud generating part, 300 encoding device, 301 position information encoding part, 302 interpolation processing part, 303 orthogonal transforming part, 304 quantizing part, 305 attribute information Encoding unit, 306 bit stream generation unit, 330 decoding device, 331 position information decoding unit, 332 attribute information decoding unit, 333 dequantization unit, 334 inverse orthogonal transformation unit, 335 attribute information extraction unit, 336 point cloud generation unit, 500 encoding device, 501 position information encoding part, 502 interpolation processing part, 503 prediction part, 504 residual derivation part, 505 quantizing part, 506 attribute information encoding part, 507 bitstream generating part,

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)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

本開示は、より容易に符号化・復号することができるようにする情報処理装置および方法に関する。 3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間し、その補間後の属性情報を符号化する。また、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号し、その符号化データが復号されて生成された属性情報から、ポイントクラウドの位置情報に対応する属性情報を抽出する。本開示は、例えば、情報処理装置、画像処理装置、符号化装置、復号装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、より容易に符号化・復号することができるようにした情報処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。
 例えば3次元構造を点群で表すポイントクラウドは、点の位置情報と属性情報とにより構成される。このようなポイントクラウドは、位置情報を符号化(復号)し、続いて属性情報を符号化(復号)する方法が考えられた。属性情報を符号化する際は、符号化による劣化を含め位置情報を既知であるものとして、点間の位置関係を利用して符号化を行う。
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf
 しかしながら、この方法の場合、属性情報の符号化の際に、符号化対象に空間的に疎なデータが含まれると、近傍点を使う処理において、近傍点の有無に応じた場合分け等が必要となり、処理が複雑化するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、3Dデータをより容易に符号化・復号することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間する補間処理部と、前記補間処理部による補間後の前記属性情報を符号化する符号化部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間し、補間後の前記属性情報を符号化する情報処理方法である。
 本技術の他の側面の情報処理装置は、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号する復号部と、前記復号部により前記符号化データが復号されて生成された前記属性情報から、前記ポイントクラウドの位置情報に対応する属性情報を抽出する抽出部とを備える情報処理装置である。
 本技術の他の側面の情報処理方法は、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号し、前記符号化データが復号されて生成された前記属性情報から、前記ポイントクラウドの位置情報に対応する属性情報を抽出する情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報が補間され、その補間後の属性情報が符号化される。
 本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データが復号され、その符号化データが復号されて生成された属性情報から、ポイントクラウドの位置情報に対応する属性情報が抽出される。
符号化・復号方法の例を説明する図である。 補間方法の例を説明する図である。 補間方法の例を説明する図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.疎なデータの符号化・復号
 2.第1の実施の形態(方法1)
 3.第2の実施の形態(方法1-1)
 4.第3の実施の形態(方法1-2)
 5.第4の実施の形態(方法1-3)
 6.第5の実施の形態(方法1-4)
 7.付記
 <1.疎なデータの符号化・復号>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
 非特許文献3:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
 非特許文献4: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
 つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献3に記載されているQuad-Tree Block Structure、非特許文献4に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲 のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲 のサポート要件を満たすものとする。
  <ポイントクラウド>
 従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
 例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、この点群の各点の位置情報や属性情報により構成される。属性情報には、例えば、色情報、反射率情報、法線情報等が含まれる。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
  <ポイントクラウドの符号化・復号>
 このようなポイントクラウドデータはそのデータ量が比較的大きいので、例えば非特許文献1に記載のように、符号化によるデータ量を圧縮することが考えられた。例えば、まず、ポイントクラウドの位置情報を符号化(復号)し、続いて属性情報を符号化(復号)する。属性情報を符号化する際は、符号化による劣化を含め位置情報を既知であるものとして、点間の位置関係を利用して符号化を行う。
 しかしながら、この方法の場合、属性情報の符号化の際に、符号化対象に空間的に疎なデータが含まれると、例えば、フィルタリング、直交変換、予測処理等のような近傍点を使う処理において、その近傍点の有無に応じた場合分け等が必要となり、処理が複雑化するおそれがあった。特に、位置情報と属性情報を並列に符号化・復号する場合のボトルネックとなるおそれがあった。
  <属性情報の補間>
 そこで、図1に示される表の方法1のように、ポイントクラウドの疎な点を補間して密にし、属性情報を符号化・復号するようにする。このようにすることにより、属性情報を密な状態で処理することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化・復号を行うことができる。
 なお、方法1-1のように、位置情報の符号化データの復号結果において点を補間するようにしてもよい。また、方法1-2のように、符号化前のデータにおいて点を補間するようにしてもよい。さらに、方法1-3のように、符号化において直交変換を用いる(復号において逆直交変換を用いる)ようにしてもよい。また、方法1-4のように、符号化・復号において予測を用いるようにしてもよい。
 <2.第1の実施の形態>
  <方法1>
 次に、上述の方法1について説明する。方法1では、ポイントクラウドの疎な点を補間して密にし、属性情報を符号化・復号する。例えば、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間し、その補間後の属性情報を符号化する。例えば、情報処理装置において、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間する補間処理部と、その補間処理部による補間後の属性情報を符号化する符号化部とを備えるようにする。
 また、例えば、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号し、その符号化データが復号されて生成された属性情報から、ポイントクラウドの位置情報に対応する属性情報を抽出する。例えば、情報処理装置において、3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号する復号部と、その復号部により符号化データが復号されて生成された属性情報から、ポイントクラウドの位置情報に対応する属性情報を抽出する抽出部とを備えるようにする。
 このようにすることにより、属性情報を密な状態で処理することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化・復号を行うことができる。
 3Dデータであるポイントクラウドの場合、2Dデータである画像等の場合と異なり、点は任意の位置に存在することができる。つまり、画像の場合、画素は等間隔に配置されるが、ポイントクラウドの場合、点の間隔は一定とは限らず、点が疎になる部分が存在し得る。
  <疎なデータ>
 本明細書においては、点の間隔が他に比べて広くなる(解像度が一定でなく、他の部分に比べて低くなる)状態を「疎」と称する。これに対して、そのような「疎」な部分が存在せず、点が一定の間隔で並ぶ(解像度が一定である)状態を「密」と称する。
 このような点が疎な状態を2次元画像で表現すると、例えば図2のAのようになる。図2は、4画素×4画素の画像データを示しており、グレーの四角が画素を示し、白色の四角は画素が存在しない領域を示す。つまり、この場合、16画素存在可能な領域に10画素分の情報しか存在していない。このように所定の解像度において画素が存在し得る位置に、画素が存在しない場合、画素は疎な状態である。3Dデータの場合、この画素が点に相当する。つまり、所定の解像度において点が存在し得る位置に点が存在しない場合、点は疎な状態である。
 位置情報および属性情報についても同様である。つまり、位置情報はこのような各点の位置を示し、属性情報は各点に関連付けられているので、点が疎な状態である場合、位置情報および属性情報も疎な状態である。
 ところでポイントクラウドの属性情報の符号化や復号においては、ノイズ抑制のためのフィルタリングを行ったり、符号化効率を向上させるための直交変換(逆直交変換)や予測等を行ったりすることができる。これらの処理では、近傍点(処理対象点の周辺に位置する点)の情報が利用される。
 しかしながら、点が疎であると、近傍点が存在するか否かによって処理の場合分けが必要になり、処理が複雑化するおそれがあった。例えば図2のAのように、画素が疎であると、隣接画素を参照する処理の場合、処理対象画素の位置によって隣接画素の数や位置が異なるので、全て同一の方法で処理することが困難な場合があり得る。例えば隣接画素が存在しない場合、隣接画素を参照することができないので、参照する画素の範囲を拡大する等の対処が必要となることがあり得る。このように、隣接画素の有無や数等に応じて場合分けが必要になると処理が複雑化する。処理が複雑化すると、符号化や復号の負荷や処理時間が増大するおそれがあった。したがって、符号化や復号のコストが増大するおそれがあった。
  <補間方法>
 そこで、上述のように属性情報を補間する。例えば、ポイントクラウドの疎な点を補間して密にし、補間した点に対応する属性情報を生成する。このようにすることにより、図2のBに示されるように、画素(すなわち点)が存在しない領域がなくなる(密な状態となる)。したがって、上述のような近傍点の情報を利用する処理において、場合分けが不要になり、より容易に符号化・復号を行うことができる。つまり、符号化や復号の負荷や処理時間の増大を抑制することができる。これにより、符号化や復号のコストの増大を抑制することができる。
 なお、補間した点に対応する属性情報を生成する際に、その補間した点の近傍に位置する他の点(近傍点)の属性情報を用いるようにしてもよい。近傍点の属性情報を利用することにより、補間した点に対応する属性情報をより容易に生成することができる。つまり、属性情報の補間をより容易に行うことができる。
 また、補間した点に対応する属性情報を生成する際に、その点の最も近い他の点(最近傍点)の属性情報を複製するようにしてもよい。このようにすることにより、複数の近傍点の属性情報を用いて補間した点に対応する属性情報を導出する場合よりも容易に、補間した点に対応する属性情報を生成することができる。
 また、補間した点に対応する属性情報を生成する際に、その点の近傍に位置する複数の他の点の属性情報を用いて導出するようにしてもよい。このようにすることにより、最近傍点の属性情報を複製して補間した点に対応する属性情報を生成する場合よりも、周辺の属性情報との差が少ない(より調和のとれた)属性情報を生成することができる。
 また、補間されていないポイントクラウドの位置情報をさらに符号化するようにしてもよい。また、復号側において、その補間されていないポイントクラウドの位置情報の符号化データをさらに復号するようにしてもよい。このようにすることにより、復号側において、位置情報と属性情報を互いに関連付け、ポイントクラウドを生成することができる。
 また、復号側において、取得する符号化データが、ポイントクラウドの属性情報を補間して符号化することにより生成されたデータであり、その符号化データが復号されて生成された補間後の属性情報から、補間されていない位置情報に対応する属性情報を抽出するようにしてもよい。このようにすることにより、位置情報に対応する属性情報を容易に得ることができる。
  <Octree>
 ところで、ポイントクラウドの符号化において、Octreeを構築することが考えられた。Octreeは、ポイントクラウドの3次元領域を木構造化したものである。図3にOctreeの例を示す。このOctreeの各ノードの値が、ポイントクラウドの3次元領域の、そのノードに対応する部分領域におけるポイントの有無を示す。例えば、値「1」がポイントを内包する部分領域を示し、値「0」がポイントを内包しない部分領域を示す。Octreeでは、1ノードが8つの部分領域に対応する。つまり、Octreeの各ノードは、8ビットのデータにより構成され、その8ビットが8つの部分領域のポイントの有無を示す。
 そして、Octreeの上位のノードは、そのノードに属する下位ノードに対応する8つの部分領域を1つにまとめた領域のポイントの有無を示す。つまり、下位ノードの部分領域の情報をまとめることにより上位ノードが生成される。なお、値が「0」のノード、すなわち、対応する8つの部分領域が全てポイントを内包しない場合、そのノードは削除される。
 このようにすることにより、値が「0」でないノードからなる木構造(Octree)が構築される。つまり、Octreeは、各解像度の部分領域のポイントの有無を示すことができる。したがって、ポイントクラウドをOctree化して符号化することにより、復号の際により多様な解像度のポイントクラウドをより容易に復元することができる。つまり、より容易にポイントクラウドのスケーラビリティを実現することができる。
 また、上述のように値が「0」のノードを省略することにより、ポイントが存在しない領域を低解像度化することができるので、さらなる情報量の増大の抑制(典型的には情報量の削減)を行うことができる。
  <Octreeの補間>
 このようなOctreeを適用する場合も、上述のように属性情報を補間するようにしてもよい。例えば、ポイントクラウドのOctreeの疎なノードを補間して密にし、密なノードに対応する属性情報を生成するようにしてもよい。
 例えば図3の場合、最下位層の左から4番目(E’)、8番目(L’)、12番目(S’)、14番目(V’)、および16番目(Y’)のノードが存在していない。そこで、これらのノードを補間し、その属性情報を生成する。このようにOctreeを適用する場合、点(ノード)が疎であるか否か、並びに、どの点(ノード)を補間すべきであるかが容易に識別可能であるので、属性情報の補間をより容易に行うことができる。
 なお、補間する属性情報の導出方法は任意である。例えば、依存関係のあるOctreeにおいて周辺のノードの情報を用いるようにしてもよい。例えば、ノードBの属性情報は、ノードAおよびノードCの属性情報を用いて以下の式(1)のように表すことができる。
 B=(A+C)/2 ・・・(1)
 同様に、ノードFの属性情報は、ノードEとノードE’の属性情報を用いて以下の式(2)のように表すことができる。
 F=(E+E’)/2 ・・・(2)
 つまり、ノードE’の属性情報は、ノードFおよびノードEの属性情報を用いて導出することができる。同様に、ノードL’の属性情報はノードMおよびノードLの属性情報を用いて、ノードS’の属性情報はノードTおよびノードSの属性情報を用いて、ノードV’の属性情報はノードWおよびノードVの属性情報を用いて、ノードY’の属性情報はノードZおよびノードYの属性情報を用いて、それぞれ導出することができる。
 このように導出することにより、補間する属性情報をより容易に導出することができる。もちろん、Octreeのノードの依存関係を考慮せずに、3次元空間における近傍点の属性情報を用いて補間を行うようにしてもよい。ただし、その場合、式(1)や式(2)のような依存関係に基づいて、Octreeの上位のノードの属性情報を更新する必要が生じる場合もありうる。
 なお、ノードの補間は、Octreeの任意の階層(レベル)において行うことができる。最下位層において補間するようにしてもよいし、より上位のレベルにおいて補間するようにしてもよい。最下位よりも上位のレベルにおいて属性情報を補間する場合、そのレベルよりも下位の属性情報の符号化・復号を省略し、補間を行ったレベルの属性情報を用いて、より下位層の属性情報を導出するようにすればよい。
 <3.第2の実施の形態>
  <方法1-1>
 次に、方法1-1について説明する。方法1-1では、ポイントクラウドの位置情報を符号化して復号した結果を用いて、属性情報を補間する。このようにすることにより、位置情報の符号化・復号結果に対応するように属性情報を補間することができる。したがって、復号の際に、位置情報(復号結果)に対応する属性情報をより容易に得ることができる。つまり、このようにすることにより、第1の実施の形態において説明した効果を得ることができるだけでなく、ポイントクラウドの符号化データをより容易に復号することができる。すなわち、復号の負荷や処理時間の増大をより抑制することができ、コストの増大を抑制することができる。
  <従来の符号化装置>
 図4は、符号化装置の主な構成例を示すブロック図である。図4に示される符号化装置10は、ポイントクラウドを符号化する従来の符号化装置である。図4に示されるように、符号化装置10は、位置情報符号化部11、位置情報復号部12、ポイントクラウド生成部13、属性情報符号化部14、およびビットストリーム生成部15を有する。
 位置情報符号化部11は、符号化装置10に入力されたポイントクラウド(3Dデータ)の位置情報を符号化する。この符号化方法は任意である。例えば、ノイズ抑制(デノイズ)のためのフィルタリングや量子化等の処理が行われるようにしてもよい。位置情報符号化部11は、生成した位置情報の符号化データを位置情報復号部12およびビットストリーム生成部15に供給する。
 位置情報復号部12は、位置情報符号化部11から供給される位置情報の符号化データを取得し、その符号化データを復号する。この復号方法は、位置情報符号化部11による符号化に対応する方法であれば任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。位置情報復号部12は、生成した位置情報(復号結果)をポイントクラウド生成部13に供給する。
 ポイントクラウド生成部13は、符号化装置10に入力されるポイントクラウドの属性情報と、位置情報復号部12から供給される位置情報(復号結果)を取得する。
 位置情報は、位置情報符号化部11による符号化・復号の際のフィルタリングや量子化(または逆量子化)等の処理により、変化する場合がある(つまり、符号化により、点が増減したり、移動したりする可能性がある)。したがって、位置情報復号部12が生成する位置情報(復号結果)は、位置情報符号化部11により符号化される前の位置情報と異なる場合がある。
 そこでポイントクラウド生成部13は、属性情報を位置情報(復号結果)に合わせる処理(リカラー処理)を行う。ポイントクラウド生成部13は、位置情報(復号結果)に対応させた属性情報を属性情報符号化部14に供給する。
 属性情報符号化部14は、ポイントクラウド生成部13から供給される属性情報を取得し、符号化する。この符号化方法は任意である。属性情報符号化部14は、生成した属性情報の符号化データをビットストリーム生成部15に供給する。
 ビットストリーム生成部15は、位置情報符号化部11から供給される位置情報の符号化データと、属性情報符号化部14から供給される属性情報の符号化データとを取得する。ビットストリーム生成部15は、それらの符号化データを含むビットストリームを生成し、そのビットストリームを符号化装置10の外部に出力する。
  <従来の符号化処理の流れ>
 この符号化装置10により実行される従来の符号化処理の流れの例を、図5のフローチャートを参照して説明する。
 符号化処理が開始されると、位置情報符号化部11は、ステップS11において、ポイントクラウドの位置情報を符号化する。
 ステップS12において、位置情報復号部12は、ステップS11において生成された位置情報の符号化データを復号する。
 ステップS13において、ポイントクラウド生成部13は、ステップS12において得られた位置情報の復号結果を用いて、リカラー処理を行い、属性情報を位置情報(復号結果)に対応させる。
 ステップS14において、属性情報符号化部14は、ステップS13において位置情報の復号結果に対応付けられた属性情報を符号化し、符号化データを生成する。
 ステップS15において、ビットストリーム生成部15は、ステップS11において生成された位置情報の符号化データと、ステップS14において生成された属性情報の符号化データとを含むビットストリームを生成し、出力する。
 ステップS15の処理が終了すると符号化処理が終了する。
  <従来の復号装置>
 図6は、復号装置の主な構成例を示すブロック図である。図6に示される復号装置30は、符号化装置10に対応し、符号化装置10において生成されたポイントクラウドの符号化データを復号する従来の復号装置である。図6に示されるように、復号装置30は、位置情報復号部31、属性情報復号部32、およびポイントクラウド生成部33を有する。
 位置情報復号部31は、復号装置30に入力されたポイントクラウド(3Dデータ)の位置情報の符号化データを復号する。この復号方法は、位置情報符号化部11(図4)により行われる符号化に対応する方法であれば、任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。位置情報復号部31は、生成した位置情報をポイントクラウド生成部33に供給する。
 属性情報復号部32は、復号装置30に入力されたポイントクラウド(3Dデータ)の属性情報の符号化データを復号する。この復号方法は、属性情報符号化部14(図4)により行われる符号化に対応する方法であれば、任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。属性情報復号部32は、生成した属性情報をポイントクラウド生成部33に供給する。
 ポイントクラウド生成部33は、位置情報復号部31から供給される位置情報、および属性情報復号部32から供給される属性情報を取得する。ポイントクラウド生成部33は、それらの位置情報と属性情報とを関連付け、ポイントクラウドを生成し、復号装置30の外部に出力する。
  <従来の復号処理の流れ>
 この復号装置30により実行される従来の復号処理の流れの例を、図7のフローチャートを参照して説明する。
 復号処理が開始されると、位置情報復号部31は、ステップS31において、位置情報の符号化データを復号する。
 ステップS32において、属性情報復号部32は、属性情報の符号化データを復号する。
 ステップS33において、ポイントクラウド生成部33は、ステップS31において生成された位置情報と、ステップS32において生成された属性情報とを互いに関連付け、ポイントクラウドを生成し、出力する。
 ステップS33の処理が終了すると復号処理が終了する。
 以上のように符号化装置10および復号装置30の場合、属性情報が疎の状態のまま処理される。したがって、符号化や復号の処理が複雑化し、符号化や復号の負荷や処理時間が増大するおそれがあった。したがって、符号化や復号のコストが増大するおそれがあった。
  <符号化装置>
 図8は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図8に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、上述した方法1-1を用いてポイントクラウドを符号化する。
 なお、図8においては、処理部やデータの流れ等の主なものを示しており、図8に示されるものが全てとは限らない。つまり、符号化装置100において、図8においてブロックとして示されていない処理部が存在したり、図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図8に示されるように符号化装置100は、位置情報符号化部101、位置情報復号部102、ポイントクラウド生成部103、補間処理部104、属性情報符号化部105、およびビットストリーム生成部106を有する。
 位置情報符号化部101は、符号化装置100に入力されたポイントクラウド(3Dデータ)の位置情報を符号化する。この符号化方法は任意である。例えば、第1の実施の形態において説明した各手法を適用することができる。例えば、ノイズ抑制(デノイズ)のためのフィルタリングや量子化等の処理が行われるようにしてもよい。位置情報符号化部101は、生成した位置情報の符号化データを位置情報復号部102およびビットストリーム生成部106に供給する。
 位置情報復号部102は、位置情報符号化部101から供給される位置情報の符号化データを取得し、その符号化データを復号する。この復号方法は、位置情報符号化部101による符号化に対応する方法であれば任意である。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。位置情報復号部102は、生成した位置情報(復号結果)をポイントクラウド生成部103に供給する。
 ポイントクラウド生成部103は、符号化装置100に入力されるポイントクラウドの属性情報と、位置情報復号部102から供給される位置情報(復号結果)を取得する。ポイントクラウド生成部103は、属性情報を位置情報(復号結果)に合わせる処理(リカラー処理)を行う。ポイントクラウド生成部103は、位置情報(復号結果)に対応させた属性情報を補間処理部104に供給する。
 補間処理部104は、ポイントクラウド生成部103から供給される属性情報を取得する。補間処理部104は、第1の実施の形態において説明したように、その属性情報の疎な部分を補間し、密にする。この補間方法は任意である。例えば、第1の実施の形態において説明した各手法を適用することができる。補間処理部104は、補間後の属性情報を属性情報符号化部105に供給する。
 属性情報符号化部105は、補間処理部104から供給される補間後の属性情報を取得する。属性情報符号化部105は、第1の実施の形態において説明したように、その補間後の属性情報を符号化し、符号化データを生成する。この符号化方法は任意である。例えば、第1の実施の形態において説明した各手法を適用することができる。例えば、ノイズ抑制(デノイズ)のためのフィルタリングや量子化等の処理が行われるようにしてもよい。属性情報符号化部105は、生成した補間後の属性情報の符号化データをビットストリーム生成部106に供給する。
 ビットストリーム生成部106は、位置情報符号化部101から供給される位置情報の符号化データを取得する。また、ビットストリーム生成部106は、属性情報符号化部105から供給される補間後の属性情報の符号化データを取得する。ビットストリーム生成部106は、位置情報の符号化データと補間後の属性情報の符号化データとを含むビットストリームを生成する。ビットストリーム生成部106は、生成したビットストリームを符号化装置100の外部に出力する。
 なお、位置情報符号化部101と属性情報符号化部105とを一体化してもよい。
 このような構成とすることにより、符号化装置100は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置100は、第1の実施の形態において説明した効果を得ることができる。
 また、このようにすることにより、位置情報の符号化・復号結果に対応するように属性情報を補間することができる。したがって、復号の際に、位置情報(復号結果)に対応する属性情報をより容易に得ることができる。つまり、ポイントクラウドの符号化データをより容易に復号することができるので、復号の負荷や処理時間の増大をより抑制することができ、コストの増大を抑制することができる。
 なお、これらの処理部(位置情報符号化部101乃至ビットストリーム生成部106)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 この符号化装置100により実行される符号化処理の流れの例を、図9のフローチャートを参照して説明する。
 符号化処理が開始されると、位置情報符号化部101は、ステップS101において、ポイントクラウドの位置情報を符号化する。
 ステップS102において、位置情報復号部102は、ステップS101において生成された位置情報のポイントクラウドの符号化データを復号する。
 ステップS103において、ポイントクラウド生成部13は、ステップS102において得られた位置情報の復号結果を用いて、リカラー処理を行い、属性情報を位置情報(復号結果)に対応させる。
 ステップS104において、補間処理部104は、位置情報(点)を補間する。ステップS105において、補間処理部104は、その補間した点に対応する属性情報を補間する。
 ステップS106において、属性情報符号化部105は、ステップS105において生成された補間後の属性情報を符号化し、符号化データを生成する。
 ステップS107において、ビットストリーム生成部106は、ステップS101において生成された位置情報の符号化データと、ステップS106において生成された属性情報の符号化データとを含むビットストリームを生成し、出力する。
 ステップS107の処理が終了すると符号化処理が終了する。
 このように符号化処理を行うことにより、符号化装置100は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置100は、第1の実施の形態において説明した効果を得ることができる。
 また、このようにすることにより、位置情報の符号化・復号結果に対応するように属性情報を補間することができる。したがって、復号の際に、位置情報(復号結果)に対応する属性情報をより容易に得ることができる。つまり、ポイントクラウドの符号化データをより容易に復号することができるので、復号の負荷や処理時間の増大をより抑制することができ、コストの増大を抑制することができる。
  <復号装置>
 図10は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図10に示される復号装置130は、符号化装置100に対応し、符号化装置100において生成されたポイントクラウドの符号化データを復号する。この復号装置130は、上述した方法1-1を用いてポイントクラウドの符号化データを復号する。
 なお、図10においては、処理部やデータの流れ等の主なものを示しており、図10に示されるものが全てとは限らない。つまり、復号装置130において、図10においてブロックとして示されていない処理部が存在したり、図10において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図10に示されるように、復号装置130は、位置情報復号部131、属性情報復号部132、属性情報抽出部133、およびポイントクラウド生成部134を有する。
 位置情報復号部131は、復号装置130に入力されたポイントクラウド(3Dデータ)の位置情報の符号化データを復号する。この位置情報は、第1の実施の形態等において上述したような補間は行われていない。つまり、位置情報復号部131は、符号化データを復号することにより、補間されていない位置情報を生成する。なお、この復号方法は、位置情報符号化部101(図8)により行われる符号化に対応する方法であれば、任意である。例えば、第1の実施の形態において説明した各手法を適用することができる。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。位置情報復号部131は、生成した、補間されていない位置情報を属性情報抽出部133に供給する。
 属性情報復号部132は、復号装置130に入力されたポイントクラウド(3Dデータ)の補間後の属性情報の符号化データを復号する。この符号化データの属性情報は、第1の実施の形態等において上述したように、この符号化データを生成する際に符号化装置100により、データが密になるように補間されている。したがって、属性情報復号部132は、この符号化データを復号することにより、その補間後の属性情報を生成する。なお、この復号方法は、属性情報符号化部105(図8)により行われる符号化に対応する方法であれば、任意である。例えば、第1の実施の形態において説明した各手法を適用することができる。例えば、デノイズのためのフィルタリングや逆量子化等の処理が行われるようにしてもよい。属性情報復号部132は、生成した補間後の属性情報を属性情報抽出部133に供給する。
 属性情報抽出部133は、位置情報復号部131から供給される補間されていない位置情報を取得する。また、属性情報抽出部133は、属性情報復号部132から供給される補間後の属性情報を取得する。属性情報抽出部133は、第1の実施の形態において説明したように、その補間後の属性情報から、補間されていない位置情報(つまり点)に対応する属性情報を抽出する。つまり属性情報抽出部133は、復号結果である位置情報に対応する属性情報を抽出する。なお、この抽出方法は任意である。例えば、第1の実施の形態において説明した各手法を適用することができる。
 上述したように、属性情報は、符号化装置100において、位置情報(復号結果)に対応するようにリカラー処理されている。したがって、補間後の属性情報は、全ての位置情報(復号結果)に対応する属性情報を含む。したがって、属性情報抽出部133は、位置情報に対応する属性情報を容易に抽出することができる。属性情報抽出部133は、その補間されていない位置情報と抽出した属性情報とをポイントクラウド生成部134に供給する。
 ポイントクラウド生成部134は、属性情報抽出部133から供給される位置情報および属性情報を取得する。ポイントクラウド生成部134は、それらの位置情報をおよび属性情報を互いに関連付けてポイントクラウド(つまり補間されていないポイントクラウド)を生成し、復号装置130の外部に出力する。
 このような構成とすることにより、復号装置130は、属性情報を密な状態で復号することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に復号を行うことができる。したがって、復号装置130は、第1の実施の形態において説明した効果を得ることができる。
 また、補間後の属性情報が位置情報の符号化・復号結果に対応しているので、ポイントクラウドの符号化データをより容易に復号することができる。したがって、復号の負荷や処理時間の増大をより抑制することができ、コストの増大を抑制することができる。
 なお、これらの処理部(位置情報復号部131乃至ポイントクラウド生成部134)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 この復号装置130により実行される復号処理の流れの例を、図11のフローチャートを参照して説明する。
 復号処理が開始されると、位置情報復号部131は、ステップS131において、補間されていない位置情報の符号化データを復号する。
 ステップS132において、属性情報復号部132は、補間後の属性情報の符号化データを復号する。
 ステップS133において、属性情報抽出部133は、ステップS132において生成された補間後の属性情報から、ステップS131において生成された補間されていない位置情報に対応する属性情報を抽出する。
 ステップS134において、ポイントクラウド生成部134は、ステップS131において生成された位置情報と、ステップS132において生成された属性情報とを互いに関連付け、ポイントクラウドを生成し、復号装置130の外部に出力する。
 ステップS134の処理が終了すると復号処理が終了する。
 このように復号処理を実行することにより、復号装置130は、属性情報を密な状態で復号することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に復号を行うことができる。したがって、復号装置130は、第1の実施の形態において説明した効果を得ることができる。
 また、補間後の属性情報が位置情報の符号化・復号結果に対応しているので、ポイントクラウドの符号化データをより容易に復号することができる。したがって、復号の負荷や処理時間の増大をより抑制することができ、コストの増大を抑制することができる。
 <4.第3の実施の形態>
  <方法1-2>
 次に、方法1-2について説明する。方法1-2では、ポイントクラウドの符号化前の位置情報を用いて、属性情報を補間する。このようにすることにより、位置情報の符号化と属性情報の符号化とを互いに独立に実行することができる。したがって、例えば、位置情報の符号化と属性情報の符号化とを並列に実行することができる。このようにすることにより、第1の実施の形態において説明した効果を得ることができるだけでなく、さらに処理時間の増大を抑制することができる。これにより、コストの増大を抑制することができる。
  <符号化装置>
 図12は、この場合の符号化装置100の主な構成例を示すブロック図である。図12に示される符号化装置100は、図8の場合と同様に、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、上述した方法1-2を用いてポイントクラウドを符号化する。
 なお、図12においては、処理部やデータの流れ等の主なものを示しており、図12に示されるものが全てとは限らない。つまり、符号化装置100において、図12においてブロックとして示されていない処理部が存在したり、図12において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図12に示されるように、この場合の符号化装置100は、位置情報符号化部101、補間処理部104、属性情報符号化部105、およびビットストリーム生成部106を有する。つまり、この場合の符号化装置100は、第2の実施の形態(図8)の場合と比べて、位置情報復号部102およびポイントクラウド生成部103が省略されている。
 この場合の位置情報符号化部101は、第2の実施の形態(図8)の場合と同様に、符号化装置100に入力されたポイントクラウド(3Dデータ)の位置情報を符号化する。そして、位置情報符号化部101は、生成した位置情報の符号化データをビットストリーム生成部106に供給する。
 この場合の補間処理部104は、符号化装置100に入力されたポイントクラウド(3Dデータ)を取得する。そして、補間処理部104は、第2の実施の形態(図8)の場合と同様に、その属性情報の疎な部分を補間し、密にする。ただし、この場合の補間処理部104は、上述したように、符号化前の位置情報を用いて属性情報の補間を行う。補間処理部104は、補間後の属性情報を属性情報符号化部105に供給する。
 この場合の属性情報符号化部105は、補間処理部104から供給される補間後の属性情報を取得する。属性情報符号化部105は、第2の実施の形態(図8)の場合と同様に、その補間後の属性情報を符号化し、符号化データを生成する。属性情報符号化部105は、生成した補間後の属性情報の符号化データをビットストリーム生成部106に供給する。
 この場合のビットストリーム生成部106は、位置情報符号化部101から供給される位置情報の符号化データを取得する。また、ビットストリーム生成部106は、属性情報符号化部105から供給される補間後の属性情報の符号化データを取得する。ビットストリーム生成部106は、第2の実施の形態(図8)の場合と同様に、その位置情報の符号化データと補間後の属性情報の符号化データとを含むビットストリームを生成する。ビットストリーム生成部106は、生成したビットストリームを符号化装置100の外部に出力する。
 なお、この場合も、位置情報符号化部101と属性情報符号化部105とを一体化してもよい。
 このような構成とすることにより、符号化装置100は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置100は、第1の実施の形態において説明した効果を得ることができる。
 また、このようにすることにより、符号化装置100は、位置情報の符号化と属性情報の符号化を互いに独立に行うことができる。したがって、符号化装置100は、例えば、位置情報の符号化と属性情報の符号化とを並列に実行することができる。このようにすることにより、符号化装置100は、さらに処理時間の増大を抑制することができる。これにより、コストの増大を抑制することができる。
 なお、これらの処理部(位置情報符号化部101、並びに、補間処理部104乃至ビットストリーム生成部106)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 この場合の符号化装置100により実行される符号化処理の流れの例を、図13のフローチャートを参照して説明する。
 符号化処理が開始されると、位置情報符号化部101は、ステップS151において、ポイントクラウドの位置情報を符号化する。ステップS151の処理が終了すると処理はステップS155に進む。
 また、そのステップS151の処理と並行して(ステップS151の処理とは独立に)、ステップS152乃至ステップS154の各処理が実行される。
 ステップS152において、補間処理部104は、符号化前の位置情報(点)を補間する。ステップS153において、補間処理部104は、その補間した点に対応する属性情報を補間する。
 ステップS154において、属性情報符号化部105は、ステップS153において生成された補間後の属性情報を符号化し、符号化データを生成する。ステップS154の処理が終了すると処理はステップS155に進む。
 ステップS151の処理およびステップS154の処理がともに終了すると、ステップS155において、ビットストリーム生成部106は、ステップS151において生成された補間されていない位置情報の符号化データと、ステップS154において生成された補間後の属性情報の符号化データとを含むビットストリームを生成し、出力する。
 ステップS155の処理が終了すると符号化処理が終了する。
 このように符号化処理を行うことにより、符号化装置100は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置100は、第1の実施の形態において説明した効果を得ることができる。
 また、このようにすることにより、符号化装置100は、位置情報の符号化と属性情報の符号化を互いに独立に行うことができる。したがって、符号化装置100は、例えば、位置情報の符号化と属性情報の符号化とを並列に実行することができる。このようにすることにより、符号化装置100は、さらに処理時間の増大を抑制することができる。これにより、コストの増大を抑制することができる。
  <復号装置>
 この場合の復号装置130の構成は、第2の実施の形態(図10)の場合と同様であるので、その説明を省略する。ただし、この場合、符号化装置100においてリカラー処理が行われていないので、補間後の属性情報が、符号化結果の全ての位置情報に対応する属性情報を有するとは限らない。そのため、属性情報抽出部133が、全ての位置情報に対応する属性情報を抽出することができるとは限らない。その場合、すなわち、属性情報抽出部133により抽出された属性情報に対応しない位置情報が存在する場合、ポイントクラウド生成部134が、その位置情報(点)の近傍に位置する他の位置情報(点)に対応する属性情報を用いて、その位置情報(点)に対応する属性情報を生成するようにする。このようにすることにより、この場合であっても、全ての位置情報に対応する属性情報を得ることができる。
  <復号処理の流れ>
 この場合の復号処理の流れは、第2の実施の形態(図11)の場合と同様であるので、その説明を省略する。ただし、属性情報抽出部133により抽出された属性情報に対応しない位置情報が存在する場合、ステップS134において、ポイントクラウド生成部134が、その位置情報(点)の近傍に位置する他の位置情報(点)に対応する属性情報を用いて、その位置情報(点)に対応する属性情報を生成するようにする。このようにすることにより、この場合であっても、全ての位置情報に対応する属性情報を得ることができる。
 <5.第4の実施の形態>
  <方法1-3>
 次に、方法1-3について説明する。方法1-3では、属性情報の符号化・復号において、属性情報の変換・逆変換を適用する。例えば、属性情報を係数データに直交変換して符号化し、復号して得られた係数データを逆直交変換して属性情報を生成するようにする。また例えば、属性情報を係数データに変換する変換処理の処理単位毎に、属性情報を補間する。このようにすることにより、符号化効率を向上させることができる。また、属性情報を補間して密にして符号化・復号するので、例えば、DCT(Discrete Cosine Transform)やウェーブレット変換等の、簡易な直交変換を適用することができる。これにより、符号化・復号の負荷や処理時間の増大を抑制することができる。したがって、コストの増大を抑制することができる。
  <従来の符号化装置>
 図14は、直交変換を適用する場合の符号化装置の主な構成例を示すブロック図である。図14に示される符号化装置200は、ポイントクラウドを符号化する従来の符号化装置である。上述したように3Dデータであるポイントクラウドは、各点に近傍点が存在することが保証されないため、2DデータのようにDCTやウェーブレット変換を用いることが困難であった。そこで、この符号化装置200は、直交変換としてRAHT(Region Adaptive Hierarchical Transform)を適用する。
 RAHTは、3次元構造を考慮した直交変換の1つであり、ボクセル化された空間において、ポイントの位置関係(例えば隣のボクセルにポイントが存在するか否か)に応じた重み付け(Weight値)を用いたハール変換である。
 例えば、ハール変換する隣接領域にポイントが存在する場合、Weight値を合算し、存在しない場合は、Weight値をそのまま継承して処理を進める。つまり、ポイントが密な部分程Weight値が大きくなる。したがって、Weight値からポイントの疎密を判断することができる。
 例えば、このWeight値に基づいて密な部分のポイントを残すように量子化を行うことにより、ポイントクラウドの品質の低減を抑制しながら、符号化効率を向上させることができる。
 図14に示されるように、符号化装置200は、位置情報符号化部201、Weight導出部202、RAHT処理部203、量子化部204、属性情報並び替え部205、属性情報符号化部206、およびビットストリーム生成部207を有する。
 位置情報符号化部201は、符号化装置200に入力されたポイントクラウド(3Dデータ)の位置情報を符号化する。位置情報符号化部201は、生成した位置情報の符号化データをWeight導出部202およびビットストリーム生成部207に供給する。
 Weight導出部202は、位置情報符号化部201から供給される位置情報の符号化データを取得する。Weight導出部202は、その位置情報の符号化データの係数をモートン符号順にRAHTし、Weight値を導出する。Weight導出部202は、導出したWeight値をRAHT処理部203および属性情報並び替え部205に供給する。
 RAHT処理部203は、符号化装置200に入力されたポイントクラウド(3Dデータ)の属性情報に対して、Weight導出部202から供給されるWeight値を用いてRAHTを行う。RAHT処理部203は、その処理により得られた属性情報の変換係数を量子化部204に供給する。量子化部204は、供給された属性情報の変換係数を量子化し、量子化係数を生成する。量子化部204は、その量子化係数を属性情報並び替え部205に供給する。
 属性情報並び替え部205は、量子化部204から供給される量子化係数を、Weight導出部202から供給されるWeight値が大きい順に並び替える。属性情報並び替え部205は、その並び替え後の量子化係数を属性情報符号化部206に供給する。
 属性情報符号化部206は、属性情報並び替え部205から供給される並び替え後の量子化係数を符号化する。つまり、属性情報符号化部206は、Weight値が大きい順に属性情報の各係数を符号化する。属性情報符号化部206は、その符号化により生成した属性情報の符号化データをビットストリーム生成部207に供給する。
 ビットストリーム生成部207は、位置情報符号化部201から供給される位置情報の符号化データと、属性情報符号化部206から供給される属性情報の符号化データとを取得する。ビットストリーム生成部207は、それらの符号化データを含むビットストリームを生成し、そのビットストリームを符号化装置200の外部に出力する。
  <従来の符号化処理の流れ>
 この符号化装置200により実行される従来の符号化処理の流れの例を、図15のフローチャートを参照して説明する。
 符号化処理が開始されると、位置情報符号化部201は、ステップS201において、ポイントクラウドの位置情報を符号化する。
 ステップS202において、Weight導出部202は、ステップS201において生成された位置情報の符号化データの係数をモートン符号順にRAHTし、Weight値を導出する。
 ステップS203において、RAHT処理部203は、符号化装置200に入力されたポイントクラウド(3Dデータ)の属性情報に対して、ステップS202において導出されたWeight値を用いてRAHTを行い、属性情報を変換係数に変換する(属性情報の変換係数を生成する)。
 ステップS204において、量子化部204は、ステップS203において生成された属性情報の変換係数を量子化し、量子化係数を生成する。
 ステップS205において、属性情報並び替え部205は、ステップS204において生成された量子化係数を、ステップS202において導出されたWeight値が大きい順に並び替える。
 ステップS206において、属性情報符号化部206は、ステップS205において並び替えられた順、すなわち、Weight値が大きい順に属性情報の各係数を符号化する。
 ステップS207において、ビットストリーム生成部207は、ステップS201において生成された位置情報の符号化データと、ステップS206において生成された属性情報の符号化データとを含むビットストリームを生成し、出力する。
 ステップS207の処理が終了すると符号化処理が終了する。
  <従来の復号装置>
 図16は、復号装置の主な構成例を示すブロック図である。図16に示される復号装置230は、符号化装置200に対応し、符号化装置200において生成されたポイントクラウドの符号化データを復号する従来の復号装置である。図16に示されるように、復号装置230は、位置情報復号部231、Weight導出部232、属性情報復号部233、属性情報並び替え部234、逆量子化部235、逆RAHT処理部236、およびポイントクラウド生成部237を有する。
 位置情報復号部231は、復号装置230に入力されるビットストリームに含まれる位置情報の符号化データを取得し、復号する。位置情報復号部231は、生成した位置情報をWeight導出部232およびポイントクラウド生成部237に供給する。
 Weight導出部232は、位置情報復号部231から供給される位置情報を取得し、その位置情報をモートン符号順にRAHTし、Weight値を導出する。Weight導出部232は、導出したWeight値を属性情報並び替え部234および逆RAHT処理部236に供給する。
 属性情報復号部233は、復号装置230に入力されるビットストリームに含まれる属性情報の符号化データを取得し、復号する。属性情報復号部233は、生成した属性情報の量子化係数を属性情報並び替え部234に供給する。
 属性情報並び替え部234は、属性情報復号部233から供給される、Weight値が大きい順に並ぶ属性情報の量子化係数を、Weight導出部232から供給されるWeight値に基づいて、モートン符号順に並び替える。属性情報並び替え部234は、その並び替え後の量子化係数を逆量子化部235に供給する。
 逆量子化部235は、属性情報並び替え部234から供給される、モートン符号順に並び替えられた属性情報の量子化係数を、逆量子化する。逆量子化部235は、その逆量子化により生成した属性情報の変換係数を逆RAHT処理部236に供給する。
 逆RAHT処理部236は、Weight導出部232から供給される位置情報のWeight値を用いて、逆量子化部235から供給される変換係数に対して、RAHTの逆処理である逆RAHTを行い、その変換係数を属性情報に変換する(属性情報を生成する)。逆RAHT処理部236は、生成した属性情報をポイントクラウド生成部237に供給する。
 ポイントクラウド生成部237は、位置情報復号部231から供給される位置情報と、および逆RAHT処理部236から供給される属性情報とを関連付け、ポイントクラウドを生成し、そのポイントクラウドを復号装置230の外部に出力する。
  <従来の復号処理の流れ>
 この復号装置230により実行される従来の復号処理の流れの例を、図17のフローチャートを参照して説明する。
 復号処理が開始されると、位置情報復号部231は、ステップS231において、位置情報の符号化データを復号する。
 ステップS232において、Weight導出部232は、ステップS231において生成された位置情報をモートン符号順にRAHTし、Weight値を導出する。
 ステップS233において、属性情報復号部233は、属性情報の符号化データを復号する。
 ステップS234において、属性情報並び替え部234は、ステップS233において生成された属性情報の量子化係数(Weight値が大きい順に並べられた量子化係数)を、ステップS232において導出されたWeight値に基づいて、モートン符号順に並び替える。
 ステップS235において、逆量子化部235は、ステップS234においてモートン符号順に並び替えられた属性情報の量子化係数を逆量子化し、属性情報の変換係数を生成する。
 ステップS236において、逆RAHT処理部236は、ステップS235において生成された属性情報の変換係数に対して、ステップS232において導出されたWeight値を用いて逆RAHT処理を行い、変換係数を属性情報に変換する(属性情報を生成する)。
 ステップS237において、ポイントクラウド生成部237は、ステップS231において生成された位置情報と、ステップS236において生成された属性情報とを互いに関連付け、ポイントクラウドを生成し、出力する。
 ステップS237の処理が終了すると復号処理が終了する。
 以上のように符号化装置200および復号装置230の場合、属性情報が疎の状態のまま処理される。したがって、符号化や復号の処理が複雑化し、符号化や復号の負荷や処理時間が増大するおそれがあった。したがって、符号化や復号のコストが増大するおそれがあった。
 また、属性情報が疎である可能性があるので、2Dデータに用いられるような(逆)DCTや(逆)ウェーブレット変換等の簡易な(逆)直交変換を適用することが困難であった。そのため、RAHTのような、より処理の負荷が大きい(逆)直交変換を適用しなければならず、符号化や復号の負荷や処理時間が増大するおそれがあった。したがって、符号化や復号のコストが増大するおそれがあった。
  <符号化装置>
 図18は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図18に示される符号化装置300は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置300は、上述した方法1-3を用いてポイントクラウドを符号化する。
 なお、図18においては、処理部やデータの流れ等の主なものを示しており、図18に示されるものが全てとは限らない。つまり、符号化装置300において、図18においてブロックとして示されていない処理部が存在したり、図18において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図18に示されるように符号化装置300は、位置情報符号化部301、補間処理部302、直交変換部303、量子化部304、属性情報符号化部305、およびビットストリーム生成部306を有する。この場合の符号化装置300は、第3の実施の形態の符号化装置100(図12)と同様に、ポイントクラウドの符号化前の位置情報を用いて、属性情報を補間する。
 位置情報符号化部301は、第3の実施の形態(図12)の位置情報符号化部101と同様に、符号化装置300に入力されたポイントクラウド(3Dデータ)を取得し、その位置情報を符号化する。そして、位置情報符号化部301は、生成した位置情報の符号化データをビットストリーム生成部306に供給する。
 補間処理部302は、第3の実施の形態(図12)の補間処理部104と同様に、符号化装置300に入力されたポイントクラウド(3Dデータ)を取得し、その属性情報の疎な部分を補間し、密にする。つまり、補間処理部302は、符号化前の位置情報を用いて属性情報の補間を行う。補間処理部302は、補間後の属性情報を直交変換部303に供給する。
 直交変換部303は、補間処理部302から供給される属性情報を取得する。直交変換部303は、その属性情報を直交変換し、変換係数に変換する。なお、補間処理部302から供給される属性情報は、補間後の属性情報である。つまり、直交変換部303は、データが密な状態の属性情報を取得する。したがって、直交変換部303は、この属性情報に対する直交変換において、DCTやウェーブレット変換のようなRAHTよりも簡易な直交変換を適用する。直交変換部303は、直交変換により生成した変換係数を量子化部304に供給する。
 量子化部304は、直交変換部303から供給される属性情報の変換係数を取得する。量子化部304は、その属性情報の変換係数を量子化し、量子化係数を生成する。この量子化の方法は任意である。量子化部304は、生成した属性情報の量子化係数を属性情報符号化部305に供給する。
 属性情報符号化部305は、量子化部304から供給される属性情報の量子化係数を取得する。属性情報符号化部305は、第3の実施の形態(図12)の属性情報符号化部105と同様に、その属性情報の量子化係数を符号化し、符号化データを生成する。属性情報符号化部305は、生成した補間後の属性情報の(量子化係数の)符号化データをビットストリーム生成部306に供給する。
 ビットストリーム生成部306は、位置情報符号化部301から供給される位置情報の符号化データを取得する。また、ビットストリーム生成部306は、属性情報符号化部305から供給される補間後の属性情報の符号化データを取得する。ビットストリーム生成部306は、第3の実施の形態(図12)のビットストリーム生成部106と同様に、その位置情報の符号化データと補間後の属性情報の符号化データとを含むビットストリームを生成する。ビットストリーム生成部306は、生成したビットストリームを符号化装置300の外部に出力する。
 なお、位置情報符号化部301と属性情報符号化部305とを一体化してもよい。また、直交変換部303(および量子化部304)を属性情報符号化部305と一体化してもよい。また、量子化部304は、省略してもよい。
 このような構成とすることにより、符号化装置300は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置300は、第1の実施の形態において説明した効果を得ることができる。
 また、このような構成とすることにより、符号化装置300は、位置情報の符号化と属性情報の符号化を互いに独立に行うことができる。例えば、符号化装置300は、位置情報の符号化と属性情報の符号化とを並列に実行することができる。したがって、符号化装置300は、第3の実施の形態において説明した効果を得ることができる。
 さらに、このような構成とすることにより、符号化装置300は、DCTやウェーブレット変換のようなRAHTよりも簡易な直交変換を適用することができる。したがって、符号化装置300は、さらに、符号化の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 なお、これらの処理部(位置情報符号化部301乃至ビットストリーム生成部306)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 符号化装置300により実行される符号化処理の流れの例を、図19のフローチャートを参照して説明する。
 符号化処理が開始されると、位置情報符号化部301は、ステップS301において、ポイントクラウドの位置情報を符号化し、補間されていない位置情報の符号化データを生成する。ステップS301の処理が終了すると処理はステップS307に進む。
 また、そのステップS301の処理と並行して(ステップS301の処理とは独立に)、ステップS302乃至ステップS306の各処理が実行される。
 ステップS302において、補間処理部302は、符号化前の位置情報(点)を補間する。ステップS303において、補間処理部302は、その補間した点に対応する属性情報を補間する。
 ステップS304において、直交変換部303は、ステップS303において生成された補間後の属性情報に対して、例えばDCTやウェーブレット変換のようなRAHTよりも簡易な直交変換を行い、変換係数に変換する(属性情報の変換係数を生成する)。
 ステップS305において、量子化部304は、ステップS304において生成された補間後の属性情報の変換係数を量子化し、量子化係数を生成する。
 ステップS306において、属性情報符号化部305は、ステップS305において生成された補間後の属性情報の量子化係数を符号化し、その符号化データを生成する。ステップS306の処理が終了すると処理はステップS307に進む。
 ステップS301の処理およびステップS306の処理がともに終了すると、ステップS307において、ビットストリーム生成部306は、ステップS301において生成された補間されていない位置情報の符号化データと、ステップS306において生成された補間後の属性情報の量子化係数の符号化データとを含むビットストリームを生成し、出力する。
 ステップS307の処理が終了すると符号化処理が終了する。
 このように符号化処理を実行することにより、符号化装置300は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置300は、第1の実施の形態において説明した効果を得ることができる。
 また、このように符号化処理を実行することにより、符号化装置300は、位置情報の符号化と属性情報の符号化を互いに独立に行うことができる。例えば、符号化装置300は、位置情報の符号化と属性情報の符号化とを並列に実行することができる。したがって、符号化装置300は、第3の実施の形態において説明した効果を得ることができる。
 さらに、このように符号化処理を実行することにより、符号化装置300は、DCTやウェーブレット変換のようなRAHTよりも簡易な直交変換を適用することができる。したがって、符号化装置300は、さらに、符号化の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 なお、以上においては、符号化装置300が、第3の実施の形態の符号化装置100(図12)と同様に、ポイントクラウドの符号化前の位置情報を用いて、属性情報を補間するように説明したが、これに限らず、第2の実施の形態の符号化装置100(図8)と同様に、ポイントクラウドの位置情報を符号化して復号した結果を用いて、属性情報を補間するようにしてもよい。
 その場合、符号化装置300は、第2の実施の形態の符号化装置100(図8)と同様の構成を有し、さらにその補間処理部104と属性情報符号化部105との間に、直交変換部303および量子化部304(図18)を有するようにすればよい。また、その場合の符号化処理は、第2の実施の形態の符号化処理(図9)において、ステップS105とステップS106の処理の間において、ステップS304およびステップS305(図19)の処理を追加すればよい。
  <復号装置>
 図20は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図20に示される復号装置330は、符号化装置300に対応し、符号化装置300において生成されたポイントクラウドの符号化データを復号する。この復号装置330は、上述した方法1-3を用いてポイントクラウドの符号化データを復号する。
 なお、図20においては、処理部やデータの流れ等の主なものを示しており、図20に示されるものが全てとは限らない。つまり、復号装置330において、図20においてブロックとして示されていない処理部が存在したり、図20において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図20に示されるように、復号装置330は、位置情報復号部331、属性情報復号部332、逆量子化部333、逆直交変換部334、属性情報抽出部335、およびポイントクラウド生成部336を有する。
 位置情報復号部331は、第2の実施の形態(図10)の位置情報復号部131と同様に、復号装置330に入力されたポイントクラウド(3Dデータ)の位置情報の符号化データを復号し、補間されていない位置情報を生成する。位置情報復号部331は、生成した、補間されていない位置情報を属性情報抽出部335に供給する。
 属性情報復号部332は、第2の実施の形態(図10)の属性情報復号部132と同様に、復号装置330に入力されたポイントクラウド(3Dデータ)の補間後の属性情報の(量子化係数の)符号化データを復号し、補間後の属性情報の量子化係数を生成する。属性情報復号部332は、生成した補間後の属性情報の量子化係数を逆量子化部333に供給する。
 逆量子化部333は、属性情報復号部332から供給される補間後の属性情報の量子化係数を取得する。逆量子化部333は、その属性情報の量子化係数を逆量子化し、補間後の属性情報の変換係数を生成する。この逆量子化は、量子化部304(図18)が行う量子化の逆処理であればよい。逆量子化部333は、生成した補間後の属性情報の変換係数を逆直交変換部334に供給する。
 逆直交変換部334は、逆量子化部333から供給される属性情報の変換係数を取得する。逆直交変換部334は、その属性情報の変換係数を直交変換し、属性情報に変換する。なお、逆量子化部333から供給される変換係数は、補間後の属性情報の変換係数である。つまり、逆直交変換部334は、データが密な状態の属性情報の変換係数を取得する。したがって、逆直交変換部334は、この変換係数に対する逆直交変換において、DCTやウェーブレット変換のようなRAHTよりも簡易な逆直交変換を適用する。この逆直交変換は、直交変換部303(図18)が行う直交変換の逆処理であればよい。逆直交変換部334は、逆直交変換により生成した補間後の属性情報を属性情報抽出部335に供給する。
 属性情報抽出部335は、位置情報復号部331から供給される補間されていない位置情報を取得する。また、属性情報抽出部335は、逆直交変換部334から供給される補間後の属性情報を取得する。属性情報抽出部335は、第2の実施の形態の属性情報抽出部133(図10)と同様に、その補間後の属性情報から、補間されていない位置情報(つまり点)に対応する属性情報を抽出する。属性情報抽出部335は、その補間されていない位置情報と抽出した属性情報とをポイントクラウド生成部336に供給する。
 ポイントクラウド生成部336は、属性情報抽出部335から供給される位置情報および属性情報を取得する。ポイントクラウド生成部336は、第2の実施の形態のポイントクラウド生成部134(図10)と同様に、それらの位置情報をおよび属性情報を互いに関連付けてポイントクラウド(つまり補間されていないポイントクラウド)を生成し、復号装置330の外部に出力する。
 なお、位置情報復号部331と属性情報復号部332とを一体化してもよい。また、逆直交変換部334(および逆量子化部333)を属性情報復号部332と一体化してもよい。また、逆量子化部333は、省略してもよい。
 このような構成とすることにより、復号装置330は、属性情報の符号化データを、属性情報が密な状態で復号することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に復号を行うことができる。したがって、復号装置330は、第1の実施の形態において説明した効果を得ることができる。
 さらに、このような構成とすることにより、復号装置330は、逆DCTや逆ウェーブレット変換のようなRAHTよりも簡易な逆直交変換を適用することができる。したがって、復号装置330は、さらに、復号の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 なお、第3の実施の形態の場合と同様に、属性情報抽出部335により抽出された属性情報に対応しない位置情報が存在する場合、ポイントクラウド生成部336が、その位置情報(点)の近傍に位置する他の位置情報(点)に対応する属性情報を用いて、その位置情報(点)に対応する属性情報を生成するようにする。このようにすることにより、この場合であっても、全ての位置情報に対応する属性情報を得ることができる。
 なお、これらの処理部(位置情報復号部331乃至ポイントクラウド生成部336)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 この復号装置330により実行される復号処理の流れの例を、図21のフローチャートを参照して説明する。
 復号処理が開始されると、位置情報復号部331は、ステップS331において、補間されていない位置情報の符号化データを復号する。
 ステップS332において、属性情報復号部332は、補間後の属性情報の量子化係数の符号化データを復号し、補間後の属性情報の量子化係数を生成する。
 ステップS333において、逆量子化部333は、ステップS332において生成された補間後の属性情報の量子化係数を逆量子化し、補間後の属性情報の変換係数を生成する。
 ステップS334において、逆直交変換部334は、ステップS333において生成された補間後の属性情報の変換係数に対して、例えば逆DCTや逆ウェーブレット変換のような逆RAHTよりも簡易な逆直交変換を行い、補間後の属性情報に変換する(補間後の属性情報を生成する)。
 ステップS335において、属性情報抽出部335は、ステップS334において生成された補間後の属性情報から、ステップS331において生成された補間されていない位置情報に対応する属性情報を抽出する。
 ステップS336において、ポイントクラウド生成部336は、その位置情報と属性情報とを互いに関連付け、ポイントクラウドを生成し、出力する。
 ステップS336の処理が終了すると復号処理が終了する。
 このように復号処理を実行することにより、属性情報の符号化データを、属性情報が密な状態で復号することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に復号を行うことができる。したがって、復号装置330は、第1の実施の形態において説明した効果を得ることができる。
 さらに、このように復号処理を実行することにより、復号装置330は、逆DCTや逆ウェーブレット変換のようなRAHTよりも簡易な逆直交変換を適用することができる。したがって、復号装置330は、さらに、復号の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 なお、本実施の形態においては直交変換処理を適用する例について説明したが、これに限らず、直交変換以外の変換処理を適用するようにしてもよい。また、属性情報の補間は、属性情報全体に対して行う(属性情報の解像度がポイントクラウド全体で一定となるようにする)ようにしてもよいし、所定のデータ単位毎に行うようにしてもよい。例えば、直交変換(逆直交変換)の処理単位毎に行うようにしてもよい。
 <6.第5の実施の形態>
  <方法1-4>
 次に、方法1-4について説明する。方法1-4では、属性情報の符号化・復号において、属性情報の予測を適用する。例えば、属性情報の予測値を導出し、その属性情報と予測値との差分を符号化するようにする。また、例えば、符号化データを復号して、属性情報とその予測値との差分を生成し、属性情報の予測値を導出し、生成した差分に導出した予測値を加算して属性情報を生成するようにする。このようにすることにより、符号化効率を向上させることができる。
 また、このようにすることにより、属性情報が密な状態で予測を行うことができる。したがって、予測を行う属性情報の近傍(周辺)の属性情報を用いて予測値を導出する場合、位置情報を用いて近傍点を探索する等の煩雑な処理を必要とせずに、容易に、その近傍の属性情報を特定し、予測値の導出に利用することができる。したがって、符号化装置500は、さらに、符号化の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
  <従来の符号化装置>
 図22は、予測を適用する場合の符号化装置の主な構成例を示すブロック図である。図22に示される符号化装置400は、ポイントクラウドを符号化する従来の符号化装置である。
 図22に示されるように、符号化装置400は、位置情報符号化部401、位置情報復号部402、ポイントクラウド生成部403、予測部404、残差導出部405、量子化部406、属性情報符号化部407、およびビットストリーム生成部408を有する。
 位置情報符号化部401は、位置情報符号化部11と同様に、符号化装置400に入力されたポイントクラウド(3Dデータ)の位置情報を符号化する。位置情報符号化部401は、生成した位置情報の符号化データを位置情報復号部402およびビットストリーム生成部408に供給する。
 位置情報復号部402は、位置情報符号化部401から供給される位置情報の符号化データを取得し、位置情報復号部12と同様に、その符号化データを復号する。位置情報復号部402は、生成した位置情報(復号結果)をポイントクラウド生成部403に供給する。
 ポイントクラウド生成部403は、符号化装置400に入力されるポイントクラウドの属性情報と、位置情報復号部402から供給される位置情報(復号結果)を取得する。ポイントクラウド生成部403は、ポイントクラウド生成部13と同様に、属性情報を位置情報(復号結果)に合わせるリカラー処理を行う。ポイントクラウド生成部403は、位置情報(復号結果)に対応させた属性情報を予測部404に供給する。
 予測部404は、ポイントクラウド生成部403から供給される属性情報について予測を行い、属性情報の予測値を生成する。例えば、予測部404は、処理対象の属性情報について、その周辺に位置する属性情報に基づいて予測し、処理対象の属性情報の予測値を生成する。予測部404は、属性情報と、その予測値を残差導出部405に供給する。
 残差導出部405は、予測部404から供給された属性情報と予測値を用いて、それらの差分(残差)を導出する。残差導出部405は、導出した属性情報とその予測値との差分を量子化部406に供給する。
 量子化部406は、残差導出部405から供給された差分を取得し、それを量子化して、差分の量子化係数を生成する。量子化部406は、生成した差分の量子化係数を属性情報符号化部407に供給する。
 属性情報符号化部407は、量子化部406から供給される、属性情報とその予測値との差分の量子化係数を取得する。属性情報符号化部407は、属性情報符号化部14と同様に、その量子化係数を符号化し、属性情報の符号化データを生成する。属性情報符号化部407は、生成した属性情報の符号化データ(属性情報とその予測値との差分の量子化係数の符号化データ)をビットストリーム生成部408に供給する。
 ビットストリーム生成部408は、位置情報符号化部401から供給される位置情報の符号化データと、属性情報符号化部407から供給される属性情報の符号化データとを取得する。ビットストリーム生成部408は、ビットストリーム生成部15と同様に、それらの符号化データを含むビットストリームを生成し、そのビットストリームを符号化装置400の外部に出力する。
  <従来の符号化処理の流れ>
 この符号化装置400により実行される従来の符号化処理の流れの例を、図23のフローチャートを参照して説明する。
 符号化処理が開始されると、位置情報符号化部401は、ステップS401において、ポイントクラウドの位置情報を符号化する。
 ステップS402において、位置情報復号部402は、ステップS401において生成された位置情報の符号化データを復号する。
 ステップS403において、ポイントクラウド生成部403は、ステップS402において得られた位置情報の復号結果を用いて、リカラー処理を行い、属性情報を位置情報(復号結果)に対応させる。
 ステップS404において、予測部404は、処理対象の属性情報に対応する点の近傍点を探索する。ステップS405において、予測部404は、探索した近傍点の属性情報を用いて、処理対象の属性情報の予測値を導出する。
 ステップS406において、残差導出部405は、属性情報と予測値との差分(残差)を導出する。
 ステップS407において、量子化部406は、ステップS406において導出した差分を量子化し、量子化係数を生成する。
 ステップS408において、属性情報符号化部407は、ステップS407において生成された差分の量子化係数を符号化し、属性情報の符号化データを生成する。
 ステップS409において、ビットストリーム生成部408は、ステップS401において生成された位置情報の符号化データと、ステップS408において生成された属性情報の符号化データとを含むビットストリームを生成し、出力する。
 ステップS409の処理が終了すると符号化処理が終了する。
  <従来の復号装置>
 図24は、復号装置の主な構成例を示すブロック図である。図24に示される復号装置430は、符号化装置400に対応し、符号化装置400において生成されたポイントクラウドの符号化データを復号する従来の復号装置である。図24に示されるように、復号装置430は、位置情報復号部431、属性情報復号部432、逆量子化部433、予測部434、属性情報導出部435、およびポイントクラウド生成部436を有する。
 位置情報復号部431は、位置情報復号部31と同様に、復号装置430に入力されたポイントクラウド(3Dデータ)の位置情報の符号化データを復号し、位置情報を生成する。位置情報復号部431は、生成した位置情報を予測部434およびポイントクラウド生成部436に供給する。
 属性情報復号部432は、属性情報復号部32と同様に、復号装置430に入力されたポイントクラウド(3Dデータ)の属性情報の符号化データ(属性情報とその予測値との差分の量子化係数の符号化データ)を復号し、差分の量子化係数を生成する。属性情報復号部432は、生成した量子化係数を逆量子化部433に供給する。
 逆量子化部433は、属性情報復号部432から供給される量子化係数を取得し、それを逆量子化し、属性情報とその予測値との差分を生成する。逆量子化部433は、生成した差分を予測部434に供給する。
 予測部434は、逆量子化部433から供給される差分を取得する。また、予測部434は、位置情報復号部431から供給される位置情報を取得する。さらに、予測部434は、属性情報導出部435より供給される導出済みの属性情報を取得する。予測部434は、逆量子化部433から供給される差分に対応する属性情報の予測値を導出する。その際、予測部434は、位置情報復号部431から供給される位置情報に基づいて、予測値を導出する属性情報が対応する点の近傍に位置する点(近傍点)を探索する。そして、予測部434は、属性情報導出部435から供給される導出済みの属性情報に基づいて、探索した近傍点に対応する属性情報を求める。予測部434は、このようにして求めた近傍点の属性情報を用いて、処理対象の属性情報(すなわち逆量子化部433から供給される差分に対応する属性情報)の予測値を導出する。予測部434は、逆量子化部433から供給される差分と導出した予測値とを属性情報導出部435に供給する。
 属性情報導出部435は、予測部434から供給される差分と予測値とを取得し、それらを用いて属性情報を導出する。つまり、属性情報導出部435は、差分に予測値を加算して属性情報を導出する。属性情報導出部435は、導出した属性情報を予測部434およびポイントクラウド生成部436に供給する。
 ポイントクラウド生成部436は、位置情報復号部431から供給される位置情報と、属性情報導出部435から供給される属性情報とを取得する。ポイントクラウド生成部436は、その位置情報と属性情報とを関連付け、ポイントクラウドを生成し、復号装置430の外部に出力する。
  <従来の復号処理の流れ>
 この復号装置430により実行される従来の復号処理の流れの例を、図25のフローチャートを参照して説明する。
 復号処理が開始されると、位置情報復号部431は、ステップS431において、位置情報の符号化データを復号し、位置情報を生成する。
 ステップS432において、属性情報復号部432は、属性情報の符号化データ(属性情報とその予測値との差分の量子化係数の符号化データ)を復号し、属性情報とその予測値との差分の量子化係数を生成する。
 ステップS433において、逆量子化部433は、ステップS432において生成された量子化係数を逆量子化し、属性情報とその予測値との差分を生成する。
 ステップS434において、予測部434は、ステップS431において生成された位置情報に基づいて処理対象の属性情報に対応する点(処理対象の点)の近傍点を探索する。
 ステップS435において、予測部434は、ステップS434において探索した近傍点の属性情報を用いて、処理対象の点の属性情報の予測値を導出する。
 ステップS436において、属性情報導出部435は、ステップS433において生成した差分に、ステップS435において導出した予測値を加算することにより、属性情報を導出する。
 ステップS437において、ポイントクラウド生成部436は、ステップS431において生成された位置情報と、ステップS436において導出された属性情報とを関連付けてポイントクラウドを生成し、出力する。
 ステップS437の処理が終了すると復号処理が終了する。
 以上のように符号化装置400および復号装置430の場合、属性情報が疎の状態のまま処理される。したがって、符号化や復号の処理が複雑化し、符号化や復号の負荷や処理時間が増大するおそれがあった。したがって、符号化や復号のコストが増大するおそれがあった。
  <符号化装置>
 図26は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図26に示される符号化装置500は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置500は、上述した方法1-4を用いてポイントクラウドを符号化する。
 なお、図26においては、処理部やデータの流れ等の主なものを示しており、図26に示されるものが全てとは限らない。つまり、符号化装置500において、図26においてブロックとして示されていない処理部が存在したり、図26において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図26に示されるように符号化装置500は、位置情報符号化部501、補間処理部502、予測部503、残差導出部504、量子化部505、属性情報符号化部506、およびビットストリーム生成部507を有する。この場合の符号化装置500は、第4の実施の形態の符号化装置300(図18)と同様に、ポイントクラウドの符号化前の位置情報を用いて、属性情報を補間する。
 位置情報符号化部501は、第4の実施の形態(図18)の位置情報符号化部301と同様に、符号化装置500に入力されたポイントクラウド(3Dデータ)を取得し、その位置情報を符号化する。そして、位置情報符号化部501は、生成した位置情報の符号化データをビットストリーム生成部507に供給する。
 補間処理部502は、第4の実施の形態(図18)の補間処理部302と同様に、符号化装置500に入力されたポイントクラウド(3Dデータ)を取得し、その属性情報の疎な部分を補間し、密にする。つまり、補間処理部502は、符号化前の位置情報を用いて属性情報の補間を行う。補間処理部502は、補間後の属性情報を予測部503に供給する。
 予測部503は、補間処理部502から供給される属性情報を取得する。予測部503は、その属性情報の予測値を導出する。
 この予測の方法は任意である。例えば、予測部503は、予測を行う属性情報(処理対象の属性情報)の近傍(周辺)の属性情報を用いて、その処理対象の属性情報の予測値を導出するようにしてもよい。例えば、複数の近傍の属性情報の平均値を予測値としてもよい。また、例えば、処理対象の属性情報に最も近い(最近傍の)属性情報を予測値としてもよい(属性情報を複製して予測値としてもよい)。もちろん、これらの方法以外の方法であってもよい。
 なお、補間処理部502から供給される属性情報は、補間後の属性情報である。つまり、予測部503は、データが密な状態の属性情報を取得する。つまり、属性情報には必ず近傍(周辺)の属性情報が存在する。したがって、予測部503は、位置情報を用いて近傍点を探索しなくても、容易に、近傍(周辺)の属性情報を求めることができる。したがって、予測部503は、容易に、その近傍(周辺)の属性情報を用いて予測値を導出することができる。予測部503は、補間処理部502から供給された補間後の属性情報と、導出した予測値とを残差導出部504に供給する。
 残差導出部504は、予測部503から供給された属性情報と予測値とを取得する。残差導出部504は、その属性情報と予測値とを用いて、それらの差分(残差)を導出する。残差導出部504は、導出した属性情報とその予測値との差分を量子化部505に供給する。
 量子化部505は、残差導出部504から供給された差分を取得する。量子化部505は、第4の実施の形態(図18)の量子化部304と同様に、その差分を量子化して量子化係数を生成する。量子化部505は、生成した差分の量子化係数を属性情報符号化部506に供給する。
 属性情報符号化部506は、量子化部505から供給される差分の量子化係数を取得する。属性情報符号化部506は、第4の実施の形態(図18)の属性情報符号化部305と同様に、その差分の量子化係数を符号化し、属性情報の符号化データ(補間後の属性情報とその予測値との差分の量子化係数の符号化データ)を生成する。属性情報符号化部506は、生成した属性情報の符号化データをビットストリーム生成部507に供給する。
 ビットストリーム生成部507は、位置情報符号化部501から供給される位置情報の符号化データを取得する。また、ビットストリーム生成部507は、属性情報符号化部506から供給される属性情報の符号化データを取得する。ビットストリーム生成部507は、第4の実施の形態(図18)のビットストリーム生成部306と同様に、その位置情報の符号化データと属性情報の符号化データとを含むビットストリームを生成する。ビットストリーム生成部507は、生成したビットストリームを符号化装置500の外部に出力する。
 なお、位置情報符号化部501と属性情報符号化部506とを一体化してもよい。また、予測部503および残差導出部504(並びに量子化部505)を属性情報符号化部506と一体化してもよい。また、量子化部505は、省略してもよい。
 このような構成とすることにより、符号化装置500は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置300は、第1の実施の形態において説明した効果を得ることができる。
 また、このような構成とすることにより、符号化装置500は、位置情報の符号化と属性情報の符号化を互いに独立に行うことができる。例えば、符号化装置500は、位置情報の符号化と属性情報の符号化とを並列に実行することができる。したがって、符号化装置500は、第3の実施の形態において説明した効果を得ることができる。
 さらに、このような構成とすることにより、符号化装置500は、予測値をより容易に導出することができる。したがって、符号化装置500は、さらに、符号化の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 なお、これらの処理部(位置情報符号化部501乃至ビットストリーム生成部507)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 符号化装置500により実行される符号化処理の流れの例を、図27のフローチャートを参照して説明する。
 符号化処理が開始されると、位置情報符号化部501は、ステップS501において、ポイントクラウドの位置情報を符号化し、補間されていない位置情報の符号化データを生成する。ステップS501の処理が終了すると処理はステップS508に進む。
 また、そのステップS501の処理と並行して(ステップS501の処理とは独立に)、ステップS502乃至ステップS507の各処理が実行される。
 ステップS502において、補間処理部502は、符号化前の位置情報(点)を補間する。ステップS503において、補間処理部502は、その補間した点に対応する属性情報を補間する。
 ステップS504において、予測部503は、ステップS503において生成された補間後の属性情報に対して、その予測値を導出する。予測部503は、例えば、予測を行う属性情報(処理対象の属性情報)の周辺の属性情報を用いて、処理対象の属性情報の予測値を導出する。
 ステップS505において、残差導出部504は、ステップS503において生成された補間後の属性情報と、ステップS504において導出されたその予測値との差分(残差)を導出する。
 ステップS506において、量子化部505は、ステップS505において導出された補間後の属性情報とその予測値との差分を量子化し、その量子化係数を生成する。
 ステップS507において、属性情報符号化部506は、ステップS506において生成された量子化係数を符号化し、属性情報の符号化データ(補間後の属性情報とその予測値との差分の量子化係数の符号化データ)を生成する。ステップS507の処理が終了すると処理はステップS508に進む。
 ステップS501の処理およびステップS507の処理がともに終了すると、ステップS508において、ビットストリーム生成部507は、ステップS501において生成された補間されていない位置情報の符号化データと、ステップS507において生成された補間後の属性情報とその予測値との差分の量子化係数の符号化データとを含むビットストリームを生成し、出力する。
 ステップS507の処理が終了すると符号化処理が終了する。
 このように符号化処理を実行することにより、符号化装置500は、属性情報を密な状態で符号化することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に符号化を行うことができる。したがって、符号化装置300は、第1の実施の形態において説明した効果を得ることができる。
 また、このように符号化処理を実行することにより、符号化装置500は、位置情報の符号化と属性情報の符号化を互いに独立に行うことができる。例えば、符号化装置500は、位置情報の符号化と属性情報の符号化とを並列に実行することができる。したがって、符号化装置500は、第3の実施の形態において説明した効果を得ることができる。
 さらに、このように符号化処理を実行することにより、符号化装置500は、予測値をより容易に導出することができる。したがって、符号化装置500は、さらに、符号化の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 なお、以上においては、符号化装置500が、第3の実施の形態の符号化装置100(図12)と同様に、ポイントクラウドの符号化前の位置情報を用いて、属性情報を補間するように説明したが、これに限らず、第2の実施の形態の符号化装置100(図8)と同様に、ポイントクラウドの位置情報を符号化して復号した結果を用いて、属性情報を補間するようにしてもよい。
 その場合、符号化装置500は、第2の実施の形態の符号化装置100(図8)と同様の構成を有し、さらにその補間処理部104と属性情報符号化部105との間に、予測部503乃至量子化部505(図26)を有するようにすればよい。また、その場合の符号化処理は、第2の実施の形態の符号化処理(図9)において、ステップS105とステップS106の処理の間において、ステップS504乃至ステップS506(図27)の処理を追加すればよい。
  <復号装置>
 図28は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図28に示される復号装置530は、符号化装置500に対応し、符号化装置500において生成されたポイントクラウドの符号化データを復号する。この復号装置530は、上述した方法1-4を用いてポイントクラウドの符号化データを復号する。
 なお、図28においては、処理部やデータの流れ等の主なものを示しており、図28に示されるものが全てとは限らない。つまり、復号装置530において、図28においてブロックとして示されていない処理部が存在したり、図28において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図28に示されるように、復号装置530は、位置情報復号部531、属性情報復号部532、逆量子化部533、予測部534、属性情報導出部535、属性情報抽出部536、およびポイントクラウド生成部537を有する。
 位置情報復号部531は、第4の実施の形態(図20)の位置情報復号部331と同様に、復号装置530に入力されたポイントクラウド(3Dデータ)の位置情報の符号化データを復号し、補間されていない位置情報を生成する。位置情報復号部531は、生成した、補間されていない位置情報を属性情報抽出部536に供給する。
 属性情報復号部532は、第4の実施の形態(図20)の属性情報復号部332と同様に、復号装置530に入力されたポイントクラウド(3Dデータ)の補間後の属性情報の符号化データ(補間後の属性情報とその予測値との差分の量子化係数の符号化データ)を復号し、量子化係数を生成する。属性情報復号部532は、生成した量子化係数を逆量子化部533に供給する。
 逆量子化部533は、属性情報復号部532から供給される量子化係数を取得する。逆量子化部533は、第4の実施の形態(図20)の逆量子化部333と同様に、その量子化係数を逆量子化し、差分(補間後の属性情報とその予測値との差分)を生成する。この逆量子化は、量子化部505(図26)が行う量子化の逆処理であればよい。逆量子化部533は、生成した差分を予測部534に供給する。
 予測部534は、逆量子化部533から供給される差分を取得する。予測部534は、逆量子化部533から供給される差分に対応する属性情報の予測値を導出する。
 予測部503(図26)の場合と同様に、この予測の方法は任意である。例えば、予測部534は、予測を行う属性情報(処理対象の属性情報)の近傍(周辺)の属性情報を用いて、その処理対象の属性情報の予測値を導出するようにしてもよい。例えば、複数の近傍の属性情報の平均値を予測値としてもよい。また、例えば、処理対象の属性情報に最も近い(最近傍の)属性情報を予測値としてもよい(属性情報を複製して予測値としてもよい)。もちろん、これらの方法以外の方法であってもよい。
 なお、この場合も、属性情報は密な状態であるので、予測部534は、位置情報を用いて近傍点を探索しなくても、容易に、近傍(周辺)の属性情報を求めることができる。したがって、予測部534は、容易に、その近傍(周辺)の属性情報を用いて予測値を導出することができる。予測部534は、逆量子化部533から供給された差分と、導出した予測値とを属性情報導出部535に供給する。
 属性情報導出部535は、予測部534から供給される差分と予測値とを取得する。属性情報導出部535は、それらを用いて属性情報を導出する。つまり、属性情報導出部535は、差分に予測値を加算して属性情報(補間後の属性情報)を導出する。属性情報導出部535は、導出した属性情報を属性情報抽出部536に供給する。
 属性情報抽出部536は、位置情報復号部531から供給される補間されていない位置情報を取得する。また、属性情報抽出部536は、属性情報導出部535から供給される補間後の属性情報を取得する。属性情報抽出部536は、第4の実施の形態の属性情報抽出部335(図20)と同様に、その補間後の属性情報から、補間されていない位置情報(つまり点)に対応する属性情報を抽出する。属性情報抽出部536は、その補間されていない位置情報と抽出した属性情報とをポイントクラウド生成部537に供給する。
 ポイントクラウド生成部537は、属性情報抽出部536から供給される位置情報および属性情報を取得する。ポイントクラウド生成部537は、第4の実施の形態のポイントクラウド生成部336(図20)と同様に、それらの位置情報をおよび属性情報を互いに関連付けてポイントクラウド(つまり補間されていないポイントクラウド)を生成し、復号装置530の外部に出力する。
 なお、位置情報復号部531と属性情報復号部532とを一体化してもよい。また、予測部534および属性情報導出部535(並びに逆量子化部533)を属性情報復号部532と一体化してもよい。また、逆量子化部533は、省略してもよい。
 このような構成とすることにより、復号装置530は、属性情報の符号化データを、属性情報が密な状態で復号することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に復号を行うことができる。したがって、復号装置530は、第1の実施の形態において説明した効果を得ることができる。
 さらに、このような構成とすることにより、復号装置530は、予測値をより容易に導出することができる。したがって、復号装置530は、さらに、復号の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 なお、第4の実施の形態の場合と同様に、属性情報抽出部536により抽出された属性情報に対応しない位置情報が存在する場合、ポイントクラウド生成部537が、その位置情報(点)の近傍に位置する他の位置情報(点)に対応する属性情報を用いて、その位置情報(点)に対応する属性情報を生成するようにする。このようにすることにより、この場合であっても、全ての位置情報に対応する属性情報を得ることができる。
 なお、これらの処理部(位置情報復号部531乃至ポイントクラウド生成部537)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 この復号装置530により実行される復号処理の流れの例を、図29のフローチャートを参照して説明する。
 復号処理が開始されると、位置情報復号部531は、ステップS531において、補間されていない位置情報の符号化データを復号する。
 ステップS532において、属性情報復号部532は、属性情報の符号化データ(補間後の属性情報とその予測値との差分の量子化係数の符号化データ)を復号し、量子化係数を生成する。
 ステップS533において、逆量子化部533は、ステップS532において生成された量子化係数(補間後の属性情報とその予測値との差分の量子化係数)を逆量子化し、差分を生成する。
 ステップS534において、予測部534は、ステップS533において生成した差分(補間後の属性情報とその予測値との差分)に対応する属性情報の予測値を導出する。例えば、予測部534は、予測を行う属性情報(処理対象の属性情報)の近傍(周辺)の属性情報を用いて、その処理対象の属性情報の予測値を導出する。
 属性情報は補間されており密な状態であるので、予測部534は、位置情報を用いて近傍点を探索する等の煩雑な処理を必要とせずに、容易に、近傍の属性情報を特定し、予測に用いることができる。
 ステップS535において、属性情報導出部535は、ステップS533において生成された差分(補間後の属性情報とその予測値との差分)と、ステップS534において導出された属性情報の予測値とを用いて、補間後の属性情報を導出する。つまり、属性情報導出部535は、差分に予測値を加算して、補間後の属性情報を導出する。
 ステップS536において、属性情報抽出部536は、ステップS535において生成された補間後の属性情報から、ステップS531において生成された補間されていない位置情報に対応する属性情報を抽出する。
 ステップS537において、ポイントクラウド生成部537は、その位置情報と属性情報とを互いに関連付け、ポイントクラウドを生成し、出力する。
 ステップS537の処理が終了すると復号処理が終了する。
 このように復号処理を実行することにより、属性情報の符号化データを、属性情報が密な状態で復号することができるので、近傍点の属性情報を用いて処理する際に、その近傍点の有無の場合分け等が不要になり、より容易に復号を行うことができる。したがって、復号装置530は、第1の実施の形態において説明した効果を得ることができる。
 さらに、このように復号処理を実行することにより、復号装置530は、予測値をより容易に導出することができる。したがって、復号装置530は、さらに、復号の負荷や処理時間の増大を抑制することができる。これによりコストの増大をさらに抑制することができる。
 <7.付記>
  <制御情報>
 以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
  <周辺・近傍>
 なお、本明細書において、「近傍」や「周辺」等の位置関係は、空間的な位置関係だけでなく、時間的な位置関係も含みうる。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図30は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図30に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 また、以上においては、本技術の適用例として符号化装置100、復号装置130、符号化装置300、復号装置330、符号化装置500、および復号装置530について説明したが、本技術は、任意の構成に適用することができる。
 例えば、本技術は、衛星放送、ケーブル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) 前記補間処理部は、補間した前記点に対応する属性情報を、前記点の近傍に位置する他の点の属性情報を用いて生成する
 (2)に記載の情報処理装置。
 (4) 前記補間処理部は、補間した前記点に対応する属性情報を、前記点の最も近い他の点の属性情報を複製する
 (3)に記載の情報処理装置。
 (5) 前記補間処理部は、補間した前記点に対応する属性情報を、前記点の近傍に位置する複数の他の点の属性情報を用いて導出する
 (3)に記載の情報処理装置。
 (6) 前記補間処理部は、前記ポイントクラウドのOctreeの疎なノードを補間して密にし、密なノードに対応する属性情報を生成する
 (1)に記載の情報処理装置。
 (7) 前記補間処理部は、前記ポイントクラウドの位置情報を符号化して復号した結果を用いて、前記属性情報を補間する
 (1)に記載の情報処理装置。
 (8) 前記補間処理部は、符号化前の前記ポイントクラウドの位置情報を用いて、前記属性情報を補間する
 (1)に記載の情報処理装置。
 (9) 前記符号化部は、前記属性情報を係数データに変換して符号化し、
 前記補間処理部は、前記属性情報を前記係数データに変換する変換処理の処理単位毎に、前記属性情報を補間する
 (1)に記載の情報処理装置。
 (10) 前記変換処理は直交変換である
 (9)に記載の情報処理装置。
 (11) 前記符号化部は、前記属性情報の予測値を導出し、前記属性情報と前記予測値との差分を符号化する
 (1)に記載の情報処理装置。
 (12) 前記符号化部は、補間されていない前記ポイントクラウドの位置情報をさらに符号化する
 (1)に記載の情報処理装置。
 (13) 3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間し、
 補間後の前記属性情報を符号化する
 情報処理方法。
 (14) 3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号する復号部と、
 前記復号部により前記符号化データが復号されて生成された前記属性情報から、前記ポイントクラウドの位置情報に対応する属性情報を抽出する抽出部と
 を備える情報処理装置。
 (15) 前記符号化データは、前記ポイントクラウドの属性情報を補間して符号化することにより生成されたデータであり、
 前記抽出部は、前記復号部により生成された補間後の前記属性情報から、補間されていない前記位置情報に対応する属性情報を抽出する
 (14)に記載の情報処理装置。
 (16) 前記抽出部により抽出された前記属性情報に、前記位置情報に対応する属性情報が含まれていない点が存在する場合、前記点の近傍に位置する他の点の属性情報を用いて前記点に対応する属性情報を生成する生成部をさらに備える
 (14)に記載の情報処理装置。
 (17) 前記符号化データは、前記属性情報が直交変換された係数データの符号化データであり、
 前記復号部は、前記符号化データを復号して前記係数データを生成し、生成した前記係数データを逆直交変換して前記属性情報を生成する
 (14)に記載の情報処理装置。
 (18) 前記符号化データは、前記属性情報と前記属性情報の予測値との差分の符号化データであり、
 前記復号部は、前記符号化データを復号して前記差分を生成し、前記属性情報の予測値を導出し、生成した前記差分に導出した前記予測値を加算して前記属性情報を生成する
 (14)に記載の情報処理装置。
 (19) 前記復号部は、補間されていない前記ポイントクラウドの位置情報の符号化データをさらに復号する
 (14)に記載の情報処理装置。
 (20) 3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号し、
 前記符号化データが復号されて生成された前記属性情報から、前記ポイントクラウドの位置情報に対応する属性情報を抽出する
 情報処理方法。
 100 符号化装置, 101 位置情報符号化部, 102 位置情報復号部, 103 ポイントクラウド生成部, 104 補間処理部, 105 属性情報符号化部, 106 ビットストリーム生成部, 130 復号装置, 131 位置情報復号部, 132 属性情報復号部, 133 属性情報抽出部, 134 ポイントクラウド生成部, 300 符号化装置, 301 位置情報符号化部, 302 補間処理部, 303 直交変換部, 304 量子化部, 305 属性情報符号化部, 306 ビットストリーム生成部, 330 復号装置, 331 位置情報復号部, 332 属性情報復号部, 333 逆量子化部, 334 逆直交変換部, 335 属性情報抽出部, 336 ポイントクラウド生成部, 500 符号化装置, 501 位置情報符号化部, 502 補間処理部, 503 予測部, 504 残差導出部, 505 量子化部, 506 属性情報符号化部, 507 ビットストリーム生成部, 530 復号装置, 531 位置情報復号部, 532 属性情報復号部, 533 逆量子化部, 534 予測部, 535 属性情報導出部, 536 属性情報抽出部, 537 ポイントクラウド生成部

Claims (20)

  1.  3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間する補間処理部と、
     前記補間処理部による補間後の前記属性情報を符号化する符号化部と
     を備える情報処理装置。
  2.  前記補間処理部は、前記ポイントクラウドの疎な点を補間して密にし、補間した点に対応する属性情報を生成する
     請求項1に記載の情報処理装置。
  3.  前記補間処理部は、補間した前記点に対応する属性情報を、前記点の近傍に位置する他の点の属性情報を用いて生成する
     請求項2に記載の情報処理装置。
  4.  前記補間処理部は、補間した前記点に対応する属性情報を、前記点の最も近い他の点の属性情報を複製する
     請求項3に記載の情報処理装置。
  5.  前記補間処理部は、補間した前記点に対応する属性情報を、前記点の近傍に位置する複数の他の点の属性情報を用いて導出する
     請求項3に記載の情報処理装置。
  6.  前記補間処理部は、前記ポイントクラウドのOctreeの疎なノードを補間して密にし、密なノードに対応する属性情報を生成する
     請求項1に記載の情報処理装置。
  7.  前記補間処理部は、前記ポイントクラウドの位置情報を符号化して復号した結果を用いて、前記属性情報を補間する
     請求項1に記載の情報処理装置。
  8.  前記補間処理部は、符号化前の前記ポイントクラウドの位置情報を用いて、前記属性情報を補間する
     請求項1に記載の情報処理装置。
  9.  前記符号化部は、前記属性情報を係数データに変換して符号化し、
     前記補間処理部は、前記属性情報を前記係数データに変換する変換処理の処理単位毎に、前記属性情報を補間する
     請求項1に記載の情報処理装置。
  10.  前記変換処理は直交変換である
     請求項9に記載の情報処理装置。
  11.  前記符号化部は、前記属性情報の予測値を導出し、前記属性情報と前記予測値との差分を符号化する
     請求項1に記載の情報処理装置。
  12.  前記符号化部は、補間されていない前記ポイントクラウドの位置情報をさらに符号化する
     請求項1に記載の情報処理装置。
  13.  3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報を補間し、
     補間後の前記属性情報を符号化する
     情報処理方法。
  14.  3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号する復号部と、
     前記復号部により前記符号化データが復号されて生成された前記属性情報から、前記ポイントクラウドの位置情報に対応する属性情報を抽出する抽出部と
     を備える情報処理装置。
  15.  前記符号化データは、前記ポイントクラウドの属性情報を補間して符号化することにより生成されたデータであり、
     前記抽出部は、前記復号部により生成された補間後の前記属性情報から、補間されていない前記位置情報に対応する属性情報を抽出する
     請求項14に記載の情報処理装置。
  16.  前記抽出部により抽出された前記属性情報に、前記位置情報に対応する属性情報が含まれていない点が存在する場合、前記点の近傍に位置する他の点の属性情報を用いて前記点に対応する属性情報を生成する生成部をさらに備える
     請求項14に記載の情報処理装置。
  17.  前記符号化データは、前記属性情報が直交変換された係数データの符号化データであり、
     前記復号部は、前記符号化データを復号して前記係数データを生成し、生成した前記係数データを逆直交変換して前記属性情報を生成する
     請求項14に記載の情報処理装置。
  18.  前記符号化データは、前記属性情報と前記属性情報の予測値との差分の符号化データであり、
     前記復号部は、前記符号化データを復号して前記差分を生成し、前記属性情報の予測値を導出し、生成した前記差分に導出した前記予測値を加算して前記属性情報を生成する
     請求項14に記載の情報処理装置。
  19.  前記復号部は、補間されていない前記ポイントクラウドの位置情報の符号化データをさらに復号する
     請求項14に記載の情報処理装置。
  20.  3次元形状のオブジェクトを点群として表現するポイントクラウドの属性情報の符号化データを復号し、
     前記符号化データが復号されて生成された前記属性情報から、前記ポイントクラウドの位置情報に対応する属性情報を抽出する
     情報処理方法。
PCT/JP2019/050770 2019-01-08 2019-12-25 情報処理装置および方法 WO2020145143A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019000941A JP2022047546A (ja) 2019-01-08 2019-01-08 情報処理装置および方法
JP2019-000941 2019-01-08

Publications (1)

Publication Number Publication Date
WO2020145143A1 true WO2020145143A1 (ja) 2020-07-16

Family

ID=71521112

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/050770 WO2020145143A1 (ja) 2019-01-08 2019-12-25 情報処理装置および方法

Country Status (2)

Country Link
JP (1) JP2022047546A (ja)
WO (1) WO2020145143A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022075074A1 (ja) * 2020-10-07 2022-04-14 ソニーグループ株式会社 画像処理装置および方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024029348A1 (ja) * 2022-08-01 2024-02-08 ソニーグループ株式会社 情報処理装置および方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101404A (ja) * 2016-09-13 2018-06-28 ダッソー システムズDassault Systemes 物理的属性を表す信号の圧縮
JP2018534881A (ja) * 2016-01-22 2018-11-22 三菱電機株式会社 点群を圧縮する方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018534881A (ja) * 2016-01-22 2018-11-22 三菱電機株式会社 点群を圧縮する方法
JP2018101404A (ja) * 2016-09-13 2018-06-28 ダッソー システムズDassault Systemes 物理的属性を表す信号の圧縮

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KAWASHIMA, SHUHEI: "Interpolation and Data Compression of Irregular Volume Data Based on the Volumic MPU Method", PRESENTATION PROCEEDINGS OF THE 29TH JAPAN SOCIETY FOR SIMULATION TECHNOLOGY, 19 June 2010 (2010-06-19), pages 331 - 334 *
NISHIO, KOJI: "A method of an information conversion for point cloud data", LECTURE PROCEEDINGS OF THE 69TH (2007) NATIONAL CONVENTION OF IPSJ: INTERFACE COMPUTER AND HUMAN SOCIETY, vol. 69, no. 4, 2007 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022075074A1 (ja) * 2020-10-07 2022-04-14 ソニーグループ株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
JP2022047546A (ja) 2022-03-25

Similar Documents

Publication Publication Date Title
US11910026B2 (en) Image processing apparatus and method
WO2020012967A1 (ja) 画像処理装置および方法
US11943457B2 (en) Information processing apparatus and method
JP5957559B2 (ja) 大きいサイズの変換単位を用いた映像符号化、復号化方法及び装置
KR20140022797A (ko) 화상 부호화장치, 화상 부호화방법, 화상복호장치, 화상복호방법 및 기억매체
US11202054B2 (en) Method and apparatus for inter-channel prediction and transform for point-cloud attribute coding
CN113795870B (zh) 一种对点云属性编解码的方法、装置及存储介质
WO2020071114A1 (ja) 画像処理装置および方法
WO2020145143A1 (ja) 情報処理装置および方法
WO2020071115A1 (ja) 画像処理装置および方法
US11991348B2 (en) Information processing device and method
WO2021010200A1 (ja) 情報処理装置および方法
WO2021002214A1 (ja) 情報処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2021010134A1 (ja) 情報処理装置および方法
US11790567B2 (en) Information processing apparatus and method
US20210377523A1 (en) Encoding device, encoding method, decoding device, and decoding method
WO2021140928A1 (ja) 情報処理装置および方法
WO2024084952A1 (ja) 情報処理装置および方法
EP2887667A1 (en) Coding of high dynamic range images
JP2019075822A (ja) 復号装置、及び符号化装置

Legal Events

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

Ref document number: 19909021

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP