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

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

Info

Publication number
WO2022075079A1
WO2022075079A1 PCT/JP2021/034951 JP2021034951W WO2022075079A1 WO 2022075079 A1 WO2022075079 A1 WO 2022075079A1 JP 2021034951 W JP2021034951 W JP 2021034951W WO 2022075079 A1 WO2022075079 A1 WO 2022075079A1
Authority
WO
WIPO (PCT)
Prior art keywords
slice
information
decoding
geometry
attribute
Prior art date
Application number
PCT/JP2021/034951
Other languages
English (en)
French (fr)
Inventor
智 隈
央二 中神
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to US18/026,713 priority Critical patent/US20230342981A1/en
Publication of WO2022075079A1 publication Critical patent/WO2022075079A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Definitions

  • the present disclosure relates to an information processing device and a method, and more particularly to an information processing device and a method capable of suppressing an increase in the load of a point cloud data decoding process.
  • Non-Patent Document 1 a method for encoding 3D data representing a three-dimensional structure such as a point cloud has been considered (see, for example, Non-Patent Document 1). Further, a method of realizing parallelization of decoding by signaling a flag for dividing the Octtree of this point cloud into a node group has been considered (see, for example, Non-Patent Document 2).
  • Non-Patent Document 2 the information of each node group is stored in the header or the like of each node group, and a bit stream is obtained in order to obtain the information necessary for realizing the scalability of the area and the resolution. It was necessary to parse the whole, and there was a risk that the load of the decryption process would increase.
  • This disclosure is made in view of such a situation, and makes it possible to suppress an increase in the load of the point cloud data decoding process.
  • the information processing device of one aspect of the present technology generates slice correspondence information, which is information indicating a slice of geometry data corresponding to the resolution and region of the geometry, for a point cloud that represents an object having a three-dimensional shape as a set of points. It is an information processing apparatus including a slice correspondence information generation unit and a coding unit that encodes the geometry data and generates a bit stream of geometry including the slice correspondence information generated by the slice correspondence information generation unit.
  • the information processing method of one aspect of the present technology generates slice correspondence information, which is information indicating slices of geometry data corresponding to the resolution and region of geometry, for a point cloud that expresses an object having a three-dimensional shape as a set of points. , Is an information processing method that encodes the geometry data and generates a bit stream of the geometry, including the generated slice correspondence information.
  • the information processing device of the other aspect of the present technology is based on the slice correspondence information which is the information indicating the slice of the geometry data corresponding to the resolution and the area of the geometry for the point cloud which expresses the object of the three-dimensional shape as a set of points. Then, from the bit stream of the geometry, a decoding target selection unit that selects a slice of the geometry data corresponding to the resolution and region of the geometry to be decoded as a decoding target, and the slice selected by the decoding target selection unit. It is an information processing apparatus including a decoding unit that decodes the data.
  • the information processing method of the other aspect of the present technology is based on the slice correspondence information which is the information indicating the slice of the geometry data corresponding to the resolution and the region of the geometry for the point cloud which expresses the object of the three-dimensional shape as a set of points.
  • This is an information processing method in which a slice of the geometry data corresponding to the resolution and region of the geometry to be decoded is selected as a decoding target from the bit stream of the geometry, and the selected slice is decoded.
  • slice correspondence information that is information indicating a slice of geometry data corresponding to a geometry resolution and a region. Is generated, its geometry data is encoded, and a bit stream of geometry containing the generated slice correspondence information is generated.
  • slice correspondence is information indicating a slice of geometry data corresponding to a geometry resolution and a region. Based on the information, a slice of geometry data corresponding to the resolution and region of the geometry to be decoded is selected from the bitstream of that geometry as the object to be decoded, and the selected slice is decoded.
  • Non-Patent Document 1 (above)
  • Non-Patent Document 2 (above)
  • Point cloud data (also referred to as point cloud data) is composed of position information (also referred to as geometry) and attribute information (also referred to as attributes) at each point.
  • the attribute can contain any information. For example, it may include color information, reflectance information, normal information, etc. of each point.
  • the point cloud has a relatively simple data structure and can express an arbitrary three-dimensional structure with sufficient accuracy by using a sufficiently large number of points.
  • a voxel is a three-dimensional region for quantizing geometry (position information).
  • the three-dimensional area containing the point cloud (also referred to as a bounding box) is divided into a small three-dimensional area called a voxel, and each voxel indicates whether or not the point is included.
  • the position of each point is quantized in voxel units. Therefore, it is possible to suppress an increase in the amount of information (typically, reduce the amount of information).
  • the resolution of the geometry depends on the size of this voxel (in other words, the number of voxels).
  • the geometry was considered to make the geometry a tree structure by making it possible to recursively divide voxels by utilizing such characteristics.
  • the resolution of the geometry can be made variable. That is, the geometry can be expressed not only at the highest resolution corresponding to the lowest layer of the tree structure but also at the low resolution corresponding to the middle layer of the tree structure.
  • a method of encoding and decoding point cloud data was considered. For example, when transmitting point cloud data, the transmitting side encodes the point cloud data to generate a bit stream, the bit stream is transmitted, and the receiving side decodes the bit stream to generate the point cloud data. By doing so, the amount of data at the time of transmission can be reduced, and an increase in load can be suppressed. The same applies when storing point cloud data.
  • the point cloud is composed of geometry and attributes. That is, the geometry and attribute data are encoded and decoded respectively.
  • the geometry data (also referred to as geometry data) can be decoded in a scalable manner with respect to the resolution by encoding according to the above-mentioned tree structure. That is, it is possible to realize the scalability of the resolution in the decoding process. For example, partial decoding is possible, such as decoding only the nodes from the top layer of the tree structure to an arbitrary layer (do not decode the nodes in the lower layer). That is, it is possible to obtain a geometry having a desired resolution by decoding only a necessary part without decoding all the coded data of the geometry.
  • Non-Patent Document 2 discloses a method of signaling a flag for dividing this point cloud tree structure (Octree) into node groups.
  • decoding becomes possible independently for each node group. Therefore, for example, the decoding process can be divided into node groups and parallelized. It is also possible to decode only some node groups. For example, by dividing the node group for each partial area of the three-dimensional area, it is possible to decode only the geometry of a part of the area. That is, in the decoding process, it is possible to realize scalability for the area. That is, it is possible to obtain the geometry of a desired region by decoding only the necessary part without decoding all the coded data of the geometry.
  • the information of each node group is stored in the header or the like of each node group.
  • information indicating which node group needs to be decoded (specifically, information indicating the correspondence relationship of points, etc.) is stored before decoding itself.
  • this information is stored in each node group, so it was necessary to parse the entire bitstream to get the required information. Therefore, there is a possibility that the load of the decoding process will increase.
  • slices are set in the geometry data of the tree structure, and slice correspondence information, which is information indicating the resolution of the geometry and the correspondence between the area and the slice, is signaled (transmitted).
  • slice correspondence information which is information indicating the resolution of the geometry and the correspondence between the area and the slice.
  • this slice correspondence information is signaled when the geometry is coded.
  • this slice correspondence information is referred to.
  • the geometry tree structure may be any tree structure. For example, it may be Octree or KD Tree, or it may be other than that.
  • a slice is a grouping of nodes in a tree structure of geometry.
  • the geometry data is independently encoded / decoded for each slice. That is, the geometry data can be encoded / decoded in slice units.
  • the slice correspondence information shows slices (node groups) corresponding to the resolution (hierarchy of the tree structure) and the area (partial area of the three-dimensional area) for the geometry of such a tree structure. That is, the slice to which the node group of the resolution located in the area belongs is shown.
  • the slice correspondence information indicates the resolution and region corresponding to each slice, that is, the resolution of the node group belonging to the slice and the region in which the node group exists. Therefore, by referring to this slice correspondence information at the time of decoding, it is possible to specify the slice to be decoded in order to obtain a node having a desired resolution and region.
  • the format of the slice correspondence information is arbitrary.
  • the slice corresponding to the resolution and the area may be indicated by using the identification information (slice ID).
  • the slice identification information (slice ID) may be in any format. For example, different numbers and letters assigned to each slice may be used. By using the identification information, the slice can be easily identified. Further, the slice corresponding to the resolution and the area may be indicated by other than the identification information such as an address in the geometry data.
  • the decoding order information which is the information regarding the decoding order of the slices corresponding to the resolution and the area may be signaled.
  • a node in the upper layer to which the node belongs directly or indirectly is required. That is, in order to decode the bitstream to generate a node having a desired resolution and region, it is necessary to decode not only the slice corresponding to the resolution and region but also the slice corresponding to the higher layer.
  • the decoding order information shows these slice groups. Therefore, based on this decoding order information, it is possible to easily specify the slice group to be decoded in order to generate a node having a desired resolution and region.
  • this decoding information indicates in what order the slices should be decoded. Therefore, by decoding each slice according to the decoding order shown in the decoding order information, it is possible to efficiently perform decoding.
  • decoding order information it is possible to obtain this information without parsing the entire geometry data. That is, by signaling this decoding order information when encoding the geometry data, it is possible to suppress an increase in the load of the decoding process (typically, reduce the load). Further, by performing the processing based on the signaled decoding order information at the time of decoding the geometry data, it is possible to suppress an increase in the load of the decoding process (typically, reduce the load).
  • information in the slice which is information about the inside of the slice
  • the in-slice information includes information about the inside of the slice that can be used at the time of decryption. Therefore, by decoding the slice based on the information in the slice, the decoding can be performed efficiently. That is, by signaling the information in the slice at the time of encoding the geometry data, the decoding process can be performed more efficiently. Further, when decoding a plurality of slices in the decoding of geometry data, the decoding process can be performed more efficiently by performing parallelization of the decoding process based on the information in the slice of each slice.
  • the in-slice information may include point number information which is information indicating the number of points in the slice.
  • point number information is information indicating the number of points in the slice.
  • the load of the decryption process depends on the number of points. For example, as the number of points in a slice increases, the load of the decoding process of that slice increases. That is, it is possible to predict the magnitude of the load of the decoding process of each slice based on this point number information. Therefore, by performing the decoding process based on this point number information, the decoding process can be performed more efficiently. For example, based on this point number information, the decoding process can be parallelized so that the load amount of each process is more averaged. In addition, the load amount can be distributed according to the hardware restrictions.
  • the geometry data 10 shown in FIG. 1 has a tree structure from LoD0 to LoD7.
  • LoD indicates the hierarchy of the tree structure.
  • each node of this tree structure is encoded / decoded layer by layer in the order from LoD0 to LoD7 (the order from the upper layer to the lower layer).
  • a group of nodes surrounded by a thick line forms one slice.
  • the entire node of LoD0 to LoD4 and the node of the area 1 (white background area) of LoD5 belong to slice 1.
  • the node of the area 2 (gray area) of LoD5 and the area 3 (gray area) of LoD6 belong to the slice 2.
  • the node of the area 4 (white area) of LoD6 and the area 5 (white area) of LoD7 belong to the slice 3.
  • the node of the area 6 (gray area) of LoD7 belongs to the slice 4.
  • FIG. 2 shows an example of slice correspondence information and the like signaled to the geometry data 10 having such a slice structure.
  • slice correspondence information corresponding slices (columns of “decoding target (slice)”) are shown for each layer and each region (column of “LoD: region”). ..
  • slice 1 is decoded in order to obtain the entire LoD0 to LoD4 and the node of region 1 of LoD5. Is shown to be.
  • the slice 2 is targeted for decoding in order to obtain the nodes of the region 2 of LoD5 and the region 3 of LoD6.
  • the slice 3 is targeted for decoding in order to obtain the nodes of the region 4 of LoD6 and the region 5 of LoD7.
  • the slice 4 is to be decoded in order to obtain the node of the region 6 of the LoD7.
  • the slice group required to obtain the node of each resolution and region and the decoding order thereof are shown as the decoding order information.
  • the second row from the top of the table shown in FIG. 2 shows that only slice 1 needs to be decoded.
  • the third row from the top it is shown that slice 1 and slice 2 should be decoded in this order.
  • slice 1, slice 2, and slice 3 should be decoded in this order.
  • slice 1, slice 2, slice 3, and slice 4 should be decoded in this order.
  • decoding can be performed efficiently. For example, by decoding slice 1 before decoding slice 2, a low-resolution point cloud belonging to slice 1 can be generated and displayed before the decoding of slice 2 is completed. That is, it is possible to decode a high-resolution slice while displaying a low-resolution point cloud.
  • the number of points (information on the number of points) in each slice is shown as the information in the slice.
  • the second row from the top of the table shown in FIG. 2 shows that the number of points in slice 1 is num1.
  • the number of points in slice 2 is num2.
  • the number of points in the slice 3 is num3.
  • the number of points in the slice 4 is num4.
  • FIG. 3 shows another example of the slice structure set in the geometry data 10.
  • all the nodes of LoD0 to LoD5 belong to slice 1.
  • the LoD6 and LoD7 nodes are divided into three regions, region 1, region 2, and region 3, respectively, and sliced. That is, the node of the area 1 (white background area) of LoD6 belongs to the slice 2.
  • the node of the area 2 (gray area) of LoD6 belongs to the slice 3.
  • the node of region 3 (white background region) of LoD6 belongs to slice 4.
  • the node of region 1 (gray area) of LoD7 belongs to slice 5.
  • the node of region 2 (white background region) of LoD7 belongs to slice 6.
  • the node of the area 3 (gray area) of LoD7 belongs to the slice 7.
  • FIG. 4 shows an example of slice correspondence information and the like signaled to the geometry data 10 having such a slice structure.
  • slice correspondence information (column of “decoding target (slice)”) corresponding to each hierarchy and each region (column of “LoD: region”) is shown. Has been done.
  • decoding order information (column of "processing order") is shown.
  • in-slice information (column of "number of points”) is shown.
  • the node of region 1 of LoD6 belongs to slice 2. It is also shown that slice 1 and slice 2 may be decoded in this order in order to generate points in region 1 of LoD6. Furthermore, it is shown that the number of points in slice 2 is num2. Further, in the fourth row from the top of the table shown in FIG. 4, it is shown that the node of the region 2 of LoD6 belongs to the slice 3. It is also shown that slices 1 and 3 should be decoded in this order to generate points in region 2 of LoD6. Furthermore, it is shown that the number of points in slice 3 is num3. Further, in the fifth row from the top of the table shown in FIG.
  • the node of region 1 of LoD7 belongs to slice 5. It is also shown that slice 1, slice 2, and slice 5 may be decoded in this order to generate points in region 1 of LoD7. Furthermore, it is shown that the number of points in slice 5 is num5. Further, in the seventh row from the top of the table shown in FIG. 4, it is shown that the node of the region 2 of LoD7 belongs to the slice 6. It is also shown that slice 1, slice 3, and slice 6 should be decoded in this order to generate points in region 2 of LoD7. Furthermore, it is shown that the number of points in slice 6 is num6. Further, in the eighth row from the top of the table shown in FIG.
  • FIG. 5 shows another example of the slice structure set in the geometry data 10.
  • each node of this tree structure is encoded / decoded layer by layer in the order from the upper layer to the lower layer for the entire region from LoD0 to LoD4 as indicated by the dotted arrow.
  • LoD5 to LoD7 are encoded / decoded layer by layer in the order from the upper layer to the lower layer for each area 1 to 4.
  • the nodes of LoD0 to LoD4 belong to slice 1.
  • the node of the area 1 (gray area) of LoD5 to LoD7 belongs to the slice 2.
  • the nodes in region 2 (white background region) of LoD5 to LoD7 belong to slice 3.
  • the nodes in region 3 (gray area) of LoD5 to LoD7 belong to slice 4.
  • the nodes in region 4 (white background region) of LoD5 to LoD7 belong to slice 5.
  • FIG. 6 shows an example of slice correspondence information and the like signaled to the geometry data 10 having such a slice structure.
  • the slice correspondence information (column of “decoding target (slice)”) corresponding to each layer and each region (column of “LoD: region”) is shown as in the case of FIG. Has been done.
  • decoding order information (column of "processing order") is shown.
  • in-slice information (column of "number of points”) is shown.
  • the node of region 1 of LoD5 to LoD7 belongs to slice 2. It is also shown that slice 1 and slice 2 may be decoded in this order in order to generate points in region 1 of LoD5 to LoD7. Furthermore, it is shown that the number of points in slice 2 is num2.
  • the node of the region 2 of LoD5 to LoD7 belongs to slice 3. It is also shown that slices 1 and 3 may be decoded in this order in order to generate points in region 2 of LoD5 to LoD7. Furthermore, it is shown that the number of points in slice 3 is num3.
  • the node of the region 3 of LoD5 to LoD7 belongs to slice 4. It is also shown that slices 1 and 4 may be decoded in this order in order to generate points in region 3 of LoD5 to LoD7. Furthermore, it is shown that the number of points in slice 4 is num4.
  • the node of the region 4 of LoD5 to LoD7 belongs to slice 5. It is also shown that slices 1 and 5 may be decoded in this order in order to generate points in region 4 of LoD5 to LoD7. Furthermore, it is shown that the number of points in slice 5 is num5.
  • attribute correspondence information which is information indicating attribute data (also referred to as attribute data) corresponding to a slice of geometry, may be signaled.
  • attribute correspondence information information for obtaining the attribute corresponding to the geometry (that is, information for specifying the attribute data) is shown for each slice. Therefore, by referring to this attribute correspondence information, the attribute data corresponding to the slice to be decoded can be easily specified.
  • the format of the attribute correspondence information is arbitrary.
  • the attribute data corresponding to the slice may be indicated by using the identification information (for example, the identification information of the bitstream of the attribute).
  • the identification information (for example, bitstream ID) of the attribute data may be in any format. For example, they may be different numbers or characters assigned to each bitstream of the attribute. By using the identification information, the bitstream can be easily specified.
  • the attribute data corresponding to the resolution and the area may be indicated by other than the identification information such as an address in the bit stream of the attribute.
  • Attributes can be encoded (non-scalable), for example, to be non-scalable. In that case, for example, a part of the bitstream cannot be extracted and decoded, and the decoding is always performed in bitstream units. In such a case, the attribute data is also sliced into a structure similar to the geometry so that the attribute can be decoded in units of slices of the geometry, and each slice is independently encoded. That is, a bitstream is generated for each slice.
  • the attribute data 30 is also sliced with the same structure as shown in A of FIG. 7. That is, it is divided into slices # 1 to slices # 7. Then, each slice is encoded independently of each other, and a bitstream (encoded data) of the attribute is generated. That is, seven bitstreams of Attribute # 1 to Attribute # 7 are generated.
  • attribute correspondence information signaled to such geometry data 10 and attribute data 30 is shown in B of FIG. 7.
  • the identification information of the attribute data corresponding to the identification information of each slice is shown as the attribute correspondence information.
  • this example non-scalable
  • ⁇ Attribute correspondence information example 2> a method of encoding the attribute to correspond to the scalable (so that it can be decoded in a scalable manner) was considered. For example, by applying a method such as RAHT (Region Adaptive Hierarchical Transform) or Lifting, attribute data can be hierarchized and made scalable. In this case, it is not necessary to slice the attribute into a geometry-like structure because a part of the bitstream can be extracted and decoded. That is, the bitstream of the attribute does not have to have a one-to-one correspondence with the slice of geometry.
  • RAHT Registered Adaptive Hierarchical Transform
  • Lifting attribute data can be hierarchized and made scalable. In this case, it is not necessary to slice the attribute into a geometry-like structure because a part of the bitstream can be extracted and decoded. That is, the bitstream of the attribute does not have to have a one-to-one correspondence with the slice of geometry.
  • the attribute data 30 may be encoded to generate one bitstream as shown in A of FIG. ..
  • the nodes in all layers of the attribute data 30 are encoded as one slice. That is, one bitstream (Attribute # 1) is generated. Since this bitstream is scalable, only the portion of the attribute data corresponding to the desired slice of geometry can be extracted and decoded from this bitstream. That is, the attribute data corresponding to any slice of geometry can be obtained from the same bitstream.
  • the scalability of the attribute data is in the hierarchy (LoD) unit of the tree structure. That is, it can be partially decoded only in units of layers.
  • LiD hierarchy
  • attribute correspondence information signaled to such geometry data 10 and attribute data 30 is shown in B of FIG.
  • the identification information of the attribute data (bit stream) corresponding to the identification information of each slice is shown as the attribute correspondence information.
  • the identification information (Attribute # 1) of the same attribute data (bitstream) corresponds to each slice.
  • the attribute data 30 can be sliced as shown in A of FIG. 9 with respect to the geometry data 10 having the tree structure and the slice structure shown in FIG.
  • the entire LoD0 to LoD5 the region 1 of LoD6 and LoD7, the region 2 of LoD6 and LoD7, and the region 3 of LoD6 and LoD7 are sliced, respectively.
  • the entire node of LoD0 to LoD5 belongs to slice # 1
  • the node of region 1 of LoD6 and LoD7 belongs to slice # 2
  • the node of region 2 of LoD6 and LoD7 belongs to slice # 3
  • the node of LoD6 and LoD7 belongs to slice # 3.
  • the node in region 3 belongs to slice # 4. That is, the attribute data 30 in this case is sliced with a structure different from that of the geometry data 10.
  • the slice boundaries of the attribute correspond to the slice boundaries of the geometry. That is, each slice of geometry corresponds to a single slice of the attribute, and each slice of the attribute corresponds to a single or multiple slices of geometry.
  • the attribute data 30 is independently encoded for each slice. That is, a bit stream (Attribute # 1 to Attribute # 4) is generated for each slice.
  • bitstream is scalable, only the part of the attribute data corresponding to the desired slice of geometry can be extracted and decoded from one bitstream. That is, attribute data corresponding to each slice can be obtained from one bitstream corresponding to a plurality of slices of geometry.
  • attribute correspondence information signaled to such geometry data 10 and attribute data 30 is shown in B of FIG.
  • the identification information of the attribute data (bit stream) corresponding to the identification information of each slice is shown as the attribute correspondence information.
  • a bitstream (Attribute # 1) corresponds to slice 1 of geometry.
  • the bitstream (Attribute # 2) corresponds to the slice 2 of the geometry.
  • the bitstream (Attribute # 3) corresponds to the slice 3 of the geometry.
  • the bitstream (Attribute # 4) corresponds to the slice 4 of the geometry.
  • bitstream corresponds to the slice 5 of the geometry.
  • bitstream corresponds to the slice 6 of the geometry.
  • bitstream corresponds to the slice 7 of the geometry.
  • the attribute data corresponding to the slice to be decoded can be easily specified by referring to the attribute correspondence information. That is, by signaling this attribute correspondence information at the time of encoding, it is possible to suppress an increase in the load of the decoding process (typically, reduce the load). Further, by performing the processing based on the signaled attribute correspondence information at the time of decoding, it is possible to suppress an increase in the load of the decoding process (typically, reduce the load).
  • the slice address information which is the information indicating the position of the slice in the geometry data may be signaled.
  • the attribute correspondence information indicates the position of each slice in the geometry data (bitstream). Therefore, by referring to this slice address information, the slice to be decoded can be easily extracted from the bit stream and decoded.
  • slice address information An example of this slice address information is shown in FIG.
  • slice address information the position of each slice in the geometry data (bitstream) is shown as an offset (byte offset) from the beginning of the geometry data (bitstream).
  • each slice is assigned a different offset value (byte position # 1 to byte position # 7).
  • the format of the slice address information is arbitrary and is not limited to the example shown in FIG.
  • the position of each slice may be represented by information other than byte offset.
  • parallelization information which is information regarding parallelization of the decoding process of geometry data
  • slices can be decoded independently of each other. Therefore, if parallel processing is possible, a plurality of slices can be decoded in parallel. That is, by slicing, the geometry data decoding process can be parallelized in slice units. By doing so, the decoding process can be performed at a higher speed.
  • the decoding process of each slice is divided into groups on the decoding side, and the decoding process of each group is executed in parallel (independent of each other).
  • grouping the decoding processes of each slice for example, by averaging the load of each group or optimizing for a predetermined condition such as a hardware constraint, more efficiently (.
  • Decoding processing can be performed (for example, faster).
  • the parallelization information shows an example of the grouping. Therefore, by referring to this parallelization information, it is possible to easily and more efficiently perform grouping without parsing each slice.
  • FIG. 11 An example of this parallelization information is shown in FIG.
  • a parallelization method for decoding LoD0 to LoD6 of the geometry data 10 having a tree structure and a slice structure as shown in FIG. 3 is shown. ing.
  • the table shown in A of FIG. 11 shows how these slices are grouped. In the case of this example, slice 1 and slice 2 are distributed to group # 1, slice 3 is distributed to group # 2, and slice 4 is distributed to group # 3. Each group can be decoded in parallel with each other.
  • a parallelization method for decoding LoD0 to LoD7 of the geometry data 10 having a tree structure and a slice structure as shown in FIG. 3 is shown. ing.
  • slices 1 to 7 may be decoded. Therefore, the table shown in FIG. 11B shows how to group these slices.
  • Slice 1, Slice 3, and Slice 6 are assigned to Group # 1
  • Slice 2, Slice 4, Slice 5, and Slice 7 are assigned to Group # 2.
  • Each group can be decoded in parallel with each other.
  • the method of grouping each slice is arbitrary and is not limited to the example of FIG. Further, the format of this parallelization information is arbitrary and is not limited to the example of FIG. For example, instead of showing the grouping pattern for each layer as in the example of FIG. 11, the grouping pattern may be shown for each area. Further, a pattern of grouping may be shown for each hierarchy and area, or a pattern of grouping may be shown for each unit other than the hierarchy and area. Further, a plurality of grouping patterns may be shown for the same data unit (for example, hierarchy, area, etc.). Further, conditions that can be used for selecting the pattern may be shown.
  • the attribute data has the same structure as the geometry data and can be parallelized as in the case of the geometry
  • this parallelization information may be referred to in the decoding of the attribute.
  • FIG. 12 is a block diagram showing an example of a configuration of a coding device, which is an aspect of an information processing device to which the present technology is applied.
  • the coding device 100 shown in FIG. 12 is a device that encodes a point cloud (3D data).
  • the coding device 100 encodes the point cloud by applying the present technology (for example, various methods described with reference to FIGS. 1 to 11).
  • FIG. 12 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the coding apparatus 100, there may be a processing unit that is not shown as a block in FIG. 12, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the coding device 100 has a geometry data coding unit 101 and an attribute data coding unit 102.
  • the geometry data coding unit 101 acquires the point cloud data (3D data) input to the coding device 100.
  • the geometry data coding unit 101 encodes the geometry data (position information) to generate the geometry coded data (bitstream). Further, the geometry data coding unit 101 supplies the bitstream of the generated geometry and the attribute data (attribute information) to the attribute data coding unit 102.
  • the attribute data coding unit 102 acquires the bitstream of the geometry supplied from the geometry data coding unit 101 and the attribute data.
  • the attribute data coding unit 102 encodes the attribute data using them and generates the coded data (bit stream) of the attribute.
  • the attribute data coding unit 102 outputs the bitstream of the geometry and the bitstream of the generated attribute to the outside of the coding apparatus 100 (for example, the decoding side) as a bitstream of the point cloud.
  • the geometry data coding unit 101 includes a structure forming unit 111, a metadata generation unit 112, and a coding unit 113.
  • the structure forming unit 111 performs processing related to the formation of the tree structure and the slice structure of the geometry data. For example, the structure forming unit 111 acquires the point cloud data input to the coding device 100. The structure forming unit 111 voxels, tree-structures, and slices the geometry data of the acquired point cloud data. That is, the structure forming unit 111 forms a tree structure and a slice structure as described with reference to FIGS. 1, 3, 5, and the like. As a result, it is possible to realize resolution scalability, region scalability, parallel processing, and the like for decoding geometry. The structure forming unit 111 supplies the geometry data and the attribute data forming the tree structure and the slice structure to the metadata generation unit 112.
  • the metadata generation unit 112 performs processing related to the generation of metadata of geometry data. For example, the metadata generation unit 112 acquires geometry data and attribute data supplied from the structure forming unit 111. The metadata generation unit 112 generates metadata for the acquired geometry data. For example, the metadata generation unit 112 generates slice correspondence information as metadata. Further, the metadata generation unit 112 can generate metadata such as decoding order information, intra-slice information, attribute correspondence information, slice address information, and parallelization information. That is, the metadata generation unit 112 can generate various types of information described with reference to FIGS. 1 to 11 as metadata. Of course, the metadata generation unit 112 may generate information other than these as metadata. The metadata generation unit 112 supplies the generated metadata together with the geometry data and the attribute data to the coding unit 113.
  • the coding unit 113 performs processing related to coding. For example, the coding unit 113 acquires the geometry data supplied from the metadata generation unit 112, the metadata thereof, and the attribute data. The coding unit 113 encodes the acquired geometry data and generates the geometry coded data (bitstream). Further, the encoding unit 113 includes the acquired metadata in the bit stream. That is, the coding unit 113 signals the slice correspondence information as metadata. Further, the coding unit 113 can signal the decoding order information, the slice information, the attribute correspondence information, the slice address information, the parallelization information, and the like as metadata. That is, the coding unit 113 can signal various information described with reference to FIGS. 1 to 11 as metadata. This coding method is arbitrary. The coding unit 113 may encode the metadata. The coding unit 113 supplies the generated geometry data together with the attribute data to the attribute data coding unit 102.
  • the coding apparatus 100 can signal various information described with reference to FIGS. 1 to 11 as metadata, and thus suppresses an increase in the load of the decoding process (). Typically the load can be reduced).
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit has, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and the above-mentioned processing is realized by executing a program using them. You may do so.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, another part of the processing units realize the above-mentioned processing by executing a program, and another processing unit realizes the above-mentioned processing by a logic circuit.
  • the above processing may be realized by both the execution of the program and the execution of the program.
  • the coding device 100 encodes the data in the point cloud by executing the coding process.
  • An example of the flow of this coding process will be described with reference to the flowchart of FIG.
  • the structure forming unit 111 of the coding device 100 voxels, tree-structures, and slices the input point cloud geometry data in step S101. That is, the structure forming unit 111 forms a tree structure and a slice structure with respect to the geometry data.
  • the metadata generation unit 112 generates metadata for the geometry data in which the tree structure and the slice structure are formed in step S101. At that time, the metadata generation unit 112 generates, for example, slice correspondence information as metadata. Further, the metadata generation unit 112 can generate metadata such as decoding order information, intra-slice information, attribute correspondence information, slice address information, and parallelization information. That is, the metadata generation unit 112 can generate various types of information described with reference to FIGS. 1 to 11 as metadata.
  • the coding unit 113 encodes the geometry data in which the tree structure and the slice structure are formed in step S101, and generates the coding data (bitstream) of the geometry. Further, the coding unit 113 includes the metadata generated in step S102 in the bit stream. For example, the encoding unit 113 includes the slice correspondence information in the bit stream. Further, the coding unit 113 can include decoding order information, intra-slice information, attribute correspondence information, slice address information, parallelization information, and the like in the bit stream. That is, the coding unit 113 can signal various information described with reference to FIGS. 1 to 11 as metadata.
  • step S104 the attribute data coding unit 102 encodes the input point cloud attribute data and generates the attribute coded data (bitstream).
  • bitstream the attribute coded data
  • the coding device 100 can signal various information described with reference to FIGS. 1 to 11 as metadata, so that the load of the decoding process increases. It can be suppressed (typically reducing the load).
  • FIG. 14 is a block diagram showing an example of a configuration of a decoding device, which is an aspect of an information processing device to which the present technology is applied.
  • the decoding device 200 shown in FIG. 14 is a device that decodes the coded data of the point cloud (3D data).
  • the decoding device 200 is a decoding device corresponding to the coding device 100, and decodes the coded data by a decoding method corresponding to the coding method applied to the coding device 100. That is, the decoding device 200 can decode the coded data (bit stream) of the point cloud generated by the coding device 100 and generate the point cloud data. That is, the decoding device 200 decodes the coded data of the point cloud by applying the present technology (for example, various methods described with reference to FIGS. 1 to 11).
  • FIG. 14 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the decoding device 200, there may be a processing unit that is not shown as a block in FIG. 14, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the decoding device 200 has a decoding target selection unit 201, a storage unit 202, and a decoding unit 203.
  • the decoding target selection unit 201 performs processing related to selection of the decoding target. For example, the decoding target selection unit 201 acquires the coded data (bit stream) of the point cloud input to the decoding device 200.
  • This bitstream consists of a bitstream of geometry and a bitstream of attributes.
  • a bitstream of geometry is a coded version of geometry data in which a tree structure and a slice structure are formed as described above.
  • the bitstream contains slice correspondence information as metadata.
  • the bit stream may include decoding order information, intra-slice information, attribute correspondence information, slice address information, parallelization information, and the like as metadata. That is, various information described with reference to FIGS. 1 to 11 can be signaled with respect to the geometry.
  • the decoding target selection unit 201 selects the slice to be decoded based on the metadata of the geometry. For example, the decoding target selection unit 201 selects a slice corresponding to the resolution and region of the geometry to be decoded as the decoding target based on the signaled slice correspondence information.
  • the resolution and area of the geometry to be decoded can be set arbitrarily. For example, it may be specified by a user or the like, or may be set based on the movement of the viewpoint during reproduction or the like. Further, the decoding target selection unit 201 can select the slice to be decoded based on the signaled decoding order information, intra-slice information, parallelization information, and the like. That is, the decoding target selection unit 201 can select the slice to be decoded based on various information described with reference to FIGS. 1 to 11.
  • the decoding target selection unit 201 extracts a portion (encoded data) corresponding to the slice from the bit stream of the geometry and supplies it to the storage unit 202.
  • the decoding target selection unit 201 can extract the portion (encoded data) corresponding to this slice based on the signaled slice address information.
  • the decoding target selection unit 201 identifies the bit stream of the attribute corresponding to the slice of the selected geometry and supplies it to the storage unit 202.
  • the decoding target selection unit 201 can specify the bitstream of this attribute based on the signaled attribute correspondence information.
  • this metadata may be encoded.
  • the decoding target selection unit 201 obtains the metadata by decoding the encoded data of the metadata. Further, the decoding target selection unit 201 supplies the metadata of the geometry data to the decoding unit 203.
  • the storage unit 202 has an arbitrary storage medium such as a hard disk or a semiconductor memory, and can store data supplied from the decoding target selection unit 201.
  • the storage unit 202 can store the coded data of the slice of the geometry selected as the decoding target by the decoding target selection unit 201, the bit stream of the attribute corresponding to the slice, and the like.
  • the storage unit 202 manages data by a first-in first-out method. Therefore, the storage unit 202 forms a queue (queue).
  • the storage unit 202 transmits the previously stored data (encoded data of the slice of the geometry selected as the decoding target and the bit stream of the attribute corresponding to the slice) to the decoding unit 203. Supply.
  • Decoding unit 203 performs processing related to decoding. For example, the decoding unit 203 acquires the coded data of the geometry and the bit stream of the attribute stored in the storage unit 202, decodes them, and generates the geometry data and the attribute data. Further, the decoding unit 203 reconstructs the point cloud using the generated geometry data and attribute data, and outputs the point cloud data.
  • the decoding unit 203 includes a control unit 211, a geometry data decoding unit 212, an attribute data decoding unit 213, and a point cloud generation unit 214.
  • the control unit 211 performs processing related to decoding control. For example, the control unit 211 acquires the coded data of the geometry and the bit stream of the attributes stored in the storage unit 202. As described above, the storage unit 202 stores the coded data of the slice of the geometry selected as the decoding target by the decoding target selection unit 201, the bit stream of the attribute corresponding to the slice, and the like. The control unit 211 acquires those information stored first. The timing at which the control unit 211 acquires data from the storage unit 202 is arbitrary.
  • control unit 211 supplies the coded data of the acquired geometry slice to the geometry data decoding unit 212. Further, the control unit 211 supplies the acquired attribute bitstream to the attribute data decoding unit 213.
  • the geometry data decoding unit 212 performs processing related to decoding the encoded data of the geometry. For example, the geometry data decoding unit 212 acquires the coded data of the geometry supplied from the control unit 211 (that is, the coded data of the slice selected as the decoding target).
  • the geometry data decoding unit 212 decodes the acquired coded data and generates geometry data.
  • the geometry data decoding unit 212 can parallelize the decoding process of the coded data of the geometry in slice units. That is, the geometry data decoding unit 212 can group the slices to be decoded based on the signaled in-slice information and parallelization information. Then, the geometry data decoding unit 212 can decode the coded data of the slice of the acquired geometry in the thread corresponding to the group to which the slice is assigned.
  • the geometry data decoding unit 212 supplies the generated geometry data to the point cloud generation unit 214.
  • the attribute data decoding unit 213 performs processing related to decoding the bit stream of the attribute. For example, the attribute data decoding unit 213 acquires the bitstream of the attribute supplied from the control unit 211 (that is, the bitstream of the attribute corresponding to the slice selected as the decoding target).
  • the attribute data decoding unit 213 decodes the acquired bit stream and generates attribute data. This bitstream may or may not be scalable. When the bitstream of the attribute corresponds to scalability such as resolution and area, the attribute data decoding unit 213 can extract only a necessary part from the bitstream and decode it. The attribute data decoding unit 213 supplies the generated attribute data to the point cloud generation unit 214.
  • the point cloud generation unit 214 performs processing related to the generation of the point cloud. For example, the point cloud generation unit 214 acquires the geometry data supplied from the geometry data decoding unit 212. Further, the point cloud generation unit 214 acquires the attribute data supplied from the attribute data decoding unit 213. The point cloud generation unit 214 generates point cloud data (reconstructs the point cloud) using the acquired geometry data and attribute data. The point cloud generation unit 214 outputs the generated point cloud data.
  • the decoding device 200 can perform the decoding process based on the signaled metadata (various information described with reference to FIGS. 1 to 11), so that the decoding process can be performed. It is possible to suppress the increase in load (typically reduce the load).
  • each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
  • each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
  • each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
  • the configurations of the processing units may be independent of each other.
  • some processing units realize a part of the above-mentioned processing by a logic circuit, another part of the processing units realize the above-mentioned processing by executing a program, and another processing unit realizes the above-mentioned processing by a logic circuit.
  • the above processing may be realized by both the execution of the program and the execution of the program.
  • the decoding device 200 decodes the coded data (bit stream) of the point cloud by executing the decoding process. An example of the flow of the decoding process will be described with reference to the flowchart of FIG.
  • the decoding target selection unit 201 of the decoding device 200 executes the decoding target selection process in step S201.
  • the decoding target selection unit 201 selects, for example, a slice to be decoded for the geometry. Further, the decoding device 200 extracts a portion corresponding to the slice from the bit stream of the input geometry. Further, the decoding target selection unit 201 identifies a bitstream of attributes corresponding to the slice of the selected geometry.
  • the decoding target selection unit 201 stores the coded data of the selected slice of the geometry and the bit stream of the specified attribute in the storage unit 202.
  • step S202 the decoding unit 203 executes the decoding target decoding process and decodes the decoding target selected in step S201.
  • step S203 the decoding unit 203 (point cloud generation unit 214) generates point cloud data (reconstructs the point cloud) using the geometry data and attribute data obtained by the process of step S202.
  • point cloud generation unit 2114 the decoding unit 203 (point cloud generation unit 214) generates point cloud data (reconstructs the point cloud) using the geometry data and attribute data obtained by the process of step S202.
  • the decoding target selection unit 201 accepts the designation of the LoD and the area to be decoded in step S221. This designation may be made by, for example, by the user, may be made by another process, or may be set in advance.
  • the geometry bitstream is the encoded geometry data in which the tree structure and slice structure are formed.
  • the bitstream contains slice correspondence information as metadata.
  • the bit stream may include decoding order information, intra-slice information, attribute correspondence information, slice address information, parallelization information, and the like as metadata. That is, various information described with reference to FIGS. 1 to 11 can be signaled with respect to the geometry.
  • the decoding target selection unit 201 selects the slice to be decoded based on the metadata.
  • step S223 the decoding target selection unit 201 determines whether or not the value of this variable Index is larger than the maximum value MaxIndex. Since this variable Index is a variable for counting the slices to be processed, its maximum value matches (number of slices of geometry-1). That is, the decoding target selection unit 201 determines whether or not all the slices have been processed in this process. If the value of the variable Index is equal to or less than the maximum value MaxIndex and it is determined that an unprocessed slice exists, the process proceeds to step S224.
  • the decoding target selection unit 201 determines whether or not the LoD and region of the slice to be processed match the LoD and region to be decoded received in step S221. First, the decoding target selection unit 201 selects an unprocessed slice as a processing target. For example, the decoding target selection unit 201 controls the selection order based on the signaled slice correspondence information, decoding order information, intra-slice information, parallelization information, and the like. That is, the decoding target selection unit 201 optimizes the decoding order of the slices to be decoded by referring to those signaled information, and unprocessed slices in the order in which the slices to be decoded are obtained in the decoding order. Select as the processing target. By doing so, the decoding target selection unit 201 can easily control the decoding order of the slices to be decoded without parsing the entire bitstream of the geometry.
  • the decoding target selection unit 201 sets the slice as the decoding target. In this way, when the slice to be processed corresponds to the LoD and the region to be decoded, the process proceeds to step S225.
  • the decoding target selection unit 201 makes this determination based on the signaled slice correspondence information. Therefore, the decoding target selection unit 201 can easily identify the LoD and region corresponding to the slice to be processed without parsing the entire bitstream of the geometry. That is, the decoding target selection unit 201 can easily determine whether or not the LoD and region of the slice to be processed match the LoD and region to be decoded. That is, the decoding target selection unit 201 can easily select the slice to be decoded.
  • the decoding target selection unit 201 can also make this determination with reference to the signaled decoding order information. That is, the decoding target selection unit 201 can easily select the slice to be decoded based on various information described with reference to FIGS. 1 to 11.
  • the decoding target selection unit 201 stores the geometry slice and the attribute bitstream in the queue. For example, the decoding target selection unit 201 extracts a portion (encoded data) corresponding to the slice selected as the decoding target in step S224 from the bit stream of the geometry. At that time, the decoding target selection unit 201 can easily extract a portion (encoded data) corresponding to the slice selected as the decoding target in step S224 from the bit stream of the geometry based on the signaled slice address information. Can be done.
  • the decoding target selection unit 201 specifies the bitstream of the attribute corresponding to the slice. At that time, the decoding target selection unit 201 can easily specify the bit stream of the attribute corresponding to the slice selected as the decoding target in step S224 based on the signaled attribute correspondence information.
  • the decoding target selection unit 201 stores the coded data of the slice of the extracted geometry and the bit stream of the specified attribute in the storage unit 202.
  • step S225 When the process of step S225 is completed, the process proceeds to step S226. If it is determined in step S224 that the LoD and region of the slice to be processed do not match the LoD and region to be decoded that are accepted in step S221, the process proceeds to step S226.
  • step S226 the decoding target selection unit 201 increments the variable Index (for example, +1).
  • the variable Index for example, +1.
  • step S223 each process of step S223 to step S226 is executed for each slice of geometry. Then, in step S223, when it is determined that the value of the variable Index is larger than the maximum value MaxIndex, that is, all the slices have been processed, the decoding target selection process ends, and the process returns to FIG.
  • the decoding target selection unit 201 selects as the decoding target instead of controlling the selection order of the slices to be processed based on the signaled slice correspondence information, decoding order information, intra-slice information, parallelization information, and the like. You may control the order in which the data of each slice is stored in the queue. In that case, in step S225, the decoding target selection unit 201 transfers the coded data of the slice of the extracted geometry and the bit stream of the specified attribute to the signaled slice correspondence information, decoding order information, intra-slice information, and parallelization information. It can be stored in the storage unit 202 in the order of slices based on the above. Therefore, the decoding target selection unit 201 can easily control the slice order stored in the storage unit 202 without parsing the entire bit stream.
  • step S241 determines whether or not the queue is empty. That is, the control unit 211 determines whether or not the geometry or attribute data is stored in the storage unit 202. If it is determined that the queue is not empty, that is, the data is stored, the process proceeds to step S242.
  • step S242 the control unit 211 acquires the coded data of the slice of the geometry stored first and the bit stream of the attribute corresponding to the slice from the queue (storage unit 202).
  • step S243 the control unit 211 determines whether or not the slice has been decoded. If it is determined that the decoding has not been performed yet, the process proceeds to step S244.
  • the geometry data decoding unit 212 decodes the coded data of the slice of the geometry acquired in step S242 and generates the geometry data of the slice.
  • the geometry data decoding unit 212 can group slices to be decoded based on the signaled in-slice information and parallelization information. Then, the geometry data decoding unit 212 can decode the coded data of the slice of the acquired geometry in the thread corresponding to the group to which the slice is assigned. By doing so, the geometry data decoding unit 212 can easily parallelize the geometry decoding more efficiently without parsing the entire bitstream.
  • step S245 the control unit 211 determines whether or not the attribute needs to be decoded. If it is determined that the attribute corresponding to the slice has not yet been decoded, the process proceeds to step S246.
  • step S246 the attribute data decoding unit 213 decodes the bit stream of the attribute acquired in step S242 and generates attribute data.
  • step S246 When step S246 is completed, the process returns to step S241. Further, in step S245, when the attribute corresponding to the slice has been decoded and it is determined that the decoding of the attribute is unnecessary, the process returns to step S241. Further, if it is determined in step S243 that the slice has been decoded, the process returns to step S241. As described above, the processes of steps S241 to S246 are executed for the data of each slice stored in the queue. Then, in step S241, when it is determined that the queue is empty, that is, when it is determined that the data is not stored in the storage unit 202, all the slices selected as the decoding target have been decoded. The decoding target decoding process is completed, and the process returns to FIG.
  • the decoding device 200 can perform the decoding process based on the signaled metadata (various information described with reference to FIGS. 1 to 11), and thus the decoding process. It is possible to suppress the increase in the load (typically, reduce the load).
  • the distribution server that distributes the point cloud data may perform the decryption target selection process and select the slice corresponding to the LoD and the area requested by the client. Then, the distribution server sends the encoded data (bitstream) of the geometry and attributes corresponding to the selected slice to the client side together with various information described with reference to FIGS. 1 to 11 such as slice correspondence information. You may send it. Then, the client may receive them and decode the bitstream of the geometry or the attribute based on various information described with reference to FIGS. 1 to 11 such as the signaled slice correspondence information.
  • ⁇ Metadata> Various information described with reference to FIGS. 1 to 11 such as slice correspondence information may be included in the bitstream of the geometry as described above, or may be signaled as data different from the bitstream of the geometry. May be good.
  • the series of processes described above can be executed by hardware or software.
  • the programs constituting the software are installed in the computer.
  • the computer includes a computer embedded in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 18 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
  • the CPU Central Processing Unit
  • ROM ReadOnly Memory
  • RAM RandomAccessMemory
  • the input / output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 is composed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 914 is composed of, for example, a network interface.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-mentioned series. Is processed.
  • the RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to the removable media 921 as a package media or the like, for example.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
  • the program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can also be installed in advance in ROM 902 or storage unit 913.
  • this technology can be applied to any configuration.
  • this technology is a transmitter or receiver (for example, a television receiver or mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
  • devices for example, hard disk recorders and cameras
  • the present technology includes a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example, a video module), and a unit using a plurality of modules (for example, a video unit).
  • a processor as a system LSI (Large Scale Integration) (for example, a video processor), a module using a plurality of processors (for example,
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • this technology is implemented in a cloud service that provides services related to images (moving images) to any terminal such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing units, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. The use is also arbitrary.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • one device may execute the plurality of processes, or the plurality of devices may share and execute the plurality of processes.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, and may be executed in parallel or in a row. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processes of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for describing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments.
  • a part or all of any of the above-mentioned techniques may be carried out in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • a slice correspondence information generation unit that generates slice correspondence information that is information indicating slices of geometry data corresponding to the resolution and region of geometry, and a slice correspondence information generation unit.
  • An information processing device including a coding unit that encodes the geometry data and generates a bit stream of the geometry, including the slice correspondence information generated by the slice correspondence information generation unit.
  • the information processing apparatus according to (1), wherein the slice correspondence information is information indicating the slice corresponding to the resolution and the region by using the identification information of the slice.
  • the slice correspondence information generation unit further generates decoding order information which is information regarding the decoding order of the slice corresponding to the resolution and the region.
  • the information processing apparatus wherein the coding unit further includes the decoding order information in the bit stream.
  • the slice correspondence information generation unit further generates information in the slice, which is information about the inside of the slice.
  • the information processing apparatus wherein the coding unit further includes the information in the slice in the bit stream.
  • the information processing apparatus according to (4), wherein the information in the slice includes information on the number of points, which is information indicating the number of points in the slice.
  • the slice correspondence information generation unit further generates attribute correspondence information which is information indicating the attribute data corresponding to the slice.
  • the information processing apparatus according to (1), wherein the coding unit further includes the attribute correspondence information in the bit stream.
  • the information processing apparatus is information indicating the attribute data by using the identification information of the bit stream of the attribute.
  • the slice correspondence information generation unit further generates slice address information which is information indicating the position of the slice in the geometry data.
  • the information processing apparatus wherein the coding unit further includes the slice address information in the bit stream.
  • the slice correspondence information generation unit further generates parallelization information which is information regarding parallelization of the decoding process.
  • the information processing apparatus wherein the coding unit further includes the parallelization information in the bit stream.
  • slice correspondence information that is information indicating a slice of geometry data corresponding to the resolution and region of the geometry is generated.
  • An information processing method that encodes the geometry data and generates a bitstream of the geometry, including the generated slice correspondence information.
  • the slice correspondence information is information indicating the slice corresponding to the resolution and the region by using the identification information of the slice.
  • the decoding target selection unit selects the slice to be decoded using the resolution to be decoded and the identification information of the slice corresponding to the region, which are shown in the slice correspondence information (11).
  • the information processing device described. (13)
  • the decoding target selection unit selects the slice to be decoded according to the decoding order shown in the decoding order information which is the information regarding the decoding order of the slice corresponding to the resolution and the region (11). ) Or the information processing apparatus according to (12).
  • the decoding unit parallelizes the decoding processing of a plurality of the slices selected by the decoding target selection unit based on the information in the slice, which is information about the inside of the slice (11) to (13).
  • the decoding unit performs decoding processing of a plurality of the slices selected by the decoding target selection unit based on the point number information which is information indicating the number of points in the slice included in the slice information.
  • the information processing apparatus according to (14) for parallelization.
  • the decoding target selection unit selects the attribute data corresponding to the slice of the geometry selected as the decoding target as the decoding target based on the attribute correspondence information which is the information indicating the attribute data corresponding to the slice.
  • the information processing apparatus according to any one of (11) to (15), wherein the decoding unit decodes the attribute data selected by the decoding target selection unit.
  • the attribute correspondence information is information indicating the attribute data by using the identification information of the bit stream of the attribute.
  • the decoding target selection unit uses the identification information of the bitstream of the attribute corresponding to the slice of the geometry selected as the decoding target, which is shown in the attribute correspondence information, to obtain the attribute data to be decoded.
  • the decoding target selection unit acquires the slice to be decoded from the bitstream of the geometry based on the slice address information which is information indicating the position of the slice in the geometry data (11).
  • the information processing apparatus according to any one of (17).
  • the decoding target selection unit selects the slice to be decoded based on the parallelization information which is information related to the parallelization of the decoding process.
  • the information processing apparatus according to any one of (11) to (18), wherein the decoding unit parallelizes the decoding processing of a plurality of the slices selected by the decoding target selection unit based on the parallelization information.
  • the decoding unit parallelizes the decoding processing of a plurality of the slices selected by the decoding target selection unit based on the parallelization information.
  • 100 coding device 101 geometry data coding unit, 102 attribute data coding unit, 111 structure forming unit, 112 metadata generation unit, 113 coding unit, 200 decoding device, 201 decoding target selection unit, 202 storage unit, 203 Decoding unit, 211 control unit, 212 geometry data decoding unit, 213 attribute data decoding unit, 214 point cloud generation unit, 900 computer

Landscapes

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

Abstract

本開示は、ポイントクラウドデータの復号処理の負荷の増大を抑制することができるようにする情報処理装置および方法に関する。 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報を生成し、そのジオメトリデータとその生成されたスライス対応情報とを符号化し、ジオメトリのビットストリームを生成する。本開示は、例えば、情報処理装置、符号化装置、復号装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、ポイントクラウドデータの復号処理の負荷の増大を抑制することができるようにした情報処理装置および方法に関する。
 従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。また、このポイントクラウドのOctreeをノードグループ(node group)に分割するフラグをシグナルすることにより、デコードの並列化等を実現する方法が考えられた(例えば非特許文献2参照)。
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf David Flynn, Khaled Mammou, "G-PCC: A hierarchical geometry slice structure", ISO/IEC JCTC1/SC29/WG11 MPEG/m54677, April 2020, Online
 しかしながら、非特許文献2に記載の方法では、各ノードグループの情報が各ノードグループのヘッダ等に格納されており、領域や解像度のスケーラビリティを実現する際に必要な情報を得るために、ビットストリーム全体をパースする必要があり、復号処理の負荷が増大するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドデータの復号処理の負荷の増大を抑制することができるようにするものである。
 本技術の一側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報を生成するスライス対応情報生成部と、前記ジオメトリデータを符号化し、前記スライス対応情報生成部により生成された前記スライス対応情報を含む、ジオメトリのビットストリームを生成する符号化部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報を生成し、前記ジオメトリデータを符号化し、生成された前記スライス対応情報を含む、ジオメトリのビットストリームを生成する情報処理方法である。
 本技術の他の側面の情報処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報に基づいて、前記ジオメトリのビットストリームから、復号対象とする前記ジオメトリの解像度および領域に対応する前記ジオメトリデータのスライスを復号対象として選択する復号対象選択部と、前記復号対象選択部により選択された前記スライスを復号する復号部とを備える情報処理装置である。
 本技術の他の側面の情報処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報に基づいて、前記ジオメトリのビットストリームから、復号対象とする前記ジオメトリの解像度および領域に対応する前記ジオメトリデータのスライスを復号対象として選択し、選択された前記スライスを復号する情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報が生成され、そのジオメトリデータが符号化され、その生成されたスライス対応情報を含む、ジオメトリのビットストリームが生成される。
 本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報に基づいて、そのジオメトリのビットストリームから、復号対象とするジオメトリの解像度および領域に対応するジオメトリデータのスライスが復号対象として選択され、その選択されたスライスが復号される。
木構造およびスライス構造の例について説明する図である。 スライス対応情報の例について説明する図である。 木構造およびスライス構造の例について説明する図である。 スライス対応情報の例について説明する図である。 木構造およびスライス構造の例について説明する図である。 スライス対応情報の例について説明する図である。 アトリビュート対応情報の例について説明する図である。 アトリビュート対応情報の例について説明する図である。 アトリビュート対応情報の例について説明する図である。 スライスアドレス情報の例について説明する図である。 並列化情報の例について説明する図である。 符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 符号化装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 復号対象選択処理の流れの例を説明するフローチャートである。 復号対象復号処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.スライス対応情報のシグナリング
 2.第1の実施の形態(符号化装置)
 3.第2の実施の形態(復号装置)
 4.付記
 <1.スライス対応情報のシグナリング>
  <技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
  <ポイントクラウド>
 従来、3Dデータとして、立体構造物(3次元形状のオブジェクト)を多数のポイントの集合として表現するポイントクラウドが存在した。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各点の位置情報(ジオメトリとも称する)と属性情報(アトリビュートとも称する)とにより構成される。アトリビュートは任意の情報を含みうる。例えば、各ポイントの色情報、反射率情報、法線情報等を含み得る。このようにポイントクラウドは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
 ポイントクラウドデータはそのデータ量が比較的大きい。また、ポイント数の増大に比例してそのデータ量も増大する。そのため、例えばポイントクラウドデータを伝送したり、記憶したりする際の負荷が増大する。そこで、データ量低減のために、ボクセル(Voxel)化が考えられた。ボクセルは、ジオメトリ(位置情報)を量子化するための3次元領域である。
 つまり、ポイントクラウドを内包する3次元領域(バウンディングボックス(Bounding box)とも称する)をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
 ジオメトリの解像度(すなわち、ポイントの数)は、このボクセルの大きさ(換言するに、ボクセルの数)に依存する。ボクセルサイズが小さい(ボクセルが多い)程、ポイント数が増大するので、ジオメトリの解像度は高くなる。
 このような特性を利用して、ボクセルを再帰的に分割することができるようにして、ジオメトリを木構造化することが考えられた。このような方法によりジオメトリの解像度を可変とすることができる。つまり、木構造の最下位層に対応する最高解像度だけでなく、木構造の中間階層に対応する低解像度でもジオメトリを表現することができる。
 また、ポイントクラウドデータを伝送する際や、記憶したりする際の負荷の増大を抑制するために、ポイントクラウドデータを符号化・復号する方法が考えられた。例えば、ポイントクラウドデータを伝送する際、送信側においてポイントクラウドデータを符号化してビットストリームを生成し、そのビットストリームを伝送し、受信側においてそのビットストリームを復号してポイントクラウドデータを生成する。このようにすることにより、伝送時のデータ量を低減させることができ、負荷の増大を抑制することができる。ポイントクラウドデータを記憶する場合も同様である。
 上述のように、ポイントクラウドはジオメトリとアトリビュートにより構成される。つまり、ジオメトリとアトリビュートのそれぞれのデータが符号化・復号される。
 ジオメトリのデータ(ジオメトリデータとも称する)は、上述の木構造に従って符号化することにより、ジオメトリの符号化データを解像度についてスケーラブルに復号することができる。つまり、復号処理において解像度についてのスケーラビリティを実現することができる。例えば、木構造の最上位層から任意の階層までのノードのみを復号する(それより下位層のノードを復号しない)といった部分的な復号が可能になる。つまり、ジオメトリの全ての符号化データを復号しなくても、必要な部分のみを復号することにより、所望の解像度のジオメトリを得ることができる。
  <ノードグループ化>
 ところで、非特許文献2において、このポイントクラウドの木構造(Octree)をノードグループ(node group)に分割するフラグをシグナルする方法が開示された。この方法により、ノードグループ毎に独立に復号が可能になる。したがって、例えば、デコード処理をノードグループ毎に分けて並列化することができる。また、一部のノードグループのみをデコードすることもできる。例えば、3次元領域の部分領域毎にノードグループを分けることにより、一部の領域のジオメトリのみを復号することができる。つまり、復号処理において、領域についてのスケーラビリティを実現することができる。つまり、ジオメトリの全ての符号化データを復号しなくても、必要な部分のみを復号することにより、所望の領域のジオメトリを得ることができる。
 しかしながら、非特許文献2に記載の方法では、各ノードグループの情報が各ノードグループのヘッダ等に格納されている。例えば、各ノードグループのヘッダには、自身を復号する前にどのノードグループの復号が必要かを示す情報(具体的にはポイントの対応関係等を示す情報)が格納されている。復号の際に領域や解像度のスケーラビリティを実現するためには、これらの情報を収集し、復号すべきノードグループを特定し、その復号順を特定する必要がある。しかしながら上述のようにこれらの情報は各ノードグループに格納されているので、必要な情報を得るためにビットストリーム全体をパースする必要があった。そのため、復号処理の負荷が増大するおそれがあった。
  <スライス対応情報のシグナリング>
 そこで、木構造のジオメトリデータにスライス(ノードグループ)を設定し、ジオメトリの解像度および領域とスライスとの対応関係を示す情報であるスライス対応情報をシグナリングする(伝送する)ようにする。例えば、ジオメトリの符号化の際に、このスライス対応情報をシグナリングするようにする。また、ジオメトリの符号化データを復号する際に、このスライス対応情報を参照するようにする。
 ジオメトリの木構造は、どのような木構造であってもよい。例えば、OctreeやKD Treeであってもよいし、それ以外であってもよい。スライスは、ジオメトリの木構造のノードをグループ化したものである。ジオメトリデータは、このスライス毎に独立に符号化・復号される。つまり、ジオメトリデータは、スライス単位で符号化・復号することができる。
 スライス対応情報には、このような木構造のジオメトリについて、解像度(木構造の階層)と領域(3次元領域の部分領域)に対応するスライス(ノード群)が示されている。つまり、その領域に位置するその解像度のノード群が属するスライスが示されている。換言するに、スライス対応情報には、各スライスに対応する解像度と領域、すなわち、そのスライスに属するノード群の解像度とそのノード群が存在する領域とが示されている。したがって、復号の際にこのスライス対応情報を参照することにより、所望の解像度および領域のノードを得るために復号すべきスライスを特定することができる。つまり、ジオメトリデータの符号化の際にこのスライス対応情報をシグナリングすることにより、復号の際にジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、ジオメトリデータの復号の際にこのシグナリングされたスライス対応情報に基づいて処理を行うことにより、ジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
  <スライスID>
 スライス対応情報のフォーマットは任意である。例えば、解像度および領域に対応するスライスが識別情報(スライスID)を用いて示されるようにしてもよい。スライスの識別情報(スライスID)は、どのようなフォーマットでもよい。例えば各スライスに割り当てた互いに異なる番号や文字でもよい。識別情報を用いることにより、容易にスライスを特定することができる。また、解像度および領域に対応するスライスは、例えばジオメトリデータ内のアドレス等、識別情報以外で示されるようにしてもよい。
  <復号順情報のシグナリング>
 また、解像度および領域に対応するスライスの復号順に関する情報である復号順情報をシグナリングしてもよい。例えば、木構造のある階層のノードを得るためには、そのノードが直接的または間接的に属する上位層のノードが必要である。つまり、ビットストリームを復号して所望の解像度および領域のノードを生成するためには、その解像度および領域に対応するスライスだけでなく、それより上位層に対応するスライスも復号する必要がある。復号順情報には、これらのスライス群が示されている。そのため、この復号順情報に基づいて、所望の解像度および領域のノードを生成するために復号対象とすべきスライス群を容易に特定することができる。
 また、この復号情報には、そのスライス群をどのような順序で復号するのが良いかが示されている。そのため、復号順情報に示される復号順に従って各スライスを復号することにより、効率よく復号を行うことができる。
 付言するに、このような復号順情報を参照することにより、ジオメトリデータ全体をパースせずにこれらの情報を得ることができる。つまり、ジオメトリデータの符号化の際にこの復号順情報をシグナリングすることにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、ジオメトリデータの復号の際にこのシグナリングされた復号順情報に基づいて処理を行うことにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
  <スライス内情報のシグナリング>
 また、スライス内に関する情報であるスライス内情報をシグナリングしてもよい。スライス内情報には、復号の際に利用可能なスライス内に関する情報が含まれている。したがって、このスライス内情報に基づいてスライスを復号することにより、効率よく復号を行うことができる。つまり、ジオメトリデータの符号化の際にこのスライス内情報をシグナリングすることにより、より効率よく復号処理を行わせることができる。また、ジオメトリデータの復号において複数のスライスを復号する際に、その復号処理の並列化を、各スライスのスライス内情報に基づいて行うことにより、より効率よく復号処理を行うことができる。
  <ポイント数>
 例えば、スライス内情報は、スライス内のポイント数を示す情報であるポイント数情報を含んでもよい。上述のようにジオメトリデータのデータ量はポイント数に依存する。換言するに、復号処理の負荷はポイント数に依存する。例えば、スライスのポイント数が増大する程、そのスライスの復号処理の負荷は増大する。つまり、このポイント数情報に基づいて各スライスの復号処理の負荷の大きさを予想することができる。したがって、このポイント数情報に基づいて復号処理を行うことにより、より効率よく復号処理を行うことができる。例えば、このポイント数情報に基づいて、各処理の負荷量がより平均化するように復号処理を並列化することができる。また、ハードウエアの制約に応じて負荷量を分散させることもできる。
  <スライス対応情報例1>
 例えば、図1に示されるジオメトリデータ10は、LoD0乃至LoD7までの木構造を有している。LoDは、木構造の階層を示す。この木構造の各ノードは、点線矢印で示されるように、LoD0からLoD7に向かう順(上位層から下位層に向かう順)に階層毎に符号化・復号される。
 このようなジオメトリデータ10に対して、図1に示されるようにスライスが設定されているとする。図1において、太線で囲まれるノード群が1つのスライスを形成している。例えば、LoD0乃至LoD4の全体のノードと、LoD5の領域1(白地の領域)のノードとがスライス1に属する。LoD5の領域2(グレー地の領域)のノードと、LoD6の領域3(グレー地の領域)とがスライス2に属する。LoD6の領域4(白地の領域)のノードと、LoD7の領域5(白地の領域)とがスライス3に属する。LoD7の領域6(グレー地の領域)のノードがスライス4に属する。
 このようなスライス構造のジオメトリデータ10に対してシグナリングされるスライス対応情報等の例を図2に示す。図2に示される表においては、スライス対応情報として、各階層および各領域(「LoD:領域」の列)のそれぞれについて対応するスライス(「デコード対象(スライス)」の列)が示されている。例えば、図2に示される表の上から2番目の段には、ジオメトリのビットストリームを復号する際に、LoD0乃至LoD4の全体とLoD5の領域1のノードを得るために、スライス1を復号対象とすることが示されている。また、上から3番目の段には、LoD5の領域2とLoD6の領域3のノードを得るために、スライス2を復号対象とすることが示されている。さらに、上から4番目の段には、LoD6の領域4とLoD7の領域5のノードを得るために、スライス3を復号対象とすることが示されている。また、上から5番目の段には、LoD7の領域6のノードを得るために、スライス4を復号対象とすることが示されている。
 ジオメトリデータの符号化の際に、このようなスライス対応情報をシグナリングすることにより、復号の際にジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、ジオメトリデータの復号の際に、このシグナリングされたスライス対応情報に基づいて処理を行うことにより、ジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
 また、図2に示される表の「処理順」の列には、復号順情報として、各解像度および領域のノードを得るために必要なスライス群とその復号順が示されている。例えば、図2に示される表の上から2番目の段には、スライス1のみを復号すればよいことが示されている。また、上から3番目の段には、スライス1およびスライス2をこの順に復号すればよいことが示されている。さらに、上から4番目の段には、スライス1、スライス2、およびスライス3をこの順に復号すればよいことが示されている。また、上から5番目の段には、スライス1、スライス2、スライス3、およびスライス4をこの順に復号すればよいことが示されている。
 この処理順に従って各スライスを復号することにより、効率よく復号を行うことができる。例えば、スライス2を復号する前にスライス1を復号することにより、スライス2の復号が終了する前に、スライス1に属する低解像度のポイントクラウドを生成し、表示することができる。つまり、低解像度のポイントクラウドを表示しながら、高解像度のスライスの復号を行うことができる。
 また、図2に示される表の「ポイント数」の列には、スライス内情報として、各スライス内のポイント数(ポイント数情報)が示されている。例えば、図2に示される表の上から2番目の段には、スライス1内のポイント数がnum1であることが示されている。また、上から3番目の段には、スライス2内のポイント数がnum2であることが示されている。さらに、上から4番目の段には、スライス3内のポイント数がnum3であることが示されている。また、上から5番目の段には、スライス4内のポイント数がnum4であることが示されている。このスライス内情報に基づいてスライスを復号することにより、効率よく復号を行うことができる。
  <スライス対応情報例2>
 ジオメトリデータ10に設定されたスライス構造の他の例を図3に示す。図3の例の場合、LoD0乃至LoD5の全体のノードがスライス1に属する。LoD6およびLoD7のノードは、それぞれ、領域1、領域2、および領域3の3領域に分割されてスライス化されている。つまり、LoD6の領域1(白地の領域)のノードがスライス2に属する。LoD6の領域2(グレー地の領域)のノードがスライス3に属する。LoD6の領域3(白地の領域)のノードがスライス4に属する。LoD7の領域1(グレー地の領域)のノードがスライス5に属する。LoD7の領域2(白地の領域)のノードがスライス6に属する。LoD7の領域3(グレー地の領域)のノードがスライス7に属する。
 このようなスライス構造のジオメトリデータ10に対してシグナリングされるスライス対応情報等の例を図4に示す。図4に示される表においては、図2の場合と同様に、各階層および各領域(「LoD:領域」の列)に対応するスライス対応情報(「デコード対象(スライス)」の列)が示されている。また、復号順情報(「処理順」の列)が示されている。さらに、スライス内情報(「ポイント数」の列)が示されている。
 例えば、図4に示される表の上から2番目の段には、LoD0乃至LoD5の全体のノードがスライス1に属することが示されている。また、LoD0乃至LoD5のポイントを生成するためにスライス1のみを復号すればよいことが示されている。さらに、スライス1内のポイント数がnum1であることが示されている。
 また、図4に示される表の上から3番目の段には、LoD6の領域1のノードがスライス2に属することが示されている。また、LoD6の領域1のポイントを生成するためにスライス1およびスライス2をこの順で復号すればよいことが示されている。さらに、スライス2内のポイント数がnum2であることが示されている。さらに、図4に示される表の上から4番目の段には、LoD6の領域2のノードがスライス3に属することが示されている。また、LoD6の領域2のポイントを生成するためにスライス1およびスライス3をこの順で復号すればよいことが示されている。さらに、スライス3内のポイント数がnum3であることが示されている。また、図4に示される表の上から5番目の段には、LoD6の領域3のノードがスライス4に属することが示されている。また、LoD6の領域3のポイントを生成するためにスライス1およびスライス4をこの順で復号すればよいことが示されている。さらに、スライス4内のポイント数がnum4であることが示されている。
 さらに、図4に示される表の上から6番目の段には、LoD7の領域1のノードがスライス5に属することが示されている。また、LoD7の領域1のポイントを生成するためにスライス1、スライス2、およびスライス5をこの順で復号すればよいことが示されている。さらに、スライス5内のポイント数がnum5であることが示されている。また、図4に示される表の上から7番目の段には、LoD7の領域2のノードがスライス6に属することが示されている。また、LoD7の領域2のポイントを生成するためにスライス1、スライス3、およびスライス6をこの順で復号すればよいことが示されている。さらに、スライス6内のポイント数がnum6であることが示されている。また、図4に示される表の上から8番目の段には、LoD7の領域3のノードがスライス7に属することが示されている。また、LoD7の領域3のポイントを生成するためにスライス1、スライス4、およびスライス7をこの順で復号すればよいことが示されている。さらに、スライス7内のポイント数がnum7であることが示されている。
 ジオメトリデータの符号化の際に、このようなスライス対応情報をシグナリングすることにより、復号の際にジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、ジオメトリデータの復号の際に、このシグナリングされたスライス対応情報に基づいて処理を行うことにより、ジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、この復号順情報に従って各スライスを復号することにより、効率よく復号を行うことができる。さらに、このスライス内情報に基づいてスライスを復号することにより、効率よく復号を行うことができる。
  <スライス対応情報例3>
 ジオメトリデータ10に設定されたスライス構造の他の例を図5に示す。図5の例の場合、この木構造の各ノードは、点線矢印で示されるように、LoD0からLoD4までは、領域全体について上位層から下位層に向かう順に階層毎に符号化・復号される。LoD5乃至LoD7は、領域1乃至領域4の領域毎に、上位層から下位層に向かう順に階層毎に符号化・復号される。
 そして、LoD0乃至LoD4の全体のノードがスライス1に属する。LoD5乃至LoD7の領域1(グレー地の領域)のノードがスライス2に属する。LoD5乃至LoD7の領域2(白地の領域)のノードがスライス3に属する。LoD5乃至LoD7の領域3(グレー地の領域)のノードがスライス4に属する。LoD5乃至LoD7の領域4(白地の領域)のノードがスライス5に属する。
 このようなスライス構造のジオメトリデータ10に対してシグナリングされるスライス対応情報等の例を図6に示す。図6に示される表においては、図2の場合と同様に、各階層および各領域(「LoD:領域」の列)に対応するスライス対応情報(「デコード対象(スライス)」の列)が示されている。また、復号順情報(「処理順」の列)が示されている。さらに、スライス内情報(「ポイント数」の列)が示されている。
 例えば、図6に示される表の上から2番目の段には、LoD0乃至LoD4の全体のノードがスライス1に属することが示されている。また、LoD0乃至LoD4のポイントを生成するためにスライス1のみを復号すればよいことが示されている。さらに、スライス1内のポイント数がnum1であることが示されている。
 また、図6に示される表の上から3番目の段には、LoD5乃至LoD7の領域1のノードがスライス2に属することが示されている。また、LoD5乃至LoD7の領域1のポイントを生成するためにスライス1およびスライス2をこの順で復号すればよいことが示されている。さらに、スライス2内のポイント数がnum2であることが示されている。
 さらに、図6に示される表の上から4番目の段には、LoD5乃至LoD7の領域2のノードがスライス3に属することが示されている。また、LoD5乃至LoD7の領域2のポイントを生成するためにスライス1およびスライス3をこの順で復号すればよいことが示されている。さらに、スライス3内のポイント数がnum3であることが示されている。
 また、図6に示される表の上から5番目の段には、LoD5乃至LoD7の領域3のノードがスライス4に属することが示されている。また、LoD5乃至LoD7の領域3のポイントを生成するためにスライス1およびスライス4をこの順で復号すればよいことが示されている。さらに、スライス4内のポイント数がnum4であることが示されている。
 さらに、図6に示される表の上から6番目の段には、LoD5乃至LoD7の領域4のノードがスライス5に属することが示されている。また、LoD5乃至LoD7の領域4のポイントを生成するためにスライス1およびスライス5をこの順で復号すればよいことが示されている。さらに、スライス5内のポイント数がnum5であることが示されている。
 ジオメトリデータの符号化の際に、このようなスライス対応情報をシグナリングすることにより、復号の際にジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、ジオメトリデータの復号の際に、このシグナリングされたスライス対応情報に基づいて処理を行うことにより、ジオメトリデータ全体をパースする必要がなくなり、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、この復号順情報に従って各スライスを復号することにより、効率よく復号を行うことができる。さらに、このスライス内情報に基づいてスライスを復号することにより、効率よく復号を行うことができる。
  <アトリビュート対応情報のシグナリング>
 また、ジオメトリのスライスに対応するアトリビュートのデータ(アトリビュートデータとも称する)を示す情報であるアトリビュート対応情報をシグナリングしてもよい。ビットストリームを復号してポイントクラウドを生成するためには、ジオメトリだけでなくそのジオメトリに対応するアトリビュートも復号する必要がある。アトリビュート対応情報には、ジオメトリに対応するアトリビュートを得るための情報(つまり、アトリビュートデータを特定するための情報)がスライス毎に示されている。そのため、このアトリビュート対応情報を参照することにより、復号対象のスライスに対応するアトリビュートデータを容易に特定することができる。
 つまり、符号化の際にこのアトリビュート対応情報をシグナリングすることにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、復号の際にこのシグナリングされたアトリビュート対応情報に基づいて処理を行うことにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
  <アトリビュートのビットストリームID>
 アトリビュート対応情報のフォーマットは任意である。例えば、スライスに対応するアトリビュートデータがその識別情報(例えば、アトリビュートのビットストリームの識別情報)を用いて示されるようにしてもよい。アトリビュートデータの識別情報(例えばビットストリームID)は、どのようなフォーマットでもよい。例えばアトリビュートの各ビットストリームに割り当てた互いに異なる番号や文字でもよい。識別情報を用いることにより、容易にビットストリームを特定することができる。また、解像度および領域に対応するアトリビュートデータは、例えばアトリビュートのビットストリーム内のアドレス等、識別情報以外で示されるようにしてもよい。
  <アトリビュート対応情報例1>
 アトリビュートは、例えばスケーラブルに対応しないように(非スケーラブルに)符号化することができる。その場合、例えば、ビットストリームの一部を抽出して復号することはできず、常にビットストリーム単位での復号となる。このような場合、ジオメトリのスライス単位でアトリビュートを復号することができるように、アトリビュートデータもジオメトリと同様の構造にスライス化され、そのスライス毎に独立に符号化される。つまり、そのスライス毎にビットストリームが生成される。
 例えば、ジオメトリデータ10が、図3に示される木構造およびスライス構造を有する場合、図7のAに示されるように、アトリビュートデータ30も、同様の構造でスライス化される。つまり、スライス#1乃至スライス#7に分割される。そして、各スライスが互いに独立に符号化され、アトリビュートのビットストリーム(符号化データ)が生成される。つまり、Attribute#1乃至Attribute#7の7つのビットストリームが生成される。
 このようなジオメトリデータ10およびアトリビュートデータ30に対してシグナリングされるアトリビュート対応情報等の例を図7のBに示す。図7のBに示される表において、アトリビュート対応情報として、各スライスの識別情報に対応するアトリビュートデータの識別情報が示されている。この例(非スケーラブル)の場合、ジオメトリのスライスとアトリビュートのビットストリームとが1対1に対応する。
  <アトリビュート対応情報例2>
 また、アトリビュートをスケーラブルに対応するように(スケーラブルに復号することができるように)符号化する方法も考えられた。例えば、RAHT(Region Adaptive Hierarchical Transform)やLiftingといった方法を適用することにより、アトリビュートデータを階層化し、スケーラブルに対応させることができる。この場合、ビットストリームの一部を抽出して復号することができるので、アトリビュートをジオメトリと同様の構造にスライス化する必要はない。つまり、アトリビュートのビットストリームがジオメトリのスライスに1対1に対応していなくてもよい。
 例えば、図3に示される木構造およびスライス構造を有するジオメトリデータ10に対して、アトリビュートデータ30を、図8のAに示されるように、1つのビットストリームを生成するように符号化してもよい。図8のAの例の場合、アトリビュートデータ30の全階層のノードが1つのスライスとして符号化される。つまり、1つのビットストリーム(Attribute#1)が生成される。このビットストリームはスケーラブルに対応しているので、このビットストリームからジオメトリの所望のスライスに対応するアトリビュートデータの部分のみを抽出し復号することができる。つまり、ジオメトリのいずれのスライスに対応するアトリビュートデータも、互いに同一のビットストリームから得ることができる。
 ただしこの場合、アトリビュートデータのスケーラビリティは、木構造の階層(LoD)単位となる。つまり、階層単位でしか部分的に復号することができない。ポイントクラウドを生成するためには、復号したアトリビュートデータの全ノードに対応するジオメトリデータのノードを用意する必要がある。そのため、この場合、ジオメトリデータも、アトリビュートデータと同階層まで復号する必要がある。
 このようなジオメトリデータ10およびアトリビュートデータ30に対してシグナリングされるアトリビュート対応情報等の例を図8のBに示す。図8のBに示される表において、アトリビュート対応情報として、各スライスの識別情報に対応するアトリビュートデータ(ビットストリーム)の識別情報が示されている。この例の場合、各スライスに対して互いに同一のアトリビュートデータ(ビットストリーム)の識別情報(Attribute#1)が対応している。
  <アトリビュート対応情報例3>
 アトリビュートをスケーラブルに対応する場合、図3に示される木構造およびスライス構造を有するジオメトリデータ10に対して、アトリビュートデータ30を、図9のAに示されるようにスライス化することもできる。図9のAの例の場合、LoD0乃至LoD5の全体、LoD6およびLoD7の領域1、LoD6およびLoD7の領域2、LoD6およびLoD7の領域3がそれぞれスライス化されている。つまり、LoD0乃至LoD5の全体のノードがスライス#1に属し、LoD6およびLoD7の領域1のノードがスライス#2に属し、LoD6およびLoD7の領域2のノードがスライス#3に属し、LoD6およびLoD7の領域3のノードがスライス#4に属している。つまり、この場合のアトリビュートデータ30は、ジオメトリデータ10と異なる構造でスライス化されている。ただし、アトリビュートのスライス境界は、ジオメトリのスライス境界に対応している。つまり、ジオメトリの各スライスは、アトリビュートの単数のスライスに対応し、アトリビュートの各スライスは、ジオメトリの単数または複数のスライスに対応する。そして、アトリビュートデータ30は、このスライス毎に独立に符号化される。つまり、スライス毎にビットストリーム(Attribute#1乃至Attribute#4)が生成される。
 この場合もビットストリームはスケーラブルに対応しているので、1つのビットストリームからジオメトリの所望のスライスに対応するアトリビュートデータの部分のみを抽出し復号することができる。つまり、ジオメトリの複数のスライスに対応する1つのビットストリームから、各スライスに対応するアトリビュートデータを得ることができる。
 このようなジオメトリデータ10およびアトリビュートデータ30に対してシグナリングされるアトリビュート対応情報等の例を図9のBに示す。図9のBに示される表において、アトリビュート対応情報として、各スライスの識別情報に対応するアトリビュートデータ(ビットストリーム)の識別情報が示されている。例えば、ジオメトリのスライス1に対して、ビットストリーム(Attribute#1)が対応することが示されている。また、ジオメトリのスライス2に対して、ビットストリーム(Attribute#2)が対応することが示されている。さらに、ジオメトリのスライス3に対して、ビットストリーム(Attribute#3)が対応することが示されている。また、ジオメトリのスライス4に対して、ビットストリーム(Attribute#4)が対応することが示されている。さらに、ジオメトリのスライス5に対して、ビットストリーム(Attribute#2)が対応することが示されている。さらに、ジオメトリのスライス6に対して、ビットストリーム(Attribute#3)が対応することが示されている。また、ジオメトリのスライス7に対して、ビットストリーム(Attribute#4)が対応することが示されている。
 この例の場合、LoD6およびLoD7については、領域毎(領域1乃至領域3のそれぞれ)にアトリビュートのビットストリームが分けられている。したがって、これらの階層については、解像度スケーラビリティ(木構造の一部の階層のみを復号する方法)だけでなく、領域スケーラビリティ(一部の領域のみを復号する方法)に対応している。
 以上のように、アトリビュートのビットストリームがスケーラブルに対応する場合もしない場合も、アトリビュート対応情報を参照することにより、復号対象のスライスに対応するアトリビュートデータを容易に特定することができる。つまり、符号化の際にこのアトリビュート対応情報をシグナリングすることにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、復号の際にこのシグナリングされたアトリビュート対応情報に基づいて処理を行うことにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
  <スライスアドレス情報のシグナリング>
 また、ジオメトリデータにおけるスライスの位置を示す情報であるスライスアドレス情報をシグナリングしてもよい。アトリビュート対応情報には、各スライスのジオメトリデータ(ビットストリーム)における位置が示されている。そのため、このスライスアドレス情報を参照することにより、ビットストリームから復号対象のスライスを容易に抽出し、復号することができる。
 このスライスアドレス情報の例を図10に示す。図10に示される表においては、スライスアドレス情報として、ジオメトリデータ(ビットストリーム)における各スライスの位置が、ジオメトリデータ(ビットストリーム)の先頭からのオフセット(バイトオフセット)として示されている。当然、各スライスには、互いに異なるオフセット値(バイト位置#1乃至バイト位置#7)が割り当てられている。このようなスライスアドレス情報を参照することにより、ジオメトリデータ(ビットストリーム)から復号対象のスライスを容易に抽出し、復号することができる。
 つまり、ジオメトリデータの符号化の際にこのスライスアドレス情報をシグナリングすることにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、ジオメトリデータの復号の際にこのシグナリングされたスライスアドレス情報に基づいて処理を行うことにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
 なお、スライスアドレス情報のフォーマットは任意であり、図10の例に限定されない。例えば、各スライスの位置がバイトオフセット以外の情報で表現されてもよい。
  <並列化情報のシグナリング>
 また、ジオメトリデータの復号処理の並列化に関する情報である並列化情報をシグナリングしてもよい。上述したようにスライスは互いに独立に復号することができる。したがって、並列処理が可能な場合、複数のスライスを並列に復号することができる。つまり、スライス化することにより、ジオメトリデータの復号処理を、そのスライス単位で並列化することができる。このようにすることにより、復号処理をより高速に行うことができる。
 このように復号処理を並列化する場合、復号側において、各スライスの復号処理をグループ分けし、各グループの復号処理を並列に(互いに独立に)実行する。この各スライスの復号処理のグループ分けを、例えば、各グループの負荷が平均化するように行ったり、ハードウエア制約等の所定の条件に最適化するように行ったりすることにより、より効率よく(例えばより高速に)復号処理を行うことができる。ただし、そのためには、復号側において、各スライスをパースし、負荷量を把握する等の処理が必要になる。
 並列化情報には、そのグループ分けの例が示される。そのため、この並列化情報を参照することにより、各スライスをパースせずに容易に、より効率よく復号処理を行うようにグループ化を行うことができる。
 この並列化情報の例を図11に示す。図11のAに示される表においては、並列化情報として、図3に示されるような木構造およびスライス構造を有するジオメトリデータ10についての、LoD0乃至LoD6を復号する場合の並列化方法が示されている。LoD6まで復号する場合、スライス1乃至スライス4を復号すればよい。したがって、図11のAに示される表においては、これらのスライスをどのようにグループ分けするかが示されている。この例の場合、スライス1およびスライス2がグループ#1に振り分けられ、スライス3がグループ#2に振り分けられ、スライス4がグループ#3に振り分けられている。各グループは、互いに並列に復号することができる。
 図11のBに示される表においては、並列化情報として、図3に示されるような木構造およびスライス構造を有するジオメトリデータ10についての、LoD0乃至LoD7を復号する場合の並列化方法が示されている。LoD7まで復号する場合、スライス1乃至スライス7を復号すればよい。したがって、図11のBに示される表においては、これらのスライスをどのようにグループ分けするかが示されている。この例の場合、スライス1、スライス3、およびスライス6がグループ#1に振り分けられ、スライス2、スライス4、スライス5、およびスライス7がグループ#2に振り分けられている。各グループは、互いに並列に復号することができる。
 符号化の際にこの並列化情報をシグナリングすることにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。また、復号の際にこのシグナリングされた並列化情報に基づいて処理を行うことにより、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
 なお、各スライスのグループ分けの仕方は任意であり、図11の例に限定されない。また、この並列化情報のフォーマットは任意であり、図11の例に限定されない。例えば、図11の例のように階層毎にグループ分けのパターンを示すのではなく、領域毎にグループ分けのパターンを示してもよい。また、階層および領域毎にグループ分けのパターンを示してもよいし、階層および領域以外の任意の単位毎にグループ分けのパターンを示してもよい。また、同一のデータ単位(例えば、階層や領域等)に対して、グループ分けのパターンを複数示してもよい。さらにそのパターンの選択に用いることができる条件を示してもよい。
 また、アトリビュートデータがジオメトリデータと同様の構造を有し、ジオメトリの場合と同様に並列化を行うことができる場合、アトリビュートの復号においてもこの並列化情報を参照してもよい。このようにすることにより、アトリビュートの復号においても、各スライスをパースせずに容易に、より効率よく復号処理を行うようにグループ化を行うことができる。
 <2.第1の実施の形態>
  <符号化装置>
 図12は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図12に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、本技術(例えば図1乃至図11を参照して説明した各種方法等)を適用してポイントクラウドを符号化する。
 なお、図12においては、処理部やデータの流れ等の主なものを示しており、図12に示されるものが全てとは限らない。つまり、符号化装置100において、図12においてブロックとして示されていない処理部が存在したり、図12において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図12に示されるように符号化装置100は、ジオメトリデータ符号化部101およびアトリビュートデータ符号化部102を有する。
 ジオメトリデータ符号化部101は、符号化装置100に入力されたポイントクラウドデータ(3Dデータ)を取得する。ジオメトリデータ符号化部101は、そのジオメトリデータ(位置情報)を符号化して、ジオメトリの符号化データ(ビットストリーム)を生成する。また、ジオメトリデータ符号化部101は、生成したジオメトリのビットストリームとアトリビュートデータ(属性情報)とをアトリビュートデータ符号化部102に供給する。
 アトリビュートデータ符号化部102は、ジオメトリデータ符号化部101から供給されたジオメトリのビットストリームとアトリビュートデータとを取得する。アトリビュートデータ符号化部102は、それらを用いてアトリビュートデータを符号化して、そのアトリビュートの符号化データ(ビットストリーム)を生成する。アトリビュートデータ符号化部102は、ジオメトリのビットストリームと、生成したアトリビュートのビットストリームとを、ポイントクラウドのビットストリームとして符号化装置100の外部(例えば復号側)に出力する。
  <ジオメトリデータ符号化部>
 図12に示されるように、ジオメトリデータ符号化部101は、構造形成部111、メタデータ生成部112、および符号化部113を有する。
 構造形成部111は、ジオメトリデータの木構造やスライス構造の形成に関する処理を行う。例えば、構造形成部111は、符号化装置100に入力されたポイントクラウドデータを取得する。構造形成部111は、取得したポイントクラウドデータのジオメトリデータをボクセル化し、木構造化し、スライス化する。つまり、構造形成部111は、図1、図3、図5等を参照して説明したような、木構造およびスライス構造を形成する。これにより、ジオメトリの復号の、解像度スケーラビリティ、領域スケーラビリティ、並列処理化等を実現することができる。構造形成部111は、木構造やスライス構造を形成したジオメトリデータやアトリビュートデータをメタデータ生成部112に供給する。
 メタデータ生成部112は、ジオメトリデータのメタデータの生成に関する処理を行う。例えば、メタデータ生成部112は、構造形成部111から供給されるジオメトリデータやアトリビュートデータを取得する。メタデータ生成部112は、取得したジオメトリデータに対するメタデータを生成する。例えばメタデータ生成部112は、スライス対応情報をメタデータとして生成する。また、メタデータ生成部112は、復号順情報、スライス内情報、アトリビュート対応情報、スライスアドレス情報、並列化情報等をメタデータとして生成しうる。つまり、メタデータ生成部112は、図1乃至図11を参照して説明した各種情報をメタデータとして生成しうる。もちろん、メタデータ生成部112が、これら以外の情報をメタデータとして生成してもよい。メタデータ生成部112は、ジオメトリデータおよびアトリビュートデータとともに、生成したメタデータを符号化部113に供給する。
 符号化部113は、符号化に関する処理を行う。例えば、符号化部113は、メタデータ生成部112から供給されるジオメトリデータ、そのメタデータ、およびアトリビュートデータを取得する。符号化部113は、取得したジオメトリデータを符号化し、ジオメトリの符号化データ(ビットストリーム)を生成する。また、符号化部113は、取得したメタデータをそのビットストリームに含める。つまり、符号化部113は、スライス対応情報をメタデータとしてシグナリングする。また、符号化部113は、復号順情報、スライス内情報、アトリビュート対応情報、スライスアドレス情報、並列化情報等をメタデータとしてシグナリングしうる。つまり、符号化部113は、図1乃至図11を参照して説明した各種情報をメタデータとしてシグナリングしうる。この符号化方法は任意である。なお、符号化部113は、メタデータを符号化してもよい。符号化部113は、アトリビュートデータとともに、生成したジオメトリデータをアトリビュートデータ符号化部102に供給する。
 以上のような構成とすることにより、符号化装置100は、図1乃至図11を参照して説明した各種情報をメタデータとしてシグナリングすることができるので、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
 なお、これらの処理部(ジオメトリデータ符号化部101(構造形成部111乃至符号化部113)およびアトリビュートデータ符号化部102)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよい。例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <符号化処理の流れ>
 符号化装置100は、符号化処理を実行することによりポイントクラウドのデータを符号化する。この符号化処理の流れの例を、図13のフローチャートを参照して説明する。
 符号化処理が開始されると、符号化装置100の構造形成部111は、ステップS101において、入力されたポイントクラウドのジオメトリデータをボクセル化し、木構造化し、スライス化する。つまり、構造形成部111は、そのジオメトリデータについて木構造およびスライス構造を形成する。
 ステップS102において、メタデータ生成部112は、ステップS101において木構造およびスライス構造が形成されたジオメトリデータに対するメタデータを生成する。その際、メタデータ生成部112は、例えば、スライス対応情報をメタデータとして生成する。また、メタデータ生成部112は、復号順情報、スライス内情報、アトリビュート対応情報、スライスアドレス情報、並列化情報等をメタデータとして生成しうる。つまり、メタデータ生成部112は、図1乃至図11を参照して説明した各種情報をメタデータとして生成しうる。
 ステップS103において、符号化部113は、ステップS101において木構造およびスライス構造が形成されたジオメトリデータを符号化し、ジオメトリの符号化データ(ビットストリーム)を生成する。また、符号化部113は、ステップS102において生成されたメタデータをそのビットストリームに含める。例えば、符号化部113は、スライス対応情報をビットストリームに含める。また、符号化部113は、復号順情報、スライス内情報、アトリビュート対応情報、スライスアドレス情報、並列化情報等をビットストリームに含めることができる。つまり、符号化部113は、図1乃至図11を参照して説明した各種情報をメタデータとしてシグナリングしうる。
 ステップS104において、アトリビュートデータ符号化部102は、入力されたポイントクラウドのアトリビュートデータを符号化し、アトリビュートの符号化データ(ビットストリーム)を生成する。ステップS104の処理が終了すると符号化処理が終了する。
 以上のように符号化処理を実行することにより、符号化装置100は、図1乃至図11を参照して説明した各種情報をメタデータとしてシグナリングすることができるので、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
 <3.第2の実施の形態>
  <復号装置>
 図14は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図14に示される復号装置200は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置200は、符号化装置100に対応する復号装置であり、符号化装置100が適用する符号化方法に対応する復号方法で符号化データを復号する。つまり、復号装置200は、符号化装置100が生成したポイントクラウドの符号化データ(ビットストリーム)を復号し、ポイントクラウドデータを生成しうる。すなわち、復号装置200は、本技術(例えば図1乃至図11を参照して説明した各種方法等)を適用してポイントクラウドの符号化データを復号する。
 なお、図14においては、処理部やデータの流れ等の主なものを示しており、図14に示されるものが全てとは限らない。つまり、復号装置200において、図14においてブロックとして示されていない処理部が存在したり、図14において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図14に示されるように復号装置200は、復号対象選択部201、記憶部202、および復号部203を有する。
 復号対象選択部201は、復号対象の選択に関する処理を行う。例えば復号対象選択部201は、復号装置200に入力されたポイントクラウドの符号化データ(ビットストリーム)を取得する。このビットストリームは、ジオメトリのビットストリームとアトリビュートのビットストリームにより構成される。ジオメトリのビットストリームは、上述したように木構造およびスライス構造が形成されたジオメトリデータが符号化されたものである。また、そのビットストリームには、メタデータとして、スライス対応情報が含まれる。さらに、そのビットストリームには、復号順情報、スライス内情報、アトリビュート対応情報、スライスアドレス情報、並列化情報等もメタデータとして含まれてもよい。つまり、ジオメトリについて、図1乃至図11を参照して説明した各種情報がシグナリングされうる。
 復号対象選択部201は、ジオメトリについて、そのメタデータに基づいて復号対象とするスライスを選択する。例えば、復号対象選択部201は、シグナリングされたスライス対応情報に基づいて復号対象とするジオメトリの解像度および領域に対応するスライスを復号対象として選択する。この復号対象とするジオメトリの解像度および領域は、任意に設定され得る。例えば、ユーザ等により指定されてもよいし、再生時の視点の移動等に基づいて設定されてもよい。また、復号対象選択部201は、シグナリングされた復号順情報、スライス内情報、並列化情報等に基づいて、復号対象とするスライスを選択しうる。つまり、復号対象選択部201は、図1乃至図11を参照して説明した各種情報に基づいて、復号対象とするスライスを選択しうる。
 復号対象選択部201は、ジオメトリのビットストリームから、そのスライスに対応する部分(符号化データ)を抽出し、記憶部202に供給する。復号対象選択部201は、このスライスに対応する部分(符号化データ)の抽出を、シグナリングされたスライスアドレス情報に基づいて行うことができる。
 また、復号対象選択部201は、選択したジオメトリのスライスに対応するアトリビュートのビットストリームを特定し、記憶部202に供給する。復号対象選択部201は、このアトリビュートのビットストリームの特定を、シグナリングされたアトリビュート対応情報に基づいて行うことができる。
 なお、このメタデータは符号化されていてもよい。その場合、復号対象選択部201は、そのメタデータの符号化データを復号することによりメタデータを得る。また、復号対象選択部201は、ジオメトリデータのメタデータを復号部203に供給する。
 記憶部202は、ハードディスクや半導体メモリ等の任意の記憶媒体を有し、復号対象選択部201から供給されるデータを記憶しうる。例えば、記憶部202は、復号対象選択部201により復号対象として選択されたジオメトリのスライスの符号化データやそのスライスに対応するアトリビュートのビットストリーム等を記憶しうる。この記憶部202は、先入れ先出し方式でデータを管理する。したがって、この記憶部202は、キュー(待ち行列)を形成する。記憶部202は、復号部203の要求に応じて、先に記憶されたデータ(復号対象として選択されたジオメトリのスライスの符号化データやそのスライスに対応するアトリビュートのビットストリーム)を復号部203に供給する。
 復号部203は、復号に関する処理を行う。例えば、復号部203は、記憶部202に記憶されているジオメトリの符号化データやアトリビュートのビットストリームを取得し、それらを復号し、ジオメトリデータやアトリビュートデータを生成する。また、復号部203は、生成したジオメトリデータやアトリビュートデータを用いてポイントクラウドを再構築し、そのポイントクラウドデータを出力する。
 図14に示されるように、復号部203は、制御部211、ジオメトリデータ復号部212、アトリビュートデータ復号部213、およびポイントクラウド生成部214を有する。
 制御部211は、復号の制御に関する処理を行う。例えば、制御部211は、記憶部202に記憶されているジオメトリの符号化データやアトリビュートのビットストリームを取得する。上述したように記憶部202には、復号対象選択部201により復号対象として選択されたジオメトリのスライスの符号化データや、そのスライスに対応するアトリビュートのビットストリーム等が記憶される。制御部211は、最も先に記憶されたそれらの情報を取得する。なお、制御部211が記憶部202からデータを取得するタイミングは任意である。
 また、制御部211は、取得したジオメトリのスライスの符号化データをジオメトリデータ復号部212に供給する。さらに、制御部211は、取得したアトリビュートのビットストリームをアトリビュートデータ復号部213に供給する。
 ジオメトリデータ復号部212は、ジオメトリの符号化データの復号に関する処理を行う。例えば、ジオメトリデータ復号部212は、制御部211から供給されるジオメトリの符号化データ(つまり、復号対象として選択されたスライスの符号化データ)を取得する。
 ジオメトリデータ復号部212は、その取得した符号化データを復号し、ジオメトリデータを生成する。ジオメトリデータ復号部212は、このジオメトリの符号化データの復号処理を、スライス単位で並列化することができる。つまり、ジオメトリデータ復号部212は、シグナリングされたスライス内情報や並列化情報に基づいて、復号対象のスライスをグループ分けすることができる。そして、ジオメトリデータ復号部212は、取得したジオメトリのスライスの符号化データを、そのスライスを割り当てたグループに対応するスレッドにおいて復号することができる。ジオメトリデータ復号部212は、生成したジオメトリデータをポイントクラウド生成部214に供給する。
 アトリビュートデータ復号部213は、アトリビュートのビットストリームの復号に関する処理を行う。例えば、アトリビュートデータ復号部213は、制御部211から供給されるアトリビュートのビットストリーム(つまり、復号対象として選択されたスライスに対応するアトリビュートのビットストリーム)を取得する。
 アトリビュートデータ復号部213は、その取得したビットストリームを復号し、アトリビュートデータを生成する。このビットストリームは、スケーラブルに対応していてもよいし、対応していなくてもよい。アトリビュートのビットストリームが解像度や領域等のスケーラブルに対応している場合、アトリビュートデータ復号部213は、そのビットストリームから必要な部分のみを抽出し、復号することができる。アトリビュートデータ復号部213は、生成したアトリビュートデータをポイントクラウド生成部214に供給する。
 ポイントクラウド生成部214は、ポイントクラウドの生成に関する処理を行う。例えばポイントクラウド生成部214は、ジオメトリデータ復号部212から供給されるジオメトリデータを取得する。また、ポイントクラウド生成部214は、アトリビュートデータ復号部213から供給されるアトリビュートデータを取得する。ポイントクラウド生成部214は、取得したジオメトリデータおよびアトリビュートデータを用いて、ポイントクラウドデータを生成する(ポイントクラウドを再構築する)。ポイントクラウド生成部214は、生成したポイントクラウドデータを出力する。
 以上のような構成とすることにより、復号装置200は、シグナリングされたメタデータ(図1乃至図11を参照して説明した各種情報)に基づいて復号処理を行うことができるので、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
 なお、これらの処理部(復号対象選択部201、記憶部202、および復号部203(制御部211乃至ポイントクラウド生成部214))は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよい。例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
  <復号処理の流れ>
 復号装置200は、復号処理を実行することによりポイントクラウドの符号化データ(ビットストリーム)を復号する。この復号処理の流れの例を、図15のフローチャートを参照して説明する。
 復号処理が開始されると、復号装置200の復号対象選択部201は、ステップS201において、復号対象選択処理を実行する。この復号対象選択処理により、復号対象選択部201は、例えば、ジオメトリについて、復号対象とするスライスを選択する。また、復号装置200は、入力されたジオメトリのビットストリームからそのスライスに対応する部分を抽出する。さらに、復号対象選択部201は、選択したジオメトリのスライスに対応するアトリビュートのビットストリームを特定する。復号対象選択部201は、ジオメトリの選択したスライスの符号化データと、特定したアトリビュートのビットストリームとを記憶部202に記憶させる。
 ステップS202において、復号部203は、復号対象復号処理を実行し、ステップS201において選択された復号対象を復号する。
 ステップS203において、復号部203(ポイントクラウド生成部214)は、ステップS202の処理により得られたジオメトリデータおよびアトリビュートデータを用いてポイントクラウドデータを生成する(ポイントクラウドを再構築する)。ステップS203の処理が終了すると復号処理が終了する。
  <復号対象選択処理の流れ>
 次に、図15のステップS201において実行される復号対象選択処理の流れの例を、図16のフローチャートを参照して説明する。
 復号対象選択処理が開始されると、復号対象選択部201は、ステップS221において、復号対象とするLoDおよび領域の指定を受け付ける。この指定は、例えば、ユーザにより行われてもよいし、他の処理により行われてもよいし、予め設定されていてもよい。
 復号する(ポイントクラウドを再構成する)LoDおよび領域の指定が受け付けられると、ステップS222において、復号対象選択部201は、処理対象のスライスをカウントするための変数Indexを初期化する(例えば、Index = 0とする)。復号対象選択部201は、この変数Indexを用いてジオメトリの各スライスを順次処理対象とし、以下の処理において、その処理対象のスライスを復号対象とするかを判定する。
 上述したように、ジオメトリのビットストリームは、木構造およびスライス構造が形成されたジオメトリデータが符号化されたものである。また、そのビットストリームには、メタデータとして、スライス対応情報が含まれる。さらに、そのビットストリームには、復号順情報、スライス内情報、アトリビュート対応情報、スライスアドレス情報、並列化情報等もメタデータとして含まれてもよい。つまり、ジオメトリについて、図1乃至図11を参照して説明した各種情報がシグナリングされうる。復号対象選択部201は、そのメタデータに基づいて復号対象とするスライスを選択する。
 ステップS223において、復号対象選択部201は、この変数Indexの値が最大値MaxIndexより大きいか否かを判定する。この変数Index処理対象のスライスをカウントするための変数であるので、その最大値は(ジオメトリのスライス数-1)に一致する。つまり、復号対象選択部201は、この処理において、全てのスライスを処理したか否かを判定する。変数Indexの値が最大値MaxIndex以下であり、未処理のスライスが存在すると判定された場合、処理はステップS224に進む。
 ステップS224において、復号対象選択部201は、処理対象のスライスのLoDおよび領域が、ステップS221において受け付けられた復号対象とするLoDおよび領域と一致するか否かを判定する。まず、復号対象選択部201は、未処理のスライスを処理対象に選択する。例えば、復号対象選択部201は、シグナリングされたスライス対応情報、復号順情報、スライス内情報、並列化情報等に基づいて、その選択順を制御する。つまり、復号対象選択部201は、シグナリングされたそれらの情報を参照して復号対象とするスライスの復号順を最適化し、その復号順に復号対象のスライスが得られるような順序で未処理のスライスを処理対象として選択する。このようにすることにより、復号対象選択部201は、ジオメトリのビットストリーム全体をパースせずに、復号対象のスライスの復号順を容易に制御することができる。
 そして、選択した処理対象のスライスのLoDおよび領域と、ステップS221において受け付けられた復号対象とするLoDおよび領域とが一致する場合、復号対象選択部201は、そのスライスを復号対象とする。このように、処理対象のスライスが復号対象とするLoDおよび領域に対応する場合、処理はステップS225に進む。
 復号対象選択部201は、シグナリングされたスライス対応情報に基づいてこの判定を行う。したがって、復号対象選択部201は、ジオメトリのビットストリーム全体をパースせずに、処理対象のスライスが対応するLoDおよび領域を容易に特定することができる。つまり、復号対象選択部201は、容易に、処理対象のスライスのLoDおよび領域と、復号対象とするLoDおよび領域とが一致するか否かを判定することができる。つまり、復号対象選択部201は、容易に、復号対象とするスライスを選択することができる。
 また、復号対象選択部201は、シグナリングされた復号順情報も参照して、この判定を行うこともできる。つまり、復号対象選択部201は、図1乃至図11を参照して説明した各種情報に基づいて、復号対象とするスライスを容易に選択しうる。
 ステップS225において、復号対象選択部201は、ジオメトリのスライスとアトリビュートのビットストリームをキューに格納する。例えば、復号対象選択部201は、ジオメトリのビットストリームから、ステップS224において復号対象として選択したスライスに対応する部分(符号化データ)を抽出する。その際、復号対象選択部201は、シグナリングされたスライスアドレス情報に基づいて、ジオメトリのビットストリームから、ステップS224において復号対象として選択したスライスに対応する部分(符号化データ)を容易に抽出することができる。
 また、復号対象選択部201は、そのスライスに対応するアトリビュートのビットストリームを特定する。その際、復号対象選択部201は、シグナリングされたアトリビュート対応情報に基づいて、ステップS224において復号対象として選択したスライスに対応するアトリビュートのビットストリームを容易に特定することができる。
 そして、復号対象選択部201は、抽出したジオメトリのスライスの符号化データと特定したアトリビュートのビットストリームを、記憶部202に記憶させる。
 ステップS225の処理が終了すると、処理はステップS226に進む。また、ステップS224において、処理対象のスライスのLoDおよび領域が、ステップS221において受け付けられた復号対象とするLoDおよび領域と一致しないと判定された場合、処理はステップS226に進む。
 ステップS226において、復号対象選択部201は、変数Indexをインクリメントする(例えば+1する)。変数Indexをインクリメントすると、処理はステップS223に戻りそれ以降の処理を繰り返す。
 つまり、ステップS223乃至ステップS226の各処理が、ジオメトリの各スライスに対して実行される。そして、ステップS223において、変数Indexの値が最大値MaxIndexより大きい、すなわち、全てのスライスを処理したと判定された場合、復号対象選択処理が終了し、処理は図15に戻る。
 なお、復号対象選択部201は、シグナリングされたスライス対応情報、復号順情報、スライス内情報、並列化情報等に基づいて、処理対象とするスライスの選択順を制御する代わりに、復号対象として選択した各スライスのデータの、キューに格納する順を制御してもよい。その場合、復号対象選択部201は、ステップS225において、抽出したジオメトリのスライスの符号化データと特定したアトリビュートのビットストリームを、シグナリングされたスライス対応情報、復号順情報、スライス内情報、並列化情報等に基づくスライスの順序で、記憶部202に記憶させることができる。したがって、復号対象選択部201は、記憶部202に記憶させるスライス順を、ビットストリーム全体をパースせずに、容易に制御することができる。
  <復号対象復号処理の流れ>
 次に、図15のステップS202において実行される復号対象復号処理の流れの例を、図17のフローチャートを参照して説明する。
 復号対象復号処理が開始されると、制御部211は、ステップS241において、キューが空か否かを判定する。つまり、制御部211は、記憶部202にジオメトリやアトリビュートのデータが格納されているか否かを判定する。キューが空でない、すなわち、データが記憶されていると判定された場合、処理はステップS242に進む。
 ステップS242において、制御部211は、そのキュー(記憶部202)から、最も先に格納されたジオメトリのスライスの符号化データとそのスライスに対応するアトリビュートのビットストリームを取得する。
 ステップS243において、制御部211は、そのスライスを復号済みであるか否かを判定する。まだ復号されていないと判定された場合、処理はステップS244に進む。
 ステップS244において、ジオメトリデータ復号部212は、ステップS242において取得されたジオメトリのスライスの符号化データを復号し、そのスライスのジオメトリデータを生成する。例えば、ジオメトリデータ復号部212は、シグナリングされたスライス内情報や並列化情報に基づいて、復号対象のスライスをグループ分けすることができる。そして、ジオメトリデータ復号部212は、取得したジオメトリのスライスの符号化データを、そのスライスを割り当てたグループに対応するスレッドにおいて復号することができる。このようにすることにより、ジオメトリデータ復号部212は、ビットストリーム全体をパースせずに容易に、ジオメトリの復号を、より効率よく並列化することができる。
 ステップS245において、制御部211は、アトリビュートの復号が必要であるか否かを判定する。そのスライスに対応するアトリビュートがまだ復号されていないと判定された場合、処理はステップS246に進む。
 ステップS246において、アトリビュートデータ復号部213は、ステップS242において取得されたアトリビュートのビットストリームを復号し、アトリビュートデータを生成する。
 ステップS246が終了すると処理はステップS241に戻る。また、ステップS245において、そのスライスに対応するアトリビュートが復号済みであり、アトリビュートの復号が不要と判定された場合、処理はステップS241に戻る。さらに、ステップS243において、そのスライスを復号済みであると判定された場合、処理はステップS241に戻る。以上のように、キューに格納された各スライスのデータについて、ステップS241乃至ステップS246の各処理が実行される。そして、ステップS241において、キューが空になったと判定された場合、すなわち、記憶部202にデータが記憶されていないと判定された場合、復号対象として選択された全てのスライスが復号されたので、復号対象復号処理が終了し、処理は図15に戻る。
 以上のよう各処理を実行することにより、復号装置200は、シグナリングされたメタデータ(図1乃至図11を参照して説明した各種情報)に基づいて復号処理を行うことができるので、復号処理の負荷の増大を抑制する(典型的には負荷を低減させる)ことができる。
 <4.付記>
  <配信>
 なお、上述した復号対象選択処理と復号対象復号処理は、互いに異なる装置において実行してもよい。例えば、ポイントクラウドデータを配信する配信サーバが、復号対象選択処理を行い、クライアントに要求されたLoDおよび領域に対応するスライスを選択してもよい。そしてその配信サーバが、その選択されたスライスに対応するジオメトリやアトリビュートの符号化データ(ビットストリーム)を、スライス対応情報等、図1乃至図11を参照して説明した各種情報とともに、クライアント側に送信してもよい。そしてクライアントが、それらを受信し、シグナリングされたスライス対応情報等、図1乃至図11を参照して説明した各種情報に基づいてジオメトリやアトリビュートのビットストリームを復号してもよい。このようにすることにより、復号対象のデータのみを伝送することができるので、伝送の負荷の増大を抑制する(典型的には低減させる)ことができる。なお、記憶媒体に記憶させる場合(つまり、記憶媒体を介して符号化側から復号側にビットストリームを伝送する場合)も同様である。
  <メタデータ>
 なお、スライス対応情報等、図1乃至図11を参照して説明した各種情報は、上述のようにジオメトリのビットストリームに含めてもよいし、ジオメトリのビットストリームとは別のデータとしてシグナリングしてもよい。
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図18は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図18に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用対象>
 以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。例えば、メッシュ(Mesh)データの符号化・復号において、メッシュデータをポイントクラウドデータに変換し、本技術を適用して符号化・復号を行うようにしてもよい。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
 本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報を生成するスライス対応情報生成部と、
 前記ジオメトリデータを符号化し、前記スライス対応情報生成部により生成された前記スライス対応情報を含む、ジオメトリのビットストリームを生成する符号化部と
 を備える情報処理装置。
 (2) 前記スライス対応情報は、前記解像度および前記領域に対応する前記スライスを、前記スライスの識別情報を用いて示す情報である
 (1)に記載の情報処理装置。
 (3) 前記スライス対応情報生成部は、さらに、前記解像度および前記領域に対応する前記スライスの復号順に関する情報である復号順情報を生成し、
 前記符号化部は、さらに、前記復号順情報を前記ビットストリームに含める
 (1)に記載の情報処理装置。
 (4) 前記スライス対応情報生成部は、さらに、前記スライス内に関する情報であるスライス内情報を生成し、
 前記符号化部は、さらに、前記スライス内情報を前記ビットストリームに含める
 (1)に記載の情報処理装置。
 (5) 前記スライス内情報は、前記スライス内のポイント数を示す情報であるポイント数情報を含む
 (4)に記載の情報処理装置。
 (6) 前記スライス対応情報生成部は、さらに、前記スライスに対応するアトリビュートデータを示す情報であるアトリビュート対応情報を生成し、
 前記符号化部は、さらに、前記アトリビュート対応情報を前記ビットストリームに含める
 (1)に記載の情報処理装置。
 (7) 前記アトリビュート対応情報は、前記アトリビュートデータを、アトリビュートのビットストリームの識別情報を用いて示す情報である
 (6)に記載の情報処理装置。
 (8) 前記スライス対応情報生成部は、さらに、前記ジオメトリデータにおける前記スライスの位置を示す情報であるスライスアドレス情報を生成し、
 前記符号化部は、さらに、前記スライスアドレス情報を前記ビットストリームに含める
 (1)に記載の情報処理装置。
 (9) 前記スライス対応情報生成部は、さらに、復号処理の並列化に関する情報である並列化情報を生成し、
 前記符号化部は、さらに、前記並列化情報を前記ビットストリームに含める
 (1)に記載の情報処理装置。
 (10) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報を生成し、
 前記ジオメトリデータを符号化し、生成された前記スライス対応情報を含む、ジオメトリのビットストリームを生成する
 情報処理方法。
 (11) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報に基づいて、前記ジオメトリのビットストリームから、復号対象とする前記ジオメトリの解像度および領域に対応する前記ジオメトリデータのスライスを復号対象として選択する復号対象選択部と、
 前記復号対象選択部により選択された前記スライスを復号する復号部と
 を備える情報処理装置。
 (12) 前記スライス対応情報は、前記解像度および前記領域に対応する前記スライスを、前記スライスの識別情報を用いて示す情報であり、
 前記復号対象選択部は、前記スライス対応情報において示される、復号対象とする前記解像度および前記領域に対応する前記スライスの識別情報を用いて、復号対象とする前記スライスの選択を行う
 (11)に記載の情報処理装置。
 (13) 前記復号対象選択部は、前記解像度および前記領域に対応する前記スライスの復号順に関する情報である復号順情報に示される前記復号順に従って、復号対象とする前記スライスの選択を行う
 (11)または(12)に記載の情報処理装置。
 (14) 前記復号部は、前記スライス内に関する情報であるスライス内情報に基づいて、前記復号対象選択部により選択された複数の前記スライスの復号処理を並列化する
 (11)乃至(13)のいずれかに記載の情報処理装置。
 (15) 前記復号部は、前記スライス内情報に含まれる前記スライス内のポイント数を示す情報であるポイント数情報に基づいて、前記復号対象選択部により選択された複数の前記スライスの復号処理を並列化する
 (14)に記載の情報処理装置。
 (16) 前記復号対象選択部は、前記スライスに対応するアトリビュートデータを示す情報であるアトリビュート対応情報に基づいて、復号対象として選択した前記ジオメトリの前記スライスに対応するアトリビュートデータを復号対象として選択し、
 前記復号部は、前記復号対象選択部により選択された前記アトリビュートデータを復号する
 (11)乃至(15)のいずれかに記載の情報処理装置。
 (17) 前記アトリビュート対応情報は、前記アトリビュートデータを、アトリビュートのビットストリームの識別情報を用いて示す情報であり、
 前記復号対象選択部は、前記アトリビュート対応情報において示される、復号対象として選択した前記ジオメトリの前記スライスに対応する前記アトリビュートの前記ビットストリームの前記識別情報を用いて、復号対象とする前記アトリビュートデータの選択を行う
 (16)に記載の情報処理装置。
 (18) 前記復号対象選択部は、前記ジオメトリデータにおける前記スライスの位置を示す情報であるスライスアドレス情報に基づいて、前記ジオメトリの前記ビットストリームから、復号対象とする前記スライスを取得する
 (11)乃至(17)のいずれかに記載の情報処理装置。
 (19) 前記復号対象選択部は、復号処理の並列化に関する情報である並列化情報に基づいて、復号対象とする前記スライスの選択を行い、
 前記復号部は、前記並列化情報に基づいて、前記復号対象選択部により選択された複数の前記スライスの復号処理を並列化する
 (11)乃至(18)のいずれかに記載の情報処理装置。
 (20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報に基づいて、前記ジオメトリのビットストリームから、復号対象とする前記ジオメトリの解像度および領域に対応する前記ジオメトリデータのスライスを復号対象として選択し、
 選択された前記スライスを復号する
 情報処理方法。
 100 符号化装置, 101 ジオメトリデータ符号化部, 102 アトリビュートデータ符号化部, 111 構造形成部, 112 メタデータ生成部, 113 符号化部, 200 復号装置, 201 復号対象選択部, 202 記憶部, 203 復号部, 211 制御部, 212 ジオメトリデータ復号部, 213 アトリビュートデータ復号部, 214 ポイントクラウド生成部, 900 コンピュータ

Claims (20)

  1.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報を生成するスライス対応情報生成部と、
     前記ジオメトリデータを符号化し、前記スライス対応情報生成部により生成された前記スライス対応情報を含む、ジオメトリのビットストリームを生成する符号化部と
     を備える情報処理装置。
  2.  前記スライス対応情報は、前記解像度および前記領域に対応する前記スライスを、前記スライスの識別情報を用いて示す情報である
     請求項1に記載の情報処理装置。
  3.  前記スライス対応情報生成部は、さらに、前記解像度および前記領域に対応する前記スライスの復号順に関する情報である復号順情報を生成し、
     前記符号化部は、さらに、前記復号順情報を前記ビットストリームに含める
     請求項1に記載の情報処理装置。
  4.  前記スライス対応情報生成部は、さらに、前記スライス内に関する情報であるスライス内情報を生成し、
     前記符号化部は、さらに、前記スライス内情報を前記ビットストリームに含める
     請求項1に記載の情報処理装置。
  5.  前記スライス内情報は、前記スライス内のポイント数を示す情報であるポイント数情報を含む
     請求項4に記載の情報処理装置。
  6.  前記スライス対応情報生成部は、さらに、前記スライスに対応するアトリビュートデータを示す情報であるアトリビュート対応情報を生成し、
     前記符号化部は、さらに、前記アトリビュート対応情報を前記ビットストリームに含める
     請求項1に記載の情報処理装置。
  7.  前記アトリビュート対応情報は、前記アトリビュートデータを、アトリビュートのビットストリームの識別情報を用いて示す情報である
     請求項6に記載の情報処理装置。
  8.  前記スライス対応情報生成部は、さらに、前記ジオメトリデータにおける前記スライスの位置を示す情報であるスライスアドレス情報を生成し、
     前記符号化部は、さらに、前記スライスアドレス情報を前記ビットストリームに含める
     請求項1に記載の情報処理装置。
  9.  前記スライス対応情報生成部は、さらに、復号処理の並列化に関する情報である並列化情報を生成し、
     前記符号化部は、さらに、前記並列化情報を前記ビットストリームに含める
     請求項1に記載の情報処理装置。
  10.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報を生成し、
     前記ジオメトリデータを符号化し、生成された前記スライス対応情報を含む、ジオメトリのビットストリームを生成する
     情報処理方法。
  11.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報に基づいて、前記ジオメトリのビットストリームから、復号対象とする前記ジオメトリの解像度および領域に対応する前記ジオメトリデータのスライスを復号対象として選択する復号対象選択部と、
     前記復号対象選択部により選択された前記スライスを復号する復号部と
     を備える情報処理装置。
  12.  前記スライス対応情報は、前記解像度および前記領域に対応する前記スライスを、前記スライスの識別情報を用いて示す情報であり、
     前記復号対象選択部は、前記スライス対応情報において示される、復号対象とする前記解像度および前記領域に対応する前記スライスの識別情報を用いて、復号対象とする前記スライスの選択を行う
     請求項11に記載の情報処理装置。
  13.  前記復号対象選択部は、前記解像度および前記領域に対応する前記スライスの復号順に関する情報である復号順情報に示される前記復号順に従って、復号対象とする前記スライスの選択を行う
     請求項11に記載の情報処理装置。
  14.  前記復号部は、前記スライス内に関する情報であるスライス内情報に基づいて、前記復号対象選択部により選択された複数の前記スライスの復号処理を並列化する
     請求項11に記載の情報処理装置。
  15.  前記復号部は、前記スライス内情報に含まれる前記スライス内のポイント数を示す情報であるポイント数情報に基づいて、前記復号対象選択部により選択された複数の前記スライスの復号処理を並列化する
     請求項14に記載の情報処理装置。
  16.  前記復号対象選択部は、前記スライスに対応するアトリビュートデータを示す情報であるアトリビュート対応情報に基づいて、復号対象として選択した前記ジオメトリの前記スライスに対応するアトリビュートデータを復号対象として選択し、
     前記復号部は、前記復号対象選択部により選択された前記アトリビュートデータを復号する
     請求項11に記載の情報処理装置。
  17.  前記アトリビュート対応情報は、前記アトリビュートデータを、アトリビュートのビットストリームの識別情報を用いて示す情報であり、
     前記復号対象選択部は、前記アトリビュート対応情報において示される、復号対象として選択した前記ジオメトリの前記スライスに対応する前記アトリビュートの前記ビットストリームの前記識別情報を用いて、復号対象とする前記アトリビュートデータの選択を行う
     請求項16に記載の情報処理装置。
  18.  前記復号対象選択部は、前記ジオメトリデータにおける前記スライスの位置を示す情報であるスライスアドレス情報に基づいて、前記ジオメトリの前記ビットストリームから、復号対象とする前記スライスを取得する
     請求項11に記載の情報処理装置。
  19.  前記復号対象選択部は、復号処理の並列化に関する情報である並列化情報に基づいて、復号対象とする前記スライスの選択を行い、
     前記復号部は、前記並列化情報に基づいて、前記復号対象選択部により選択された複数の前記スライスの復号処理を並列化する
     請求項11に記載の情報処理装置。
  20.  3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドについて、ジオメトリの解像度および領域に対応するジオメトリデータのスライスを示す情報であるスライス対応情報に基づいて、前記ジオメトリのビットストリームから、復号対象とする前記ジオメトリの解像度および領域に対応する前記ジオメトリデータのスライスを復号対象として選択し、
     選択された前記スライスを復号する
     情報処理方法。
PCT/JP2021/034951 2020-10-06 2021-09-24 情報処理装置および方法 WO2022075079A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/026,713 US20230342981A1 (en) 2020-10-06 2021-09-24 Information processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-169143 2020-10-06
JP2020169143 2020-10-06

Publications (1)

Publication Number Publication Date
WO2022075079A1 true WO2022075079A1 (ja) 2022-04-14

Family

ID=81126839

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034951 WO2022075079A1 (ja) 2020-10-06 2021-09-24 情報処理装置および方法

Country Status (2)

Country Link
US (1) US20230342981A1 (ja)
WO (1) WO2022075079A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189709A1 (ja) * 2019-03-18 2020-09-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189709A1 (ja) * 2019-03-18 2020-09-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

Also Published As

Publication number Publication date
US20230342981A1 (en) 2023-10-26

Similar Documents

Publication Publication Date Title
JP7359153B2 (ja) 画像処理装置および方法
WO2021010200A1 (ja) 情報処理装置および方法
WO2021251173A1 (ja) 情報処理装置および方法
WO2019142665A1 (ja) 情報処理装置および方法
WO2022075079A1 (ja) 情報処理装置および方法
WO2022145357A1 (ja) 情報処理装置および方法
WO2022145214A1 (ja) 情報処理装置および方法
WO2022054744A1 (ja) 情報処理装置および方法
WO2021065535A1 (ja) 情報処理装置および方法
JP7415937B2 (ja) 画像処理装置および方法
WO2021010134A1 (ja) 情報処理装置および方法
CN115918096A (zh) 信息处理装置和方法
US20240193869A1 (en) Information processing device and method thereof
US20240193862A1 (en) Information processing device and method
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
WO2022220278A1 (ja) 情報処理装置および方法
WO2022004377A1 (ja) 情報処理装置および方法
WO2020262020A1 (ja) 情報処理装置および方法
WO2023054156A1 (ja) 情報処理装置および方法
WO2024143466A1 (ja) 情報処理装置および方法
WO2022075078A1 (ja) 画像処理装置および方法
US20230360277A1 (en) Data processing method and apparatus for immersive media, device and storage medium
CN117529924A (zh) 信息处理装置和方法
WO2022138231A1 (ja) 画像処理装置および方法
WO2021140928A1 (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: 21877380

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP