Abstract: The present disclosure pertains to an image processing device and method which make it possible to suppress a load increase when encoding/decoding point cloud attribute information. The present disclosure encodes point cloud attribute information by using a context which corresponds to the weight value of an orthogonal transformation which takes a three-dimensional structure into account and is performed on point cloud location information. In addition, the present disclosure decodes the encoded point cloud attribute information data by using a context which corresponds to the weight value of an orthogonal transformation which takes a three-dimensional structure into account and is performed on point cloud location information. For example, the present disclosure is applicable to an image processing device, electronic device, image processing method or program.
Title of Invention: Image Processing Device and Method
Technical field
[0001]
The present disclosure relates to an image processing device and a method, and more particularly to an image processing device and a method capable of suppressing an increase in a load of encoding / decoding of attribute information of a point cloud.
Background technology
[0002]
Conventionally, as a method for coding 3D data representing a three-dimensional structure such as a point cloud, for example, there has been coding using Octree (see, for example, Non-Patent Document 1).
[0003]
In recent years, it has been proposed to encode attribute information using RAHT (Region Adaptive Hierarchical Transform) (see, for example, Non-Patent Document 2).
Prior art literature
Non-patent literature
[0004]
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
Non-Patent Document 2: Ohji Nakagami, Phil Chou, Maja Krivokuca, Khaled Mammou, Robert Cohen, Vladyslav Zakharchenko, Gaelle Martin-Cocher, "Second Working Draft for PCC Categories 1, 3", ISO / IEC JTC1 / SC29 / WG11, MPEG 2018 / N17533 , April 2018, San Diego, US
Outline of the invention
Problems to be solved by the invention
[0005]
However, in the case of this method, the coefficients are sorted in descending order of the Weight value obtained by RAHT, so that the processing increases and the load of coding / decoding the attribute information of the point cloud may increase.
[0006]
The present disclosure has been made in view of such a situation, and makes it possible to suppress an increase in the load of coding / decoding of the attribute information of the point cloud.
Means to solve problems
[0007]
The image processing device of one aspect of the present technology encodes the attribute information of the point cloud by using the context corresponding to the weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. It is an image processing device including a coding unit.
[0008]
The image processing method of one aspect of the present technology encodes the attribute information of the point cloud by using the context corresponding to the weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. This is an image processing method.
[0009]
The image processing device of the other aspect of the present technology encodes the attribute information of the point cloud by using the context corresponding to the weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. It is an image processing device including a decoding unit that decodes data.
[0010]
The image processing method of the other aspect of the present technology encodes the attribute information of the point cloud by using the context corresponding to the weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. This is an image processing method for decoding data.
[0011]
In the image processing device and method of one aspect of the present technology, the attribute information of the point cloud is obtained by using the context corresponding to the weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. It is encoded.
[0012]
In the image processing device and method of the other aspect of the present technology, the attribute information of the point cloud is used by using the context corresponding to the weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. The encoded data of is decoded.
A brief description of the drawing
[0013]
[Fig. 1] Fig. 1 is a diagram illustrating an outline of RAHT.
[Fig. 2] Fig. 2 is a block diagram showing a main configuration example of a coding device.
[Fig. 3] Fig. 3 is a block diagram showing a main configuration example of a decoding device.
[Fig. 4] Fig. 4 is a diagram showing an example of the distribution of coefficient values for each weight value.
[Fig. 5] Fig. 5 is a block diagram showing a main configuration example of a coding device.
[Fig. 6] Fig. 6 is a flowchart illustrating an example of a flow of coding processing.
[Fig. 7] Fig. 7 is a block diagram showing a main configuration example of a decoding device.
[Fig. 8] Fig. 8 is a flowchart illustrating an example of a flow of decoding processing.
FIG. 9 is a block diagram showing a main configuration example of a coding device.
FIG. 10 is a flowchart illustrating an example of a flow of coding processing.
FIG. 11 is a block diagram showing a main configuration example of a decoding device.
[Fig. 12] Fig. 12 is a flowchart illustrating an example of a flow of decoding processing.
[Fig. 13] Fig. 13 is a block diagram showing a main configuration example of a computer.
Mode for carrying out the invention
[0014]
Hereinafter, embodiments for carrying out the present disclosure (hereinafter referred to as embodiments) will be described. The explanation will be given in the following order.
1. 1. Coded attribute information
2. First Embodiment (encoding device)
3. Second embodiment (decoding device)
4. Third Embodiment (encoding device)
5. Fourth Embodiment (decoding device)
6. Addendum
[0015]
<1. Coding of attribute information>
The scope disclosed in this technology is not limited to the contents described in the embodiments, but is as follows, which is known at the time of filing. The contents described in non-patent documents are also included.
[0016]
Non-Patent Document 1: (above)
Non-Patent Document 2: (above)
Non-Patent Document 3: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
Non Patent Document 4: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
Non-Patent Document 5: Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29/WG 11 7th Meeting: Torino, IT , 13-21 July 2017
[0017]
In other words, the contents described in the above-mentioned non-patent documents are also the basis for determining the support requirements. For example, even if the Quad-Tree Block Structure described in Non-Patent Document 4 and the QTBT (Quad Tree Plus Binary Tree) Block Structure described in Non-Patent Document 5 are not directly described in the embodiment. It is within the scope of disclosure of this technology and shall meet the support requirements of the scope of claims. Similarly, technical terms such as Parsing, Syntax, and Semantics are also within the scope of disclosure of the present technology even if there is no direct description in the embodiment. It shall meet the support requirements of the claims.
[0018]
Conventionally, a point cloud that represents a three-dimensional structure based on the position information and attribute information of a point cloud, and a three-dimensional shape that is composed of vertices, edges, and faces and is defined using a polygonal representation. There was 3D data such as a mesh to be used.
[0019]
For example, in the case of a point cloud, a three-dimensional structure (three-dimensional object) is expressed as a set (point cloud) of a large number of points. That is, the point cloud data (also referred to as point cloud data) is composed of position information and attribute information (for example, color, etc.) of each point in this point cloud. Therefore, the data structure is relatively simple, and an arbitrary three-dimensional structure can be expressed with sufficient accuracy by using a sufficiently large number of points.
[0020]
Since the amount of such point cloud data is relatively large, a coding method using voxels is used to compress the amount of data due to coding or the like. it was thought. A voxel is a three-dimensional region for quantizing the position information to be encoded.
[0021]
That is, the three-dimensional area containing the point cloud is divided into small three-dimensional areas called voxels, and each voxel indicates whether or not the points are included. By doing so, the position of each point is quantized in voxel units. Therefore, by converting the point cloud data into such voxel data (also referred to as voxel data), the increase in the amount of information is suppressed (typically, the amount of information is reduced). Can be done.
[0022]
Furthermore, it was considered to construct an Octree using such voxel data. Octree is a tree-structured version of voxel data. The value of each bit of the lowest node of this Octree indicates the presence or absence of a point for each voxel. For example, a value "1" indicates a voxel containing points, and a value "0" indicates a voxel containing no points. In Octree, one node corresponds to eight voxels. That is, each node of Octtree is composed of 8 bits of data, and the 8 bits indicate the presence or absence of points of 8 voxels.
[0023]
Then, the upper node of the Octtree indicates the presence or absence of a point in the area in which the eight voxels corresponding to the lower node belonging to the node are combined into one. That is, the upper node is generated by collecting the voxel information of the lower node. If a node having a value of "0", that is, all eight corresponding voxels do not contain points, that node is deleted.
[0024]
By doing so, a tree structure (Octree) consisting of nodes whose value is not "0" is constructed. That is, Octree can indicate the presence or absence of voxel points at each resolution. Therefore, by converting the voxel data into an Octree and encoding it, it is possible to more easily restore the voxel data having various resolutions at the time of decoding. In other words, voxel scalability can be realized more easily.
[0025]
Further, by omitting the node having the value "0" as described above, the voxel in the area where the point does not exist can be reduced in resolution, so that further increase in the amount of information can be suppressed (typically, the amount of information). Can be reduced).
[0026]
In
recent years, as described in Non-Patent Document 2, for example, it has been proposed to encode the attribute information of the point cloud by using RAHT (Region Adaptive Hierarchical Transform). The attribute information includes, for example, color information, reflectance information, normal information, and the like.
[0027]
RAHT is one of the orthogonal transformations considering the three-dimensional structure, and is a weighting value (Weight value) according to the positional relationship of points (for example, whether or not a point exists in an adjacent voxel) in a voxelized space. It is a Haar transformation using.
[0028]
For example, as shown in FIG. 1, if the points exist in the adjacent area to be converted to Haar, the Weight values are added up, and if they do not exist, the Weight values are inherited as they are and the process proceeds. That is, the denser the points, the larger the Weight value. Therefore, the density of points can be judged from the Weight value.
[0029]
For example, by performing quantization so as to leave points in a dense part based on this Weight value, it is possible to improve the coding efficiency while suppressing the decrease in the quality of the point cloud.
[0030]
The coding device 10 of FIG. 2 is an example of a device that encodes a point cloud by rearranging the coefficients in this way. For example, in the case of the coding device 10, the Geometry coding unit 11 encodes the position information of the input point cloud data to generate the Geometry coded data.
[0031]
The Geometry coefficient sorting unit 12 sorts the coefficients of the Geometry coded data in the Morton code order. The RAHT processing unit 13 RAHTs the coefficients of the Geometry coded data in Morton code order. The Weight value is derived by this process.
[0032]
The RAHT processing unit 21 of the Attribute coding unit 15 performs RAHT on the attribute information using the Weight value derived from the position information by the RAHT processing unit 13. The quantization unit 22 quantizes the conversion coefficient of the attribute information obtained by RAHT.
[0033]
Further, the Geometry coefficient sorting unit 14 sorts the coefficients in descending order of the Weight values derived by the RAHT processing unit 13. The Attribute coefficient rearranging unit 23 rearranges the quantization coefficient obtained by the quantization unit 22 so as to be in the order after the sorting by the Geometry coefficient rearranging unit 14. That is, the lossless coding unit 24 encodes each coefficient of the attribute information in descending order of the weight value.
[0034]
The bit stream generation unit 16 includes Geometry coding data which is the coding data of the position information generated by the Geometry coding unit 11 and Attribute coding which is the coding data of the attribute information generated by the lossless coding unit 24. Generates and outputs a bit stream containing data.
[0035]
The decoding device 50 of FIG. 3 is an example of a device that decodes the coded data of the point cloud by performing such rearrangement of coefficients. For example, in the case of the decoding device 50, the Geometry decoding unit 51 decodes the Geometry-encoded data included in the input bit stream. The Geometry coefficient sorting unit 52 sorts the coefficient data (Geometry coefficient) obtained by decoding in the Morton code order.
[0036]
The RAHT processing unit 53 performs RAHT on the Geometry coefficient in the Morton code order and derives the Weight value. The Geometry coefficient sorting unit 54 sorts the coefficients in descending order of the Weight values derived by the RAHT processing unit 53.
[0037]
The reversible decoding unit 61 of the Attribute decoding unit 55 decodes the Attribute-encoded data included in the input bit stream. The inverse Attribute coefficient sorting unit 62 sorts the Attribute coefficients arranged in descending order of Weight value based on the order of increasing Weight value indicated by Geometry coefficient sorting unit 54 in Morton code order. Then, the dequantization unit 63 dequantizes the Attribute coefficient in the Morton code order.
[0038]
The inverse RAHT processing unit 64 performs inverse RAHT, which is the inverse processing of RAHT, on the inverse quantized Attribute coefficient using the Weight value derived by the RAHT processing unit 53, and attribute information (Attribute data). To generate.
[0039]
The Point cloud data generation unit 56 synthesizes the position information (Geometry data) generated by the Geometry decoding unit 51 and the attribute information (Attribute data) generated by the inverse RAHT processing unit 64 to generate and output Point cloud data. To do.
[0040]
As described
above, in the coding / decoding, the coefficient data of the attribute information is sorted in descending order of the weight value.
[0041]
The relationship between the weight value and the variation in the coefficient is shown in the graph of FIG. As shown in FIG. 4, the larger the Weight value, the smaller the variation in the coefficient. Therefore, the coding efficiency can be improved by preferentially encoding / decoding from the one having the larger Weight value.
[0042]
However, this sorting is very processing-intensive. In particular, when the amount of data is large as in a point cloud, the increase in the load of this sorting process becomes more remarkable. Therefore, in such a method, the load of coding / decoding the attribute information of the point cloud may increase.
[0043]
Therefore, instead of rearranging the coefficients, the context is selected according to the Weight value described above.
[0044]
For example, in the case of coding, the attribute information of the point cloud is encoded by using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud.
[0045]
For example, in an image processing device, a coding unit that encodes the attribute information of the point cloud using a context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. Be prepared.
[0046]
By doing so, it is possible to suppress an increase in the load of coding the attribute information of the point cloud.
[0047]
Further, for example, in the case of decoding, the coded data of the attribute information of the point cloud is decoded using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. To do.
[0048]
For example, in an image processing device, decoding that decodes the coded data of the attribute information of the point cloud by using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. Be prepared with a part.
[0049]
By doing so, it is possible to suppress an increase in the load of decoding the attribute information of the point cloud.
[0050]
For example, in the graph of FIG. 4, the coefficient variation is remarkably different between the place where the weight value is small (for example, the vicinity surrounded by the frame 71) and the place where the weight value is large (for example, the vicinity surrounded by the frame 72). That is, the degree of coefficient variation depends on the Weight value. In other words, the degree of coefficient variation is determined to some extent by the Weight value. Therefore, a plurality of contexts corresponding to the degree of variation of the coefficients different from each other are prepared, and the context to be applied is selected from among them based on the Weight value. By doing so, it is possible to select a more appropriate context for the variation of the coefficient in the Weight value based on the Weight value. That is, the reduction in coding efficiency can be suppressed by performing coding / decoding using a context according to the Weight value (variation of coefficients).
[0051]
Further, in the case of this method, since it is not necessary to rearrange the coefficients, it is possible to suppress an increase in load. That is, it is possible to suppress a decrease in coding efficiency while suppressing an increase in load.
[0052]
<2. 1st Embodiment>
FIG. 5 is a block diagram showing an example of a configuration of a coding device which is one aspect of an image processing device to which the present technology is applied. The coding device 100 shown in FIG. 4 is a device that encodes the position information and attribute information of the point cloud.
[0053]
It should be noted that FIG. 5 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the coding apparatus 100, there may be a processing unit that is not shown as a block in FIG. 5, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
[0054]
As shown in FIG. 5, the coding device 100 includes a Geometry coding unit 111, a Geometry coefficient sorting unit 112, a RAHT processing unit 113, a context selection unit 114, an Attribute coding unit 115, and a bitstream generation unit 116. ..
[0055]
The Geometry coding unit 111 performs processing related to coding of position information. For example, the Geometry coding unit 111 acquires and encodes the position information of the point cloud data input to the coding device 100. The Geometry coding unit 111 supplies the Geometry coded data generated by the coding to the bit stream generation unit 116. Further, the Geometry coding unit 111 also supplies the Geometry coefficient, which is position information, to the Geometry coefficient sorting unit 112.
[0056]
The Geometry coefficient sorting unit 112 performs processing related to sorting of coefficient data. For example, the Geometry coefficient sorting unit 112 acquires the Geometry coefficient supplied from the Geometry coding unit 111. The Geometry coefficient sorting unit 112 sorts the Geometry coefficients in Morton code order and supplies them to the RAHT processing unit 113.
[0057]
The RAHT processing unit 113 performs processing related to RAHT. For example, the RAHT processing unit 113 performs RAHT on the Geometry coefficients supplied from the Geometry coefficient sorting unit 112 in the Morton code order, and derives the Weight value of the position information. The RAHT processing unit 113 supplies the derived Weight value to the context selection unit 114 and the Attribute coding unit 115 (RAHT processing unit 121).
[0058]
The context selection unit 114 performs processing related to context selection. For example, the context selection unit 114 acquires the Weight value from the RAHT processing unit 113. The context selection unit 114 selects a context based on the Weight value.
[0059]
For example, the context selection unit 114 stores a plurality of context candidates in advance. Different Weight values (ranges) are assigned to each candidate, and one of the candidates is selected according to the magnitude of the Weight value. For example, if the Weight value is less than the threshold A, the context A assigned to the area is selected, and if the Weight value is greater than or equal to the threshold A and less than B, the context B assigned to the area is selected. When the Weight value is the threshold value Y or more, the context Z assigned to the area is selected, and so on, one of the candidates is selected according to the magnitude of the Weight value. Each candidate is set to a value more appropriate for the degree of variation in the coefficient corresponding to the assigned range.
[0060]
That is, by selecting the context based on the Weight value, the context selection unit 114 can select a more appropriate context with respect to the degree of variation in the coefficients corresponding to the Weight value.
[0061]
The number of candidates and the size of this threshold value are arbitrary. For example, it may be a predetermined fixed value, or it may be set by a user or the like (may be variable). When it is variable, the set values such as the number of candidates and the threshold value may be included in the bit stream as header information and transmitted to the decoding side. By doing so, the decoder can more easily select the context similar to that of the coding device 100 by using the information.
[0062]
The context selection unit 114 supplies the selected context to the Attribute coding unit 115 (lossless coding unit 123).
[0063]
The Attribute coding unit 115 performs processing related to coding of attribute information. For example, the Attribute coding unit 115 acquires the attribute information of the point cloud data input to the coding device 100, encodes the attribute information, and generates the Attribute coded data. The Attribute coding unit 115 supplies the generated Attribute coding data to the bitstream generation unit 116.
[0064]
The bitstream generation unit 116 generates a bitstream including the Geometry-encoded data supplied from the Geometry-encoding unit 111 and the Attribute-encoded data supplied from the Attribute-encoding unit 115, and generates a bitstream including the Attribute-encoded data supplied from the Attribute-encoding unit 115. Output to.
[0065]
Further, the Attribute coding unit 115 includes a RAHT processing unit 121, a quantization unit 122, and a lossless coding unit 123.
[0066]
The RAHT processing unit 121 performs processing related to RAHT. For example, RAHT acquires the attribute information of the point cloud data input to the coding device 100. Further, the RAHT processing unit 121 acquires the Weight value supplied from the RAHT processing unit 113. The RAHT processing unit 121 performs RAHT on the attribute information using the Weight value. The RAHT processing unit 121 supplies the conversion coefficient obtained by the processing to the quantization unit 122.
[0067]
The quantization unit 122 performs processing related to quantization. For example, the quantization unit 122 acquires the conversion coefficient supplied from the RAHT processing unit. Further, the quantization unit 122 quantizes the acquired conversion coefficient. The quantization unit 122 supplies the quantization coefficient obtained by quantization to the lossless coding unit 123.
[0068]
The lossless coding unit 123 performs processing related to lossless coding. For example, the lossless coding unit 123 acquires the quantization coefficient supplied from the quantization unit 122. Further, the lossless coding unit 123 acquires the context selected by the context selection unit 114. The lossless coding unit 123 encodes the quantization coefficient using the context. That is, the lossless coding unit 123 encodes the attribute information of the point cloud by using the context corresponding to the weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. The lossless coding unit 123 supplies the coded data (Attribute coded data) of the attribute information generated in this way to the bitstream generation unit 116.
[0069]
These processing units (Geometry coding unit 111 to bitstream generation unit 116, and RAHT processing unit 121 to lossless coding unit 123) have an arbitrary configuration. For example, each processing unit may be configured by a logic circuit that realizes the above-mentioned processing. Further, each processing unit has, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and the above-mentioned processing is realized by executing a program using them. You may do so. Of course, each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program. The configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program. The above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
[0070]
With such a configuration, the coding device 100 has <1. The effect as described in Attribute information coding> can be obtained. For example, the coding device 100 can suppress a decrease in coding efficiency while suppressing an increase in load.
[0071]
Next, an example of the flow of coding processing executed by the coding apparatus 100 will be described with reference to the flowchart of FIG.
[0072]
When the coding process is started, the Geometry coding unit 111 encodes the Geometry data (position information) in step S101.
[0073]
In step S102, the Geometry coefficient sorting unit 112 sorts the Geometry coefficients in Morton code order.
[0074]
In step S103, the RAHT processing unit 113 performs RAHT on the Geometry data and derives the Weight value.
[0075]
In step S104, the context selection unit 114 selects the context based on the Weight value derived in step S103.
[0076]
In step S105, the RAHT processing unit 121 performs RAHT on the Attribute data (attribute information) using the Weight value of Geometry derived in step S103.
[0077]
In step S106, the quantization unit 122 quantizes the conversion coefficient obtained in step S105.
[0078]
In step S107, the lossless coding unit 123 reversibly encodes the quantization coefficient (Attribute data) obtained in step S106 using the context selected in step S104.
[0079]
In step S108, the bitstream generation unit 116 generates a bitstream including the Geometry coded data obtained in step S101 and the Attribute coded data obtained in step S107.
[0080]
In step S109, the lossless coding unit 123 outputs the bitstream generated in step S108.
[0081]
When the process of step S109 is completed, the coding process is completed.
[0082]
By executing each process as described above, the coding apparatus 100 has <1. The effect as described in Attribute information coding> can be obtained. For example, the coding device 100 can suppress a decrease in coding efficiency while suppressing an increase in load.
[0083]
<3. Second Embodiment>
FIG. 7 is a block diagram showing an example of a configuration of a decoding device which is an aspect of an image processing device to which the present technology is applied. The decoding device 200 shown in FIG. 7 is a decoding device corresponding to the coding device 100 of FIG. 5, for example, a device that decodes the bit stream generated by the coding device 100 and restores the data in the point cloud. is there.
[0084]
It should be noted that FIG. 7 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. 7. That is, in the decoding device 200, there may be a processing unit that is not shown as a block in FIG. 7, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
[0085]
As shown in FIG. 7, the decoding device 200 includes a Geometry decoding unit 211, a Geometry coefficient sorting unit 212, a RAHT processing unit 213, a context selection unit 214, an Attribute decoding unit 215, and a Point cloud data generation unit 216.
[0086]
The Geometry decoding unit 211 performs processing related to decoding of coded data of position information. The Geometry decoding unit 211 acquires, for example, a bit stream input to the decoding device 200, extracts coded data (Geometry coded data) of position information included in the bit stream, and decodes the bit stream. The Geometry decoding unit 211 supplies the coefficient data (Geometry data) thus obtained to the Geometry coefficient sorting unit 212 and the Point cloud data generation unit 216.
[0087]
The Geometry coefficient sorting unit 212 performs processing related to the sorting of Geometry coefficients. For example, the Geometry coefficient sorting unit 212 acquires the Geometry data supplied from the Geometry decoding unit 211. The Geometry coefficient sorting unit 212 sorts each coefficient (Geometry coefficient) of the Geometry data in Morton code order. The Geometry coefficient sorting unit 212 supplies the sorted Geometry data to the RAHT processing unit 213. That is, the Geometry coefficient rearranging unit 212 supplies the Geometry coefficient to the RAHT processing unit 213 in Morton code order.
[0088]
The RAHT processing unit 213 performs processing related to RAHT. For example, the RAHT processing unit 213 acquires the Geometry data supplied from the Geometry coefficient sorting unit 212. Further, the RAHT processing unit 213 performs RAHT on the Geometry data and derives the Weight value of the position information. The RAHT processing unit 213 supplies the derived Weight value to the context selection unit 214 and the Attribute decoding unit 215 (inverse RAHT processing unit 223).
[0089]
The context selection unit 214 performs processing related to context selection. For example, the context selection unit 214 acquires the Weight value supplied from the RAHT processing unit 213. The context selection unit 214 selects a context based on the Weight value.
[0090]
For example, the context selection unit 214 stores a plurality of context candidates in advance. Different Weight values (ranges) are assigned to each candidate, and one of the candidates is selected according to the magnitude of the Weight value. For example, if the Weight value is less than the threshold A, the context A assigned to the area is selected, and if the Weight value is greater than or equal to the threshold A and less than B, the context B assigned to the area is selected. When the Weight value is the threshold value Y or more, the context Z assigned to the area is selected, and so on, one of the candidates is selected according to the magnitude of the Weight value. Each candidate is set to a value more appropriate for the degree of variation in the coefficient corresponding to the assigned range.
[0091]
That is, by selecting the context based on the Weight value, the context selection unit 214 can select a more appropriate context with respect to the degree of variation in the coefficients corresponding to the Weight value.
[0092]
The number of candidates and the size of this threshold value are arbitrary. For example, it may be a predetermined fixed value, or a value set on the coding side (coding device 100) may be transmitted (may be variable). By doing so, the decoding device 200 can more easily select the same context as the encoder (for example, the coding device 100) by using the information.
[0093]
The context selection unit 214 supplies the selected context to the Attribute decoding unit 215 (inverse RAHT processing unit 223).
[0094]
The Attribute decoding unit 215 performs processing related to decoding of attribute information. For example, the Attribute decoding unit 215 acquires the coded data (Attribute coded data) of the attribute information included in the bit stream input to the decoding device 200, decodes the coded data, and decodes the coded data, and the attribute information (Attribute data). To generate. The Attribute decoding unit 215 supplies the generated Attribute data to the Point cloud data generation unit 216.
[0095]
The Point cloud data generation unit 216 generates Point cloud data including the Geometry data supplied from the Geometry decoding unit 211 and the Attribute data supplied from the Attribute decoding unit 215, and outputs the Point cloud data to the outside of the decoding device 200.
[0096]
Further, the Attribute decoding unit 215 has a reversible decoding unit 221, an inverse quantization unit 222, and an inverse RAHT processing unit 223.
[0097]
The reversible decoding unit 221 performs a process related to the reversible decoding. For example, the reversible decoding unit 221 acquires the coded data (Attribute coded data) of the attribute information included in the bit stream input to the decoding device 200. Further, the reversible decoding unit 221 acquires the context selected by the context selection unit 214. The reversible decoding unit 221 decodes the acquired Attribute-encoded data using the context selected by the context selection unit 214. That is, the reversible decoding unit 221 decodes the coded data of the attribute information of the point cloud by using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. .. The reversible decoding unit 221 supplies the attribute information (Attribute data) generated in this way to the inverse quantization unit 222.
[0098]
The dequantization unit 222 performs processing related to dequantization. For example, the inverse quantization unit 222 acquires the Attribute data supplied from the reversible decoding unit 221. In addition, the dequantization unit 222 dequantizes the acquired Attribute data. The inverse quantization unit 222 supplies the conversion coefficient obtained by the inverse quantization to the inverse RAHT processing unit 223.
[0099]
The reverse RAHT processing unit 223 performs processing related to reverse RAHT, which is the reverse processing of RAHT. For example, the inverse RAHT processing unit 223 acquires the conversion coefficient supplied from the inverse quantization unit 222. Further, the reverse RAHT processing unit 223 acquires the Weight value of the position information generated by the RAHT processing unit 213. The inverse RAHT processing unit 223 performs inverse RAHT on the conversion coefficient using the Weight value. The reverse RAHT processing unit 223 supplies the attribute information (Attribute data) obtained by the processing to the Point cloud data generation unit 216.
[0100]
These processing units (Geometry decoding unit 211 to Point cloud data generation unit 216, and reversible decoding unit 221 to reverse RAHT processing unit 223) have an arbitrary configuration. For example, each processing unit may be configured by a logic circuit that realizes the above-mentioned processing. Further, each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing. Of course, each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program. The configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program. The above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
[0101]
With such a configuration, the decoding device 200 has <1. The effect as described in Attribute information coding> can be obtained. For example, the decoding device 200 can suppress a decrease in coding efficiency while suppressing an increase in load.
[0102]
Next, an example of the flow of the decoding process executed by the decoding device 200 will be described with reference to the flowchart of FIG.
[0103]
When the decoding process is started, the Geometry decoding unit 211 decodes the Geometry bit stream in step S201.
[0104]
In step S202, the Geometry coefficient sorting unit 212 sorts the Geometry coefficients obtained in step S201 in Morton code order.
[0105]
In step S203, the RAHT processing unit 213 performs RAHT on the Geometry data and derives the Weight value.
[0106]
In step S204, the context selection unit 214 selects a context based on the Weight value obtained in step S203.
[0107]
In step S205, the reversible decoding unit 221 reversibly decodes the bitstream of the Attribute using the context selected in step S204. That is, the reversible decoding unit 221 decodes the coded data of the attribute information of the point cloud by using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. ..
[0108]
In step S206, the inverse quantization unit 222 performs inverse quantization on the quantization coefficient obtained in step S205.
[0109]
In step S207, the inverse RAHT processing unit 223 performs inverse RAHT on the conversion coefficient using the Weight value of Geometry, and generates Attribute data.
[0110]
In step S208, the Point cloud data generation unit 216 generates Point cloud data including the Geometry data obtained in step S201 and the Attribute data obtained in step S207.
[0111]
In step S209, the point cloud data generation unit 216 outputs the point cloud data generated in step S208 to the outside of the decoding device 200.
[0112]
When the process of step S209 is completed, the decoding process is completed.
[0113]
By executing each process as described above, the decoding device 200 can perform <1. The effect as described in Attribute information coding> can be obtained. For example, the decoding device 200 can suppress a decrease in coding efficiency while suppressing an increase in load.
[0114]
<4. Third Embodiment>
For example, when Geometry data is Octree-encoded, the distribution of points can be easily grasped from the Octree. That is, the Weight value can be easily derived from the Octree without performing RAHT processing.
[0115]
FIG. 9 shows a main configuration example of the coding device 100 in this case. In this case, the coding device 100 has a Weight calculation unit 301 instead of the Geometry coefficient sorting unit 112 and the RAHT processing unit 113, as compared with the example of FIG.
[0116]
The Weight calculation unit 301 performs processing related to the calculation of the Weight value. For example, the Weight calculation unit 301 acquires Octree data of position information from the Geometry coding unit 111. The Weight calculation unit 301 derives the Weight value based on the Octree of the position information. The Weight calculation unit 301 supplies the derived Weight value to the context selection unit 114 and the RAHT processing unit 121.
[0117]
By doing so, as compared with the case of FIG. 5, it is not necessary to rearrange the Geometry coefficients having a large load and RAHT processing, and the Weight value can be derived by calculating the weight from the Octree having a small load. Therefore, the coding device 100 can further suppress the increase in load as compared with the case of the first embodiment.
[0118]
An example of the flow of coding processing in this case will be described with reference to the flowchart of FIG.
[0119]
When the coding process is started, the Geometry coding unit 111 encodes the Geometry data (position information) in step S301 as in the case of step S101.
[0120]
In step S302, the Weight calculation unit 301 calculates the Weight value from the Octree obtained in step S301.
[0121]
Each process of steps S303 to S308 is executed in the same manner as each process of steps S104 to S109 of FIG.
[0122]
Therefore, by executing each process as described above, the coding apparatus 100 can suppress the reduction of the coding efficiency while suppressing the increase in the load, as in the case of the first embodiment. .. Further, the coding device 100 in this case can further suppress the increase in load as compared with the case of the first embodiment.
[0123]
<5. Fourth Embodiment>
In
the case of the decoding device 200, the Weight value may be derived from Octree as in the case of the third embodiment. By doing so, the Weight value can be easily derived from the Octree without performing RAHT processing.
[0124]
FIG. 11 shows a main configuration example of the decoding device 200 in this case. In this case, the decoding device 200 has a Weight calculation unit 401 instead of the Geometry coefficient sorting unit 212 and the RAHT processing unit 213, as compared with the example of FIG.
[0125]
The Weight calculation unit 401 performs processing related to the calculation of the Weight value. For example, the Weight calculation unit 401 acquires Octree data of position information from the Geometry decoding unit 211. The Weight calculation unit 401 derives the Weight value based on the Octree of the position information. The Weight calculation unit 401 supplies the derived Weight value to the context selection unit 214 and the inverse RAHT processing unit 223.
[0126]
By doing so, as compared with the case of FIG. 7, it is not necessary to rearrange the Geometry coefficients having a large load and RAHT processing, and the Weight value can be derived by calculating the weight from the Octree having a small load. Therefore, the decoding device 200 can further suppress the increase in load as compared with the case of the second embodiment.
[0127]
An example of the flow of the decoding process in this case will be described with reference to the flowchart of FIG.
[0128]
When the decoding process is started, the Geometry decoding unit 211 decodes the Geometry bit stream in step S401, as in the case of step S201.
[0129]
In step S402, the Weight calculation unit 401 calculates the Weight value from the Octree obtained in step S401.
[0130]
Each process of steps S403 to S408 is executed in the same manner as each process of steps S204 to S209 of FIG.
[0131]
Therefore, by executing each process as described above, the decoding device 200 can suppress the decrease in the coding efficiency while suppressing the increase in the load, as in the case of the second embodiment. Further, the decoding device 200 in this case can further suppress the increase in load as compared with the case of the second embodiment.
[0132]
<6. Addendum>
In
the above, the case where RAHT is used as the orthogonal conversion has been described as an example, but the orthogonal conversion performed at the time of coding / decoding may be any one considering the three-dimensional structure. , Not limited to RAHT. For example, it may be graph conversion or the like.
[0133]
The
series of processes described above can be executed by hardware or software. When a series of processes are executed by software, the programs constituting the software are installed on the computer. Here, the computer includes a computer embedded in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
[0134]
FIG. 13 is a block diagram showing a configuration example of the hardware of a computer that executes the above-mentioned series of processes programmatically.
[0135]
In the computer 900 shown in FIG. 13, the CPU (Central Processing Unit) 901, the ROM (Read Only Memory) 902, and the RAM (Random Access Memory) 903 are connected to each other via the bus 904.
[0136]
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.
[0137]
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.
[0138]
In the computer configured as described above, the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-described series. Is processed. The RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
[0139]
The program executed by the computer (CPU901) can be recorded and applied to the removable media 921 as a package media or the like, for example. In that case, the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
[0140]
The program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
[0141]
In addition, this program can be pre-installed in the ROM 902 or the storage unit 913.
[0142]
The
case where this technology is applied to the coding / decoding of point cloud data has been described above, but this technology is not limited to these examples, and the code of 3D data of any standard is used. It can be applied to conversion / decryption. That is, as long as it does not contradict the present technology described above, various processes such as coding / decoding methods and specifications of various data such as 3D data and metadata are arbitrary. In addition, some of the above-mentioned processes and specifications may be omitted as long as they do not contradict the present technology.
[0143]
The present technology can be applied to any configuration. For example, this technology is a transmitter or receiver (for example, a television receiver or mobile phone) for satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
[0144]
Further, for example, in the present technology, a processor as a system LSI (Large Scale Integration) or the like (for example, a video processor), a module using a plurality of processors (for example, a video module), a unit using a plurality of modules (for example, a video unit) Alternatively, it can be implemented as a configuration of a part of the device, such as a set (for example, a video set) in which other functions are added to the unit.
[0145]
Further, for example, the present technology can also be applied to a network system composed of a plurality of devices. For example, the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network. For example, this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (Audio Visual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
[0146]
In the present specification, the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
[0147]
Systems, equipment, processing departments, etc. to which this technology is applied include, for example, transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring. It can be used in any field. Moreover, the use is arbitrary.
[0148]
In
the present specification, the "flag" is information for identifying a plurality of states, and is not limited to information used for identifying two states of true (1) or false (0). Information that can identify three or more states is also included. Therefore, the value that this "flag" can take may be, for example, 2 values of 1/0 or 3 or more values. That is, the number of bits constituting this "flag" is arbitrary, and may be 1 bit or a plurality of bits. Further, the identification information (including the flag) is assumed to include not only the identification information in the bit stream but also the difference information of the identification information with respect to a certain reference information in the bit stream. In, the "flag" and "identification information" include not only the information but also the difference information with respect to the reference information.
[0149]
Further, various information (metadata, etc.) regarding the coded data (bit stream) may be transmitted or recorded in any form as long as it is associated with the coded data. Here, the term "associate" means, for example, to make the other data available (linkable) when processing one data. That is, the data associated with each other may be combined as one data or may be individual data. For example, the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image). Further, for example, the information associated with the coded data (image) may be recorded on a recording medium (or another recording area of the same recording medium) different from the coded data (image). Good. Note that this "association" may be a part of the data, not the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part within the frame.
[0150]
In addition, in this specification, "synthesize", "multiplex", "add", "integrate", "include", "store", "insert", "insert", "insert". A term such as "" means combining a plurality of objects into one, for example, combining encoded data and metadata into one data, and means one method of "associating" described above.
[0151]
Further, the embodiment of the present technology is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present technology.
[0152]
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 above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit). Further, of course, a configuration other than the above may be added to the configuration of each device (or each processing unit). Further, if the configuration and operation of the entire system are substantially the same, a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
[0153]
Further, for example, the above-mentioned program may be executed in any device. In that case, the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
[0154]
Further, for example, each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices. Further, when a plurality of processes are included in one step, the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices. In other words, a plurality of processes included in one step can be executed as processes of a plurality of steps. On the contrary, the processes described as a plurality of steps can be collectively executed as one step.
[0155]
Further, for example, in a program executed by a computer, the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, or may be executed in parallel or in calls. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
[0156]
Further, for example, a plurality of techniques related to this technique can be independently implemented independently as long as there is no contradiction. Of course, any plurality of the present technologies can be used in combination. For example, some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
[0157]
The present technology can also have the following configurations.
(1) An
image processing device including a coding unit that encodes the attribute information of the point cloud by using a context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. ..
(2) Further includes a context selection unit that selects a context corresponding to the Weight value, and the
coding unit encodes the attribute information using the context selected by the context selection unit
(1). The image processing device described.
(3)
The image processing apparatus according to (2), wherein the context selection unit selects a context according to the Weight value by using a predetermined number of contexts and a threshold value for the Weight value .
(4)
The image processing apparatus according to (2) or (3), wherein the context selection unit selects a context according to the Weight value by using the set number of contexts and a threshold value for the Weight value .
(5) The Weight value derivation unit for deriving the Weight value is further provided, and the
context selection unit selects a context corresponding to the Weight value derived by the Weight value derivation unit
(2) to (4). The image processing apparatus according to any one.
(6)
The image processing apparatus according to (5), wherein the Weight value deriving unit performs RAHT (Region Adaptive Hierarchical Transform) as the orthogonal transformation on the position information to derive the Weight value .
(7)
The image processing apparatus according to (5) or (6), wherein the Weight value deriving unit derives the Weight value based on the Octree of the position information .
(8) A RAHT processing unit that performs RAHT (Region Adaptive Hierarchical Transform) on the attribute information using the Weight value derived by the Weight value deriving unit is further provided, and the coding unit is the RAHT processing unit.
The image processing apparatus according to any one of (5) to (7), which encodes the conversion coefficient of the attribute information generated by .
(9) The bit stream generation unit for generating a bit stream including the coded data of the position information and the coded data of the attribute information generated by the coding unit is further provided
(1) to (8). The image processing apparatus according to any one.
(10) An
image processing method for encoding the attribute information of the point cloud by using a context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud .
[0158]
(11) An
image including a decoding unit that decodes the coded data of the attribute information of the point cloud by using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud. Processing equipment.
(12) A context selection unit for selecting a context corresponding to the Weight value is further provided, and the
decoding unit decodes the coded data of the attribute information using the context selected by the context selection unit
(11). ). The image processing apparatus.
(13)
The image processing apparatus according to (12), wherein the context selection unit selects a context according to the Weight value by using a predetermined number of contexts and a threshold value for the Weight value .
(14)
The image processing according to (12) or (13), wherein the context selection unit selects a context according to the Weight value by using the number of contexts supplied from the coding side and a threshold value for the Weight value. apparatus.
(15) The Weight value derivation unit for deriving the Weight value is further provided, and the
context selection unit selects a context corresponding to the Weight value derived by the Weight value derivation unit
(12) to (14). The image processing apparatus according to any one.
(16)
The image processing apparatus according to (15), wherein the Weight value deriving unit performs RAHT (Region Adaptive Hierarchical Transform) as the orthogonal transformation on the position information to derive the Weight value .
(17)
The image processing apparatus according to (15) or (16), wherein the Weight value deriving unit derives the Weight value based on the Octree of the position information .
(18) above using the Weight value derived by Weight value derivation unit further comprises a reverse raht processing unit for performing inverse RAHT (Region Adaptive Hierarchical Transform) with respect to the attribute information generated by the decoder
( 15) The image processing apparatus according to any one of (17).
(19)
The image processing according to any one of (11) to (18), further comprising a point cloud data generation unit that generates point cloud data including the position information and the attribute information generated by the decoding unit. apparatus.
(20) An
image processing method for decoding the coded data of the attribute information of the point cloud by using a context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud .
Code description
[0159]
100 Coding device, 111 Geometry coding unit, 112 Geometry coefficient sorting unit, 113 RAHT processing unit, 114 Context selection unit, 115 Attribute coding unit, 116 bitstream generation unit, 121 RAHT processing unit, 122 Quantization unit, 123 Reversible coding unit, 200 Decoding device, 211 Geometry decoding unit, 212 Geometry coefficient sorting unit, 213 RAHT processing unit, 214 Context selection unit, 215 Attribute decoding unit, 216 Point cloud data generation unit, 221 Reversible decoding unit, 222 Inverse quantization unit, 223 inverse RAHT processing unit, 301 Weight calculation unit, 401 Weight calculation unit
The scope of the claims
[Claim 1]
An
image processing device including a coding unit that encodes the attribute information of the point cloud by using a context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud .
[Claim 2]
The image
according to
claim 1, further comprising a context selection unit that selects a context corresponding to the Weight value, and the coding unit encodes the attribute information using the context selected by the context selection unit. Processing equipment.
[Claim 3]
The image processing apparatus according to claim 2, wherein the context selection unit selects a context according to the Weight value by using a predetermined number of contexts and a threshold value for the Weight value .
[Claim 4]
The image processing apparatus according to claim 2, wherein the context selection unit selects a context according to the Weight value by using a set number of contexts and a threshold value for the Weight value .
[Claim 5]
The image processing apparatus according
to
claim 2, further comprising a Weight value deriving unit for deriving the Weight value, and the context selecting unit selecting a context corresponding to the Weight value derived by the Weight value deriving unit .
[Claim 6]
The image processing apparatus according to claim 5, wherein the Weight value deriving unit performs RAHT (Region Adaptive Hierarchical Transform) as the orthogonal transformation on the position information to derive the Weight value .
[Claim 7]
The image processing apparatus according to claim 5, wherein the Weight value deriving unit derives the Weight value based on the Octree of the position information .
[Claim 8]
A RAHT processing unit that performs RAHT (Region Adaptive Hierarchical Transform) on the attribute information using the Weight value derived by the Weight value deriving unit is further provided, and the
coding unit is generated by the RAHT processing unit.
The image processing apparatus according to claim 5, wherein the conversion coefficient of the attribute information is encoded .
[Claim 9]
The image processing apparatus according to claim 1, further comprising a bitstream generation unit that generates a bitstream including the coded data of the position information and the coded data of the attribute information generated by the coding unit.
[Claim 10]
An
image processing method for encoding the attribute information of the point cloud by using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud .
[Claim 11]
An
image processing device including a decoding unit that decodes the coded data of the attribute information of the point cloud by using a context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud .
[Claim 12]
The eleventh aspect of claim 11, further
comprising a context selection unit that selects a context corresponding to the Weight value, the decoding unit decoding the coded data of the attribute information using the context selected by the context selection unit.
Image processing equipment.
[Claim 13]
The image processing apparatus according to claim 12, wherein the context selection unit selects a context according to the Weight value by using a predetermined number of contexts and a threshold value for the Weight value .
[Claim 14]
The image processing apparatus according to claim 12, wherein the context selection unit selects a context according to the Weight value by using the number of contexts supplied from the coding side and a threshold value for the Weight value .
[Claim 15]
The image processing apparatus according
to
claim 12, further comprising a Weight value derivation unit for deriving the Weight value, and the context selection unit selects a context corresponding to the Weight value derived by the Weight value derivation unit .
[Claim 16]
The image processing apparatus according to claim 15, wherein the Weight value deriving unit performs RAHT (Region Adaptive Hierarchical Transform) as the orthogonal transformation on the position information to derive the Weight value .
[Claim 17]
The image processing apparatus according to claim 15, wherein the Weight value deriving unit derives the Weight value based on the Octree of the position information .
[Claim 18]
15.
Claim 15 further comprises an inverse RAHT processing unit that performs inverse RAHT (Region Adaptive Hierarchical Transform) on the attribute information generated by the decoding unit using the Weight value derived by the Weight value deriving unit. The image processing apparatus described.
[Claim 19]
The image processing apparatus according to claim 11, further comprising a point cloud data generation unit that generates point cloud data including the position information and the attribute information generated by the decoding unit .
[Claim 20]
An
image processing method for decoding the coded data of the attribute information of the point cloud by using the context corresponding to the Weight value of the orthogonal transformation considering the three-dimensional structure performed on the position information of the point cloud .
| # | Name | Date |
|---|---|---|
| 1 | 202117009296-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [05-03-2021(online)].pdf | 2021-03-05 |
| 2 | 202117009296-STATEMENT OF UNDERTAKING (FORM 3) [05-03-2021(online)].pdf | 2021-03-05 |
| 3 | 202117009296-PRIORITY DOCUMENTS [05-03-2021(online)].pdf | 2021-03-05 |
| 4 | 202117009296-POWER OF AUTHORITY [05-03-2021(online)].pdf | 2021-03-05 |
| 5 | 202117009296-FORM 1 [05-03-2021(online)].pdf | 2021-03-05 |
| 6 | 202117009296-DRAWINGS [05-03-2021(online)].pdf | 2021-03-05 |
| 7 | 202117009296-DECLARATION OF INVENTORSHIP (FORM 5) [05-03-2021(online)].pdf | 2021-03-05 |
| 8 | 202117009296-COMPLETE SPECIFICATION [05-03-2021(online)].pdf | 2021-03-05 |
| 9 | 202117009296-Proof of Right [26-03-2021(online)].pdf | 2021-03-26 |
| 10 | 202117009296-Proof of Right [15-04-2021(online)].pdf | 2021-04-15 |
| 11 | 202117009296-FORM 3 [24-06-2021(online)].pdf | 2021-06-24 |
| 12 | 202117009296.pdf | 2021-10-19 |