Abstract: The present disclosure relates to an information processing device and method with which a reduction in subjective image quality can be suppressed. A comparison subject point, which is a point to be compared with a current point (which is a point to be processed in point cloud data for which the position information has been updated), is retrieved from point cloud data before the position information is updated, the retrieved comparison subject point and the current point are compared, and attribute information for the current point is set. The present disclosure can be applied to an information processing device, image processing device, electronic device, information processing method, program, and the like.
Specification
Title of invention: Information processing apparatus and method
Technical field
[0001]
The present disclosure relates to an information processing device and method, and more particularly to an information processing device and method capable of suppressing reduction in subjective image quality.
Background technology
[0002]
Conventionally, a method for compressing vertex data of a mesh that is composed of a point cloud that represents a three-dimensional structure based on position information and attribute information of point groups, and vertices, edges, and surfaces, and that defines a three-dimensional shape using polygonal representation. As such, there is quantization using Voxel such as Octree (see Non-Patent Document 1, for example).
Prior art documents
Non-patent literature
[0003]
Non-Patent Document 1: 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
Summary of the invention
Problems to be Solved by the Invention
[0004]
However, in general, such quantization of the position information often distorts the Geometry information (geometric information) and shifts the position of the point. Therefore, the positional relationship of attribute information such as color information is also distorted, and the points to be compared may be changed or increased/decreased, which may reduce the PSNR (Peak Signal-to-Noise Ratio). That is, the subjective image quality of the point cloud may be reduced.
[0005]
The present disclosure has been made in view of such a situation, and makes it possible to suppress a reduction in subjective image quality.
Means for solving the problem
[0006]
The information processing device according to one aspect of the present technology is a comparison target that is a point that is compared with the current point that is the processing target point of the point cloud data whose position information has been updated from the point cloud data before the position information has been updated. The information processing apparatus includes: a search unit that searches for a point; and an attribute information setting unit that compares the comparison target point searched by the search unit with a current point and sets attribute information of the current point.
[0007]
The information processing method according to one aspect of the present technology is a comparison target that is a point that is compared with the current point that is the processing target point of the point cloud data whose position information has been updated from the point cloud data before the position information has been updated. This is an information processing method for searching a point, comparing the searched comparison target point with the current point, and setting attribute information of the current point.
[0008]
In the information processing device and method according to one aspect of the present technology, the point cloud data before the position information is updated is compared with the current point that is the processing target point of the point cloud data with the updated position information. A certain comparison target point is searched, the searched comparison target point is compared with the current point, and the attribute information of the current point is set.
Effect of the invention
[0009]
According to the present disclosure, information can be processed. In particular, it is possible to suppress a reduction in subjective image quality.
Brief description of the drawings
[0010]
FIG. 1 is a diagram illustrating an example of a point cloud.
FIG. 2 is a diagram illustrating an example of changes in points due to quantization and the like.
FIG. 3 is a diagram illustrating an example of changes in points due to quantization and the like.
FIG. 4 is a diagram illustrating an example of changes in points due to quantization and the like.
FIG. 5 is a block diagram showing a main configuration example of an encoding device.
FIG. 6 is a diagram illustrating an example of an outline of encoding.
FIG. 7 is a block diagram showing a main configuration example of an encoding unit.
FIG. 8 is a block diagram showing a main configuration example of an attribute information updating unit.
FIG. 9 is a block diagram showing a main configuration example of a control unit.
FIG. 10 is a diagram showing an example of how the position of a point changes.
FIG. 11 is a diagram illustrating an example of control of an attribute information determination method.
FIG. 12 is a flowchart illustrating an example of the flow of encoding processing.
FIG. 13 is a flowchart illustrating an example of the flow of signal string encoding processing.
FIG. 14 is a flowchart illustrating an example of the flow of attribute information update processing.
FIG. 15 is a flowchart illustrating an example of the flow of control processing.
FIG. 16 is a diagram illustrating an example of PSNR comparison.
FIG. 17 is a block diagram illustrating a main configuration example of a decoding device.
FIG. 18 is a block diagram showing a main configuration example of a decoding unit.
FIG. 19 is a flowchart illustrating an example of the flow of decoding processing.
FIG. 20 is a flowchart illustrating an example of the flow of a bitstream decoding process.
FIG. 21 is a diagram illustrating an example of how a plurality of attribute information is set.
FIG. 22 is a diagram illustrating an example of a method of assigning attribute information.
FIG. 23 is a diagram illustrating an example of a method of assigning attribute information.
FIG. 24 is a diagram illustrating an example of how to set attribute information.
FIG. 25 is a flowchart illustrating an example of the flow of attribute information update processing.
FIG. 26 is a block diagram illustrating a main configuration example of a display device.
FIG. 27 is a flowchart illustrating an example of the flow of display processing.
FIG. 28 is a block diagram showing a main configuration example of an image processing device.
FIG. 29 is a diagram illustrating an example of how points are interpolated and resampled.
FIG. 30 is a flowchart illustrating an example of the flow of image processing.
FIG. 31 is a block diagram showing a main configuration example of a computer.
MODE FOR CARRYING OUT THE INVENTION
[0011]
Hereinafter, modes for implementing the present disclosure (hereinafter referred to as embodiments) will be described. The description will be given in the following order.
1. 1. Setting single attribute information to the point whose location information has been updated
2. First Embodiment (encoder: Set the singular attribute information)
3. Second Embodiment (decoding device: setting the singular attribute information)
4. Third Embodiment (encoder: configuration of multiple attribute information)
5. Fourth Embodiment (display device: configure multiple attribute information)
6. Fifth embodiment (image processing apparatus)
7. Other
[0012]
<1. Setting singular attribute information to points whose position information has been updated>
Conventionally, a point cloud that represents a three-dimensional structure based on the position information and attribute information of the point cloud, vertexes, edges, and faces are used. There was data such as meshes that define a three-dimensional shape using a rectangular representation.
[0013]
For example, in the case of a point cloud, a three-dimensional structure as shown in A of FIG. 1 is expressed as a set (point group) of many points (point data) as shown in B of FIG. That is, the point cloud data is composed of position information and attribute information (for example, color) of each point of this point cloud. Therefore, the data structure is relatively simple, and an arbitrary three-dimensional structure can be represented with sufficient accuracy by using a sufficient number of points.
[0014]
However, since the amount of data of such point clouds and meshes is relatively large, it is required to compress the amount of data by encoding or the like. For example, a coding method using Voxel such as Octree or KDtree has been considered. The voxel is a data structure for quantizing the position information of the encoding target.
[0015]
Generally, such quantization of position information often distorts Geometry information (geometric information) and shifts the position of a point. Attribute information is set for each point as well as position information (geometric information). Therefore, due to such quantization, the positional relationship of attribute information such as color information is also distorted, the points to be compared may be changed or increased or decreased, and PSNR (Peak Signal-to-Noise Ratio) may be reduced. there were. That is, the subjective image quality of the point cloud may be reduced.
[0016]
Therefore, from the point cloud data before the positional information is updated, a comparison target point that is a point to be compared with the current point that is the processing target point of the point cloud data whose positional information is updated is searched, and specified by the search. The comparison target point is compared with the current point, and the attribute information of the current point is set.
[0017]
For example, in the information processing device, the point cloud data before the position information is updated is searched for a comparison target point that is a point to be compared with the current point that is the processing target point of the point cloud data whose position information is updated. A search unit and an attribute information setting unit that compares the comparison target point searched by the search unit with the current point and sets the attribute information of the current point are provided.
[0018]
In this way, the comparison target point is specified while considering the change in the position information, and the attribute information is used to set the attribute information of the current point that is the processing target. A change in (color information, etc.) can be suppressed. Therefore, it is possible to suppress the reduction in PSNR and the subjective image quality of the point cloud (change in appearance).
[0019]
An outline of
such settings will be described with reference to FIGS. 2 to 4. 2 to 4 show how points change due to quantization of position information. A in these drawings schematically shows a point cloud before quantization. In addition, B in these figures schematically shows the point cloud after quantization. Each arrow of AtoB shows the correspondence between the point before quantization and the point after quantization when the post-quantization is used as a reference, and each arrow of BtoA indicates the opposite, that is, before quantization. 4 shows a correspondence relationship between the points before quantization and the points after quantization when using as a reference.
[0020]
For example, FIG. 2 shows an example in which neither the position nor the number of points is substantially changed by the quantization. In this case, in AtoB, the comparison target for the post-quantization point 13 is the pre-quantization point 11 located at substantially the same position as the point 13 (the post-quantization point 13 is the pre-quantization point). 11). Further, in BtoA, the comparison target for the point 11 before the quantization is the point 13 after the quantization located at the substantially same position as the point 11 (the point 11 before the quantization is the point 13 after the quantization. Corresponding to).
[0021]
Similarly, in AtoB, the comparison target for the post-quantization point 14 is the pre-quantization point 12 located at substantially the same position as the point 14, and in BtoA, the comparison for the pre-quantization point 12 is performed. The target is the quantized point 14 located at substantially the same position as the point 12.
[0022]
In other words, in this case, the point correspondence does not change in either AtoB or BtoA direction. Therefore, the attribute information (i′) of the point 13 is set to a value substantially the same as the attribute information (i) of the point 11. Similarly, the attribute information (j′) of the point 14 is set to a value substantially the same as the attribute information (j) of the point 12.
[0023]
For example, FIG. 3 shows an example in which the number of points is reduced by quantization. In this case, in AtoB, the comparison targets for the post-quantization point 23 are the pre-quantization points 21 and 22 (the post-quantization point 23 corresponds to the pre-quantization points 21 and 22). Do). In BtoA, the comparison target for the pre-quantization point 21 is the post-quantization point 23 located at substantially the same position as the point 21 (the pre-quantization point 21 is the post-quantization point 23. Corresponding to).
[0024]
Therefore, the attribute information (i′) of the point 23 is a value generated by using the attribute information (i) of the point 21 and the attribute information (j) of the point 22 or the attribute information (i) of the point 21. Substantially the same value is set.
[0025]
For example, FIG. 4 shows an example in which the number of points increases or the position of the points shifts due to quantization. In this case, in AtoB, the comparison target for the post-quantization point 33 is the pre-quantization point 32 (the post-quantization point 33 corresponds to the pre-quantization point 32). In BtoA, the comparison target for the pre-quantization point 31 is the post-quantization point 34 (the pre-quantization point 31 corresponds to the post-quantization point 34).
[0026]
Therefore, the attribute information (i') of the point 33 is set to a value substantially the same as the attribute information (j) of the point 32. The attribute information (j') of the point 34 is set to a value substantially the same as the attribute information (i) of the point 31.
[0027]
By thus searching for the comparison target in consideration of the change in position, attribute information can be set for each point so as to suppress the reduction in subjective image quality of the point cloud.
[0028]
In the following, the present technology will be described by taking a point cloud as an example of data to be processed. However, the present technology is not limited to the point cloud, and for example, shows a three-dimensional structure such as a mesh and can set attribute information The data can be applied to any processing target. The processing target may be a moving image or a still image.
[0029]
<2. First Embodiment>
FIG. 5 is a block diagram showing a main configuration example of an encoding device which is an embodiment of an information processing device to which the present technology is applied. The encoding device 100 shown in FIG. 5 encodes the point cloud data input as an encoding target using voxels, and outputs the obtained encoded data and the like. At that time, the encoding device 100 performs this encoding by a method to which the present technology is applied as described below.
[0030]
As illustrated in FIG. 5, the encoding device 100 includes a control unit 101, a preprocessing unit 111, a bounding box setting unit 112, a voxel setting unit 113, a signal sequence generation unit 114, and an encoding unit 115.
[0031]
The control unit 101 performs processing relating to control of each processing unit in the encoding device 100. For example, the control unit 101 controls execution or skip (omission) of processing by each processing unit. For example, the control unit 101 performs such control based on predetermined control information. By doing so, the control unit 101 can suppress the execution of unnecessary processing and can suppress the increase in load.
[0032]
Although the control unit 101 may have any configuration, for example, it has a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), etc. The processing may be performed by loading the stored program or data into the RAM and executing it.
[0033]
The pre-processing unit 111 is controlled by the control unit 101, performs a predetermined process as pre-processing on an encoding target (point cloud data) input to the encoding device 100, and outputs the processed data to the bounding box. It is supplied to the setting unit 112.
[0034]
For example, the control unit 101 causes the pre-processing unit 111 to execute the pre-processing when the execution of the pre-processing is permitted (not prohibited) according to the control information for permitting or prohibiting the execution of the pre-processing. Further, for example, the control unit 101 allows the preprocessing to be executed (not prohibited) according to the control information indicating the range of the coding target to be permitted or prohibited to execute the preprocessing. On the other hand, the preprocessing unit 111 is caused to execute the preprocessing. Further, for example, the control unit 101 causes the pre-processing unit 111 to execute a process for which execution is permitted (not prohibited) according to control information that specifies the processing content for permitting or prohibiting execution. By doing so, it is possible to suppress the execution of unnecessary preprocessing and suppress an increase in load.
[0035]
The content of the preprocessing is arbitrary. For example, the preprocessing unit 111 may perform a process of reducing noise or a process of changing the resolution (the number of points) as the preprocessing. Further, for example, the arrangement of each point may be updated so that the density of the point group is made uniform or a desired bias is given. Further, for example, data that is not a point cloud, such as image information having depth information, is input to the encoding device 100, and the pre-processing unit 111 uses the input data as point cloud data as pre-processing. You may make it convert.
[0036]
Although the pre-processing unit 111 may have any configuration, for example, it has a CPU, a ROM, a RAM, etc., and the CPU loads the program or data stored in the ROM or the like into the RAM and executes By doing so, pre-processing may be performed.
[0037]
The bounding box setting unit 112 is controlled by the control unit 101 and performs a process related to setting a bounding box for normalizing the position information of the encoding target.
[0038]
For example, the control unit 101 sets the bounding box in the bounding box setting unit 112 when the setting of the bounding box is permitted (not prohibited) according to the control information for permitting or prohibiting the setting of the bounding box. Let In addition, for example, the control unit 101 performs encoding in which the setting of the bounding box is permitted (not prohibited) according to control information indicating the range of the encoding target that is the target of permission or prohibition of the setting of the bounding box. For the target, the bounding box setting unit 112 sets the bounding box. Further, for example, the control unit 101 causes the bounding box setting unit 112 to use the bounding box using the parameter that is permitted (not prohibited) according to the control information regarding permission or prohibition of the parameter used for setting the bounding box. To set. By doing so, unnecessary bounding box settings and unnecessary parameter use can be suppressed, and an increase in load can be suppressed.
[0039]
For example, the bounding box setting unit 112 sets a bounding box for each object to be encoded. For example, as shown in A of FIG. 6, when the object 131 or the object 132 is represented by the point cloud data, the bounding box setting unit 112 causes the object 131 or the object 132 to be represented as shown in B of FIG. The bounding box 141 and the bounding box 142 are set so as to include the objects 132, respectively. Returning to FIG. 5, when the bounding box is set, the bounding box setting unit 112 supplies information about the bounding box to the voxel setting unit 113.
[0040]
The bounding box setting unit 112 may have any configuration. For example, the bounding box setting unit 112 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. Alternatively, the processing relating to the setting of the bounding box may be performed.
[0041]
The voxel setting unit 113 is controlled by the control unit 101 and performs a process related to setting a voxel for quantizing the position information of the encoding target.
[0042]
For example, the control unit 101 causes the voxel setting unit 113 to set the voxel when the setting of the voxel is permitted (not prohibited) according to the control information for permitting or prohibiting the setting of the voxel. In addition, for example, the control unit 101 sets the voxel to the coding object that is permitted (not prohibited) according to the control information indicating the range of the coding object that is the target of permission or prohibition of the voxel setting. On the other hand, the voxel setting unit 113 is caused to set the voxel. Further, for example, the control unit 101 causes the voxel setting unit 113 to set a voxel using a parameter that is permitted (not prohibited) according to control information regarding permission or prohibition of a parameter used for setting a voxel. .. By doing so, unnecessary voxel setting and unnecessary parameter use can be suppressed, and an increase in load can be suppressed.
[0043]
For example, the voxel setting unit 113 sets voxels in the bounding box set by the bounding box setting unit 112. For example, the voxel setting unit 113 sets the voxels 151 by dividing the bounding box 141 as shown in C of FIG. That is, the voxel setting unit 113 quantizes the point cloud data in the bounding box by voxels (that is, voxels). When there are a plurality of bounding boxes, the voxel setting unit 113 converts the point cloud data into voxels for each bounding box. That is, in the case of the example in FIG. 6B, the voxel setting unit 113 performs the same process on the bounding box 142. When the voxels are set as described above, the voxel setting unit 113 causes the voxelized point cloud data (also referred to as voxel data) (information about a data structure for quantizing position information), attribute information, and the like. Is supplied to the signal sequence generation unit 114.
[0044]
Although the voxel setting unit 113 may have any configuration, for example, it has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. The process relating to the voxel setting may be performed by executing the above process.
[0045]
The signal sequence generation unit 114 is controlled by the control unit 101 and performs a process related to generation of a signal sequence.
[0046]
For example, the control unit 101 causes the signal sequence generation unit 114 to generate the signal sequence when the generation of the signal sequence is permitted (not prohibited) according to the control information for permitting or prohibiting the generation of the signal sequence. Further, for example, the control unit 101 allows the generation of the signal sequence (not prohibited) to be encoded according to the control information indicating the range of the encoding target for which the generation of the signal sequence is permitted or prohibited. In response, the signal sequence generator 114 is caused to generate a signal sequence. By doing so, it is possible to suppress the generation of unnecessary signal sequences and suppress an increase in load.
[0047]
The signal string generation unit 114, for example, converts voxel data obtained by quantizing the point cloud data (for example, voxel data generated by the voxel setting unit 113 as illustrated in C of FIG. 6) and other information into a signal string, and The signal string is supplied to the encoding unit 115.
[0048]
The signal sequence generation unit 114 may have any configuration. For example, the signal sequence generation unit 114 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. Alternatively, the processing relating to the generation of the signal sequence may be performed.
[0049]
The encoding unit 115 is controlled by the control unit 101 and performs a process related to encoding of the supplied signal sequence.
[0050]
For example, the control unit 101 encodes the signal sequence in the encoding unit 115 when the signal sequence encoding is permitted (not prohibited) according to the control information for permitting or prohibiting the signal sequence encoding. Let Further, for example, the control unit 101 is a code for which the encoding of the signal sequence is permitted (not prohibited) according to the control information indicating the range of the encoding target for which the encoding or the inhibition of the signal sequence is permitted. Encoding section 115 causes the signal sequence to be encoded with respect to the encoding target. By doing so, it is possible to suppress the encoding of unnecessary signal sequences and suppress an increase in load.
[0051]
The encoding unit 115 encodes the supplied signal sequence, for example, to generate encoded data (bit stream). The encoding method of this signal sequence is arbitrary. For example, the encoding unit 115 may encode the signal sequence by variable-length encoding (VLC (Variable Length Code)). FIG. 6D shows an example of the appearance of the encoded signal sequence.
[0052]
The encoding unit 115 also appropriately encodes related information other than the point cloud data, such as control information, and stores it in a header, a parameter set, or the like.
[0053]
The encoding unit 115 associates the bit streams of the various types of information described above with each other. Here, the term “associate” means, for example, that when processing one data, the other data is available (linkable). That is, the data associated with each other may be collected as one data or may be individual data. For example, the control information associated with the encoded data may be transmitted on a transmission path different from that of the encoded data. Further, for example, the control information associated with the encoded data may be recorded on a recording medium different from the encoded data (or another recording area of the same recording medium). The "association" may be a part of the data instead of the entire data. For example, they may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
[0054]
The encoding unit 115 outputs the encoded data (bit stream) obtained by such encoding to the outside of the encoding device 100. The data (encoded data and control information) output from the encoding device 100 may be decoded by a processing unit at a subsequent stage (not shown) to restore the point cloud data, or the data may be restored. It may be transmitted by a communication unit and transmitted to another device such as a decoding device via a predetermined transmission path, or may be recorded in a recording medium (not shown).
[0055]
The encoding unit 115 may have any configuration. For example, the encoding unit 115 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. The processing relating to encoding may be performed by executing the above.
[0056]
FIG. 7 is a block diagram showing a main configuration example of the encoding unit 115 (FIG. 5). As shown in FIG. 7, the encoding unit 115 includes a geometric information encoding unit 201, an attribute information updating unit 202, an attribute information encoding unit 203, and a combining unit 204.
[0057]
The geometric information encoding unit 201 performs a process related to encoding geometric information (Geometry information) such as position information. For example, the geometric information encoding unit 201 encodes the signal sequence of the geometric information (voxel data) supplied from the signal sequence generation unit 114, and generates the bitstream thereof. The geometric information encoding unit 201 supplies the bitstream to the synthesizing unit 204.
[0058]
The geometrical information encoding unit 201 may have any configuration. For example, the geometrical information encoding unit 201 includes a CPU, a ROM, a RAM, etc., and the CPU stores a program or data stored in the ROM or the like in a RAM. Alternatively, the processing relating to the encoding of the geometric information may be performed by loading and executing the processing on the.
[0059]
The attribute information updating unit 202 performs processing related to updating attribute information. For example, the attribute information updating unit 202 updates the attribute information of each point (each voxel) so as to correspond to the quantization of the position information. This attribute information includes, for example, at least one of color information, α channel, and normal vector.
[0060]
For example, the attribute information updating unit 202 acquires point cloud data (that is, data before quantization) including geometric information and attribute information from the preprocessing unit 111 (FIG. 5). The attribute information updating unit 202 also acquires a signal string of voxel data (that is, quantized data) from the signal string generating unit 114. Based on these pieces of information, the attribute information updating unit 202 sets comparison target points for each comparison (voxels) so as to correspond to changes in position information due to quantization. Then, the attribute information updating unit 202 sets the attribute information of each point using the attribute information of the comparison target point. The attribute information updating unit 202 supplies the attribute information thus updated (updated attribute information) to the attribute information encoding unit 203.
[0061]
The attribute information updating unit 202 may have any configuration. For example, the attribute information updating unit 202 has a CPU, a ROM, a RAM, etc., and the CPU loads the program or data stored in the ROM, etc. Alternatively, the processing relating to the update of the attribute information may be performed.
[0062]
The attribute information coding unit 203 performs processing related to coding of attribute information. For example, the attribute information encoding unit 203 encodes the updated attribute information that is the attribute information updated by the attribute information updating unit 202, and generates the bitstream. The attribute information encoder 203 supplies the bitstream to the synthesizer 204.
[0063]
The attribute information encoding unit 203 may have any configuration. For example, the attribute information encoding unit 203 has a CPU, a ROM, a RAM, etc., and the CPU stores a program or data stored in the ROM, etc. The processing related to the encoding of the attribute information may be performed by loading and executing it.
[0064]
The synthesizing unit 204 performs processing relating to synthesizing bit streams. For example, the synthesizing unit 204 synthesizes the geometric information bit stream supplied from the geometric information encoding unit 201 and the attribute information bit stream supplied from the attribute information encoding unit 203 to obtain one bit. Put it in a stream. Note that this bitstream may include metadata such as a header and parameter set. The combining unit 204 outputs the bitstream to the outside of the encoding device 100.
[0065]
Although the synthesizing unit 204 may have any configuration, for example, the synthesizing unit 204 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. By executing the processing, the processing related to the combination of the bit streams may be performed.
[0066]
FIG. 8 is a block diagram showing a main configuration example of the attribute information updating unit 202 (FIG. 7). As shown in FIG. 8, the attribute information update unit 202 includes a control unit 211, a comparison target search unit 221, an attribute information setting unit 222, and an exception processing unit 223.
[0067]
The control unit 211 controls the operation of each processing unit of the comparison target search unit 221 to the exception processing unit 223. For example, the control unit 211 performs processing of each processing performed by the comparison target search unit 221 to the exception processing unit 223 based on processing conditions (request from the outside) and information about processing such as processing mode and parameters used for processing. Set the method etc.
[0068]
For example, the control unit 211 makes this setting based on information such as processing speed, quality, and compression algorithm. For example, the control unit 211 sets a comparison target determination method, controls the comparison target search unit 221, and determines the comparison target by that method. Further, for example, the control unit 211 sets a comparison method, controls the attribute information setting unit 222, and causes the attribute information to be compared by that method. Further, for example, the control unit 211 sets an attribute determination method, controls the attribute information setting unit 222, and causes the attribute to be determined by that method. Further, for example, the control unit 211 sets an exception handling method, controls the exception handling unit 223, and causes the exception handling to be performed by that method.
[0069]
The control unit 211 may have any configuration. For example, the control unit 211 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. By executing the processing, the control-related processing may be performed.
[0070]
The comparison target search unit 221 acquires the geometric information before quantization (geometric information before position change) and the geometric information after quantization (Voxel data), and uses them to control by the control unit 211. A comparison target point to be compared with the current point is searched for by the set method. When the comparison target point is specified, the comparison target search unit 221 supplies the attribute information setting unit 222 with the comparison target information that is information regarding the comparison target point.
[0071]
The comparison target search unit 221 may have any configuration, for example, it has a CPU, a ROM, a RAM, etc. Alternatively, the processing regarding the search for the comparison target point may be performed.
[0072]
The attribute information setting unit 222 acquires attribute information before quantization (attribute information before position change) in addition to the comparison target information. The attribute information setting unit 222 uses the information to compare the current point with the comparison target point by the method set by the control unit 211. Further, the attribute information setting unit 222 determines the attribute of the current point by the method set by the control unit 211 using the attribute information of the comparison target points, sets the attribute information, and reflects the attribute. The attribute information setting unit 222 supplies the set attribute information (current position attribute information) of the current point to the exception processing unit 223. This attribute information includes at least one of color information, an α channel, and a normal vector.
[0073]
The attribute information setting unit 222 may have any configuration. For example, the attribute information setting unit 222 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. Alternatively, the processing relating to the setting of the attribute information may be performed.
[0074]
When the comparison target point is not found, the exception processing unit 223 performs exception processing by the method set by the control unit 211. Details of the exception processing will be described later. When the exception processing unit 223 does not perform the exception processing, the position-changed attribute information supplied from the attribute information setting unit 222 is supplied to the attribute information encoding unit 203 (FIG. 7) as updated attribute information.
[0075]
Although the exception processing unit 223 may have any configuration, for example, it has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. By executing the above, the processing related to the exception processing may be performed.
[0076]
FIG. 9 is a block diagram showing a main configuration example of the control unit 211 (FIG. 8). As illustrated in FIG. 9, the control unit 211 includes, for example, a comparison method setting unit 231, a comparison target determination method setting unit 232, an attribute determination method setting unit 233, and an exception processing method setting unit 234.
[0077]
The comparison method setting unit 231 performs processing relating to the setting of the comparison method. Although the comparison method is arbitrary, for example, as shown in B of FIG. 10, a method of determining a color from the relationship of AtoB, a method of determining a color from the relationship of BtoA, and a color from both the relationship of AtoB and BtoA. A method of determining is prepared as a candidate, and the comparison method setting unit 231 selects one of these methods. For example, the comparison method setting unit 231 selects one of these methods based on various conditions (for example, processing speed, quality, compression algorithm, etc.).
[0078]
For example, when the comparison method setting unit 231 sets a method of determining a color from the AtoB relationship as the comparison method, the attribute information setting unit 222 uses the attribute information of the points 253 and 252, which are comparison target points, to determine the current value. The attribute information of the point 251 which is a point is set.
[0079]
Further, for example, when the comparison method setting unit 231 sets a method of determining a color from the relationship of BtoA as the comparison method, the attribute information setting unit 222 uses the attribute information of the point 253, which is the comparison target point, to determine the current point. The attribute information of the point 251 is set.
[0080]
Further, for example, when the comparison method setting unit 231 sets a method of determining a color from the relationship of AtoB and BtoA as the comparison method, the attribute information setting unit 222 causes the attribute information setting unit 222 to set the attribute information of the points 252 and 253 or the point 253. The attribute information is used to set the attribute information of the point 251 which is the current point.
[0081]
The comparison method setting unit 231 may have any configuration. For example, the comparison method setting unit 231 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. Alternatively, the processing relating to the setting of the comparison method may be performed.
[0082]
The comparison target determination method setting unit 232 performs processing relating to the setting of the comparison target determination method. The method of determining the comparison target is arbitrary, but for example, a method of selecting the point closest to the current point of the point cloud data before the position information is updated as the comparison target point may be used. .. In the case of this method, the comparison target search unit 221 is located closer to the point 252 and the point 253 located near the current point 251 as shown in FIG. Select a point (located near) as the comparison point.
[0083]
Further, for example, a method of selecting, as a comparison target point, a point located closer than a predetermined distance r with respect to the current point of the point cloud data before the positional information is updated, and the closest point. It may be. In the case of this method, the comparison target search unit 221 sets, for example, as shown in A of FIG. 10, a circle 254 having a radius r centered on the point 251 which is the current point and positioned inside the circle 254. Of the points 252 and 253 to be selected, a point located closer (positioned closest) is selected as a comparison target point. In this case, since the maximum value r of the distance between the current point and the comparison target point is set, the comparison target point may not exist. In that case, the exception processing unit 223 performs exception processing.
[0084]
In addition, for example, by a method of selecting a point that is selected according to another algorithm of the point cloud data before the position information is updated and that is located closer than the predetermined distance r with respect to the current point as a comparison target point. It may be. Other algorithms are arbitrary, but may be algorithms that determine a comparison target by adapting to a subjective structure such as reducing an error in an edge portion. In the case of this method, the comparison target search unit 221 sets, for example, as shown in A of FIG. 10, a circle 254 having a radius r centered on the point 251 which is the current point and positioned inside the circle 254. Among the points 252 and 253 to be selected, a point selected according to another algorithm is selected as a comparison target point.
[0085]
For example, a plurality of methods such as these are prepared as candidates, and the comparison target determination method setting unit 232 selects one of these methods. For example, the comparison target determination method setting unit 232 selects one of these methods based on various conditions (for example, processing speed, quality, compression algorithm, etc.).
[0086]
Although the comparison target determination method setting unit 232 may have any configuration, for example, the comparison target determination method setting unit 232 includes a CPU, a ROM, a RAM, etc. Alternatively, the processing relating to the setting of the comparison target determination method may be performed by loading and executing.
[0087]
The attribute determination method setting unit 233 performs processing relating to the setting of the attribute determination method. Although the method of determining the attribute is arbitrary, for example, one may be selected from the attributes of the comparison target points and applied to the attribute of the current point. To describe using the example of A of FIG. 10, in this case, the attribute information setting unit 222 sets the attribute information of either one of the points 252 and 253, which are comparison target points, to the point 251 which is the current point. Apply.
[0088]
Further, for example, the average of the attributes of the plurality of comparison target points may be applied to the attribute of the current point. To describe using the example of A of FIG. 10, in this case, the attribute information setting unit 222 applies the average of the attribute information of both points 252 and 253, which are comparison target points, to the point 251 which is the current point. ..
[0089]
Furthermore, for example, the attribute of each comparison target point may be weighted, and the average (weighted average) may be applied to the attribute of the current point. To describe using the example of A of FIG. 10, in this case, the attribute information setting unit 222 applies the weighted average of the attribute information of both the points 252 and 253, which are comparison target points, to the point 251 which is the current point. To do.
[0090]
Note that this weight (coefficient) may be set according to, for example, the distance from the comparison target point to the current point, the characteristic (for example, brightness) of the attribute information of the comparison target point, or the like.
[0091]
For example, a plurality of methods such as these are prepared as candidates, and the attribute determination method setting unit 233 selects one of these methods. For example, the attribute determination method setting unit 233 selects one of these methods based on various conditions (for example, processing speed, quality, compression algorithm, etc.).
[0092]
The attribute determination method setting unit 233 may have any configuration. For example, the attribute determination method setting unit 233 has a CPU, a ROM, a RAM, etc. You may make it perform the process regarding the setting of the determination method of an attribute by loading and executing.
[0093]
The exception handling method setting unit 234 performs processing related to setting an exception handling method. The exception processing method is arbitrary, but for example, the current point having no comparison target point may be made invisible. In this case, the exception processing unit 223 gives, for example, an invisible attribute (no_color_attribute) to the current point having no comparison target point (bits are set, or an invisible color is defined in a header or the like, and the current point is Set to color). The exception processing unit 223 supplies the attribute information to which the invisible attribute is added to the attribute information encoding unit 203 as update attribute information.
[0094]
Further, for example, the current point having no comparison target point may be excluded from the encoding target. In this case, the exception processing unit 223 excludes, for example, the current point having no comparison target point from the target of encoding, and supplies the point cloud (updated geometric information) excluding the point to the preprocessing unit 111 and the like, Request re-encoding. According to the request, the encoding device 100 encodes the point cloud in which the points for which the comparison target points are not found are excluded.
[0095]
Further, for example, the encoding method (for example, mode, parameter, etc.) may be changed so that a current point having no comparison target point is generated. In this case, the exception processing unit 223 requests, for example, the preprocessing unit 111 or the like to re-encode the point cloud. At that time, the exception processing unit 223 requests to change the encoding method and re-encode.
[0096]
This encoding method may be changed in any way. For example, the threshold DAG TH used for DAG (Directed Acyclic Graph) (also referred to as effective directivity graph) may be changed.
[0097]
For example, a plurality of methods such as these are prepared as candidates, and the exception handling method setting unit 234 selects one of these methods. For example, the exception processing method setting unit 234 selects one of these methods based on various conditions (for example, processing speed, quality, compression algorithm, etc.).
[0098]
The exception handling method setting unit 234 may have any configuration. For example, the exception handling method setting unit 234 has a CPU, a ROM, a RAM, and the CPU stores programs and data stored in the ROM in the RAM. You may make it perform the process regarding the setting of the exception processing method by loading and executing.
[0099]
By thus searching the comparison target in consideration of the change in position, the encoding apparatus 100 can set the attribute information to each point so as to suppress the reduction in the subjective image quality of the point cloud.
[0100]
For example, when the positions of the points are displaced or when the number of the points is reduced, the comparison method setting unit 231 to the exception processing method setting unit 234 of the control unit 211 are displayed in the table shown in A of FIG. Thus, each processing method may be set according to the application (high speed, high quality (objective index emphasis), high quality (subjective index emphasis), etc.). In addition, for example, when the number of points increases due to resampling or the like, the comparison method setting unit 231 to the exception processing method setting unit 234 of the control unit 211 can be used as shown in the table shown in FIG. Each processing method may be set according to high quality (objective index emphasis), high quality (subjective index emphasis), and the like.
[0101]
By controlling the processing according to the application as described above, the encoding apparatus 100 can suppress an unnecessary processing load and an increase in processing time.
[0102]
An example of the encoding process flow executed by the encoding apparatus 100 having the above-described configuration will be described with reference to the flowchart in FIG.
[0103]
When the encoding process is started, the preprocessing unit 111 performs preprocessing on the input data in step S101.
[0104]
In step S102, the bounding box setting unit 112 sets a bounding box for the preprocessed data.
[0105]
In step S103, the voxel setting unit 113 sets voxels in the bounding box set in step S102.
[0106]
In step S104, the signal sequence generator 114 generates a signal sequence based on the data structure.
[0107]
In step S105, the encoding unit 115 encodes the signal string generated by the process of step S104.
[0108]
In step S106, the encoding unit 115 outputs the bitstream obtained by the encoding to the outside of the encoding device 100. This bit stream is transmitted to the decoding side (decoding device or the like) or recorded on a recording medium, for example.
[0109]
When the process of step S106 ends, the encoding process ends. For example, when the encoding target is a moving image, this series of processing is performed for each frame.
[0110]
Next, an example of the flow of the signal sequence encoding process executed in step S105 of FIG. 12 will be described with reference to the flowchart of FIG.
[0111]
When the signal string coding process is started, the geometric information coding unit 201 codes the voxel data in step S121.
[0112]
In step S122, the attribute information update unit 202 updates the attribute information.
[0113]
In step S123, the attribute information encoding unit 203 encodes the attribute information updated in step S122.
[0114]
In step S124, the combining unit 204 combines the bitstream obtained by the process of step S121 and the bitstream obtained by the process of step S123.
[0115]
When the process of step S124 ends, the signal string encoding process ends, and the process returns to FIG.
[0116]
Next, an example of the flow of attribute information update processing executed in step S122 of FIG. 13 will be described with reference to the flowchart of FIG.
[0117]
When the attribute information update process is started, the control unit 211 performs the control process in step S141 and determines the method of each process.
[0118]
In step S142, the comparison target search unit 221 searches for comparison target points according to the comparison target determination method set in step S141.
[0119]
In step S143, the attribute information setting unit 222 determines whether to set attribute information at the current point. If it is determined to set the attribute information, the process proceeds to step S144.
[0120]
In step S144, the attribute information setting unit 222 sets the attribute information of the current point according to the comparison method and the attribute determination method set in step S141.
[0121]
When the process of step S144 ends, the process proceeds to step S145. If it is determined in step S143 that no comparison target point is found and attribute information is not set for the current point, the process proceeds to step S145.
[0122]
In step S145, the exception processing unit 223 determines whether to perform exception processing. For example, when the comparison target point is not found and it is determined that the exception process is performed, the process proceeds to step S146.
[0123]
In step S146, the exception handling unit 223 performs exception handling according to the exception handling method set in step S141.
[0124]
When the process of step S146 ends, the attribute information update process ends, and the process returns to FIG. Further, in step S145, for example, when the comparison target point is found and it is determined that the exceptional process is not performed, the process of step S146 is omitted, the attribute information update process ends, and the process returns to FIG. 13.
[0125]
Next, an example of the flow of the control process executed in step S141 of FIG. 14 will be described with reference to the flowchart of FIG.
[0126]
When the control process is started, the comparison method setting unit 231 sets the comparison method in step S161 and supplies the setting to the attribute information setting unit 222.
[0127]
In step S162, the comparison target determination method setting unit 232 sets the comparison target determination method and supplies the setting to the comparison target search unit 221.
[0128]
In step S163, the attribute determination method setting unit 233 sets the attribute determination method and supplies the setting to the attribute information setting unit 222.
[0129]
In step S164, the exception handling method setting unit 234 sets the exception handling method and supplies the setting to the exception handling unit 223.
[0130]
When the process of step S164 ends, the control process ends.
[0131]
By executing each process as described above, the encoding device 100 can suppress an unnecessary process load and an increase in processing time.
[0132]
In the
case of performing DAG (effective directivity graph) processing, the conventional method (Dag ORG) and the method of updating attribute information (Dag ORG) in consideration of the change of geometric information in the direction of BtoA (Dag FIG. 16 shows a comparison of the PSNR evaluation results of the method (Dag New) of updating the attribute information in consideration of the change in the geometric information for both BtoA) and AtoB, BtoA.
[0133]
16A is a comparison of the PSNR values of the respective methods for each component of YUV, and B of FIG. 16 is a bar graph thereof. The white bar graph of B of FIG. 16 corresponds to Dag ORG of the table of A of FIG. 16, the shaded bar graph of B of FIG. 16 corresponds to Dag BtoA of the table of A of FIG. 16, and the bar graph of B of FIG. The bar graph with a mesh pattern corresponds to Dag New in the table of FIG.
[0134]
As shown in FIG. 16, by applying the present technology and searching for a comparison target in consideration of a change in position, PSNR can be improved. Therefore, it is possible to suppress the reduction of the subjective image quality of the point cloud.
[0135]
<3. Second Embodiment>
A decoding device that decodes the bitstream generated by the encoding device 100 also decodes the attribute information together with the geometric information. In addition, when the invisible attribute (no_color_attribute) is set for the point, the decoding device performs processing so as to make the point invisible.
[0136]
FIG. 17 is a block diagram illustrating a main configuration example of a decoding device that is an embodiment of an information processing device to which the present technology is applied. A decoding device 300 shown in FIG. 17 is a decoding device corresponding to the coding device 100 of FIG. 5, and decodes the point cloud coded data generated by this coding device 100, Restore.
[0137]
As illustrated in FIG. 17, the decoding device 300 includes a decoding unit 301, a voxel data generation unit 302, and a point cloud processing unit 303.
[0138]
The decoding unit 301 performs processing relating to decoding of a bitstream. For example, the decoding unit 301 decodes the bitstream by a decoding method corresponding to the coding method of the coding unit 115, and extracts a signal string of geometric information or attribute information from the bitstream. The decoding unit 301 supplies the signal sequence extracted from the bitstream to the voxel data generation unit 302.
[0139]
The decryption unit 301 may have any configuration. For example, the decryption unit 301 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. By executing the processing, the processing regarding the decoding may be performed.
[0140]
The voxel data generation unit 302 performs processing regarding generation of voxel data. For example, the voxel data generation unit 302 generates voxel data corresponding to the signal sequence supplied from the decoding unit 301. The voxel data generation unit 302 supplies the generated voxel data to the point cloud conversion processing unit 303.
[0141]
Although the voxel data generation unit 302 may have any configuration, for example, the voxel data generation unit 302 includes a CPU, a ROM, a RAM, etc. Then, the processing relating to the generation of voxel data may be performed.
[0142]
The point cloud conversion processing unit 303 performs processing related to restoration of point cloud data. For example, the point cloud conversion processing unit 303 converts the supplied voxel data into point cloud data (generates decoded point cloud data). The point cloud conversion processing unit 303 may further convert the decrypted point cloud data into mesh data.
[0143]
The point cloud conversion processing unit 303 outputs the generated decoded point cloud data (or Mesh data) to the outside of the decoding device 300. The output decoded point cloud data (or Mesh data) may be image-processed by a subsequent processing unit (not shown) and displayed on a monitor or the like as image information, or a communication unit (not shown). And may be transmitted to another device via a predetermined transmission path, or may be recorded in a recording medium (not shown).
[0144]
The point cloud conversion processing unit 303 may have any configuration. For example, the point cloud conversion processing unit 303 includes a CPU, a ROM, a RAM, etc. The processing related to the restoration of the point cloud data may be performed by loading and executing it.
[0145]
As described above, the decoding device 300 can correctly decode the bitstream generated by the encoding device 100. Therefore, the decoding device 300 can realize the suppression of the reduction in subjective image quality.
[0146]
FIG. 18 is a block diagram showing a main configuration example of the decoding unit 301. As illustrated in FIG. 18, the decoding unit 301 includes a geometric information decoding unit 321, an attribute information decoding unit 322, and an invisible processing unit 323.
[0147]
The geometric information decoding unit 321 decodes the supplied bit stream and extracts a signal string of geometric information. The geometric information decoding unit 321 supplies the signal string of the extracted geometric information to the voxel data generation unit 302 (FIG. 17).
[0148]
The geometric information decoding unit 321 may have any configuration. For example, the geometric information decoding unit 321 has a CPU, a ROM, a RAM, etc., and the CPU stores a program or data stored in the ROM or the like in the RAM. The processing related to the decoding of the geometric information may be performed by loading and executing the processing.
[0149]
The attribute information decoding unit 322 decodes the supplied bitstream and extracts a signal string of attribute information (updated attribute information). The attribute information decoding unit 322 supplies the signal sequence of the extracted attribute information (updated attribute information) to the invisible processing unit 323.
[0150]
Although the attribute information decoding unit 322 may have any configuration, for example, the attribute information decoding unit 322 includes a CPU, a ROM, a RAM, etc. Alternatively, the processing related to the decryption of the attribute information may be performed.
[0151]
The invisible processing unit 323 uses the signal string of the supplied attribute information (updated attribute information) to perform invisible processing to make the point to which the invisible attribute (no_color_attribute) is added invisible. The invisible processing unit 323 supplies the signal string of the attribute information (updated attribute information) that has been appropriately invisible processed to the voxel data generation unit 302 (FIG. 17).
[0152]
Although the invisible processing unit 323 may have any configuration, for example, it has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. By executing the above, the invisible processing may be performed.
[0153]
As described above, the decoding device 300 can correctly decode the bitstream generated by the encoding device 100. Therefore, the decoding device 300 can realize the reduction of the subjective image quality of the point cloud.
[0154]
An example of the flow of the decoding process executed by the decoding device 300 in this case will be described with reference to the flowchart of FIG.
[0155]
When the decoding process is started, the decoding unit 301 decodes the bitstream and extracts a signal string in step S301.
[0156]
In step S302, the voxel data generation unit 302 restores voxel data from the signal sequence extracted in step S301.
[0157]
In step S303, the point cloud conversion processing unit 303 restores the point cloud data from the voxel data obtained by the process of step S302.
[0158]
In step S304, the point cloud conversion processing unit 303 outputs the restored point cloud data (decoding point cloud data) to the outside of the decoding device 300.
[0159]
When the process of step S304 ends, the decoding process ends.
[0160]
Next, an example of the flow of the bitstream decoding process executed in step S301 of FIG. 19 will be described with reference to the flowchart of FIG.
[0161]
When the bitstream decoding process is started, the geometric information decoding unit 321 decodes the geometric information bitstream in step S321.
[0162]
In step S322, the attribute information decoding unit 322 decodes the bit stream of attribute information.
[0163]
In step S323, the invisible processing unit 323 determines whether to perform the invisible process. If there is a point to which the invisible attribute is given and it is determined to perform the invisible process on the point, the process proceeds to step S324.
[0164]
In step S324, the invisible processing unit 323 performs invisible processing on the points to which the invisible attribute is added.
[0165]
When the process of step S324 ends, the bitstream decoding process ends, and the process returns to FIG. 19. Further, when it is determined in step S323 that the invisible process is not performed, the process of step S324 is omitted, the bitstream decoding process ends, and the process returns to FIG. 19.
[0166]
By performing each process as described above, the decoding device 300 can realize the suppression of the reduction in the subjective image quality of the point cloud.
[0167]
<4. Third Embodiment>
In
the above description, a single attribute information is set for one point, but the present invention is not limited to this. A plurality of attribute information may be set.
[0168]
For example, as shown in A of FIG. 21, in the voxel 410, when the point 412 and the point 413 are set as the comparison target points with respect to the point 411 which is the current point, both of the point 412 and the point 413 are set. The attribute information of the above may be set to the point 411.
[0169]
In that case, like the attribute information 421 shown in FIG. 21B, each of the plurality of attribute information may be set in different directions from the current point. In other words, the attribute information applied may be changed according to the direction (viewpoint direction) of accessing the current point.
[0170]
Further, the direction in which each attribute information is applied (in other words, the direction in which the applied attribute information is switched) may be designated. Furthermore, the number of attribute information (for example, the number of colors) that can be set at the current point may be designated. For example, as shown in FIG. 22, it is possible to set information (num_of_color_attribute) indicating the number of attribute information that can be set at the current point and information (arrangement_type) indicating the direction (axis) for switching the attribute information. Good.
[0171]
FIG. 22A shows an example of setting two pieces of attribute information at the current point. As shown in A of FIG. 22, even though the number of pieces of attribute information is the same, the direction to which the attribute information is assigned changes depending on the value of arrangement_type.
[0172]
FIG. 22B shows an example of setting a large number of attribute information by the current point. As shown in B of FIG. 22, the number of attribute information set at the current point changes depending on the value of num_of_color_attribute. The direction in which each piece of attribute information is assigned also changes according to the number of pieces of attribute information.
[0173]
The attribute information may be switched at the boundary, or the attribute information on both sides of the boundary may be mixed (blended) near the boundary. For example, in the case of color information, the color may gradually change as the viewpoint direction changes.
[0174]
The method of dividing the attribute information allocation direction is arbitrary and is not limited to the above example. For example, as shown in FIG. 23, it may be divided in the latitude direction and the longitude direction. That is, information indicating the number of divisions in the latitude direction (num_of_color_attribute_split_latitude (n_lat)) and information indicating the number of divisions in the longitude direction (num_of_color_attribute_split_longitude (n_long)) may be set as the direction to which the attribute information is assigned.
[0175]
23A shows an example of division in the latitude direction. 23B shows an example of division in the longitudinal direction. The number of divisions in the latitude direction and the number of divisions in the longitude direction may be set independently of each other. Further, for example, as shown in the table of FIG. 23C, identification information (#) for collectively setting the values of these two parameters may be provided. By using such identification information, it is possible to reduce the amount of information required to indicate the division method in the direction in which the attribute information is assigned.
[0176]
In addition, when setting a plurality of attribute information, the attribute information may be assigned to each direction to which the attribute information of the current point can be assigned, in the same manner as in the case of assigning one attribute information described above. For example, as shown in A of FIG. 24, in the voxel 410, when the attribute information of the point 412 and the point 413 is assigned to the point 411 which is the current point, when the point 411 is used as a reference, the points 412 and 413 are , Located in different directions. Therefore, in this case, the attribute information of the point 412 is assigned to the direction of the point 411 side of the point 411 by the same method as the one attribute information described above is assigned to the direction of the point 413 side of the point 411. The attribute information of the point 413 may be assigned by the same method as in the case of assigning one attribute information described above.
[0177]
Therefore, in that case, the attribute information updating unit 202 has the same configuration as that in the case of FIG. An example of the flow of attribute information update processing in this case will be described with reference to the flowchart in FIG.
[0178]
When the attribute information update process is started, the control unit 211 performs the control process in step S401 and determines the method of each process. This control process is the same as in the case of FIG. 14, and therefore its explanation is omitted.
[0179]
In step S402, the comparison target search unit 221 searches for comparison target points according to the comparison target determination method set in step S401.
[0180]
In step S403, the control unit 211 sets a processing target angle, that is, a direction of setting the attribute information of the current point (current direction).
[0181]
In step S404, the attribute information setting unit 222 determines whether to set attribute information in the current direction of the current point. If it is determined to set the attribute information, the process proceeds to step S405.
[0182]
In step S405, the attribute information setting unit 222 sets attribute information in the current direction of the current point according to the comparison method and the attribute determination method set in step S401.
[0183]
When the process of step S405 ends, the process proceeds to step S406. If it is determined in step S404 that no comparison target point is found in the current direction and attribute information is not set in that direction, the process proceeds to step S406.
[0184]
In step S406, the exception processing unit 223 determines whether to perform exception processing. For example, when the comparison target point is not found in the current direction and it is determined to perform the exception process, the process proceeds to step S407.
[0185]
In step S407, the exception handling unit 223 performs exception handling according to the exception handling method set in step S401.
[0186]
When the process of step S407 ends, the process proceeds to step S408. Further, in step S406, for example, when the comparison target point is found in the current direction and it is determined that the exceptional process is not performed, the process of step S407 is omitted, and the process proceeds to step S408.
[0187]
In step S408, the control unit 211 determines whether there is an unprocessed angle. If it is determined that there is an unprocessed angle, the process returns to step S403. In step S403, the unprocessed angle is set as the processing target (the current direction is updated), and the processing in step S404 and subsequent steps is repeated.
[0188]
As described above, the processes of steps S403 to S408 are executed for each direction in which the attribute information of the current point can be set.
[0189]
If it is determined in step S408 that the processing has been performed for all directions, the attribute information update processing ends, and the processing returns to FIG.
[0190]
By performing the attribute information updating process as described above, the encoding device 100 can suppress the reduction in the subjective image quality of the point cloud.
[0191]
<5. Fourth Embodiment>
When
displaying a point cloud including points for which a plurality of pieces of attribute information are set, the attribute information used for display is selected according to the viewpoint direction.
[0192]
FIG. 26 is a block diagram showing a main configuration example of a display device which is an embodiment of an information processing device to which the present technology is applied. The display device 500 shown in FIG. 26 is a device that displays a point cloud including points for which a plurality of attribute information is set.
[0193]
As shown in FIG. 26, the display device 500 includes a point cloud data acquisition unit 501, a viewpoint direction setting unit 502, a geometric information drawing unit 503, an attribute information drawing unit 504, and a display unit 505.
[0194]
The point cloud data acquisition unit 501 acquires point cloud data including points for which multiple pieces of attribute information are set, from outside the display device 500. The point cloud data acquisition unit 501 supplies the acquired point cloud data to the viewpoint direction setting unit 502.
[0195]
The point cloud data acquisition unit 501 may have any configuration. For example, the point cloud data acquisition unit 501 has a CPU, a ROM, a RAM, etc., and the CPU stores the program or data stored in the ROM or the like in the RAM. You may make it perform the process regarding acquisition of point cloud data by loading and executing.
[0196]
The viewpoint direction setting unit 502 sets the surface (viewpoint direction) displayed by the point cloud. For example, the viewpoint direction setting unit 502 receives an instruction input from the outside, such as a user operation, and sets the viewpoint direction based on the instruction. Note that this viewpoint direction setting method is arbitrary, and for example, the viewpoint direction setting unit 502 sets the viewpoint direction according to a predetermined pattern that is set in advance, such that the viewpoint direction is set based on other than the above instruction input. You may When the viewpoint direction is set, the viewpoint direction setting unit 502 supplies the point cloud data and information indicating the viewpoint direction to the geometric information drawing unit 503.
[0197]
The viewpoint direction setting unit 502 may have any configuration. For example, the viewpoint direction setting unit 502 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. Alternatively, the processing regarding the setting of the viewpoint direction may be performed.
[0198]
The geometric information drawing unit 503 draws the geometric information of the point cloud data based on the set viewpoint direction. The geometric information drawing unit 503 supplies the point cloud data, the information indicating the viewpoint direction thereof, and the drawing result thereof to the attribute information drawing unit 504.
[0199]
The geometrical information drawing unit 503 may have any configuration. For example, the geometrical information drawing unit 503 has a CPU, a ROM, a RAM, and the CPU stores programs and data stored in the ROM in the RAM. The processing related to the drawing of the geometric information may be performed by loading and executing it.
[0200]
The attribute information drawing unit 504 selects the attribute information of each point based on the set viewpoint direction and draws the selected attribute information. The attribute information drawing unit 504 supplies the drawing result of the geometric information and the attribute information to the display unit 505.
[0201]
The attribute information drawing unit 504 may have any configuration. For example, the attribute information drawing unit 504 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. Alternatively, the processing relating to the drawing of the attribute information may be performed.
[0202]
The display unit 505 displays the drawing result of the supplied geometric information and attribute information on the monitor.
[0203]
An example of the flow of the display process executed by the display device 500 will be described with reference to the flowchart of FIG.
[0204]
When the display process is started, the point cloud data acquisition unit 501 acquires point cloud data in step S502.
[0205]
In step S502, the viewpoint direction setting unit 502 sets the viewpoint direction in which the point cloud is displayed.
[0206]
In step S503, the geometric information drawing unit 503 draws the geometric information of the point cloud data according to the viewpoint direction set in step S502.
[0207]
In step S504, the attribute information drawing unit 504 selects attribute information according to the viewpoint direction set in step S502, and draws the selected attribute information.
[0208]
In step S505, the display unit 505 displays the image of the geometric information and the attribute information drawn in steps S503 and S504.
[0209]
When the process of step S505 ends, the display process ends. When the point cloud is displayed as a moving image, the above processing is repeated for each frame.
[0210]
By doing so, the display device 500 can display the attribute information according to the viewpoint direction. For example, the color of each point may be changed depending on the direction in which the point cloud data is viewed (viewpoint direction).
[0211]
<6. Fifth Embodiment>
In the
above, the encoding (quantization) of the point cloud data has been described. However, the position information of the point cloud changes when the attribute information is updated by applying the present technology. It can be applied in any image processing.
[0212]
FIG. 28 is a block diagram showing a main configuration example of an image processing apparatus which is an embodiment of an information processing apparatus to which the present technology is applied. The image processing device 600 shown in FIG. 28 is a device that performs predetermined image processing for changing the position information on the input point cloud data.
[0213]
As shown in FIG. 28, the image processing device 600 has an image processing unit 601 and an attribute information updating unit 602.
[0214]
The image processing unit 601 performs predetermined image processing. For example, the image processing unit 601 performs point interpolation or resample (rearrangement) as in the example shown in FIG. In the case of the example in FIG. 29, the point 651 in the state A before processing is resampled, and converted to the points 652 to 654 in the state B after processing. That is, the number of points is increasing.
[0215]
The image processing unit 601 supplies the point cloud data before and after the processing to the attribute information updating unit 602.
[0216]
The image processing unit 601 may have any configuration. For example, the image processing unit 601 has a CPU, a ROM, a RAM, etc., and the CPU loads a program or data stored in the ROM or the like into the RAM. The processing relating to the image processing may be performed by executing the processing.
[0217]
The attribute information update unit 602 updates the attribute information using the supplied point cloud data before and after the image processing. The attribute information updating unit 602 has the same configuration as the attribute information updating unit 202 (FIG. 8) and performs the same processing.
[0218]
Even in the processing of arranging the points that did not exist before the processing in this way, the attribute information updating unit 602 searches the comparison target point corresponding to the current point from the points before the processing, and thus the above-described quantum Similar to the case of conversion, the attribute information can be updated according to the change of the position information.
[0219]
An example of the flow of image processing executed by the image processing apparatus 600 will be described with reference to the flowchart of FIG.
[0220]
When the image processing is started, the image processing unit 601 performs the image processing accompanied by the update of the geometric information in step S601.
[0221]
In step S602, the attribute information update unit 602 updates the attribute information of the point cloud so as to correspond to the update of the geometric information (change of position information) in the image processing of step S601. This attribute information update processing is performed in the same flow as the case described with reference to the flowchart in FIG. 14, and therefore description thereof will be omitted.
[0222]
When the process of step S602 ends, the image processing ends.
[0223]
As described above, the image processing device 600 can suppress the reduction in the subjective image quality of the point cloud.
[0224]
<7. Others>
The
series of processes described above can be executed by hardware or software. Further, a part of the processing can be executed by hardware and the other processing can be executed by software. When the series of processes is executed by software, the programs forming the software are installed in the computer. Here, the computer includes a computer incorporated in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
[0225]
FIG. 31 is a block diagram showing a configuration example of hardware of a computer that executes the series of processes described above by a program.
[0226]
In a computer 900 shown in FIG. 31, a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, and a RAM (Random Access Memory) 903 are connected to each other via a bus 904.
[0227]
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.
[0228]
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.
[0229]
In the computer configured as above, for example, 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.
[0230]
The program executed by the computer (CPU 901) can be applied by being recorded in, for example, a removable medium 921 such as a package medium. In that case, 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 also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913. In addition, this program can be installed in the ROM 902 or the storage unit 913 in advance.
[0231]
The embodiments of the present technology are not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present technology.
[0232]
For example, the present technology can be applied to any configuration that configures an apparatus or a system, for example, a processor as a system LSI (Large Scale Integration) or the like, a module that uses a plurality of processors, a unit that uses a plurality of modules, etc. It can also be implemented as a set or the like to which a function is added (that is, a partial configuration of the device).
[0233]
In this specification, the system means a set of a plurality of constituent elements (devices, modules (parts), etc.), and it does not matter whether or not all the 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. ..
[0234]
Further, the above-described processing unit may be realized by any configuration as long as it has the function described for the processing unit. For example, the processing unit may be configured by an arbitrary circuit, LSI, system LSI, processor, module, unit, set, device, apparatus, system, or the like. Also, a plurality of them may be combined. For example, the same type of configuration such as a plurality of circuits and a plurality of processors may be combined, or different types of configurations such as a circuit and an LSI may be combined.
[0235]
Further, for example, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). On the contrary, the configurations described as a plurality of devices (or processing units) in the above may be integrated into one device (or processing unit). Further, it is of course possible to add a configuration other than the above to the configuration of each device (or each processing unit). Furthermore, if the configuration and operation of the entire system are substantially the same, part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
[0236]
In addition, for example, the present technology may be configured as cloud computing in which one device shares and jointly processes one function via a network.
[0237]
Further, for example, the above-mentioned program can be executed in any device. In that case, the device may have a necessary function (function block or the like) so that necessary information can be obtained.
[0238]
Further, for example, each step described in the above-described flowcharts can be executed by one device or shared by a plurality of devices. Further, when one step includes a plurality of processes, the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices. 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.
[0239]
The program executed by the computer may be configured such that the processes of the steps for writing the program are executed in time series in the order described in this specification, in parallel, or when called. It may be executed individually at the required timing. 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.
[0240]
The present technology described in plural in this specification can be implemented independently as a single unit unless a contradiction occurs. Of course, a plurality of arbitrary present techniques can be used in combination. For example, part or all of the present technology described in any of the embodiments may be combined with part or all of the present technology described in other embodiments. Further, a part or all of the present technology described above may be implemented in combination with other technology not described above.
[0241]
Note that the present technology may also be configured as below.
(1) A search unit that searches a point to be compared, which is a point to be compared with a current point that is a point to be processed of the point cloud data whose position information has been updated, from the point cloud data before the position information has been updated,
An information
processing device comprising: an attribute information setting unit that compares the comparison target point searched by the search unit with a current point and sets attribute information of the current point .
(2)
The information processing apparatus according to (1), wherein the search unit selects, as the comparison target point, a point located closest to the current point in the point cloud data before the position information is updated. ..
(3) The search unit determines a point located closer than a predetermined distance and closest to the current point of the point cloud data before the positional information is updated, as the comparison target point.
The information processing apparatus according to (1) or (2), which is selected as .
(4) The search unit selects the points of the point cloud data before the positional information is updated according to another algorithm and positions the points closer than a predetermined distance with respect to the current point as the comparison target points.
The information processing apparatus according to any one of (1) to (3), which is selected as .
(5) The attribute information setting unit sets the attribute information based on the positional relationship between the points in the direction from the point cloud data before the position information is updated to the point cloud data at which the position information is updated
( The information processing apparatus according to any one of 1) to (4).
(6) The attribute information setting unit sets the attribute information based on the positional relationship between the points in the direction from the point cloud data in which the position information is updated to the point cloud data before the position information is updated
( The information processing apparatus according to any one of 1) to (5).
(7) The attribute information setting unit updates the position information from the point cloud data whose position information has been updated and the direction from the point cloud data before the position information has been updated to the point cloud data whose position information has been updated.
The information processing apparatus according to any one of (1) to (6), wherein the attribute information is set based on a positional relationship between the points before and after the point cloud data .
(8) The attribute information setting unit selects any one of the plurality of comparison target points searched for by the searching unit, and sets the attribute information of the current point
(1) to ( The information processing device according to any one of 7).
(9) The attribute information setting unit sets the average of the attribute information of the plurality of comparison target points searched by the search unit as the attribute information of the current point
to any one of (1) to (8). The information processing device described.
(10)
Any one of (1) to (9), wherein the attribute information setting unit sets the attribute information of the current point as a weighted average of each attribute information of the plurality of comparison target points searched by the searching unit. An information processing device according to claim 2.
(11)
The information processing device according to (10), wherein the weight is a coefficient based on a distance between the comparison target point and the current point or a feature of attribute information of the comparison target point .
(12)
The information processing device according to any one of (1) to (11), further including an exception processing unit that performs a predetermined exception process when the comparison target point does not exist .
(13)
The information processing device according to (12), wherein the exception processing unit sets, as the attribute information of the current point, an invisible attribute that makes the current point invisible .
(14)
The information processing device according to (12) or (13), wherein the exception processing unit excludes the current point from an encoding target and re-encodes the current point .
(15)
The information processing device according to any one of (12) to (14), wherein the exception processing unit changes the encoding method so that the current point does not appear and re-encodes .
(16) A control unit for controlling a method of determining the attribute information is further provided,
The attribute information setting unit is configured to set the attribute information of the current point using a method of determining the attribute information selected by the control unit, according to
any one of (1) to (15). Information processing device.
(17)
The information processing device according to (16) , wherein the control unit controls a method of determining the attribute information based on at least one of a processing speed, a quality, and a compression algorithm .
(18) The control unit further controls a comparison method between the current point and the comparison target point, and the
attribute information setting unit uses the comparison method selected by the control unit to compare the current point and the current point.
The information processing apparatus according to (16) or (17), which compares points to be compared .
(19) The control unit controls the determination method of the comparison target points, and the
search unit determines the comparison target points using the determination method selected by the control unit
(16) to (18). The information processing apparatus according to any one of 1.
(20) An exception processing unit that performs a predetermined exception processing when the comparison target point does not exist
is provided, the control unit controls a method of the exception processing, and the
exception processing unit is selected by the control unit.
The information processing apparatus according to any one of (16) to (19), which performs the specified exception processing .
(21)
The information processing device according to any one of (1) to (20), wherein the attribute information setting unit sets a plurality of attribute information for the current point .
(22)
The information processing device according to (21), wherein the attribute information setting unit sets each of the plurality of attribute information in directions different from each other when viewed from the current point .
(23)
The information processing device according to (22), wherein the attribute information setting unit sets information indicating the number of pieces of attribute information that can be set at the current point and information indicating a direction in which the attribute information is switched .
(24)
The information processing device according to (22) or (23), wherein the attribute information setting unit sets information indicating the number of divisions in each of the latitude direction and the longitude direction as a direction to which the attribute information is assigned .
(25)
The information processing device according to any one of (1) to (24), wherein the point cloud data with the updated position information is voxel data obtained by quantizing the point cloud data .
(26)
The information processing device according to any one of (1) to (25), wherein the attribute information includes at least one of color information, an α channel, and a normal vector .
(27) From the point cloud data before the position information is updated, search for a comparison target point that is a point to be compared with the current point that is the processing target point of the position cloud updated point cloud data,
An
information processing method for comparing the searched comparison target point with a current point and setting attribute information of the current point .
Explanation of symbols
[0242]
100 encoding device, 101 control unit, 111 pre-processing unit, 112 bounding box setting unit, 113 voxel setting unit, 114 signal string generation unit, 115 encoding unit, 201 geometric information encoding unit, 202 attribute information updating unit, 203 attribute information encoding unit, 204 combining unit, 221 comparison target searching unit, 222 attribute information setting unit, 223 exception processing unit, 231 comparison method setting unit, 232 comparison target determining method setting unit, 233 attribute determining method setting unit, 234 Exception processing method setting unit, 300 decoding device, 301 decoding unit, 302 voxel data generation unit, 303 point cloud processing unit, 321 geometric information decoding unit, 322 attribute information decoding unit, 323 invisible processing unit, 500 display device, 501 Point cloud data acquisition unit, 502 viewpoint direction setting unit, 503 geometric information drawing unit, 504 attribute information drawing unit, 505 display unit, 600 image processing device, 601 image processing unit, 602 attribute information updating unit, 900 computer
The scope of the claims
[Claim 1]
From the point cloud data before the position information is updated, a search unit that searches for a comparison target point that is a point to be compared with a current point that is a processing target point of the point cloud data whose position information is updated, and the
search unit. An information
processing apparatus comprising: an attribute information setting unit that compares the comparison target point searched for by the current point with a current point and sets attribute information of the current point .
[Claim 2]
The information processing apparatus according to claim 1, wherein the search unit selects, as the comparison target point, a point located closest to the current point in the point cloud data before the position information is updated .
[Claim 3]
The search unit selects, as the comparison target point, a point located closer than a predetermined distance to the current point of the point cloud data before the positional information is updated and located closest to the current point.
The information processing apparatus according to claim 1.
[Claim 4]
The searching unit selects, as the comparison target point, a point of the point cloud data before the position information is updated, which is selected according to another algorithm and which is located closer than a predetermined distance to the current point.
The information processing apparatus according to claim 1.
[Claim 5]
The attribute information setting unit,
the positional relationship between the points in the direction from the point cloud data before the position information is updated to the point cloud data where
the position information is updated , or from the point cloud data where the position information is updated. The information processing apparatus according
to
claim 1, wherein the attribute information is set based on a positional relationship between points in a direction toward the point cloud data before the positional information is updated .
[Claim 6]
The attribute information setting unit is directed from the point cloud data before the position information is updated to the point cloud data where the position information is updated, and before the position information is updated from the point cloud data where the position information is updated. The information
processing apparatus according to claim 1, wherein the attribute information is set based on a positional relationship between the points and the direction toward the point cloud data .
[Claim 7]
The information processing according to claim 1, wherein the attribute information setting unit selects any one of the plurality of comparison target points searched by the search unit for attribute information and sets the attribute information of the current point. apparatus.
[Claim 8]
The information
processing apparatus according to claim 1, wherein the attribute information setting unit sets the average of the attribute information of the plurality of comparison target points searched by the search unit as the attribute information of the current point .
[Claim 9]
The information
processing apparatus according to claim 1, wherein the attribute information setting unit sets the weighted average of each attribute information of the plurality of comparison target points searched by the search unit as the attribute information of the current point .
[Claim 10]
The information processing device according to claim 9, wherein the weight is a coefficient based on a distance between the comparison target point and the current point or a feature of attribute information of the comparison target point .
[Claim 11]
The information processing apparatus according to claim 1, further comprising an exception processing unit that performs a predetermined exception process when the comparison target point does not exist .
[Claim 12]
The attribute information
setting unit is configured to set the attribute information of the current point by using the attribute information determination method selected by the control unit. that
the information processing apparatus according to claim 1.
[Claim 13]
The information processing apparatus according to claim 12, wherein the control unit controls the method for determining the attribute information based on at least one of a processing speed, quality, and a compression algorithm .
[Claim 14]
The information
processing apparatus according to claim 1, wherein the attribute information setting unit sets a plurality of attribute information for the current point .
[Claim 15]
The information
processing apparatus according to claim 14, wherein the attribute information setting unit sets each of the plurality of attribute information in directions different from each other when viewed from the current point .
[Claim 16]
The information
processing apparatus according to claim 15, wherein the attribute information setting unit sets information indicating the number of pieces of attribute information that can be set at the current point and information indicating a direction in which the attribute information is switched .
[Claim 17]
The information
processing device according to claim 15, wherein the attribute information setting unit sets information indicating the number of divisions in each of the latitude direction and the longitude direction as a direction to which the attribute information is assigned .
[Claim 18]
The information
processing apparatus according to claim 1, wherein the point cloud data whose position information has been updated is voxel data obtained by quantizing the point cloud data .
[Claim 19]
The information
processing apparatus according to claim 1, wherein the attribute information includes at least one of color information, an α channel, and a normal vector .
[Claim 20]
From the point cloud data before the position information is updated,
search for a comparison target point that is a point to be compared with the current point that is the processing target point of the position cloud updated position information, and the searched comparison target An
information processing method of comparing the point with the current point and setting attribute information of the current point .
| # | Name | Date |
|---|---|---|
| 1 | 202017012077-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [20-03-2020(online)].pdf | 2020-03-20 |
| 2 | 202017012077-STATEMENT OF UNDERTAKING (FORM 3) [20-03-2020(online)].pdf | 2020-03-20 |
| 3 | 202017012077-PROOF OF RIGHT [20-03-2020(online)].pdf | 2020-03-20 |
| 4 | 202017012077-PRIORITY DOCUMENTS [20-03-2020(online)].pdf | 2020-03-20 |
| 5 | 202017012077-POWER OF AUTHORITY [20-03-2020(online)].pdf | 2020-03-20 |
| 6 | 202017012077-FORM 1 [20-03-2020(online)].pdf | 2020-03-20 |
| 7 | 202017012077-DRAWINGS [20-03-2020(online)].pdf | 2020-03-20 |
| 8 | 202017012077-DECLARATION OF INVENTORSHIP (FORM 5) [20-03-2020(online)].pdf | 2020-03-20 |
| 9 | 202017012077-COMPLETE SPECIFICATION [20-03-2020(online)].pdf | 2020-03-20 |
| 10 | 202017012077-FORM 3 [25-06-2020(online)].pdf | 2020-06-25 |
| 11 | 202017012077-FORM 18 [17-08-2021(online)].pdf | 2021-08-17 |
| 12 | abstract.jpg | 2021-10-19 |
| 13 | 202017012077.pdf | 2021-10-19 |
| 14 | 202017012077-FER.pdf | 2022-05-13 |
| 15 | 202017012077-AbandonedLetter.pdf | 2024-02-16 |
| 1 | SearchHistoryE_12-05-2022.pdf |