WO2020145140A1 - 情報処理装置および方法 - Google Patents
情報処理装置および方法 Download PDFInfo
- Publication number
- WO2020145140A1 WO2020145140A1 PCT/JP2019/050761 JP2019050761W WO2020145140A1 WO 2020145140 A1 WO2020145140 A1 WO 2020145140A1 JP 2019050761 W JP2019050761 W JP 2019050761W WO 2020145140 A1 WO2020145140 A1 WO 2020145140A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- attribute information
- point cloud
- unit
- information
- resolution
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Definitions
- the present disclosure relates to an information processing apparatus and method, and more particularly, to an information processing apparatus and method capable of more easily obtaining attribute information of a desired resolution.
- Non-Patent Document 1 a method of encoding 3D data representing a three-dimensional structure such as a point cloud has been considered (see Non-Patent Document 1, for example).
- the present disclosure has been made in view of such a situation, and makes it possible to more easily obtain attribute information of a desired resolution.
- An information processing apparatus includes an attribute information coding unit that codes attribute information layered based on resolution of a point cloud that represents a three-dimensional object as a point cloud. Is.
- the information processing method is an information processing method that encodes attribute information layered based on the resolution of a point cloud that represents a three-dimensional object as a point cloud.
- An information processing device includes an attribute information decoding unit that decodes encoded data of attribute information layered based on resolution of a point cloud that represents a three-dimensional object as a point cloud. It is an information processing device.
- the information processing method of another aspect of the present technology is an information processing method of decoding encoded data of attribute information layered based on resolution of a point cloud that represents a three-dimensional object as a point cloud.
- attribute information layered based on resolution of a point cloud that represents a three-dimensional object as a point cloud is encoded.
- encoded data of attribute information layered based on resolution of a point cloud that represents a three-dimensional object as a point cloud is decoded.
- Non-Patent Document 1 (described above)
- Non-Patent Document 2 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017.
- Non-Patent Document 3 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
- Non-Patent Document 4 Jianle Chen, Maria Alshina, Gary J.
- the contents described in the above non-patent documents are also the basis for determining support requirements.
- the Quad-Tree Block Structure described in Non-Patent Document 3 and the QTBT (Quad Tree Plus Binary Tree) Block Structure described in Non-Patent Document 4 are not directly described in the embodiment, It is within the disclosure range of the present technology and satisfies the support requirements of the claims.
- the technical terms such as Parsing, Syntax, and Semantics are also within the disclosure range of the present technology even when there is no direct description in the embodiment. It shall meet the support requirements of the claims.
- ⁇ Point cloud> Conventionally, a point cloud that represents a three-dimensional structure based on position information and attribute information of points, and a mesh that is composed of vertices, edges, and faces and that defines a three-dimensional shape using polygon representation (Mesh) ) Etc. 3D data existed.
- a three-dimensional structure (three-dimensional object) is represented as a set of many points (point cloud). That is, the point cloud data (also referred to as point cloud data) is composed of position information and attribute information of each point of this point cloud.
- the attribute information includes, for example, color information, reflectance information, normal line information and the like. Therefore, the data structure is relatively simple, and an arbitrary three-dimensional structure can be expressed with sufficient accuracy by using a sufficient number of points.
- Octree is a tree structure of the 3D area of the point cloud.
- the value of each node of this Octree indicates the presence/absence of points in the partial area corresponding to the node in the three-dimensional area of the point cloud. For example, the value "1" indicates a partial area that includes a point, and the value "0" indicates a partial area that does not include a point.
- one node corresponds to eight partial areas. That is, each node of the Octree is composed of 8-bit data, and the 8-bit indicates the presence/absence of points in the eight partial areas.
- the upper node of the Octree indicates the presence or absence of points in the area in which the eight partial areas corresponding to the lower nodes belonging to that node are put together into one. That is, the upper node is generated by collecting the information of the partial areas of the lower nodes. If the value of the node is “0”, that is, if the corresponding eight partial areas do not include all the points, the node is deleted.
- Octree a tree structure consisting of nodes whose value is not "0" is constructed.
- Octree can indicate the presence or absence of points in the partial area of each resolution. Therefore, by converting the point cloud into an octree and then encoding, it is possible to more easily restore the point cloud of various resolutions at the time of decoding. That is, the scalability of the point cloud can be realized more easily.
- FIG. 1 is a block diagram showing a main configuration example of a conventional encoding device that encodes a point cloud.
- the octree conversion unit 11 receives designation of lod (the number of octree layers) from the outside, and sets the octree of the position information of the point cloud 21 to the designated number of layers (lod). To generate.
- lod the number of octree layers
- the octree conversion unit 11 receives designation of the resolution and generates the octree of the position information of the designated resolution.
- the point cloud reconstructing unit 12 reconstructs a point cloud from the octree. That is, the positional information restricted by lod, that is, the positional information of the specified resolution is obtained.
- the recoloring unit 13 recolors the attribute information of the point cloud 21 so as to correspond to the reconstructed point cloud (position information of the designated resolution). As a result, the attribute information of the designated resolution is obtained.
- the position information encoding unit 14 encodes the position information (Octree) of the specified resolution generated by the Octree unit 11 to generate encoded data of the position information.
- the attribute information encoding unit 15 encodes the attribute information of the designated resolution generated by the recolor unit 13 to generate encoded data of the attribute information.
- the bitstream generation unit 16 generates and outputs the bitstream 22 including the encoded data of the position information and the encoded data of the attribute information. That is, the bit stream 22 includes encoded data of the resolution restricted by the specified LoD.
- FIG. 2 is a block diagram showing a main configuration example of a conventional decoding device that decodes encoded data of a point cloud.
- the decoding device 30 illustrated in FIG. 2 corresponds to, for example, the encoding device 10 in FIG. 1, and decodes the bitstream 22 generated by the encoding device 10.
- the position information decoding unit 31 decodes the coded data of the position information included in the bitstream 22 and generates the Octtree of the position information of the resolution restricted by the specified LoD.
- the point cloud reconstructing unit 32 reconstructs a point cloud from the Octree. That is, the position information of the resolution restricted by the specified LoD is obtained.
- the attribute information decoding unit 33 decodes the encoded data of the attribute information included in the bitstream 22 and generates the attribute information of the resolution restricted by the specified LoD.
- the point cloud generation unit 34 generates the “position information of the resolution constrained by the designated LoD” generated by the point cloud reconstruction unit 32 and the “constrained by the designated LoD” generated by the attribute information decoding unit 33. "Attribute information of the resolution” is associated with each other to generate the point cloud 23 having the resolution restricted by the specified LoD.
- the original voxel is divided into equal parts and bits are used to express whether or not there are points included in the divided parts.
- the resolution can be changed by limiting the division level, but the position information after decoding the position information of the original point is displaced. Therefore, the color information of the original point cannot be used as it is, and it becomes necessary to perform mapping (also called recolor) of the attribute information. Therefore, the processing load may increase.
- the attribute information is also hierarchized according to the resolution so as to be encoded/decoded. By doing so, the resolution scalability of the attribute information can be realized, and the attribute information with the desired resolution can be obtained more easily.
- FIG. 3 is a block diagram showing an example of the configuration of an encoding device which is an aspect of an information processing device to which the present technology is applied.
- the encoding apparatus 100 shown in FIG. 3 is an apparatus that encodes a point cloud (3D data).
- the encoding apparatus 100 hierarchically encodes the attribute information of the point cloud based on the resolution.
- the encoding apparatus 100 includes an octree conversion unit 101, point cloud reconstruction units 102-0 to point cloud reconstruction units 102-n (n is a natural number), recolor units 103-0 to recolor units. 103-n, a position information coding unit 104, attribute information coding units 105-0 to 105-n, and a bitstream generation unit 106.
- the point cloud reconstructing unit 102-0 to the point cloud reconstructing unit 102-n will be referred to as the point cloud reconstructing unit 102 unless it is necessary to distinguish them from each other.
- the recolor unit 103-0 to the recolor unit 103-n are referred to as the recolor unit 103 unless it is necessary to distinguish them from each other.
- the attribute information coding units 105-0 to 105-n are referred to as the attribute information coding unit 105 when there is no need to distinguish between the attribute information coding units 105-0 to 105-n.
- the encoding device 100 has (n+1) each of these processing units for encoding attribute information.
- the point cloud reconstruction unit 102-0 to the point cloud reconstruction unit 102-n perform processing for different resolutions.
- the recolor units 103-0 to 103-n perform processing for different resolutions.
- the attribute information coding units 105-0 to 105-n perform processing for different resolutions. That is, the encoding apparatus 100 hierarchically encodes the attribute information into (n+1) types of resolutions.
- the point cloud reconstruction unit 102-0 to the point cloud reconstruction unit 102-n may be integrated. That is, one point cloud reconstructing unit 102 may be able to perform processing with (n+1) types of resolutions.
- the recolor units 103-0 to 103-n may be integrated. That is, one recolor unit 103 may be able to perform processing with (n+1) types of resolutions.
- the attribute information coding units 105-0 to 105-n may be integrated. That is, one attribute information encoding unit 105 may be able to perform processing with (n+1) types of resolutions.
- the octree conversion unit 101 acquires the position information of the point cloud 121 that is the target of encoding processing.
- the Octree conversion unit 101 generates an Octree of the position information.
- the Octree conversion unit 101 converts the position information into Octree at the maximum resolution (without LoD restriction).
- the Octree conversion unit 101 supplies the generated Octree to the point cloud reconstruction unit 102 and the position information encoding unit 104.
- the octree by the octree conversion unit 101 may be any one that can realize resolution scalability.
- the Octree scan method is arbitrary.
- the width may be prioritized
- the depth may be prioritized, other than them, or they may be combined. You may make it divide
- the point cloud reconstructing unit 102 acquires the octree supplied from the octree converting unit 101.
- the point cloud reconstructing unit 102 reconstructs the point cloud from the octree in a predetermined hierarchy (level) (under a predetermined LoD constraint). That is, the point cloud reconstruction unit 102 generates position information with a predetermined resolution from the Octree.
- the point cloud reconstruction unit 102 supplies the generated point cloud (position information) to the recolor unit 103.
- the point cloud reconstructing unit 102-0 to the point cloud reconstructing unit 102-n reconstruct the point cloud with different LoD constraints (at different resolutions). For example, the point cloud reconstructing unit 102-0 reconstructs the point cloud at the level lod0 (with LoD constraint of lod0) and supplies the point cloud (position information) to the recoloring unit 103-0.
- the point cloud reconstructing unit 102-1 reconstructs the point cloud at the level lod1 (with the LoD constraint of lod1), and supplies the point cloud (position information) to the recolor unit 103-1.
- the point cloud reconstruction unit 102-n reconstructs the point cloud at the level lodn (with LoD constraint of lodn) and supplies the point cloud (position information) to the recolor unit 103-n. In this way, each point cloud reconstructing unit 102 reconstructs the point cloud at the level lod set for itself (with the LoD constraint set for itself) and associates the point cloud (position information) with itself. It is supplied to the recolor unit 103.
- the recolor unit 103 hierarchizes the attribute information based on the resolution. For example, the recolor unit 103 acquires the attribute information of the point cloud 121 that is the encoding target. The recolor unit 103 also acquires the point cloud (position information) supplied from the point cloud reconstructing unit 102. The recoloring unit 103 recolors the attribute information so as to correspond to the point cloud (positional information).
- the recolor process is a process of associating the attribute information with the position information, and by this process, the resolution of the attribute information is converted into the same resolution as the position information.
- the specific processing content depends on the content of the attribute information and the like. For example, when the attribute information includes color information (information indicating the color of a point), the recolor processing includes conversion processing for that color. Further, when the attribute information includes information such as a normal line and reflectance, conversion processing of the information is included.
- the method of converting these pieces of information is arbitrary. For example, the information of the nearest point (the point closest to the processing target point) may be duplicated, or it may be derived using the information of a plurality of neighboring points (points located near the processing target point). (For example, a median value or an average value may be applied).
- the recolor unit 103 converts the resolution of the attribute information into the same resolution as the point cloud (position information). In other words, the recolor unit 103 generates attribute information having the same resolution as the point cloud (position information).
- the recolor units 103-0 to 103-n perform recolor processing with different LoD constraints (different resolutions). That is, the recolor units 103-0 to 103-n convert the resolutions of the attribute information into different resolutions. For example, the recolor unit 103-0 acquires the point cloud (position information) of the LoD constraint of lod0 from the point cloud reconstructing unit 102-0, and the resolution of the attribute information of the point cloud 121 is the resolution of the position information. Convert to resolution of level lod0 (perform resolution conversion of attribute information with LoD0 LoD constraint).
- the recolor unit 103-1 acquires the point cloud (position information) of LoD1 of lod1 from the point cloud reconstructing unit 102-1 and sets the resolution of the attribute information of the point cloud 121 to the level lod1 which is the resolution of the position information. Convert to the resolution of (the resolution of attribute information is converted by LoD1 LoD constraint).
- the recolor unit 103-n acquires the point cloud (position information) of LoD constraint of lodn from the point cloud reconstructing unit 102-n, and sets the resolution of the attribute information of the point cloud 121 to the level lodn which is the resolution of the position information. (The resolution of attribute information is converted by LoD constraint of lodn).
- each recolor unit 103 acquires the point cloud (positional information) from the point cloud reconstructing unit 102 corresponding to itself, and converts the resolution of the attribute information of the point cloud 121 into the same resolution as the positional information. (Performs resolution conversion of attribute information with LoD constraint set for itself).
- the recolor unit 103 makes the attribute information hierarchical by associating the attribute information with a plurality of Octree levels.
- the recolor unit 103 supplies the attribute information whose resolution is thus controlled to the attribute information encoding unit 105.
- the recolor unit 103-0 supplies the attribute information of the resolution of the level lod0 (attribute information of LoD constraint of lod0) to the attribute information encoding unit 105-0.
- the recolor unit 103-1 supplies the attribute information of the resolution of level lod1 (LoD constraint attribute information of lod1) to the attribute information encoding unit 105-1.
- the recolor unit 103-n supplies the attribute information of the resolution of the level lodn (LoD constraint attribute information of lodn) to the attribute information encoding unit 105-n. In this way, each recolor unit 103 supplies the generated attribute information (LoD constraint attribute information set to itself) to the attribute information encoding unit 105 corresponding to itself.
- the position information encoding unit 104 acquires the octree supplied from the octree forming unit 101.
- the position information coding unit 104 codes the Octree to generate coded data of position information.
- the LoD constraint is unnecessary.
- the position information coding unit 104 generates coded data of position information at the maximum resolution.
- the position information encoding unit 104 supplies the generated encoded data of the position information to the bitstream generation unit 106.
- the attribute information encoding unit 105 encodes the attribute information layered based on the resolution of a point cloud that represents a three-dimensional object as a point cloud. For example, the attribute information encoding unit 105 acquires the attribute information that is supplied from the recolor unit 103 and is layered based on the resolution, encodes the attribute information, and generates encoded data of the attribute information. The attribute information encoding unit 105 supplies the generated encoded data of the attribute information to the bitstream generation unit 106.
- the attribute information encoding units 105-0 to 105-n encode attribute information of different resolutions (of different LoD constraints). For example, the attribute information encoding unit 105-0 acquires and encodes the attribute information of the resolution of the level lod0 (LoD constraint attribute information of lod0) supplied from the recolor unit 103-0. The attribute information encoding unit 105-0 supplies the generated encoded data of the attribute information of the resolution of the level lod0 (encoded data of the LoD constraint attribute information of lod0) to the bitstream generation unit 106. The attribute information encoding unit 105-1 acquires and encodes the attribute information of the resolution of the level lod1 (LoD constraint attribute information of lod1) supplied from the recoloring unit 103-1.
- the attribute information encoding unit 105-1 supplies the generated encoded data of the attribute information of the resolution of the level lod1 (encoded data of the LoD constraint attribute information of lod1) to the bitstream generation unit 106.
- the attribute information coding unit 105-n acquires and codes the attribute information of the resolution of the level lodn (LoD constraint attribute information of lodn) supplied from the recolor unit 103-n.
- the attribute information coding unit 105-n supplies the generated coded data of the attribute information of the resolution of the level lodn (the coded data of the LoD constraint attribute information of lodn) to the bitstream generation unit 106.
- each attribute information encoding unit 105 acquires the attribute information (LoD constraint attribute information set for itself) supplied from the recolor unit 103 corresponding to itself, encodes the attribute information, and generates the generated attribute information.
- the encoded data is supplied to the bitstream generation unit 106.
- the encoding method of this attribute information is arbitrary.
- the attribute information may be projected two-dimensionally and the two-dimensional image may be encoded using a two-dimensional image encoding method such as JPEG (Joint Photographic Experts Group). Further, the attribute information may be uncompressed. That is, the attribute information encoding unit 105 may be omitted.
- JPEG Joint Photographic Experts Group
- the bitstream generation unit 106 generates a bitstream including encoded data of attribute information. For example, the bitstream generation unit 106 acquires the encoded data of the attribute information supplied from the attribute information encoding unit 105. The bitstream generation unit 106 generates the bitstream 122 including the encoded data of the acquired attribute information.
- the encoded data of the attribute information supplied from the attribute information encoding unit 105 is hierarchized based on the resolution. For example, the bitstream generation unit 106 acquires the coded data of the attribute information of the resolution of the level lod0 (the coded data of the LoD constraint attribute information of lod0) supplied from the attribute information coding unit 105-0. The bitstream generation unit 106 acquires the encoded data of the attribute information of the resolution of the level lod1 (the encoded data of the LoD constraint attribute information of lod1) supplied from the attribute information encoding unit 105-1.
- the bit stream generation unit 106 acquires the encoded data of the attribute information of the resolution of the level lodn (the encoded data of the attribute information of the LoD constraint of lodn) supplied from the attribute information encoding unit 105-n. In this way, the bitstream generation unit 106 acquires the encoded data of the attribute information of each resolution supplied from each attribute information encoding unit 105. The bitstream generation unit 106 generates one bitstream 122 including the encoded data of the attribute information of all the resolutions thus acquired. That is, the bitstream 122 includes the attribute information of each resolution (the attribute information of the resolution constrained by LoD (0 to n)).
- bitstream generation unit 106 acquires the encoded data of the position information supplied from the position information encoding unit 104.
- the bitstream generation unit 106 also includes the encoded data of the acquired position information in the bitstream 122.
- the bitstream generation unit 106 outputs the generated bitstream 122 to the outside of the encoding device 100.
- the encoding apparatus 100 can hierarchically encode the attribute information based on the resolution, and thus can easily obtain the attribute information of a desired resolution at the time of decoding. You can be able to.
- data in the upper layer can be easily obtained without having to decode all attribute information up to the lowest layer (highest resolution). Therefore, it is possible to suppress an increase in decoding processing time. As a result, it is possible to suppress an increase in processing time when the point cloud is converted into a two-dimensional image and displayed (typically, the processing time can be shortened).
- each recolor unit 103 performs recolor processing to hierarchically classify the attribute information into (n+1) layers, but this n is an arbitrary natural number, that is, the attribute information
- the layer setting (the number of layers) is arbitrary.
- attribute information may be generated for all layers of position information (the number of layers of attribute information is the same as the number of layers of position information), or attribute information may be generated for some layers of position information.
- the number of layers of attribute information may be smaller than the number of layers of position information.
- the number of layers of the attribute information may be set in advance, may be set by the user, or may be set based on (the position information of) the point cloud to be encoded. May be.
- the attribute information may be derived by any method.
- the attribute information of a layer higher than the layer to be processed may be used to generate the attribute information of the layer to be processed.
- the attribute information of the upper hierarchy may be duplicated, or filtering may be further performed so that the change becomes more natural.
- the attribute information of the layer lower than the layer to be processed may be used to generate the attribute information of the layer to be processed.
- the attribute information of the lower hierarchy may be duplicated, or it may be derived using a plurality of attribute information of the lower hierarchy (for example, an average value or a median value is applied), Further filtering may be performed to make more natural changes.
- the number of layers of the attribute information is set to be smaller than the number of layers of the position information, which layer of the position information is associated with the attribute information (which layer of the position information is to be generated as attribute information) is arbitrary. is there. For example, it may be set in advance which layer of the position information the attribute information is to be generated in, or may be set by a user or the like.
- the attribute information may be generated so as to correspond to the effective level of the Octtree of the position information that satisfies a predetermined condition.
- the point cloud reconstructing unit 102 determines whether or not the layer to be processed is the effective level, and the recolor unit 103 performs the recolor processing on the layer determined to be the effective level. May be.
- each point cloud reconstructing unit 102 determines whether or not the hierarchy (LoD constraint) set for itself is an effective level of the Octtree of the position information, and the point cloud determined to be an effective level
- the recoloring unit 103 corresponding to the reconstructing unit 102 may acquire the point cloud (positional information) from the point cloud reconstructing unit 102 and perform the recoloring process.
- the point cloud reconstructing unit 102 may determine that a level having a score greater than a predetermined threshold value and a score of at least twice the level one higher than the Octree is an effective level.
- the octree generating unit 101 of the encoding device 100 When the encoding process is started, the octree generating unit 101 of the encoding device 100 generates an octree of position information in step S101.
- step S102 the point cloud reconstructing unit 102 sets a variable lod indicating a hierarchy (level) to be processed to an initial value (for example, “0”).
- step S103 the point cloud reconstruction unit 102 determines whether or not the value of the variable lod exceeds the final resolution, that is, whether or not processing has been performed up to the lowest layer. If it is determined that there is an unprocessed layer, the process proceeds to step S104.
- step S104 the point cloud reconstructing unit 102 (the point cloud reconstructing unit 102 of the LoD constraint of the variable lod) corresponding to the hierarchy to be processed is the point cloud of the hierarchy indicated by the variable lod (the points of the LoD constraint of the variable lod. Group) is generated.
- step S105 the point cloud reconstruction unit 102 executes a determination process for determining whether or not the hierarchy indicated by the variable lod is a valid level that satisfies a predetermined condition. Then, in step S106, the point cloud reconstruction unit 102 determines, based on the processing result, whether or not the hierarchy indicated by the variable lod is a valid level. If it is determined that the level is valid, the process proceeds to step S107.
- step S107 the recolor unit 103 performs recolor processing on the layer (layer indicated by the variable lod) and associates the position information with the attribute information.
- step S108 the recolor unit 103 saves the generated attribute information (that is, attribute information of the layer indicated by the variable lod).
- step S106 If it is determined in step S106 that the hierarchy indicated by the variable lod is not a valid level, the processes of steps S107 and S108 are omitted (skip), and the process proceeds to step S109.
- step S109 ends, the process returns to step S103. That is, each processing of step S103 to step S109 is appropriately executed for each hierarchy of the Octree of the position information.
- step S103 determines whether the processing has been performed for all layers. If it is determined in step S103 that the processing has been performed for all layers, the processing proceeds to step S110.
- step S110 the position information encoding unit 104 encodes the Octtree of the position information and generates encoded data of the position information.
- step S111 the attribute information encoding unit 105 encodes the valid level attribute information stored in step S108 to generate encoded data of the valid level attribute information. That is, the attribute information encoding unit 105 encodes the attribute information layered based on the resolution.
- step S112 the bitstream generation unit 106 generates and outputs a bitstream including the encoded data of the position information generated in step S110 and the encoded data of the attribute information generated in step S111.
- step S112 When the process of step S112 ends, the encoding process ends.
- the point cloud reconstructing unit 102 When the determination process is started, the point cloud reconstructing unit 102 initializes a variable p_point that indicates the number of nodes (score) in a layer one level higher than the octree processing target layer in step S131. In step S132, the point cloud reconstructing unit 102 sets the number of points (the number of nodes) of the layer of the variable lod of the Octtree of the position information to the variable point indicating the number of the nodes (the number of points) of the octree processing target layer.
- step S133 the point cloud reconstruction unit 102 determines whether the variable point is larger than a predetermined threshold value. That is, the point cloud reconstructing unit 102 determines whether or not the number of nodes (the number of position information) in the octree processing target hierarchy is larger than a predetermined threshold value. If it is determined that the variable point is larger than the predetermined threshold value, the process proceeds to step S134.
- step S134 the point cloud reconstruction unit 102 determines whether the variable point is larger than twice the variable p_point (2xp_point). That is, the point cloud reconstructing unit 102 determines whether or not the number of nodes in the octree processing target layer is more than twice the number of nodes in the layer immediately above it. When it is determined that the variable point is larger than twice the variable p_point, the process proceeds to step S135.
- step S135 the point cloud reconstructing unit 102 sets the value of the variable point in the variable p_point.
- step S136 the point cloud reconstruction unit 102 determines that the layer to be processed is a valid level. That is, the point cloud reconstructing unit 102 determines that a layer having a sufficiently large number of points and having a significantly larger number of points than the layer one level higher is an effective level.
- the determination process ends, and the process returns to FIG.
- step S133 If it is determined in step S133 that the variable point is less than or equal to the predetermined threshold value, that is, the score (number of nodes) is small, the process proceeds to step S137. If it is determined in step S134 that the variable point is equal to or less than twice the variable p_point (2xp_point), that is, it is determined that the score does not increase much as compared with the layer one level higher, the process proceeds to step S137. ..
- step S137 the point cloud reconstruction unit 102 determines that the layer to be processed is an invalid level. That is, the point cloud reconstructing unit 102 determines that a layer with a small number of points or a layer with a small increase in the number of points as compared with the next higher layer is an invalid level.
- the determination process ends, and the process returns to FIG.
- the encoding device 100 can hierarchically encode the attribute information based on the resolution. Therefore, it is possible to more easily obtain the attribute information of a desired resolution at the time of decoding.
- FIG. 6 is a diagram showing an example of the main configuration of the bitstream generated by the encoding device 100 as described above.
- the bitstream 200 shown in FIG. 6 corresponds to the bitstream 122 of FIG.
- the bitstream 200 includes a start code (start_code) 201, sequence header information (seq_Header_info) 202, position information (geo_data) 203, and attribute information (color_data(0)) 204-0 to attributes. It has information (color_data(n)) 204-n.
- the start code 201 is composed of a predetermined bit string indicating the start position of the bitstream 200.
- the sequence header information 202 is sequence header information and includes management information of the bitstream 200 and the like.
- the position information 203 is position information of the points of the point cloud and includes, for example, coordinates.
- the attribute information 204-0 to attribute information 204-n are attribute information for each layer of the point cloud (for each resolution), and include, for example, color information, normal line information, reflectance information, and the like, respectively. Note that the attribute information 204-0 to 204-n are referred to as attribute information 204 unless it is necessary to distinguish them from each other. As described above, in the bit stream 20, the attribute information 204 is managed separately for each layer (for each resolution).
- sequence header information 202 includes sequence information (seq_info) 211, resolution mode flag (reso_mode flag) 212, and resolution information (reso(0)_info) 213-0 to resolution information (reso(n)_info) 213-n. Have.
- the sequence information 211 includes information about the sequence.
- the resolution mode flag 212 is flag information indicating a mode of the data structure of the attribute information 204 (for example, whether or not the attribute information 204 is hierarchical).
- the resolution information 213-0 to the resolution information 213-n include information regarding each resolution. That is, information on each resolution is collected for each resolution. Note that the resolution information 213-0 to the resolution information 213-n are referred to as resolution information 213 unless it is necessary to distinguish them from each other.
- the resolution information 213 includes a resolution identification number (reso_no) 221, a point cloud LoD level 222, a point cloud resolution information 223, and attribute information location information (color_data_location(offset/address)). 224 and additional information (additional_info) 225.
- the resolution identification number 221 is identification information (for example, a number) that identifies this resolution information 213.
- the point cloud LoD level 222 includes information indicating the octree hierarchy corresponding to this resolution information 213.
- the point cloud resolution information 223 includes information indicating the resolution corresponding to this resolution information 213.
- the attribute information location information 224 is information (pointer) indicating the position of the attribute information 204 of each resolution in the bitstream 200.
- the position of the attribute information 204 may be indicated by, for example, an offset (offset) from the beginning or an address (address).
- the additional information 225 can include any information regarding this resolution.
- the position information 203 has a start code (start_code) 231, header information (header_info) 232, point cloud position information (point position info) 233, and additional property information (additional property info) 234.
- start_code start code
- header_info header information
- point_info point cloud position information
- additional property info additional property info
- the start code 231 is composed of a predetermined bit string indicating the start of the position information 203.
- the header information 232 is header information of this position information 203, and includes management information and the like regarding this position information 203.
- the point cloud position information 233 includes position information of each point.
- the additional property information 234 can include any information regarding location information.
- the attribute information 204 has a start code (start_code) 241, header information (Header_info) 242, point cloud attribute information (point cloud color info) 243, and additional property information (additional property info) 244.
- the start code 241 is composed of a predetermined bit string indicating the start of this attribute information 204.
- the header information 242 is header doctor information of the attribute information 204 and includes management information and the like regarding the attribute information 204.
- the point cloud attribute information 243 includes attribute information of each point of this resolution.
- the additional property information 244 can include any information regarding the attribute information of this resolution.
- FIG. 7 is a block diagram showing an example of the configuration of a decoding device that is an aspect of an information processing device to which the present technology is applied.
- the decoding device 300 illustrated in FIG. 7 is a device that decodes encoded data of a point cloud (3D data).
- the decoding device 300 decodes the encoded data of the attribute information layered based on the resolution of the point cloud that represents a three-dimensional object as a point cloud. That is, the decoding device 300 supports resolution scalability.
- the decoding device 300 decodes the bitstream 122 generated by the encoding device 100 of FIG. 3 and generates a point cloud with a desired resolution.
- the decoding device 300 includes a stream decomposing unit 301, a lod designation receiving unit 302, a position information decoding unit 303, a point cloud reconstructing unit 304-0 to a point cloud reconstructing unit 304-n (n is Natural number), attribute information decoding units 305-0 to 305-n, and point cloud generation units 306-0 to 306-n.
- the point cloud reconstructing units 304-0 to 304-n will be referred to as the point cloud reconstructing unit 304 unless it is necessary to distinguish them from each other.
- the attribute information decoding unit 305-0 to the attribute information decoding unit 305-n are referred to as the attribute information decoding unit 305 when it is not necessary to distinguish them from each other.
- the point cloud generation unit 306-0 to the point cloud generation unit 306-n will be referred to as a point cloud generation unit 306 when there is no need to distinguish them from each other.
- the decoding device 300 has (n+1) pieces of these processing units for decoding encoded data of position information and attribute information.
- the point cloud reconstruction units 304-0 to 304-n perform processing for different resolutions.
- the attribute information decoding units 305-0 to 305-n perform processing for mutually different resolutions.
- the point cloud generators 306-0 to 306-n perform processing for different resolutions. That is, the decoding device 300 can decode a bitstream (encoded data of position information and attribute information) with (n+1) types of resolutions.
- the point cloud reconstructing unit 304-0, the attribute information decoding unit 305-0, and the point cloud generating unit 306-0 configure a layer decoding unit 310-0.
- the point cloud reconstructing unit 304-1, the attribute information decoding unit 305-1, and the point cloud generating unit 306-1 form a hierarchical decoding unit 310-1.
- the point cloud reconstructing unit 304-n, the attribute information decoding unit 305-n, and the point cloud generating unit 306-n configure a hierarchical decoding unit 310-n. In this way, the point cloud reconstructing unit 304, the attribute information decoding unit 305, and the point cloud generating unit 306 corresponding to each resolution configure the hierarchical decoding unit 310 corresponding to that resolution.
- the decoding device 300 includes the hierarchical decoding units 310-0 to 310-n that perform processing for mutually different resolutions.
- the hierarchical decoding units 310-0 to 310-n are referred to as the hierarchical decoding unit 310 unless it is necessary to distinguish them from each other.
- the stream decomposition unit 301 decomposes the bit stream 122 and extracts the encoded data of position information and the encoded data of attribute information.
- the stream decomposition unit 301 supplies the encoded data of the extracted position information to the position information decoding unit 303.
- the stream decomposition unit 301 also supplies the extracted encoded data of the attribute information to the attribute information decoding unit 305.
- the lod designation receiving unit 302 receives, for example, a control instruction that is input by a user, an external device, or the like and that designates a resolution (level (lod)) to be decoded.
- the lod designation receiving unit 302 supplies the received control instruction (lod) to the position information decoding unit 303 and the hierarchical decoding unit 310.
- the position information decoding unit 303 decodes the encoded data of the position information supplied from the stream decomposition unit 301 at the resolution (level) specified by the control instruction (lod) supplied from the lod specification receiving unit 302, and controls The position information (Octree) of the resolution (level) specified by the instruction is generated.
- the position information in this encoded data is octree-encoded and encoded. Therefore, the position information decoding unit 303 can easily generate position information (Octree) of a desired lod.
- the method of decoding the encoded data of the position information is arbitrary. For example, in the case of width-first Octree encoded data, the position information decoding unit 303 may end the decoding at the level specified while decoding.
- a termination code or the like may be inserted for each layer at the time of encoding, and the position information decoding unit 303 may specify the termination position using this termination code. By doing so, it is possible to easily determine the end.
- the position information decoding unit 303 supplies the generated position information (Octee) to the point cloud reconstruction unit 304.
- the layer decoding unit 310 decodes the bitstream 122 with the resolution set to itself and generates the point cloud 323 with the resolution set to itself.
- the hierarchical decoding unit 310-0 decodes the bitstream 122 and generates a point cloud 323-0 having a resolution constrained by lod0.
- the hierarchical decoding unit 310-1 decodes the bitstream 122 and generates a point cloud 323-1 having a resolution constrained by lod1.
- the hierarchical decoding unit 310-n decodes the bitstream 122 and generates a point cloud 323-n with a resolution constrained by lodn.
- the point clouds 323-1 to 323-n are referred to as the point cloud 323 unless it is necessary to distinguish them from each other.
- the point cloud reconstructing unit 304 reconstructs the point cloud using the position information supplied from the position information decoding unit 303. That is, the point cloud reconstructing unit 304 converts the position information to generate a point cloud having the resolution designated by the control instruction.
- the point cloud reconstruction unit 304 supplies the point cloud to the point cloud generation unit 306.
- the attribute information decoding unit 305 decodes the encoded data of the attribute information supplied from the stream decomposition unit 301, and generates the attribute information of the resolution designated by the control instruction. As described in the first embodiment, in this encoded data, the attribute information is hierarchized based on the resolution. That is, the attribute information decoding unit 305 decodes the encoded data of the attribute information layered based on the resolution of the point cloud that represents a three-dimensional object as a point cloud. Therefore, the attribute information decoding unit 305 can generate attribute information of a desired resolution without decoding encoded data up to the highest resolution. Note that the attribute information decoding method is arbitrary as long as it corresponds to the encoding method of the encoding device 100.
- the attribute information decoding unit 305 can be omitted. Further, when the resolution specified by the control instruction does not have attribute information, the attribute information may be generated.
- the method is arbitrary.
- the attribute information of a layer higher than the layer to be processed may be used to generate the attribute information of the layer to be processed.
- the attribute information of the upper hierarchy may be duplicated, or filtering may be further performed so that the change becomes more natural.
- the attribute information of the layer lower than the layer to be processed may be used to generate the attribute information of the layer to be processed.
- the attribute information of the lower hierarchy may be duplicated, or it may be derived using a plurality of attribute information of the lower hierarchy (for example, an average value or a median value is applied), Further filtering may be performed to make more natural changes.
- the attribute information decoding unit 305 supplies the generated attribute information to the point cloud generation unit 306.
- the point cloud generation unit 306 associates the position information supplied from the point cloud reconstruction unit 304 with the attribute information supplied from the attribute information decoding unit 305, and generates the point cloud 323 of the designated resolution (level). , To the outside of the decoding device 300.
- the lod designation receiving unit 302 supplies the received control instruction (lod) to the layer decoding unit 310 corresponding to the resolution designated by the control instruction.
- the position information decoding unit 303 also supplies the generated position information to the hierarchical decoding unit 310 corresponding to the resolution (that is, the resolution designated by the control instruction). Therefore, the hierarchical decoding unit 310 to which these pieces of information are supplied, that is, the hierarchical decoding unit 310 corresponding to the resolution specified by the control instruction is driven as described above to generate the point cloud.
- the lod designation receiving unit 302 supplies the control instruction to the layer decoding unit 310-0.
- the position information decoding unit 303 decodes the encoded data of the position information and generates the position information (Octree) constrained by lod0.
- the position information decoding unit 303 supplies the position information (Octree) constrained by the lod0 to the point cloud reconstructing unit 304-0.
- the point cloud reconstructing unit 304-0 reconstructs the point cloud having the resolution constrained by lod0 using the position information, and supplies the reconstructed point cloud to the point cloud generating unit 306.
- the attribute information decoding unit 305-0 decodes the encoded data of the attribute information supplied from the stream decomposition unit 301, and generates the attribute information of the resolution constrained by lod0.
- the attribute information decoding unit 305-0 supplies the attribute information to the point cloud generation unit 306.
- the point cloud generation unit 306 associates the point cloud supplied from the point cloud reconstruction unit 304-0 with the attribute information supplied from the attribute information decoding unit 305-0, and the point cloud 323 of the resolution constrained by lod0. Generate ⁇ 0 and output.
- the lod designation receiving unit 302 supplies the control instruction to the layer decoding unit 310-1.
- the position information decoding unit 303 decodes the encoded data of the position information and generates the position information (Octree) constrained by lod1.
- the position information decoding unit 303 supplies the position information (Octree) restricted by the lod1 to the point cloud reconstructing unit 304-1.
- the point cloud reconstructing unit 304-1 reconstructs the point cloud having the resolution constrained by lod1 using the position information, and supplies the reconstructed point cloud to the point cloud generating unit 306.
- the attribute information decoding unit 305-1 decodes the encoded data of the attribute information supplied from the stream decomposition unit 301, and generates the attribute information of the resolution constrained by lod1.
- the attribute information decoding unit 305-1 supplies the attribute information to the point cloud generation unit 306.
- the point cloud generation unit 306 associates the point cloud supplied from the point cloud reconstruction unit 304-1 with the attribute information supplied from the attribute information decoding unit 305-1, and the point cloud 323 of the resolution constrained by lod1. Generate -1 and output.
- the lod designation receiving unit 302 supplies the control instruction to the hierarchy decoding unit 310-n.
- the position information decoding unit 303 decodes the coded data of the position information and generates the position information (Octree) constrained by lodn.
- the position information decoding unit 303 supplies the position information (Octree) restricted by the lodn to the point cloud reconstructing unit 304-n.
- the point cloud reconstructing unit 304-n reconstructs a point cloud having a resolution restricted by lodn using the position information, and supplies the reconstructed point cloud to the point cloud generating unit 306.
- the attribute information decoding unit 305-n decodes the encoded data of the attribute information supplied from the stream decomposition unit 301, and generates the attribute information of the resolution constrained by lodn.
- the attribute information decoding unit 305-n supplies the attribute information to the point cloud generation unit 306.
- the point cloud generating unit 306 associates the point cloud supplied from the point cloud reconstructing unit 304-n with the attribute information supplied from the attribute information decoding unit 305-n, and the point cloud 323 of the resolution constrained by lodn -N is generated and output.
- bitstream 122 is decoded, and a point cloud with the resolution specified by the control instruction is generated.
- the point cloud reconstructing units 304-0 to 304-n may be integrated. That is, one point cloud reconstructing unit 304 may be able to perform processing with (n+1) types of resolutions.
- the attribute information decoding units 305-0 to 305-n may be integrated. That is, one attribute information decoding unit 305 may be able to perform processing with (n+1) types of resolutions.
- the point cloud generation units 306-0 to 306-n may be integrated. That is, one point cloud generation unit 306 may be able to perform processing with (n+1) types of resolutions.
- the hierarchical decoding units 310-0 to 310-n may be integrated. That is, one hierarchical decoding unit 310 may be able to perform processing with (n+1) types of resolutions.
- the decoding device 300 can more easily obtain the attribute information of a desired resolution.
- the lod designation receiving unit 302 receives the designation of the variable lod in step S301.
- the attribute information decoding unit 305 sets the variable lod designated in step S301 to the variable do_lod.
- step S303 the attribute information decoding unit 305 determines whether or not the attribute information of the hierarchy of the variable do_lod exists. If it is determined that there is none, the process proceeds to step S304.
- step S305 the attribute information decoding unit 305 decodes the coded data of attribute information at the do_lod level.
- the attribute information is hierarchized based on the resolution. That is, the attribute information decoding unit 305 decodes the encoded data of the attribute information layered based on the resolution of the point cloud that represents a three-dimensional object as a point cloud.
- step S306 the position information decoding unit 303 decodes the encoded data of the position information (Octree) up to the do_lod level.
- step S307 the point cloud reconstructing unit 304 creates a point cloud with a resolution constrained by do_lod using the position information (Octree) up to the do_lod level created in step S306.
- step S308 the point cloud generation unit 306 associates the point cloud generated in step S307 with the attribute information generated in step S305 to generate a point cloud having a resolution restricted by do_lod.
- step S309 the point cloud generation unit 306 determines whether the variable lod and the variable do_lod do not match. If the values of these variables do not match, the process proceeds to step S310.
- step S310 the point cloud generation unit 306 converts the resolution of the generated point cloud from the do_lod level to the lod level.
- step S309 If it is determined in step S309 that the values of the variable lod and the variable do_lod match, the decryption process ends.
- the decoding device 300 can more easily obtain the attribute information of a desired resolution.
- the bitstream may be divided for each resolution of the attribute information.
- FIG. 9 is a block diagram showing an example of the configuration of an encoding device that is one aspect of an information processing device to which the present technology is applied.
- the encoding device 400 illustrated in FIG. 9 hierarchically encodes the attribute information of the point cloud based on the resolution, similarly to the encoding device 100. However, the encoding device 400 generates a bitstream for each resolution of the attribute information layered based on the resolution.
- the encoding device 400 basically has the same configuration as the encoding device 100. However, the encoding device 400 includes the octree forming units 401-0 to 401-n instead of the octree forming unit 101 of the encoding device 100.
- the Octree conversion unit 401-0 to the Octree conversion unit 401-n convert the position information into Octree at the resolutions (levels) set for themselves.
- encoding apparatus 400 has position information encoding sections 404-0 to 404-n instead of position information encoding section 104 of encoding apparatus 100.
- the position information coding units 404-0 to 404-n code the position information (Octree) generated by the octree converting units 401-0 to 401-n, and are set by themselves.
- the encoded data of the position information (Octree) of the different resolution (level) is generated.
- the encoding device 400 has bitstream generating units 406-0 to 406-n instead of the bitstream generating unit 106 of the encoding device 100.
- the bitstream generation units 406-0 to 406-n generate bitstreams 422 (bitstreams 422-0 to 422-n) each including encoded data of the resolution (level) set in itself. To generate. That is, the bitstream generation unit 406 generates a plurality of bitstreams including encoded data of attribute information of different layers.
- the hierarchical coding unit 410-0 performs coding at the level lod0
- the hierarchical coding unit 410-1 performs coding at the level lod1
- the hierarchical coding unit 410-n performs coding at the level lodn.
- the encoding device 400 can generate a bitstream for each resolution.
- control information related to the present technology described in each of the above embodiments may be transmitted from the encoding side to the decoding side.
- control information for example, enabled_flag
- control for designating a range for example, an upper limit or a lower limit of a block size, or both, a slice, a picture, a sequence, a component, a view, a layer, etc.
- a range for example, an upper limit or a lower limit of a block size, or both, a slice, a picture, a sequence, a component, a view, a layer, etc.
- the series of processes described above can be executed by hardware or software.
- the programs constituting the software are installed in the computer.
- the computer includes a computer incorporated in dedicated hardware and a general-purpose personal computer capable of executing various functions by installing various programs.
- FIG. 10 is a block diagram showing a hardware configuration example of a computer that executes the series of processes described above by a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- An input/output interface 910 is also connected to the bus 904.
- An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input/output interface 910.
- the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal and the like.
- the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
- the storage unit 913 includes, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
- the communication unit 914 includes, for example, a network interface.
- the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input/output interface 910 and the bus 904 and executes the program to execute the above-described series of operations. Is processed.
- the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
- the program executed by the computer can be applied by being recorded in the removable medium 921 as a package medium or the like, for example.
- the program can be installed in the storage unit 913 via the input/output interface 910 by mounting the removable medium 921 in the drive 915.
- this program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
- the program can be received by the communication unit 914 and installed in the storage unit 913.
- this program can be installed in advance in the ROM 902 or the storage unit 913.
- the encoding device 100, the decoding device 300, and the encoding device 400 have been described as application examples of the present technology, but the present technology can be applied to any configuration.
- the present technology is applied to a transmitter or a receiver (for example, a television receiver or a mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to a terminal by cellular communication, or It can be applied to various electronic devices such as an apparatus (for example, a hard disk recorder or a camera) that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or reproduces an image from these storage media.
- an apparatus for example, a hard disk recorder or a camera
- the present technology includes a processor (for example, a video processor) as a system LSI (Large Scale Integration) or the like, a module (for example, a video module) using a plurality of processors or the like, or a unit (for example, a video unit) using a plurality of modules or the like Alternatively, it may be implemented as a part of the configuration of the device such as a set (for example, a video set) in which the unit is provided with other functions.
- a processor for example, a video processor
- LSI Large Scale Integration
- module for example, a video module
- a unit for example, a video unit
- the present technology can be applied to a network system composed of multiple devices.
- the present technology may be implemented as cloud computing in which a plurality of devices share and jointly process via a network.
- this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (Audio Visual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may do so.
- the system means a set of a plurality of constituent elements (devices, modules (parts), etc.), and it does not matter whether or not all constituent elements are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. ..
- the system, device, processing unit, and the like to which the present technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factory, home appliance, weather, nature monitoring, etc. .. Further, its application is also arbitrary.
- the “flag” is information for identifying a plurality of states, and is not only information used to identify two states of true (1) or false (0), but also three or more states. Information that can identify the state is also included. Therefore, the possible value of this "flag” may be, for example, a binary value of 1/0, or may be a ternary value or more. That is, the number of bits forming this "flag” is arbitrary and may be 1 bit or multiple bits. Further, since the identification information (including the flag) may include not only the identification information included in the bitstream but also the difference information of the identification information with respect to certain reference information, included in the bitstream. In the above, "flag” and “identification information” include not only that information but also difference information with respect to reference information.
- various types of information (metadata, etc.) regarding the encoded data (bit stream) may be transmitted or recorded in any form as long as it is associated with the encoded data.
- the term “associate” means, for example, that when processing one data, the other data can be used (linked). That is, the data associated with each other may be collected as one data or may be individual data.
- the information associated with the encoded data (image) may be transmitted on a transmission path different from that of the encoded data (image). Further, for example, the information associated with the encoded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from that of the encoded data (image). Good.
- association may be a part of the data instead of the entire data.
- the image and the information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
- composite means to combine a plurality of objects into one, for example, to combine encoded data and metadata into one data, and means one method of “associating” described above.
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the configurations described above as a plurality of devices (or processing units) may be integrated into one device (or processing unit).
- part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
- the above-mentioned program may be executed in any device.
- the device may have a necessary function (function block or the like) so that necessary information can be obtained.
- one device may execute each step of one flowchart, or a plurality of devices may share and execute each step. Further, when one step includes a plurality of processes, one device may execute the plurality of processes, or a plurality of devices may share the processes. In other words, a plurality of processes included in one step can be executed as a process of a plurality of steps. On the contrary, the processes described as a plurality of steps can be collectively executed as one step.
- the processing of the steps for writing the program may be executed in time series according to the order described in this specification, or in parallel or by calling. It may be executed individually at a necessary timing such as when it is released. That is, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the process of the step of writing this program may be executed in parallel with the process of another program, or may be executed in combination with the process of another program.
- An information processing apparatus including an attribute information encoding unit that encodes attribute information layered based on resolution of a point cloud that represents a three-dimensional object as a point cloud.
- the layering unit layers the attribute information by associating the attribute information with an effective level of the Octree that satisfies a predetermined condition.
- a determination unit for determining whether the level is the valid level is further provided.
- the determination unit determines a level having a score greater than a predetermined threshold value and having a score equal to or more than twice the level one higher than the Octree as the valid level. Processing equipment.
- the information processing device performs conversion of color information included in the attribute information according to a level of the Octree corresponding to the attribute information.
- the information processing device further including an Octree generation unit that generates the Octree of the position information.
- the information processing device further including a position information encoding unit that encodes the Octtree of the position information.
- the information processing device further including a generation unit that generates a bitstream including the encoded data of the attribute information generated by the attribute information encoding unit.
- the information processing device further including a generation unit that generates a bitstream including the encoded data of the attribute information generated by the attribute information encoding unit.
- the generation unit generates one bit stream including the encoded data of the attribute information of all layers generated by the attribute information encoding unit.
- An information processing apparatus comprising: an attribute information decoding unit that decodes encoded data of attribute information layered based on resolution of a point cloud that represents a three-dimensional object as a point cloud.
- a level designation accepting unit that accepts a control instruction designating a level to be decrypted, The information processing device according to (15), wherein the attribute information decryption unit decrypts the attribute information at a level designated by the control instruction accepted by the level designation accepting unit.
- a point cloud generation unit configured to convert the Octtree of the position information of the point cloud to generate a point cloud
- the information processing device according to (17), wherein the point cloud generation unit associates the attribute information with the point cloud generated by the point cloud generation unit to generate the point cloud.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本開示は、所望の解像度の属性情報をより容易に得ることができるようにする情報処理装置および方法に関する。 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する。また、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する。本開示は、例えば、情報処理装置、画像処理装置、符号化装置、復号装置、電子機器、情報処理方法、またはプログラム等に適用することができる。
Description
本開示は、情報処理装置および方法に関し、特に、所望の解像度の属性情報をより容易に得ることができるようにした情報処理装置および方法に関する。
従来、例えばポイントクラウド(Point cloud)のような3次元構造を表す3Dデータの符号化方法が考えられた(例えば非特許文献1参照)。
ポイントクラウドを符号化するにはまず基本的に全体が含まれるボクセル(voxel)を決め、それを分割することで細分化し、データをビット列に落としていく。その1つとしてOctreeを用いるOctree符号化が考えられた。Octree符号化において幅優先での符号化を行うと復号時に途中で打ち切ることで容易に所望の解像度の点(位置情報)を得ることができる。
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf
しかしながら、この方法の場合、所望の解像度の属性情報を得るためには、結果的に最終解像度まで復号する必要があり、処理を軽減することは困難であった。
本開示は、このような状況に鑑みてなされたものであり、より容易に所望の解像度の属性情報を得ることができるようにするものである。
本技術の一側面の情報処理装置は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する属性情報符号化部を備える情報処理装置である。
本技術の一側面の情報処理方法は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する情報処理方法である。
本技術の他の側面の情報処理装置は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する属性情報復号部を備える情報処理装置である。
本技術の他の側面の情報処理方法は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する情報処理方法である。
本技術の一側面の情報処理装置および方法においては、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報が符号化される。
本技術の他の側面の情報処理装置および方法においては、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データが復号される。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.属性情報の解像度スケーラビリティ
2.第1の実施の形態(符号化装置)
3.第2の実施の形態(復号装置)
4.第3の実施の形態(符号化装置)
5.付記
1.属性情報の解像度スケーラビリティ
2.第1の実施の形態(符号化装置)
3.第2の実施の形態(復号装置)
4.第3の実施の形態(符号化装置)
5.付記
<1.属性情報の解像度スケーラビリティ>
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
非特許文献1:(上述)
非特許文献2:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献3:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
非特許文献4:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
非特許文献2:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献3:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
非特許文献4:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献3に記載されているQuad-Tree Block Structure、非特許文献4に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
<ポイントクラウド>
従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
従来、点群の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)や、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状を定義するメッシュ(Mesh)等の3Dデータが存在した。
例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、この点群の各点の位置情報や属性情報により構成される。属性情報には、例えば、色情報、反射率情報、法線情報等が含まれる。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
<Octree符号化>
このようなポイントクラウドデータはそのデータ量が比較的大きいので、例えば非特許文献1に記載のように、符号化によるデータ量を圧縮することが考えられた。このポイントクラウドの符号化方法としてOctreeを構築することが考えられた。Octreeは、ポイントクラウドの3次元領域を木構造化したものである。このOctreeの各ノードの値が、ポイントクラウドの3次元領域の、そのノードに対応する部分領域におけるポイントの有無を示す。例えば、値「1」がポイントを内包する部分領域を示し、値「0」がポイントを内包しない部分領域を示す。Octreeでは、1ノードが8つの部分領域に対応する。つまり、Octreeの各ノードは、8ビットのデータにより構成され、その8ビットが8つの部分領域のポイントの有無を示す。
このようなポイントクラウドデータはそのデータ量が比較的大きいので、例えば非特許文献1に記載のように、符号化によるデータ量を圧縮することが考えられた。このポイントクラウドの符号化方法としてOctreeを構築することが考えられた。Octreeは、ポイントクラウドの3次元領域を木構造化したものである。このOctreeの各ノードの値が、ポイントクラウドの3次元領域の、そのノードに対応する部分領域におけるポイントの有無を示す。例えば、値「1」がポイントを内包する部分領域を示し、値「0」がポイントを内包しない部分領域を示す。Octreeでは、1ノードが8つの部分領域に対応する。つまり、Octreeの各ノードは、8ビットのデータにより構成され、その8ビットが8つの部分領域のポイントの有無を示す。
そして、Octreeの上位のノードは、そのノードに属する下位ノードに対応する8つの部分領域を1つにまとめた領域のポイントの有無を示す。つまり、下位ノードの部分領域の情報をまとめることにより上位ノードが生成される。なお、値が「0」のノード、すなわち、対応する8つの部分領域が全てポイントを内包しない場合、そのノードは削除される。
このようにすることにより、値が「0」でないノードからなる木構造(Octree)が構築される。つまり、Octreeは、各解像度の部分領域のポイントの有無を示すことができる。したがって、ポイントクラウドをOctree化して符号化することにより、復号の際により多様な解像度のポイントクラウドをより容易に復元することができる。つまり、より容易にポイントクラウドのスケーラビリティを実現することができる。
また、上述のように値が「0」のノードを省略することにより、ポイントが存在しない領域を低解像度化することができるので、さらなる情報量の増大の抑制(典型的には情報量の削減)を行うことができる。
<スケーラビリティの実現>
ところで、ポイントクラウドはその点の密度(つまり3次元空間における位置情報や属性情報の密度)が解像度となる。点の密度が高い程、高解像度となるが、情報量が増大するので処理の負荷が増大する。そのため、状況に応じて必要な解像度のポイントクラウドが得られる機能(解像度スケーラビリティとも称する)が求められた。
ところで、ポイントクラウドはその点の密度(つまり3次元空間における位置情報や属性情報の密度)が解像度となる。点の密度が高い程、高解像度となるが、情報量が増大するので処理の負荷が増大する。そのため、状況に応じて必要な解像度のポイントクラウドが得られる機能(解像度スケーラビリティとも称する)が求められた。
例えば、LiDARデータのような広範囲・大規模な点を含むポイントクラウドを再生する場合、一般的には、一部の範囲に注目しており、その他の範囲の情報の重要性は低い。したがって、全ての範囲を最高解像度で処理すると不要に処理の負荷を増大させてしまうおそれがあった。また遠近法としては、遠方に位置するオブジェクトは、手前のオブジェクトよりも低解像度である方が自然である。
このように、意図的に低解像度の情報が必要になる場合があり得る。例えば、データを全てscanし、最高解像度でポイントクラウドを再現してから必要な解像度となるように点を間引く方法が考えられるが、この方法では不要な処理が増大し、処理時間が不要に増大するおそれがあった。また多くのメモリを必要とする等、処理の負荷も増大するおそれがあった。
<符号化装置>
図1は、ポイントクラウドを符号化する従来の符号化装置の主な構成例を示すブロック図である。図1に示される符号化装置10において、Octree化部11は、外部からlod(Octreeの階層数)の指定を受け付け、ポイントクラウド21の位置情報のOctreeを、指定された階層数(lod)で生成する。Octreeはその階層数によって最下位層のノードの数が決まる。つまり、Octreeの階層数によって解像度が決定される。つまり、Octree化部11は、解像度の指定を受け付け、その指定された解像度の位置情報のOctreeを生成する。
図1は、ポイントクラウドを符号化する従来の符号化装置の主な構成例を示すブロック図である。図1に示される符号化装置10において、Octree化部11は、外部からlod(Octreeの階層数)の指定を受け付け、ポイントクラウド21の位置情報のOctreeを、指定された階層数(lod)で生成する。Octreeはその階層数によって最下位層のノードの数が決まる。つまり、Octreeの階層数によって解像度が決定される。つまり、Octree化部11は、解像度の指定を受け付け、その指定された解像度の位置情報のOctreeを生成する。
点群再構成部12は、そのOctreeから点群を再構築する。つまり、lodで制約された位置情報、すなわち、指定された解像度の位置情報が得られる。リカラー部13は、再構築した点群(指定された解像度の位置情報)に対応するように、ポイントクラウド21の属性情報をリカラー処理する。これにより、指定された解像度の属性情報が得られる。
位置情報符号化部14は、Octree化部11が生成した、指定された解像度の位置情報(のOctree)を符号化し、位置情報の符号化データを生成する。属性情報符号化部15は、リカラー部13により生成された指定された解像度の属性情報を符号化し、属性情報の符号化データを生成する。ビットストリーム生成部16は、その位置情報の符号化データと属性情報の符号化データとを含むビットストリーム22を生成し、出力する。つまり、ビットストリーム22には、指定されたLoDで制約された解像度の符号化データが含まれる。
これに対してOctree符号化の場合、上位階層のノードから選択する幅優先で符号化を行うと復号時に途中で打ち切ることで容易に所望の解像度の点(位置情報)を得ることができる。
<復号装置>
図2は、ポイントクラウドの符号化データを復号する従来の復号装置の主な構成例を示すブロック図である。図2に示される復号装置30は、例えば図1の符号化装置10に対応し、符号化装置10が生成したビットストリーム22を復号する。
図2は、ポイントクラウドの符号化データを復号する従来の復号装置の主な構成例を示すブロック図である。図2に示される復号装置30は、例えば図1の符号化装置10に対応し、符号化装置10が生成したビットストリーム22を復号する。
復号装置30において、位置情報復号部31は、ビットストリーム22に含まれる位置情報の符号化データを復号し、指定されたLoDで制約された解像度の位置情報のOctreeを生成する。点群再構成部32は、そのOctreeから点群を再構築する。つまり、指定されたLoDで制約された解像度の位置情報が得られる。
属性情報復号部33は、ビットストリーム22に含まれる属性情報の符号化データを復号し、指定されたLoDで制約された解像度の属性情報を生成する。ポイントクラウド生成部34は、点群再構成部32により生成された「指定されたLoDで制約された解像度の位置情報」に、属性情報復号部33により生成された「指定されたLoDで制約された解像度の属性情報」を対応付けて、指定されたLoDで制約された解像度のポイントクラウド23を生成する。
しかしながら、この方法の場合、所望の解像度の属性情報を得るためには、結果的に最終解像度まで復号する必要があり、処理を軽減することは困難であった。
例えば、Octree符号化の場合、元のボクセルを等分割し、その分割部分に含まれる点があるかないかをビットで表現していく。この分割レベルを制限することで解像度を変化させることができるが、元の点の位置情報をデコードした後の位置情報がずれる。そのために元の点が持つ色情報をそのまま使うことができなくなり、属性情報のマッピング(リカラー(recolor)とも称する)を行う必要が生じる。そのため、処理の負荷が増大するおそれがあった。
<属性情報の解像度スケーラビリティ>
そこで、属性情報も解像度で階層化して符号化・復号するようにする。このようにすることにより、属性情報の解像度スケーラビリティを実現することができ、より容易に所望の解像度の属性情報を得ることができるようになる。
そこで、属性情報も解像度で階層化して符号化・復号するようにする。このようにすることにより、属性情報の解像度スケーラビリティを実現することができ、より容易に所望の解像度の属性情報を得ることができるようになる。
<2.第1の実施の形態>
<符号化装置>
図3は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図3に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、ポイントクラウドの属性情報を解像度に基づいて階層化して符号化する。
<符号化装置>
図3は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図3に示される符号化装置100は、ポイントクラウド(3Dデータ)を符号化する装置である。符号化装置100は、ポイントクラウドの属性情報を解像度に基づいて階層化して符号化する。
図3に示されるように、符号化装置100は、Octree化部101、点群再構成部102-0乃至点群再構成部102-n(nは自然数)、リカラー部103-0乃至リカラー部103-n、位置情報符号化部104、属性情報符号化部105-0乃至属性情報符号化部105-n、並びに、ビットストリーム生成部106を有する。
なお、以下において、点群再構成部102-0乃至点群再構成部102-nを互いに区別して説明する必要がない場合、点群再構成部102と称する。また、リカラー部103-0乃至リカラー部103-nを互いに区別して説明する必要がない場合、リカラー部103と称する。さらに、属性情報符号化部105-0乃至属性情報符号化部105-nを互いに区別して説明する必要がない場合、属性情報符号化部105と称する。
符号化装置100は、属性情報の符号化に関するこれらの処理部を(n+1)個ずつ有する。点群再構成部102-0乃至点群再構成部102-nは、互いに異なる解像度について処理を行う。同様にリカラー部103-0乃至リカラー部103-nは、互いに異なる解像度について処理を行う。同様に属性情報符号化部105-0乃至属性情報符号化部105-nは、互いに異なる解像度について処理を行う。つまり、符号化装置100は、属性情報を(n+1)種類の解像度に階層化して符号化する。
なお、点群再構成部102-0乃至点群再構成部102-nを一体化するようにしてもよい。つまり、1つの点群再構成部102が、(n+1)種類の解像度で処理を行うことができるようにしてもよい。同様に、リカラー部103-0乃至リカラー部103-nを一体化するようにしてもよい。つまり、1つのリカラー部103が、(n+1)種類の解像度で処理を行うことができるようにしてもよい。同様に、属性情報符号化部105-0乃至属性情報符号化部105-nを一体化するようにしてもよい。つまり、1つの属性情報符号化部105が、(n+1)種類の解像度で処理を行うことができるようにしてもよい。
Octree化部101は、符号化の処理対象であるポイントクラウド121の位置情報を取得する。Octree化部101は、その位置情報のOctreeを生成する。Octree化部101は、位置情報を最大解像度で(LoD制約無しに)Octree化する。Octree化部101は、生成したOctreeを点群再構成部102および位置情報符号化部104に供給する。
なお、Octree化部101によるOctreeは、解像度スケーラビリティを実現可能なものであればよい。例えばOctreeのスキャン方式は任意である。例えば、幅優先であってもよいし、深さ優先であってもよいし、それら以外であってもよいし、それらを組み合わせてもよい。内部構造的に分割するようにしてもよい。
点群再構成部102は、Octree化部101から供給されるOctreeを取得する。点群再構成部102は、そのOctreeから、所定の階層(レベル)で(所定のLoD制約の下)、点群を再構築する。つまり、点群再構成部102は、Octreeから所定の解像度の位置情報を生成する。点群再構成部102は、生成した点群(位置情報)をリカラー部103に供給する。
点群再構成部102-0乃至点群再構成部102-nは、互いに異なるLoD制約で(互いに異なる解像度で)、点群を再構築する。例えば、点群再構成部102-0は、レベルlod0で(lod0のLoD制約で)点群を再構築し、その点群(位置情報)をリカラー部103-0に供給する。点群再構成部102-1は、レベルlod1で(lod1のLoD制約で)点群を再構築し、その点群(位置情報)をリカラー部103-1に供給する。点群再構成部102-nは、レベルlodnで(lodnのLoD制約で)点群を再構築し、その点群(位置情報)をリカラー部103-nに供給する。このように、各点群再構成部102は、自身に設定されたレベルlodで(自身に設定されたLoD制約で)点群を再構築し、その点群(位置情報)を自身に対応するリカラー部103に供給する。
リカラー部103は、属性情報を解像度に基づいて階層化する。例えば、リカラー部103は、符号化の処理対象であるポイントクラウド121の属性情報を取得する。また、リカラー部103は、点群再構成部102から供給される点群(位置情報)を取得する。リカラー部103は、その属性情報を点群(位置情報)に対応させるようにリカラー処理する。
ここでリカラー処理は、属性情報を位置情報に対応付ける処理であり、この処理により、属性情報の解像度が位置情報と同一の解像度に変換される。具体的な処理内容は属性情報の内容等に依存する。例えば、属性情報が色情報(点の色を示す情報)を含む場合、リカラー処理は、その色の変換処理を含む。また、属性情報が法線や反射率等の情報を含む場合、それらの情報の変換処理を含む。また、これらの情報の変換方法は任意である。例えば、最近傍の点(処理対象の点に最も近い点)の情報を複製するようにしてもよいし、複数の近傍点(処理対象の点の近傍に位置する点)の情報を用いて導出する(例えば中央値や平均値等を適用する)ようにしてもよい。
つまり、リカラー部103は、属性情報の解像度を、点群(位置情報)と同一の解像度に変換する。換言するにリカラー部103は、点群(位置情報)と同一の解像度の属性情報を生成する。
リカラー部103-0乃至リカラー部103-nは、互いに異なるLoD制約で(互いに異なる解像度で)、リカラー処理を行う。つまり、リカラー部103-0乃至リカラー部103-nは、属性情報の解像度を互いに異なる解像度に変換する。例えば、リカラー部103-0は、点群再構成部102-0からlod0のLoD制約の点群(位置情報)を取得し、ポイントクラウド121の属性情報の解像度を、その位置情報の解像度であるレベルlod0の解像度に変換する(lod0のLoD制約で属性情報の解像度変換を行う)。リカラー部103-1は、点群再構成部102-1からlod1のLoD制約の点群(位置情報)を取得し、ポイントクラウド121の属性情報の解像度を、その位置情報の解像度であるレベルlod1の解像度に変換する(lod1のLoD制約で属性情報の解像度変換を行う)。リカラー部103-nは、点群再構成部102-nからlodnのLoD制約の点群(位置情報)を取得し、ポイントクラウド121の属性情報の解像度を、その位置情報の解像度であるレベルlodnの解像度に変換する(lodnのLoD制約で属性情報の解像度変換を行う)。このように、各リカラー部103は、自身に対応する点群再構成部102から点群(位置情報)を取得し、ポイントクラウド121の属性情報の解像度を、その位置情報と同じ解像度に変換する(自身に設定されたLoD制約で属性情報の解像度変換を行う)。
以上のように、リカラー部103は、属性情報を、Octreeの複数のレベルに対応させることにより、属性情報を階層化する。リカラー部103は、このように解像度を制御した属性情報を属性情報符号化部105に供給する。例えば、リカラー部103-0は、レベルlod0の解像度の属性情報(lod0のLoD制約の属性情報)を、属性情報符号化部105-0に供給する。リカラー部103-1は、レベルlod1の解像度の属性情報(lod1のLoD制約の属性情報)を、属性情報符号化部105-1に供給する。リカラー部103-nは、レベルlodnの解像度の属性情報(lodnのLoD制約の属性情報)を、属性情報符号化部105-nに供給する。このように、各リカラー部103は、生成した属性情報(自身に設定されたLoD制約の属性情報)を、自身に対応する属性情報符号化部105に供給する。
位置情報符号化部104は、Octree化部101から供給されるOctreeを取得する。位置情報符号化部104は、そのOctreeを符号化し、位置情報の符号化データを生成する。その際、LoD制約は不要である。例えば、位置情報符号化部104は、最大解像度で位置情報の符号化データを生成する。位置情報符号化部104は、生成した位置情報の符号化データをビットストリーム生成部106に供給する。
属性情報符号化部105は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する。例えば、属性情報符号化部105は、リカラー部103から供給される、解像度に基づいて階層化された属性情報を取得し、それを符号化し、属性情報の符号化データを生成する。属性情報符号化部105は、生成した属性情報の符号化データをビットストリーム生成部106に供給する。
属性情報符号化部105-0乃至属性情報符号化部105-nは、互いに異なる解像度の(互いに異なるLoD制約の)属性情報を符号化する。例えば、属性情報符号化部105-0は、リカラー部103-0から供給されるレベルlod0の解像度の属性情報(lod0のLoD制約の属性情報)を取得し、符号化する。属性情報符号化部105-0は、生成したレベルlod0の解像度の属性情報の符号化データ(lod0のLoD制約の属性情報の符号化データ)をビットストリーム生成部106に供給する。属性情報符号化部105-1は、リカラー部103-1から供給されるレベルlod1の解像度の属性情報(lod1のLoD制約の属性情報)を取得し、符号化する。属性情報符号化部105-1は、生成したレベルlod1の解像度の属性情報の符号化データ(lod1のLoD制約の属性情報の符号化データ)をビットストリーム生成部106に供給する。属性情報符号化部105-nは、リカラー部103-nから供給されるレベルlodnの解像度の属性情報(lodnのLoD制約の属性情報)を取得し、符号化する。属性情報符号化部105-nは、生成したレベルlodnの解像度の属性情報の符号化データ(lodnのLoD制約の属性情報の符号化データ)をビットストリーム生成部106に供給する。このように、各属性情報符号化部105は、自身に対応するリカラー部103から供給される属性情報(自身に設定されたLoD制約の属性情報)を取得し、符号化し、生成した属性情報の符号化データをビットストリーム生成部106に供給する。
なお、この属性情報の符号化方法は任意である。例えば、属性情報を2次元に投影し、2次元画像として、JPEG(Joint Photographic Experts Group)等の2次元画像用の符号化方式を用いて符号化するようにしてもよい。また、属性情報を非圧縮としてもよい。つまり、属性情報符号化部105を省略してもよい。
ビットストリーム生成部106は、属性情報の符号化データを含むビットストリームを生成する。例えば、ビットストリーム生成部106は、属性情報符号化部105から供給される属性情報の符号化データを取得する。ビットストリーム生成部106は、取得した属性情報の符号化データを含むビットストリーム122を生成する。
この属性情報符号化部105から供給される属性情報の符号化データは、解像度に基づいて階層化されている。例えば、ビットストリーム生成部106は、属性情報符号化部105-0から供給される、レベルlod0の解像度の属性情報の符号化データ(lod0のLoD制約の属性情報の符号化データ)を取得する。ビットストリーム生成部106は、属性情報符号化部105-1から供給される、レベルlod1の解像度の属性情報の符号化データ(lod1のLoD制約の属性情報の符号化データ)を取得する。ビットストリーム生成部106は、属性情報符号化部105-nから供給される、レベルlodnの解像度の属性情報の符号化データ(lodnのLoD制約の属性情報の符号化データ)を取得する。このように、ビットストリーム生成部106は、各属性情報符号化部105から供給される各解像度の属性情報の符号化データを取得する。ビットストリーム生成部106は、このように取得した全ての解像度の属性情報の符号化データを含む1本のビットストリーム122を生成する。つまり、ビットストリーム122は、各解像度の属性情報(LoD(0~n)で制約された解像度の属性情報)を含む。
さらに、ビットストリーム生成部106は、位置情報符号化部104から供給される位置情報の符号化データを取得する。ビットストリーム生成部106は、この取得した位置情報の符号化データも、ビットストリーム122に含める。
ビットストリーム生成部106は、生成したビットストリーム122を符号化装置100の外部に出力する。
このような構成とすることにより、符号化装置100は、属性情報を解像度に基づいて階層化して符号化することができるので、復号の際に所望の解像度の属性情報をより容易に得ることができるようにすることができる。
例えば、上位階層(粗い解像度)のデータも、属性情報を最下位層(最高解像度)まで全て復号する必要なく、容易に得ることができる。したがって、復号の処理時間の増大を抑制することができる。これにより、ポイントクラウドを2次元画像化して表示する際の処理時間の増大を抑制することができる(典型的には処理時間を短縮することができる)。
なお、以上においては、各リカラー部103が、それぞれリカラー処理を行うことにより、属性情報を(n+1)階層に階層化するように説明したが、このnは任意の自然数であり、つまり属性情報の階層の設定(階層数)は任意である。例えば、位置情報の全ての階層について属性情報を生成する(属性情報の階層数を位置情報の階層数と同一にする)ようにしてもよいし、位置情報の一部の階層について属性情報を生成する(属性情報の階層数を位置情報の階層数よりも少なくする)ようにしてもよい。この属性情報の階層数は、予め定められていてもよいし、ユーザが設定することができるようにしてもよいし、符号化対象のポイントクラウド(の位置情報)に基づいて設定されるようにしてもよい。
属性情報の階層数を低減させる(属性情報の階層数を位置情報の階層数よりも少なくする)場合、位置情報に、自身に対応する属性情報が存在しない階層が生じる。そのような階層で復号する場合、属性情報は、任意の方法で導出するようにしてもよい。例えば、処理対象の階層よりも上位の階層の属性情報を用いて、処理対象の階層の属性情報を生成するようにしてもよい。例えば、上位の階層の属性情報を複製するようにしてもよいし、さらにフィルタリングを行ってより自然な変化となるようにしてもよい。また、例えば、処理対象の階層よりも下位の階層の属性情報を用いて、処理対象の階層の属性情報を生成するようにしてもよい。例えば、下位の階層の属性情報を複製するようにしてもよいし、下位の階層の複数の属性情報を用いて導出する(例えば平均値や中央値等を適用する)ようにしてもよいし、さらにフィルタリングを行ってより自然な変化となるようにしてもよい。
また、属性情報の階層数を位置情報の階層数よりも少なくする場合、属性情報を位置情報のどの階層に対応させるか(位置情報のどの階層に対応する属性情報を生成するか)は任意である。例えば、属性情報を位置情報のどの階層に対応させて生成するかが予め設定されているようにしてもよいし、ユーザ等が設定することができるようにしてもよい。
また、符号化するポイントクラウド(の位置情報)に応じて設定されるようにしてもよい。例えば、位置情報のOctreeの、所定の条件を満たす有効なレベルに対応させるように属性情報を生成するようにしてもよい。
例えば、点群再構成部102が、処理対象の階層がその有効なレベルであるか否かを判定し、有効なレベルであると判定された階層について、リカラー部103がリカラー処理を行うようにしてもよい。例えば、各点群再構成部102が、自身に設定された階層(LoD制約)が、位置情報のOctreeの有効なレベルであるか否かを判定し、有効なレベルであると判定した点群再構成部102に対応するリカラー部103が、その点群再構成部102から点群(位置情報)を取得し、リカラー処理を行うようにしてもよい。
なお、有効なレベルであるか否かの判定基準となる所定の条件は任意である。例えば、点群再構成部102が、点数が所定の閾値より多く、かつ、点数がOctreeの1つ上位のレベルの2倍以上であるレベルを有効なレベルと判定するようにしてもよい。
このようにすることにより、符号化するポイントクラウド(の位置情報)に応じて、より効果的な階層にのみ属性情報を生成することができる。したがって、上位の階層と比べて情報の変化が少ない階層について属性情報の作成を抑制することができるので、不要な符号化効率の低減を抑制することができる。
<符号化処理の流れ>
次に、この符号化装置100により実行される符号化処理の流れの例を、図4のフローチャートを参照して説明する。
次に、この符号化装置100により実行される符号化処理の流れの例を、図4のフローチャートを参照して説明する。
符号化処理が開始されると、符号化装置100のOctree化部101は、ステップS101において、位置情報のOctreeを生成する。
ステップS102において、点群再構成部102は、処理対象の階層(レベル)を示す変数lodを初期値(例えば「0」)に設定する。
ステップS103において、点群再構成部102は、変数lodの値が最終解像度を超えたか否か、つまり最下位層まで処理したか否かを判定する。未処理の階層が存在すると判定された場合、処理はステップS104に進む。
ステップS104において、処理対象の階層に対応する点群再構成部102(変数lodのLoD制約の点群再構成部102)は、変数lodにより示される階層の点群(変数lodのLoD制約の点群)を生成する。
ステップS105において、点群再構成部102は、その変数lodにより示される階層が、所定の条件を満たす有効なレベルであるか否かを判定するための判定処理を実行する。そして、ステップS106において、点群再構成部102は、その処理結果に基づいて、変数lodにより示される階層が有効なレベルであるか否かを判定する。有効なレベルであると判定された場合、処理はステップS107に進む。
ステップS107において、リカラー部103は、その階層(変数lodにより示される階層)について、リカラー処理を行い、位置情報に属性情報を対応させる。ステップS108において、リカラー部103は、生成した属性情報(すなわち、変数lodにより示される階層の属性情報)を保存する。ステップS108の処理が終了すると、処理はステップS109に進む。
また、ステップS106において、変数lodにより示される階層が有効なレベルでないと判定された場合、ステップS107およびステップS108の処理が省略(スキップ)され、処理はステップS109に進む。
ステップS109において、点群再構成部102は、変数lodの値を「+1」インクリメントする(lod = lod + 1)。つまり、処理対象の階層を1つ下位に移動させる。ステップS109の処理が終了すると処理はステップS103に戻る。つまり、ステップS103乃至ステップS109の各処理が、適宜、位置情報のOctreeの各階層について実行される。
そして、ステップS103において、全ての階層について処理を行ったと判定された場合、処理はステップS110に進む。
ステップS110において、位置情報符号化部104は、位置情報のOctreeを符号化し、位置情報の符号化データを生成する。
ステップS111において、属性情報符号化部105は、ステップS108において保存された有効なレベルの属性情報を符号化し、有効なレベルの属性情報の符号化データを生成する。つまり、属性情報符号化部105は、解像度に基づいて階層化された属性情報を符号化する。
ステップS112において、ビットストリーム生成部106は、ステップS110において生成された位置情報の符号化データと、ステップS111において生成された属性情報の符号化データとを含むビットストリームを生成し、出力する。
ステップS112の処理が終了すると、符号化処理が終了する。
<判定処理の流れ>
次に、図4のステップS105において実行される判定処理の流れの例を、図5のフローチャートを参照して説明する。
次に、図4のステップS105において実行される判定処理の流れの例を、図5のフローチャートを参照して説明する。
判定処理が開始されると、点群再構成部102は、ステップS131において、Octreeの処理対象の階層の1つ上位の階層のノード数(点数)を示す変数p_pointを初期化する。ステップS132において、点群再構成部102は、位置情報のOctreeの変数lodの階層のポイント数(ノード数)を、Octreeの処理対象の階層のノード数(点数)を示す変数pointにセットする。
ステップS133において、点群再構成部102は、変数pointが所定の閾値より大きいか否かを判定する。つまり、点群再構成部102は、Octreeの処理対象の階層のノード数(位置情報の数)が所定の閾値より多いか否かを判定する。変数pointが所定の閾値より大きいと判定された場合、処理はステップS134に進む。
ステップS134において、点群再構成部102は、変数pointが変数p_pointの2倍(2xp_point)より大きいか否かを判定する。つまり、点群再構成部102は、Octreeの処理対象の階層のノード数が、その1つ上位の階層のノード数の2倍より多いか否かを判定する。変数pointが変数p_pointの2倍より大きいと判定された場合、処理はステップS135に進む。
ステップS135において、点群再構成部102は、変数pointの値を変数p_pointにセットする。
ステップS136において、点群再構成部102は、処理対象の階層を有効なレベルであると判定する。つまり、点群再構成部102は、点数が十分に多く、かつ、1つ上位の階層に比べて点数が大幅に増大している階層を有効なレベルと判定する。ステップS136の処理が終了すると、判定処理が終了し、処理は図4に戻る。
また、ステップS133において、変数pointが所定の閾値以下である、すなわち、点数(ノード数)が少ないと判定された場合、処理はステップS137に進む。また、ステップS134において、変数pointが変数p_pointの2倍(2xp_point)以下である、すなわち、1つ上位の階層に比べて点数があまり増大していないと判定された場合、処理はステップS137に進む。
ステップS137において、点群再構成部102は、処理対象の階層を無効なレベルであると判定する。つまり、点群再構成部102は、点数が少ない階層、または、1つ上位の階層に比べて点数があまり増大していない階層を無効なレベルと判定する。ステップS137の処理が終了すると、判定処理が終了し、処理は図4に戻る。
以上のように各処理を実行することにより、符号化装置100は、属性情報を解像度に基づいて階層化して符号化することができる。したがって、復号の際に所望の解像度の属性情報をより容易に得ることができる。
<ビットストリーム構造>
図6は、以上のように符号化装置100により生成されたビットストリームの主な構成例を示す図である。図6に示されるビットストリーム200は、図3のビットストリーム122に対応する。
図6は、以上のように符号化装置100により生成されたビットストリームの主な構成例を示す図である。図6に示されるビットストリーム200は、図3のビットストリーム122に対応する。
図6に示されるように、ビットストリーム200は、スタートコード(start_code)201、シーケンスヘッダ情報(seq_Header_info)202、位置情報(geo_data)203、並びに、属性情報(color_data(0))204-0乃至属性情報(color_data(n))204-nを有する。
スタートコード201は、ビットストリーム200の開始位置を示す所定のビット列により構成される。シーケンスヘッダ情報202は、シーケンスのヘッダ情報であり、このビットストリーム200の管理情報等を含む。位置情報203は、ポイントクラウドの点の位置情報であり、例えば座標等を含む。属性情報204-0乃至属性情報204-nは、ポイントクラウドの点の階層毎(解像度毎)の属性情報であり、それぞれ、例えば色情報、法線情報、反射率情報等を含む。なお、属性情報204-0乃至属性情報204-nを互いに区別して説明する必要が無い場合、属性情報204と称する。このように、ビットストリーム20において、属性情報204は階層毎(解像度毎)に分けて管理される。
例えば、シーケンスヘッダ情報202は、シーケンス情報(seq_info)211、解像度モードフラグ(reso_mode flag)212、並びに解像度情報(reso(0)_info)213-0乃至解像度情報(reso(n)_info)213-nを有する。
シーケンス情報211は、シーケンスに関する情報を含む。解像度モードフラグ212は、属性情報204のデータ構造のモード(例えば属性情報204が階層化されているか否か等)を示すフラグ情報である。解像度情報213-0乃至解像度情報213-nは、各解像度に関する情報を含む。つまり、各解像度に関する情報が、解像度毎にまとめられている。なお、解像度情報213-0乃至解像度情報213-nを互いに区別して説明する必要が無い場合、解像度情報213と称する。
例えば、解像度情報213は、解像度識別番号(reso_no)221、ポイントクラウドLoDレベル(point cloud LoD level)222、ポイントクラウド解像度情報(point cloud reslution)223、属性情報場所情報(color_data_location(offset/address))224、追加情報(additional_info)225を有する。
解像度識別番号221は、この解像度情報213を識別する識別情報(例えば番号)である。ポイントクラウドLoDレベル222は、この解像度情報213に対応するOctreeの階層を示す情報を含む。ポイントクラウド解像度情報223は、この解像度情報213に対応する解像度を示す情報を含む。属性情報場所情報224は、このビットストリーム200における各解像度の属性情報204の位置を示す情報(ポインタ)である。属性情報204の位置は、例えば、先頭からのオフセット(offset)で示すようにしてもよいし、アドレス(address)で示すようにしてもよい。追加情報225は、この解像度に関する任意の情報を含むことができる。
例えば、位置情報203は、スタートコード(start_code)231、ヘッダ情報(header_info)232、ポイントクラウド位置情報(point cloud position info)233、および追加プロパティ情報(additional property info)234を有する。
スタートコード231は、位置情報203の開始を示す所定のビット列により構成される。ヘッダ情報232は、この位置情報203のヘッダ情報であり、この位置情報203に関する管理情報等を含む。ポイントクラウド位置情報233は、各点の位置情報を含む。追加プロパティ情報234は、位置情報に関する任意の情報を含むことができる。
例えば、属性情報204は、スタートコード(start_code)241、ヘッダ情報(Header_info)242、ポイントクラウド属性情報(point cloud color info)243、および追加プロパティ情報(additional property info)244を有する。
スタートコード241は、この属性情報204の開始を示す所定のビット列により構成される。ヘッダ情報242は、この属性情報204のヘッダ医情報であり、この属性情報204に関する管理情報等を含む。ポイントクラウド属性情報243は、この解像度の各点の属性情報を含む。追加プロパティ情報244は、この解像度の属性情報に関する任意の情報を含むことができる。
<3.第2の実施の形態>
<復号装置>
図7は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図7に示される復号装置300は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置300は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する。つまり、復号装置300は、解像度スケーラビリティに対応する。例えば、復号装置300は、図3の符号化装置100により生成されたビットストリーム122を復号し、所望の解像度のポイントクラウドを生成する。
<復号装置>
図7は、本技術を適用した情報処理装置の一態様である復号装置の構成の一例を示すブロック図である。図7に示される復号装置300は、ポイントクラウド(3Dデータ)の符号化データを復号する装置である。復号装置300は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する。つまり、復号装置300は、解像度スケーラビリティに対応する。例えば、復号装置300は、図3の符号化装置100により生成されたビットストリーム122を復号し、所望の解像度のポイントクラウドを生成する。
図7に示されるように、復号装置300は、ストリーム分解部301、lod指定受付部302、位置情報復号部303、点群再構成部304-0乃至点群再構成部304-n(nは自然数)、属性情報復号部305-0乃至属性情報復号部305-n、並びに、ポイントクラウド生成部306-0乃至ポイントクラウド生成部306-nを有する。
なお、以下において、点群再構成部304-0乃至点群再構成部304-nを互いに区別して説明する必要がない場合、点群再構成部304と称する。また、属性情報復号部305-0乃至属性情報復号部305-nを互いに区別して説明する必要がない場合、属性情報復号部305と称する。さらに、ポイントクラウド生成部306-0乃至ポイントクラウド生成部306-nを互いに区別して説明する必要がない場合、ポイントクラウド生成部306と称する。
復号装置300は、位置情報や属性情報の符号化データの復号に関するこれらの処理部を(n+1)個ずつ有する。点群再構成部304-0乃至点群再構成部304-nは、互いに異なる解像度について処理を行う。同様に属性情報復号部305-0乃至属性情報復号部305-nは、互いに異なる解像度について処理を行う。同様にポイントクラウド生成部306-0乃至ポイントクラウド生成部306-nは、互いに異なる解像度について処理を行う。つまり、復号装置300は、ビットストリーム(位置情報および属性情報の符号化データ)を(n+1)種類の解像度で復号することができる。
点群再構成部304-0、属性情報復号部305-0、およびポイントクラウド生成部306-0は、階層復号部310-0を構成する。点群再構成部304-1、属性情報復号部305-1、およびポイントクラウド生成部306-1は、階層復号部310-1を構成する。点群再構成部304-n、属性情報復号部305-n、およびポイントクラウド生成部306-nは、階層復号部310-nを構成する。このように、各解像度に対応する点群再構成部304、属性情報復号部305、およびポイントクラウド生成部306は、その解像度に対応する階層復号部310を構成する。
つまり、復号装置300は、互いに異なる解像度について処理を行う階層復号部310-0乃至階層復号部310-nを有する。以下において、階層復号部310-0乃至階層復号部310-nを互いに区別して説明する必要がない場合、階層復号部310と称する。
ストリーム分解部301は、ビットストリーム122を分解し、位置情報の符号化データおよび属性情報の符号化データを抽出する。ストリーム分解部301は、抽出した位置情報の符号化データを位置情報復号部303に供給する。また、ストリーム分解部301は、抽出した属性情報の符号化データを属性情報復号部305に供給する。
lod指定受付部302は、例えばユーザや外部の装置等により入力される、復号する解像度(レベル(lod))を指定する制御指示を受け付ける。lod指定受付部302は、受け付けた制御指示(lod)を位置情報復号部303および階層復号部310に供給する。
位置情報復号部303は、lod指定受付部302から供給される制御指示(lod)により指定される解像度(レベル)で、ストリーム分解部301から供給される位置情報の符号化データを復号し、制御指示により指定される解像度(レベル)の位置情報(Octree)を生成する。第1の実施の形態において説明したように、この符号化データにおいて位置情報はOctree化されて符号化されている。したがって、位置情報復号部303は、容易に所望のlodの位置情報(Octree)を生成することができる。なお、位置情報の符号化データの復号方法は任意である。例えば、幅優先のOctreeの符号化データの場合、位置情報復号部303が復号しながら指定されるレベルで復号を終了するようにしてもよい。また、符号化の際に階層別に終端コード等を入れておき、位置情報復号部303がこの終端コードを用いて終了位置を特定するようにしてもよい。このようにすることにより、終了判断を容易にすることができる。位置情報復号部303は、生成した位置情報(Octee)を点群再構成部304に供給する。
階層復号部310は、自身に設定された解像度でビットストリーム122を復号し、自身に設定された解像度のポイントクラウド323を生成する。例えば、階層復号部310-0は、ビットストリーム122を復号し、lod0で制約された解像度のポイントクラウド323-0を生成する。階層復号部310-1は、ビットストリーム122を復号し、lod1で制約された解像度のポイントクラウド323-1を生成する。階層復号部310-nは、ビットストリーム122を復号し、lodnで制約された解像度のポイントクラウド323-nを生成する。なお、以下において、ポイントクラウド323-1乃至ポイントクラウド323-nを互いに区別して説明する必要が無い場合、ポイントクラウド323と称する。
点群再構成部304は、位置情報復号部303から供給される位置情報を用いて点群を再構築する。つまり、点群再構成部304は、位置情報を変換して、制御指示により指定される解像度の点群を生成する。点群再構成部304は、その点群をポイントクラウド生成部306に供給する。
属性情報復号部305は、ストリーム分解部301から供給される属性情報の符号化データを復号し、制御指示により指定される解像度の属性情報を生成する。第1の実施の形態において説明したように、この符号化データにおいて、属性情報は解像度に基づいて階層化されている。つまり、属性情報復号部305は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する。したがって、属性情報復号部305は、符号化データを最高解像度まで復号せずに、所望の解像度の属性情報を生成することができる。なお、属性情報の復号方法は、符号化装置100の符号化方法に対応するものであれば任意である。また、属性情報を符号化しない場合、この属性情報復号部305を省略することもできる。また、制御指示により指定される解像度に属性情報が存在しない場合、属性情報を生成するようにしてもよい。その方法は任意である。例えば、処理対象の階層よりも上位の階層の属性情報を用いて、処理対象の階層の属性情報を生成するようにしてもよい。例えば、上位の階層の属性情報を複製するようにしてもよいし、さらにフィルタリングを行ってより自然な変化となるようにしてもよい。また、例えば、処理対象の階層よりも下位の階層の属性情報を用いて、処理対象の階層の属性情報を生成するようにしてもよい。例えば、下位の階層の属性情報を複製するようにしてもよいし、下位の階層の複数の属性情報を用いて導出する(例えば平均値や中央値等を適用する)ようにしてもよいし、さらにフィルタリングを行ってより自然な変化となるようにしてもよい。属性情報復号部305は、生成した属性情報をポイントクラウド生成部306に供給する。
ポイントクラウド生成部306は、点群再構成部304から供給された位置情報に、属性情報復号部305から供給された属性情報を対応付け、指定された解像度(レベル)のポイントクラウド323を生成し、復号装置300の外部に出力する。
このような階層復号部310に対して、lod指定受付部302は、受け付けた制御指示(lod)を、その制御指示により指定される解像度に対応する階層復号部310に供給する。また、位置情報復号部303は、生成した位置情報を、その解像度(つまり制御指示により指定される解像度)に対応する階層復号部310に供給する。したがって、これらの情報を供給された階層復号部310、すなわち、制御指示により指定される解像度に対応する階層復号部310が、上述のように駆動し、ポイントクラウドを生成する。
例えば、制御指示によりレベルlod0が指定された場合、lod指定受付部302は、その制御指示を階層復号部310-0に供給する。また、位置情報復号部303は、位置情報の符号化データを復号し、lod0で制約された位置情報(Octree)を生成する。位置情報復号部303は、そのlod0で制約された位置情報(Octree)を点群再構成部304-0に供給する。点群再構成部304-0は、その位置情報を用いてlod0で制約された解像度の点群を再構築し、ポイントクラウド生成部306に供給する。また、属性情報復号部305-0は、ストリーム分解部301から供給される属性情報の符号化データを復号し、lod0で制約された解像度の属性情報を生成する。属性情報復号部305-0は、その属性情報をポイントクラウド生成部306に供給する。ポイントクラウド生成部306は、点群再構成部304-0から供給された点群に、属性情報復号部305-0から供給された属性情報を対応付け、lod0で制約された解像度のポイントクラウド323-0を生成し、出力する。
また、例えば、制御指示によりレベルlod1が指定された場合、lod指定受付部302は、その制御指示を階層復号部310-1に供給する。また、位置情報復号部303は、位置情報の符号化データを復号し、lod1で制約された位置情報(Octree)を生成する。位置情報復号部303は、そのlod1で制約された位置情報(Octree)を点群再構成部304-1に供給する。点群再構成部304-1は、その位置情報を用いてlod1で制約された解像度の点群を再構築し、ポイントクラウド生成部306に供給する。また、属性情報復号部305-1は、ストリーム分解部301から供給される属性情報の符号化データを復号し、lod1で制約された解像度の属性情報を生成する。属性情報復号部305-1は、その属性情報をポイントクラウド生成部306に供給する。ポイントクラウド生成部306は、点群再構成部304-1から供給された点群に、属性情報復号部305-1から供給された属性情報を対応付け、lod1で制約された解像度のポイントクラウド323-1を生成し、出力する。
また、例えば、制御指示によりレベルlodnが指定された場合、lod指定受付部302は、その制御指示を階層復号部310-nに供給する。また、位置情報復号部303は、位置情報の符号化データを復号し、lodnで制約された位置情報(Octree)を生成する。位置情報復号部303は、そのlodnで制約された位置情報(Octree)を点群再構成部304-nに供給する。点群再構成部304-nは、その位置情報を用いてlodnで制約された解像度の点群を再構築し、ポイントクラウド生成部306に供給する。また、属性情報復号部305-nは、ストリーム分解部301から供給される属性情報の符号化データを復号し、lodnで制約された解像度の属性情報を生成する。属性情報復号部305-nは、その属性情報をポイントクラウド生成部306に供給する。ポイントクラウド生成部306は、点群再構成部304-nから供給された点群に、属性情報復号部305-nから供給された属性情報を対応付け、lodnで制約された解像度のポイントクラウド323-nを生成し、出力する。
このようにビットストリーム122が復号され、制御指示により指定される解像度のポイントクラウドが生成される。
なお、点群再構成部304-0乃至点群再構成部304-nを一体化するようにしてもよい。つまり、1つの点群再構成部304が、(n+1)種類の解像度で処理を行うことができるようにしてもよい。同様に、属性情報復号部305-0乃至属性情報復号部305-nを一体化するようにしてもよい。つまり、1つの属性情報復号部305が、(n+1)種類の解像度で処理を行うことができるようにしてもよい。同様に、ポイントクラウド生成部306-0乃至ポイントクラウド生成部306-nを一体化するようにしてもよい。つまり、1つのポイントクラウド生成部306が、(n+1)種類の解像度で処理を行うことができるようにしてもよい。つまり、階層復号部310-0乃至階層復号部310-nを一体化するようにしてもよい。つまり、1つの階層復号部310が、(n+1)種類の解像度で処理を行うことができるようにしてもよい。
このような構成とすることにより、復号装置300は、所望の解像度の属性情報をより容易に得ることができる。
<復号処理の流れ>
図8のフローチャートを参照して、この復号装置300により実行される復号処理の流れの例を説明する。
図8のフローチャートを参照して、この復号装置300により実行される復号処理の流れの例を説明する。
復号処理が開始されると、lod指定受付部302は、ステップS301において、変数lodの指定を受け付ける。ステップS302において、属性情報復号部305は、ステップS301において指定された変数lodを変数do_lodにセットする。
ステップS303において、属性情報復号部305は、変数do_lodの階層の属性情報が存在するか否かを判定する。存在しないと判定された場合、処理はステップS304に進む。
ステップS304において、属性情報復号部305は、変数do_lodの値を「+1」インクリメントする(do_lod = do_lod + 1)。ステップS304の処理が終了すると、処理はステップS303に戻る。ステップS303において属性情報が存在すると判定された場合、処理はステップS305に進む。つまり、変数do_lodを属性情報が存在する階層に設定する。
ステップS305において、属性情報復号部305は、do_lodレベルの属性情報の符号化データを復号する。第1の実施の形態において説明したように、この符号化データにおいて、属性情報は解像度に基づいて階層化されている。つまり、属性情報復号部305は、3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する。
ステップS306において、位置情報復号部303は、do_lodレベルまで位置情報(Octree)の符号化データを復号する。
ステップS307において、点群再構成部304は、ステップS306において生成されたdo_lodレベルまでの位置情報(Octree)を用いてdo_lodで制約された解像度の点群を生成する。
ステップS308において、ポイントクラウド生成部306は、ステップS307において生成された点群と、ステップS305において生成された属性情報とを対応付けて、do_lodで制約された解像度のポイントクラウドを生成する。
ステップS309において、ポイントクラウド生成部306は、変数lodと変数do_lodとが不一致であるか否かを判定する。これらの変数の値が一致しない場合、処理はステップS310に進む。
ステップS310において、ポイントクラウド生成部306は、生成したポイントクラウドの解像度をdo_lodレベルからlodレベルに変換する。ステップS310の処理が終了すると復号処理が終了する。
また、ステップS309において、変数lodと変数do_lodとで値が一致すると判定された場合、復号処理が終了する。
このようにすることにより、復号装置300は、所望の解像度の属性情報をより容易に得ることができる。
<4.第3の実施の形態>
<符号化装置>
第1の実施の形態のように、属性情報を解像度に基づいて階層化して符号化する場合、属性情報の解像度毎に、ビットストリームを分けるようにしてもよい。
<符号化装置>
第1の実施の形態のように、属性情報を解像度に基づいて階層化して符号化する場合、属性情報の解像度毎に、ビットストリームを分けるようにしてもよい。
図9は、本技術を適用した情報処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図9に示される符号化装置400は、符号化装置100と同様に、ポイントクラウドの属性情報を解像度に基づいて階層化して符号化する。ただし、符号化装置400は、解像度に基づいて階層化した属性情報の解像度毎にビットストリームを生成する。
符号化装置400は、基本的に符号化装置100と同様の構成を有する。ただし、符号化装置400は、符号化装置100のOctree化部101の代わりに、Octree化部401-0乃至Octree化部401-nを有する。Octree化部401-0乃至Octree化部401-nは、それぞれ自身に設定された解像度(レベル)で位置情報をOctree化する。また、符号化装置400は、符号化装置100の位置情報符号化部104の代わりに、位置情報符号化部404-0乃至位置情報符号化部404-nを有する。位置情報符号化部404-0乃至位置情報符号化部404-nは、Octree化部401-0乃至Octree化部401-nにより生成された位置情報(Octree)を符号化し、それぞれ自身に設定された解像度(レベル)の位置情報(Octree)の符号化データを生成する。
また、符号化装置400は、符号化装置100のビットストリーム生成部106の代わりに、ビットストリーム生成部406-0乃至ビットストリーム生成部406-nを有する。ビットストリーム生成部406-0乃至ビットストリーム生成部406-nは、それぞれ自身に設定された解像度(レベル)の符号化データを含むビットストリーム422(ビットストリーム422-0乃至ビットストリーム422-n)を生成する。つまり、ビットストリーム生成部406は、互いに異なる階層の属性情報の符号化データを含む複数のビットストリームを生成する。
つまり、階層符号化部410-0がレベルlod0で符号化を行い、階層符号化部410-1がレベルlod1で符号化を行い、階層符号化部410-nがレベルlodnで符号化を行う。
このような構成とすることにより、符号化装置400は、解像度毎のビットストリームを生成することができる。
<5.付記>
<制御情報>
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
<制御情報>
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用することを許可(または禁止)する範囲(例えばブロックサイズの上限若しくは下限、またはその両方、スライス、ピクチャ、シーケンス、コンポーネント、ビュー、レイヤ等)を指定する制御情報を伝送するようにしてもよい。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図10に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
<本技術の適用対象>
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
また、以上においては、本技術の適用例として符号化装置100、復号装置300、および符号化装置400について説明したが、本技術は、任意の構成に適用することができる。
例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
<本技術を適用可能な分野・用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
なお、本技術は以下のような構成も取ることができる。
(1) 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する属性情報符号化部
を備える情報処理装置。
(2) 前記属性情報を解像度に基づいて階層化する階層化部をさらに備え、
前記属性情報符号化部は、前記階層化部により解像度に基づいて階層化された前記属性情報を符号化する
(1)に記載の情報処理装置。
(3) 前記階層化部は、前記属性情報を、前記ポイントクラウドの位置情報のOctreeの複数のレベルに対応させることにより、前記属性情報を階層化する
(2)に記載の情報処理装置。
(4) 前記階層化部は、前記属性情報を、前記Octreeの、所定の条件を満たす有効なレベルに対応させることにより、前記属性情報を階層化する
(3)に記載の情報処理装置。
(5) 前記Octreeの各レベルについて、前記有効なレベルであるかを判定する判定部をさらに備え、
前記階層化部は、前記属性情報を、前記Octreeの、前記判定部により前記有効なレベルと判定されたレベルに対応させる
(4)に記載の情報処理装置。
(6) 前記判定部は、点数が所定の閾値より多く、かつ、点数が前記Octreeの1つ上位のレベルの2倍以上であるレベルを前記有効なレベルと判定する
(5)に記載の情報処理装置。
(7) 前記階層化部は、前記Octreeの、前記属性情報を対応させるレベルに応じて、前記属性情報に含まれる色情報の変換を行う
(3)に記載の情報処理装置。
(8) 前記位置情報の前記Octreeを生成するOctree生成部をさらに備える
(3)に記載の情報処理装置。
(9) 前記位置情報の前記Octreeを符号化する位置情報符号化部をさらに備える
(3)に記載の情報処理装置。
(10) 前記属性情報符号化部により生成された前記属性情報の符号化データを含むビットストリームを生成する生成部をさらに備える
(1)に記載の情報処理装置。
(11) 前記生成部は、前記属性情報符号化部により生成された、全階層の前記属性情報の符号化データを含む1本の前記ビットストリームを生成する
(10)に記載の情報処理装置。
(12) 前記生成部は、前記属性情報符号化部により生成された、互いに異なる階層の前記属性情報の符号化データを含む複数の前記ビットストリームを生成する
(10)に記載の情報処理装置。
(13) 前記生成部は、前記ポイントクラウドの位置情報の符号化データもさらに含む前記ビットストリームを生成する
(10)に記載の情報処理装置。
(14) 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する
情報処理方法。
(1) 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する属性情報符号化部
を備える情報処理装置。
(2) 前記属性情報を解像度に基づいて階層化する階層化部をさらに備え、
前記属性情報符号化部は、前記階層化部により解像度に基づいて階層化された前記属性情報を符号化する
(1)に記載の情報処理装置。
(3) 前記階層化部は、前記属性情報を、前記ポイントクラウドの位置情報のOctreeの複数のレベルに対応させることにより、前記属性情報を階層化する
(2)に記載の情報処理装置。
(4) 前記階層化部は、前記属性情報を、前記Octreeの、所定の条件を満たす有効なレベルに対応させることにより、前記属性情報を階層化する
(3)に記載の情報処理装置。
(5) 前記Octreeの各レベルについて、前記有効なレベルであるかを判定する判定部をさらに備え、
前記階層化部は、前記属性情報を、前記Octreeの、前記判定部により前記有効なレベルと判定されたレベルに対応させる
(4)に記載の情報処理装置。
(6) 前記判定部は、点数が所定の閾値より多く、かつ、点数が前記Octreeの1つ上位のレベルの2倍以上であるレベルを前記有効なレベルと判定する
(5)に記載の情報処理装置。
(7) 前記階層化部は、前記Octreeの、前記属性情報を対応させるレベルに応じて、前記属性情報に含まれる色情報の変換を行う
(3)に記載の情報処理装置。
(8) 前記位置情報の前記Octreeを生成するOctree生成部をさらに備える
(3)に記載の情報処理装置。
(9) 前記位置情報の前記Octreeを符号化する位置情報符号化部をさらに備える
(3)に記載の情報処理装置。
(10) 前記属性情報符号化部により生成された前記属性情報の符号化データを含むビットストリームを生成する生成部をさらに備える
(1)に記載の情報処理装置。
(11) 前記生成部は、前記属性情報符号化部により生成された、全階層の前記属性情報の符号化データを含む1本の前記ビットストリームを生成する
(10)に記載の情報処理装置。
(12) 前記生成部は、前記属性情報符号化部により生成された、互いに異なる階層の前記属性情報の符号化データを含む複数の前記ビットストリームを生成する
(10)に記載の情報処理装置。
(13) 前記生成部は、前記ポイントクラウドの位置情報の符号化データもさらに含む前記ビットストリームを生成する
(10)に記載の情報処理装置。
(14) 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する
情報処理方法。
(15) 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する属性情報復号部
を備える情報処理装置。
(16) 復号するレベルを指定する制御指示を受け付けるレベル指定受付部をさらに備え、
前記属性情報復号部は、前記レベル指定受付部により受け付けられた前記制御指示により指定されるレベルで前記属性情報を復号する
(15)に記載の情報処理装置。
(17) 前記属性情報復号部により前記符号化データが復号されて生成された前記属性情報を、点群に関連付け、ポイントクラウドを生成するポイントクラウド生成部をさらに備える
(15)に記載の情報処理装置。
(18) 前記ポイントクラウドの位置情報のOctreeを変換して点群を生成する点群生成部をさらに備え、
前記ポイントクラウド生成部は、前記点群生成部により生成された前記点群に前記属性情報を関連付け、前記ポイントクラウドを生成する
(17)に記載の情報処理装置。
(19) 前記ポイントクラウドの位置情報の符号化データを復号する位置情報復号部をさらに備え、
前記点群生成部は、前記位置情報復号部により前記符号化データが復号されて生成された前記位置情報のOctreeを変換して点群を生成する
(18)に記載の情報処理装置。
(20) 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する
情報処理方法。
を備える情報処理装置。
(16) 復号するレベルを指定する制御指示を受け付けるレベル指定受付部をさらに備え、
前記属性情報復号部は、前記レベル指定受付部により受け付けられた前記制御指示により指定されるレベルで前記属性情報を復号する
(15)に記載の情報処理装置。
(17) 前記属性情報復号部により前記符号化データが復号されて生成された前記属性情報を、点群に関連付け、ポイントクラウドを生成するポイントクラウド生成部をさらに備える
(15)に記載の情報処理装置。
(18) 前記ポイントクラウドの位置情報のOctreeを変換して点群を生成する点群生成部をさらに備え、
前記ポイントクラウド生成部は、前記点群生成部により生成された前記点群に前記属性情報を関連付け、前記ポイントクラウドを生成する
(17)に記載の情報処理装置。
(19) 前記ポイントクラウドの位置情報の符号化データを復号する位置情報復号部をさらに備え、
前記点群生成部は、前記位置情報復号部により前記符号化データが復号されて生成された前記位置情報のOctreeを変換して点群を生成する
(18)に記載の情報処理装置。
(20) 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する
情報処理方法。
100 符号化装置, 101 Octree化部, 102 点群再構成部, 103 リカラー部, 104 位置情報符号化部, 105 属性情報符号化部, 106 ビットストリーム生成部, 300 復号装置, 301 ストリーム分解部, 302 lod指定受付部, 303 位置情報復号部, 304 点群再構成部, 305 属性情報復号部, 306 ポイントクラウド生成部, 310 階層復号部, 400 符号化装置, 401 Octree化部, 404 位置情報符号化部, 406 ビットストリーム生成部, 410 階層符号化部
Claims (20)
- 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する属性情報符号化部
を備える情報処理装置。 - 前記属性情報を解像度に基づいて階層化する階層化部をさらに備え、
前記属性情報符号化部は、前記階層化部により解像度に基づいて階層化された前記属性情報を符号化する
請求項1に記載の情報処理装置。 - 前記階層化部は、前記属性情報を、前記ポイントクラウドの位置情報のOctreeの複数のレベルに対応させることにより、前記属性情報を階層化する
請求項2に記載の情報処理装置。 - 前記階層化部は、前記属性情報を、前記Octreeの、所定の条件を満たす有効なレベルに対応させることにより、前記属性情報を階層化する
請求項3に記載の情報処理装置。 - 前記Octreeの各レベルについて、前記有効なレベルであるかを判定する判定部をさらに備え、
前記階層化部は、前記属性情報を、前記Octreeの、前記判定部により前記有効なレベルと判定されたレベルに対応させる
請求項4に記載の情報処理装置。 - 前記判定部は、点数が所定の閾値より多く、かつ、点数が前記Octreeの1つ上位のレベルの2倍以上であるレベルを前記有効なレベルと判定する
請求項5に記載の情報処理装置。 - 前記階層化部は、前記Octreeの、前記属性情報を対応させるレベルに応じて、前記属性情報に含まれる色情報の変換を行う
請求項3に記載の情報処理装置。 - 前記位置情報の前記Octreeを生成するOctree生成部をさらに備える
請求項3に記載の情報処理装置。 - 前記位置情報の前記Octreeを符号化する位置情報符号化部をさらに備える
請求項3に記載の情報処理装置。 - 前記属性情報符号化部により生成された前記属性情報の符号化データを含むビットストリームを生成する生成部をさらに備える
請求項1に記載の情報処理装置。 - 前記生成部は、前記属性情報符号化部により生成された、全階層の前記属性情報の符号化データを含む1本の前記ビットストリームを生成する
請求項10に記載の情報処理装置。 - 前記生成部は、前記属性情報符号化部により生成された、互いに異なる階層の前記属性情報の符号化データを含む複数の前記ビットストリームを生成する
請求項10に記載の情報処理装置。 - 前記生成部は、前記ポイントクラウドの位置情報の符号化データもさらに含む前記ビットストリームを生成する
請求項10に記載の情報処理装置。 - 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報を符号化する
情報処理方法。 - 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する属性情報復号部
を備える情報処理装置。 - 復号するレベルを指定する制御指示を受け付けるレベル指定受付部をさらに備え、
前記属性情報復号部は、前記レベル指定受付部により受け付けられた前記制御指示により指定されるレベルで前記属性情報を復号する
請求項15に記載の情報処理装置。 - 前記属性情報復号部により前記符号化データが復号されて生成された前記属性情報を、点群に関連付け、ポイントクラウドを生成するポイントクラウド生成部をさらに備える
請求項15に記載の情報処理装置。 - 前記ポイントクラウドの位置情報のOctreeを変換して点群を生成する点群生成部をさらに備え、
前記ポイントクラウド生成部は、前記点群生成部により生成された前記点群に前記属性情報を関連付け、前記ポイントクラウドを生成する
請求項17に記載の情報処理装置。 - 前記ポイントクラウドの位置情報の符号化データを復号する位置情報復号部をさらに備え、
前記点群生成部は、前記位置情報復号部により前記符号化データが復号されて生成された前記位置情報のOctreeを変換して点群を生成する
請求項18に記載の情報処理装置。 - 3次元形状のオブジェクトを点群として表現するポイントクラウドの、解像度に基づいて階層化された属性情報の符号化データを復号する
情報処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019001478A JP2022051968A (ja) | 2019-01-08 | 2019-01-08 | 情報処理装置および方法 |
JP2019-001478 | 2019-01-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020145140A1 true WO2020145140A1 (ja) | 2020-07-16 |
Family
ID=71520420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/050761 WO2020145140A1 (ja) | 2019-01-08 | 2019-12-25 | 情報処理装置および方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022051968A (ja) |
WO (1) | WO2020145140A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10210468A (ja) * | 1996-09-18 | 1998-08-07 | Sharp Corp | 頂点群をデータベースとする階層的形状表現及び符号化方法並びに装置 |
JP2004171139A (ja) * | 2002-11-18 | 2004-06-17 | Nec Corp | データ階層化およびデータ再構成方法/装置/プログラム/記録媒体、データ記録媒体 |
JP2012230594A (ja) * | 2011-04-27 | 2012-11-22 | Topcon Corp | 三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム |
US20180350044A1 (en) * | 2017-06-02 | 2018-12-06 | Wisconsin Alumni Research Foundation | Systems, methods, and media for hierarchical progressive point cloud rendering |
-
2019
- 2019-01-08 JP JP2019001478A patent/JP2022051968A/ja active Pending
- 2019-12-25 WO PCT/JP2019/050761 patent/WO2020145140A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10210468A (ja) * | 1996-09-18 | 1998-08-07 | Sharp Corp | 頂点群をデータベースとする階層的形状表現及び符号化方法並びに装置 |
JP2004171139A (ja) * | 2002-11-18 | 2004-06-17 | Nec Corp | データ階層化およびデータ再構成方法/装置/プログラム/記録媒体、データ記録媒体 |
JP2012230594A (ja) * | 2011-04-27 | 2012-11-22 | Topcon Corp | 三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム |
US20180350044A1 (en) * | 2017-06-02 | 2018-12-06 | Wisconsin Alumni Research Foundation | Systems, methods, and media for hierarchical progressive point cloud rendering |
Non-Patent Citations (1)
Title |
---|
KOBAYASHI, TAKAAKI ET AL.: "Generation of a multi-resolution database for Large-Scale terrain data", LECTURE PROCEEDINGS OF 2016 JSME ANNUAL CONFERENCE ON ROBOTICS AND MECHATRONICS, THE JAPAN SOCIETY OF MECHANICAL ENGINEERS, 8 June 2016 (2016-06-08) * |
Also Published As
Publication number | Publication date |
---|---|
JP2022051968A (ja) | 2022-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7359153B2 (ja) | 画像処理装置および方法 | |
JP7384159B2 (ja) | 画像処理装置および方法 | |
JP7327166B2 (ja) | 画像処理装置および方法 | |
JP7480775B2 (ja) | 情報処理装置および方法 | |
WO2021010200A1 (ja) | 情報処理装置および方法 | |
US20230023219A1 (en) | Information processing device and method | |
WO2020145117A1 (ja) | 画像処理装置および方法 | |
WO2022145214A1 (ja) | 情報処理装置および方法 | |
WO2020071115A1 (ja) | 画像処理装置および方法 | |
WO2020145143A1 (ja) | 情報処理装置および方法 | |
WO2020145140A1 (ja) | 情報処理装置および方法 | |
US12108016B2 (en) | Image processing device and method | |
JP7544049B2 (ja) | 情報処理装置および方法 | |
WO2021193088A1 (ja) | 画像処理装置および方法 | |
US11790567B2 (en) | Information processing apparatus and method | |
WO2020175176A1 (ja) | 情報処理装置および方法、並びに、再生装置および方法 | |
US20220353493A1 (en) | Information processing apparatus and method | |
WO2024216493A1 (zh) | 点云编解码方法、编码器、解码器、码流及存储介质 | |
WO2024216649A1 (zh) | 点云编解码方法、编码器、解码器、码流及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19908551 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: 19908551 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |